Skip to content

Commit ff39716

Browse files
chore: version packages
1 parent 52d8168 commit ff39716

7 files changed

Lines changed: 51 additions & 33 deletions

File tree

.changeset/faster-text-imports.md

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

.changeset/perf-per-op-editing-regression.md

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

crates/loro-wasm-map/CHANGELOG.md

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

3+
## 1.13.5
4+
5+
### Patch Changes
6+
7+
- 1727258: Improve text insert and snapshot import performance by avoiding duplicate text boundary validation and skipping eager imported change block parsing.
8+
- 52d8168: Recover two per-operation editing slowdowns regressed since 1.11.
9+
10+
Both are constant-factor regressions on the per-op (auto-commit) editing path
11+
introduced by the lazy-snapshot work in #985, measured against the 1.11.1
12+
release.
13+
14+
1. Every `MapHandler`/`ListHandler`/`MovableListHandler` insert validated its
15+
value with `ensure_no_regular_container_value`, which heap-allocated a `Vec`
16+
on each call even for scalar values (the common case). A scalar fast-path now
17+
skips the allocation and traversal entirely. `map create 10^4 key`:
18+
~19.4ms -> ~10.7ms.
19+
2. The per-op text bounds check (`TextHandler::len`/`len_unicode`/`len_utf16`)
20+
took two `DocState` locks — one to check whether the container state was
21+
decoded, then another to query the length. These are now consolidated into a
22+
single `DocState::get_text_len` that takes one lock and one container-store
23+
lookup. The lazy-snapshot memory behavior is preserved: a still-lazy
24+
container reads its cached length metadata without materializing the full
25+
richtext state. `bench_text B4 apply` (per-op text editing): ~389ms -> ~352ms.
26+
327
## 1.13.4
428

529
### 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.13.4",
3+
"version": "1.13.5",
44
"description": "Source maps for the loro-crdt WebAssembly bundles.",
55
"repository": {
66
"type": "git",

crates/loro-wasm/CHANGELOG.md

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

3+
## 1.13.5
4+
5+
### Patch Changes
6+
7+
- 1727258: Improve text insert and snapshot import performance by avoiding duplicate text boundary validation and skipping eager imported change block parsing.
8+
- 52d8168: Recover two per-operation editing slowdowns regressed since 1.11.
9+
10+
Both are constant-factor regressions on the per-op (auto-commit) editing path
11+
introduced by the lazy-snapshot work in #985, measured against the 1.11.1
12+
release.
13+
14+
1. Every `MapHandler`/`ListHandler`/`MovableListHandler` insert validated its
15+
value with `ensure_no_regular_container_value`, which heap-allocated a `Vec`
16+
on each call even for scalar values (the common case). A scalar fast-path now
17+
skips the allocation and traversal entirely. `map create 10^4 key`:
18+
~19.4ms -> ~10.7ms.
19+
2. The per-op text bounds check (`TextHandler::len`/`len_unicode`/`len_utf16`)
20+
took two `DocState` locks — one to check whether the container state was
21+
decoded, then another to query the length. These are now consolidated into a
22+
single `DocState::get_text_len` that takes one lock and one container-store
23+
lookup. The lazy-snapshot memory behavior is preserved: a still-lazy
24+
container reads its cached length metadata without materializing the full
25+
richtext state. `bench_text B4 apply` (per-op text editing): ~389ms -> ~352ms.
26+
327
## 1.13.4
428

529
### 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.13.4"
3+
version = "1.13.5"
44
edition = "2021"
55
publish = false
66
repository = "https://github.com/loro-dev/loro/"

crates/loro-wasm/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",
3-
"version": "1.13.4",
3+
"version": "1.13.5",
44
"description": "Loro CRDTs is a high-performance CRDT framework that makes your app state synchronized, collaborative and maintainable effortlessly.",
55
"keywords": [
66
"crdt",

0 commit comments

Comments
 (0)