Releases: spotify/Mobius.swift
Releases · spotify/Mobius.swift
0.5.2
0.5.1
- 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
0.4.1
0.4.0
- Removed deprecations introduced in 0.3.0 (#145, #166)
- Removed
initiate
fromMobius.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
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-threadedMobiusController
runs a loop on a single background queue.- Fixed several issues around hard-to-avoid assertions in loop teardown.
- New
EffectRouter
andEffectHandler
replaceEffectRouterBuilder
(which is deprecated along with several helpers). - Effects in
First
andNext
are now an array rather than a set. This doesn’t imply an ordering guarantee, but does mean that effects don’t have to beHashable
. - Various things renamed or changed from methods to properties to better conform to Swift API Guidelines and for internal consistency:
Initiator
is nowInitiate
, and is only used withMobiusController
.MobiusLoop.getMostRecentModel()
becomeslatestModel
.MobiusController.getModel()
becomesmodel
.Connectable.InputType
andOutputType
becomeInput
andOutput
;Connection.ValueType
becomesValue
.
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 amakeController()
method onMobius.Builder
instead of being initialized with a builder argument. - All methods on
MobiusLogger
now have default do-nothing implementations. ConsoleLogger
has been replaced withSimpleLogger
, which can take a consumer function to use instead ofprint
.NoEffect
andBrokenConnection
are deprecated.MobiusHooks.ErrorHandler
now returnsNever
rather thanVoid
.- 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
0.1.2
- Remove
xcscheme
from Xcode project in order to improve performance when integrating the library with Carthage. (@BalestraPatrick)
0.1.1
Merge pull request #21 from spotify/release-0.1.1 Bump podspecs and README to 0.1.1
Alpha Release
Merge pull request #14 from BalestraPatrick/installation-instructions Add dependency managers installation instructions to README