🚀 This release closes the 4.0.0 milestone.
This release includes a significant change to
CoreDataStack, which no longer uses child contexts. The
backgroundContextare now both connected to the persistent store coordinator. See #60 for the background and rationale behind this change. In short, child contexts are considered bad practice for this kind of stack setup and should really only be used for "throw away" work.
While this is technically a breaking change, it likely will not affect most clients. The behavior should remain largely unchanged — data is still kept in-sync between the 2 contexts. So unless you were specifically relying on this parent-child nesting behavior, you should be fine. 👍
💥 Breaking changes ⚠️
backgroundContextare now both connected to the persistent store coordinator (#60)
- When creating a child context, the
concurrencyTypedetermines which context is the parent (#73)
CoreDataStackFactoryhas been simplified. There is now a single
🆓 Free functions
✅ In alignment with the latest Swift API guidelines, the library now prefers methods/extensions over free functions.
resetStack()top-level function is now a method on
deleteObjects()top-level function is now an extension method on
fetch()top-level function is now an extension method on
migrate()top-level function is now an extension method
⚡️ All docs have been updated. As usual, check these out for more details on the changes described above.
🍱 There have been other general refinements and additional unit tests have been added. Test coverage is 94% 😎
🚀 This release closes the 3.0.0 milestone.
The goals of this release are primarily to adopt Swift 2.2 and refine the API to make it more Swifty, as the definition of Swifty has evolved.
💥 Breaking changes :warning:
There are many breaking changes in this release, however — with the exception of Swift 2.2 — they are all merely name changes that aim to reduce verbosity.
- Migrated to Swift 2.2. (#67) Swift 2.2 and above is now required.
- 0️⃣ Renamed
- 📇 Renamed
- 📇 Renamed
- 🚚 Renamed
- ✅ Renamed all
enumcases to be lowercase, in line with latest Swift API guidelines
- 🚚 The
StackResultClosuretypealias has been removed
🆕 New features
🚀 This release closes the 2.2.1 milestone.
- 🛠 Fixed multithreading violation while saving context (#63, #59, #65). Thanks @saurabytes and @markkrenek!
- 0️⃣ On
tvOS, the default SQLite directory now defaults to
.DocumentDirectory(#61, #62). Thanks @cgoldsby !
🚀 This release closes the 2.2.0 milestone.
resetStack()top-level function. See the updated docs for details. Thanks @marius-serban! :tada:
CoreDataStackFactory.CompletionHandlerwas moved from the factory's scope to the module's scope and renamed to
StackResultClosure. This is technically a breaking change, but it is highly unlikely that anyone was referring to this closure directly. If so, simply rename to the correct type.