Skip to content

Releases: mapbox/mapbox-maps-android

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)

android-v10.5.0

05 May 13:27
138f223
Compare
Choose a tag to compare

10.5.0 May 5, 2022

Features ✨ and improvements 🏁

  • Make map projection part of the style-spec and introduce new methods StyleInterface.setProjection / StyleInterface.getProjection. Setting projection supports Style DSL as well. (#1255, #1314)
  • Automatic transition between the globe and mercator projection updated to appear visually more subtle. (#1315)
  • Avoid repeated tile loading from network (or repeated tile decompression when the tile is fetched from the cache database) and repeated vector tile data allocation and parsing when loading render tiles referring to the same logical tile. (#1315)
  • Switch to use shader to calculate the 'line-trim-offset' property update. (#1315)
  • Layer properties transitions performance improved if the layer is transitioning to the same constant value or if transitioning from/to data-driven property. (#1315)
  • New line layer paint property introduced: '{"line-trim-offset", [trim-start, trim-end]}', to take the line trim-off percentage range based on the whole line range [0.0, 1.0]. The property will only be effective when 'line-gradient' property is set. The line part between [trim-start, trim-end] will be marked as transparent to make a line gradient a vanishing effect. If either 'trim-start' or 'trim-end' offset is out of valid range, the default range [0.0, 0.0] will be set. (#1315)
  • Globe view controls revamped for more intuitive interaction with touch controls. (#1315)
  • OfflineRegion::getStatus() API added to get the completion status and the local size of the existing legacy offline regions. (#1315)
  • Refactor all Mapbox logs so that Logcat tag will always be 'Mapbox' allowing easier filtering. Previous log tag will become part of the log message now. (#1276)
  • Optimize how plugins handle settings changes. Call applySettings only when settings value changes. (#1189)
  • Add MapboxMap.isValid() and Style.isValid() methods. MapboxMap becomes invalid when MapView.onDestroy() is called. Style becomes invalid when MapView.onDestroy() is called or new style has been loaded. Accessing any method on invalid object will print an error log. Also unsubscribe map observers automatically when MapboxMap.onDestroy() is invoked. (1193) (1202 (1230) (1241))
  • Add MapboxMap.coordinateBoundsForCameraUnwrapped method for API consistency. (1222)
  • Add LocationIndicatorLayer.bearingTransition API to control transition of bearing property. (1207)
  • Add MapboxConcurrentGeometryModificationException with detailed information instead of ConcurrentModificationException that is thrown when GeoJson data is mutated. (1248)
  • Introduce line-trim-offset property for LineLayer. (1252)
  • Deprecate FollowPuckViewportStateOptions.animationDurationMs, the initial transition will be handled properly by the Viewport plugin internally. (1256, 1261, 1262)
  • Mark MapView.viewAnnotationManager as non-experimental meaning View Annotation API will not have breaking changes in upcoming minor releases. (1260)

Bug fixes 🐞

  • Fix geojson missing updates with persistent layer after style change. (#1324)
  • Fix render tasks being skipped when creating the map that could lead to missing tiles. (#1304)
  • The legacy offline region observer instance is not unnecessarily retained inside the engine. #1315
  • Fix a bug of querying rendered feature for circle layer with map-pitch-alignment when the pitch is zero. #1315
  • Fix a bug where zooming was not possible with terrain enabled and exaggeration 0. #1315
  • Fix an issue where internal hsla() function was converted to an invalid rgba expression. #1315
  • Fix a bug that 'line-trim-offset' calculation did not property cover 'round' or 'square' line cap in line ends. #1315
  • Dispatched in-flight events will not be delivered if 'unsubscribe' is called before an event is delivered. #1315
  • Fix an issue where some of the visible tiles could be erroneously culled during transition between globe and mercator projection. #1315
  • Fixes issues where camera appears under terrain, or map gets bumpy repositioning after exaggeration change. #1315
  • Disable terrain rendering if GPU does not support Vertex Texture Fetch. #1315
  • Fixed a bug that occasionally prevents symbols from loading. #1315
  • Fixed a bug that causes line layers to flicker. #1325
  • Fix NaN latitude native crash rarely happening during MapboxMap.flyTo. (#1271)
  • Limit MapboxMap.pixelForCoordinate to the bounds of MapView. (#1226)
  • Fix PolygonAnnotation and PolylineAnnotation being distorted while dragging with 3D terrain. (#1223)

Dependencies

  • Bump gl-native to v10.5.1, mapbox-common to v21.3.1 (#1315, #1325)

android-v10.4.3

27 Apr 15:10
41ab43c
Compare
Choose a tag to compare

10.4.3 April 27, 2022

Bug fixes 🐞

  • Fix render tasks being skipped when creating the map that could lead to missing tiles. (#1304)

android-v10.5.0-rc.1

20 Apr 15:17
6218efe
Compare
Choose a tag to compare
android-v10.5.0-rc.1 Pre-release
Pre-release

10.5.0-rc.1 April 20, 2022

Features ✨ and improvements 🏁

  • Refactor all Mapbox logs so that Logcat tag will always be 'Mapbox' allowing easier filtering. Previous log tag will become part of the log message now. (#1276)
  • Avoid repeated tile loading from network (or repeated tile decompression when the tile is fetched from the cache database) and repeated vector tile data allocation and parsing when loading render tiles referring to the same logical tile. (#1282)
  • Switch to use shader to calculate the 'line-trim-offset' property update. (#1282)

Bug fixes 🐞

  • Fix issue where internal hsla() function was converted to an invalid rgba expression. (#1282)
  • Fix a bug that 'line-trim-offset' calculation did not property cover 'round' or 'square' line cap in line ends. (#1282)
  • Fix NaN latitude native crash rarely happening during MapboxMap#flyTo. (#1271)
  • Limit MapboxMap#pixelForCoordinate to the bounds of MapView. (#1226)

Dependencies

  • Bump gl-native to v10.5.0-rc.1, mapbox-common to v21.3.0-rc.2. (#1282)

android-v10.4.2

13 Apr 18:44
592e1e0
Compare
Choose a tag to compare

Bug fixes 🐞

  • [tile store] Correctly decode compressed content if loaded from the cache. (#1279)
  • [tile store] Fixed issue that prevented data blobs larger than 1 MB to be transferred via the service. (#1279)

Dependencies

  • Bump common to v21.2.1 (#1279)