Skip to content

Releases: mapbox/mapbox-maps-android

v11.8.0

11 Nov 17:18
Compare
Choose a tag to compare

11.8.0 November 11, 2024

Breaking changes ⚠️

  • Change the signature of experimental MapboxMap.queryRenderedFeatures(RenderedQueryGeometry, TypedFeaturesetDescriptor, Value?, QueryRenderedFeaturesetFeaturesCallback) to MapboxMap.queryRenderedFeatures(TypedFeaturesetDescriptor, RenderedQueryGeometry?, Value?, QueryRenderedFeaturesetFeaturesCallback). RenderedQueryGeometry being NULL is equivalent to passing a bounding box encompassing the entire map viewport.
  • [compose] Change the signature of experimental MapState.queryRenderedFeatures(RenderedQueryGeometry, TypedFeaturesetDescriptor, Expression?): List to MapState.queryRenderedFeatures(TypedFeaturesetDescriptor, RenderedQueryGeometry?, Expression?): List. RenderedQueryGeometry being NULL is equivalent to passing a bounding box encompassing the entire map viewport.

Features ✨ and improvements 🏁

  • Introduce Style.STANDARD_EXPERIMENTAL style supporting featuresets and map interactions. Important: this style should not be used in production as the style definition on backend is a subject to change after v11.8.0 stable release!
  • Introduce fully typed map click and long click interactions working with Style.STANDARD_EXPERIMENTAL: standardPoi, standardPlaceLabels, standardBuildings.
Kotlin
map.loadStyle(Style.STANDARD_EXPERIMENTAL)
map.addInteraction(
  ClickInteraction.standardBuildings { clickedBuilding, _ ->
    map.setFeatureState(
      clickedBuilding,
      StandardBuildingsState {
        highlight(true)
      }
    )
    return@standardBuildings true
  }
)
Jetpack Compose
MapboxStandardStyleExperimental(
  experimentalStandardStyleState = rememberExperimentalStandardStyleState {
    interactionsState.onBuildingsClicked { clickedBuilding, _ ->
      clickedBuilding.setStandardBuildingsState {
        highlight(true)
      }
      return@onBuildingsClicked true
    }
  }
)
Java
map.loadStyle(Style.STANDARD_EXPERIMENTAL);
map.addInteraction(
  StandardInteractions.standardBuildings(
    ClickInteraction.Companion,
    (clickedBuilding, context) -> {
      map.setFeatureState(
        clickedBuilding,
        new StandardBuildingsState.Builder()
                .highlight(true)
                .build()
      );
      return true;
    }
  )
);
  • Use Cronet as the default network stack. If Cronet is not available, network stack defaults to OkHttp used in previous versions. More information available here.
  • Introduce OnClusterClickListener and OnClusterLongClickListener for CircleAnnotationManager and PointAnnotationManager. These callbacks receive the clicked cluster represented by a ClusterFeature.
  • Introduce experimental getStyleGlyphURL / setStyleGlyphURL functions for MapboxMap and Style.
  • Make fill-extrusion-emissive-strength property data-driven.
  • Dispatch view annotations update before rendering, so that view annotations and map layers are rendered simultaneously and thus decreasing the view annotations latency when using ViewAnnotationUpdateMode.MAP_FIXED_DELAY mode.
  • Overscale composited tile components in offline.
  • Skip rendering landmarks when the camera is inside them.
  • Introduce experimental Geofencing API. Implementation examples: SimpleGeofencingActivity.kt and ExtendedGeofencingActivity.kt.
  • Introduce experimental MapView.attribution.getMapAttributionDelegate().extraAttributions to add custom attributions to the attribution dialog.
  • [compose] Deprecate all Annotation and AnnotationGroup composables that take onClick parameter. Now all annotation interactions could be set with appropriate AnnotationInteractionsState or AnnotationGroupInteractionsState stored in AnnotationGroupState.
  • [compose] Introduce AnnotationInteractionsState and AnnotationGroupInteractionsState states that allow to set callbacks for annotation interactions via onClicked() and onLongClicked().PointAnnotationGroupInteractionsState and CircleAnnotationGroupInteractionsState also provide ability to set callbacks for interactions with clusters via onClusterClicked and onClusterLongClicked.
  • [compose] Introduce remember (e.g. rememberPolylineAnnotationGroupInteractionsState and rememberPolylineAnnotationInteractionsState) composable functions to create, init and remember all types of AnnotationInteractionsState and AnnotationGroupInteractionsState.
  • [compose] Introduce <AnnotationType>InteractionsState.isDraggable / <AnnotationType>GroupInteractionsState.isDraggable API for all annotation types allowing to drag annotations. Callbacks onDragStarted(), onDragged(),onDragFinished() are added as well.
  • [compose] Introduce experimental Attribution(..., geofencingDialog) compose function to customize Geofencing consent dialog.
  • Annotate Bitmap.toMapboxImage() and related as delicate API due to its native memory allocation.
  • Use fallback engine if cronet fails to load.

Bug fixes 🐞

  • Fix terrain related snapshotter crash.
  • Handle empty payloads for offline resources.
  • Improve zooming performance on dynamic Standard terrain and optimize terrain re-rendering performance on e.g routeline line-trim-offset change.
  • Respect polygons with holes on querying rendered features.
  • Fix self-overlap of line corners when large line-width is used.
  • Adjust conflation intersection test padding to fix disappearing fill-extrusion.
  • Fix TileCover bug with polygon horizontal edges.
  • Fix a bug with image dependent paint properties not getting a correct value after image become available.
  • Clear tile pyramid on color theme change before the tiles are updated.
  • Fix missing images notifications for images within coalesce expression when other images in coalesce are present. Image expressions with two arguments are no longer being considered present if only second image is present.
  • Return operation error for featurestate related API in case the featureset is not valid.
  • Fix crash on style pack load when no access token is set.
  • Fix crash in TerrainRenderer when using snapshotter.
  • Fix crash on re-creation of a custom raster source when different options are provided.
  • Return parsing errors if runtime added style import JSON is not valid.
  • Fix missing models in rendering result if reduceMemoryUse is called before taking snapshot.
  • Fix the incorrect behaviour when using symbol-z-oder property.
  • Fix raster-particle trail discontinuity at the antimeridian.
  • Fix an Android 12 specific bug where location puck custom animator options lambda without explicit ValueAnimator.duration resulted in duration = 0.
  • Fix a rare android.content.res.Resources$NotFoundException happening when creating a MapView.
  • Fix a rare NullPointerException happening when fling gesture event is recognized.
  • Fix StandardPoiFeature.geometry to have a concrete Point type instead of Geometry interface.
  • Fix a bug in GeoJsonSource.autoMaxZoom leading to rendering artifacts with long dotted line layers.
  • Fix a crash if Cronet failed to init on device by fallbacking to OkHttp.
  • Disable false-positive lint error "Incorrect number of expressions".
  • Fix possible out of memory in native heap during annotation manager annotation updates (AnnotationManager.update(...)).
  • Fix CronetProviderInstaller proguard missing rule.
  • Fix rare crash due to native library not loaded when receiving background locations.
  • Do not modify file description structure when reading resource files.
  • Fix lifecycle calculation in case activity destruction is in progress.

Dependencies

  • Update gl-native to v11.8.0 and common to v24.8.0.

v11.7.2

06 Nov 09:31
Compare
Choose a tag to compare

11.7.2 November 05, 2024

Bug fixes 🐞

  • Fix terrain related snapshotter crash.
  • Handle empty payloads for offline resources.
  • Do not modify file description structure when reading resource files.

Dependencies

  • Update gl-native to v11.7.2 and common to v24.7.2.

v11.8.0-rc.1

24 Oct 13:12
Compare
Choose a tag to compare
v11.8.0-rc.1 Pre-release
Pre-release

11.8.0-rc.1 October 23, 2024

Bug fixes 🐞

  • Fix an Android 12 specific bug where location puck custom animator options lambda without explicit ValueAnimator.duration resulted in duration = 0.
  • Fix a rare android.content.res.Resources$NotFoundException happening when creating a MapView.
  • Fix a rare NullPointerException happening when fling gesture event is recognized.
  • Fix StandardPoiFeature.geometry to have a concrete Point type instead of Geometry interface.
  • Fix a bug in GeoJsonSource.autoMaxZoom leading to rendering artifacts with long dotted line layers.
  • Fix a crash if Cronet failed to init on device by fallbacking to OkHttp.

Dependencies

  • Update gl-native to v11.8.0-rc.1 and common to v24.8.0-rc.1.

v11.8.0-beta.1

14 Oct 19:06
Compare
Choose a tag to compare
v11.8.0-beta.1 Pre-release
Pre-release

11.8.0-beta.1 October 14, 2024

Features ✨ and improvements 🏁

  • Introduce Style.STANDARD_EXPERIMENTAL style supporting featuresets and map interactions. Important: this style should not be used in production as the style definition on backend is a subject to change after v11.8.0 stable release!
  • Introduce fully typed map click and long click interactions working with Style.STANDARD_EXPERIMENTAL: standardPoi, standardPlaceLabels, standardBuildings.
Kotlin
map.loadStyle(Style.STANDARD_EXPERIMENTAL)
map.addInteraction(
  ClickInteraction.standardBuildings { clickedBuilding, _ ->
    map.setFeatureState(
      clickedBuilding,
      StandardBuildingsState {
        highlight(true)
      }
    )
    return@standardBuildings true
  }
)
Jetpack Compose
MapboxStandardStyleExperimental(
  experimentalStandardStyleState = rememberExperimentalStandardStyleState {
    interactionsState.onBuildingsClicked { clickedBuilding, _ ->
      clickedBuilding.setStandardBuildingsState {
        highlight(true)
      }
      return@onBuildingsClicked true
    }
  }
)
Java
map.loadStyle(Style.STANDARD_EXPERIMENTAL);
map.addInteraction(
  StandardInteractions.standardBuildings(
    ClickInteraction.Companion,
    (clickedBuilding, context) -> {
      map.setFeatureState(
        clickedBuilding,
        new StandardBuildingsState.Builder()
                .highlight(true)
                .build()
      );
      return true;
    }
  )
);
  • Use Cronet as the default network stack. If Cronet is not available, network stack defaults to OkHttp used in previous versions. More information available here.
  • Introduce OnClusterClickListener and OnClusterLongClickListener for CircleAnnotationManager and PointAnnotationManager. These callbacks receive the clicked cluster represented by a ClusterFeature.
  • Introduce experimental getStyleGlyphURL / setStyleGlyphURL functions for MapboxMap and Style.
  • Make fill-extrusion-emissive-strength property data-driven.
  • Dispatch view annotations update before rendering, so that view annotations and map layers are rendered simultaneously and thus decreasing the view annotations latency when using ViewAnnotationUpdateMode.MAP_FIXED_DELAY mode.
  • Overscale composited tile components in offline.
  • Skip rendering landmarks when the camera is inside them.
  • Introduce experimental Geofencing API. Implementation example: GeofencingActivity.kt
  • [compose] Deprecate all Annotation and AnnotationGroup composables that take onClick parameter. Now all annotation interactions could be set with appropriate AnnotationInteractionsState or AnnotationGroupInteractionsState stored in AnnotationGroupState.
  • [compose] Introduce AnnotationInteractionsState and AnnotationGroupInteractionsState states that allow to set callbacks for annotation interactions via onClicked() and onLongClicked().PointAnnotationGroupInteractionsState and CircleAnnotationGroupInteractionsState also provide ability to set callbacks for interactions with clusters via onClusterClicked and onClusterLongClicked.
  • [compose] Introduce remember (e.g. rememberPolylineAnnotationGroupInteractionsState and rememberPolylineAnnotationInteractionsState) composable functions to create, init and remember all types of AnnotationInteractionsState and AnnotationGroupInteractionsState.
  • [compose] Introduce <AnnotationType>InteractionsState.isDraggable / <AnnotationType>GroupInteractionsState.isDraggable API for all annotation types allowing to drag annotations. Callbacks onDragStarted(), onDragged(),onDragFinished() are added as well.
  • [compose] Introduce experimental Attribution(..., geofencingDialog) compose function to customize Geofencing consent dialog.
  • Introduce experimental MapView.attribution..getMapAttributionDelegate().extraAttributions to add custom attributions to the attribution dialog.

Bug fixes 🐞

  • Improve zooming performance on dynamic Standard terrain and optimize terrain re-rendering performance on e.g routeline line-trim-offset change.
  • Respect polygons with holes on querying rendered features.
  • Fix self-overlap of line corners when large line-width is used.
  • Adjust conflation intersection test padding to fix disappearing fill-extrusion.
  • Fix TileCover bug with polygon horizontal edges.
  • Fix a bug with image dependent paint properties not getting a correct value after image become available.
  • Clear tile pyramid on color theme change before the tiles are updated.
  • Fix missing images notifications for images within coalesce expression when other images in coalesce are present. Image expressions with two arguments are no longer being considered present if only second image is present.
  • Return operation error for featurestate related API in case the featureset is not valid.
  • Fix crash on style pack load when no access token is set.
  • Fix crash in TerrainRenderer when using snapshotter.
  • Fix crash on re-creation of a custom raster source when different options are provided.
  • Return parsing errors if runtime added style import JSON is not valid.
  • Fix missing models in rendering result if reduceMemoryUse is called before taking snapshot.
  • Fix the incorrect behaviour when using symbol-z-oder property.
  • Fix raster-particle trail discontinuity at the antimeridian.

Dependencies

  • Update gl-native to v11.8.0-beta.1 and common to v24.8.0-beta.1.

v11.7.1

10 Oct 13:40
Compare
Choose a tag to compare

11.7.1 October 10, 2024

Bug fixes 🐞

  • Respect polygons with holes on querying rendered features.

Dependencies

  • Update gl-native to v11.7.1 and common to v24.7.1.

v11.7.0

26 Sep 14:15
Compare
Choose a tag to compare

11.7.0 September 26, 2024

Features ✨ and improvements 🏁

  • [compose] Introduce PointAnnotationState.iconOcclusionOpacity, PointAnnotationState.textOcclusionOpacity to control occlusion opacity for individual point annotation.
  • [compose] Remove MapboxExperimental from PolylineAnnotationGroupState.lineOcclusionOpacity, PointAnnotationGroupState.iconOcclusionOpacity, PointAnnotationGroupState.textOcclusionOpacity.
  • [compose] Expose data-driven properties on AnnotationGroupStates. Now it's possible to set data-driven properties globally on AnnotationGroupState and specify per-annotation overrides in AnnotationState. Setting global property value on AnnotationGroupState could introduce performance improvements when the amount of annotations is large.
  • [compose] Remove experimental ModelLayerState.modelFrontCutoff.
  • [compose] Introduce experimental GeoJsonSourceState.autoMaxZoom property to resolve rendering artifacts for features that use wide blur (e.g. fill extrusion ground flood light or circle layer).
  • [compose] Introduce experimental ClipLayerState.clipLayerScope API to remove data from certain style fragments only.
  • [compose] Introduce experimental PointAnnotationState.symbolZOffset property.
  • [compose] Introduce experimental PointAnnotationGroupState.symbolElevationReference property.
  • [compose] Introduce experimental SymbolLayerState.symbolElevationReference and SymbolLayerState.symbolZOffset properties.
  • [compose] Introduce experimental SymbolLayerState.symbolZOffsetTransition API.
  • [compose] Introduce experimental StyleInteractionsState, StyleImportsInteractionsState, LayerInteractionsState to handle interactions to the style, style imports and layers.
  • [compose] Introduce experimental StyleImport composable functions to accept StyleImportsInteractionsState as an parameter.
  • [compose] Introduce experimental LayerInteractionsState as part of *LayerState of layers that's driven by a source.
  • [compose] Introduce experimental MapState.getFeatureState, MapState.setFeatureState, MapState.removeFeatureState and MapState.resetFeatureState APIs.
  • [compose] Introduce StyleState that groups StyleImportsConfig, StyleInteractionsState, Projection, AtmosphereState, TerrainState, LightsState, styleTransition.
  • [compose] Introduce GenericStyle composable function that uses StyleState as parameter and deprecate GenericStyle that takes individual light/terrain/projection states.
  • [compose] Introduce MapStyle composable function that uses StyleState as parameter and deprecate MapStyle that takes individual light/terrain/projection states.
  • [compose] Introduce StyleImportState that groups ImportConfigs and StyleImportInteractionsState.
  • [compose] Introduce StyleImport composable function that uses StyleImportState as parameter and deprecate StyleImport that takes ImportConfigs.
  • Publish Mapbox Maps Android artifacts using NDK 27 and support for 16 KB page sizes.
    • The new artifacts are available by appending -ndk27 to the artifact ID (for example, com.mapbox.maps:android-ndk27:11.7.0).
  • Introduce experimental interactive feature elements and related APIs. Those APIs provide the convenient way to add the click / long click listener to layer / featureset / map itself with MapboxMap.addInteraction.
  • Expose lineTrimColor and lineTrimFadeRange on LineLayer which allow to set custom color for trimmed line and fade effect for trim. Update navigation example to use those properties.
  • Introduce PointAnnotation.iconOcclusionOpacity, PointAnnotation.textOcclusionOpacity to control occlusion opacity for individual point annotation.
  • Remove MapboxExperimental from SymbolLayer.iconOcclusionOpacity, SymbolLayer.textOcclusionOpacity and these properties are now supported on global zoom levels with default value changed to 0.
  • Remove MapboxExperimental from PolylineAnnotationManager.lineOcclusionOpacity, PointAnnotationManager.iconOcclusionOpacity, PointAnnotationManager.textOcclusionOpacity.
  • Expose data-driven properties on AnnotationManagers. Now it's possible to set data-driven properties globally on AnnotationManager and specify per-annotation overrides. Setting global property value on AnnotationManager could introduce performance improvements when the amount of annotations is large.
  • Remove experimental ModelLayer.modelFrontCutoff.
  • Introduce experimental GeoJsonSource.autoMaxZoom property to resolve rendering artifacts for features that use wide blur (e.g. fill extrusion ground flood light or circle layer).
  • Introduce static HttpServiceFactory.setCancellationCallback API.
  • Reduce style parsing time.
  • Enable multiple meta tiling schemes for composited sources.
  • Expose experimental ClipLayer.clipLayerScope API to remove data from certain style fragments only.
  • Expose experimental PointAnnotation.symbolZOffset property.
  • Expose experimental PointAnnotationManager.symbolElevationReference property.
  • Expose experimental SymbolLayer.symbolElevationReference and SymbolLayer.symbolZOffset properties.
  • Expose experimental SymbolLayer.symbolZOffsetTransition API.
  • Introduce experimental MapboxMap.queryRenderedFeature allowing to get an InteractiveFeature for given geometry, FeaturesetHolder and optional filter.
  • Introduce experimental FillExtrusionLayer.fillExtrusionLineWidth and FillExtrusionLayerState.fillExtrusionLineWidth in Compose allowing to switch fill extrusion rendering into wall rendering mode. Use this property to render the feature with the given width over the outlines of the geometry.
  • Add missing experimental annotation to PointAnnotationManager.symbolZOffset and PolylineAnnotationManager.lineZOffset
  • Deprecate PolylineAnnotationManager.lineTrimColor in favour of PolylineAnnotationManager.lineTrimColorString/PolylineAnnotationManager.lineTrimColorInt.

Bug fixes 🐞

  • [compose] Fix ViewAnnotation size not being updated when content layout changes.
  • [compose] Fix UnsatisfiedLinkError issue when rendering preview.
  • Return parsing errors if runtime added style import JSON is not valid.
  • Fix color theme change before the tiles are updated.
  • Fix annotation issues with click / long click callback ordering and dragging. Now the order of triggering the callbacks / dragging is determined: from top-level rendered annotation to bottom-level one.
  • Fix OnAnnotationInteractionListener not triggered if any OnAnnotationClickListener.onAnnotationClick returns true.
  • Fix incorrect layer updates when using ClipLayer.clipLayerTypes or ClipLayerState.clipLayerTypes in Compose.
  • Fix shadow rendering issues when using FillExtrusionLayer.fillExtrusionCutoffFadeRange or FillExtrusionLayerState.fillExtrusionCutoffFadeRange.
  • Significantly reduce the rate at which raster-particle trails cross each other.
  • Fix normal offset to improve shadow accuracy.
  • Fix data synchronization between renderer and the main threads on map resize.
  • Regenerate location indicator mipmap on image change.
  • Fix landmark visibility issues near tile borders.
  • Fix elevated line depth occlusion issue in 2D mode.
  • Fix Dynamic View Annotation position update for annotated geojson feature with allowZElevate to be true.
  • Fix race condition between setFeatureState and removeFeatureState / resetFeatureStates resulting in feature state not being applied or removed.
  • Fix a crash when calling CameraAnimationsPlugin.easeTo() with empty camera options or CameraAnimationsPlugin.playAnimatorsSequentially() / CameraAnimationsPlugin.playAnimatorsTogether() with an empty array of animators.
  • Fix ongoing animations being canceled when CameraAnimationsPlugin.flyTo() with empty camera options is called.
  • Fix simultaneous scale and rotation gestures not working when the first registered rotation is a scale one.
  • Fix crash on Android tilestore where null data was returned.
  • Fix the incorrect behaviour when using SymbolLayer.symbolZOrder property.
  • Fix retrieval of tilesets for 3d tiles in offline mode.
  • Fix rendering errors of patterns on high zoom levels.
  • Fix a bug where style changes weren't reflected after the source layer of a layer was changed.

Dependencies

  • Update gl-native to v11.7.0 and common to v24.7.0.

v11.7.0-rc.1

16 Sep 13:38
Compare
Choose a tag to compare
v11.7.0-rc.1 Pre-release
Pre-release

11.7.0-rc.1 September 16, 2024

Breaking changes ⚠️

  • Experimental interactive features API changes:
    • FeatureStateValue was removed in favour of generic FeatureState.
    • MapboxMap.setFeatureState takes a single FeatureState class instead of vararg FeatureStateValue.
    • BaseInteractiveFeature was removed in favour of InteractiveFeature.
    • InteractiveFeature.state is now a generic of FeatureState.
    • MapboxMap.getFeatureState signature changed to be generic and return typed FeatureState in the new FeatureStateCallback.

Features ✨ and improvements 🏁

  • Introduce experimental MapboxMap.queryRenderedFeature allowing to get an InteractiveFeature for given geometry, FeaturesetHolder and optional filter.
  • Introduce experimental FillExtrusionLayer.fillExtrusionLineWidth and FillExtrusionLayerState.fillExtrusionLineWidth in Compose allowing to switch fill extrusion rendering into wall rendering mode. Use this property to render the feature with the given width over the outlines of the geometry.
  • Add missing experimental annotation to PointAnnotationManager.symbolZOffset and PolylineAnnotationManager.lineZOffset
  • Deprecate PolylineAnnotationManager.lineTrimColor in favour of PolylineAnnotationManager.lineTrimColorString/PolylineAnnotationManager.lineTrimColorInt.
  • [compose] Introduce experimental StyleInteractionsState, StyleImportsInteractionsState, LayerInteractionsState to handle interactions to the style, style imports and layers.
  • [compose] Introduce experimental StyleImport composable functions to accept StyleImportsInteractionsState as an parameter.
  • [compose] Introduce experimental LayerInteractionsState as part of *LayerState of layers that's driven by a source.
  • [compose] Introduce experimental MapState.getFeatureState, MapState.setFeatureState, MapState.removeFeatureState and MapState.resetFeatureState APIs.
  • [compose] Introduce StyleState that groups StyleImportsConfig, StyleInteractionsState, Projection, AtmosphereState, TerrainState, LightsState, styleTransition.
  • [compose] Introduce GenericStyle composable function that uses StyleState as parameter and deprecate GenericStyle that takes individual light/terrain/projection states.
  • [compose] Introduce MapStyle composable function that uses StyleState as parameter and deprecate MapStyle that takes individual light/terrain/projection states.
  • [compose] Introduce StyleImportState that groups ImportConfigs and StyleImportInteractionsState.
  • [compose] Introduce StyleImport composable function that uses StyleImportState as parameter and deprecate StyleImport that takes ImportConfigs.

Bug fixes 🐞

  • Fix a crash when calling CameraAnimationsPlugin.easeTo() with empty camera options or CameraAnimationsPlugin.playAnimatorsSequentially() / CameraAnimationsPlugin.playAnimatorsTogether() with an empty array of animators.
  • Fix ongoing animations being canceled when CameraAnimationsPlugin.flyTo() with empty camera options is called.
  • Fix simultaneous scale and rotation gestures not working when the first registered rotation is a scale one.
  • Fix crash on Android tilestore where null data was returned.
  • Fix the incorrect behaviour when using SymbolLayer.symbolZOrder property.
  • Fix retrieval of tilesets for 3d tiles in offline mode.
  • Fix rendering errors of patterns on high zoom levels.
  • Fix a bug where style changes weren't reflected after the source layer of a layer was changed.

v11.6.1

10 Sep 11:01
Compare
Choose a tag to compare

11.6.1 September 10, 2024

Bug fixes 🐞

  • Fix for offline retrieval of 3D tiles for Style.STANDARD.

Dependencies

  • Update gl-native to v11.6.1 and common to v24.6.1.

v10.18.4

06 Sep 12:22
Compare
Choose a tag to compare

10.18.4 September 06, 2024

Features ✨ and improvements 🏁

  • Remove explicit main thread locking when clicking / long clicking / interacting with annotations created with CircleAnnotationManager, PointAnnotationManager, PolygonAnnotationManager, PolylineAnnotationManager that could lead to an ANR.

v11.7.0-beta.1

04 Sep 06:40
Compare
Choose a tag to compare
v11.7.0-beta.1 Pre-release
Pre-release

11.7.0-beta.1 September 03, 2024

Features ✨ and improvements 🏁

  • [compose] Introduce PointAnnotationState.iconOcclusionOpacity, PointAnnotationState.textOcclusionOpacity to control occlusion opacity for individual point annotation.
  • [compose] Remove MapboxExperimental from PolylineAnnotationGroupState.lineOcclusionOpacity, PointAnnotationGroupState.iconOcclusionOpacity, PointAnnotationGroupState.textOcclusionOpacity.
  • [compose] Expose data-driven properties on AnnotationGroupStates. Now it's possible to set data-driven properties globally on AnnotationGroupState and specify per-annotation overrides in AnnotationState. Setting global property value on AnnotationGroupState could introduce performance improvements when the amount of annotations is large.
  • [compose] Remove experimental ModelLayerState.modelFrontCutoff.
  • [compose] Introduce experimental GeoJsonSourceState.autoMaxZoom property to resolve rendering artifacts for features that use wide blur (e.g. fill extrusion ground flood light or circle layer).
  • [compose] Introduce experimental ClipLayerState.clipLayerScope API to remove data from certain style fragments only.
  • [compose] Introduce experimental PointAnnotationState.symbolZOffset property.
  • [compose] Introduce experimental PointAnnotationGroupState.symbolElevationReference property.
  • [compose] Introduce experimental SymbolLayerState.symbolElevationReference and SymbolLayerState.symbolZOffset properties.
  • [compose] Introduce experimental SymbolLayerState.symbolZOffsetTransition API.
  • Introduce experimental interactive feature elements and related APIs. Those APIs provide the convenient way to add the click / long click listener to layer / featureset / map itself with MapboxMap.addInteraction.
  • Expose lineTrimColor and lineTrimFadeRange on LineLayer which allow to set custom color for trimmed line and fade effect for trim. Update navigation example to use those properties.
  • Introduce PointAnnotation.iconOcclusionOpacity, PointAnnotation.textOcclusionOpacity to control occlusion opacity for individual point annotation.
  • Remove MapboxExperimental from SymbolLayer.iconOcclusionOpacity, SymbolLayer.textOcclusionOpacity and these properties are now supported on global zoom levels with default value changed to 0.
  • Remove MapboxExperimental from PolylineAnnotationManager.lineOcclusionOpacity, PointAnnotationManager.iconOcclusionOpacity, PointAnnotationManager.textOcclusionOpacity.
  • Expose data-driven properties on AnnotationManagers. Now it's possible to set data-driven properties globally on AnnotationManager and specify per-annotation overrides. Setting global property value on AnnotationManager could introduce performance improvements when the amount of annotations is large.
  • Remove experimental ModelLayer.modelFrontCutoff.
  • Introduce experimental GeoJsonSource.autoMaxZoom property to resolve rendering artifacts for features that use wide blur (e.g. fill extrusion ground flood light or circle layer).
  • Introduce static HttpServiceFactory.setCancellationCallback API.
  • Reduce style parsing time.
  • Enable multiple meta tiling schemes for composited sources.
  • Expose experimental ClipLayer.clipLayerScope API to remove data from certain style fragments only.
  • Expose experimental PointAnnotation.symbolZOffset property.
  • Expose experimental PointAnnotationManager.symbolElevationReference property.
  • Expose experimental SymbolLayer.symbolElevationReference and SymbolLayer.symbolZOffset properties.
  • Expose experimental SymbolLayer.symbolZOffsetTransition API.

Bug fixes 🐞

  • [compose] Fix UnsatisfiedLinkError issue when rendering preview.
  • Fix annotation issues with click / long click callback ordering and dragging. Now the order of triggering the callbacks / dragging is determined: from top-level rendered annotation to bottom-level one.
  • Fix OnAnnotationInteractionListener not triggered if any OnAnnotationClickListener.onAnnotationClick returns true.
  • Fix incorrect layer updates when using ClipLayer.clipLayerTypes or ClipLayerState.clipLayerTypes in Compose.
  • Fix shadow rendering issues when using FillExtrusionLayer.fillExtrusionCutoffFadeRange or FillExtrusionLayerState.fillExtrusionCutoffFadeRange.
  • Significantly reduce the rate at which raster-particle trails cross each other.
  • Fix normal offset to improve shadow accuracy.
  • Fix data synchronization between renderer and the main threads on map resize.
  • Regenerate location indicator mipmap on image change.
  • Fix landmark visibility issues near tile borders.
  • Fix elevated line depth occlusion issue in 2D mode.
  • Fix Dynamic View Annotation position update for annotated geojson feature with allowZElevate to be true.
  • Fix race condition between setFeatureState and removeFeatureState / resetFeatureStates resulting in feature state not being applied or removed.

Dependencies

  • Update gl-native to v11.7.0-beta.2 and common to v24.7.0-beta.2.

Known issues

  • Experimental GeoJsonSource.autoMaxZoom and GeoJsonSourceState.autoMaxZoom will return null value even after it's set.