Releases: mapbox/mapbox-maps-ios
Releases · mapbox/mapbox-maps-ios
v10.12.0-beta.1
Changes
Features ✨ and improvements 🏁
- 🆕 Rendering performance profiling with signposts. Use
MAPBOX_MAPS_SIGNPOSTS_ENABLED
environment variable to enable them and use. (#1818) - 🆕 Ability to mark GeoJSON with
dataId
and track its loading status withsourceDataLoaded
event (seeupdateGeoJSONSource
). - Reduce line gradient texture size if there is no color change.
Bug fixes 🐞
- Fix build errors appearing when SDK distributed as a static library through CocoaPods. (#1888)
- Fix app extension support. (#1916)
- Avoid generation of the unneeded glyph textures.
- Fix rendering errors when the closing point is missing in GeoJSON polygon features.
- Fix a bug where taking consecutive snapshots had missing tiles.
- Fix a bug where fill extrusions would flicker when crossing a certain zoom threshold.
- Fix a bug when the map doesn't stop animation immediately upon tap gesture.
Dependencies
- Update to MapboxCommon to
23.4.0-beta.1
- Update to MapboxCoreMaps to
10.12.0-beta.1
Dependency requirements:
- Compatible version of Xcode:
13.1.0
v10.11.1
v10.10.2
v10.11.0
Features ✨ and improvements 🏁
- 🆕 Enable
Expression
to be created without an operator soclusterProperties
can support advanced use cases. (#1855) - 🆕 Pass
nil
toCompassViewOptions.image
to reset compass image to the default one. (#1766, #1772) - 🆕 Use
sdf
parameter to add recolorable images to style, read more here. (#1803) - 🆕 GeoJSONSource add/update is now faster due to reducing the number of data conversion steps. (#1815)
- Improve stability of attribution parsing. (#1849)
- Angle normalization function was improved to prevent map spinning on close angles. (#1828)
- We reduced CPU usage/energy consumption when the map is idling while showing user location. (#1789)
PointAnnotationManager
tracks image references to avoid removing style images which are still in use. (#1775)- Control the appearance of your text by assigning an expression to
FormatOptions.fontScaleValue\textFontValue\textColorValue
. (#1826) - Optimize shadow rendering memory use and performance
- Enable the usage of expressions in array values during style parsing, where the member expressions in the array is evaluated to the same type
- Slightly improve quality and performance of the terrain
Bug fixes 🐞
- Fix scale bar growing beyond maximum width at large zoom near poles. (#1802)
- Fix loading errors appearing when providing custom endpoint for
ResourceOptions.baseURL
. (#1749) - Annotations are interactible now without needing to set annotation managers's delegate. (#1750)
- Fix terrain elevation when a padded dem source is used.
- Fix distance-to-center filtering of symbols when terrain is enabled.
- Fix camera bumpiness at the beginning of a drag operation when terrain is enabled.
- Fix disappearing tiles when terrain with a high exaggeration is enabled.
- Fix line-border-color when used with line-trim-offset
- Fixes an issue when allow-overlap, ignore-placement , and map rotation-alignment of icon breaks the rendering of symbols on the globe
- Mitigate symbol flickering on source data change during camera animation
- Mitigate out-of-memory errors caused by Snapshotter API usage
- Fixes rare crashes during render feature queries, if the features are located close to each other
- Fix an issue where the camera would start flickering during camera animations with terrain enabled.
- Fix redundant snapshot capturing that caused excessive memory usage
Dependencies
- Update to MapboxCommon to
23.3.1
(#1899). - Update to MapboxCoreMaps to
10.11.1
(#1899):-
Changelog
-
Features ✨ and improvements 🏁
- Avoid unneeded tiles relayout on style change
- Enable the usage of expressions in array values during style parsing, where the member expressions in the array is evaluated to the same type
- Slightly improve quality and performance of the terrain
- Improve performance for style switch use cases by avoiding unneeded tiles re-layout
- Optimize shadow rendering memory use and performance
- Enable the usage of expressions in array values during style parsing, where the member expressions in the array is evaluated to the same type
- Slightly improve quality and performance of the terrain
-
Bug fixes 🐞
- Fix rendering errors caused by incorrect OpenGL shader caching
- Fix incorrect resource type being specified map loading error event data
- Fix flickering issues for the symbols that allow overlap (have text(icon)-allow-overlap: true) with skipping fade-in animation for them
- Fix data queueing issue when calling API 'setStyleGeoJSONSourceData'
- Fix flickering terrain on high pitched views
- Fix for terrain tiles missing when running in the emulator and some android devices
- Clamp inputs in DEMData::get() to prevent OOB Access
- Fix text visualization when in orthographic mode
- Fix terrain elevation when a padded dem source is used.
- Fixes visible tile borders when msaa enabled
- Fix distance-to-center filtering of symbols when terrain is enabled.
- Fix color transitions in model ligthing
- Fix terrain placement for model layer when model scale is set to zero
- Fix geometry tile model layer paint property transition
- Fix camera bumpiness at the beginning of a drag operation when terrain is enabled.
- Fix disappearing tiles when terrain with a high exaggeration is enabled.
- Fix line-border-color when used with line-trim-offset
- Fixes an issue when allow-overlap, ignore-placement , and map rotation-alignment of icon breaks the rendering of symbols on the globe
- Clamp inputs in DEMData::get() to prevent OOB Access
- Fix terrain elevation when a padded dem source is used.
- Fix distance-to-center filtering of symbols when terrain is enabled.
- Fix camera bumpiness at the beginning of a drag operation when terrain is enabled.
- Fix disappearing tiles when terrain with a high exaggeration is enabled.
- Fix line-border-color when used with line-trim-offset
- Fixes an issue when allow-overlap, ignore-placement , and map rotation-alignment of icon breaks the rendering of symbols on the globe
- Mitigate symbol flickering on source data change during camera animation
- Mitigate OOM caused by Snapshotter API usage
- Fixes rare crashes during render feature queries, if the features are located close to each other
- Fix an issue where the camera would start flickering during subsequent calls to Map::jumpTo / Map::easeTo with terrain enabled.
- Fix redundant snapshot capturing that caused excessive memory usage
-
-
Dependency requirements:
- Compatible version of Xcode:
13.1.0
v10.11.0-rc.1
Changes
- Improve stability of attribution parsing. (#1849)
- Enable
Expression
to be created without an operator soclusterProperties
can support advanced use cases. (#1855) - Angle normalization function was improved to prevent map spinning on close angles. (#1828)
Dependencies
Dependency requirements:
- Compatible version of Xcode:
13.1.0
v10.11.0-beta.1
Known issues ⚠️
Attempting to add/update layers will lead to a runtime error if the following transitions are defined(set):
BackgroundLayer.backgroundPatternTransition
FillExtrusionLayer.fillExtrusionPatternTransition
FillLayer.fillPatternTransition
LineLayer.lineDasharrayTransition
LineLayer.linePatternTransition
Workaround: Don't set transitions for pattern
and dasharray
properties.
Features ✨ and improvements 🏁
- We reduced CPU usage/energy consumption when the map is idling while showing user location. (#1789)
- Pass
nil
toCompassViewOptions.image
to reset compass image to the default one. (#1766, #1772) PointAnnotationManager
tracks image references to avoid removing style images which are still in use. (#1775)- Use
sdf
parameter to add recolorable images to style, read more here. (#1803) - GeoJSONSource add/update is now faster due to reducing the number of data conversion steps. (#1815)
- Control the appearance of your text by assigning an expression to
FormatOptions.fontScaleValue\textFontValue\textColorValue
. (#1826) - Optimize shadow rendering memory use and performance
- Enable the usage of expressions in array values during style parsing, where the member expressions in the array is evaluated to the same type
- Slightly improve quality and performance of the terrain
Bug fixes 🐞
- Fix scale bar growing beyond maximum width at large zoom near poles. (#1802)
- Fix loading errors appearing when providing custom endpoint for
ResourceOptions.baseURL
. (#1749) - Annotations are interactible now without needing to set annotation managers's delegate. (#1750)
- Fix terrain elevation when a padded dem source is used.
- Fix distance-to-center filtering of symbols when terrain is enabled.
- Fix camera bumpiness at the beginning of a drag operation when terrain is enabled.
- Fix disappearing tiles when terrain with a high exaggeration is enabled.
- Fix line-border-color when used with line-trim-offset
- Fixes an issue when allow-overlap, ignore-placement , and map rotation-alignment of icon breaks the rendering of symbols on the globe
- Mitigate symbol flickering on source data change during camera animation
- Mitigate out-of-memory errors caused by Snapshotter API usage
- Fixes rare crashes during render feature queries, if the features are located close to each other
- Fix an issue where the camera would start flickering during camera animations with terrain enabled.
- Fix redundant snapshot capturing that caused excessive memory usage
Dependencies
Dependency requirements:
- Compatible version of Xcode:
13.1.0
v10.10.1
v10.10.0
Features ✨ and improvements 🏁
- 🆕 The
ViewAnnotationManager/camera(forAnnotations:padding:bearing:pitch:)
method helps you to calculate a camera to fit a list of view annotations. Pass it directly tofly
orease
methods to animate a camera change. Check out the newFrameViewAnnotationsExample
example to see the new API in action. (#1634) - 🆕
ViewAnnotationManager/annotations
now provides access to a map of view annotations and associatedViewAnnotationOptions
. (#1621) - 🆕 PointAnnotationManager now supports clustering according to a set of ClusterOptions. Check out a new
PointAnnotationClusteringExample
example to see API usage samples. (#1651)-
Video preview
ClusterOptions.preview.mp4
-
- 🆕 Annotations now support
isDraggable
andisSelected
properties to manipulate annotations on the map. See an updatedCircleAnnotationExample
example. (#1659)-
Video preview
draggableAnnotations.mp4
-
- 🆕
MapInitOptions
now has an optionalstyleJSON
argument to load a string version style. (#1686) - 🆕 With
MapboxMap/shouldRenderWorldCopies
you now have control of whether to show copies of the World in Mercator projection. (#1684) - We added a new
ViewAnnotationAnimationExample
example on how to animate a view annotation along the route. (#1639)-
Video preview
Preview.mp4
-
- GeoJSON source parsing now happens out of the main thread.
MapLoadingError
event will be emitted in case of invalid data. (#1777) - MapView local database is now excluded from iCloud backup. (#1777)
- There are some optimisations in Metal Shaders to boost MapView rendering performance. (#1777)
Bug fixes 🐞
- The
loadStyleURI/loadStyleJSON
APIs will no longer call the completion handler more than once if some nested loading error occurs. (#1665) - View annotations are no longer shown erroneously after an options update.(#1627)
- The map is now prevented from being rendered in Background state. This aligns better with the Scene lifecycle API and respects the scene/application activation status. As a result, rendering artifacts are no longer an issue after the app is coming from Background state. (#1675)
- Fix a memory leak when the viewport is deallocated while transition is running. (#1691)
- Fix issue with simultaneous recognition of tap gesture. (#1712)
- Fix label localization to properly handle Simplified and Traditional Chinese. (#1687)
- Allow simultaneous recognition of map’s and annotation’s handling gesture recognizers. (#1737)
Dependencies
- Update MapboxCommon to
23.2.1
(#1784). - Update MapboxCoreMaps to
10.10.0
(#1777):-
Changelog
- Features and improvements 🏁
- Update mapbox-common to v23.2.0.
- Eliminate tiles re-creation and re-layout on zooming map with globe, when the camera is trespassing the zoom projection border.
- Use precompiled Metal shaders.
- Avoid tiles re-layout on enabling terrain with zero exaggeration.
- Added API to enable/disable rendering of world copies in mercator mode.
- Asynchronous GeoJSON data parsing when adding a new style source.
- Improve symbol filtering performance when distance-from-camera and pitch expressions are used.
- Reduce number of operations when terrain is used with zero exaggeration.
- Bug fixes
- Handle OOB when getting DEM Data
- Generate mipmaps again after texture updates when Metal backend is used.
- Fix a rare precision issue with symbol and circle layer occlusion when terrain is enabled.
- Fixes a rare crash caused by a race condition during gesture handling.
- Disable location indicator occlusion testing with the terrain when exaggeration is set to 0. This fixes occasional location indicator disappearance.
- Exclude map disk cache files from cloud backups.
- Fix an issue where queried symbol features did not contain associated feature state.
- [iOS] Fix possible crash during map view destruction.
- Clear geojson tiles after the source is updated with empty features in order to eliminate "phantom tile" artefacts and to obviate extra work for keeping empty tiles.
- Eliminate duplicated tile async upload requests - fix a race condition causing a tile rendering the previous layout result.
- Truncate long single line text in symbol layers to prevent rendering artifact.
- Fixes an issue when the mixed usage of patterns and icons caused bleeding of textures.
- Fixes visible tile borders when MSAA enabled.
- Fix LOD and prevent from flickering on enabling terrain with zero exaggeration.
- Setting empty value for a style layer filter now clears the filter.
- Fixes rendering artifacts near tile borders when using terrain with zero exaggeration.
- Fixes fog rendering when terrain is used with zero exaggeration.
- Fix distance-to-center filtering of symbols when terrain is enabled.
- Improved cameraForCoordinate result quality with pitch and with terrain.
- Features and improvements 🏁
-
Dependency requirements:
- Compatible version of Xcode:
13.1.0
v10.10.0-rc.1
Bug fixes 🐞
- Fix memory leak when viewport is being deallocated while transition is running. (#1691)
- Fix issue with simultaneous recognition of tap gesture. (#1712)
- Fix label localization to properly handle Simplified and Traditional Chinese. (#1687)
- Allow simultaneous recognition of map- and annotation- handling gesture recognizers. (#1737)
Dependencies
- Update to MapboxCommon to
23.2.0-rc.3
(#1738). - Update to MapboxCoreMaps to
10.10.0-rc.1
(#1727):-
Changelog
- Features ✨ and improvements 🏁
- Improve symbol filtering performance when distance-from-camera and pitch expressions are used
- Bug fixes 🐞
- Fix an issue where queried symbol features did not contain the associated feature state
- [iOS] Fix possible crashes during map view destruction
- Clear geojson tiles after the source is updated with empty features in order to eliminate "phantom tile" artifacts and to obviate extra work for keeping empty tiles
- Features ✨ and improvements 🏁
-
Dependency requirements:
- Compatible version of Xcode:
13.1.0