0.5.2
0.5.2 release
Matching the version of the associated Rust crate, both the core library and the Swift language overlay provide notable updates.
The Rust library updates include supporting deeper rich-text tracking (Peritext) that exposes new types - Mark
and Cursor
- that annotate and reference specific locations or ranges within a string in order to represent that string as rich text.
The Swift updates exposes the new types (Mark
, Cursor
), as well as expanding support for the custom Codable capability to serialize and deserialize from cross-platform Automerge documents. The type Text
in 0.3.x is renamed to AutomergeText
for development ergonomics (the raw type name Text
conflicts with common Swift libraries). AutomergeText
and Counter
have been converted to reference types so that updates to them a directly read and written from an Automerge document in memory, drastically increasing performance when updating these values within SwiftUI views.
This library is binary-compatible with Automerge 2.1 documents, and can be used for cross-platform interactions.
What's Changed
- Update to automerge@0.5.0, implement marks by @alexjg in #39
- Sendable fix by @heckj in #41
- enables configurable log filtering on Automerge-swift by @heckj in #47
- adds notes about possible SharePlay integration by @heckj in #49
- adds implementation notes for the Automerge Encoder and Decoder by @heckj in #50
- renaming Text to AutomergeText for ergonomics in consumption by @heckj in #51
- adds a note about how the pre-release branch is structured for anyone… by @heckj in #52
- Rich text/Peritext interop validation setup by @heckj in #48
- test that illustrates failure scenario for issue #54 by @heckj in #55
- fixing followup issue not resolves with #55 to fully resolve #54 by @heckj in #56
- limits encode cleanup for encode(.., at: [..]) by @heckj in #58
- Text as a reference type instead of a value type for performance of updates by @heckj in #59
- AutomergeText encode/decode issue - lost data fix by @heckj in #61
- another slight (but significant) error fixed by @heckj in #62
- Codable Counter fixes by @heckj in #65
- exploring default encodings of attributed strings in tests by @heckj in #68
- Cursor main by @heckj in #70
- Rebuild and re-orgnization of Swift API documentation on Automerge by @heckj in #53
- adding a memory leak check into a few tests by @heckj in #73
- transfer representation for an Automerge document by @heckj in #71
- advance pinned version for nightly version of Rust to keep Catalyst support rolling by @heckj in #77
- updating to latest released crate of the core Rust library for automerge by @heckj in #75
- Convert Counter from value type to reference type, directly updating Automerge by @heckj in #63
- cleaning up documentation by @heckj in #78
- updating prerelease notes for consistency by @heckj in #79
Full Changelog: 0.3.2...0.5.2