SnapKit/CHANGELOG.md

96 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

CHANGELOG
=======
# SnapKit 3.0
**SnapKit 3.0** is a complete re-write to take advantage of modern Swift 3.0 as well as
clean up the API. As such please use with caution and check your apps thoroughly
### Breaking
* iOS 7.0 support has been removed
* `install` and `uninstall` have been deprecated, use `activate` and `deactivate` instead
* DSL is now accessed through `.snp.*` rather than `.snp_*`. For example `view.snp.makeConstraints { }`
* Constraints are now updated through `update(offset:)`, `update(inset:)` and `update(priority:)`
* `.inset()` will no longer take `CGPoint` or `CGSize` as input
* `.offset()` will no longer take `CGPoint`, `CGSize`, `EdgeInsets` as input
* `updateConstraints` will no longer allow creating new constraints unless there are no existing constraints for the view. If it does generate new constraints it will throw a fatal error.
* `UIEdgeInsets` are now have their right and bottom value inverted for more natural results such as `make.edges.equalTo(UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)).inset()`
### Enhancements
* Debugging output has been improved to show exact file/line number from which the broken constraint was created
* Exceptions thrown during constraint creation have been replaced with `fatalError` with better output
* Constraints are now installed through `NSLayoutConstraint.activate` and what view they are added to is now deferred to UIKit
* Added `var contentHugging<Axis>Priority: CGFloat` to `make`
* Added `var contentCompressionResistance<Axis>Priority: CGFloat` to `make`
* Added support for `UILayoutGuide` via `make.left.equalTo(guide.snp.top)`
* Added support for constraining edges to margins or vice versa via `make.edges.equalTo(other.snp.margins)`
# 0.22.0 - August 8 2016
* Added `layoutConstraint` getter to `Constraint` to get the underlying NSLayoutConstraints created by a constraint
* Updated support for Swift 2.3 and Xcode 8 Beta 3
# 0.21.1 - June 20 2016
* Added support for Swift 2.3
# 0.21.0 - May 11 2016
* Added `equalToSuperview()` convenience
* Enabled app extension API for tvOS and OSX
# 0.20.0 - March 25 2016
* Swift 2.2 Support
* Added a `labeled("Hello")` to constraint chain to label your constraints for debugging output.
# 0.19.1 - January 26 2016
* Rebased from 0.16.0 with only desired commits to resolve many unexpected issues
# 0.19.0 - January 21 2016
* Improved `.insets()` for `width` and `height` #183
* Added Carthage tvOS support #179
* Added Package.swift #175
* Codesign is set to Distribution on Release #181
# 0.15.0 - September 22 2015
* Fixed issues with layout guides on iOS 9
* Fixed warnings related to `guard #available` statements
* Better support for legacy platforms (iOS 7 / OS X 10.9). [Documentation Here](http://snapkit.io/legacy-platforms)
# 0.14.0 - September 12 2015
* Swift 2.0 / Xcode 7 GM
# 0.13.0 - July 30 2015
* **BREAKING:** Refactored `insets` to `inset` and it now accepts Float/Double/CGFloat/Int/UInt as well as EdgeInsets
* Size constraints to fixed constants like `make.width.equalTo(50)` now install directly on the from view rather than its superview
* Debugging should generate property object pointer descriptions
* Debugging now includes file/line number where the closure that created the constraint is in your code
# 0.11.0 - April 26 2015
* Removed `final` declarations as they were causing crashes in certain circumstances
# 0.10.0 - April 15 2015
* **ANNOUNCEMENT**: Snap is now SnapKit
* **BREAKING:** The constraint making chain now utilises protocols to tighten the API's to avoid user error. This may break some syntaxes.
* **BREAKING:** Semantic `and` and `with` chain variables were removed
* Added `update###` functions to `Constraint` so their constants and priorities can be updated
* Added a `SnapKit.Config.interfaceLayoutDirection` variable for richer Leading/Trailing support.
* Fixed memory leaks that could occur on long lived views
* Ensure Swift 1.2 compatibility
# 0.9.x - March 2015
* Re-worked some internal API to allow for future updates
* Added `snp_prepareConstraints -> [Constraint]` which allows pre-building of constraints
* Added a fatal error to `and` when it is used after relation has been set