Skip to content

Commit f9e504d

Browse files
github-actions[bot]zxch3n
authored andcommitted
chore: version packages
1 parent 933d5d6 commit f9e504d

11 files changed

Lines changed: 91 additions & 66 deletions

.changeset/atomic-import-rollback.md

Lines changed: 0 additions & 10 deletions
This file was deleted.

.changeset/avoid-panics-invalid-input.md

Lines changed: 0 additions & 18 deletions
This file was deleted.

.changeset/fair-pugs-count.md

Lines changed: 0 additions & 9 deletions
This file was deleted.

.changeset/issue-940-shallow-snapshot.md

Lines changed: 0 additions & 8 deletions
This file was deleted.

.changeset/small-clocks-work.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

.changeset/witty-roses-think.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

crates/loro-wasm-map/CHANGELOG.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,49 @@
11
# loro-crdt-map
22

3+
## 1.12.0
4+
5+
### Minor Changes
6+
7+
- 7dfda87: Make update imports atomic across oplog and document state application.
8+
9+
- `import` and `import_json_updates` now roll back imported oplog changes when state application fails, so malformed updates do not leave the document with oplog/state divergence.
10+
- Pending changes that are activated during import are included in the rollback boundary when they can affect state application.
11+
- Import rollback uses conditional guards to avoid adding fixed overhead to successful detached or no-op imports.
12+
13+
### Patch Changes
14+
15+
- 64aa97c: Harden encoding, snapshot, and import paths against malformed input
16+
17+
- JSON schema import (`import_json_updates`): out-of-range compressed peer indices now return `DecodeError` instead of being silently accepted as raw peer IDs; mismatched `JsonOpContent` vs container type returns `DecodeError` instead of panicking.
18+
- Outdated binary encoding decoder (`decode_op`): malformed op streams (missing delete iterators, type mismatches) now return `DecodeDataCorruptionError` instead of panicking.
19+
- Fast snapshot decoder (`decode_snapshot_blob_meta`): truncated or oversized section lengths now return `DecodeDataCorruptionError` instead of panicking on slice indexing.
20+
- Change store KV import (`import_all`): corrupted `VersionVector`/`Frontiers` metadata now returns `DecodeDataCorruptionError` instead of panicking.
21+
- Value encoding (`LoroValueKind::from_u8`, `read_str`): invalid byte values and invalid UTF-8 now return `DecodeDataCorruptionError` instead of panicking.
22+
- `LoroDoc::diff()`: checkout failures during diff calculation are now propagated as `LoroError` instead of panicking; state restore uses `unwrap()` to fail-fast on internal errors.
23+
- `try_get_text/list/map/tree/movable_list/counter`: now return `None` for wrong root container types instead of panicking.
24+
- Detached list insert out-of-bounds: returns `LoroError::OutOfBound` instead of panicking.
25+
- Tree `mov_after`/`mov_before` on deleted node: returns `TreeNodeDeletedOrNotExist` instead of panicking.
26+
- `JsonChange::op_len`: empty ops array returns `0` instead of panicking.
27+
- `renew_peer_id`: avoids theoretical collision with `PeerID::MAX`.
28+
29+
- 0977ad1: Fix lock-order panics when JavaScript callbacks re-enter Loro APIs.
30+
31+
- `opCount()` no longer reacquires the OpLog lock while the current thread already holds a higher-order lock.
32+
- `LoroText.iter()` snapshots text chunks before invoking the user callback, so callback code can safely read or mutate the document.
33+
34+
- ef100e6: Reduce memory spikes when exporting snapshots from shallow documents.
35+
36+
When a shallow document is re-exported from its existing shallow root with only a small tail of updates, Loro now reuses the stored shallow-root state instead of decoding all containers just to re-encode the same state.
37+
38+
- 933d5d6: feat: add clearRedo and clearUndo methods
39+
#921
40+
- 17dc6c0: Fix several edge-case contract violations in document, text, and JSONPath APIs.
41+
42+
- JSONPath `value(...)` comparisons now handle boolean values consistently with other scalar comparisons.
43+
- Rich text mark expansion now follows `ExpandType::Before` and `ExpandType::Both` at documented insertion boundaries.
44+
- Text delta slicing now validates invalid ranges and UTF-8/UTF-16 boundaries before slicing, and public deltas omit removed-style tombstones after unmarking.
45+
- Detached list and movable-list out-of-bounds operations now return `LoroError::OutOfBound` instead of panicking.
46+
347
## 1.11.1
448

549
### Patch Changes

crates/loro-wasm-map/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "loro-crdt-map",
3-
"version": "1.11.1",
3+
"version": "1.12.0",
44
"description": "Source maps for the loro-crdt WebAssembly bundles.",
55
"repository": {
66
"type": "git",

crates/loro-wasm/CHANGELOG.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,49 @@
11
# Changelog
22

3+
## 1.12.0
4+
5+
### Minor Changes
6+
7+
- 7dfda87: Make update imports atomic across oplog and document state application.
8+
9+
- `import` and `import_json_updates` now roll back imported oplog changes when state application fails, so malformed updates do not leave the document with oplog/state divergence.
10+
- Pending changes that are activated during import are included in the rollback boundary when they can affect state application.
11+
- Import rollback uses conditional guards to avoid adding fixed overhead to successful detached or no-op imports.
12+
13+
### Patch Changes
14+
15+
- 64aa97c: Harden encoding, snapshot, and import paths against malformed input
16+
17+
- JSON schema import (`import_json_updates`): out-of-range compressed peer indices now return `DecodeError` instead of being silently accepted as raw peer IDs; mismatched `JsonOpContent` vs container type returns `DecodeError` instead of panicking.
18+
- Outdated binary encoding decoder (`decode_op`): malformed op streams (missing delete iterators, type mismatches) now return `DecodeDataCorruptionError` instead of panicking.
19+
- Fast snapshot decoder (`decode_snapshot_blob_meta`): truncated or oversized section lengths now return `DecodeDataCorruptionError` instead of panicking on slice indexing.
20+
- Change store KV import (`import_all`): corrupted `VersionVector`/`Frontiers` metadata now returns `DecodeDataCorruptionError` instead of panicking.
21+
- Value encoding (`LoroValueKind::from_u8`, `read_str`): invalid byte values and invalid UTF-8 now return `DecodeDataCorruptionError` instead of panicking.
22+
- `LoroDoc::diff()`: checkout failures during diff calculation are now propagated as `LoroError` instead of panicking; state restore uses `unwrap()` to fail-fast on internal errors.
23+
- `try_get_text/list/map/tree/movable_list/counter`: now return `None` for wrong root container types instead of panicking.
24+
- Detached list insert out-of-bounds: returns `LoroError::OutOfBound` instead of panicking.
25+
- Tree `mov_after`/`mov_before` on deleted node: returns `TreeNodeDeletedOrNotExist` instead of panicking.
26+
- `JsonChange::op_len`: empty ops array returns `0` instead of panicking.
27+
- `renew_peer_id`: avoids theoretical collision with `PeerID::MAX`.
28+
29+
- 0977ad1: Fix lock-order panics when JavaScript callbacks re-enter Loro APIs.
30+
31+
- `opCount()` no longer reacquires the OpLog lock while the current thread already holds a higher-order lock.
32+
- `LoroText.iter()` snapshots text chunks before invoking the user callback, so callback code can safely read or mutate the document.
33+
34+
- ef100e6: Reduce memory spikes when exporting snapshots from shallow documents.
35+
36+
When a shallow document is re-exported from its existing shallow root with only a small tail of updates, Loro now reuses the stored shallow-root state instead of decoding all containers just to re-encode the same state.
37+
38+
- 933d5d6: feat: add clearRedo and clearUndo methods
39+
#921
40+
- 17dc6c0: Fix several edge-case contract violations in document, text, and JSONPath APIs.
41+
42+
- JSONPath `value(...)` comparisons now handle boolean values consistently with other scalar comparisons.
43+
- Rich text mark expansion now follows `ExpandType::Before` and `ExpandType::Both` at documented insertion boundaries.
44+
- Text delta slicing now validates invalid ranges and UTF-8/UTF-16 boundaries before slicing, and public deltas omit removed-style tombstones after unmarking.
45+
- Detached list and movable-list out-of-bounds operations now return `LoroError::OutOfBound` instead of panicking.
46+
347
## 1.11.1
448

549
### Patch Changes

crates/loro-wasm/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "loro-wasm"
3-
version = "1.11.1"
3+
version = "1.12.0"
44
edition = "2021"
55
publish = false
66
repository = "https://github.com/loro-dev/loro/"

0 commit comments

Comments
 (0)