Repository navigation
v0.28.0
Highlights
Named databases checkpoint and open in bounded memory. A named .loradb database's sync() used to build the whole snapshot in memory, several copies deep, and the archive kept it resident afterwards; opening decoded it the same way. Both now stream. On a 3M-node graph (630 MiB in memory):
| v0.27.1 | v0.28.0 | |
|---|---|---|
sync(), peak heap over the graph |
+5.4 GiB | +11 MiB |
| open, peak heap over the graph | +5.3 GiB | +13 MiB |
| process max RSS (macOS) | 6.45 GB | 1.13 GB |
RSS under glibc over three sync() calls (1M nodes) |
1.2 → 1.9 GB | flat at 305 MiB |
.loradb size |
155 MB | 54 MB |
| open | 14.3 s | 8.9 s |
sync() |
9.4 s | 4.6 s |
Writers no longer wait while sync() writes the snapshot, only while it takes the graph and its WAL position. recover, managed checkpoints, checkpoint_to and save_snapshot_to use the same streaming path. The snapshot format is unchanged: v0.27 archives open in v0.28, and v0.28 archives open in v0.27.
Breaking change
sync() on a named database now drops the WAL its snapshot covers. Until now the archive kept every WAL segment since the database was created. A change feed on a named database can therefore resume only from the last sync() onwards; an older fromLsn fails with LORA_CHANGES_TRUNCATED, the same as after a managed checkpoint. Resuming after the last sync() replays over the archive's snapshot as before.
Testing
Besides the test suites, 1,200 kill -9 rounds on macOS and Linux killed a writer at random points (in writes, in sync() and in open), and every acknowledged write survived with the graph intact.
[0.28.0] - 2026-10-25
CI/CD
- lora-wasm: Test on ubuntu-24.04 (
2c6fee3) - lora-python: Test on ubuntu-24.04 (
12329d2) - release: Build native Linux artifacts on ubuntu-24.04 (
35f78c5) - lora-ruby: Test on ubuntu-24.04 (
a4a74ce) - Install wasm-pack from its release, not jetli/wasm-pack-action (
2f9ba9d)
Features
- lora-database: A named database's sync() drops the WAL its snapshot covers (
a287f96)
Performance
- lora-database: Sync() and open stream the snapshot (
14d6f2d)
Tests
- lora-database: A kill-9 probe for named databases, write timing in the sync probe (
fe70233)
Assets
| Platform | Asset |
|---|---|
| Linux x86_64 | lora-server-v0.28.0-x86_64-unknown-linux-gnu.tar.gz |
| Windows x86_64 | lora-server-v0.28.0-x86_64-pc-windows-msvc.zip |
| macOS Intel | lora-server-v0.28.0-x86_64-apple-darwin.tar.gz |
| macOS Apple Silicon | lora-server-v0.28.0-aarch64-apple-darwin.tar.gz |
| Full changelog | CHANGELOG.md |
Each binary archive ships with a matching .sha256 file. An aggregated lora-server-v0.28.0-SHA256SUMS.txt is also attached.
Download, verify, and run instructions: see RELEASING.md and the README.