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
install and uninstall have been deprecated, use activate and deactivate instead.snp.* rather than .snp_*. For example view.snp.makeConstraints { }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 inputupdateConstraints 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()fatalError with better outputNSLayoutConstraint.activate and what view they are added to is now deferred to UIKitvar contentHugging<Axis>Priority: CGFloat to makevar contentCompressionResistance<Axis>Priority: CGFloat to makeUILayoutGuide via make.left.equalTo(guide.snp.top)make.edges.equalTo(other.snp.margins)layoutConstraint getter to Constraint to get the underlying NSLayoutConstraints created by a constraintequalToSuperview() conveniencelabeled("Hello") to constraint chain to label your constraints for debugging output..insets() for width and height #183guard #available statementsinsets to inset and it now accepts Float/Double/CGFloat/Int/UInt as well as EdgeInsetsmake.width.equalTo(50) now install directly on the from view rather than it’s superviewfinal declarations as they were causing crashes in certain circumstancesand and with chain variables were removedupdate### functions to Constraint so their constants and priorities can be updatedSnapKit.Config.interfaceLayoutDirection variable for richer Leading/Trailing support.snp_prepareConstraints -> [Constraint] which allows pre-building of constraintsand when it is used after relation has been set