Releases: mapbox/mapbox-maps-android
Releases · mapbox/mapbox-maps-android
v10.9.0-beta.2
10.9.0-beta.2 September 28, 2022
Bug fixes 🐞
- Make telemetry a single instance. Avoids module recreation when coming from background. (#1695)
- Fix an issue where location engine doesn't produce bearing/accuracy/speed information with the location updates. (1696)
Dependencies
- Bump common sdk to v23.1.0-beta.2. (1696)
extension-androidauto-v0.3.0
0.3.0 September 26, 2022
Features ✨ and improvements 🏁
- Allow
MapboxCarMap
to be initialized before theCarContext
is created. (#1603) - Add
MapboxCarMapSessionInstaller
andMapboxCarMapScreenInstaller
for simpler setup. (#1603) - Add
Session.mapboxMapInstaller
andScreen.mapboxMapInstaller
extension functions to create the installers. (#1603) - Change
MapboxCarMapGestureHandler
to a java interface so default methods can be added without breaking java backwards compatibility. (#1670) - Change
MapboxCarMapObserver
to a java interface so default methods can be added without breaking java backwards compatibility. (#1670) - Change
MapboxCarMap#getEdgeInsets()
tomapboxCarMap.getVisibleEdgeInsets()
with the addition ofmapboxCarMap.getStableEdgeInsets()
. (#1670) - Add
MapboxCarMapObserver#onStableAreaChanged
to support all the available functions from the SurfaceCallback. (#1670) - Add support for intercepting the
SurfaceCallback#onClick
when usingMapboxCarMap.prepareSurfaceCallback
. (#1683)
Dependencies
- Android Auto car library
androidx.car.app:app:1.1.+
- Supports any version of Mapbox Maps 10.+
v10.9.0-beta.1
10.9.0-beta.1 September 22, 2022
Features ✨ and improvements 🏁
- Deprecated gesture settings
increaseRotateThresholdWhenPinchingToZoom
property. (1632) - Enable asynchronous tile uploader by default to improve animation performance. (1679)
- Vector tiles without symbols are not hold for fade-out animation so that less amount of vector tiles are managed at a time. (1679)
- Add support to set location puck opacity. (1659)
- Support
pitch
anddistanceFromCenter
filters in symbol layers. (1662) - Migrated telemetry APIs from mobile-events-android to common SDK implementation. (1672)
Bug fixes 🐞
- Fix scale bar truncated at high zoom levels near the poles. (1620)
- Fix broken view annotation positioning when marking them
View.INVISIBLE
and then makingView.VISIBLE
. (1616) - Snap puck to north if
puckBearingEnabled
is set to false. (1635) - Preserve cached properties if applied to the layer before during the
Style#getLayer
call. (1622) - Fix a
NullPointerException
inStandardGestureListener
, whereMotionEvent
should be nullable. (1645), (1677) - Fix incorrect
MapView
dimensions after background orientation change. (1658) - Fix wrong
BitmapWidget
position when usingWidgetPosition.Horizontal.CENTER
orWidgetPosition.Vertical.CENTER
property. (1651) - Fix pixel flickering between tiles on darker styles in globe view. (1679)
- Location indicator layer is occluded by terrain to align rendering behavior with other location indicator rendering types. (1679)
- Symbol flickering after runtime styling caused by using outdated symbol placement on updated symbol buckets. (1679)
- Fix a bug in
cameraForGeometry
when called on a map with padding set. (1679) - Throw an exception with the meaningful stack trace when constructing
Value
from an infinite or NaN number. (1681)
Dependencies
v10.8.0
10.8.0 September 7, 2022
Features ✨ and improvements 🏁
- Introduce a callback to be invoked when the device compass sensors need to be re-calibrated. (1513)
- Add support for
LocationComponentSettingsInterface.pulsingMaxRadius
to follow location's accuracy radius. (1561) - Avoid map content disappearing on the sides of the screen when LOD is enabled. (1650)
Bug fixes 🐞
- Support altitude interpolation in location component, and pass through GPS altitude information from the DefaultLocationProvider. (1478)
- Fix edge cases for renderer that could result in map not rendered. (1538)
- Fix onAnnotationDragStarted event is still fired when annotation is not draggable. (1552)
- Fix camera flying away when pitching. (1560)
- Deliver style to the plugin registry on map start if a new one was loaded after map stop. (1558)
- Fix default viewport bearing transition doesn't follow shortest path. (1541)
- Fix
OnFpsChangedListener
listener to count number of frames rendered over the last second instead of immediate time for render call. (1477) - Fix
MapView.setMaximumFps
method to apply exact FPS value for rendering the map. (1477) - Fix Android memory leak when destroying platform view annotation manager. (1568)
- Fix style getters for terrain, light and atmosphere resetting properties. (1573)
- Fix possible ANR when destroying renderer. (1567)
- Fix
MapSurface#surfaceChanged
to update dimensions for plugins. (1575) - Try recreate EGL surface when it throws exception. (1589)
- Fix
MapboxMap
extension plugin functions throwing exceptions. (1591) - Fix concurrent modification exception when using widgets. (1597)
- User-specified minimum and maximum zoom now correctly adjusted for map size. (1650)
- Avoid placement of line labels with overlapping glyphs. Fix collision algorithm for the line labels with vertical shift. (1650)
- Fix flickering when a vector layer is added on top of a raster layer. (1650)
- Fix a rare case when black rectangles appear instead of the images of symbol layers. (1650)
- Fix tiles disappearing when high pitch is used and atmosphere is turned on and off. (1650)
- Fixes an issue which prevents the usage of tile cache when changing zoom levels. (1650)
- Relax LOD requirements for maps with insets and zero terrain exaggeration. (1650)
- Make CameraManager.setCamera method exception free. (1650)
- Fix black holes in the globe view when edge insets are used. (1650)
- Fix elevation of pole geometry when exaggerated terrain is used. (1650)
- Fix a bug in cameraForGeometry returning incorrect camera options when pitch > 0. (1650)
Dependencies
- Bump gl-native to v10.8.0, common to v23.0.0. (1650)
v10.8.0-rc.1
10.8.0-rc.1 August 24, 2022
Bug fixes 🐞
- Try recreate EGL surface when it throws exception. (1589)
- Fix
MapboxMap
extension plugin functions throwing exceptions. (1591) - Fix concurrent modification exception when using widgets. (1597)
- Relax LOD requirements for maps with insets and zero terrain exaggeration, leading to more content shown in easily readable map areas. (1623)
- Make CameraManager.setCamera method exception free. In cases when incorrect CameraOptions are provided, error would be logged. (1623)
- Fix black holes in the globe view when edge insets are used. (1623)
Dependencies
Bump gl-native to v10.8.0-rc.1 and common to v23.0.0-rc.2. (1623)
v10.8.0-beta.1
10.8.0-beta.1 August 11, 2022
Features ✨ and improvements 🏁
- Introduce a callback to be invoked when the device compass sensors need to be re-calibrated. (1513)
- Add support for
LocationComponentSettingsInterface.pulsingMaxRadius
to follow location's accuracy radius. (1561)
Bug fixes 🐞
- Support altitude interpolation in location component, and pass through GPS altitude information from the DefaultLocationProvider. (1478)
- Fix edge cases for renderer that could result in map not rendered. (1538)
- Fix onAnnotationDragStarted event is still fired when annotation is not draggable. (1552)
- Fix camera flying away when pitching. (1560)
- Deliver style to the plugin registry on map start if a new one was loaded after map stop. (1558)
- Fix default viewport bearing transition doesn't follow shortest path. (1541)
- Fix
OnFpsChangedListener
listener to count number of frames rendered over the last second instead of immediate time for render call. (1477) - Fix
MapView.setMaximumFps
method to apply exact FPS value for rendering the map. (1477) - Fix a bug in cameraForGeometry returning incorrect camera options when pitch > 0. (1568)
- Fix Android memory leak when destroying platform view annotation manager. (1568)
- Fix style getters for terrain, light and atmosphere resetting properties. (1573)
- Fix possible ANR when destroying renderer. (1567)
- Fix elevation of pole geometry when exaggerated terrain is used. (1574)
- Fix
MapSurface#surfaceChanged
to update dimensions for plugins. (1575)
Dependencies
Bump gl-native to v10.8.0-beta.2 and common to v23.0.0-beta.1. (1574, 1568)
extension-androidauto-v0.2.0
0.2.0 August 9, 2022
Bug fixes 🐞
- Destroy previous surface when new surface becomes available. This adds better support for
androidx.car.app:app-automotive
. (#1509)
Dependencies
- Android Auto car library
androidx.car.app:app:1.1.+
- Supports any version of Mapbox Maps 10.+
android-v10.7.0
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 themodel-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 forMapView
andMapSurface
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
andFillExtrusionLayer.fillExtrusionAmbientOcclusionRadius
properties for FillExtrusionLayer. (1458) - Introduce
PointAnnotation.textLineHeight
and deprecatedPointAnnotationManager.textLineHeight
, astext-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 thematch
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 viasetStyleTerrain
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
oriconAllowOverlap
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 currentminZoom
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
- 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, common to 22.1.0. (1543)
android-v10.6.2
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
- Bug fixes 🐞
-
- Bump telemetry to v8.1.5. (#1505)
Also bumps WorkManager 2.7.1 that enforces compileSdk 31 or newer.-
Changelog
- Bug fixes 🐞
- [libtelemetry] Bump workManagerVersion to 2.7.1, add JavaVersion.VERSION_1_8 to compileOptions mapbox/mapbox-events-android#573
- Bug fixes 🐞
-
android-v10.7.0-rc1
10.7.0-rc.1 - July 14, 2022
Features ✨ and improvements 🏁
- Introduce experimental
ModelLayer.modelCastShadows
andLocationPuck3D.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)