Releases: pointfreeco/swift-composable-architecture
Releases · pointfreeco/swift-composable-architecture
1.17.0
What's Changed
- Added: Add Sharing dependency. #3517
- Fixed: Fix the infinite loop issue when WebSocket returns an error message in the example case. by @LukeWei in #3508
- Fixed: Fix obsolete detail on StackElementID documentation by @pyrtsa in #3509
- Infrastructure: Add a test to document how 'task tree' cancellation happens. #3499
- Infrastructure: Add migration guide for 1.16. #3491
New Contributors
Full Changelog: 1.16.1...1.17.0
1.16.1
What's Changed
- Fixed: Address a potential race condition in shared file storage (#3479).
- Fixed: Add
@ViewBuilder
toNavigationStack
root view(thanks @joshrl, #3493). - Fixed: Address potential crash in KVO shared app storage observation during cancellation (thanks @pyrtsa, #3494).
New Contributors
Full Changelog: 1.16.0...1.16.1
1.16.0
What's Changed
- Added: support for
Date
values in shared app storage (thanks @rudedogdhc, #3470). - Performance: Improved performance of shared app storage observation (#3487).
- Performance: Reduce amount of locking in the Combine subject powering the Store (thanks @iampatbrown, #3476).
- Fixed: Addressed a potential crash in shared app storage when many app storage variables are notified by notification center during a SwiftUI view body update (#3487).
- Fixed: Addressed a race condition in the Combine subject powering the Store (thanks @kabiroberai, #3475).
- Fixed: Better autocomplete for dynamic member lookup (#3463).
- Infrastructure: Capture existing
@Shared
test store behavior in test with a to-do for better behavior in the future (thanks @rcarver, #3455).
New Contributors
- @rudedogdhc made their first contribution in #3470
Full Changelog: 1.15.2...1.16.0
1.15.2
What's Changed
- Fixed: Address race conditions in the Combine subject driving the
Store
's state (thanks @kabiroberai, #3447). - Infrastructure: Update Russian translation in README.md (thanks @SubvertDev, #3457).
New Contributors
- @SubvertDev made their first contribution in #3457
Full Changelog: 1.15.1...1.15.2
1.15.1
What's Changed
- Fixed: Xcode 16.1 beta 3 introduced a concurrency change that requires an explicit
@MainActor
on a NavigationLink initializer to build (thanks @chrisjrex, #3430). - Fixed: Suppress Swift <6 warning (#3445)
- Deprecated:
@Reducer(state: .equatable)
has been soft-deprecated in Swift 6 now that the bug preventingextension Feature.State: Equatable {}
has been fixed (#3379). - Deprecated:
Store.ifLet
has been soft deprecated in favor of observation tools (#3382). - Infrastructure: Added migration guide for 1.15 (#3390)
- Infrastructure: Update README documentation links for 1.15.0 (thanks @kgrigsby59, #3397).
- Infrastructure: Update case studies to run in Swift 6 mode (#3394
- Infrastructure: Update documentation and examples to use Swift Testing (#3413).
- Infrastructure: Add import modules on NavigationStack tutorial source code (thanks @loinsir, #3409).
- Infrastructure: Add Swift Macro Compatibility Check to CI (thanks @Matejkob, #3406).
- Infrastructure: Update benchmarks target (#3424).
- Infrastructure: Don't
xcbeautify
Swift Testing suites in CI (#3425). - Infrastructure: Internally use
AnyHashableSendable
from Concurrency Extras (#3428). - Infrastructure: Run sync ups tests with main serial executor (#3431).
- Infrastructure: Clean up key path bitcasting (#3411).
- Infrastructure: Address concurrency warnings in tests (#3438).
New Contributors
- @loinsir made their first contribution in #3409
- @chrisjrex made their first contribution in #3430
Full Changelog: 1.15.0...1.15.1
1.15.0
What's Changed
- Added: Complete Swift 6 Language Mode support (#3282, #3318; #3317; #3321; #3325; #3326; #3320; #3333; #3329).
- Fixed: Warn when bindable store is sent a binding action without having integrated with
BindingReducer
(#3347). - Fixed: Remove and lock subscriptions from the Combine subject powering Store and Shared subscriptions (thanks @iampatbrown, #2699). This should improve memory and avoid potential issues related to concurrent access to the publisher.
- Fixed: Avoid potential deadlock in
Shared
by dispatching to the main actor (#3356). - Fixed: Swift Testing support for concurrent tests by bucketing cancellation identifiers to each
@Test
(#3374). - Infrastructure: Remove disfavored
NSObject.observe
overload in favor of SwiftNavigation'sobserve
(#3316) - Infrastructure: Fix typo and deprecated content in
Performance.md
(thanks @MaraMincho, #3323); 'WhatIsNavigation.md' fixes (thanks @stealmh, #3345); fix typos (thanks @stealmh, #3349; thanks @O-O-wl, #3354); replace deprecatedviewStore
withstore
in documentation (thanks @qwerty3345, #3341). - Infrastructure: Added failing test to document behavior with observation/identified array (#3346).
- Infrastructure: Update
05-HigherOrderReducers
CaseStudies (thanks @qwerty3345, #3342); update04-Navigation-Lists-NavigateAndLoad
CaseStudies (thanks @MaraMincho, #3327). - Infrastructure: Issue template updates (#3363).
- Infrastructure: Apply
any
to all existential protocol uses (thanks @qwerty3345, #3370). - Infrastructure: Improve CI job performance (#3357).
- Infrastructure: Remove outdated
#if
branching in the library (#3376).
New Contributors
Full Changelog: 1.14.0...1.15.0
1.14.0
What's Changed
- Added: Isolate
Store
,TestStore
, and various view helpers to the@MainActor
(#3277, #3283). This has been done with@preconcurrency
for backwards compatibility. If you are using strict concurrency it may require you add@MainActor
annotations to any SwiftUI view helpers that access the store. - Fixed: Don't eagerly dismiss an alert presented by another (#3309).
- Infrastructure: Bump Swift Navigation version (#3310).
- Infrastructure: Documentation fixes (thanks @woohyunjin06, #3296; @MaraMincho, #3299).
New Contributors
- @woohyunjin06 made their first contribution in #3296
- @MaraMincho made their first contribution in #3299
- @qwerty3345 made their first contribution in #3305
Full Changelog: 1.13.1...1.14.0
1.13.1
What's Changed
- Fixed: Address regression in which
observe
was limited to platforms that can import UIKit by bringing back an AppKit-compatible version (#3295). - Infrastructure: Integration test fixes (#3294).
Full Changelog: 1.13.0...1.13.1
1.13.0
What's Changed
- Added: UIKit navigation and binding tools (#3180).
- Fixed: Update
Shared
to invokereportIssue
(#3258). - Fixed: Address a few compiler warnings (#3279).
- Fixed: Avoid crash when writing to shared user defaults on a background thread (thanks @larryonoff, #3285).
- Infrastructure: Typo fixes (thanks @hmhv, #3267; @mltbnz, #3268).
- Infrastructure: Update swiftlang repository link (thanks @lamtrinhdev, #3270).
- Infrastructure: Updated a bunch of DocC references (#3287).
New Contributors
- @mltbnz made their first contribution in #3268
- @lamtrinhdev made their first contribution in #3270
Full Changelog: 1.12.1...1.13.0
1.12.1
What's Changed
- Fixed: Reference
IssueReporting
symbols instead ofXCTestDynamicOverlay
to avoid some linker errors (#3256). - Fixed: Point Issue Reporting to xctest-dynamic-overlay URL (#3257).
- Infrastructure: Add 1.12 migration guide (#3251).
- Infrastructure: Tutorial and documentation fixes (thanks @yaslab, #3250; @junbangg, #3252).
Full Changelog: 1.12.0...1.12.1