Releases: automerge/automerge-swift
0.5.19
What's Changed
- Document object did change by @jessegrosjean in #195
- Add loro to benchmarks by @jessegrosjean in #196
- Prevents coupling UTF-16 text value encodings to WASM targets by @miguelangel-dev in #198
Full Changelog: 0.5.18...0.5.19
0.5.18
NOTE:
- The implementation that provides concurrency protection for the core Rust library has been updated in this release, which - by testing so far - is correct and hasn't exhibited any issues. If you see any deadlocks or other multi-thread issues when working with Automerge documents, please open an issue immediately.
What's Changed
- AutomergeEncoder now encodes
nil
values into the document by @marionauta in #190 - Expose heads raw state representation by @miguelangel-dev in #191
- Protect document state with recursive lock and add objectDidChange publisher by @jessegrosjean in #192
- documentation updates and swiftformat pass by @heckj in #194
New Contributors
- @marionauta made their first contribution in #190
- @jessegrosjean made their first contribution in #192
Full Changelog: 0.5.17...0.5.18
0.5.17
What's Changed
- updating mark API to align with core library, exposing split_block and join_block through to Swift by @heckj in #171
- exposing Automerge::get_marks through to Swift by @miguelangel-dev in #186
Full Changelog: 0.5.16...0.5.17
0.5.16
What's Changed
- project layout notes by @heckj in #172
- pushing updates on CI to set up for Swift 5.9 minimum target by @heckj in #175
- Rust dev notes by @heckj in #176
- AutomergeUniffi compile target for visionos and visionos-simulator by @cklokmose in #174
- shifts the objectWillChange call to prior to, and outside of, the synchronous DispatchQueue access to Document by @heckj in #179
- reword the top of the README by @heckj in #180
- add marker file that disables compatibility matrix for Swift on Linux at Swift Package Index by @heckj in #181
- adding explicit rebuild flow to WASM/WASI testing flow on Linux by @heckj in #185
- exposing Automerge::Diff through to Swift by @miguelangel-dev in #183
New Contributors
- @cklokmose made their first contribution in #174
Full Changelog: 0.5.15...0.5.16
0.5.15
0.5.14
β PLEASE UPDATE TO RELEASE 0.5.15 β
This release has a misalignment with the hash in Package.swift, or corruption of the XCFramework. Not sure which, so re-released as 0.5.15
What's Changed
- Sendable log verbosity by @heckj in #157
- adding a few helper methods on LogVerbosity by @heckj in #159
- sendable conformance for AutomergeText and Counter by @heckj in #160
- promote LogVerbosity for external use, fix lingering doc warnings by @heckj in #161
- making all error LocalizedError to expose internal messages by @heckj in #162
- removing redundant change signals that triggered document updates by @heckj in #163
- Updating bindings for Counter and AutomergeText to only fiddle with D⦠by @heckj in #164
- adding path location to AutomergeText instances to expose what's updating by @heckj in #165
- noisy callstack frame debugging by @heckj in #166
- reverting out overzealous trace logging by @heckj in #168
- Update to Rust core library version 0.5.11, which resolves a corruption bug with Automerge documents.
Full Changelog: 0.5.13...0.5.14
0.5.13
β PLEASE UPDATE TO RELEASE 0.5.15 β
this release unfortunately includes a corruption bug within the core library: automerge/automerge#920
What's Changed
- minor re-org on documentation by @heckj in #144
- adds explanatory detail for AutomergeText by @heckj in #146
- adds binding of Automerge text on any invocation of encode by @heckj in #147
- AutomergeText and Counter reflect any change to a doc by @heckj in #150
- Fix error when decoding int as double by @bgomberg in #153
- Isolated change signal by @heckj in #154
- 0.5.10 core library update by @heckj in #155
Full Changelog: 0.5.12...0.5.13
0.5.12
BREAKING CHANGES
This release resolves a cross-platform representation mismatch of Dates (the Automerge .timestamp scalar value), documented at #139. When I implemented the swift overlay, I missed that the Int64 value stored was in milliseconds, instead of seconds, so the date conversions for cross-platform were being incorrectly interpreted.
The effect of this is that dates from other platforms were interpretted incorrectly. Now with the fix, dates you have in existing Automerge documents that were created with earlier versions of this swift framework will be incorrect, as they were stored with the expectations of seconds since epoch rather than milliseonds since epoch. If you're using any timestamps/dates in your models, the workaround to fix previously encoded data is to read the raw scalar value from the document and multiply or divide the value (depending on which way you're going) by 1000 to get to a corrected value.
What's Changed
- updating UniFFI to version 0.27.0 by @heckj in #135
- Adds support to encode & decode Foundation.URL by @lightsprint09 in #136
- Removes force downcast in favor of condidional cast in switch by @lightsprint09 in #137
- Improve Semantic of ScalarValueRepresentable by @lightsprint09 in #140
- Use millisecond semantic to match automerge-core by @lightsprint09 in #141
- Support for URLs in lists by @lightsprint09 in #142
- Interop tests by @heckj in #143
New Contributors
- @lightsprint09 made their first contribution in #136
Full Changelog: 0.5.11...0.5.12
0.5.11
Updates Automerge-core to 0.5.9, which resolves a document corruption but found in the 0.5.8 core automerge library release
Full Changelog: 0.5.10...0.5.11
0.5.10
DO NOT USE - CORRUPTION BUG, please update to 0.5.11
What's Changed
- Added public initializer to ActorId and tests to validate setting
actor
property by @bgomberg in #132 - Actor id docs by @heckj in #133
- Update to use Automerge core 0.5.8 by @heckj in #134
Automerge core library 0.5.8 includes:
- Fix a bug where the logic to rollback a transaction on error could panic
- Fix a bug where marks were calculated incorrectly when viewing a document at a particular set of heads (i.e. not the "current" heads)
- Update the
LoadOptions::migrate_strings
logic to no-op if there are no strings to convert
Full Changelog: 0.5.9...0.5.10