Releases: mochidev/CodableDatastore
Version 0.4.0
Overview
This release cleans up a few API shortcomings, most notably swapping data and decoder in migrations to read more naturally, which will require a manual code update in client code. We suggest to moving to the more natural { $0.decode(MyType.self, from: $1) } in the process, which was the main motivation for the change. TypedAsyncSequence was also renamed to AsyncInstances, index documentation was fixed, and support for working safely with multiple persistences in transaction was also added, which verified that the inner persistence is only accessed in a read-only capacity to maintain data consistency.
What's Changed
- Sendable Cleanup by @dimitribouniol in #252
- Fix Swapped Index Documentation by @dimitribouniol in #255
- Async Instances by @dimitribouniol in #254
- Multi Persistence Support by @dimitribouniol in #256
- Flip Migration Arguments by @dimitribouniol in #258
Full Changelog: 0.3.10...0.4.0
Version 0.3.10
Overview
This release cleans up accessor methods in datastores to play better with autocomplete at time of writing, since the types involved depend on knowing the index being accessed first.
What's Changed
- Transaction Names by @dimitribouniol in #249
- Fix
identifierMisspelling by @dimitribouniol in #250 - Cleaner Autocomplete by @dimitribouniol in #251
Full Changelog: 0.3.9...0.3.10
Version 0.3.9
Overview
This release fixes a corruption issue that could occur when long-running read-only transactions overwrite data that was written while the read was happening.
What's Changed
- Swift 6 Sendable Fixes by @dimitribouniol in #245
- Debuggable Improvements by @dimitribouniol in #246
- Transaction Corruption Fix by @dimitribouniol in #247
Full Changelog: 0.3.8...0.3.9
Version 0.3.8
Overview
This release cleans up a lot of internals, finishes Swift 6 support, fixes issues linking iterations together, and adds preview support for making snapshots of a persistence on disk.
What's Changed
- Swift 6 Support by @dimitribouniol in #233
- Simplify Missing File Handlers by @dimitribouniol in #232
- Spelling by @dimitribouniol in #234
- File URL Refactor by @dimitribouniol in #235
- Extra Index Manifests by @dimitribouniol in #236
- Complete References by @dimitribouniol in #242
- Snapshotting by @dimitribouniol in #243
Full Changelog: 0.3.7...0.3.8
Version 0.3.7
Overview
This release fixes a bug where datastores with secondary indexes would sometimes consistently fail to save an entry, specifically if it occurred after an entry that was saved across multiple pages on disk.
What's Changed
- Secondary Index Partial Content by @dimitribouniol in #224
Full Changelog: 0.3.6...0.3.7
Version 0.3.6
Overview
This release addresses stability issues when CodableDatastore is heavily used, as it'll have kept open file handles to every file cached in memory. Additionally, a memory retain cycle was caught preventing disk persistences from being cleaned up, though most users would not have been impacted as a DiskPersistence is typically created once and kept around for the duration of an executable's running time anyways.
What's Changed
- Close Open File Handles When Cached by @dimitribouniol in #220
- Disk Persistence Retain Cycle by @dimitribouniol in #221
- Child Transaction Optimization by @dimitribouniol in #222
Full Changelog: 0.3.5...0.3.6
Version 0.3.5
Overview
This release fixes a compilation issue for universal binaries where Float16 is unavailable on Intel, which would occur even on Apple Silicon when trying to profile a package that relied on this one.
What's Changed
- Universal Binary Compilation Issue by @dimitribouniol in #218
Full Changelog: 0.3.4...0.3.5
Version 0.3.4
Overview
This version adds a < implementation for uuid_t to assist in situations where the compiler complains of ambiguous implementations when manually comparing UUIDs. Now, you can simply call lhsUUID.uuid < rhsUUID.uuid.
What's Changed
- Raw UUID Comparisons by @dimitribouniol in #216
Full Changelog: 0.3.3...0.3.4
Version 0.3.3
Overview
This version adds better support when packages declare the latest SDKs as their minimum deployment platforms.
What's Changed
- Better UUID Comparable Conformance by @dimitribouniol in #214
Full Changelog: 0.3.2...0.3.3
Version 0.3.2
Overview
This version adds Swift 6 support.
What's Changed
- Swift 6 by @dimitribouniol in #212
Full Changelog: 0.3.1...0.3.2