Skip to content

Releases: spotify/Mobius.swift

0.5.2

23 Feb 10:57
8606126
Compare
Choose a tag to compare

What's Changed

  • Disambiguate Nimble Predicate usage (#200)
  • Bump swiftlint action (#207)
  • Add asDisposable convenience property to Task (#205)

0.5.1

30 May 14:58
976f19e
Compare
Choose a tag to compare
  • Fixed test diffing failure (#188)
  • Fixed issue with asynchronous viewConnectable disposal (#190, #191)
  • Removed need for effect enums to always conform to Equatable (#194)
  • Updated Nimble to 10.0.0 (#187, #192)
  • Updated Quick to 5.0.1 (#195)
  • Updated CasePaths to 0.10.1 (#196, #199)

Full Changelog: 0.5.0...0.5.1

0.5.0

25 Jan 20:53
c2f958f
Compare
Choose a tag to compare
  • Improved Effect enum matching with CasePaths (#181, #184)
  • Updated copyright notice (#185)
  • Removed Carthage and CocoaPods support (#186)

0.4.1

06 Sep 01:57
142cf70
Compare
Choose a tag to compare
  • Updated dependencies to support Xcode 13 (#180)

0.4.0

03 Sep 14:45
4a256c4
Compare
Choose a tag to compare
  • Removed deprecations introduced in 0.3.0 (#145, #166)
  • Removed initiate from Mobius.Builder (#146)
  • Removed unnecessary generic arguments (#147)
  • Removed MobiusTest playground (#148)
  • Added Mobius.beginnerLoop helper and tests for the Getting Started tutorial (#149)
  • Added Connectable.map helper for output transformation (#150)
  • Simplified MobiusLoop implementation (#151)
  • Fixed and simplified logging adaptors (#153)
  • Cleaned up APIs and implementations (#154)
  • Added ability to specify execution queue for effect handlers (#155, #157)
  • Updated doc comments (#158)
  • Replaced abstract ConnectableClass implementations (#161)
  • Disabled caching for CI SPM build (#162)
  • Updated CI to Xcode 11.4.1 (#163)
  • Added visual model diff to test expectation output (#164)
  • Addressed exclusionary language (#165)
  • Handled #file/#filePath distinction for Swift 5.3 (#167)
  • Removed strong connectable↔︎loop reference (#169)
  • Bumped version (#170)
  • Fixed various spelling errors (#171)
  • Deleted disabled assertion (#172)
  • Migrated dependencies to XCFramework (#174)
  • Fixed Xcode 12.5 compatibility (#175)
  • Added diffed effects in NextPredicate (#177)
  • Added more specific effect matchers (#178)
  • Fixed disconnected API comment (#179)

0.3.0

06 Apr 08:50
afe23c2
Compare
Choose a tag to compare

0.3.0 makes many changes from 0.2.0. Where possible, old names and types are available with deprecation attributes; these will soon be removed.

  • Updated threading model:
    • MobiusLoop is now single-threaded
    • MobiusController runs a loop on a single background queue.
    • Fixed several issues around hard-to-avoid assertions in loop teardown.
  • New EffectRouter and EffectHandler replace EffectRouterBuilder (which is deprecated along with several helpers).
  • Effects in First and Next are now an array rather than a set. This doesn’t imply an ordering guarantee, but does mean that effects don’t have to be Hashable.
  • Various things renamed or changed from methods to properties to better conform to Swift API Guidelines and for internal consistency:
    • Initiator is now Initiate, and is only used with MobiusController.
    • MobiusLoop.getMostRecentModel() becomes latestModel.
    • MobiusController.getModel() becomes model.
    • Connectable.InputType and OutputType become Input and Output; Connection.ValueType becomes Value.
  • Update is now a struct. This isn’t leveraged by Mobius itself at the moment, but makes it easier to write transformations on updates in a fluent style.
  • For consistency, MobiusController is created through a makeController() method on Mobius.Builder instead of being initialized with a builder argument.
  • All methods on MobiusLogger now have default do-nothing implementations.
  • ConsoleLogger has been replaced with SimpleLogger, which can take a consumer function to use instead of print.
  • NoEffect and BrokenConnection are deprecated.
  • MobiusHooks.ErrorHandler now returns Never rather than Void.
  • Mobius no longer adds a public extension to NSRecursiveLock.
  • There are more documentation comments than there used to be.
  • Tooling updated to Swift 5.0 and Xcode 11.0.
  • Swift Package Manager is explicitly supported for all Apple platforms; Carthage and CocoaPods are supported for iOS only.

0.2.0

13 Jun 08:53
a399ce9
Compare
Choose a tag to compare
  • Deprecated CompositeEventSourceBuilder in favour of MergedEventSource (#28)
  • Support Swift 5.1 toolchains (#29)

0.1.2

12 Apr 00:17
44360cf
Compare
Choose a tag to compare
  • Remove xcscheme from Xcode project in order to improve performance when integrating the library with Carthage. (@BalestraPatrick)

0.1.1

10 Apr 16:56
d8cb4fd
Compare
Choose a tag to compare
Merge pull request #21 from spotify/release-0.1.1

Bump podspecs and README to 0.1.1

Alpha Release

13 Mar 14:32
a1927ff
Compare
Choose a tag to compare
Alpha Release Pre-release
Pre-release
Merge pull request #14 from BalestraPatrick/installation-instructions

Add dependency managers installation instructions to README