Releases: mapbox/mapbox-maps-android
Releases · mapbox/mapbox-maps-android
v11.5.0-beta.1
11.5.0-beta.1 June 11, 2024
Breaking changes ⚠️
- [compose] Move
Projection
togenerated
package and renamedefault
values toDEFAULT
. - [compose] Rename
LightPreset
toLightPresetValue
. - [compose] Rename
TerrainState.disabled
toTerrainState.DISABLED
. - [compose] Replace terrain property
Exaggeration
withDoubleValue
. - [compose] Replace concrete
AtmosphereState
properties (e.g.HighColor
,HorizonBlend
,SpaceColor
, etc) with generic ones:ColorValue
,DoubleValue
,DoubleRangeValue
. - [compose] Replace concrete Layer properties(e.g.
CircleColor
,CircleOpacity
,IconImage
etc) with generic ones:ColorValue
,DoubleValue
,ImageValue
etc. - [compose] Replace concrete
GeoJsonSourceState
,ImageSourceState
,RasterArraySourceState
,RasterDemSourceState
,RasterSourceState
,SourceProperties
,VectorSourceState
properties with generic ones (e.g.BooleanValue
,StringValue
,LongValue
...). - [compose] Move
GeoJSONData
outside ofgenerated
package.
Features ✨ and improvements 🏁
- Expose
clusterMinPoints
property forGeoJSONSource
and for annotation'sClusterOptions
. - Remove explicit main thread locking when using
CircleAnnotationManager
,PointAnnotationManager
,PolygonAnnotationManager
,PolylineAnnotationManager
and dragging the map that could lead to an ANR. - Use dedicated thread for the tile store to increase performance.
- [compose] Expose
TerrainState
andAtmosphereState
properties asMutableState
. - [compose] Introduce
AmbientLightState
,DirectionalLightState
,FlatLightState
as separate states;LightsState
can be constructed by combination ofDirectionalLightState
andAmbientLightState
or withFlatLightState
to be set to the style. - [compose] Avoid recreation of objects during recomposition of
GenericStyle
.
Bug fixes 🐞
- [compose] Fix
No enum constant com.mapbox.maps.GeoJSONSourceData
crash when restoring app from background. Snapshotter
methods throwSnapshotterDestroyedException
ifdestroy
was already called.- Fix precision issues in
ColorUtils
methods. - Fix NPE when parsing
rgb(...)
strings withColorUtils
methods. - Fix
ScaleBar.useContinuousRendering
not being in sync withScaleBar.settings.useContinuousRendering
. - Fix accuracy ring related location settings updates not being rendered immediately.
- Fix a crash for Draco compressed 3D models whose geometry share indices.
- Fix tile rendering errors when the composited source tile components are overscaled.
- Fix transparent areas in overlapped polygons of MultiPolygon feature.
- Fix crash on multiple style pack loading operations.
Dependencies
- Update gl-native to v11.5.0-beta.1 and common to v24.5.0-beta.4.
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.