Releases: fjall-rs/lsm-tree
Releases · fjall-rs/lsm-tree
1.4.0
- [api] Add UTF-8 error variant
1.3.1
- [perf] Set upper bound for MemTable prefix scans
- [misc] Allow Leveled compaction to move non-overlapping segments from L0 to L1
- [refactor] Internal refactors
1.3.0
1.2.0
- [perf] Optimize scanning in disjoint tree as described in https://fjall-rs.github.io/post/lsm-leveling/#scanning-monotonic-data
- [perf] Use
ahash
inBlockCache
, reducing CPU time spent in hashing phase - [api] Add
Leveled
compaction strategy alias - [refactor] Internal refactors
- [misc] Allow Leveled compaction strategy to "repair" non-disjoint levels
- [deps] Update
quick-cache
1.1.3
- [perf] Optimize reverse prefix iteration, ~50% faster for short scans
- [refactor] Internal refactors
1.1.2
- [perf] Use hash sharing during point reads as described in https://fjall-rs.github.io/post/bloom-filter-hash-sharing/
- [refactor] Internal refactors
- [misc] Adjust error handling in
Segment::verify
- [misc] Allow 32-bit targets
- [test] Test more targets in CI pipeline
1.1.1
- [fix] Fix FIFO compaction
1.1.0
- [feat] Allow registering external memtable for scan ops (used for ephemeral transaction write set -> RYOW)
- [perf] Optimize finding items in disk blocks using binary search
- [refactor] Refactor merge iterator
1.0.5
- [perf] Rewritten segment reader - improves scan performance by 25% (uncached) to 50% (cached) + less allocations
- [test] Add more tests
- [misc] Internal refactors
1.0.4
- [critical] Make flushing & compacting truly atomic by preventing in-memory manifest to be updated before fully persisting
- [fix] Make segments visible again if Merge compaction fails
- [chore] Internal refactoring