Skip to content

chore(deps): update dependency loro-crdt to ^1.13.7#1814

Merged
renovate[bot] merged 1 commit into
masterfrom
renovate/loro-crdt-1-x
Jul 22, 2026
Merged

chore(deps): update dependency loro-crdt to ^1.13.7#1814
renovate[bot] merged 1 commit into
masterfrom
renovate/loro-crdt-1-x

Conversation

@renovate

@renovate renovate Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
loro-crdt (source) ^1.13.6^1.13.7 age confidence

Release Notes

loro-dev/loro (loro-crdt)

v1.13.7

Compare Source

Patch Changes
  • 3986805: Speed up snapshot import. When decoding a Loro snapshot, the redundant per-block SSTable validation (eager block-metadata decode and per-block checksums) is now skipped, because the whole snapshot body is already protected by the document-level checksum verified during decoding. This removes a second hash pass over the data (roughly halving B4 snapshot import time) while preserving integrity guarantees.

    This fast path is internal to Loro's snapshot decoding. The public MemKvStore::import_all still verifies every block's checksum; a separate import_all_unchecked opts into the unchecked path and is only used where an outer checksum already guarantees integrity.

  • 9b6330d: Speed up local text editing (~35% faster on the B4 editing trace). Three hot-path
    changes: the lock-order debug instrumentation is now compiled out of release
    builds (it ran on every per-op lock acquisition); the visible-op count is bumped
    incrementally for local ops instead of recomputing it from the version vectors
    (which also allocated) on every op; and a couple of per-op allocations on the
    text insert/delete path were removed (lazy error-context formatting and inline
    storage for entity ranges).

  • c37e76a: Fix a checkout hang after snapshot import. Change-store blocks decoded from a snapshot recorded a wrong end lamport (lamport_range.1 was set to the start lamport of the block's last change instead of its end). When a change was split across multiple blocks and a lamport-based lookup engaged the binary search path in ChangeStore::get_change_by_lamport_lte — e.g. the movable-list diff calculator resolving historical positions during checkout — the degenerate range made the search loop forever. The binary search now also caps its steps and falls back to a scan if it ever fails to converge; the fallback considers both unflushed in-memory blocks and the underlying kv store, so lamport lookups (e.g. getChangeAtLamport) stay correct for local changes that have not been flushed yet.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot enabled auto-merge (squash) July 22, 2026 07:54
@renovate
renovate Bot merged commit c898445 into master Jul 22, 2026
24 checks passed
@renovate
renovate Bot deleted the renovate/loro-crdt-1-x branch July 22, 2026 08:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants