Releases: mapbox/mapbox-maps-flutter
Releases · mapbox/mapbox-maps-flutter
v2.12.0
New Features ✨
- [Android] Use Maps SDK Android dependency with NDK 27 support and support for 16 KB page sizes.
- Expose
LineLayer.lineCutoutOpacity
,LineLayer.lineCutoutWidth
andLineLayer.lineCutoutFadeWidth
to make route lines visible through obstructing 3D buildings and other aboveground features.
Bug fixes 🐞
- Fix Offline Region missing middle zoom level tiles
- Fixed issues where feature state were not immediately applied
- Fix precision issue in hillshade causing terrain with steps
- Fix interactions with 2D and 3D location indicator.
- Fix view annotation disappearing due to Location Indicator use in some pitch levels.
- Fix occlusion-opacity layers reordering
- Fix gradients and interpolations with fully-transparent colors
- Fix location indicator layer rendering when the persistent buffer mapping flag is enabled
- Fix incorrect background color of icons when non-default color-theme is used
- Fix respect in the "tile-minimum-cache-duration" tilestore option
- Fix removal of tiles from group when update application is resumed
- Fix assertion on missing low zoom levels in the tile pack leveling scheme
- Fix crash in style layer property setter
- Fix var expressions that did not work properly with config expressions.
- Fix cutout disappearing at certain zoom and pitch levels with orthographic camera.
- TileStore improvements: import functionality, reliability, and support have been enhanced.
- [Android] Fix multi-touch gestures not working in map widget when being nested in
GestureDetector
.
Dependency Updates
v0.7.0
Note
This release adds support for Android 16KB page size requirements and iOS compatibility improvements.
Android
- Update Android Maps SDK version to v10.19.1
- Add support for 16KB page size requirements for Google Play Store compliance
iOS
- Update iOS Maps SDK version to v10.19.4
- Change minimum iOS version to v12.0
2.12.0-rc.2
2.12.0-rc.1
v2.12.0-beta.1
New Features ✨
- Expose
LineLayer.lineCutoutOpacity
,LineLayer.lineCutoutWidth
andLineLayer.lineCutoutFadeWidth
to make route lines visible through obstructing 3D buildings and other aboveground features. - [Android] Use Maps SDK Android dependency with NDK 27 support and support for 16 KB page sizes.
Bug fixes 🐞
- Fix Offline Region missing middle zoom level tiles
- Fixed issues where feature state were not immediately applied
- Fix precision issue in hillshade causing terrain with steps
- Fix interactions with 2D and 3D location indicator.
- Fix view annotation disappearing due to Location Indicator use in some pitch levels.
- Fix occlusion-opacity layers reordering
- Fix gradients and interpolations with fully-transparent colors
- Fix location indicator layer rendering when the persistent buffer mapping flag is enabled
- Fix incorrect background color of icons when non-default color-theme is used
- Fix respectin the "tile-minimum-cache-duration" tilestore option
- Fix removal of tiles from group when update application is resumed
Dependency Updates
v2.10.1
Optimizations ✨
- [iOS] Make background location tracking consistent with server configuration
- [iOS] Improve View Annotations impact on frame time.
- [iOS] Optimize LineBucket triangle allocation with reusable vector.
- [iOS] Re-enable symbol placement time limit by filtering only fast zoom animations.
- [iOS] Limit the time spent in updating symbols when the view is animating.
Bug fixes 🐞
- Fix missing map loaded event in case vector tile is not found
- [iOS] Fix 3d models dealing crash during map destruction.
- [iOS] Fix location indicator rendering issues in some states.
- [iOS] Fix dynamic view annotations disappearance in some states.
- [Android] Fix a bug where Dynamic View Annotations disappeared in corner cases
- [Android] Fix a bug where location indicator layer disappeared in certain configurations
- [Android] Fix potential crash caused by a race condition
- [Android] Fix frames skipped when calling mapView.setMaximumFps(..) multiple times.
Dependency Updates
v2.11.0
New Features ✨
- Improve performance of the zooming-out animation by enabling tile hinting.
- Symbol layers now supporting GeoJSON sources for elevation
Bug fixes 🐞
- [Flutter] Fix map events not being called if annotations are presented
- [Flutter] Fix Mapbox expression handling on Android by converting List expressions starting with strings to JSON format.
- Reduce RAM usage for Line features
- Fix crash on Mapbox stack deallocation
- Improved update reliability by only removing patches after successful application
- Improved task scheduler to prevent deadlock on shutdown
- Fix interaction with 2D and 3D location indicators.
- Fix disappearing ViewAnnotation when camera is far away from the device location
- Fix disapearing Dynamic ViewAnnotations after alternative route selection and viewport state updates
- Fix missing ViewAnnotation on zoom level higher than 22
- Fix text miss placement if it is accompanied by icon
- Fix background color for non-default color theme
- Support per-fragment symbol occlusion opacity
- Enable road elevation for symbols with line placement
- Dithered transparency for lane cutout
- Improve animation performance by time limiting symbol updates
- Improve fill extrusion parsing performance
- Fix tile border debug feature flickering on globe
Dependency Updates
2.11.0-rc.1
Bug fixes 🐞
- Fixed an issue where map tap interactions were not handled if annotations were present. Previously, annotation interactions would always take precedence—even when there was no active subscription for those annotation events.
Dependency Updates
v2.11.0-beta.1
v2.10.0
Important
This release addresses the code sign issue that may occur when building on iOS.
New Features ✨
- Introduce new experimental properties:
FillLayer.fillConstructBridgeGuardRail
,FillLayer.fillBridgeGuardRailColor
,FillLayer.fillTunnelStructureColor
,CircleLayer.circleElevationReference
. - Introduce
tapEvents
andlongPressEvents
API to the Annotation Managers to handle tap and long press event callbacks for annotations:
Example usage:manager.tapEvents( onTap: (annotation) { print("Tapped annotation: ${annotation.id}"); }, ); manager.longPressEvents( onLongPress: (annotation) { print("Long press annotation: ${annotation.id}"); }, );
Note
As part of this change, AnnotationOnClickListener
is now deprecated.
Tap events will now not propagate to annotations below the topmost one. If you tap on overlapping annotations, only the top annotation's tap event will be triggered.
Bug fixes 🐞
- Fix crash when receiving annotation interactions due to enum not being serialized with Pigeon Codec.
- Fixed FillExtrusionLayer flickering when transitioning between Mercator and globe projection