Monday Jul 31, 2023
After more than 3 years of development, 145 contributors, and 983 closed pull requests, the Composable Architecture has finally reached 1.0! 🎉
The library has been quite stable since its inception, but we weren’t ready to put the “1.0” label on it until we released its navigation tools, which happened just a few weeks ago. If you want to get started with the library today you have two options:
This week we are beginning to release a brand new series of episodes to tour the 1.0 library. The first episode builds a simple application from scratch to demonstrate how to implement your first feature, execute side effects, control dependencies, and write a full test suite.
Next week the tour continues by rebuilding Apple’s Scrumdinger from scratch, using the Composable Architecture. This involves composing together many isolated features, exploring navigation patterns, dealing with complex side-effects, and writing tests to exercise all of the subtle and nuanced logic in the application.
The documentation has a full tutorial that explores all of the fundamentals of building a feature in the Composable Architecture. This includes implementing the core logic and behavior of your features with reducers, controlling dependencies, writing tests, and using the library’s navigation tools.
In tandem with the 1.0 release we are also releasing 0.57.0, which is a backwards-compatible release that hard deprecates everything that is removed in 1.0. This provides you a soft landing for upgrading your projects. We recommend you first upgrade to 0.57.0, fix all deprecation warnings, and then upgrade to 1.0 and fix any compiler errors for incompatible changes we made to the library.
This is only the beginning for the Composable Architecture. We have big plans
to integrate all of the new features of Swift 5.9 and iOS 17 into the library, such as the
Observable
protocol and macros. These tools will fundamentally change the ergonomics and power of
the library, but as always we will aim to make these additions as backwards compatible as possible.
If you use the Composable Architecture, then we highly recommend upgrading to 1.0 as soon as possible. And if you do not use the Composable Architecture, then there’s no time like the present. 🥳
👋 Hey there! If you got this far, then you must have enjoyed this post. You may want to also check out Point-Free, a video series covering advanced programming topics in Swift. Consider subscribing today!