Skip to content

Releases: mapbox/mapbox-maps-android

android-v10.7.0

28 Jul 18:53
700da67
Compare
Choose a tag to compare

10.7.0 July 29, 2022

Changes since Mapbox Maps SDK for Android 10.6.0

Breaking changes ⚠️

  • Remove deprecated FollowPuckViewportStateOptions.animationDurationMs from experimental viewport plugin. (1421)
  • Remove experimental ModelLayer APIs. (1545)

Features ✨ and improvements 🏁

  • Optimise the bearing update frequency for the location puck animator. (1398)
  • Use orientation model source property to update the 3D puck's bearing, as it is more efficient than updating the model-rotation layer property. (1407)
  • Optimize MapboxMap.loadStyle() to apply images and models earlier. 1378
  • Remove MapboxExperimental annotation from viewport plugin and promote viewport plugin as stable API. (1425)
  • Introduce addRendererSetupErrorListener/removeRendererSetupErrorListener methods for MapView and MapSurface to listen to renderer setup errors and give opportunity to control some edge cases. (1427)
  • Introduce transition properties for atmosphere and terrain. (1451)
  • Enable main thread checking on the map/style object when running applications in debug build. This utility class will crash the application if these objects are accessed from a worked thread. It's required to call these object functions on the main thread, otherwise you can hit edge case crashes. This configurations is advised but can be opted out with a Manifest metadata entry of com.mapbox.maps.ThreadChecker and corresponding false value. (1316).
  • Introduce view annotation ViewAnnotationManager.setViewAnnotationUpdateMode / ViewAnnotationManager.getViewAnnotationUpdateMode API with following synchronization modes: MAP_SYNCHRONIZED (used by default) and MAP_FIXED_DELAY. (1415)
  • Introduce FillExtrusionLayer.fillExtrusionAmbientOcclusionIntensity and FillExtrusionLayer.fillExtrusionAmbientOcclusionRadius properties for FillExtrusionLayer. (1458)
  • Introduce PointAnnotation.textLineHeight and deprecated PointAnnotationManager.textLineHeight, as text-line-height is data-driven property now. (1458)
  • Method MapboxMap.cameraForCoordinates now allows to ignore edges of framing box dynamically depending on the position of the principal point of the camera. (1543)
  • Synchronize volatile data (like traffic tiles) in multi-map environment. Decrease network traffic. (1543)
  • Make uploading of large graphics data asynchronous to improve rendering speed in particular on zooming in/out. (1543)
  • Reuse single index buffer in symbol layer rendering. (1543)
  • Use shared index buffers per tile to reduce the time spent in the upload pass. (1543)
  • Reduce geometry on globe tile to increase rendering performance. (1543)
  • Improve rendering performance with deleting layer render data on a worker thread. (1543)
  • The deprecated Settings API is using the same non-persistent storage as the SettingsService API from Common SDK so that all settings consolidated in a single place. (1543)
  • Support using line-trim-offset property with pure line color. (1543)
  • Render cache and terrain can now have mipmapping enabled to reduce aliasing. (1543)
  • Fast ambient occlusion support for fill extrusion layer. (1543)
  • Add API to create tileset descriptor from a tilesets list. (1543)
  • Add API OfflineManager::createTilesetDescriptor(TileDescriptorOptionsForTilesets) to create tileset descriptor from a tilesets list. (1543)

Bug fixes 🐞

  • Fix lifecycle edge cases not being handled properly by introducing internal ViewLifecycleOwner to have granular control over MapView's lifecycle. (1330)
  • Fix an issue when literal array expression is used as output inside the match expression. (1444)
  • Fix skipping gesture updates resulting in slower gestures on low-end devices. (#1440)
  • Fix excessive logs appearing sometimes after onStop lifecycle event. (1527)
  • Fix com.mapbox.maps.MapboxMapException crash on style load. (1532)
  • Avoid NaN when converting screen coordinates to geographical coordinates executed as part of gesture. 1491
  • Remove android.permission.WAKE_LOCK permission from the SDK. (1494)
  • Fixes a bug when map aligned symbol layers are placed on top of other layers if draping is active. (1543)
  • Fix tile flickering with globe on rapid zooming in/out. (1543)
  • Fixed cameraForCoordinateBounds method returning different values for the same input. (1543)
  • Fix setting exaggeration-transition property via setStyleTerrain API. (1543)
  • Fix SDK fragment format in turnstile user agent. (1543)
  • Fix view annotation occlusion issue when terrain enabled. (1543)
  • Fix symbol flickering issue when textAllowOverlap or iconAllowOverlap is true. (1543)
  • Fixes rendering issues with the globe on unsupported hardware by falling back to mercator projection. (1543)
  • Fixed feature states not being applied on new tiles when zoom doesn't change. (1543)
  • Disable MapBuffer OpenGL extension on PowerVR SGX 544MP GPUs to fix incorrect usage of unimplemented methods. (1543)
  • Fix incorrect image source rendering with terrain enabled. (1543)
  • Fix possible crash bug in image processing. CVE-2022-38216 (1543)
  • Fix some cpu-updated symbols being invisible in globe view. (1543)
  • Fix zoom constraining issue when the input maxZoom is smaller than the current minZoom value. (1543)
  • Fix crash on calling Query Rendered Features API from renderer thread before initialising the renderer. (1543)
  • Fix tile pre-fetching for the globe map projection. (1543)
  • Relayout tiles after recovering from Metal rendering errors. (1543)
  • Fix a bug where changing size of the map would lead map center getting changed as well. (1543)

Dependencies

android-v10.6.2

15 Jul 14:02
a182e80
Compare
Choose a tag to compare

10.6.2 - July 15, 2022

Dependencies

  • Bump gl-native to v10.6.2. (#1505)
    • Changelog
      • Bug fixes 🐞
        • Disable MapBuffer OpenGL extension on PowerVR SGX 544MP GPUs to fix incorrect usage of unimplemented methods
  • Bump telemetry to v8.1.5. (#1505)
    Also bumps WorkManager 2.7.1 that enforces compileSdk 31 or newer.

android-v10.7.0-rc1

14 Jul 15:44
3c4b09e
Compare
Choose a tag to compare
android-v10.7.0-rc1 Pre-release
Pre-release

10.7.0-rc.1 - July 14, 2022

Features ✨ and improvements 🏁

  • Introduce experimental ModelLayer.modelCastShadows and LocationPuck3D.modelCastShadows property. (1480)
  • Add model-cast-shadows paint property to model layer to allow turning off shadow casting per model layer. (1497)
  • Reuse single index buffer in symbol layer rendering. (1497)
  • Use shared index buffers per tile to reduce the time spent in the upload pass. (1497)

Bug fixes 🐞

  • Remove android.permission.WAKE_LOCK permission from the SDK. (1494)
  • Fix setting 'exaggeration-transition' property via 'setStyleTerrain' API. (1497)
  • Fix SDK fragment format in turnstile useragent. (1497)
  • Fix view annotation occlusion issue when Terrain enabled. (1497)
  • Fix symbol flickering issue when 'textAllowOverlap' or 'iconAllowOverlap' is true. (1497)
  • Fixes rendering issues with the globe on unsupported hardware by falling back to mercator projection. (1497)
  • Fixed feature states not being applied on new tiles when zoom doesn't change. (1497)
  • Disable MapBuffer OpenGL extension on PowerVR SGX 544MP GPUs to fix incorrect usage of unimplemented methods. (1497)
  • Avoid NaN when converting screen coordinates to geographical coordinates executed as part of gesture. #1491

Dependencies

  • Bump telemetry to v8.1.5. (#1494)
    Also bumps WorkManager 2.7.1 that enforces compileSdk 31 or newer.
  • Bump gl-native to v10.7.0-rc.1, common to 22.1.0-rc.1. (#1497)

android-v10.6.1

07 Jul 17:15
c8015c6
Compare
Choose a tag to compare

10.6.1 - July 7, 2022

Bug fixes 🐞

  • Fix an issue when literal array expression is used as output inside the match expression. (1444)
  • Fix possible crash bug due to image size overflow. CVE-2022-38216 (1482)
  • Remove android.permission.WAKE_LOCK permission from the SDK. (1482)

Dependencies

android-v10.7.0-beta.1

29 Jun 15:42
0b0517c
Compare
Choose a tag to compare
Pre-release

10.7.0-beta.1 - June 29, 2022

Breaking changes ⚠️

  • Remove deprecated FollowPuckViewportStateOptions.animationDurationMs from experimental viewport plugin. (1421)

Features ✨ and improvements 🏁

  • Optimise the bearing update frequency for the location puck animator. (1398)
  • Use orientation model source property to update the 3D puck's bearing, as it is more efficient than updating the model-rotation layer property. (1407)
  • Optimize MapboxMap.loadStyle() to apply images and models earlier. #1378
  • Remove MapboxExperimental annotation from viewport plugin and promote viewport plugin as stable API. (1425)
  • Introduce addRendererSetupErrorListener/removeRendererSetupErrorListener methods for MapView and MapSurface to listen to renderer setup errors and give opportunity to control some edge cases. (1427)
  • Introduce transition properties for atmosphere and terrain. (1451)
  • Enable main thread checking on the map/style object when running applications in debug build. This utility class will crash the application if these objects are accessed from a worked thread. It's required to call these object functions on the main thread, otherwise you can hit edge case crashes. This configurations is advised but can be opted out with a Manifest metadata entry of com.mapbox.maps.ThreadChecker and corresponding false value. (#1316).
  • Introduce view annotation ViewAnnotationManager.setViewAnnotationUpdateMode / ViewAnnotationManager.getViewAnnotationUpdateMode API with following synchronization modes: MAP_SYNCHRONIZED (used by default) and MAP_FIXED_DELAY. (1415)
  • Reduce geometry on globe tile to increase rendering performance. (#1462)
  • Improve rendering performance with deleting layer render data on a worker thread. (#1462)
  • Support using line-trim-offset property with pure line color. (#1462)
  • Render cache and Terrain can now have mipmapping enabled to reduce aliasing. (#1462)
  • Fast ambient occlusion support for fill extrusion layer. (#1462)
  • Refactor view annotation implementation to align map and annotation movement better when camera changes. (#1462)
  • Add API OfflineManager::createTilesetDescriptor(TileDescriptorOptionsForTilesets) to create tileset descriptor from a tilesets list. (#1462)
  • Implement shadow rendering support. (#1462)
  • Expose experimental shadow APIs for Light. #1447
  • Introduce FillExtrusionLayer.fillExtrusionAmbientOcclusionIntensity and FillExtrusionLayer.fillExtrusionAmbientOcclusionRadius properties for FillExtrusionLayer. (1458)
  • Introduce PointAnnotation.textLineHeight and deprecated PointAnnotationManager.textLineHeight, as text-line-height is data-driven property now. (1458)

Bug fixes 🐞

  • Fix lifecycle edge cases not being handled properly by introducing internal ViewLifecycleOwner to have granular control over MapView's lifecycle. (1330)
  • Fix an issue when literal array expression is used as output inside the match expression. (1444)
  • Fix skipping gesture updates resulting in slower gestures on low-end devices. (#1440)
  • Fix incorrect image source rendering with terrain enabled. (#1462)
  • Fix possible crash bug in image processing. (#1462)
  • Fix some cpu-updated symbols being invisible in globe view. (#1462)
  • Add support for terrain transition properties. (#1462)
  • Fix zoom constraining issue when the input 'maxZoom' is smaller than the current 'minZoom' value. (#1462)
  • Fix crash on calling Query Rendered Features API from renderer thread before initialising the renderer. (#1462)
  • Fix tile pre-fetching for the globe map projection. (#1462)
  • Fix a bug where changing size of the map would lead map center getting changed as well. (#1462)

Dependencies

  • Bump gl-native to v10.7.0-beta.1, common to 22.1.0-beta.1. (#1462)

android-v10.6.0

16 Jun 15:14
a58acb1
Compare
Choose a tag to compare

10.6.0 - June 16, 2022

Changes since Mapbox Maps SDK for Android 10.5.0

Breaking changes ⚠️

  • Remove deprecated (since v10.5.0) experimental methods MapboxMap.setMapProjection/MapboxMap.getMapProjection. Those methods should be replaced with setting projection as part of Style DSL to achieve the same behavior. (1420)

Features ✨ and improvements 🏁

  • Enable support for incremental annotation processing. (#1323)
  • Make use of non-deprecated common Mapbox logger. (#1327)
  • Expose factory methods for high-level camera animators. (#1338)
  • Introduce map atmosphere and fog. Setting atmosphere and fog supports Style DSL as well. (#1344)
  • Introduce experimental 3D model support. (#1351)
  • Use a single shared buffer across all globe tiles to increase globe rendering performance. (#1351)
  • Re-introduce partial tile loading feature that decreases map load times. (#1351)
  • The TilesetDescriptorOptions.pixelRatio parameter is now passed to the TileStore and considered for the raster tile pack loading. This enables loading of a raster tilepacks for retina displays. (#1351)
  • Introduce pinchScrollEnabled configuration to enable/disable 2-finger map panning, default to true. (#1343)
  • Re-throw native exceptions jni::PendingJavaException as readable Java exceptions with detailed exception text. (#1363)
  • Add static MapView.isTerrainRenderingSupported() method to validate if 3D terrain rendering is supported on given device. (1368)
  • Optimize MapboxMap.loadStyle() to apply styling properties earlier. #1362
  • Update SDK name in attribution action sheet. (1375)
  • Introduce experimental ModelLayer API to render 3D models on the map. (#1369)
  • Minimise tiles relayout on camera zooming with globe view. Improve the overall performance and reduce latency of the cached tiles appearance. (#1396)
  • Add minimum and maximum range check for sky layer property sky-atmosphere-sun and sky-gradient-center. If the input is invalid, the default property value will be used. (#1396)
  • Share render data between vector render tiles referring to the same logical tile. (#1396)
  • Reduce geometry on globe tile to increase rendering performance. (#1432)

Bug fixes 🐞

  • Enable two finger pan gesture. (#1280)
  • Fix a bug that scale bar is shorter than it should be; trigger invalidateScaleBar while updating settings to make scale keep the latest status. (#1336)
  • Keep the original animator owner for CameraAnimationsPlugin.playAnimatorsTogether and CameraAnimationsPlugin.playAnimatorsSequentially. (#1345)
  • Fix for momentary appearing of a lower zoom level tile labels during camera movement. (#1351)
  • Fix for location indicator not being rendered at the horizon when terrain is enabled. (#1351)
  • Fix for loading gltf models with interleaved buffers. (#1351)
  • Fix a bug that line-trim-offset input may lose precision via shader calculation. (#1359)
  • Add mercator scale factor to 3D location puck, so that the 3D puck size won't increase as latitude increases. (#1350
  • Fix a crash due to invalid focal point when panning the map. (#1364)
  • Fix compass is not showing in "edge-to-edge" mode. (1391)
  • Fix an unexpected request update delay for tiles taken from in-memory cache when minimumTileUpdateInterval is set. (#1396)
  • Fix a rare bug where some tiles would not show up correctly on globe. (#1396)
  • Fix a bug where features could be queried without cursor intersecting the globe. (#1396)
  • Fix view annotations disappearing on the globe. (#1396)
  • Fix symbols ignoring both collision and placement on the globe. (#1396)
  • Add anti-aliasing on the globe on low zoom levels. (#1396)
  • Fix globe controls when map orientation is something else than "north". (#1396)
  • Fix circle and heatmap layers not being aligned with globe's surface. (#1396)
  • Optimise the frequency to update location layer's visibility. (1399)
  • Fix the delay in the first appearance of the location puck. (1403)
  • Remove android.permission.GET_TASKS permission from the SDK. (1430)
  • Fix lag during night/day style switching when globe is enabled. (#1432)
  • Fix crash on globe symbol placement that happens during style change. (#1432)
  • Fix incorrect image source rendering with terrain enabled. (#1432)
  • Fix in-memory tile cache for non-geometry tiles when the map projection changes. Before, the tiles cached while the previous projection was active could not be used with the new projection active. (#1432)

Dependencies

  • Bump Mapbox Android base library to v0.8.0. (#1323)
  • Bump gl-native to v10.6.0, common to 22.0.0. (#1432)
  • Bump telemetry to v8.1.3, android core to 5.0.2. (1430)

android-v10.6.0-rc.1

02 Jun 10:24
480ec45
Compare
Choose a tag to compare
android-v10.6.0-rc.1 Pre-release
Pre-release

10.6.0-rc.1 June 2, 2022

Features ✨ and improvements 🏁

  • Minimise tiles relayout on camera zooming with globe view. Improve the overall performance and reduce latency of the cached tiles appearance. (#1396)
  • Add minimum and maximum range check for sky layer property sky-atmosphere-sun and sky-gradient-center. If the input is invalid, the default property value will be used. (#1396)
  • Share render data between vector render tiles referring to the same logical tile. (#1396)

Bug fixes 🐞

  • Fix compass is not showing in "edge-to-edge" mode. (1391)
  • Fix an unexpected request update delay for tiles taken from in-memory cache when minimumTileUpdateInterval is set. (#1396)
  • Fix a rare bug where some tiles would not show up correctly on globe. (#1396)
  • Fix a bug where features could be queried without cursor intersecting the globe. (#1396)
  • Fix view annotations disappearing on the globe. (#1396)
  • Fix symbols ignoring both collision and placement on the globe. (#1396)
  • Add anti-aliasing on the globe on low zoom levels. (#1396)
  • Fix globe controls when map orientation is something else than "north". (#1396)
  • Fix circle and heatmap layers not being aligned with globe's surface. (#1396)

Dependencies

  • Bump gl-native to v10.6.0-rc.1, common to 22.0.0-rc.2. (#1396)

android-v10.6.0-beta.2

25 May 14:45
92eb525
Compare
Choose a tag to compare
Pre-release

10.6.0-beta.2 May 25, 2022

Features ✨ and improvements 🏁

  • Update SDK name in attribution action sheet. (1375)
  • Introduce experimental ModelLayer API to render 3D models on the map. (#1369)

android-v10.6.0-beta.1

19 May 13:30
059cd01
Compare
Choose a tag to compare
Pre-release

10.6.0-beta.1 May 19, 2022

Features ✨ and improvements 🏁

  • Enable support for incremental annotation processing. (#1323)
  • Make use of non-deprecated common Mapbox logger. (#1327)
  • Expose factory methods for high-level camera animators. (#1338)
  • Introduce map atmosphere and fog. Setting atmosphere and fog supports Style DSL as well. (#1344)
  • Introduce experimental 3D model support. (#1351)
  • Use a single shared buffer across all globe tiles to increase globe rendering performance. (#1351)
  • Re-introduce partial tile loading feature that decreases map load times. (#1351)
  • The TilesetDescriptorOptions.pixelRatio parameter is now passed to the TileStore and considered for the raster tile pack loading. This enables loading of a raster tilepacks for retina displays. (#1351)
  • Introduce pinchScrollEnabled configuration to enable/disable 2-finger map panning, default to true. (#1343)
  • Re-throw native exceptions jni::PendingJavaException as readable Java exceptions with detailed exception text. (#1363)
  • Add static MapView.isTerrainRenderingSupported() method to validate if 3D terrain rendering is supported on given device. (1368)
  • Optimize MapboxMap.loadStyle() to apply styling properties earlier. #1362

Bug fixes 🐞

  • Enable two finger pan gesture. (#1280)
  • Fix a bug that scale bar is shorter than it should be; trigger invalidateScaleBar while updating settings to make scale keep the latest status. (#1336)
  • Keep the original animator owner for CameraAnimationsPlugin.playAnimatorsTogether and CameraAnimationsPlugin.playAnimatorsSequentially. (#1345)
  • Fix for momentary appearing of a lower zoom level tile labels during camera movement. (#1351)
  • Fix for location indicator not being rendered at the horizon when terrain is enabled. (#1351)
  • Fix for loading gltf models with interleaved buffers. (#1351)
  • Fix a bug that line-trim-offset input may lose precision via shader calculation. (#1359)
  • Add mercator scale factor to 3D location puck, so that the 3D puck size won't increase as latitude increases. (#1350
  • Fix a crash due to invalid focal point when panning the map. (#1364)

Dependencies

  • Bump Mapbox Android base library to v0.8.0. (#1323)
  • Bump gl-native to v10.6.0-beta.3, common to 22.0.0-beta.1. (#1351, #1354, #1359)

android-v10.4.4

12 May 01:37
1999605
Compare
Choose a tag to compare

10.4.4 May 12, 2022

Bug fixes 🐞

  • Fix NaN latitude native crash rarely happening during MapboxMap#flyTo. (#1271)