Releases: mapbox/turf-swift
Releases · mapbox/turf-swift
v2.0.0-alpha.3
Changes since v2.0.0-alpha.2:
Packaging
- Restored support for tvOS, watchOS, and Linux.
- This library once is once again distributed as source code.
- When installing this library using Carthage, Carthage builds it with library evolution enabled. (#134)
Other changes
- Replaced the Linux-specific definitions of
CLLocationCoordinate2D
,CLLocationDirection
,CLLocationDistance
, andCLLocationDegrees
withLocationCoordinate2D
,LocationDirection
,LocationDistance
, andLocationDegrees
, respectively. On Apple platforms, the new types remain type aliases, so you can continue to use the familiarCL
-prefixed Core Location types unless you are writing cross-platform code that supports Linux. (#132) - Renamed
BoundingBox(_:_:)
toBoundingBox(southWest:northEast:)
. (#132)
v2.0.0-alpha.2
- Enables library evolution for SPM, Carthage, and CocoaPods to unblock mapbox/mapbox-navigation-ios#2629 and mapbox/mapbox-navigation-ios#2794.
v1.2.0
- Application extensions can now link to Turf. (#126)
- Added the
Polygon(center:radius:vertices:)
initializer for creating a regular polygon that approximates a circle. (#123) - Added the
LineString.simplified(tolerance:highestQuality:)
andLineString.simplify(tolerance:highestQuality:)
methods that apply Ramer–Douglas–Peucker simplification. (#124)
v2.0.0-alpha.1
This release is a wrapper that will serve v1.1.0 of Turf-Swift as a binary. This consumption is needed so that Swift Package Manager can use Turf Swift as a dynamic dependency.
v1.2.0-rc.1
Changes since v1.2.0-beta.1:
- Application extensions can now link to Turf. (#126)
v1.2.0-beta.1
v1.1.0
v1.0.0
- Turf now requires iOS 10.0 or above, macOS 10.12.0 or above, tvOS 10.0 or above, or watchOS 3.0 or above to run. (#112)
- Renamed
Turf.intersection(_:_:)
tointersection(_:_:)
, working around a compiler error. (#115) - Renamed
GeoJSON.decodedFeatueCollection
toGeoJSON.decodedFeatureCollection
. (#111)
v0.5.0
v0.4.0
Packaging
- Migrated to Swift 5. (#83)
GeoJSON representation
- Replaced the
Geometry
struct with an enumeration by the same name that has an associated value for each geometry type. (#93) - Removed the
FeatureVariant
enumeration and the series of geometry-specific feature structs such asPointFeature
andLineStringFeature
in favor of a singleFeature
struct. For example, instead of creating aPointFeature
instance, create aFeature
instance and set itsFeature.geometry
property to aPoint
instance. (#93) - Added the
GeometryCollection
struct to represent GeoJSON geometry collections. (#93) - Removed the
JSONType
protocol andAnyJSONType
struct in favor of making[String: Any?]
conform to theCodable
protocol. (#95) - This library no longer provides
Codable
conformance forCLLocationCoordinate2D
structs, since the appropriate precision may vary from one use case to another. (#96) - Removed
Polyline
as a type alias forLineString
. (#93) - Added initializers for converting a
MultiPolygon
to aGeometryCollection
, aRing
to aLineString
, and aPolygon
to aMultiLineString
. (#99)
Spatial operations
- Added the
LineString.bezier(resolution:sharpness:)
method for calculating a Bézier spline. (#73) - Added the
mid(_:_:)
function for calculating the point midway between two coordinates, taking the curvature of the Earth into account. (#75) - Fixed an issue where
LineString.sliced(from:to:)
duplicated the last coordinate ifto
is omitted or equal to the end of the line string. (#79) - Fixed an issue where
Polygon.contains(_:ignoreBoundary:)
returnedfalse
for coordinates on a boundary coinciding with the bounding box. (#90) - Fixed an issue where the
Polygon.contains(_:ignoreBoundary:)
misinterpreted theignoreBoundary
argument to result in the opposite behavior. (#90)