Releases: mapbox/mapbox-maps-android
Releases · mapbox/mapbox-maps-android
v11.10.0
11.10.0 February 13, 2025
Features ✨ and improvements 🏁
- Localize geofencing attribution dialog.
- Introduce
ViewAnnotationOptions.priority
, deprecateViewAnnotationOptions.selected
. Use this property to define view annotation sort order. - Introduce
ViewAnnotationOptions.minZoom
andViewAnnotationOptions.maxZoom
. Use these properties to configure zoom-level specific view annotations. - Introduce
SymbolLayer.iconSizeScaleRange
,SymbolLayer.textSizeScaleRange
,FillLayer.fillElevationReference
,LineLayer.lineCrossSlope
,LineLayer.lineWidthUnit
,LineLayer.lineCrossSlope
,LineLayer.lineElevationReference
,DirectionalLight.shadowQuality
,Rain.distortionStrength
,Rain.distortionStrengthTransition
,Rain.dropletSize
,Rain.dropletSizeTransition
,Rain.vignetteColor
,Rain.vignetteColorTransition
,Snow.flakeSize
,Snow.flakeSizeTransition
,Snow.vignetteColor
,Snow.vignetteColorTransition
. - Introduce experimental Color Theme API, which allows changing the style of the map using
Style.setStyleColorTheme
. - Introduce experimental
ModelLayer.modelElevationReference
property. - Introduce experimental
LocationPuck3D.modelElevationReference
property. - Add experimental
ViewAnnotationManager.setViewAnnotationAvoidLayers
for specifying layers that view annotations should avoid. The API currently only supports line layers. - Add
*UseTheme
String style properties to override color theme for particular color properties in all layers and their Compose counterparts. - Add support for the
maxOverscaleFactorForParentTiles
property inCustomRasterSource
andCustomGeometrySource
, allowing greater control over tile overscaling behavior when rendering custom raster tiles. - Extend tilecover for elevated roads avoiding missing road segments.
- Change default value of experimental
Rain.opacity
to 0.19, defaultRain.vignette
to 0.3,Snow.opacity
to 0.19, defaultSnow.vignette
to 0.3. - Update the default value of experimental properties: default
Snow.density
is updated to["interpolate",["linear"],["zoom"],11,0,13,0.85]
; defaultSnow.opacity
is updated to1.0
; defaultSnow.vignette
is updated to["interpolate",["linear"],["zoom"],11,0,13,0.3]
; defaultSnow.centerThinning
is updated to0.4
, defaultSnow.direction
is updated tolistOf(0.0, 50.0)
; defaultSnow.flakeSize
is updated to0.71
; defaultRain.density
is updated to["interpolate",["linear"],["zoom"],11,0,13,0.85]
; defaultRain.color
is updated to["interpolate",["linear"],["measure-light","brightness"],0,"#03113d",0.3,"#a8adbc"]
; defaultRain.opacity
is updated to["interpolate",["linear"],["measure-light","brightness"],0,0.88,1,0.7]
; defaultRain.vignette
is updated to["interpolate",["linear"],["zoom"],11,0,13,0.3]
; defaultRain.vignetteColor
is updated to["interpolate",["linear"],["measure-light","brightness"],0,"#001736",0.3,"#464646"]
; defaultRain.centerThinning
is updated to0.57
; defaultRain.dropletSize
is updated tolistOf(2.6, 18.2)
; defaultRain.distortionStrength
is updated to0.7
. - Remove
@MapboxExperimental
fromClipLayer.clipLayerTypes
andClipLayer.clipLayerScope
. - Remove
<profileable android:shell=true/>
flag in release manifest. - Remove
libandroid-tests-support-code.so
from release AAR. - Remove experimental
ShadowQuality
properties from direct light layer. - [compose] Introduce experimental
StyleState.colorTheme
state for settingColorTheme
for the style. - [compose] Introduce experimental
SymbolLayerState.iconSizeScaleRange
,SymbolLayerState.textSizeScaleRange
,FillLayerState.fillElevationReference
,LineLayerState.lineCrossSlope
,LineLayerState.lineWidthUnit
,LineLayerState.lineCrossSlope
,LineLayerState.lineElevationReference
,DirectionalLightState.shadowQuality
,RainState.distortionStrength
,RainState.distortionStrengthTransition
,RainState.dropletSize
,RainState.dropletSizeTransition
,RainState.vignetteColor
,RainState.vignetteColorTransition
,SnowState.flakeSize
,SnowState.flakeSizeTransition
,SnowState.vignetteColor
,SnowState.vignetteColorTransition
.
Bug fixes 🐞
- [compose] Fix wrong layer order when using
aboveLayer(..)
composable function. - [compose] Fix annotation composable functions not working inside
slot(...)
composable function. - [compose] Fix annotation composable functions rendered in wrong order.
- Prefer last used anchor for Dynamic View Annotation placement.
- Fix out of bound issue of gradient effect.
- Fix hidden elements caused by flood lighting.
- Fix parsing raster sprite images with float stretch/content coordinates.
- Fix glyph loading issue when incorrect glyph url is used.
- Speed up start with big old offline database.
- Fix disappearing tiles in some rare conditions.
- Fix rasterization of images with positive mask coordinates which caused vector icons not being rasterized correctly.
- Place Dynamic View Annotation further away from camera when pitch > 45. This allows Dynamic View Annotation to be placed further away from the puck so it is not repositioned frequently.
- Fix visual artifacts from
FillExtrusionLayer
for night presets. - Fix precision issues with 3D puck and orthographic projection when zoom is more than 17. The fix prevents puck-shadow from disappearing in lower zoom scales in 2D-views.
- Fix road shadows issues when far away and low zoom levels.
- Fix app crash when autoMaxZoom=true.
- Fix an unhandled exception occurring during config expression parsing
- Mark
BackgroundLayer.backgroundPitchAlignment
as experimental. - Skip any map scroll (panning) if shove gesture is already in progress preventing camera flying away.
- Fix crash on style reload if a config referenced in the expression was missing.
- Fix high cpu usage when map goes to background.
- Fix missing on style loaded call if sprite is absent in cache and there is no network connection.
- Fix background layers which used images from a mapbox-hosted style.
- Fix images being displayed incorrectly in some cases with line patterns and
LineJoin.NONE
. - Fix too early sources loaded event.
- Fix to calculate image size for max text size, not for the next zoom level text size.
- Fix line rendering for layers with elevated and non-elevated buckets
Dependencies
- Update gl-native to v11.10.0 and common to v24.10.0.
v11.9.2
11.9.2 February 05, 2025
Bug fixes 🐞
- Fix exception while parsing the config expression.
- Fix app crash when autoMaxZoom=true.
- Fixing parsing raster sprite images with float stretch/content coordinates.
- Fix color theme data decoding.
- Fix glyph loading issue when incorrect glyph url is used.
Dependencies
- Update gl-native to v11.9.3.
v11.10.0-rc.1
11.10.0-rc.1 January 31, 2025
Features ✨ and improvements 🏁
- Add experimental
ViewAnnotationManager.setViewAnnotationAvoidLayers
for specifying layers that view annotations should avoid. The API currently only supports line layers. - Add support for the
maxOverscaleFactorForParentTiles
property inCustomRasterSource
andCustomGeometrySource
, allowing greater control over tile overscaling behavior when rendering custom raster tiles. - Add
*UseTheme
String style properties to override color theme for particular color properties in all layers and their Compose counterparts. - Remove experimental
ShadowQuality
properties from direct light layer. - Extend tilecover for elevated roads avoiding missing road segments.
- Introduce experimental Color Theme API, which allows changing the style of the map using
Style.setStyleColorTheme
. - [compose] Introduce experimental
StyleState.colorTheme
state for settingColorTheme
for the style.
Bug fixes 🐞
- Prefer last used anchor for Dynamic View Annotation placement.
- Fix out of bound issue of gradient effect.
- Fix hidden elements caused by flood lighting.
- Fix parsing raster sprite images with float stretch/content coordinates.
- Fix glyph loading issue when incorrect glyph url is used.
- Fix color theme data decoding.
- Speed up start with big old offline database.
- Fix disappearing tiles in some rare conditions.
- Fix road shadows issues when far away and low zoom levels.
Dependencies
- Update gl-native to v11.10.0-rc.1 and common to v24.10.0-rc.1.
v11.10.0-beta.1
11.10.0-beta.1 January 20, 2025
Features ✨ and improvements 🏁
- Localize geofencing attribution dialog.
- Introduce
ViewAnnotationOptions.priority
, deprecateViewAnnotationOptions.selected
. Use this property to define view annotation sort order. - Introduce
ViewAnnotationOptions.minZoom
andViewAnnotationOptions.maxZoom
. Use these properties to configure zoom-level specific view annotations. - Introduce
SymbolLayer.iconSizeScaleRange
,SymbolLayer.textSizeScaleRange
,FillLayer.fillElevationReference
,LineLayer.lineCrossSlope
,LineLayer.lineWidthUnit
,LineLayer.lineCrossSlope
,LineLayer.lineElevationReference
,DirectionalLight.shadowQuality
,Rain.distortionStrength
,Rain.distortionStrengthTransition
,Rain.dropletSize
,Rain.dropletSizeTransition
,Rain.vignetteColor
,Rain.vignetteColorTransition
,Snow.flakeSize
,Snow.flakeSizeTransition
,Snow.vignetteColor
,Snow.vignetteColorTransition
. - Change default value of experimental
Rain.opacity
to 0.19, defaultRain.vignette
to 0.3,Snow.opacity
to 0.19, defaultSnow.vignette
to 0.3. - [compose] Introduce experimental
SymbolLayerState.iconSizeScaleRange
,SymbolLayerState.textSizeScaleRange
,FillLayerState.fillElevationReference
,LineLayerState.lineCrossSlope
,LineLayerState.lineWidthUnit
,LineLayerState.lineCrossSlope
,LineLayerState.lineElevationReference
,DirectionalLightState.shadowQuality
,RainState.distortionStrength
,RainState.distortionStrengthTransition
,RainState.dropletSize
,RainState.dropletSizeTransition
,RainState.vignetteColor
,RainState.vignetteColorTransition
,SnowState.flakeSize
,SnowState.flakeSizeTransition
,SnowState.vignetteColor
,SnowState.vignetteColorTransition
. - Remove
@MapboxExperimental
fromClipLayer.clipLayerTypes
andClipLayer.clipLayerScope
. - Update the default value of experimental properties: default
Snow.density
is updated to["interpolate",["linear"],["zoom"],11,0,13,0.85]
; defaultSnow.opacity
is updated to1.0
; defaultSnow.vignette
is updated to["interpolate",["linear"],["zoom"],11,0,13,0.3]
; defaultSnow.centerThinning
is updated to0.4
, defaultSnow.direction
is updated tolistOf(0.0, 50.0)
; defaultSnow.flakeSize
is updated to0.71
; defaultRain.density
is updated to["interpolate",["linear"],["zoom"],11,0,13,0.85]
; defaultRain.color
is updated to["interpolate",["linear"],["measure-light","brightness"],0,"#03113d",0.3,"#a8adbc"]
; defaultRain.opacity
is updated to["interpolate",["linear"],["measure-light","brightness"],0,0.88,1,0.7]
; defaultRain.vignette
is updated to["interpolate",["linear"],["zoom"],11,0,13,0.3]
; defaultRain.vignetteColor
is updated to["interpolate",["linear"],["measure-light","brightness"],0,"#001736",0.3,"#464646"]
; defaultRain.centerThinning
is updated to0.57
; defaultRain.dropletSize
is updated tolistOf(2.6, 18.2)
; defaultRain.distortionStrength
is updated to0.7
. - Introduce experimental
ModelLayer.modelElevationReference
property. - Introduce experimental
LocationPuck3D.modelElevationReference
property. - Remove
<profileable android:shell=true/>
flag in release manifest. - Remove
libandroid-tests-support-code.so
from release AAR.
Bug fixes 🐞
- Mark
BackgroundLayer.backgroundPitchAlignment
as experimental. - Skip any map scroll (panning) if shove gesture is already in progress preventing camera flying away.
- Fix crash on style reload if a config referenced in the expression was missing.
- Fix high cpu usage when map goes to background.
- Fix missing on style loaded call if sprite is absent in cache and there is no network connection.
- Fix background layers which used images from a mapbox-hosted style.
- Fix images being displayed incorrectly in some cases with line patterns and
LineJoin.NONE
. - Fix too early sources loaded event.
Known issues ⚠️
- Disappearing tiles in some rare conditions. Fix will be available in the next release.
Dependencies
- Update gl-native to v11.10.0-beta.2 and common to v24.10.0-beta.2.
v11.9.1
11.9.1 January 20, 2025
Bug fixes 🐞
- Add missing experimental annotation to
backgroundPitchAlignment
property. - Fix crash on style reload if a config referenced in the expression was missing.
- Fix high cpu usage when map goes to background.
- Fix missing on style loaded call if sprite is absent in cache and there is no network connection.
- Fix background layers which used images from a mapbox-hosted style.
- Fix disappearing tiles in some rare conditions.
Dependencies
- Update gl-native to v11.9.2.
v11.9.0
11.9.0 December 18, 2024
Known issues 🛑
We do not recommend using this version. Please use 11.9.1 or newer.
- When a map is currently visible and user press home button the MapboxRenderThread consumes CPU (potentially keeping one CPU busy).
Breaking changes ⚠️
- Expose experimental Geofencing with
com.mapbox.annotation.MapboxExperimental
. - Move experimental geofencing classes to
com.mapbox.common.geofencing
package fromcom.mapbox.common.experimental.geofencing
. - Make constructor of experimental
GeofencingOptions
,GeofencingEvent
and other geofencing classes holding data private. AssociatedBuilder()
classes should be used instead. - Remove experimental
MapboxMap.queryRenderedFeatures
andMapboxMap.querySourceFeatures
that usedFeaturesetQueryTarget
as an argument.
Features ✨ and improvements 🏁
- Introduce experimental
FillExtrusionLayer.fillExtrusionBaseAlignment
andFillExtrusionLayer.fillExtrusionHeightAlignment
APIs to control the behavior of fill extrusion base over terrain and the behavior of fill extrusion height over terrain respectively. - Introduce experimental
FillLayer.fillZOffset
andFillLayer.fillZOffsetTransition
APIs to specify a uniform elevation in meters and define the transition offillZOffset
respectively. - Adds support for
fillZOffset
inPolygonAnnotation
,PolygonAnnotationManager
,PolygonAnnotationOptions
. - Introduce
BackgroundLayer.backgroundPitchAlignment
API to configure the orientation of background layer. - Introduce
LocationIndicatorLayer.emphasisCircleGlowRange
andLocationIndicatorLayer.emphasisCircleGlowRangeTransition
APIs to control the glow effect of the emphasis circle from the solid start to the fully transparent end and to set the transition options for theemphasisCircleGlowRange
property, respectively. - Introduce
radius
parameter forClickInteraction
andLongClickInteraction
to support an extra area around the interaction. - Add a way to specify options for
Expression.image()
. - Introduce experimental
AnimatableModel
,ModelMaterialPart
,ModelNodePart
APIs to style the 3D location puck's overridable parts. Implementation example. - Introduce
modelRotationExpression
,modelColor
,modelColorExpression
,modelColorMixIntensity
,modelColorMixIntensityExpression
,modelOpacityExpression
onLocationPuck3D
. - Introduce experimental
LocationPuck3D.materialOverrides
andLocationPuck3D.nodeOverrides
API to allow model parts overrides. - Add vector icons support: SDK will now download vector icons and rasterize them locally, which will results in better icon quality for icons resized via icon-size. Changeable colors support: icon expression can now have optional parameter to change named colors described in SVG icons metadata.
- Add support for shadows from elevated structures.
- Add
toHsla
expression. - Introduce experimental
Snow
andRain
APIs to show the snow or rain effect on the map. - Expose experimental
getFeaturesets
forMapboxMap
andStyle
. - Remove
MapboxExperimental
fromClipLayer
. - [compose] Introduce
LocationIndicatorLayerState.emphasisCircleGlowRange
andLocationIndicatorLayerState.emphasisCircleGlowRangeTransition
properties. - [compose] Introduce
FillLayerState.fillZOffset
andFillLayerState.fillZOffsetTransition
properties. - [compose] Introduce
FillExtrusionLayerState.fillExtrusionBaseAlignment
andFillExtrusionLayerState.fillExtrusionHeightAlignment
properties. - [compose] Introduce
BackgroundLayerState.backgroundPitchAlignment
property. - [compose] Adds support for
fillZOffset
inPolygonAnnotationState
,PolygonAnnotationGroupState
. - [compose] Expose
MapViewportState.cameraForCoordinates
method. - [compose] Introduce
radius
parameter for all relevant compose functions for interactions to support an extra area around the interaction. - [compose] Introduce experimental
SnowState
andRainState
APIs to show the snow or rain effect on the map.
Bug fixes 🐞
- Fix dark shades caused by corner case light directions when
FillLayer.fillExtrusionEmissiveStrength
is set to high values (closer to 1). - Fix rendering of interleaved SDF and non-SDF icons in the same layer.
- Fix
LineLayer.lineEmissiveStrength
not being applied to patterned lines. - Fix map flickering on some Mali and PowerVR GPUs.
- Fix shader fog computation being incorrectly enabled for landmarks.
- Handle empty payloads for offline resources.
- Encapsulate config expression in assertion expression when expected return type is known.
- Fixes a bug which caused icon shifts in some cases.
- Fix feature state update if layer contains data driven
measureLight
expression. - Fix the owning thread log error prints on legacy
OfflineRegion
creation. - Fix a crash in interpolate expression.
- Resolve usage of
GeoJsonSource.autoMaxZoom
for single feature. - Resolve dotted line issue with very long lines.
- Fix texture gather for shadows not being selected correctly by default.
- Performance improvements for runtime-added images.
- Fix
AndroidDeviceLocationProvider
reporting an error when location permissions are not granted. - Improve exception handling inside Cronet providers when Cronet library failed to load.
- Improve character spacing for text offsets.
- Fixed crash on Android API level < 26.
- Do not load vector icons for client-provided sprites.
- Fall back to the feature's original ID when promoteId is an object and the source layer is not specified as a key in the object.
- Fixed crash caused by a repeated command buffer commit call.
- Fixed invalid processing of icon-size 0, using biggest of two image sizes with interpolated icon-size during vector icons rasterization.
Dependencies
- Update gl-native to v11.9.0 and common to v24.9.0.
v10.19.0
10.19.0 December 13, 2024
Features ✨ and improvements 🏁
- Publish Mapbox Maps Android artifacts using NDK 27 and support for 16 KB page sizes.
- The new artifacts are available by appending
-ndk27
to the artifact ID (for example,com.mapbox.maps:android-ndk27:10.19.0
).
- The new artifacts are available by appending
Bug fixes 🐞
- Fix rare
android.content.res.Resources$NotFoundException
happening when creating aMapView
. - Fix tile prefetch for GeoJSON sources
Dependencies
- Update gl-native to v10.19.2 and common to v23.11.2.
v11.9.0-rc.1
11.9.0-rc.1 December 10, 2024
Features ✨ and improvements 🏁
- Add
toHsla
expression. - Introduce experimental
Snow
andRain
APIs to show the snow or rain effect on the map. - [compose] Introduce experimental
SnowState
andRainState
APIs to show the snow or rain effect on the map.
Bug fixes 🐞
- Improve character spacing for text offsets.
- Fixed crash on Android API level < 26.
- Do not load vector icons for client-provided sprites.
- Fall back to the feature's original ID when promoteId is an object and the source layer is not specified as a key in the object.
- Fixed crash caused by a repeated command buffer commit call.
Dependencies
- Update gl-native to v11.9.0-rc.1 and common to v24.9.0-rc.1.
v11.8.1
11.8.1 December 03, 2024
Bug fixes 🐞
- Fix map flickering on some Mali and PowerVR GPUs.
Dependencies
- Update gl-native to v11.8.1.
v11.9.0-beta.1
11.9.0-beta.1 November 28, 2024
Breaking changes ⚠️
- Expose experimental Geofencing with
com.mapbox.annotation.MapboxExperimental
. - Move experimental geofencing classes to
com.mapbox.common.geofencing
package fromcom.mapbox.common.experimental.geofencing
. - Make constructor of experimental
GeofencingOptions
,GeofencingEvent
and other geofencing classes holding data private. AssociatedBuilder()
classes should be used instead. - Remove experimental
MapboxMap.queryRenderedFeatures
andMapboxMap.querySourceFeatures
that usedFeaturesetQueryTarget
as an argument.
Features ✨ and improvements 🏁
- Introduce experimental
FillExtrusionLayer.fillExtrusionBaseAlignment
andFillExtrusionLayer.fillExtrusionHeightAlignment
APIs to control the behavior of fill extrusion base over terrain and the behavior of fill extrusion height over terrain respectively. - Introduce experimental
FillLayer.fillZOffset
andFillLayer.fillZOffsetTransition
APIs to specify a uniform elevation in meters and define the transition offillZOffset
respectively. - Adds support for
fillZOffset
inPolygonAnnotation
,PolygonAnnotationManager
,PolygonAnnotationOptions
. - Introduce
BackgroundLayer.backgroundPitchAlignment
API to configure the orientation of background layer. - Introduce
LocationIndicatorLayer.emphasisCircleGlowRange
andLocationIndicatorLayer.emphasisCircleGlowRangeTransition
APIs to control the glow effect of the emphasis circle from the solid start to the fully transparent end and to set the transition options for theemphasisCircleGlowRange
property, respectively. - Introduce
radius
parameter forClickInteraction
andLongClickInteraction
to support an extra area around the interaction. - Add a way to specify options for
Expression.image()
. - Introduce experimental
AnimatableModel
,ModelMaterialPart
,ModelNodePart
APIs to style the 3D location puck's overridable parts. Implementation example. - Introduce
modelRotationExpression
,modelColor
,modelColorExpression
,modelColorMixIntensity
,modelColorMixIntensityExpression
,modelOpacityExpression
onLocationPuck3D
. - Introduce experimental
LocationPuck3D.materialOverrides
andLocationPuck3D.nodeOverrides
API to allow model parts overrides. - Add vector icons support: SDK will now download vector icons and rasterize them locally, which will results in better icon quality for icons resized via icon-size. Changeable colors support: icon expression can now have optional parameter to change named colors described in SVG icons metadata.
- Add support for shadows from elevated structures.
- [compose] Introduce
LocationIndicatorLayerState.emphasisCircleGlowRange
andLocationIndicatorLayerState.emphasisCircleGlowRangeTransition
properties. - [compose] Introduce
FillLayerState.fillZOffset
andFillLayerState.fillZOffsetTransition
properties. - [compose] Introduce
FillExtrusionLayerState.fillExtrusionBaseAlignment
andFillExtrusionLayerState.fillExtrusionHeightAlignment
properties. - [compose] Introduce
BackgroundLayerState.backgroundPitchAlignment
property. - [compose] Adds support for
fillZOffset
inPolygonAnnotationState
,PolygonAnnotationGroupState
. - [compose] Expose
MapViewportState.cameraForCoordinates
method. - [compose] Introduce
radius
parameter for all relevant compose functions for interactions to support an extra area around the interaction.
Bug fixes 🐞
- Fix dark shades caused by corner case light directions when
FillLayer.fillExtrusionEmissiveStrength
is set to high values (closer to 1). - Fix rendering of interleaved SDF and non-SDF icons in the same layer.
- Fix
LineLayer.lineEmissiveStrength
not being applied to patterned lines. - Fix map flickering on some Mali and PowerVR GPUs.
- Fix shader fog computation being incorrectly enabled for landmarks.
- Handle empty payloads for offline resources.
- Encapsulate config expression in assertion expression when expected return type is known.
- Fixes a bug which caused icon shifts in some cases.
- Fix feature state update if layer contains data driven
measureLight
expression. - Fix the owning thread log error prints on legacy
OfflineRegion
creation. - Fix a crash in interpolate expression.
- Resolve usage of
GeoJsonSource.autoMaxZoom
for single feature. - Resolve dotted line issue with very long lines.
- Fix texture gather for shadows not being selected correctly by default.
- Performance improvements for runtime-added images.
- Fix
AndroidDeviceLocationProvider
reporting an error when location permissions are not granted. - Improve exception handling inside Cronet providers when Cronet library failed to load.
Dependencies
- Update gl-native to v11.9.0-beta.1 and common to v24.9.0-beta.1.
Known issues
- Custom (non Mapbox-hosted) sprites could fail to load in some scenarios.