v11.4.0-beta.1
Pre-release
Pre-release
mapbox-github-ci-writer-public-1
released this
29 Apr 15:12
·
36 commits
to release/v11.4
since this release
11.4.0-beta.1 April 29, 2024
Breaking changes ⚠️
- [compose] Remove
locationComponentSettings
fromMapboxMap
composable function,MapEffect
with location component API should be used instead. More compose-friendly location component API will be introduced in future releases. - [compose] Remove
TileCacheBudget(com.mapbox.maps.TileCacheBudget)
constructor and introduceTileCacheBudget(TileCacheBudgetInMegabytes)
andTileCacheBudget(TileCacheBudgetInTiles)
constructor instead. - [compose] Remove
layoutParams
fromViewAnnotation
composable function, the internalComposeView
wrapping theViewAnnotation.content
will always useWRAP_CONTENT
; In case of tests where the assertion happens before the measure, user can force the content size usingViewAnnotationOptions.width/height
APIs. - [compose] Constructor in
PromoteId
data class from compose now takesPropertyName
and optionalSourceId
instead of itself. - [compose] Use new
SlotsContent
instead of genericMap
to handle the style content for slots. IntroducedslotsContent
builder function. - [compose] Use new
LayerPositionedContent
instead of genericMap
to handle the layer positioned style content. IntroducedlayerPositionedContent
builder function. - [compose] Use new
StyleImportsConfig
instead of genericMap
to handle the style import configurations. IntroducedstyleImportsConfig
builder function. - [compose] Move
MapboxStandardStyle
to a different package and introduceLightPreset
with available presets as constants.
Features ✨ and improvements 🏁
- [compose] Add
AtmosphereState
parameter toGenericStyle
composable function. - [compose] Introduce
Projection
andAtmosphereState
API onMapStyle
andMapboxStandardStyle
. - Introduce
addStyleImportFromJSON
,addStyleImportFromURI
,updateStyleImportWithJSON
,updateStyleImportWithURI
,moveStyleImport
APIs toMapboxMap
andStyle
. - Handle updating geo-json data exceptions and propagate them to
MapboxMap.subscribeMapLoadingError(mapLoadingErrorCallback)
. - Introduce
SlotLayer
in Style DSL. - Add statistics for graphics pipeline program creation.
- Enable
raster-elevation
for tiled raster sources. - Improve tile processing performance by filtering out tiny polygon holes.
- Reduce number of evaluations of step expression in
line-gradient
properties. - Add support for
line-trim-offset
withline-pattern
. - Enable two dimensional data handling in Mapbox Raster tiles.
- Trim zoom ranges for the style at tileset descriptor resolving.
- Extend
SymbolLayer.iconColorSaturation
range from [0, 1] to [-1, 1] and change default value to 0. - Reduce time spent on model layer re-evaluation during light change.
- Expose experimental
Style.styleSlots
allowing to get the ordered list of slots. - Deprecate
MapboxMap.cameraForCoordinateBounds
,MapboxMap.cameraForGeometry
and some synchronous overloadedMapboxMap.cameraForCoordinates
in favour of single synchronous, asynchronous and suspendMapboxMap.cameraForCoordinates
. SynchronousMapboxMap.cameraForCoordinates
returns empty camera (could be checked withCameraOptions.isEmpty
) if the map's size is not yet calculated.
Bug fixes 🐞
- [compose] Fix an issue with
rememberGeoJsonSourceState
, where theValue
andGeoJsonData
can not be serialised. - [compose] Remember default
ComposeMapInitOptions
andGesturesSettings
so that we don't reconstruct these classes whenMapboxMap
recomposes. - [compose] Filter relevant events for
ViewAnnotation.onUpdatedListener
and skip events from other view annotations. - [compose] Do not consume tap event for
Compass
, so that user setclickable
can be processed. - [compose] Fix slots and layerposition content not being cleaned up during recomposition.
- [compose] Propagate onRemoved and onClear to children nodes of MapStyleNode to do proper clean up.
- [compose] Fix lost style import config during style switch by waiting for style load event.
- Fix
Snapshotter.cameraForCoordinates
argumentspadding
,bearing
andpitch
to be nullable. - Fix config with format expression that contains text property overrides.
- Make non-vector tile parsing cancellable.
- Move cutoff opacity calculation to CPU side.
- Fix icon/pattern missing issue if the missing image is only added after map gets rendered.
- Introduce a dedicated thread for 3d landmarks parsing.
- Fix crash on start when no free disk space left.
Dependencies
- Update gl-native to v11.4.0-beta.1 and common to v24.4.0-beta.1.
Known issues
- In v11.4.0-beta.1, setting a RasterLayer’s rasterColor property with an expression will block the layer from rendering. This issue will be resolved in v11.4.0-rc.1.
- In v11.4.0-beta.1, the map destroy might block main thread for short amount of time and cause UI to freeze. This issue will be resolved in v11.4.0-rc.1.