Skip to content

Releases: mapbox/mapbox-maps-android

v11.3.1

26 Apr 19:38
Compare
Choose a tag to compare

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 Apr 13:59
Compare
Choose a tag to compare

11.3.0 April 11, 2024

Breaking changes ⚠️

  • [compose] Introduce experimental ComposeMapInitOptions and remove mapInitOptionsFactory.
  • [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 of RootNode of MapboxMap 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 calling ViewAnnotationOptions.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

02 Apr 13:18
Compare
Choose a tag to compare

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

28 Mar 14:54
Compare
Choose a tag to compare
v11.3.0-rc.1 Pre-release
Pre-release

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 to false 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 calling ViewAnnotationOptions.Builder.annotationAnchor extension function.
  • [compose] Fix the IndexOutOfBoundsException because of RootNode of MapboxMap 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

27 Mar 11:46
Compare
Choose a tag to compare

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

15 Mar 13:55
Compare
Choose a tag to compare

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

14 Mar 16:58
Compare
Choose a tag to compare
v11.3.0-beta.1 Pre-release
Pre-release

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

04 Mar 14:26
Compare
Choose a tag to compare

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.

v11.2.0

29 Feb 09:31
Compare
Choose a tag to compare

11.2.0 February 29, 2024

Features ✨ and improvements 🏁

  • Introduce better way of SDK initialization to avoid java.lang.UnsatisfiedLinkError exception on process startup. If the native library is still not found when actual Mapbox API is called, meaningful MapboxInitializerException is thrown and could be caught and processed on user's side.
  • Introduce MapboxMap.getCenterAltitudeMode API.
  • Add useShortestPath option to CameraAnimationPlugin.createCenterAnimator, when enabled, shortest path will be applied when the start and end camera center is across the antimeridian, for example from -170 to 170 longitude. Defaults to true.
  • Introduce SymbolLayer.iconColorSaturation API.
  • Introduce experimental RasterLayer.rasterElevation API.
  • Introduce experimental MapboxMap.startPerformanceStatisticsCollection / MapboxMap.stopPerformanceStatisticsCollection APIs allowing to start / stop collecting map rendering performance statistics.
  • Introduce GeoJsonSource.tileCacheBudget, RasterSource.tileCacheBudget, RasterDemSource.tileCacheBudget, RasterArraySource.tileCacheBudget, VectorSource.tileCacheBudget, CustomGeometrySource.tileCacheBudget, CustomRasterSource.tileCacheBudget.
  • Skip unneeded layers properties re-evaluation on zoom change.
  • Add the possibility to use constant expressions for model-emissive-strength when rendering 3D model layers using 2D sources.
  • Introduce static HttpServiceFactory.setMaxRequestsPerHost API.
  • TileStoreOptions.DiskQuota is now an abort threshold for tilestore size. When we have more than this amount of bytes stored, new downloads will fail. Tilestore starts to evict tiles with closest expiration date 50Mb (or 10% of DiskQuota, whatever is smaller) before this abort threshold is reached.
  • Speedup preparing tiled sources for rendering.
  • Uploading model resources to GPU in continuous map mode is now limited by fixed time per frame.
  • Modify FillExtrusionLayer.fillExtrusionCutoffFadeRange to scale down and remove buildings in a staggered fashion, instead of fading opacity.
  • [compose] Introduce DisposableMapEffect API.
  • [compose] Add default value for MapViewportState.transitionToFollowPuckState.followPuckViewportStateOptions.

Bug fixes 🐞

  • Retain previous CenterAltitudeMode after gestures are finished.
  • Avoid marking whole LayerDsl as experimental when only a part of the layer properties are experimental.
  • Fix R8 error due to missing class com.tobrun.datacompat.annotation.Default.
  • EaseTo and MoveBy camera animation and DefaultViewportTransition now will use shortest path when the start and end camera center is across the antimeridian, for example from -170 to 170 longitude.
  • Remove extra image padding from text shaping offset.
  • Address crashes on certain Android devices by disabling the texture pool.
  • Fix elevated rasters with coordinates not aligned to the longitude/latitude grid.
  • Fix a bug that was causing absence of MapLoaded event and never ending background task processing.
  • Fix a bug that heatmap layer wasn't updating visuals after feature state change.
  • Fix a bug where scientific notation is not supported when parse JSON numbers to Value.
  • Fix a crash occurring when clicking on the "Telemetry settings" option in the attribution dialog when not using the AppCompat theme.
  • Fix ModelLayer.modelCutoffFadeRange calculation on low zoom levels.
  • Fix RasterArray rendering on Android.
  • Fix rare null pointer dereference crash.
  • Fix a bug with disappearing models during light changes.
  • Fix rendering artifacts on long fill outlines on pitched map view.
  • Fix style parsing when the style and import's urls are both empty.
  • Fix config expression evaluation if the expected type is formatted but the actual value is string.
  • Fix not taking line-trim-offset into account for Dynamic View Annotation placement.
  • Fix issue that View Annotation stays visible when the associated layer's visibility is none.
  • Fix camera framing on globe with padding.
  • [compose] Fix a warning that using UI composable where Mapbox Map composable is expected.
  • [compose] Fix losing some location component settings during wrapping.

Dependencies

v10.16.5

22 Feb 12:31
Compare
Choose a tag to compare

10.16.5 February 22, 2024

Features ✨ and improvements 🏁

  • Introduce better way (compared to v10.16.3) of dealing with java.lang.UnsatisfiedLinkError exception happening on the startup.

Bug fixes 🐞

  • Address crashes on certain Android devices by disabling the texture pool.
  • Fix snapshotter race conditions to ensure new request could effectively trigger map rendering.

Dependencies

  • Update gl-native to v10.16.5 and common to v23.9.0.