Releases: mapbox/mapbox-gl-native-ios
macos-v0.16.0-beta.1
This version of the Mapbox Maps SDK for macOS corresponds to version 5.9.0-beta.1 of the Mapbox Maps SDK for iOS. Changes since macos-v0.16.0-alpha.1:
- Added the
mgl_distanceFrom:
expression function for calculating the shortest distance between the evaluated feature and anMGLPointAnnotation
,MGLPointCollection
,MGLPolyline
,MGLMultiPolyline
,MGLPolygon
, orMGLMultiPolygon
that you specify as part of anNSExpression
format string, corresponding to thedistance
expression operator in style JSON. (#295) - Added the
-[MGLOfflinePack setContext:completionHandler:]
method for replacing the data associated with an offline pack, such as a name. (#288)
To install this prerelease via CocoaPods, point your Podfile to either of these URLs:
- https://raw.githubusercontent.com/mapbox/mapbox-gl-native/macos-v0.16.0-beta.1/platform/macos/Mapbox-macOS-SDK.podspec
- https://raw.githubusercontent.com/mapbox/mapbox-gl-native/macos-v0.16.0-beta.1/platform/macos/Mapbox-macOS-SDK-symbols.podspec
Documentation is available online or as part of the download.
ios-v5.9.0-beta.1
Changes since Mapbox Maps SDK for iOS v5.9.0-alpha.1:
- Added the
mgl_distanceFrom:
expression function for calculating the shortest distance between the evaluated feature and anMGLPointAnnotation
,MGLPointCollection
,MGLPolyline
,MGLMultiPolyline
,MGLPolygon
, orMGLMultiPolygon
that you specify as part of anNSExpression
format string, corresponding to thedistance
expression operator in style JSON. (#295) - Added the
-[MGLOfflinePack setContext:completionHandler:]
method for replacing the data associated with an offline pack, such as a name. (#288) - Fixed an issue that prevented the Maps SDK from warning about a misconfiguration that violated the Mapbox ToS. (#288)
To install this pre-release via a dependency manager, see our CocoaPods or Carthage instructions.
Documentation is available online or as part of the download.
macos-v0.15.1
This version of the Mapbox Maps SDK for macOS corresponds to version 5.8.0 of the Mapbox Maps SDK for iOS. Changes since macos-v0.15.0:
- Fixed various crashes, including crashes on launch, on macOS 10.11.0 through 10.14.x. (mapbox/mapbox-gl-native#16412)
Documentation is available online or as part of the download.
macos-v0.16.0-alpha.1
This version of the Mapbox Maps SDK for macOS corresponds to version 5.9.0-alpha.1 of the Mapbox Maps SDK for iOS. Changes since macos-v0.15.0:
Styles and rendering
- Added the
distance
expression function for calculating the shortest distance between the evaluated feature and a GeoJSONPoint
,MultiPoint
,LineString
, orMultiLineString
geometry that you specify. Use this function in expressions in style JSON or with theMGL_FUNCTION()
syntax in anNSExpression
format string. (mapbox/mapbox-gl-native#16397) - Added the
MGLCircleStyleLayer.circleSortKey
property. (mapbox/mapbox-gl-native#15875) - Chinese, Japanese, and Korean characters are now set in the font specified in style JSON or by the
MGLSymbolLayer.textFontNames
property. If the named font is not installed on the device or bundled with the application, the characters are set in a fallback font listed in theMGLIdeographicFontFamilyName
key in the Info.plist file. (#189) - The
MGLIdeographicFontFamilyName
key in the Info.plist file can now specify the fallback fonts for CJK characters by their PostScript names or display names in addition to font family names. For example, you can specifyNotoSansCJKjp-Bold
orNoto Sans CJK JP Bold
, which ensures that the characters are set in bold. You can alternatively specify these font names in theMGLIdeographicFontFamilyName
key ofNSUserDefaults.standardUserDefaults
. (#189) - CJK characters are now laid out according to the font, so fonts with nonsquare glyphs have the correct kerning. (#189)
- Fixed an issue where the baseline for CJK characters was too low compared to non-CJK characters. (#189)
- Fixed a crash when calling the
-[MGLStyle removeImageForName:]
method with the name of a nonexistent image. (mapbox/mapbox-gl-native#16391) - Fixed an issue where properties such as
MGLFillStyleLayer.fillColor
andMGLLineStyleLayer.lineColor
misinterpreted non-opaqueNSColor
s. (#266)
Other changes
- Fixed various crashes, including crashes on launch, on macOS 10.11.0 through 10.14.x. (mapbox/mapbox-gl-native#16412)
- Fixed a crash when encountering an invalid polyline. (mapbox/mapbox-gl-native#16409)
- Fixed an issue where an
MGLMapSnapshotOptions
with an invalidMGLMapCamera.centerCoordinate
, negativeMGLMapCamera.heading
, negativeMGLMapCamera.pitch
, and negativeMGLMapSnapshotOptions.zoomLevel
resulted in a snapshot centered on Null Island at zoom level 0 even if the style specified a different initial center coordinate or zoom level. (#280) - Fixed an error that occurred if your implementation of the
-[MGLOfflineStorageDelegate offlineStorage:URLForResourceOfKind:]
method returned a local file URL. (mapbox/mapbox-gl-native#16428) - Certain logging statements no longer run on the main thread. (mapbox/mapbox-gl-native#16325)
Documentation is available online or as part of the download.
ios-v5.9.0-alpha.1
Changes since Mapbox Maps SDK for iOS v5.8.0:
Styles and rendering
- Added the
distance
expression function for calculating the shortest distance between the evaluated feature and a GeoJSONPoint
,MultiPoint
,LineString
, orMultiLineString
geometry that you specify. Use this function in expressions in style JSON or with theMGL_FUNCTION()
syntax in anNSExpression
format string. (mapbox/mapbox-gl-native#16397) - Added the
MGLCircleStyleLayer.circleSortKey
property. (mapbox/mapbox-gl-native#15875) - Chinese, Japanese, and Korean characters are now set in the font specified in style JSON or by the
MGLSymbolLayer.textFontNames
property. If the named font is not installed on the device or bundled with the application, the characters are set in a fallback font listed in theMGLIdeographicFontFamilyName
key in the Info.plist file. (#189) - The
MGLIdeographicFontFamilyName
key in the Info.plist file can now specify the fallback fonts for CJK characters by their PostScript names or display names in addition to font family names. For example, you can specifyNotoSansCJKjp-Bold
orNoto Sans CJK JP Bold
, which ensures that the characters are set in bold. You can alternatively specify these font names in theMGLIdeographicFontFamilyName
key ofNSUserDefaults.standardUserDefaults
. (#189) - CJK characters are now laid out according to the font, so fonts with nonsquare glyphs have the correct kerning. (#189)
- Fixed an issue where the baseline for CJK characters was too low compared to non-CJK characters. (#189)
- Fixed a crash when calling the
-[MGLStyle removeImageForName:]
method with the name of a nonexistent image. (mapbox/mapbox-gl-native#16391) - Fixed an issue where properties such as
MGLFillStyleLayer.fillColor
andMGLLineStyleLayer.lineColor
misinterpreted non-opaqueUIColor
s. (#266)
Other changes
- Fixed a crash when encountering an invalid polyline. (mapbox/mapbox-gl-native#16409)
- Fixed an issue where an
MGLMapSnapshotOptions
with an invalidMGLMapCamera.centerCoordinate
, negativeMGLMapCamera.heading
, negativeMGLMapCamera.pitch
, and negativeMGLMapSnapshotOptions.zoomLevel
resulted in a snapshot centered on Null Island at zoom level 0 even if the style specified a different initial center coordinate or zoom level. (#280) - Fixed an error that occurred if your implementation of the
-[MGLOfflineStorageDelegate offlineStorage:URLForResourceOfKind:]
method returned a local file URL. (mapbox/mapbox-gl-native#16428) - Certain logging statements no longer run on the main thread. (mapbox/mapbox-gl-native#16325)
To install this pre-release via a dependency manager, see our CocoaPods or Carthage instructions.
Documentation is available online or as part of the download.
macos-v0.15.0
This version of the Mapbox Maps SDK for macOS corresponds to version 5.8.0 of the Mapbox Maps SDK for iOS. Changes since macos-v0.14.0:
Styles and rendering
- Added the
-[MGLMapViewDelegate mapView:shouldRemoveStyleImage:]
method for optimizing style image caching. (mapbox/mapbox-gl-native#14769) - Added the
image
expression function for converting an image name into a style image. Use this function in expressions in style JSON or with theMGL_FUNCTION()
syntax in anNSExpression
format string. Image expressions are compatible with themgl_attributed:
expression function andMGLAttributedExpression
classes for embedding icons inline in text labels. (mapbox/mapbox-gl-native#15877, mapbox/mapbox-gl-native#15937) - The
IN
andCONTAINS
predicate operators can now test whether a string is a substring of another string or whether the evaluated feature (SELF
) lies within a givenMGLShape
orMGLFeature
. (#183, #184) - Added the
MGLSymbolStyleLayer.textWritingModes
layout property. This property can be set toMGLTextWritingModeHorizontal
orMGLTextWritingModeVertical
. (mapbox/mapbox-gl-native#14932) - Added the
MGLLineStyleLayer.lineSortKey
andMGLFillStyleLayer.fillSortKey
properties. (#179) - The
MGLIdeographicFontFamilyName
Info.plist key now also accepts an array of font family names, to customize font fallback behavior. It can also be set to a Boolean value ofNO
to force the SDK to typeset CJK characters in a remote font specified byMGLSymbolStyleLayer.textFontNames
. (mapbox/mapbox-gl-native#14862) - The
MGLSymbolStyleLayer.iconTextFit
property now respects the cap insets of any nine-part stretchable image passed into the-[MGLStyle setImage:forName:]
method. You can define the stretchable area in Xcode’s asset catalog or by setting theNSImage.capInsets
property. (#182) - The
-[MGLStyle localizeLabelsIntoLocale:]
and-[NSExpression mgl_expressionLocalizedIntoLocale:]
methods can now localize text into Traditional Chinese and Vietnamese. (#173) - Fixed crashes triggered when
MGLSource
andMGLStyleLayer
objects are accessed after having been invalidated after a style change. (mapbox/mapbox-gl-native#15539) - Fixed an issue where fill extrusion layers would be incorrectly rendered above other layers. (mapbox/mapbox-gl-native#15065)
- Fixed rendering and collision detection issues with using
MGLSymbolStyleLayer.textVariableAnchor
andMGLSymbolStyleLayer.iconTextFit
properties on the same layer. (mapbox/mapbox-gl-native#15367) - Fixed symbol overlap when zooming out quickly. (mapbox/mapbox-gl-native#15416)
- Fixed an issue where non-template images would draw as template images when used in the same style layer. (mapbox/mapbox-gl-native#15456)
- Fixed an issue where the collision boxes for symbols would not be updated when
MGLSymbolStyleLayer.textTranslation
orMGLSymbolStyleLayer.iconTranslation
were used. (mapbox/mapbox-gl-native#15467) - Fixed an issue that caused
MGLTileSourceOptionMaximumZoomLevel
to be ignored when settingMGLTileSource.configurationURL
. (mapbox/mapbox-gl-native#15581) - Fixed an issue where
MGLSymbolStyleLayer.symbolSortKey
could sort text and icons incorrectly. (mapbox/mapbox-gl-native#16023) - Fixed an issue where style layers backed by a shape source could flicker when transitioning between styles. (mapbox/mapbox-gl-native#15907, mapbox/mapbox-gl-native#15941)
- Improved the performance of loading a style that has many style images. (mapbox/mapbox-gl-native#16187)
- Updated “map ID” to the more accurate term “tileset ID” in documentation; updated “style's Map ID” to the more accurate term “style URL”. (mapbox/mapbox-gl-native#15116)
Camera
- Setting
MGLMapView.contentInset
now moves the map’s focal point to the center of the content frame after insetting. (mapbox/mapbox-gl-native#14664) - The
-[MGLMapView setCamera:withDuration:animationTimingFunction:edgePadding:completionHandler:]
method now adds the current value of theMGLMapView.contentInsets
property to theedgePadding
parameter. (mapbox/mapbox-gl-native#14813) - Added variants of multiple animated
MGLMapView
methods that accept completion handlers (mapbox/mapbox-gl-native#14381):-[MGLMapView setVisibleCoordinateBounds:edgePadding:animated:completionHandler:]
-[MGLMapView setContentInsets:animated:completionHandler:]
-[MGLMapView showAnnotations:edgePadding:animated:completionHandler:]
- Added the
MGLMapView.minimumPitch
andMGLMapView.maximumPitch
properties to further limit how much the user or your code can tilt the map. (#208) - Fixed an issue where it was possible to set the map’s content insets then tilt the map enough to see the horizon, causing performance issues. (mapbox/mapbox-gl-native#15195)
- Fixed an issue where animated camera transitions zoomed in or out too dramatically. (mapbox/mapbox-gl-native#15281)
- Improved performance when continuously animating a tilted map. (mapbox/mapbox-gl-native#16287)
Feature querying
- Fixed an issue where
-[MGLMapView visibleFeaturesInRect:]
and-[MGLShapeSource featuresMatchingPredicate:]
omitted some features from the return value. (mapbox/mapbox-gl-native#14884) - Fixed an issue where
-[MGLMapView visibleFeaturesInRect:]
and-[MGLShapeSource featuresMatchingPredicate:]
could return incorrect coordinates at zoom levels 20 and higher. (mapbox/mapbox-gl-native#15560) - Improved feature querying performance. (mapbox/mapbox-gl-native#14930)
Snapshots
- Added an
-[MGLMapSnapshotter startWithOverlayHandler:completionHandler:]
method to provide the snapshot's currentCGContext
in order to perform custom drawing onMGLMapSnapshot
objects. (mapbox/mapbox-gl-native#15530) - Added the
MGLMapSnapshotter.delegate
property andMGLMapSnapshotterDelegate
protocol for customizing the style before taking a snapshot. (#235) - You no longer need to explicitly capture the
MGLMapSnapshotter
object in the completion handler that you specify in-[MGLMapSnapshotter startWithCompletionHandler:]
. Even if you declare the snapshotter locally without holding a strong reference to it, the snapshotter is only deallocated after the completion handler finishes, and the completion handler generally receives a valid snapshot. (#210) - The
-[MGLMapSnapshotter cancel]
method no longer calls the completion handler passed into-[MGLMapSnapshotter startWithCompletionHandler:]
. (#210) - Fixed an issue where the
MGLMapSnapshotter.loading
property always returnedNO
, even while loading a snapshot. (#210)
Networking and storage
- Ideographic glyphs from Chinese, Japanese, and Korean are no longer downloaded by default as part of offline packs; they are instead rendered on-device, saving bandwidth and storage while improving performance. (mapbox/mapbox-gl-native#14176)
- Downloaded offline packs no longer reduce the storage space available for ambient caching of tiles and other resources. (mapbox/mapbox-gl-native#15622)
- Added the
MGLMapView.prefetchesTiles
property to configure lower-resolution tile prefetching behavior. (mapbox/mapbox-gl-native#14816) - Added the
-[MGLOfflineStorage preloadData:forURL:modificationDate:expirationDate:eTag:mustRevalidate:completionHandler:]
method for determining when the data is ready to retrieve from the cache. (#188) - Fixed a crash when
-[MGLOfflinePack invalidate]
is called on different threads. (mapbox/mapbox-gl-native#15582) - Fixed issues where an offline pack would stop downloading before completion. (mapbox/mapbox-gl-native#16230, mapbox/mapbox-gl-native#16240)
- When an offline pack encounters an HTTP 404 error, the
MGLOfflinePackUserInfoKeyError
user info key of theMGLOfflinePackErrorNotification
now indicates the resource that could not be downloaded. (mapbox/mapbox-gl-native#16240) - Expired resources are now fetched at a lower priority than new resources. (mapbox/mapbox-gl-native#15950)
Other changes
- Fixed a memory leak when zooming with any options enabled in the
MGLMapView.debugMask
property. (mapbox/mapbox-gl-native#15395) MGLLoggingLevel
has been updated to better match core log levels. You can now useMGLLoggingConfiguration.loggingLevel
to filter logs from core. (mapbox/mapbox-gl-native#15120)
Documentation is available online or as part of the download.
ios-v5.8.0
Changes since Mapbox Maps SDK for iOS v5.7.0:
Styles and rendering
- The
IN
andCONTAINS
predicate operators can now test whether a string is a substring of another string or whether the evaluated feature (SELF
) lies within a givenMGLShape
orMGLFeature
. (#183, #184) - Added the
MGLLineStyleLayer.lineSortKey
andMGLFillStyleLayer.fillSortKey
properties. (#179, mapbox/mapbox-gl-native#16194, mapbox/mapbox-gl-native#16220) - The
MGLSymbolStyleLayer.iconTextFit
property now respects the cap insets of any nine-part stretchable image passed into the-[MGLStyle setImage:forName:]
method. You can define the stretchable area in Xcode’s asset catalog or by calling the-[UIImage resizableImageWithCapInsets:]
method. (#182) - The
-[MGLStyle localizeLabelsIntoLocale:]
and-[NSExpression mgl_expressionLocalizedIntoLocale:]
methods can now localize text into Traditional Chinese and Vietnamese. (#173) - Fixed an issue where an
MGLSymbolStyleLayer.lineDashPattern
value of{1, 0}
resulted in hairline gaps. (mapbox/mapbox-gl-native#16202) - Improved the performance of loading a style that has many style images. (mapbox/mapbox-gl-native#16187)
Snapshots
- Added the
MGLMapSnapshotter.delegate
property andMGLMapSnapshotterDelegate
protocol for customizing the style before taking a snapshot. (#235) - You no longer need to explicitly capture the
MGLMapSnapshotter
object in the completion handler that you specify in-[MGLMapSnapshotter startWithCompletionHandler:]
. Even if you declare the snapshotter locally without holding a strong reference to it, the snapshotter is only deallocated after the completion handler finishes, and the completion handler generally receives a valid snapshot. (#210) - The
-[MGLMapSnapshotter cancel]
method no longer calls the completion handler passed into-[MGLMapSnapshotter startWithCompletionHandler:]
. (#210) - Fixed an issue where the
MGLMapSnapshotter.loading
property always returnedNO
, even while loading a snapshot. (#210)
Networking and storage
- Downloaded offline packs no longer reduce the storage space available for ambient caching of tiles and other resources. (mapbox/mapbox-gl-native#15622)
- Added the
-[MGLOfflineStorage preloadData:forURL:modificationDate:expirationDate:eTag:mustRevalidate:completionHandler:]
method for determining when the data is ready to retrieve from the cache. (#188) - Fixed issues where an offline pack would stop downloading before completion. (mapbox/mapbox-gl-native#16230, mapbox/mapbox-gl-native#16240)
- When an offline pack encounters an HTTP 404 error, the
MGLOfflinePackUserInfoKeyError
user info key of theMGLOfflinePackErrorNotification
now indicates the resource that could not be downloaded. (mapbox/mapbox-gl-native#16240)
Other changes
- Added the
MGLMapView.minimumPitch
andMGLMapView.maximumPitch
properties to further limit how much the user or your code can tilt the map. (#208) - Fixed a crash while quitting the application after adding an annotation to
MGLMapView
. (#252) - Improved performance when continuously animating a tilted map. (mapbox/mapbox-gl-native#16287)
- Fixed a memory leak when zooming with any options enabled in the
MGLMapView.debugMask
property. (mapbox/mapbox-gl-native#15395)
Documentation is available online or as part of the download.
macos-v0.15.0-beta.2
This version of the Mapbox Maps SDK for macOS corresponds to version 5.8.0-beta.2 of the Mapbox Maps SDK for iOS. Changes since macos-v0.15.0-beta.1:
- Added the
MGLMapSnapshotter.delegate
property andMGLMapSnapshotterDelegate
protocol for customizing the style before taking a snapshot. (#235) - Fixed an issue where predicates containing the
SELF IN
operator evaluated nondeterministically for features lying on the edge of the given shape, resulting in flickering. (mapbox/mapbox-gl-native#16319) - Fixed an issue where predicates containing the
SELF IN
operator evaluated incorrectly for shapes that cross the antimeridian. (mapbox/mapbox-gl-native#16330)
To install this prerelease via CocoaPods, point your Podfile to either of these URLs:
- https://raw.githubusercontent.com/mapbox/mapbox-gl-native/macos-v0.15.0-beta.2/platform/macos/Mapbox-macOS-SDK.podspec
- https://raw.githubusercontent.com/mapbox/mapbox-gl-native/macos-v0.15.0-beta.2/platform/macos/Mapbox-macOS-SDK-symbols.podspec
Documentation is available online or as part of the download.
ios-v5.8.0-beta.2
Changes since Mapbox Maps SDK for iOS v5.8.0-beta.1:
- Added the
MGLMapSnapshotter.delegate
property andMGLMapSnapshotterDelegate
protocol for customizing the style before taking a snapshot. (#235) - Fixed an issue where predicates containing the
SELF IN
operator evaluated nondeterministically for features lying on the edge of the given shape, resulting in flickering. (mapbox/mapbox-gl-native#16319) - Fixed an issue where predicates containing the
SELF IN
operator evaluated incorrectly for shapes that cross the antimeridian. (mapbox/mapbox-gl-native#16330)
To install this pre-release via a dependency manager, see our CocoaPods or Carthage instructions.
Documentation is available online or as part of the download.
macos-v0.15.0-beta.1
This version of the Mapbox Maps SDK for macOS corresponds to version 5.8.0-beta.1 of the Mapbox Maps SDK for iOS. Changes since macos-v0.15.0-alpha.1:
Styles and rendering
- The
IN
andCONTAINS
predicate operators can now test whether a string is a substring of another string or whether the evaluated feature (SELF
) lies within a givenMGLShape
orMGLFeature
. (#183, #184) - The
MGLSymbolStyleLayer.iconTextFit
property now respects the cap insets of any nine-part stretchable image passed into the-[MGLStyle setImage:forName:]
method. You can define the stretchable area in Xcode’s asset catalog or by setting theNSImage.capInsets
property. (#182)
Snapshots
- You no longer need to explicitly capture the
MGLMapSnapshotter
object in the completion handler that you specify in-[MGLMapSnapshotter startWithCompletionHandler:]
. Even if you declare the snapshotter locally without holding a strong reference to it, the snapshotter is only deallocated after the completion handler finishes, and the completion handler generally receives a valid snapshot. (#210) - The
-[MGLMapSnapshotter cancel]
method no longer calls the completion handler passed into-[MGLMapSnapshotter startWithCompletionHandler:]
. (#210) - Fixed an issue where the
MGLMapSnapshotter.loading
property always returnedNO
, even while loading a snapshot. (#210)
Other changes
- Added the
MGLMapView.minimumPitch
andMGLMapView.maximumPitch
properties to further limit how much the user or your code can tilt the map. (#208) - Downloaded offline packs no longer reduce the storage space available for ambient caching of tiles and other resources. (mapbox/mapbox-gl-native#15622)
- Added the
-[MGLOfflineStorage preloadData:forURL:modificationDate:expirationDate:eTag:mustRevalidate:completionHandler:]
method for determining when the data is ready to retrieve from the cache. (#188) - Improved performance when continuously animating a tilted map. (mapbox/mapbox-gl-native#16287)
To install this prerelease via CocoaPods, point your Podfile to either of these URLs:
- https://raw.githubusercontent.com/mapbox/mapbox-gl-native/macos-v0.15.0-beta.1/platform/macos/Mapbox-macOS-SDK.podspec
- https://raw.githubusercontent.com/mapbox/mapbox-gl-native/macos-v0.15.0-beta.1/platform/macos/Mapbox-macOS-SDK-symbols.podspec
Documentation is available online or as part of the download.