Releases: mapbox/mapbox-gl-native-android
android-v8.6.4
8.6.4 - July 17, 2020
Changes since Mapbox Maps SDK for Android v8.6.3:
Bug fixes
- Fixed a memory leak that would occur when a source was removed. (#412)
Other changes
- Bumped Java SDK dependency to 4.9.1 (#478)
android-v9.3.0
Starting this release, the Mapbox Maps SDK for Android will use a pre-built GL Native binary licensed under the Mapbox Terms of Service. The license of the Maps SDK for Android remains BSD-2. For more information on using this and future releases, see. For more details on licensing, see LICENSE.md.
Release v9.3.0 updates the Mapbox Maps SDK for Android to use a pre-built GL Native binary rather than building from source as a submodule dependency. GL Native is changing some of its development workflows to build some Mapbox platform-specific features internally, similar to Chrome/Chromium development. Please refer to the README.md and/or DEVELOPING.md for guidance.
License update for Mapbox builds of GL Native.
Starting today, new binary releases of GL Native are licensed under the Mapbox Terms of Service. The Mapbox Maps SDKs repos will continue to be public and licensed under BSD-2.If you have any questions about how this change may impact your use of the Maps SDK, please don’t hesitate to reach out to Mapbox Support to connect with the Mapbox mobile team.
Improvements and bug fixes
- Added exception-free GLSurfaceView implementation. (#402)
- Added exception-free Android map renderer. (#411)
- Clarified the error message when an HTTP request has been cancelled. (#433)
- Fixed a memory leak that would occur when a source was removed. (#412)
- Fixed a bug that would halt the application during a scheduled snapshot when the map renderer was stopped. (#390
- Avoid changing file source status when the cache path is changed. (#457)
- Avoid null pointer exception when the underlying hardware is too slow to create the surface. (#471)
User location indicator
- Double-tapping the map when the camera is tracking the user location indicator now zooms to the
LocationComponent
's location. (#378) - Improved camera rotation to use the shortest path. (#426)
- Added support for using a background image on GPS mode when
LocationComponentActivationOptions#useSpecializedLocationLayer
is activated . (#439) - Fixed a bug where an in-progress animation of an updating
LocationComponent
would be interrupted when a style was changed. (#437) - Updated documentation to reflect that the
FOREGROUND_LAYER
constant is usable for relative positioning in both normal and specialized rendering modes. #413 - Set GPS bearing immediately when changing the indicator to GPS mode. (#470)
Other changes
android-v9.3.0-beta.1
android-v9.3.0-alpha.1
Starting this release, the Mapbox Maps SDK for Android will use a pre-built GL Native binary licensed under the Mapbox Terms of Service. The license of the Maps SDK for Android remains BSD-2. For more information on using this and future releases, see README.md. For more details on licensing, see LICENSE.md.
Improvements and bug fixes
- Added exception-free GLSurfaceView implementation. (#402)
- Added exception-free Android map renderer. (#411)
- Clarified the error message when an HTTP request has been cancelled. (#433)
- Fixed a memory leak that would occur when a source was removed. (#412)
- Fixed a bug that would halt the application during a scheduled snapshot when the map renderer was stopped. (#390
User location indicator
- Double-tapping the map when the camera is tracking the user location indicator now zooms to the
LocationComponent
's location. (#378) - Improved camera rotation to use the shortest path. (#426)
- Added support for using a background image on GPS mode when
LocationComponentActivationOptions#useSpecializedLocationLayer
is activated . (#439) - Fixed a bug where an in-progress animation of an updating
LocationComponent
would be interrupted when a style was changed. (#437) - Updated documentation to reflect that the
FOREGROUND_LAYER
constant is usable for relative positioning in both normal and specialized rendering modes. #413
Other changes
android-v9.2.1
Changes since Mapbox Maps SDK for Android v9.2.0:
Improvements and bug fixes
android-v9.2.0
Changes since Mapbox Maps SDK for Android v9.1.0:
Features
- Added the
distance
expression for calculating the shortest distance between an evaluated feature and a given GeoJSON object. (#339) - The
SymbolLayer.iconTextFit
property now respects the stretch metadata of any nine-part stretchable image passed into thestyle.addImage
method. You can define the stretchable area of an image by configuring thestretchX
,stretchY
,content
options onStyle.addImage
to append the requisite metadata. (#314) - Added methods to set and get the sort key of features in a
CircleLayer
at runtime. Features with a higher sort key will appear above features with a lower sort key. (#322) - Introduced
Source.setVolatile
to disable ambient caching of tiles from a source. Use this option on transient sources, such as traffic tilesets, if not showing tiles from a source is preferable to showing outdated tiles should an update request fail. (#355) - Introduced
Source.minimumTileUpdateInterval
to override the expiration time set via HTTP headers with a longer expiration time on the client. (#355) - Added
Source.maxOverscaleFactor
for defining how much a parent tile can be overscaled during rendering. This setting is only needed if a custom source on your map appears blurry or distorted when viewed at new zoom levels. (#299)
User location indicator
- Introduced an activation option to render the
LocationComponent
with a dedicated OpenGL layer throughLocationComponentActivationOptions#useSpecializedLocationLayer
, instead of the combined symbol and circle layer implementation used by default. (#319) - Introduced an option to add an animated pulsing circle around the
LocationComponent
throughLocationComponentOptions#pulseEnabled
and methods to customize it. (#172) - Introduced an option to set a screen area through
LocationComponentOptions#trackingMultiFingerProtectedMoveArea
where executed gestures will avoid breaking camera tracking whenLocationComponentOptions#trackingGesturesManagement
is enabled. (#356)
Improvements and bug fixes
- Improved the default compass engine's heading calculation by accounting for device orientation, ensuring accelerometer and magnetic field sensor events are retained, and pushing updates to the heading even if the sensor is unreliable. (#338)(h/t ystsoi)
- Correctly call the
onFling
listener only when the velocity of a gesture meets the threshold to animate the camera. (#356) - Enabled adding style images on-demand on
MapSnapshotter
. (#317) - Fixed a crash when changing the user interface in
MapSnapshotter.ErrorHandler
. (#347) - Fixed a crash when calling the
Style.removeImage
method with the name of a nonexistent image. (#16391) - Fixed a crash when encountering an invalid polyline. (#16409)
- Certain logging statements no longer run on the main thread. (#16325)
Other changes
android-v9.2.0-beta.1
Changes since Mapbox Maps SDK for Android v9.2.0-alpha.1:
Features
- Added the
distance
expression for calculating the shortest distance between an evaluated feature and a given GeoJSON object. (#339) - Introduced
Source.setVolatile
to disable ambient caching of tiles from a source. Use this option on transient sources, such as traffic tilesets, if not showing tiles from a source is preferable to showing outdated tiles should an update request fail. (#355) - Introduced
Source.minimumTileUpdateInterval
to override the expiration time set via HTTP headers with a longer expiration time on the client. (#355)
User location indicator
- Introduced an activation option to render the
LocationComponent
with a dedicated OpenGL layer throughLocationComponentActivationOptions#useSpecializedLocationLayer
, instead of the combined symbol and circle layer implementation used by default. (#319) - Introduced an option to add an animated pulsing circle around the
LocationComponent
throughLocationComponentOptions#pulseEnabled
and methods to customize it. (#172) - Introduced an option to set a screen area through
LocationComponentOptions#trackingMultiFingerProtectedMoveArea
where executed gestures will avoid breaking camera tracking whenLocationComponentOptions#trackingGesturesManagement
is enabled. (#356)
Improvements and bug fixes
- Improved the default compass engine's heading calculation by accounting for device orientation, ensuring accelerometer and magnetic field sensor events are retained, and pushing updates to the heading even if the sensor is unreliable. (#338)(h/t ystsoi)
- Correctly call the
onFling
listener only when the velocity of a gesture meets the threshold to animate the camera. (#356) - Fixed a crash when changing the user interface in
MapSnapshotter.ErrorHandler
. (#347)
android-v9.2.0-alpha.1
Changes since Mapbox Maps SDK for Android v9.1.0:
Features
- The
SymbolLayer.iconTextFit
property now respects the stretch metadata of any nine-part stretchable image passed into theStyle.addImage
method. You can define the stretchable area of an image by configuring thestretchX
,stretchY
,content
options onStyle.addImage
to append the requisite metadata. (#314) - Added methods to set and get the sort key of features in a
CircleLayer
at runtime. Features with a higher sort key will appear above features with a lower sort key. (#322) - Added
Source.maxOverscaleFactor
for defining how much a parent tile can be overscaled during rendering. This setting is only needed if a custom source on your map appears blurry or distorted when viewed at new zoom levels. (#299)
Improvements and bug fixes
android-v9.1.0
Changes since Mapbox Maps SDK for Android v9.0.0:
Features
- Added
within
expression for testing whether an evaluated feature lies within a given GeoJSON object.within
acceptsFeature
,FeatureCollection
,Polygon
, andMultiPolygon
as valid GeoJSON objects. (#198) - Added
in
expression for testing whether an item exists in an array or a substring exists in a string. (#171) - Introduced APIs and callbacks for customizing the style used in a
MapSnapshotter
snapshotter with runtime styling methods. (#268, #292) - Added methods to set and get the sort key of features in a
FillLayer
andLineLayer
at runtime. Features with a higher sort key will appear above features with a lower sort key. (#209) - Introduced
MapboxMap.setMaxPitchPreference
andMapboxMap.setMinPitchPreference
to constrain a map's pitch. (#199) - Introduced ability to configure the zoom level(s) that tiles are prefetched from by
Source
. This overrides the tile prefetch setting defined by theMap
instance. (#184)
Performance improvements
- Increased stability of label placement when the map is tilted. (#16287)
- Improved the performance of loading a style that has many style images. (#16187)
- Fixed a memory leak during zooming when
MapboxMapOptions.debugActive
is enabled. (#15179, fixed by #15395)
Bug fixes
- Downloaded offline packs no longer reduce the storage space available for ambient caching of tiles and other resources. (#15622)
- Fixed conversion of a
Map
object into a GeoJSON object. (#16243) - Fixed issues that would cause an offline region to stop downloading before completion. (#16230, #16240)
- Fixed an issue where a
LineDasharray
value of[1, 0]
resulted in hairline gaps. (#16202) - Fixed Proguard configuration to prevent obfuscation of telemetry event classes. (#306)
- Fixed a crash that might occur during EGL window surface creation. (#278)
- Fixed a bug that would cause local CJK glyphs to be rendered incorrectly when generated on a device with the high-contrast accessibility setting enabled. (#289)
Other changes
- Updated mapbox-events-android to v5.0.0. (#294)
android-v9.1.0-beta.2
Changes since Mapbox Maps SDK for Android v9.1.0-beta.1:
- Introduced APIs and callbacks for customizing the style used in a
MapSnapshotter
snapshotter with runtime styling methods. (#268, #292) - The
within
expression now consistently evaluates point features accurately when they are near the boundary of the evaluated geometry and when the geometry crosses the antimeridian. (#16319, (#16330) - Fixed a bug that would cause local CJK glyphs to be rendered incorrectly when generated on a device with the high-contrast accessibility setting enabled. (#289)
- Updated mapbox-events-android from v4.7.3 to v5.0.0, which reverts a change to
JobIntentService
that was published in v4.7.2. (#294)