Releases: mapbox/mapbox-maps-android
Releases · mapbox/mapbox-maps-android
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.
v11.3.1
11.3.1 April 26, 2024
Features ✨ and improvements 🏁
- Reduce time spent on model layer re-evaluation during light change.
Bug fixes 🐞
- Make non-vector tile parsing cancellable.
- Introduce a dedicated thread for 3d landmarks parsing.
- Fix TilePrefetch for GeoJSON sources.
Dependencies
- Update gl-native to v11.3.2.
v11.3.0
11.3.0 April 11, 2024
Breaking changes ⚠️
- [compose] Introduce experimental
ComposeMapInitOptions
and removemapInitOptionsFactory
. - [compose] Replace experimental
MapboxMap.compassSettings
,MapboxMap.scaleBarSettings
,MapboxMap.logoSettings
,MapboxMap.attributionSettings
with composable functions in dedicated scopes:MapCompassScope.Compass()
,MapScaleBarScope.ScaleBar()
,MapLogoScope.Logo()
,MapAttributionScope.Attribution()
.
Features ✨ and improvements 🏁
- [compose] Add layerPosition support in
GenericStyle
composable function. - [compose] Add layer transition properties.
- [compose] Add
contentPadding
to map ornament composable functions(e.g.Compass
,Logo
,Attribution
,ScaleBar
). - [compose] Introduce experimental
MapStyle
,MapboxStandardStyle
,GenericStyle
composable functions to work with the map style. - [compose] Introduce experimental layer composable functions to insert layers to the map.
- [compose] Introduce experimental source states to work with layer composable functions.
- [compose] Add map projection support in
GenericStyle
composable function. - Expose
MapInitOptions.mapName
(mapbox_mapName
in XML) property allowing to set the custom name which will be appended to map render related logs. - Add Attribution and Telemetry pop-up dialogs and compass view content description translations for Arabic, Bulgarian, Catalan, Chinese Simplified, Chinese Traditional, Czech, Danish, Dutch, French, Galician, German, Hebrew, Italian, Japanese, Korean, Lithuanian, Norwegian, Polish, Belarusian, Russian, Spanish, Swedish, Ukranian and Vietnamese.
- Perform faster landmark parsing by switching tinygltf in favor of cgltf.
- Use mipmap with pattern images.
- Add
SdkInformationQuery
to expose sdk version information. - Enable
TileStore
delta updates by default for Maps domain. - Add
TileStore.estimateTileRegion
API for estimating Tile Region downloads and storage size.
Bug fixes 🐞
- [compose] Fix a bug introduced in
11.3.0-beta.1
where AnnotationGroup items updates were skipped. - [compose] Fix
ViewAnnotation
not cleared when it leaves composition. - [compose] Fix the
IndexOutOfBoundsException
because ofRootNode
ofMapboxMap
node tree being shared across multiple maps. - Resolve the data race by ensuring that when terrain is enabled, the transform state is updated with the correct elevation instance.
- Fix offline composited tiles fetching when the request tile zoom level is above maximum zoom for one of the composed tile packs but below maximum zoom level for another one.
- Fix override of line-gradient textures when fill-extrusion effects are used on terrain.
- Return
ViewAnnotationOptions.Builder
when callingViewAnnotationOptions.Builder.annotationAnchor
extension function. - Immediately add annotations and location component to the map instead of waiting for style load events.
- Fix a bug where specifying a large negative value for padding in
MapboxMap.camera*()
methods resulted in the returned zoom value being NaN. - Fix location indicator models rendering issue with globe projection.
- Offline: composite higher level tiles from their parents, when a non-standard tile pack zoom ranges scheme is used.
- Use bigger http buffers to avoid reference table overflow.
- Fix attribution links not opening in some scenarios.
- Fix attribution and telemetry dialogs not respecting current theme.
- Fix map being pixelated on some devices when
ContextMode.SHARED
is used (e.g. in AndroidAuto extension). - Fix map being black on some zoom levels when
ContextMode.SHARED
is used (e.g. in AndroidAuto extension). - Fix incorrect widget position and scale when resizing the drawing surface.
- Fix layer paint property update with feature state changes, especially if the paint property value data-driven by brightness or zoom.
- Fix snapshotter race conditions to ensure new request could effectively trigger map rendering.
- Fix raster array band updates glitches during the camera zoom animation.
- Reload vector source tiles when language or worldview setting is changed.
- Apply config expression to atmosphere properties.
- Fix map freezing when using
queryRenderedFeatures
with 3d models in mercator projection. - Reduce time spent on line gradient updates on the render thread.
- Fix network reachability status getting stuck with ReachableViaWWAN status if HTTP requests completed at the same time as network reported being disconnected.
- Fix wrong network reachability statuses.
- Fix double
LocationServiceObserver.onAvailabilityChanged
callback trigger. - Avoid bringing Kotlin 1.8 as transitive dependency, Maps SDK should use Kotlin 1.7.20.
Dependencies
- Update gl-native to v11.3.0 and common to v24.3.1.
- Update Mapbox Base Android library to v0.11.0.
v10.17.0
10.17.0 April 02, 2024
Bug fixes 🐞
- Fix map being pixelated on some devices when
ContextMode.SHARED
is used (e.g. in AndroidAuto extension). - Fix incorrect widget position and scale when resizing the drawing surface.
- Fix a crash in
MapView.snapshot
happening on specific devices.
Dependencies
- Update gl-native to v10.17.0 and common to v23.9.2.
v11.3.0-rc.1
11.3.0-rc.1 March 28, 2024
Known Issues ⚠️
- The tiles fetching from the offline database is malfunctioning for the composited sources. Setting
com.mapbox.maps.experimental.offline_vt_compositing
runtime flag tofalse
resolves this issue:
val settings = SettingsServiceFactory.getInstance(SettingsServiceStorageType.NON_PERSISTENT)
settings.set("com.mapbox.maps.experimental.offline_vt_compositing", Value.valueOf(false))
Features ✨ and improvements 🏁
- [compose] Add layerPosition support in
GenericStyle
composable function. - Expose
MapInitOptions.mapName
(mapbox_mapName
in XML) property allowing to set the custom name which will be appended to map render related logs. - [compose] Add layer transition properties.
- [compose] Add
contentPadding
to map ornament composable functions(e.g.Compass
,Logo
,Attribution
,ScaleBar
).
Bug fixes 🐞
- Return
ViewAnnotationOptions.Builder
when callingViewAnnotationOptions.Builder.annotationAnchor
extension function. - [compose] Fix the
IndexOutOfBoundsException
because ofRootNode
ofMapboxMap
node tree being shared across multiple maps. - Immediately add annotations and location component to the map instead of waiting for style load events.
- Fix a bug where specifying a large negative value for padding in
MapboxMap.camera*()
methods resulted in the returned zoom value being NaN. - Fix location indicator models rendering issue with globe projection.
- Offline: composite higher level tiles from their parents, when a non-standard tile pack zoom ranges scheme is used.
- Use bigger http buffers to avoid reference table overflow.
- Fix a crash in
MapView.snapshot
happening on specific devices.
Dependencies
- Update gl-native to v11.3.0-rc.1 and common to v24.3.0-rc.1.
v11.2.2
11.2.2 March 27, 2024
Features ✨ and improvements 🏁
- Expose
MapInitOptions.mapName
(mapbox_mapName
in XML) property allowing to set the custom name which will be appended to map render related logs.
Dependencies
- Update gl-native to v11.2.2 and common to v24.2.3.
v11.2.1
11.2.1 March 15, 2024
Bug fixes 🐞
- Apply config expression to atmosphere properties.
- Fix map freezing when using
queryRenderedFeatures
with 3d models in mercator projection.
Dependencies
- Update gl-native to v11.2.1.
v11.3.0-beta.1
11.3.0-beta.1 March 14, 2024
Breaking changes ⚠️
- [compose] Replace experimental
MapboxMap.compassSettings
,MapboxMap.scaleBarSettings
,MapboxMap.logoSettings
,MapboxMap.attributionSettings
with composable functions in dedicated scopes:MapCompassScope.Compass()
,MapScaleBarScope.ScaleBar()
,MapLogoScope.Logo()
,MapAttributionScope.Attribution()
.
Features ✨ and improvements 🏁
- Added Attribution and Telemetry pop-up dialogs and compass view content description translations for Arabic, Bulgarian, Catalan, Chinese Simplified, Chinese Traditional, Czech, Danish, Dutch, French, Galician, German, Hebrew, Italian, Japanese, Korean, Lithuanian, Norwegian, Polish, Belarusian, Russian, Spanish, Swedish, Ukranian and Vietnamese.
- Faster landmark parsing by switching tinygltf in favor of cgltf.
- Use mipmap with pattern images .
- Add
SdkInformationQuery
to expose sdk version information. - Enable
TileStore
delta updates by default for Maps domain. - Add
TileStore.estimateTileRegion
API for estimating Tile Region downloads and storage size. - [compose] Introduce experimental
MapStyle
,MapboxStandardStyle
,GenericStyle
composable functions to work with the map style. - [compose] Added experimental layer and source composable functions to insert layer/sources to the map.
- [compose] Improve annotation group update speed.
Bug fixes 🐞
- [compose] Fix
ViewAnnotation
not cleared when it leaves composition. - Fix attribution links not opening in some scenarios.
- Fix attribution and telemetry dialogs not respecting current theme.
- Fix map being pixelated on some devices when
ContextMode.SHARED
is used (e.g. in AndroidAuto extension). - Fix incorrect widget position and scale when resizing the drawing surface.
- Fix layer paint property update with feature state changes, especially if the paint property value data-driven by brightness or zoom.
- Fix snapshotter race conditions to ensure new request could effectively trigger map rendering.
- Fix raster array band updates glitches during the camera zoom animation.
- Reload vector source tiles when language or worldview setting is changed.
- Apply config expression to atmosphere properties.
- Fix map freezing when using
queryRenderedFeatures
with 3d models in mercator projection. - Reduce time spent on line gradient updates on the render thread.
- Fix network reachability status getting stuck with
ReachableViaWWAN
status if HTTP requests completed at the same time as network reported being disconnected. - Fix wrong network reachability statuses.
- Fix double
LocationServiceObserver.onAvailabilityChanged
callback trigger. - Avoid bringing Kotlin 1.8 as transitive dependency, Maps SDK should use Kotlin 1.7.20.
Dependencies
- Update gl-native to v11.3.0-beta.1 and common to v24.3.0-beta.1.
v10.16.6
10.16.6 March 04, 2024
Bug fixes 🐞
- Fix rare crash in
LocationServiceImpl
on startup. - Reduce network data transfer on style package update.
Dependencies
- Update gl-native to v10.16.6 and common to v23.9.1.