Skip to content
This repository has been archived by the owner on Oct 14, 2024. It is now read-only.

Releases: BendingSpoons/katana-swift

0.8.0 - Japan

08 Apr 10:04
Compare
Choose a tag to compare

Changes

Core

  • Add defaults to completedAction and failedAction in AsyncAction
  • 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

07 Feb 19:42
Compare
Choose a tag to compare

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

27 Jan 16:51
Compare
Choose a tag to compare

Changes

Core

  • Ad shouldUpdate method to NodeDescription. This method can be used to control when a description should be updated. The default implementation of this method checks, using Equatable 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 and AsyncAction. See this issue for more information

0.5.0 - Argentina

13 Jan 20:01
Compare
Choose a tag to compare

Changes

Core

MacOS

  • Improve Button
    • cornerRadius can now be customized
    • isEnabled can now be customized

Breaking Changes

Core

  • It is not possible to invoke dispatch and update asynchronously in the lifecyle hooks. This required to change the signatures of the methods by adding the @escaping parameter

0.4.0 - Santa Claus

24 Dec 13:31
Compare
Choose a tag to compare

Changes

Core

  • Node now exposes container, 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 and NativeButton are now open classes and can be subclassed
  • Improved MacOS support
  • Improve MacOS elements

Breaking Changes

  • renderer in AnyNode is now optional
  • Rename middlewares to middleware
  • Middleware is now non-generic, in order to allow reusable middleware (e.g., middleware shipped with libraries)

0.3.0 - MacOS Support 🖥

29 Nov 09:55
Compare
Choose a tag to compare

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 in View from false to true

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 and setCenterY methods. Use + and - as shown in the example above
  • Remove confusing init from Value, Size and EdgeInsets

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

17 Nov 15:16
Compare
Choose a tag to compare

CHANGELOG

Breaking changes

  • static func updateState(action:currentState:) is now func updateState(currentState:). See this PR for more information. Thanks @Danappelxx

Non breaking changes

  • Fix Demo (affects pod try)
  • Minor internal fixes