This repository was archived by the owner on Oct 14, 2024. It is now read-only.
Releases: BendingSpoons/katana-swift
Releases · BendingSpoons/katana-swift
0.8.0 - Japan
Changes
Core
- Add defaults to
completedActionandfailedActioninAsyncAction - Fix Plastic issue with frame rounding
- Add ability to mock internal state of
NodeDescription. See this issue for the the complete description of the feature, and this PR for the implementation - Refactor Store's action management. The old implementation had issues in the very early stages of the Store. See this PR for more information
- Fix issue with Plastic layout and improve test coverage
MacOS
- Improve properties of the Button
Breaking Changes
Core
- Dependency Container now takes
getStateas parameter in the init
0.7.0 - Iguassu
Changes
Core
- Fix animation bug when animating node descriptions with children
- Fix animation bug that led to strange behaviours due to some wrong optimisations
Breaking Changes
Core
0.6.0 - Milan
Changes
Core
- Ad
shouldUpdatemethod toNodeDescription. This method can be used to control when a description should be updated. The default implementation of this method checks, usingEquatableif current and next props / state are the same - Improve animations performances. Katana now skips useless update when possible
Breaking Changes
Core
- Refactor
Action,SyncActionandAsyncAction. See this issue for more information
0.5.0 - Argentina
Changes
Core
scaleValueis now a public function ofPlasticView. Thanks @sroddy- Implement Linkable Actions. Thanks @cipolleschi
MacOS
- Improve
ButtoncornerRadiuscan now be customizedisEnabledcan now be customized
Breaking Changes
Core
- It is not possible to invoke
dispatchandupdateasynchronously in the lifecyle hooks. This required to change the signatures of the methods by adding the@escapingparameter
0.4.0 - Santa Claus
Changes
Core
Nodenow exposescontainer, which is the (platform dependent) native view in which the node is rendered- Fix documentation and add documentation where was missing
- Add Lifecycle hooks
- Fix random int generation on 32-bit platforms
- Improve codebase style through Swiftlint
MacOS
NSViewCustomandNativeButtonare now open classes and can be subclassed- Improved MacOS support
- Improve MacOS elements
Breaking Changes
rendererinAnyNodeis now optional- Rename
middlewarestomiddleware - Middleware is now non-generic, in order to allow reusable middleware (e.g., middleware shipped with libraries)
0.3.0 - MacOS Support 🖥
Changes
Katana
- Fix documentation
- Fix cocoapods instructions
- Fix bug that caused crashes in some animations
- Store is now an open class. It is now possible to subclass it for testing purposes
- Added Support for MacOS 🚀
Breaking Changes
Katana Elements
- Changed default value of
isUserInteractionEnabledinViewfromfalsetotrue
Plastic
Layout DSL
We introduced a new DSL for Plastic. It is now possible to express constraints in a more fluent way
// before
view.setTop(anotherView.bottom, offset: .scalable(10))
// now
view.top = anotherView.bottom + 10 // Plastic assumes 10 is scalable
// the following are also valid
view.top = anotherView.bottom + .scalable(10)
view.top = anotherView.bottom + .fixed(10)Changes:
- Remove
setTop,setBottom,setLeft,setRight,setCenterXandsetCenterYmethods. Use+and-as shown in the example above - Remove confusing init from
Value,SizeandEdgeInsets
Confusing Methods
The previous fill method was confusing. We decided to split the fill/fit management in two separated methods:
- removed
fill(top:left:bottom:right:aspectRatio:insets:) - added
fill(top:left:bottom:right:insets:) - added
fit(top:left:bottom:aspectRatio:insets:)
0.2.0
CHANGELOG
Breaking changes
static func updateState(action:currentState:)is nowfunc updateState(currentState:). See this PR for more information. Thanks @Danappelxx
Non breaking changes
- Fix Demo (affects
pod try) - Minor internal fixes




