Releases: mapbox/mapbox-gl-native-ios
ios-v5.8.0-beta.1
Changes since Mapbox Maps SDK for iOS v5.8.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 calling the-[UIImage resizableImageWithCapInsets:]
method. (#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 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-alpha.1
This version of the Mapbox Maps SDK for macOS corresponds to version 5.8.0-alpha.1 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) - Added the
in
expression function for testing whether a value is included in an array expression or whether a string is a substring of another string. Use this function in expressions in style JSON or with theMGL_FUNCTION()
syntax in anNSExpression
format string. (mapbox/mapbox-gl-native#16162) - Added the
within
expression function for testing whether the evaluated feature lies within the given GeoJSON object. Use this function in expressions in style JSON or with theMGL_FUNCTION()
syntax in anNSExpression
format string. (mapbox/mapbox-gl-native#16157, mapbox/mapbox-gl-native#16194, mapbox/mapbox-gl-native#16220) - 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
-[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:]
- 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)
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)
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)
- Added the
MGLMapView.prefetchesTiles
property to configure lower-resolution tile prefetching behavior. (mapbox/mapbox-gl-native#14816) - 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
- 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) - 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)
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-alpha.1/platform/macos/Mapbox-macOS-SDK.podspec
- https://raw.githubusercontent.com/mapbox/mapbox-gl-native/macos-v0.15.0-alpha.1/platform/macos/Mapbox-macOS-SDK-symbols.podspec
Documentation is available online or as part of the download.
ios-v5.8.0-alpha.1
Changes since Mapbox Maps SDK for iOS v5.7.0:
Styles and rendering
- Added the
in
expression function for testing whether a value is included in an array expression or whether a string is a substring of another string. Use this function in expressions in style JSON or with theMGL_FUNCTION()
syntax in anNSExpression
format string. (#16162) - Added the
within
expression function for testing whether the evaluated feature lies within the given GeoJSON object. Use this function in expressions in style JSON or with theMGL_FUNCTION()
syntax in anNSExpression
format string. (#16157) - Added the
MGLLineStyleLayer.lineSortKey
andMGLFillStyleLayer.fillSortKey
properties. (#179, #16194, #16220) - The
-[MGLStyle localizeLabelsIntoLocale:]
and-[NSExpression mgl_expressionLocalizedIntoLocale:]
methods can now localize text into Traditional Chinese and Vietnamese. (#173) - Fixed an issue where an
MGLLineStyleLayer.lineDashPattern
value of{1, 0}
resulted in hairline gaps. (#16202) - Improved the performance of loading a style that has many style images. (#16187)
Other changes
- Fixed issues where an offline pack would stop downloading before completion. (#16230, #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. (#16240) - Fixed a memory leak when zooming with any options enabled in the
MGLMapView.debugMask
property. (#15179)
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.
ios-v5.5.1
Changes since Mapbox Maps SDK for iOS v5.5.0:
- 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)
Documentation is available online or as part of the download.
ios-v5.7.0
Changes since Mapbox Maps SDK for iOS v5.6.1:
Bug fixes
- Fixed an issue where
symbolSortKey
could sort text and icons incorrectly. (#16023) - Fixed a crash when parsing GeoJSON sources. (#16106)
Other changes
- Added new property
MGLMapView.panScrollingMode
, which allows you to limit the horizontal or vertical direction a user may pan on the map view. (#108)
Documentation is available online or as part of the download.
ios-v5.7.0-beta.1
Changes since Mapbox Maps SDK for iOS v5.7.0-alpha.1:
Other changes
- Fixed a crash when parsing GeoJSON sources. (#16106)
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.
ios-v5.7.0-alpha.1
Changes since Mapbox Maps SDK for iOS v5.6.1:
Other changes
- Added new property
MGLMapView.panScrollingMode
, which allows you to limit the horizontal or vertical direction a user may pan on the map view. (#108)
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.
ios-v5.6.1
Changes since Mapbox Maps SDK for iOS v5.6.0:
- Fixed a crash that could occur when
MGLShapeSource
destroys its underlying data. (#16106)
Documentation is available online or as part of the download.
ios-v5.6.0
Changes since Mapbox Maps SDK for iOS v5.5.0:
This release includes a known issue where the binary size has increased. #63
Packaging
- Integrates
MapboxMobileEvents
as a dependency (#60). As a result, the following installation processes have changed:- CocoaPods: You now must include
use frameworks!
in your Podfile. - Carthage: Specify
github "mapbox/mapbox-events-ios" == 0.10.2
in your Cartfile. Additionally, please note that if you are using--no-use-binaries
, theMapboxMobileEvents.framework
will still be installed as a dynamic framework. - Manual installation: New Github release artifact (
mapbox-ios-sdk-5.6.0-dynamic-with-events.zip
) contains theMapboxMobileEvents.framework
; please install this along withMapbox.framework
- CocoaPods: You now must include
Networking and storage
- Make network requests for expired resources lower priority than requests for new resources. (#15950)
Bug fixes
- Fixed the rendering bug caused by redundant pending requests for already requested images #15864
- Enable incremental vacuum for the offline database in order to make data removal requests faster and to avoid the excessive disk space usage (creating a backup file on VACUUM call). (#15837)
- Fix ornaments' view constraints bug when devices change to bold-text mode. (#57)
- Fixed
MGLShapeSource
source flickering on style transition. (#15907) - Fixed flickering caused by unnecessary removing and re-adding of the render sources when the order of their corresponding style objects was changed in the updated style (#15941)
- Fixed a crash when
MGLSymbolStyleLayer.textFontSize
is set to an expression that evaluates to0
. (#16080)
Other changes
- Convert GeoJSON features to tiles for the loaded source description in a background thread and thus unblock the UI thread (#15885)
Documentation is available online or as part of the download.
ios-v5.6.0-beta.1
Changes since Mapbox Maps SDK for iOS v5.6.0-alpha.2:
- No public-facing changes in v5.6.0-beta.1.
Packaging
- Integrates
MapboxMobileEvents
as a dependency (#60). As a result, the following installation processes have changed:- CocoaPods: You now must include
use frameworks!
in your Podfile. - Carthage: Specify
github "mapbox/mapbox-events-ios" == 0.10.2
in your Cartfile. Additionally, please note that if you are using--no-use-binaries
, theMapboxMobileEvents.framework
will still be installed as a dynamic framework. - Manual installation: New Github release artifact (
mapbox-ios-sdk-5.6.0-beta.1-dynamic-with-events.zip
) contains theMapboxMobileEvents.framework
; please install this along withMapbox.framework
- CocoaPods: You now must include
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.