This repository has been 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
completedAction
andfailedAction
inAsyncAction
- 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
getState
as 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
shouldUpdate
method toNodeDescription
. This method can be used to control when a description should be updated. The default implementation of this method checks, usingEquatable
if current and next props / state are the same - Improve animations performances. Katana now skips useless update when possible
Breaking Changes
Core
- Refactor
Action
,SyncAction
andAsyncAction
. See this issue for more information
0.5.0 - Argentina
Changes
Core
scaleValue
is now a public function ofPlasticView
. Thanks @sroddy- Implement Linkable Actions. Thanks @cipolleschi
MacOS
- Improve
Button
cornerRadius
can now be customizedisEnabled
can now be customized
Breaking Changes
Core
- It is not possible to invoke
dispatch
andupdate
asynchronously in the lifecyle hooks. This required to change the signatures of the methods by adding the@escaping
parameter
0.4.0 - Santa Claus
Changes
Core
Node
now 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
NSViewCustom
andNativeButton
are now open classes and can be subclassed- Improved MacOS support
- Improve MacOS elements
Breaking Changes
renderer
inAnyNode
is now optional- Rename
middlewares
tomiddleware
- 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
isUserInteractionEnabled
inView
fromfalse
totrue
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
,setCenterX
andsetCenterY
methods. Use+
and-
as shown in the example above - Remove confusing init from
Value
,Size
andEdgeInsets
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