Releases: mapbox/mapbox-maps-android
Releases · mapbox/mapbox-maps-android
v11.1.0-beta.1
11.1.0-beta.1 December 19, 2023
Features ✨ and improvements 🏁
- Define minCompileSdkVersion=31 for Maps SDK libraries.
- Introduce
FillExtrusionLayer.fillExtrusionEmissiveStrength
,HillshadeLayer.hillshadeEmissiveStrength
andRasterLayer.rasterEmissiveStrength
properties. - Introduce
RasterLayer.rasterArrayBand
property. - Improve performance of
StyleInterface.localizeLabels
method. - Introduce
RasterArraySource
with read only propertyRasterArraySource.rasterLayers
, which can be used in combination withRasterLayer.sourceLayer
andRasterLayer.rasterArrayBand
. - Improve error handling for
UnknownNativeException
, more specific error message will be thrown instead. - Support landmark tilesets with compressed textures for improved tile load performance.
Bug fixes 🐞
- Fix a
MapSurface
rendering issue when widgets are used. - Fix
coordinateBoundsForCameraUnwrapped
returning wrapped coordinates. - Fix inconsistent behavior in fill-extrusion color when using directional and ambient lights.
- Downloaded but corrupted style is now invalidated and will be downloaded again on the next load.
- Fixed missing tiles in the bottom part of the screen when looking from the mountain down to the valley.
- Do not emit slot missing warnings if style imports are not fully loaded.
- Fixed wrong dem tile selection from elevation snapshots in rare cases.
- Fixed tile flickering with enabled terrain.
- Add missing properties, i.e.
array
,values
,maxValue
,minValue
,stepValue
,metadata
when usinggetStyleImportSchema
API, if they are present in the original schema. - Exclude duplicated tileID in tileCover querying results.
- Fix race condition on repeated style transitions, when the transition fails for some layers.
- Allow style schema to control imported fragment configs.
Dependencies
- Update gl-native to v11.1.0-beta.1 and common to v24.1.0-beta.2.
v10.16.3
10.16.3 December 08, 2023
Bug fixes 🐞
- Downgrade minimum required
compileSDK
from 31 to 30. - Fix the
java.lang.UnsatisfiedLinkError
exception happening on the startup. - Fix widgets flickering due to race condition if they are animated.
- Fix widgets not showing on some zoom levels.
- Fix map being black when using widgets (e.g. when
MapDebugOptions.TILE_BORDERS
option is enabled). - Fix the crash with enabled timestamps debug option.
- Fix crashing with
java.lang.Error: unknown native exception
caused by model_collision shader compilation failure. - Fix
TileStore
not clearing the invalidated and serveable flags upon a successful download.
Dependencies
- Update Mapbox gestures library to 0.9.1
- Update gl-native to v10.16.3 and common to v23.8.5.
Known issues
- The
java.lang.UnsatisfiedLinkError
exception on startup has been fixed when using Mapbox Maps SDK only. If other Mapbox products are used (Navigation, Search) - loading navigation / search native libraries might still crash. Mapbox Navigation / Search SDKs fixes will be released separately.
v11.0.0
11.0.0 November 29, 2023
Breaking changes ⚠️
- Minimum OpenGL ES version is now 3.0.
- Update SDK's
targetSdkVersion
andcompileSdkVersion
to 33. - Remove deprecated
GeoJsonSource
public constructor, builder should be used instead. - Remove deprecated
MapboxMap.queryRenderedFeatures
methods. - Remove
Snapshotter.setTileMode
,Snapshotter.isInTileMode
methods. - Remove deprecated
MapStyleStateDelegate
andisFullyLoaded
method. - Remove experimental
setRenderCacheOptions
,getRenderCacheOptions
apis. - Add
callback
argument to theMapboxMap
methodsgetFeatureState
,setFeatureState
,removeFeatureState
. - Use different callback types for the
MapboxMap.queryRenderedFeatures
and theMapboxMap.querySourceFeatures
methods. - Return
cancelable
from theMapboxMap
methods :getFeatureState
,setFeatureState
,removeFeatureState
,querySourceFeatures
,getGeoJsonClusterLeaves
,getGeoJsonClusterChildren
,getGeoJsonClusterExpansionZoom
. - Remove the deprecated
MapboxMap.queryFeatureExtensions
method. - Remove
MapAnimationOptions.animatorListener
property. In order to subscribe to animations, provideAnimator.animatorListener
withflyTo
,easeTo
,pitchBy
,scaleBy
,moveBy
,rotateBy
apis. - Replace
LocationEngine
use withLocationService
inDefaultProvider
. - Add new
LocationConsumer.onError
method to allow consumers handle location errors. - Remove
MapView.location2
related interfaces and moveshowAccuracyRing
,accuracyRingColor
,accuracyRingBorderColor
,puckBearingEnabled
andpuckBearingSource
toMapView.location
. - Make
AttributionSettings
,CompassSettings
,GesturesSettings
,LocationComponentSettings
,LogoSettings
,ScaleBarSettings
not Kotlindata class
, better binary compatible and implementingParcelable
. - Change
CompassSettings.image
,LocationPuck2D.topImage
,LocationPuck2D.bearingImage
,LocationPuck2D.shadowImage
toImageHolder
allowing to pass either drawable id orBitmap
. - Remove deprecated
backgroundPatternTransition
,lineDasharrayTransition
,linePatternTransition
,fillPatternTransition
properties. - Replace
MapSnapshotInterface
interface withMapSnapshotResult
abstract class and removeimage()
method,bitmap()
should be used instead. - Change
Annotation.id
from monotonically increasingLong
to UUID represented asString
. - Remove
Annotation.featureIdentifier
used to connect with View Annotations, nowAnnotation.id
should be used instead. - Rename
PuckBearingSource
toPuckBearing
in location component plugin. - Remove deprecated overloaded
Style.setStyleGeoJSONSourceData(sourceId: String, data: GeoJSONSourceData)
method. - Rename
MapboxMap.setMemoryBudget
toMapboxMap.setTileCacheBudget
and make it non-experimental. - Remove
ResourceOptions
andResourceOptionsManager
. IntroduceMapboxOptions
andMapboxMapsOptions
to handle application-level access token and other generic options. - Removed XML attributes
mapbox_resourcesAccessToken
andmapbox_resourcesBaseUrl
. - Update Mapbox styles to latest versions:
Style | Before | After |
---|---|---|
MAPBOX_STREETS | mapbox://styles/mapbox/streets-v11 | mapbox://styles/mapbox/streets-v12 |
SATELLITE_STREETS | mapbox://styles/mapbox/satellite-streets-v11 | mapbox://styles/mapbox/satellite-streets-v12 |
OUTDOORS | mapbox://styles/mapbox/outdoors-v11 | mapbox://styles/mapbox/outdoors-v12 |
LIGHT | mapbox://styles/mapbox/light-v10 | mapbox://styles/mapbox/light-v11 |
DARK | mapbox://styles/mapbox/dark-v10 | mapbox://styles/mapbox/dark-v11 |
- Remove native interfaces
StyleManagerInterface
,StyleInterface
,CameraManagerInterface
,MapInterface
,ObservableInterface
and use onlyMap
object to access native methods. - Make map events typed-safe, events are now have their own subscription methods.
Following events are added as typed-safe,CameraChanged
,MapIdle
,MapLoadingError
,MapLoaded
,StyleDataLoaded
,StyleLoaded
,StyleImageMissing
,StyleImageRemovedUnunsed
,
RenderFrameStarted
,RenderFrameFinished
,SourceAdded
,SourceDataLoaded
,SourceRemoved
,ReourceRequest
.
Allsubscribe
methods returnCancelable
object, which users could store and callcancel
when subscription is no longer needed.
MapboxMap.unsubscribe
methods were removed. - Rename
LocationConsumer.onAccuracyRadiusUpdated
toonHorizontalAccuracyRadiusUpdated
. - Deprecate
MapboxMap.loadStyleUri
,MapboxMap.loadStyleJson
andMapboxMap.loadStyle
methods and introduce oneMapboxMap.loadStyle
accepting either URI / JSON or Style DSL block. - Replace
com.mapbox.maps.plugin.animation.Cancelable
withcom.mapbox.common.Cancelable
. - Remove
TileStoreOptions.MAPBOX_ACCESS_TOKEN
used e.g. inTileStore.setOption(TileStoreOptions.MAPBOX_ACCESS_TOKEN, someDomain, someValue)
as it has become redundant. - Introduce
MapboxTracing
object allowing to enable Android traces to measure performance of the SDK. More details and instructions could be found inWorking with traces
section inDEVELOPING.md
. - Remove Mapbox plugin implementations from public API surface.
- Remove
HttpServiceFactory.getInstance
,HttpServiceFactory.reset
,HttpServiceFactory.setUserDefined
methods. - Replace
HttpServiceFactory.getInstance().setInterceptor
withHttpServiceFactory.setHttpServiceInterceptor
. - Argument
dataId
of theGeoJson.feature
,GeoJson.featureCollection
,GeoJson.geometry
,GeoJson.url
,GeoJson.data
became non-nullable. - Remove
Style.getStyleSourcesAttribution
.MapboxMap.getAttributions
should be used instead. - (Kotlin only) Remove
Style.getStyleSources()
/Style.getStyleLayers()
. PropertiesStyle.styleSources
/Style.styleLayers
should be used instead. - Replace style related enum classes with regular classes.
- Migrate from
android.app.AlertDialog
toandroidx.appcompat.app.AlertDialog
for attribution plugin. - Rename
MapboxMap.subscribeStyleImageUnused
toMapboxMap.subscribeStyleImageRemoveUnused
. - The
MapCameraPlugin
'sonCameraMove
method now usesPoint
for camera center andEdgeInsets
for padding. - Remove
MapInitOptions.optimizeForTerrain
as whenever terrain is present layer order is automatically adjusted for better performance. - Replace
MapboxMap
andMapCameraManagerDelegate
APIsdragStart
,dragEnd
,getDragCameraOptions
withcameraForDrag
,setCenterAltitudeMode
. - Remove setter functions for
Style.styleURI
andStyle.styleJSON
as loading the style should happen only withMapboxMap.loadStyle
. - Rename
StyleImageMissing.getStyleImageMissingEventData
toStyleImageMissing.toStyleImageMissingEventData
. - Rename
MapCameraManagerDelegate
properties for methodscameraForCoordinateBounds
,cameraForCoordinates
andcameraForGeometry
to align them withMapboxMap
methods. - Consolidate
FetchTileFunctionCallback
andCancelTileFunctionCallback
by single typeTileFunctionCallback
. - Make
Image
parameter nullable insetStyleCustomRasterSourceTileData()
method. - Extension function
Style.getProjection()
return type changed fromProjection
toProjection?
. - Extension function
LocationComponentPlugin.createDefault2DPuck
inLocationComponentUtils.kt
is now stand-alonecreateDefault2DPuck
. - Extension function
LocationComponentPlugin.createDefault2DPuck
inLocationComponentUtils
is now stand-alonecreateDefault2DPuck
. - Function
createDefault2DPuck
does not require acontext
parameter. - Increase minimum location puck bearing threshold needed to trigger an animation to 1 degree (previously 0.01 degrees) to reduce the CPU usage.
- Location component puck bearing enabled property (
MapView.location.puckBearingEanbled
) has been changed tofalse
by default. ViewAnnotationManager.getViewAnnotationByFeatureId
is renamed toViewAnnotationManager.getViewAnnotation
,ViewAnnotationManager.getViewAnnotationByFeatureId
is renamed toViewAnnotationManager.getViewAnnotation
.ViewAnnotationManager.getViewAnnotationOptionsByView
is renamed toViewAnnotationManager.getViewAnnotationOptions
.ViewAnnotationManager.getViewAnnotationOptionsByFeatureId
is renamed toViewAnnotationManager.getViewAnnotationOptions
.ViewAnnotationAnchorConfig
fieldsoffsetX
/offsetY
are now of type Double instead of Int.ViewAnnotationOptions
accepts list of anchorsvariableAnchors
instead ofanchor
/offsetX
/offsetY
.ViewAnnotationOptions
fieldswidth
/height
are now of type Double instead of Int.OnViewAnnotationUpdatedListener.onViewAnnotationPositionUpdated
argumentswidth
/height
are now of type Double instead of Int.- Add
getName
method toDeviceLocationProvider
interface. - Add boolean parameter
allowUserDefined
togetDeviceLocationProvider
method inLocationService
interface. - Add
LocationService.getDeviceLocationProvider
method that acceptsExtendedLocationProviderParameters
toLocationService
interface.
Features ✨ and improvements 🏁
- Introduce new Mapbox 3D style
Style.STANDARD
and make it default. - Add dynamic view annotations that can be attached to complex feature geometries and reposition itself based on the current camera viewport. To create dynamic view annotation use
AnnotatedFeature
of typeANNOTATED_LAYER_FEATURE
. Multiple dynamic view annotations can be attached to the same feature. Also additional optionsViewAnnotationOptions.allowOverlapWithPuck
andViewAnnotationOptions.ignoreCameraPadding
introduced to configure the ...
v11.0.0-rc.2
11.0.0-rc.2 November 17, 2023
Breaking changes ⚠️
- Minimum OpenGL ES version is now 3.0
Features ✨ and improvements 🏁
- Promote Mapbox Standard style to stable.
- Introduce
ViewAnnotationOptions.allowOverlapWithPuck
andViewAnnotationOptions.ignoreCameraPadding
to configure the dynamic view annotation's behaviour. - Avoid placing view annotation on overlapped line geometries, if the current bound layer is below other annotated line layers.
Bug fixes 🐞
- [compose] Fix a lifecycle handling issue for
MapboxMap
which results in potential memory leak. - Fix a StackOverflow crash when
MultiGeometry
is used forOverviewViewportStateOptions
. - Fix flickering and wrong positions in elevated symbols.
- Update style layer's source should trigger repaint.
- Fix failure to load a 3D model when it uses a 32-bit index buffer.
- Fix rendering of the updated content on the map after a feature state change if terrain or globe were enabled.
- Fix view annotation disappearing on the upper parts of the screen when terrain is enabled.
- Trigger view annotation replacement if the associated layer/source gets changed.
- Fix a bug where snapshot is rendered without 3D content.
Dependencies
- Update gl-native to v11.0.0-rc.2 and common to v24.0.0-rc.3.
Known issues
- When adding a view annotation with
ViewAnnotationOptions.allowOverlapWithPuck
orViewAnnotationOptions.ignoreCameraPadding
set to true, the same option for all the view annotations added previously will be overwritten to true. The fix will land in the next release.
v10.16.2
10.16.2 November 08, 2023
Bug fixes 🐞
- Fix a crash because of non-exported runtime-registered broadcasts receivers for apps targeting SDK 34.
- Do not crash with
IncompatibleGooglePlayServicesLocationVersion
if fused location provider is not found. - Fix line label flickering issue by eliminating the anchor rounding error.
- Re-throw unknown native render exception with more debug information.
Dependencies
- Update gl-native to v10.16.2 and common to v23.8.4.
v11.0.0-rc.1
11.0.0-rc.1 November 03, 2023
Breaking changes ⚠️
- Add
LocationService.getDeviceLocationProvider
method that acceptsExtendedLocationProviderParameters
toLocationService
interface.
Features ✨ and improvements 🏁
- From v11.0.0-rc.1, Mapbox Compose Extension for Android is released as a separate module following the same release cadence with the main SDK, please refer to this guide to get started with Jetpack Compose, and v0.1.0 changelog for previous changelogs.
- [compose] Add experimental
MapEvents
to handle all events emitted byMapboxMap
. - [compose] Expose
PointAnnotationGroup.symbolZElevate
property. - [compose] Add
ViewAnnotation.layoutParams
property. - Introduce
ExtendedLocationProviderParameters
to specifyDeviceLocationProvider
parameters. - Add
coordinatesPadding
,maxZoom
andoffset
parameters toOverviewViewportStateOptions
to allow more granular control ofOverviewViewportState
. - Add
CircleAnnotationManager.slot
,PointAnnotationManager.slot
,PolygonAnnotationManager.slot
,PolylineAnnotationManager.slot
to place the associated layer of theAnnotationManager
to the correct position of the map. - Expose experimental
CustomRasterSource
and non-experimentalCustomGeometrySource
as regularSource
's providing a better way to work with them and also allowing using them in Style DSL. - Deprecate
CustomGeometrySource.invalidTile
andCustomGeometrySource.invalidRegion
;CustomGeometrySource.invalidateTile
andCustomGeometrySource.invalidateRegion
should be used instead. - Add
LocationPuck3D.modelEmissiveStrength
andLocationPuck3D.modelEmissiveStrengthExpression
properties to LocationComponent plugin to control the strength of the light emission.
Bug fixes 🐞
- Fixed an issue where the camera padding is not calculated properly for
OverviewViewportState
. - [compose] Fix the bug where wrong pixel ratio could be used in a dual display setup.
- Fix the line label flickering issue by eliminating the anchor rounding error.
- Fix rendering of large/complex fill extrusion features.
- Fix a crash because of non-exported runtime-registered broadcasts receivers for apps targeting SDK 34.
Dependencies
- Update gl-native to v11.0.0-rc.1 and common to v24.0.0-rc.2.
v11.0.0-beta.6
11.0.0-beta.6 October 24, 2023
Breaking changes ⚠️
- Extension function
Style.getProjection()
return type changed fromProjection
toProjection?
. - Extension function
LocationComponentPlugin.createDefault2DPuck
inLocationComponentUtils.kt
is now stand-alonecreateDefault2DPuck
. - Extension function
LocationComponentPlugin.createDefault2DPuck
inLocationComponentUtils
is now stand-alonecreateDefault2DPuck
. createDefault2DPuck
does not require acontext
parameter.- Increase minimum location puck bearing threshold needed to trigger an animation to 1 degree (previously 0.01 degrees) to reduce the CPU usage.
- Location component puck bearing enabled property (
MapView.location.puckBearingEanbled
) has been changed tofalse
by default. ViewAnnotationManager.getViewAnnotationByFeatureId
is renamed toViewAnnotationManager.getViewAnnotation
,ViewAnnotationManager.getViewAnnotationByFeatureId
is renamed toViewAnnotationManager.getViewAnnotation
.ViewAnnotationManager.getViewAnnotationOptionsByView
is renamed toViewAnnotationManager.getViewAnnotationOptions
.ViewAnnotationManager.getViewAnnotationOptionsByFeatureId
is renamed toViewAnnotationManager.getViewAnnotationOptions
.ViewAnnotationAnchorConfig
fieldsoffsetX
/offsetY
are now of type Double instead of Int.ViewAnnotationOptions
accepts list of anchorsvariableAnchors
instead ofanchor
/offsetX
/offsetY
.ViewAnnotationOptions
fieldswidth
/height
are now of type Double instead of Int.OnViewAnnotationUpdatedListener.onViewAnnotationPositionUpdated
argumentswidth
/height
are now of type Double instead of Int.- Add
getName
method toDeviceLocationProvider
interface. - Add boolean parameter
allowUserDefined
togetDeviceLocationProvider
method inLocationService
interface.
Features ✨ and improvements 🏁
- Add dynamic view annotations that can be attached to complex feature geometries and reposition itself based on the current camera viewport. To create dynamic view annotation use
AnnotatedFeature
of typeANNOTATED_LAYER_FEATURE
. Multiple dynamic view annotations can be attached to the same feature. - The following APIs have been promoted to stable:
LineLayer.lineDepthOcclusionFactor
,LineLayer.lineDepthOcclusionFactorTransition
,LineLayer.lineEmissiveStrength
andLineLayer.lineEmissiveStrengthTransition
SymbolLayer.iconImageCrossFade
,SymbolLayer.iconImageCrossFadeTransition
,SymbolLayer.iconEmissiveStrength
,SymbolLayer.iconEmissiveStrengthTransition
,SymbolLayer.textEmissiveStrength
andSymbolLayer.textEmissiveStrengthTransition
BackgroundLayer.backgroundEmissiveStrength
andBackgroundLayer.backgroundEmissiveStrengthTransition
CircleLayer.circleEmissiveStrength
andCircleLayer.circleEmissiveStrengthTransition
FillLayer.fillEmissiveStrength
andFillLayer.fillEmissiveStrengthTransition
FlatLight
,AmbientLight
,DirectionalLight
and related APIsslot
for all the layers- Style Import APIs:
getStyleImports
,removeStyleImport
,getStyleImportSchema
,getStyleImportConfigProperties
,getStyleImportConfigProperty
,setStyleImportConfigProperties
,setStyleImportConfigProperty
- Annotation plugin APIs:
CircleAnnotationManager.circleEmissiveStrength
,PolygonAnnotationManager.fillEmissiveStrength
,PolylineAnnotationManager.lineDepthOcclusionFactor
,PolylineAnnotationManager.lineEmissiveStrength
- Map Overlay plugin and related APIs
- (Kotlin only) Deprecated
MapboxMap.getStyle()
function. Please use propertyMapboxMap.style
. - (Kotlin only) Deprecated
MapView.getMapboxMap()
function. Please use propertyMapView.mapboxMap
. - (Kotlin only) Deprecated
MapSurface.getMapboxMap()
function. Please use propertyMapSurface.mapboxMap
. - Handle zero duration map camera animators more efficiently resulting in performance improvements for gestures / viewport / locationcomponent.
DefaultLocationProvider.updatePuckBearing
now accepts null to stop listening for heading/course.DefaultLocationProvider.updatePuckBearing
now accepts null to stop listening for heading/course.- Add
keep-legacy-style-pack
style pack load extra option that prevents the style package removal from the legacy storage. - Enable rendering of fill extrusion flood lights on the ground with fully transparent fill extrusions.
- Add
cameraForCoordinates
overload so that the padding for map and geometry can be specified separately. - Disable terrain when zoom-dependent exaggeration expression evaluates to zero.
- Add support for
glb
3D tiles. - Align hillshade illumination direction with 3D lights.
Bug fixes 🐞
- Fix widgets not showing on some zoom levels.
- Fix widgets flickering due to race condition if they are animated.
- Fix crash when setting
mapbox:mapbox_locationComponentLocationPuck = "location_puck_2_d"
in map view XML without specifying all images. - Fix changing location bearing from
HEADING
toCOURSE
not working. - Avoid listening for heading/course when location component puck bearing is disabled.
- Fix the crash clicking on attribution when not using the
AppCompat
theme. - Do not overwrite style URL when setting invalid style JSON.
- Do not store SDK version in TileStore.
Dependencies
- Update gl-native to v11.0.0-beta.7 and common to v24.0.0-beta.7.
v11.0.0-beta.5
11.0.0-beta.5 October 09, 2023
Breaking changes ⚠️
- Rename
MapCameraManagerDelegate
properties for methodscameraForCoordinateBounds
,cameraForCoordinates
andcameraForGeometry
to align them withMapboxMap
methods. - Consolidate
FetchTileFunctionCallback
andCancelTileFunctionCallback
by single typeTileFunctionCallback
. - Make
Image
parameter nullable insetStyleCustomRasterSourceTileData()
method.
Features ✨ and improvements 🏁
- Add
GeoJsonSource.data(..)
overloads to allow Java to call with and withoutdataId
. - Add a new layer type
CustomLayer
and style DSL to create it.CustomLayer
allows to use custom OpenGL ES rendering throughCustomLayerHost
.CustomLayer
contains theslot
property allowing using it with the Standard style. - Improve the caching model for the custom raster source.
- Optimize custom raster source data update.
- Increase rendering performance of shadows.
- Print warning log message for unknown style layer properties instead of causing fatal errors.
- Optimise memory usage in the
FillExtrusionLayer
. - Improve the rendering performance of a
SymbolLayer
that usesSymbolLayer.symbolSortKey
property. - Reduce memory usage in fill-extrusion flood light and ground ambient occlusion.
Bug fixes 🐞
- Hide methods and properties from Java in
MapView
,MapboxMap
andSnapshotter
that are not supposed to be public. - Fix
Style
docs for methodssetStyleImportConfigProperties
,setStyleImportConfigProperty
,removeGeoJSONSourceFeatures
. - Fix flood light not working by changing default EGL config to RGBA_8888.
- Fix a bug where the map would not zoom above a certain threshold on high-pitched views.
- Fix crashes if 3D layers are used alone on terrain or globe without any other layer types.
- Fix
LineLayer
leaking if placed behind the satellite layer. - Fix line and raster layers interop for draped mode.
- Fix a crash when consecutive snapshot requests were made.
- Fix erroneous shadow map sampling of distant landmarks.
- Fix incorrect level-of-detail model being chosen for trees in some scenarios.
- Fix the style layer minimum and maximum zoom default values from infinity to actual ones.
Dependencies
- Update gl-native to v11.0.0-beta.6 and common to v24.0.0-beta.6.
v10.16.1
10.16.1 October 03, 2023
Bug fixes 🐞
- Fix incorrectly set
begin
timestamp for theRenderFrameFinished
event. - Fix a rendering error that broke symbol layers on Samsung S22 devices.
- Cache featureState for newly added source in case it is not available in renderer.
- Fix HTTP requests not being paused in background.
- Fix a crash that occurred when consecutive snapshot requests were made.
- Fix a crash when using Google Play Activity Recognition API v21 or higher.
Dependencies
- Update gl-native to v10.16.1 and common to v23.8.3.
v11.0.0-beta.4
11.0.0-beta.4 September 21, 2023
Breaking changes ⚠️
- Remove setter functions for
Style.styleURI
andStyle.styleJSON
as loading the style should happen only withMapboxMap.loadStyle
. - Rename
StyleImageMissing.getStyleImageMissingEventData
toStyleImageMissing.toStyleImageMissingEventData
.
Features ✨ and improvements 🏁
- Introduce experimental APIs to work with Custom Raster Sources:
MapboxMap.addCustomRasterSource
,MapboxMap.setCustomRasterSourceTileData
,MapboxMap.invalidateCustomRasterSourceTile
,MapboxMap.invalidateCustomRasterSourceRegion
. - Copy relevant
Style
methods toMapboxMap
providing better alignment with iOS and GL-JS. - Add
FillExtrusionLayer.fillExtrusionCutoffFadeRange
andModelLayer.modelCutoffFadeRange
to control fade out of the layers when pitch is used. - Improve atmosphere rendering performance.
- Improve fill layer and model layer rendering performance on high pitch views.
- Improve GPU performance by drawing opaque 3D geometry without blending.
- Introduce experimental
SymbolLayer.symbolZElevate
property to elevate symbols along with the buildings that are in the same place. The feature is supported for symbols with point placement only. - Add
Atmosphere.verticalRange
property.
Bug fixes 🐞
- Free resources immediately after map event subscription is canceled.
- Fix map event listeners not being removed when
MapboxMap.remove*Listener
is called. - Fix issue where the terrain didn't work if defined within a style fragment.
- The Custom Geometry Source
fetchTileFunction
andcancelTileFunction
callbacks are invoked on the client thread. - Fixes a rendering error that broke symbol layers on Samsung S22 devices.
- Cache featureState for newly added source in case it is not available in renderer.
- Fix issue with model layer blending with geometry tile source.
- Fix incorrectly set begin timestamp for the RenderFrameFinished event.
Dependencies
- Update gl-native to v11.0.0-beta.5 and common to v24.0.0-beta.5.