surrealkv 0.5.4

A low-level, versioned, embedded, ACID-compliant, key-value database for Rust
Documentation
# Changelog

All notable changes to this project will be documented in this file.

## [0.5.4] - 2024-11-21

- Add Transaction::insert_or_replace() (#134)

## [0.5.3] - 2024-11-19

- Revert: Do not hold write lock while updating the index (#133)

## [0.5.2] - 2024-11-15

### ⚡ Performance

- Do not hold write lock while updating the index (#129)

## [0.5.1] - 2024-11-14

### 🚀 Features

- Implement synchronous Key-Value store
- Make store async
- Add durability option at transaction level
- Add repair for active segment in commit log
- Add option to store db in memory
- Change disk format for compaction
- Add clear method
- Add scan all versions api (#94)
- Add benchmark for restart time (#121)

### 🐛 Bug Fixes

- Remove unneeded usage of MaybeUninit (#11)
- Add sync module for tokio
- Do not delete key from snapshot until committed
- Add windows file system support (#21)
- Reset cursor to eof on append
- Close_reopen test should read inserted data and append in next run
- Handle calling close on closed store
- Track range bounds to detect write skew during range reads for SSI
- Watermark panic
- Panic in store_bench (#55)
- Make checksum based on the entire record fields (#65)
- Resolve values in scan_at_ts (#68)
- Snapshots do not need start_ts (#86)
- Deprecated field revision func naming (#95)
- Wasm build for async (#101)
- Sdb bug on hard delete and reinsert (#102)
- Imports in example for README (#124)

### 📚 Documentation

- Fix errors in README

### ⚡ Performance

- Reduce allocations and lookups in the write path (#60)

### ⚙️ Miscellaneous Tasks

- Add wal and value log (#1)
- Import vart and bump version
- Block reads on write-only txn and add store restart test
- Mention durability/persistence in README for surrealkv
- Update crate to v0.1.4
- Update vart version to v0.2.1
- Bump version to 0.2.0
- Add methods to get keys at specific timestamps (#50)
- Update skv 0.3.0 (#52)
- Remove unused dependencies (#58)
- Remove unused WAL (#62)
- Remove extra read buffering (#64)
- Bump version 0.3.1 (#67)
- Update vart to 0.4.1 (#87)
- Use Tree::insert instead of bulk_insert (#88)
- Rename delete/clear to hard/soft delete (#89)
- Remove max key value size from opts (#93)
- Update skv to 0.4.0 (#97)
- Changelog release workflow (#112)
- Add test for concurrent inserts (#110)
- Update skv version to 0.5.0 (#115)
- Improve benchmarks (#117)
- Avoid hashmap during index reload for offset (#120)
- Add test for migration from old version (#119)
- Improve README (#123)
- Handle close when runtime is dropped (#127)
- Bump version to 0.5.1

### Fix

- Remove s3fifo implementation (#84)
- Scan all versions limit should be restricted to unique keys (#100)

### Bugfix

- Oracle ts on restore should be set on index version, not total records (#111)

<!-- generated by git-cliff -->