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.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps yrs from 0.17.4 to 0.19.1.
Release notes
Sourced from yrs's releases.
Commits
f021d59
releave-v0.19.15ad91ad
Merge pull request #468 from Horusiath/undo-manager-stack-gettersb3f9d92
UndoManager: undo_stack and redo_stack access methodsab5a889
Merge pull request #467 from Horusiath/array-get-as33bd798
Array::get_asef7e476
Merge pull request #465 from Horusiath/get-as-and-try-modify1af69f9
fixed docscd5da30
yffi: add new error types for deserializer cases3944b16
MapRef methods: get_as and try_modifyb2ae23d
Merge pull request #464 from Horusiath/any-serde-jsonDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show