Skip to content
This repository has been archived by the owner on Jun 21, 2023. It is now read-only.

Releases: mapbox/mapbox-gl-native-ios

macos-v0.16.0-beta.1

02 May 01:55
Compare
Choose a tag to compare
macos-v0.16.0-beta.1 Pre-release
Pre-release

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 an MGLPointAnnotation, MGLPointCollection, MGLPolyline, MGLMultiPolyline, MGLPolygon, or MGLMultiPolygon that you specify as part of an NSExpression format string, corresponding to the distance 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:

Documentation is available online or as part of the download.

ios-v5.9.0-beta.1

02 May 00:07
Compare
Choose a tag to compare
ios-v5.9.0-beta.1 Pre-release
Pre-release

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 an MGLPointAnnotation, MGLPointCollection, MGLPolyline, MGLMultiPolyline, MGLPolygon, or MGLMultiPolygon that you specify as part of an NSExpression format string, corresponding to the distance 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

27 Apr 18:23
Compare
Choose a tag to compare

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:

Documentation is available online or as part of the download.

macos-v0.16.0-alpha.1

27 Apr 21:33
Compare
Choose a tag to compare
macos-v0.16.0-alpha.1 Pre-release
Pre-release

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 GeoJSON Point, MultiPoint, LineString, or MultiLineString geometry that you specify. Use this function in expressions in style JSON or with the MGL_FUNCTION() syntax in an NSExpression 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 the MGLIdeographicFontFamilyName 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 specify NotoSansCJKjp-Bold or Noto Sans CJK JP Bold, which ensures that the characters are set in bold. You can alternatively specify these font names in the MGLIdeographicFontFamilyName key of NSUserDefaults.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 and MGLLineStyleLayer.lineColor misinterpreted non-opaque NSColors. (#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 invalid MGLMapCamera.centerCoordinate, negative MGLMapCamera.heading, negative MGLMapCamera.pitch, and negative MGLMapSnapshotOptions.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

25 Apr 07:34
Compare
Choose a tag to compare
ios-v5.9.0-alpha.1 Pre-release
Pre-release

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 GeoJSON Point, MultiPoint, LineString, or MultiLineString geometry that you specify. Use this function in expressions in style JSON or with the MGL_FUNCTION() syntax in an NSExpression 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 the MGLIdeographicFontFamilyName 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 specify NotoSansCJKjp-Bold or Noto Sans CJK JP Bold, which ensures that the characters are set in bold. You can alternatively specify these font names in the MGLIdeographicFontFamilyName key of NSUserDefaults.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 and MGLLineStyleLayer.lineColor misinterpreted non-opaque UIColors. (#266)

Other changes

  • Fixed a crash when encountering an invalid polyline. (mapbox/mapbox-gl-native#16409)
  • Fixed an issue where an MGLMapSnapshotOptions with an invalid MGLMapCamera.centerCoordinate, negative MGLMapCamera.heading, negative MGLMapCamera.pitch, and negative MGLMapSnapshotOptions.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

08 Apr 06:31
Compare
Choose a tag to compare

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 the MGL_FUNCTION() syntax in an NSExpression format string. Image expressions are compatible with the mgl_attributed: expression function and MGLAttributedExpression classes for embedding icons inline in text labels. (mapbox/mapbox-gl-native#15877, mapbox/mapbox-gl-native#15937)
  • The IN and CONTAINS predicate operators can now test whether a string is a substring of another string or whether the evaluated feature (SELF) lies within a given MGLShape or MGLFeature. (#183, #184)
  • Added the MGLSymbolStyleLayer.textWritingModes layout property. This property can be set to MGLTextWritingModeHorizontal or MGLTextWritingModeVertical. (mapbox/mapbox-gl-native#14932)
  • Added the MGLLineStyleLayer.lineSortKey and MGLFillStyleLayer.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 of NO to force the SDK to typeset CJK characters in a remote font specified by MGLSymbolStyleLayer.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 the NSImage.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 and MGLStyleLayer 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 and MGLSymbolStyleLayer.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 or MGLSymbolStyleLayer.iconTranslation were used. (mapbox/mapbox-gl-native#15467)
  • Fixed an issue that caused MGLTileSourceOptionMaximumZoomLevel to be ignored when setting MGLTileSource.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 the MGLMapView.contentInsets property to the edgePadding 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 and MGLMapView.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 current CGContext in order to perform custom drawing on MGLMapSnapshot objects. (mapbox/mapbox-gl-native#15530)
  • Added the MGLMapSnapshotter.delegate property and MGLMapSnapshotterDelegate 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 returned NO, 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 the MGLOfflinePackErrorNotification 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 use MGLLoggingConfiguration.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

08 Apr 01:30
Compare
Choose a tag to compare

Changes since Mapbox Maps SDK for iOS v5.7.0:

Styles and rendering

  • The IN and CONTAINS predicate operators can now test whether a string is a substring of another string or whether the evaluated feature (SELF) lies within a given MGLShape or MGLFeature. (#183, #184)
  • Added the MGLLineStyleLayer.lineSortKey and MGLFillStyleLayer.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 and MGLMapSnapshotterDelegate 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 returned NO, 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 the MGLOfflinePackErrorNotification now indicates the resource that could not be downloaded. (mapbox/mapbox-gl-native#16240)

Other changes

  • Added the MGLMapView.minimumPitch and MGLMapView.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

31 Mar 04:57
Compare
Choose a tag to compare
macos-v0.15.0-beta.2 Pre-release
Pre-release

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 and MGLMapSnapshotterDelegate 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:

Documentation is available online or as part of the download.

ios-v5.8.0-beta.2

30 Mar 19:29
Compare
Choose a tag to compare
ios-v5.8.0-beta.2 Pre-release
Pre-release

Changes since Mapbox Maps SDK for iOS v5.8.0-beta.1:

  • Added the MGLMapSnapshotter.delegate property and MGLMapSnapshotterDelegate 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

18 Mar 05:24
Compare
Choose a tag to compare
macos-v0.15.0-beta.1 Pre-release
Pre-release

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 and CONTAINS predicate operators can now test whether a string is a substring of another string or whether the evaluated feature (SELF) lies within a given MGLShape or MGLFeature. (#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 the NSImage.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 returned NO, even while loading a snapshot. (#210)

Other changes

  • Added the MGLMapView.minimumPitch and MGLMapView.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:

Documentation is available online or as part of the download.