Skip to content

Releases: y-crdt/y-crdt

v 0.18

12 Mar 06:29
Compare
Choose a tag to compare

Yrs

  • New Observer API (#385): all subscription types now are described as a single yrs::Subscription type. observe methods no longer require mut ref to shared collection or document.
  • Hook and BranchID logical pointers (#393): collection refs such as ArrayRef, TextRef, MapRef now expose root and hook 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 return None if reference was already garbage collected).
  • Removed Doc::get_or_insert_xml_element and Doc::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 with fastrand(#394): smaller binary size and better support for Web Assembly.
  • Moved Awareness and y-sync protocol into yrs::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 and Doc.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. Use Doc.getXmlFragment instead and insert XML nodes into it.
  • YXmlText and YXmlElements can now be used as prelim types.
  • Removed xmlElement.insertXmlText/xmlElement.insertXmlElement: now there's a single xmlElement.insert method that can accept prelim versions of YXmlText and YXmlElement.
  • Logical pointers can now be accessed via ref.id property of shared collection types. They can be materialised back into refs via YTransaction.get method.

Yffi

  • Removed yxmlelem and yxmltext 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. Use yxmlfragment instead and insert XML nodes into it.
  • Replaced ytransaction_alive with ybranch_alive.
  • Exposed logical collection pointers via YBranchId - now Branch* can mapped back and forth to YBranchId through ybranch_id and ybranch_get functions. In case when Branch* has already been garbage collected and is no longer valid, ybranch_get will return NULL.

v0.7

25 Apr 16:50
8f64d93
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.6.2...v0.7

v0.6

12 Apr 06:32
Compare
Choose a tag to compare

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

21 Jan 17:04
Compare
Choose a tag to compare

This is a release only for y-py.

We will publish a new 0.3 release of the repository next week.

What's Changed

Full Changelog: v0.2.1...v0.2.2

v0.2.1

21 Dec 10:25
4b49eea
Compare
Choose a tag to compare
  • Fixed split block issue after mutli-client conflict resolution

Release v0.2

15 Dec 08:53
25e88c9
Compare
Choose a tag to compare
  • 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.

v0.1.3

26 Nov 16:17
Compare
Choose a tag to compare
create a new y-py release