Releases: mapbox/mapbox-maps-android
Releases · mapbox/mapbox-maps-android
v11.4.1
11.4.1 June 03, 2024
Bug fixes 🐞
- Fix an issue that
getLight
API always returns null.
v10.18.1
10.18.1 May 30, 2024
Bug fixes 🐞
- Fix a bug when billing event can be retried endlessly with 0 timeout in case network returns error.
Dependencies
- Update common to v23.10.1.
v10.18.0
10.18.0 May 23, 2024
Bug fixes 🐞
- Reduce unnecessary usage of main thread during lifecycle monitoring.
- Fixed invalid circle order while using circle-sort-key.
- Fixed duplicate circles in static viewport mode.
- Fixed a crash during style change.
Dependencies
- Update gl-native to v10.18.0 and common to v23.10.0.
v11.4.0
11.4.0 May 22, 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. - [compose]
MapViewportState
propertiescameraState
,mapViewportStatusChangedReason
andmapViewportStatus
are null when the state is not attached to a map. - [compose]
MapViewportState
constructor parameter has been renamed toinitialCameraState
.
Features ✨ and improvements 🏁
- [compose] Add
AtmosphereState
parameter toGenericStyle
composable function. - [compose] Introduce
Projection
andAtmosphereState
API onMapStyle
andMapboxStandardStyle
. - [compose] Add
StyleImage
to construct following image layer properties:IconImage
,FillPattern
,LinePattern
,BearingImage
,ShadowImage
,TopImage
. - [compose] Add
ModelId
constructor to add model id and uri. - [compose] Add
TerrainState
parameter toGenericStyle
,MapStyle
andMapboxStandardStyle
composable functions. - 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. - Add feature metrics collection. Mapbox Maps SDK collects anonymous data about which of its features are used. Mapbox uses this data to understand how our software is being used and prioritize plans to improve it. These metrics tell us whether a feature has been used ("flyTo was called"), but not how ("flyTo was called with this position"). No user-level metrics or identifiers are collected as part of this initiative.
- Avoid locking main thread when it is not needed on map destroy.
- Add experimental
MapView.setSnapshotLegacyMode
function to help avoidingMapView.snapshot
native crash on some Samsung devices running Android 14. - Add experimental
RasterParticleLayer
in Style DSL and Compose. - Add
mapView.location.slot
API to assign a slot for the location indicator.
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.
- [compose] Make the initial compass visibility to be false, so the compass wouldn't show and hide initially if the user is facing north.
- [compose] Fix
java.io.NotSerializableException: com.mapbox.bindgen.Value
for SourceState. - [compose] Queue viewport operations when the
MapViewportState
is no yet attached to the map, to avoid losing events. - 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.
- Fix TilePrefetch for GeoJSON sources.
- Fix snapshotter latency when 3d tiles involved.
- Fix renderer destruction being blocked by 3d models parsing completion.
- Fix memory leak when camera animations are skipped.
- Fix Mapbox attribution and telemetry links not opening in a browser.
- Fix incorrect size of the tile memory budget for vector tiles when the budget is set in megabytes.
- Fix
LogoView.logoEnabled
not being in sync withMapView.logo.enabled
state. - Fix raster-particle not being visible on some Android devices.
- Fixed invalid circle order while using
circle-sort-key
. - Fixed duplicate circles in static viewport mode.
- Fixed a crash during style change.
Dependencies
- Update gl-native to v11.4.0 and common to v24.4.0.
v11.4.0-rc.2
11.4.0-rc.2 May 15, 2024
Breaking changes ⚠️
- [compose]
MapViewportState
propertiescameraState
,mapViewportStatusChangedReason
andmapViewportStatus
are null when the state is not attached to a map. - [compose]
MapViewportState
constructor parameter has been renamed toinitialCameraState
.
Bug fixes 🐞
- [compose] Queue viewport operations when the
MapViewportState
is no yet attached to the map, to avoid losing events. - Fix
LogoView.logoEnabled
not being in sync withMapView.logo.enabled
state. - Fix raster-particle not being visible on some Android devices.
Dependencies
- Update gl-native to v11.4.0-rc.2 and common to v24.4.0-rc.2.
v10.17.1
10.17.1 May 10, 2024
Features ✨ and improvements 🏁
- Add experimental
MapView.setSnapshotLegacyMode
function to help avoidingMapView.snapshot
native crash on some Samsung devices running Android 14.
Bug fixes 🐞
- Fix memory leak when camera animations are skipped.
v11.4.0-rc.1
11.4.0-rc.1 May 08, 2024
Features ✨ and improvements 🏁
- [compose] Add
StyleImage
to construct following image layer properties:IconImage
,FillPattern
,LinePattern
,BearingImage
,ShadowImage
,TopImage
. - [compose] Add
ModelId
constructor to add model id and uri. - [compose] Add
TerrainState
parameter toGenericStyle
,MapStyle
andMapboxStandardStyle
composable functions. - Add experimental
RasterParticleLayer
in Style DSL and Compose. - Add
mapView.location.slot
API to assign a slot for the location indicator.
Bug fixes 🐞
- Fix memory leak when camera animations are skipped.
- Fix Mapbox attribution and telemetry links not opening in a browser.
- Fix incorrect size of the tile memory budget for vector tiles when the budget is set in megabytes.
- Fix known issue from 11.4.0-beta.1 where setting a RasterLayer’s rasterColor property with an expression will block the layer from rendering.
Dependencies
- Update gl-native to v11.4.0-rc.1 and common to v24.4.0-rc.1.
v11.4.0-beta.3
11.4.0-beta.3 May 06, 2024
Features ✨ and improvements 🏁
- Add experimental
MapView.setSnapshotLegacyMode
function to help avoidingMapView.snapshot
native crash on some Samsung devices running Android 14.
Bug fixes 🐞
- [compose] Make the initial compass visibility to be false, so the compass wouldn't show and hide initially if the user is facing north.
- [compose] Fix
java.io.NotSerializableException: com.mapbox.bindgen.Value
for SourceState.
Dependencies
- Update common to v24.4.0-beta.3.
v11.4.0-beta.2
11.4.0-beta.2 April 30, 2024
Features ✨ and improvements 🏁
- Avoid locking main thread when it is not needed on map destroy.
Bug fixes 🐞
- Fix TilePrefetch for GeoJSON sources.
- Fix snapshotter latency when 3d tiles involved.
- Fix renderer destruction being blocked by 3d models parsing completion.
Dependencies
- Update gl-native to v11.4.0-beta.2 and common to v24.4.0-beta.2.
v11.4.0-beta.1
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.