Skip to content

Releases: mapbox/mapbox-maps-android

v11.10.0

13 Feb 15:10
Compare
Choose a tag to compare

11.10.0 February 13, 2025

Features ✨ and improvements 🏁

  • Localize geofencing attribution dialog.
  • Introduce ViewAnnotationOptions.priority, deprecate ViewAnnotationOptions.selected. Use this property to define view annotation sort order.
  • Introduce ViewAnnotationOptions.minZoom and ViewAnnotationOptions.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 in CustomRasterSource and CustomGeometrySource, 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, default Rain.vignette to 0.3, Snow.opacity to 0.19, default Snow.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]; default Snow.opacity is updated to 1.0; default Snow.vignette is updated to ["interpolate",["linear"],["zoom"],11,0,13,0.3]; default Snow.centerThinning is updated to 0.4, default Snow.direction is updated to listOf(0.0, 50.0); default Snow.flakeSize is updated to 0.71; default Rain.density is updated to ["interpolate",["linear"],["zoom"],11,0,13,0.85]; default Rain.color is updated to ["interpolate",["linear"],["measure-light","brightness"],0,"#03113d",0.3,"#a8adbc"]; default Rain.opacity is updated to ["interpolate",["linear"],["measure-light","brightness"],0,0.88,1,0.7]; default Rain.vignette is updated to ["interpolate",["linear"],["zoom"],11,0,13,0.3]; default Rain.vignetteColor is updated to ["interpolate",["linear"],["measure-light","brightness"],0,"#001736",0.3,"#464646"]; default Rain.centerThinning is updated to 0.57; default Rain.dropletSize is updated to listOf(2.6, 18.2); default Rain.distortionStrength is updated to 0.7.
  • Remove @MapboxExperimental from ClipLayer.clipLayerTypes and ClipLayer.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 setting ColorTheme 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

05 Feb 14:53
Compare
Choose a tag to compare

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

31 Jan 22:13
Compare
Choose a tag to compare
v11.10.0-rc.1 Pre-release
Pre-release

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 in CustomRasterSource and CustomGeometrySource, 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 setting ColorTheme 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

20 Jan 11:59
Compare
Choose a tag to compare
v11.10.0-beta.1 Pre-release
Pre-release

11.10.0-beta.1 January 20, 2025

Features ✨ and improvements 🏁

  • Localize geofencing attribution dialog.
  • Introduce ViewAnnotationOptions.priority, deprecate ViewAnnotationOptions.selected. Use this property to define view annotation sort order.
  • Introduce ViewAnnotationOptions.minZoom and ViewAnnotationOptions.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, default Rain.vignette to 0.3, Snow.opacity to 0.19, default Snow.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 from ClipLayer.clipLayerTypes and ClipLayer.clipLayerScope.
  • Update the default value of experimental properties: default Snow.density is updated to ["interpolate",["linear"],["zoom"],11,0,13,0.85]; default Snow.opacity is updated to 1.0; default Snow.vignette is updated to ["interpolate",["linear"],["zoom"],11,0,13,0.3]; default Snow.centerThinning is updated to 0.4, default Snow.direction is updated to listOf(0.0, 50.0); default Snow.flakeSize is updated to 0.71; default Rain.density is updated to ["interpolate",["linear"],["zoom"],11,0,13,0.85]; default Rain.color is updated to ["interpolate",["linear"],["measure-light","brightness"],0,"#03113d",0.3,"#a8adbc"]; default Rain.opacity is updated to ["interpolate",["linear"],["measure-light","brightness"],0,0.88,1,0.7]; default Rain.vignette is updated to ["interpolate",["linear"],["zoom"],11,0,13,0.3]; default Rain.vignetteColor is updated to ["interpolate",["linear"],["measure-light","brightness"],0,"#001736",0.3,"#464646"]; default Rain.centerThinning is updated to 0.57; default Rain.dropletSize is updated to listOf(2.6, 18.2); default Rain.distortionStrength is updated to 0.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

20 Jan 05:34
Compare
Choose a tag to compare

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

18 Dec 16:28
Compare
Choose a tag to compare

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 from com.mapbox.common.experimental.geofencing.
  • Make constructor of experimental GeofencingOptions, GeofencingEvent and other geofencing classes holding data private. Associated Builder() classes should be used instead.
  • Remove experimental MapboxMap.queryRenderedFeatures and MapboxMap.querySourceFeatures that used FeaturesetQueryTarget as an argument.

Features ✨ and improvements 🏁

  • Introduce experimental FillExtrusionLayer.fillExtrusionBaseAlignment and FillExtrusionLayer.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 and FillLayer.fillZOffsetTransition APIs to specify a uniform elevation in meters and define the transition of fillZOffset respectively.
  • Adds support for fillZOffset in PolygonAnnotation, PolygonAnnotationManager, PolygonAnnotationOptions.
  • Introduce BackgroundLayer.backgroundPitchAlignment API to configure the orientation of background layer.
  • Introduce LocationIndicatorLayer.emphasisCircleGlowRange and LocationIndicatorLayer.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 the emphasisCircleGlowRange property, respectively.
  • Introduce radius parameter for ClickInteraction and LongClickInteraction 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 on LocationPuck3D.
  • Introduce experimental LocationPuck3D.materialOverrides and LocationPuck3D.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 and Rain APIs to show the snow or rain effect on the map.
  • Expose experimental getFeaturesets for MapboxMap and Style.
  • RemoveMapboxExperimental from ClipLayer.
  • [compose] Introduce LocationIndicatorLayerState.emphasisCircleGlowRange and LocationIndicatorLayerState.emphasisCircleGlowRangeTransition properties.
  • [compose] Introduce FillLayerState.fillZOffset and FillLayerState.fillZOffsetTransition properties.
  • [compose] Introduce FillExtrusionLayerState.fillExtrusionBaseAlignment and FillExtrusionLayerState.fillExtrusionHeightAlignment properties.
  • [compose] Introduce BackgroundLayerState.backgroundPitchAlignment property.
  • [compose] Adds support for fillZOffset in PolygonAnnotationState, 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 and RainState 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

13 Dec 13:00
Compare
Choose a tag to compare

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).

Bug fixes 🐞

  • Fix rare android.content.res.Resources$NotFoundException happening when creating a MapView.
  • 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

10 Dec 12:13
Compare
Choose a tag to compare
v11.9.0-rc.1 Pre-release
Pre-release

11.9.0-rc.1 December 10, 2024

Features ✨ and improvements 🏁

  • Add toHsla expression.
  • Introduce experimental Snow and Rain APIs to show the snow or rain effect on the map.
  • [compose] Introduce experimental SnowState and RainState 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

03 Dec 17:24
Compare
Choose a tag to compare

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

29 Nov 16:18
Compare
Choose a tag to compare
v11.9.0-beta.1 Pre-release
Pre-release

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 from com.mapbox.common.experimental.geofencing.
  • Make constructor of experimental GeofencingOptions, GeofencingEvent and other geofencing classes holding data private. Associated Builder() classes should be used instead.
  • Remove experimental MapboxMap.queryRenderedFeatures and MapboxMap.querySourceFeatures that used FeaturesetQueryTarget as an argument.

Features ✨ and improvements 🏁

  • Introduce experimental FillExtrusionLayer.fillExtrusionBaseAlignment and FillExtrusionLayer.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 and FillLayer.fillZOffsetTransition APIs to specify a uniform elevation in meters and define the transition of fillZOffset respectively.
  • Adds support for fillZOffset in PolygonAnnotation, PolygonAnnotationManager, PolygonAnnotationOptions.
  • Introduce BackgroundLayer.backgroundPitchAlignment API to configure the orientation of background layer.
  • Introduce LocationIndicatorLayer.emphasisCircleGlowRange and LocationIndicatorLayer.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 the emphasisCircleGlowRange property, respectively.
  • Introduce radius parameter for ClickInteraction and LongClickInteraction 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 on LocationPuck3D.
  • Introduce experimental LocationPuck3D.materialOverrides and LocationPuck3D.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 and LocationIndicatorLayerState.emphasisCircleGlowRangeTransition properties.
  • [compose] Introduce FillLayerState.fillZOffset and FillLayerState.fillZOffsetTransition properties.
  • [compose] Introduce FillExtrusionLayerState.fillExtrusionBaseAlignment and FillExtrusionLayerState.fillExtrusionHeightAlignment properties.
  • [compose] Introduce BackgroundLayerState.backgroundPitchAlignment property.
  • [compose] Adds support for fillZOffset in PolygonAnnotationState, 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.