Skip to content

ResearchPocket 2.1.0

Choose a tag to compare

@github-actions github-actions released this 28 Jul 08:23
· 38 commits to main since this release
be92dc0

ResearchPocket 2.1.0

ResearchPocket 2.1.0 keeps large private libraries responsive by bounding
browser restore work, moving shared-domain processing off the main thread, and
making routine projection writes proportional to the items that changed.

Install

With Rust installed:

cargo install --locked --force research

Or download the verified archive for Linux, macOS, or Windows from the GitHub
release and check it against SHA256SUMS.

What changed

  • Native and browser synchronization now create and validate immutable
    protocol-v1 checkpoints after 100 newly covered batches or 2 MiB of decoded
    update payload. A pristine client restores the best checkpoint and applies
    only its uncovered tail.
  • Browser checkpoint validation and remote application run in a dedicated
    worker and process direct operations in bounded chunks, keeping the page
    responsive while a large library is restored.
  • Native installations keep one stable Loro peer identity. Causal frontiers now
    grow with active replicas instead of growing once per native edit.
  • Local mutations and remote application return and persist only affected item
    projections after bootstrap instead of rewriting the complete item table.
  • Enriched full-page Markdown is stored as an immutable SHA-256-addressed
    private object. List projections exclude its bytes, and the Reader downloads
    and validates it only when opened.
  • The shared domain includes the validated item-aggregate, catalogue, migration
    barrier, and deterministic migration artifact primitives for the next sync
    generation. This release does not activate a protocol-v2 cutover or rewrite
    existing protocol-v1 history.

Upgrade and prime an existing private library

Upgrade the native client, verify the version, and run one normal sync:

cargo install --locked --force research
research --version
research sync run

The expected version is research 2.1.0. The first sync of an existing
repository may still replay its current protocol-v1 history once. It then
publishes the first checkpoint when the threshold is met. A fresh or reset
browser can use that checkpoint on its next connection instead of replaying the
covered history.

Protocol-v1 operation files remain immutable and are not pruned. ResearchPocket
2.0 clients ignore the optional checkpoint files, but upgrading every writer is
recommended before relying on the improved restore path.

GitHub release archives

Platform Release asset
Linux GNU/glibc x86-64 (glibc 2.35 or newer) research-v2.1.0-linux-amd64.tar.gz
Windows x86-64 research-v2.1.0-windows-amd64.zip
macOS Intel research-v2.1.0-macos-amd64.tar.gz
macOS Apple Silicon research-v2.1.0-macos-arm64.tar.gz

The archives remain unsigned. Verify the selected file with SHA256SUMS, or
build the exact tag with the pinned toolchain:

git clone --branch v2.1.0 --depth 1 \
  https://github.com/ResearchPocket/researchpocket.github.io.git
cd researchpocket.github.io
cargo build --locked --release