Releases: y-crdt/y-crdt
Releases · y-crdt/y-crdt
v 0.18
Yrs
- New Observer API (#385): all subscription types now are described as a single
yrs::Subscription
type.observe
methods no longer requiremut ref
to shared collection or document. Hook
andBranchID
logical pointers (#393): collection refs such asArrayRef
,TextRef
,MapRef
now exposeroot
andhook
methods, that can be used to get a logical reference to a given type. This reference can later on be used to try to obtain an actual ref (it could also possibly returnNone
if reference was already garbage collected).- Removed
Doc::get_or_insert_xml_element
andDoc::get_or_insert_xml_text
- these types are not meant to be used as root level types and doing so may cause data loss due to limitations on how root-level types are represented in lib0 encoding. - Replaced
rand
crate withfastrand
(#394): smaller binary size and better support for Web Assembly. - Moved
Awareness
and y-sync protocol intoyrs::sync
module (#395). - Changes in the internal representation of Doc updates (#365) - this should result in better performance and less memory used.
Ywasm
- Rewritten the library. Shared types are now using logical pointer in order to avoid possible segfaults in WASM VM.
- Removed
Doc.getXmlText
andDoc.getXmlElement
- these types are not meant to be used as root level types and doing so may cause data loss due to limitations on how root-level types are represented in lib0 encoding. UseDoc.getXmlFragment
instead and insert XML nodes into it. YXmlText
andYXmlElements
can now be used as prelim types.- Removed
xmlElement.insertXmlText
/xmlElement.insertXmlElement
: now there's a singlexmlElement.insert
method that can accept prelim versions ofYXmlText
andYXmlElement
. - Logical pointers can now be accessed via
ref.id
property of shared collection types. They can be materialised back into refs viaYTransaction.get
method.
Yffi
- Removed
yxmlelem
andyxmltext
functions - these types are not meant to be used as root level types and doing so may cause data loss due to limitations on how root-level types are represented in lib0 encoding. Useyxmlfragment
instead and insert XML nodes into it. - Replaced
ytransaction_alive
withybranch_alive
. - Exposed logical collection pointers via
YBranchId
- nowBranch*
can mapped back and forth toYBranchId
throughybranch_id
andybranch_get
functions. In case whenBranch*
has already been garbage collected and is no longer valid,ybranch_get
will return NULL.
v0.7
What's Changed
- release v0.6.2 by @Horusiath in #112
- Transaction Cleanup Hook by @Waidhoferj in #105
- Fixes for bugs found using small data set (part 1) by @Horusiath in #113
- Release v0.7 by @Horusiath in #114
Full Changelog: v0.6.2...v0.7
v0.6
What's Changed
- lib0 v2 encoding
- Deep observe API support
- Replaced strings with
Rc<str>
in XML node names and formatting attributes. - Added
lib0-serde
optional feature flag to use serve_json instead of built-in json serialisation. - Fixed bug: merging pending updates causing "no parent found" panic.
- Fixed bug: Text::format causing event delta to return empty set.
v0.2.2
This is a release only for y-py.
We will publish a new 0.3 release of the repository next week.
What's Changed
- [WIP] Bart/insert embed by @Horusiath in #70
- Text formatting methods + Y type specific events by @Horusiath in #67
- Build wheels using cibuildwheel by @davidbrochart in #65
- Y-Py XML by @Waidhoferj in #72
Full Changelog: v0.2.1...v0.2.2
v0.2.1
Release v0.2
- Added support to
observe
changes on shared CRDT types. - Transaction struct no longer needs a lifecycle parameter.
- Added support to
YText
/YXmlText
operations using offsets and lengths other than UTF8 byte string lengths. - Reduced memory usage and improved speed.
- Removed dependency on rust nightly compiler.
- Bunch of bug fixes including conflict resolution algorithms.