Releases: automerge/automerge-swift
0.3.4 Release - bug fix
0.3.4
is a bug-fix release
- no changes no external functionality.
- resolves #54
Full Changelog: 0.3.2...0.3.4
0.5.0-alpha3 - getChanges
- adds
getChanges
that provides a list of all changes to an existing document to be able to roughly scrub back through history.
Full Changelog: 0.5.0-alpha1...0.5.0-alpha3
0.5.0 alpha2
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
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
- Update to [email protected], implement marks by @alexjg in #39
- Sendable fix by @heckj in #41
Full Changelog: 0.3.2...0.5.0-alpha1
bugfix release: resolves Xcode build failures due to the Swift package using unsafe flags
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
Full Changelog: 0.3.0...0.3.2
Codable support
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
0.1.0
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
An initial release of Automerge for Swift, built over the Automerge Rust library.