Skip to content

Version 0.6.0

Latest

Choose a tag to compare

@dimitribouniol dimitribouniol released this 21 Oct 11:58
· 1 commit to main since this release

Overview

This release improves write performance, silences warnings introduced with Swift 6.4, and fixes a consistency issue that could arise from a failed store info write.

What's Changed

  • Refactor Cleanup by @dimitribouniol in #269
    • Removed unused isTransactingExternally(to:) method.
  • Write Consistency by @dimitribouniol in #270
    • Fixed an issue where a failed persistence store info write could cause a failed transaction when the persistence would otherwise represent the last written state.
    • Updated snapshot reads to not create temporary snapshots during pure read operations.
  • File Not Found by @dimitribouniol in #271
    • Updated file not found checks to use simpler shared semantics.
  • Identifier Debugger Support by @dimitribouniol in #272
    • Added debug descriptions for all identifiers.
  • File IO Improvements by @dimitribouniol in #273
    • Decreased number of concurrent open file handles by force-reading entire files as quickly as possible.
    • Improved datastore writes by up to 24% by writing new files non-atomically.
  • Task Names by @dimitribouniol in #274
    • Added task names to every task for an improved debugging experience.
  • Swift 6.4 Warnings by @dimitribouniol in #275
    • Fixed an issue where the backpressure stream task didn't explicitly handle all thrown errors.
    • Fixed warnings using async sequences by marking the related methods as concurrent.
    • Fixed a warning surrounding collated writes, and added a note to revisit it.
    • Fixed tests that created unstructured tasks that threw errors.
    • Fixed a warning caused by AsyncInstances not enforcing that its AsyncIterator is Sendable.
    • Updated compatibility tests for Swift 6.4 to use the released version.

Full Changelog: 0.5.0...0.6.0