v11.4.0-beta.1
Pre-release
Pre-release
·
36 commits
to release/v11.4
since this release
11.4.0-beta.1 April 29, 2024
Breaking changes ⚠️
- [compose] Remove
locationComponentSettingsfromMapboxMapcomposable function,MapEffectwith 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
layoutParamsfromViewAnnotationcomposable function, the internalComposeViewwrapping theViewAnnotation.contentwill always useWRAP_CONTENT; In case of tests where the assertion happens before the measure, user can force the content size usingViewAnnotationOptions.width/heightAPIs. - [compose] Constructor in
PromoteIddata class from compose now takesPropertyNameand optionalSourceIdinstead of itself. - [compose] Use new
SlotsContentinstead of genericMapto handle the style content for slots. IntroducedslotsContentbuilder function. - [compose] Use new
LayerPositionedContentinstead of genericMapto handle the layer positioned style content. IntroducedlayerPositionedContentbuilder function. - [compose] Use new
StyleImportsConfiginstead of genericMapto handle the style import configurations. IntroducedstyleImportsConfigbuilder function. - [compose] Move
MapboxStandardStyleto a different package and introduceLightPresetwith available presets as constants.
Features ✨ and improvements 🏁
- [compose] Add
AtmosphereStateparameter toGenericStylecomposable function. - [compose] Introduce
ProjectionandAtmosphereStateAPI onMapStyleandMapboxStandardStyle. - Introduce
addStyleImportFromJSON,addStyleImportFromURI,updateStyleImportWithJSON,updateStyleImportWithURI,moveStyleImportAPIs toMapboxMapandStyle. - Handle updating geo-json data exceptions and propagate them to
MapboxMap.subscribeMapLoadingError(mapLoadingErrorCallback). - Introduce
SlotLayerin Style DSL. - Add statistics for graphics pipeline program creation.
- Enable
raster-elevationfor tiled raster sources. - Improve tile processing performance by filtering out tiny polygon holes.
- Reduce number of evaluations of step expression in
line-gradientproperties. - Add support for
line-trim-offsetwithline-pattern. - Enable two dimensional data handling in Mapbox Raster tiles.
- Trim zoom ranges for the style at tileset descriptor resolving.
- Extend
SymbolLayer.iconColorSaturationrange 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.styleSlotsallowing to get the ordered list of slots. - Deprecate
MapboxMap.cameraForCoordinateBounds,MapboxMap.cameraForGeometryand some synchronous overloadedMapboxMap.cameraForCoordinatesin favour of single synchronous, asynchronous and suspendMapboxMap.cameraForCoordinates. SynchronousMapboxMap.cameraForCoordinatesreturns 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 theValueandGeoJsonDatacan not be serialised. - [compose] Remember default
ComposeMapInitOptionsandGesturesSettingsso that we don't reconstruct these classes whenMapboxMaprecomposes. - [compose] Filter relevant events for
ViewAnnotation.onUpdatedListenerand skip events from other view annotations. - [compose] Do not consume tap event for
Compass, so that user setclickablecan 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.cameraForCoordinatesargumentspadding,bearingandpitchto 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.