Releases: mapbox/mapbox-maps-android
Releases · mapbox/mapbox-maps-android
Release list
v11.27.0-rc.1
Features ✨ and improvements 🏁
- Add cross-source HD road elevation for symbols, so road symbols can align to HD elevation data provided by a separate source.
- Add support for animating the map's vertical field of view.
- Improve CPU performance when frequently updating layer properties, such as animating paint and layout values.
- Improve character rotation for some CJK characters in vertical text mode.
Bug fixes 🐞
- Fix flickering single-pixel gaps appearing along route lines at elevation feature boundaries as the camera moves.
- Fix line-aligned labels (such as angled sea names) drifting while panning during the globe-to-mercator zoom transition.
- Fix radial gradients rendering incorrectly when the focal radius is larger than the outer radius.
- Fix view annotations not being considered in collision checks against avoid layers, which could result in incorrect placement.
- Internal fixes and performance improvements.
Dependencies
- Update gl-native to v11.27.0-rc.1, common to v24.27.0-rc.1.
v11.25.2
v11.26.0
Breaking changes ⚠️
- Add
CameraAnimatorType.VERTICAL_FOVenum constant. This is a source-breaking change for code that uses an exhaustivewhenoverCameraAnimatorTypewithout anelsebranch, which will no longer compile until the new case is handled.
Features ✨ and improvements 🏁
- Animate verticalFov along with other camera parameters.
- Introduce new experimental
ViewAnnotationManager.viewAnnotationAvoidRegionswhich allows to specify rectangular screen regions that view annotations should avoid. View annotations opt in to this behaviour via the new experimentalViewAnnotationOptions.enableAvoidRegionsoption. - Improve landmark route cutout rendering to use uniform opacity fade instead of per-fragment dithering, improving visual quality and performance in navigation scenes with 3D landmarks.
Bug fixes 🐞
- Fix a crash that could occur when querying rendered features while map layers were being removed.
- Fix a one-frame flash where layers could briefly disappear while a new shader variant compiled asynchronously.
- Fix continuous tile reparsing for HD road sources using cross-source elevation on a static map, causing sustained CPU usage.
- Fix elevated lines with
line-elevation-reference: "ground"disappearing from view due to incorrect frustum culling over terrain. - Fix gaps appearing in elevated route line geometry at elevation feature boundaries.
- Internal fixes and performance improvements.
Dependencies
v11.21.10
v11.22.4
Bug fixes 🐞
- Fix style import config properties being silently discarded when set during an import URL change.
- Fix elevated lines with
lineElevationReferenceset toLineElevationReference.GROUNDdisappearing near the viewport at high pitch. - Fix a crash that could occur when an HTTP request was aborted while a response chunk was being processed.
Dependencies
v11.25.1
Bug fixes 🐞
- Fix View Annotations sometimes failing to appear on short line segments due to collision detection over-rejection.
- Fix a
SecurityExceptioncrash on Android 12 (API 31–32) when the Maps SDK registers location broadcast receivers.
Dependencies
v11.26.0-rc.1
Features ✨ and improvements 🏁
- [compose] Introduce experimental
IndoorSelectorcomposable function available insideMapboxMap, displaying a scrollable floor-selection widget that appears automatically when an indoor building is in view. ExposesIndoorSelectorStatefor programmatic access to the current floor list and selected floor, and anonFloorClickedcallback for reacting to user selections. - [compose] Add
IndoorSelectorControlheadless composable insideMapIndoorSelectorScope: attaches the indoor plugin to anIndoorSelectorStatewithout rendering any UI, enabling custom floor-selector implementations. - [compose] Add
rotateBy,moveBy,pitchBy, andscaleBymethods toMapViewportStatefor incremental camera animations. - [compose] Add
rememberStyleImage(imageId, image9Patch: NinePatchImage)andremember9PatchStyleImage(imageId, bitmap: Bitmap)overloads for nine-patch images. - Introduce new experimental
ViewAnnotationOptions.enableSymbolLayerCollisionoption which allows view annotations to hide underlying map symbols to avoid visual clutter.
By default, the full bounding box of the view annotation is used for collision detection. If your annotation has a non-rectangular shape, it is highly recommended to mark the specific subviews that should participate via the new experimentalView.mbxCollisionBoxflag. - Support drawing view annotation collision boxes when
MapView.debugOptionsis set toCOLLISION. - Add
TileStoreoption to configure the ambient cache quota, allowing control over how much disk space is used for ambient cached tile data.
Bug fixes 🐞
- [compose] Pass the identifier as an input to
rememberSaveableinremember*SourceState,remember*LightState, andrememberTerrainStatefunctions so that changing the identifier correctly recreates the saved state. - Fix labels missing on some road segments due to multilinestring geometry parts being dropped during label merging.
- Fix View Annotations sometimes failing to appear on short line segments due to collision detection over-rejection.
- Fix worldview filter not applying correctly after being changed at runtime.
- Fix zoom interpolation expressions not working correctly when symbol layer appearances define different zoom stops for the same property.
- Fix icon cross-fade animation not rendering correctly for icons redefined across appearances.
- Fix symbols with elevation or z-offset not displaying when the map is both rotated and pitched.
- Fix inaccurate coordinate conversion when querying geographic coordinates over terrain.
- Fix
SecurityExceptioncrash on Android 12 (API 31–32) when the Maps SDK registers location broadcast receivers. - Fix a potential crash caused by a use-after-free when evicting decompressed tile data from memory.
- Internal fixes and performance improvements.
Dependencies
- Update gl-native to v11.26.0-rc.1, common to v24.26.0-rc.1.
v11.21.9
v11.21.8
Features ✨ and improvements 🏁
- Reduce per-frame rendering overhead when style properties are updated frequently.
Bug fixes 🐞
- Fix a crash caused by dereferencing a null index buffer when drawing symbols.
- Internal fixes and performance improvements.
Dependencies
v11.26.0-alpha.1
Features ✨ and improvements 🏁
- [compose] Introduce experimental
IndoorSelectorcomposable function available insideMapboxMap, displaying a scrollable floor-selection widget that appears automatically when an indoor building is in view. ExposesIndoorSelectorStatefor programmatic access to the current floor list and selected floor, and anonFloorClickedcallback for reacting to user selections. - [compose] Add
IndoorSelectorControlheadless composable insideMapIndoorSelectorScope: attaches the indoor plugin to anIndoorSelectorStatewithout rendering any UI, enabling custom floor-selector implementations. - [compose] Add
rotateBy,moveBy,pitchBy, andscaleBymethods toMapViewportStatefor incremental camera animations. - [compose] Add
rememberStyleImage(imageId, image9Patch: NinePatchImage)andremember9PatchStyleImage(imageId, bitmap: Bitmap)overloads for nine-patch images. - Introduce new experimental
ViewAnnotationOptions.enableSymbolLayerCollisionoption which allows view annotations to hide underlying map symbols to avoid visual clutter.
By default, the full bounding box of the view annotation is used for collision detection. If your annotation has a non-rectangular shape, it is highly recommended to mark the specific subviews that should participate via the new experimentalView.mbxCollisionBoxflag. - Support drawing view annotation collision boxes when
MapView.debugOptionsis set toCOLLISION. - Internal fixes and performance improvements.
Dependencies
- Update gl-native to v11.26.0-alpha.1, common to v24.26.0-alpha.1.