Releases: pointfreeco/swift-composable-architecture
Releases · pointfreeco/swift-composable-architecture
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
1.12.0
What's Changed
- Added: Swift Testing beta support (#3229).
- Added:
FileStorageKey
now supports custom decoding/encoding (thanks @oskarek, #3225). - Fixed: Update
@Reducer enum
macro to generate direct action cases for ephemeral state and avoid warnings produced byNever
(#3240). - Fixed:
Shared
'sdidSet
is now isolated to the main actor to avoid potential data races (#3206). - Fixed: Point updated packages to swiftlang organization to suppress SwiftPM warnings (#3234)
- Infrastructure: Tutorial/documentation/example typo fixes and cleanup (thanks @btr-better, #3193; @eltociear, #3194; #3200; @larryonoff, #3201; @junbangg, #3217, #3216, #3221, #3237, #3238; @gibachan, #3228; @takehilo, #3220; @daichikuwa0618, #3210).
- Infrastructure: Convert all test/example usage of
ActorIsolated
toLockIsolated
(#3198). - Infrastructure: Made internal improvements to shared file storage throttling (#3079).
- Infrastructure: Remove Swift 5.7.1 tools (#3203).
- Infrastructure: Add
.editorconfig
for consistent code formatting (thanks @Matejkob, #3215).
New Contributors
- @junbangg made their first contribution in #3217
- @Matejkob made their first contribution in #3215
- @daichikuwa0618 made their first contribution in #3210
- @oskarek made their first contribution in #3225
Full Changelog: 1.11.2...1.12.0