Skip to content

Releases: mapbox/mapbox-maps-android

v11.25.0-rc.2

05 Jun 06:45

Choose a tag to compare

v11.25.0-rc.2 Pre-release
Pre-release

Bug fixes 🐞

  • Internal fixes and performance improvements.

Dependencies

v11.25.0-rc.1

03 Jun 19:34

Choose a tag to compare

v11.25.0-rc.1 Pre-release
Pre-release

Breaking changes ⚠️

  • MapView.setMaximumFps and MapSurface.setMaximumFps are now annotated @MainThread. Callers must invoke them from the main thread; off-main callers will see a lint warning.

Features ✨ and improvements 🏁

  • [compose] Add Standard IndoorLabels featureset and indoor configuration options (showIndoor, showIndoorLabels, colorIndoorLabelHighlight, colorIndoorLabelSelect) for the Mapbox Standard style.
  • Add useNativeFlingDeceleration option to GesturesPlugin that uses OverScroller for physics-based fling deceleration instead of the legacy easeTo animation, providing a more natural fling experience.
  • Throttle MapboxMap post destroyed warning logs.
  • Expose verticalFov in CameraOptions, allowing a custom vertical field of view to be set in setCamera, easeTo, and flyTo.
  • Allow using color string literals in interpolate expressions, including when set on style config at runtime.
  • Support using line-progress in line-emissive-strength.
  • Add support for zoom-and-feature-dependent appearance conditions.
  • Add client-side SD/HD road and traffic conflation, hiding redundant roads based on functional road class coverage with stencil-masked transitions and configurable opacity fade.
  • Add animated cross-fade transitions for boolean style config options (e.g. switching HD roads on/off).
  • Add an option to disallow expensive network requests in loadStylePack.

Bug fixes 🐞

  • Fix a ConcurrentModificationException crash that could occur when a plugin was added or removed during MapView.onDestroy.
  • Fix frame pacing breaking when the panel switches refresh-rate modes mid-session (VRR or per-UID frameRateOverride). FpsManager now updates its screenRefreshRate via a DisplayManager.DisplayListener instead of only sampling once at onStart.
  • [maps-sdk] Fix Vulkan rendering being permanently disabled when the Android surface arrived before the native map was set. The renderer now defers setup and retries via onMapSet() once the map is available.
  • Fix a crash that could occur while iterating map interactions when a callback modifies interaction state.
  • Fix a use-after-free crash in the map caused by asynchronous tasks accessing a partially destroyed map instance.
  • Fix a crash caused by dereferencing a null index buffer when drawing symbols.
  • Fix a crash when an overriding terrain source was merged with another source from the same root style.
  • Fix missing letters in the middle of text labels placed along lines elevated by terrain.
  • Fix aliasing artifacts on lines with borders.
  • Fix step expression evaluation when using uniform buffer objects.
  • Improve symbol appearances performance for Vulkan backend.
  • Fix rare process crashes during HTTP downloads (failure to create a temporary file, and an uncaught error while writing the response).

Dependencies

v11.21.7

03 Jun 07:42

Choose a tag to compare

Bug fixes 🐞

  • Internal fixes and performance improvements.

Dependencies

v11.24.3

02 Jun 10:44

Choose a tag to compare

Bug fixes 🐞

  • Internal fixes and performance improvements.

Dependencies

v11.21.6

26 May 14:21

Choose a tag to compare

11.21.6 May 25, 2026

Features ✨ and improvements 🏁

  • Improve anti-aliasing for line layers with line-border-width set.

Bug fixes 🐞

  • Fix a crash that could occur when the map is destroyed while asynchronous operations are in progress.

Dependencies

v11.24.2

21 May 08:44

Choose a tag to compare

11.24.2 May 20, 2026

Bug fixes

  • Fix a crash when modifying a layer at runtime whose ID matches a layer in an imported style.

Dependencies

v11.24.1

20 May 11:49

Choose a tag to compare

11.24.1 May 19, 2026

Features ✨ and improvements 🏁

  • Expose FeaturesetFeature.originalFeature property.
  • Add Vulkan rendering backend support (Public Preview). The Vulkan backend is published as a separate artifact (android-core-vulkan / android-core-vulkan-ndk27) that replaces the default OpenGL-based android-core. To use it, replace the default core dependency with the Vulkan variant. In your build.gradle.kts add:
    configurations.all {
        resolutionStrategy.dependencySubstitution {
            all {
                val requested = requested as? ModuleComponentSelector
                if (requested?.group == "com.mapbox.maps" &&
                    (requested.module == "android-core" || requested.module == "android-core-ndk27")
                ) {
                    val vulkanModule = requested.module.replace("android-core", "android-core-vulkan")
                    useTarget("com.mapbox.maps:$vulkanModule:${requested.version}")
                }
            }
        }
    }
    Known limitations:
    • Android 12 (API 31) or later is recommended. Earlier Android versions may exhibit GPU driver bugs, particularly on devices with Adreno GPUs.
    • Only arm64-v8a is supported.
    • No automatic fallback to OpenGL.
    • MapWidget (Android Auto) is not yet supported.
    • Custom layer API is not yet supported.
    • MapView.snapshot() is not yet supported.
    • Rain precipitation effect is not rendered (snow works).
  • Add support for rendering landmark models with level-of-detail (LOD), improving performance and memory use for distant 3D landmarks.
  • Improve additive blend mode rendering on line layers with high data density, and add the line-blend-additive-clamp style property for opting out of dynamic density mapping with a fixed value.
  • Set a default ambient cache quota of 1 GB and over-evict when the quota is exceeded to reduce eviction churn.
  • TileStore.create(path) is no longer supported (deprecated since v11.19). Only one TileStore instance per process is now supported.

Bug fixes 🐞

  • Fix a crash that could occur when the map is destroyed while asynchronous operations are still in progress.
  • Fix the NetworkRestriction.DISALLOW_EXPENSIVE network option not being respected, which could cause map requests to proceed over metered connections when configured otherwise.
  • Fix isMetricUnits/distanceUnits sync in ScaleBar settings DSL generated by KSP codegen.
  • Fix style import config property updates being lost when applied while a concurrent import URL change was loading.
  • Fix incorrect color output when applying a color LUT to premultiplied colors.
  • Fix incorrect symbol elevation rendering on Mali GPUs (e.g. Google Pixel 9 Pro XL) caused by insufficient shader precision for large z-offset values.
  • Fix a crash in the vector tile layer cache when a sibling tile was destroyed during cache reuse.
  • Internal fixes and performance improvements.

Dependencies

v11.21.5

18 May 13:33

Choose a tag to compare

11.21.5 May 15, 2026

Features and improvements

  • Add animated transitions when toggling HD roads.

Bug fixes

  • Fix a situation where updated import config properties were ignored after an import URL change.

Dependencies

v11.23.1

13 May 12:29

Choose a tag to compare

Bug fixes

  • Fix the disallow_expensive HTTP setting not being respected on Android; the SDK now binds requests to a non-metered network (e.g., Wi-Fi) when this flag is set, with Cronet on API 23+ and an OkHttp fallback on older API levels.
  • Fix a memory leak where HttpClient instances could not be garbage collected because callbacks held strong references back to the client.
  • Internal fixes and performance improvements.

Dependencies

v11.22.3

07 May 15:04

Choose a tag to compare

11.22.3 May 07, 2026

Features ✨ and improvements 🏁

  • Internal fixes and performance improvements.

Dependencies