Skip to content

Codable support

Compare
Choose a tag to compare
@heckj heckj released this 01 Jul 21:30
· 136 commits to main since this release

Codable support

This updates brings in a Automerge aligned custom encoder and decoder to serialize Swift structs and classes into, and deserialize from, an Automerge document. The release also includes a feature added to the Swift overlay to reference specific schema locations within the Automerge documents by walking the Automerge document based on a JSON-like schema path from a parsed string, loosely following the conventions used by the jq command-line tool. This Automerge objectId lookup mechanism is used by the Automerge encoder and decoder to support targeted, partial coding from within the Automerge document as well as from the root of the document.

This release promotes the version to match the underlying Automerge Rust library for consistency and future tracking, as core Automerge features track from that library. The underlying Automerge rust library used in this release is 0.3.0, which provides the features for the javascript libraries:
@automerge/automerge-wasm version 0.1.26 and @automerge/automerge version 2.0.3.

What's Changed

  • docs: License and process documentation updates by @heckj in #31
  • feat: Adds debugStringConvertible for ObjId, ObjType, and Value by @heckj in #32
  • docs: update clarifying expected representation of a timestamp by @heckj in #33
  • docs: referencing archived older repo by @heckj in #34
  • feat: extends Counter to support external encoding and decoding by @heckj in #35
  • feat: Codable implementation by @heckj in #36
  • fix: formatting of release-process docs by @heckj in #37
  • fix: cleans up README to remove old name of repository by @heckj in #38

Full Changelog: 0.1.1...0.3.0