Skip to content

Releases: automerge/automerge-swift

0.5.0 alpha2

03 Jul 19:55
Compare
Choose a tag to compare
0.5.0 alpha2 Pre-release
Pre-release

What's Changed

alpha1 release suffered from mismatched XCFramework and Automerge.swift identifiers. Regenerating to hopefully align and make a usable alpha.

To use this package in an Xcode project, you'll need to use the branch 'alpha0.5.0', which is intentionally named differently from the tags and releases.

0.5.0 alpha1 pre-release

03 Jul 19:32
Compare
Choose a tag to compare
Pre-release

Adds Marks, named ScalarValue annotations to characters within the Text object type. Marks provide support rich text formatting and serialization within Automerge. This release only updates the base code to support Marks, and has no convenience functions (yet) to interoperate with Swift - such as storing or retrieving AttributedStrings from Mark-annnotated Automerge Text objects.

What's Changed

Full Changelog: 0.3.2...0.5.0-alpha1

bugfix release: resolves Xcode build failures due to the Swift package using unsafe flags

01 Jul 22:42
d448ddd
Compare
Choose a tag to compare

Bugfix release. Functionally identical to the 0.3.0 release, with the small update that constrains exposing the unsafe flags listed in the Package manifest for broader concurrency safety checking to builds that expose a LOCAL_BUILD environment variable, previously exposed with the CI environment variable. This should prevent the failure of app builds through Xcode using this package when building on CI environments such as GitHub, which automatically assign the CI environment.

What's Changed

  • fix: changing unsafe flags from CI to LOCAL_BUILD by @heckj in #40

Full Changelog: 0.3.0...0.3.2

Codable support

01 Jul 21:30
Compare
Choose a tag to compare

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

0.1.1 Release

19 May 20:39
Compare
Choose a tag to compare

What's Changed

  • updated documentation to resolve uncurated references in Document by @heckj in #28
  • updating path to resolve invalid path issue when using the package externally by @heckj in #29
  • adds swift package index configuration file by @heckj in #30

Full Changelog: 0.1.0...0.1.1

0.1.0

19 May 15:45
Compare
Choose a tag to compare

What's Changed

  • fix: removing compiler warning in test by @heckj in #2
  • chore: organizing docs to use expected directories by @heckj in #1
  • fixing location for preview script by @heckj in #4
  • initial proposal for .swiftformat, with effect applied by @heckj in #6
  • 2D benchmarks (performance over size) by @heckj in #8
  • doc: Adds documentation abstracts by @heckj in #7
  • replace [UInt8] in public API with Data by @heckj in #9
  • chore: renaming files to match Swift lang idiom of CamelCase by @heckj in #10
  • Extending performance benchmarks by @heckj in #11
  • adds ObjId debugging string representation by @heckj in #13
  • Adding Automerge type conversion logic and protocol by @heckj in #12
  • Strict concurrency checks by @heckj in #14
  • exposes object_type function to look up type of object by object id by @heckj in #17
  • Path element access by @heckj in #16
  • Enabling Catalyst build by @munhitsu in #18
  • breaking up Document methods by internal type by @heckj in #22
  • ActorId string representation by @heckj in #24
  • Threading protection & strict Sendable checking by @heckj in #23
  • hiding unsafe flags behind an environment variable by @heckj in #25

New Contributors

Full Changelog: 0.0.1...0.1.0

Initial functional release

19 May 15:14
Compare
Choose a tag to compare

An initial release of Automerge for Swift, built over the Automerge Rust library.