Releases
v5.0.0
Compare
Sorry, something went wrong.
No results found
Added
(fs) filesystem-aware capability framework (CoW-disable + reflink) (#428 )
(encryption) activate AAD-bound block encryption on the live path (#423 )
(manifest) incremental manifest via append-only edit log (#421 )
(query) cold-block partial decode with resumable zstd (#415 )
(ecc) configurable ECC-at-rest scheme (XOR / Reed-Solomon) on the Page ECC path (#414 )
(tooling) repair_db — rebuild MANIFEST from on-disk SSTs (#409 )
(compaction) compaction-time range tombstones + bottommost seqno-zeroing (#407 )
(compaction) parallel sub-compaction across key ranges (#402 )
(compaction) parallel block compression (#401 )
(bench) add point-read workload to compare-rocksdb harness (#372 )
(index) per-block seqno bounds in SST index entries (#371 )
(integrity) [breaking ] per-KV checksum protection + flag-based ECC parity (V5 block header) (#369 )
(encryption) outer Reed-Solomon ECC frame codec over block ciphertext (#365 )
(manifest) Blocks-based manifest hardening (#297 ) (#357 )
(config) runtime-toggleable RuntimeConfig foundation (#352 ) (#355 )
(version) PointInTimeRecovery + SkipAnyCorruptedRecords + per-record framing (#323 ) (#342 )
(io) local Read/Write/Seek trait surface to lift Fs off std::io (#311 ) (#347 )
(bench) foundation for compare-rocksdb head-to-head harness (#244 ) (#345 )
(encryption) top-level encrypt_block/decrypt_block + KeyChain + wire format (#251 ) (#344 )
(ecc) per-block Reed-Solomon Page ECC (#267 ) (#343 )
(sst-dump) dump subcommand + public inspect::iter_data_block_entries facade (#335 )
(sst-dump) filter-stats subcommand + public inspect::read_filter_stats facade (#334 )
(encryption) AEAD dispatch with AES-256-GCM + ChaCha20-Poly1305 (#251 PR2) (#338 )
(encryption) AAD construction + decode-time error types (#251 foundation) (#336 )
(sst-dump) index-dump subcommand + public inspect facade extension (#333 )
(sst-dump) properties subcommand + public inspect facade (#328 )
(table) mirror TLI block near file tail for torn-write safety (#325 )
(sst-dump) hex subcommand for raw block-region dump with header decode (#327 )
(tooling) sst-dump CLI scaffold + verify subcommand (#301 ) (#316 )
(config) ManifestRecoveryMode + TolerateCorruptedTailRecords (#299 ) (#317 )
(verify) per-block XXH3 scrub for proactive bit-rot detection (#300 part 1) (#313 )
(fs) FileHint enum + FsFile::hint() primitive for posix_fadvise (#133 Phase 1a) (#307 )
(seeking-merger) allow self-coordinating independent-cursor sources via broadened CoherentMergeSource (#280 ) (#305 )
(range) wire SeekingMerger into Tree::range read path (#222 ) (#288 )
(merge) SeekingMerger — RocksDB-style dual loser trees (#222 ) (#284 )
(checkpoint) [breaking ] hard-link snapshot for PITR backup (V5 storage) (#276 )
(filter) replace standard bloom with BuRR (#269 )
Documentation
fix broken and redundant intra-doc links across the crate (#368 )
(format_version) document on-disk version bump policy (#360 )
add Manifest recovery modes section to README (#332 )
(encryption) AAD-bound encrypted block wire format spec (#250 ) (#318 )
Fixed
(compaction/leveled) tie level-count assertion to config (#359 )
(table/index) default partitioned index ON at every level (#329 ) (#340 )
(table) mirror meta block at mid-file for tail-corruption resilience (#295 ) (#314 )
Performance
(memtable) stop zeroing the arena, restore cheap fixed-block decode (#420 )
(memtable) geometric arena chunks (no 64 MiB zeroing per flush) (#417 )
(compression) pass source-size hint on zstd block compression (#404 )
(table) raise index spill threshold to 4 MiB (#399 )
(table) size-adaptive block index — single-level for small SSTs (#397 )
(read) lock-free latest-version fast path for point reads (#394 )
(compaction) I/O rate limiter (leaky token bucket) (#389 )
(io) drop cold-level SST output from the page cache after write (#392 )
(table) extend longest_shared_prefix_length SIMD to 32-bit x86 (i686) (#382 )
(table) AVX-512BW 64-byte lane for longest_shared_prefix_length (#380 )
(fs) pure hard_link; single SyncMode-aware cross-fs copy path (#378 )
(fs) configurable SyncMode; default plain fsync on macOS (#374 )
(read) borrow index block on point-read, parse trailer once (#376 )
(zstd) retain dictionary id in frame header (#366 )
(fs) O_DIRECT foundation — AlignedBuf + FsOpenOptions::direct_io (#133 phase 2) (#310 )
(table/scanner) bump compaction readahead 32 KiB → 2 MiB (#133 Phase 1c) (#308 )
(ci) proptest env-var budgets + slow-timeout audit (#158 items 2-5) (#306 )
(table) add Table::batch_get for sorted multi-key point reads (#223 phase 1) (#290 )
(loser_tree) eliminate comparator dispatch, close #283 fully (#287 )
(loser_tree) close N≥16 regression, reduce small-N gap (#283 partial) (#286 )
(compression) pre-parse zstd dict once via OnceCell + no-std foundation (#273 )
Refactored
(block) collapse 4 Block I/O paths into a single BlockTransform enum (#248 ) (#337 )
(block) [breaking ] thread BlockIdentity through Block I/O API (#252 ) (#294 )
(table/block/tests) extract write_block_to_tempfile helper (#128 part 1) (#293 )
(filter/burr) re-deny indexing/expect/unwrap with per-site justifications (#270 ) (#282 )
Testing
(compare) honest L3 compaction baseline vs RocksDB (#427 )
(compare) add surrealkv as a third bench engine (#425 )
(compare-rocksdb) zstd-22 compression axis + scan/seek/overwrite scenarios (#386 )
(encryption) AAD threat-model regression suite (first wave) (#361 )
(table/index) tighten blast-radius assertion to corruption variants (#341 )
triage all #[ignore] annotations across the crate (#326 )
(table) pin global-seqno translation on Table::get return path (#321 ) (#322 )
(verify) pin DataReadError routing for truncated data segment (#315 ) (#319 )
(encryption) mixed-load stress test across encryption × compression matrix (#128 part 2) (#304 )
(bench) P99/P999 tail-latency reporting for BuRR/ribbon probes (#271 ) (#281 )
You can’t perform that action at this time.