Releases: pointfreeco/swift-composable-architecture
Releases · pointfreeco/swift-composable-architecture
0.11.0
- Added:
TextState
, a testable, equatable description of SwiftUIText
. Useful for when you want to store dynamic, stylized text in your app's state. - Changed:
AlertState
andActionSheetState
now useTextState
under the hood. - Fixed: worked around a bug affecting iOS 13.0-13.2 that prevented state changes from being reflected in the view (thanks @nsillik).
- Fixed:
AlertState
andActionSheetState
can once again be used with verbatim strings (thanks @ohitsdaniel). - Deprecated:
AlertState
andActionSheetState
initializers that takeLocalizedStringKey
. Migration path: use the initializers that take explicitTextState
instead (which can be initialized with bothLocalizedStringKey
and verbatimString
s).
0.10.0
- Added:
WithViewStore
now conforms toScene
and can be used inApp.body
content. - Changed:
Store.scope
's less commonly used overload that transforms publishers ofStore
s has been deprecated and renamed topublisherScope
. - Fixed: a few Test Store failure messages were reporting the wrong debug information. They have been fixed.
- Fixed: view store-derived bindings that do not have
animation
modifiers applied will not properly animated when mutated explicitly inwithAnimation
. - Fixed: documentation improvements (thanks @nspavlo, @SteinerHannes, @mluisbrown).x
- Infrastructure: better support dark mode in the Voice Memos demo (thanks @willisplummer).
- Infrastructure: use serial queue in Tic Tac Toe demo.
0.9.0
- Improved: test stores can now call throwing code in assert step closures.
- Fixed: stores now buffer actions that are sent recursively.
- Infrastructure: fixed Tic Tac Toe demo bug.
- Infrastructure: fixed LocalizedStringKey test (thanks @mluisbrown).
- Removed ComposableCoreLocation and ComposableCoreMotion. They now live at https://github.com/pointfreeco/composable-core-location and https://github.com/pointfreeco/composable-core-motion
0.8.0
- Improved: better error messaging around testing uncompleted effects: it will now print the action the effect was kicked off from (thanks @mackoj).
- Bug fix: fixed identified array implementations of
shuffle
,reverse
(thanks @jeffersonsetiawan). - Bug fix: test stores should now perform effects in the same order as a live store.
- Infrastructure: better document TCA acronym.
- Infrastructure: document Apple bug with
WithViewStore
andScrollViewReader
. - Infrastructure: fix recursive higher-order reducer demo to map its effects recursively.
- Infrastructure: Xcode 12 CI.
0.7.0
- Changed:
LocationManager
mock initializers now take the correct, optional signature for thelocation
dependency (thanks @mackoj ). - Changed:
Reducer.optional
is now a method so that its assertions can include file/line context (thanks @alexito4). Theoptional
property has been deprecated in favor of the method. - Changed: previously-deprecated interfaces have been obsoleted.
- Bug fixed:
Store.ifLet
no longer evaluates theelse
branch too often (thanks @mluisbrown). - Bug fixed: more than one alert can now be presented in a row, as can more than one action sheet.
- Infrastructure: documentation fixes (thanks @jasdev, @artnest, @mmatoszko).
- Infrastructure:
Store.ifLet
can take advantage of ascope
overload (thanks @fonkadelic). - Infrastructure: fixed Voice Memos bug around deleting a memo that is playing.
- Infrastructure: new demo for tvOS focus.
- Infrastructure: added key frame effect to animation demo (thanks @boudavid).
- Infrastructure: fixed Tic-Tac-Toe demo bug around error display (thanks @heiberg).
0.6.0
- Added: SwiftUI alert and action sheet helpers via
AlertState
andActionSheetState
. - Changed:
ViewStore
no longer uses@Published
to coordinate its state withObservableObject
.
0.5.0
- Added:
ComposableCoreMotion
, a micro library for integrating the Composable Architecture with Core Motion. - Improved:
Store.send
now prints the action sent in its assertion failure for better debugging (thanks @ollitapa). - Changed:
Reducer.debug
now usesPublishers.MergeMany
instead ofPublishers.Concatenate
to avoid a Combine bug that results in a memory leak. - Infrastructure: document
rxswift-composable-architecture
(thanks @dannyhertz), moveViewStore.swift
into the root directory (thanks @dannyhertz), reorganize VoiceMemos demo for readability.
0.4.0
- Added: ComposableCoreLocation types now conform to
Codable
(thanks @alskipp). - Added: Reducer
debug
methods now take anactionFormat
parameter. - Changed: depend on CombineSchedulers instead of vendoring
AnyScheduler
andTestScheduler
. The library contains several bug fixes over the code that was included in 0.3.0. - Fixed: use
subscribe
method overreceive(subscriber:)
, per Apple documentation (thanks @asiliuk). - Improved: ComposableCoreLocation delegate ergonomics (thanks @klundberg).
- Optimized: signposts should be a little more performant now.
- Optimized:
store.send
no longer recursively processes effects and instead processes them in awhile
loop, avoiding stack issues (thanks @klop). - Optimized:
IfLetStore
view content types been simplified. - Infrastructure: link to ReactiveSwift fork (thanks @mluisbrown).
- Infrastructure: encapsulate
Publishers.Create
andAnyPublisher.init(_:)
(thanks @kaandedeoglu). - Infrastructure: clean up tests around cancellation (thanks @klop).
- Infrastructure: added a new web socket case study.
- Infrastructure: fixed voice memo assertion failure.
0.3.0
- Added: reducers can now be instrumented with signposts using the
signposts
higher-order reducer. - Changed: debugged reducers will now omit printing state when no state changes.
- Bug fixed: several bugs around automatically synthesized mutating methods on
IdentifiedArray
, includingreplaceSubrange
andsort
(thanks @peterkovacs). - Bug fixed: chaining multiple
cancellable
calls onto a single effect with the same identifier no longer crashes. - Infrastructure: better support for iPad in the demo apps.
- Infrastructure: cleaned up location manager app annotation behavior (thanks @kaandedeoglu).
0.2.0
- Added:
ComposableCoreLocation
, a micro library for interfacing the Composable Architecture with Core Location.