Skip to content

Releases: ivanimmanuel-dev/ShutterDB

ShutterDB v0.2.1

Choose a tag to compare

@github-actions github-actions released this 06 Oct 00:05

ShutterDB v0.2.1

Compaction uses a hard link for its rollback backup, avoiding a full copy of the old
log. Filesystems without hard-link support still use a copy.

Benchmarks now cover bounded-cache eviction, write latency, reads and reopening,
alongside SQLite/RocksDB storage comparisons. Raw results and commands are in the
performance report.

The C++ API and format v1 are unchanged; no database migration is needed.
After interrupted compaction, reopen and close with v0.2.1 before using an older version.

Installation ·
Cache API ·
Performance

ShutterDB v0.2.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 22:08

ShutterDB v0.2.0

Persistent binary caches for C++20.

Changes

  • shutter::Cache: LRU eviction, automatic compaction and hit/miss statistics. The
    default budget for the main file is 1 GiB; call sync() to synchronize buffered writes.
  • Buffered log scanning: a reusable read window and index updates in place reduce
    reads and allocations during opening and verification.
  • Runtime-detected x86-64 CRC32C acceleration, a portable fallback and one-buffer
    indexed reads.
  • PNG/JPEG preview caching with transparency and content-hash reuse across filenames
    and process restarts.
  • SQLite and RocksDB benchmarks covering ingestion, reads, updates and compaction
    on 64 MiB and 1 GiB datasets.

Upgrade

Format v1 is unchanged; existing databases need no migration. DB keeps synchronous
writes by default. Cache uses the same format and evicts entries to meet its budget.

The core library and CLI build without third-party dependencies. The optional image example
requires OpenSSL, libpng 1.6+ and libjpeg.

Downloads

  • ShutterDB-0.2.0-source.zip
  • ShutterDB-0.2.0-linux-x64.zip
  • ShutterDB-0.2.0-windows-x64.zip

Binary packages include the CLI, headers, library and CMake configuration. SHA-256
checksums and manifests accompany the downloads. Link ShutterDB::ShutterDB.

Installation ·
Cache API ·
Durability

ShutterDB v0.1.0 — experimental

Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Oct 08:15

ShutterDB v0.1.0

Embedded key-value storage for C++20,
with checksummed append-only files, synchronous writes, recovery and manual compaction.
MIT licensed. On-disk format v1.

Included

  • Binary keys and values, tombstones and an in-memory key index.
  • Sync-by-default writes, optional buffering and explicit synchronization.
  • CLI for text and binary I/O, JSON diagnostics, verification and recovery.
  • Static library with CMake install/export and FetchContent support.
  • Source and Linux/Windows x64 packages, SHA-256 sums and file manifests.

Fixes

  • Preserve an unsupported-format primary when a compaction backup exists.
  • Reject FIFO inspection without blocking.
  • Reject out-of-order sequences in incomplete final records.
  • Include incomplete-tail categories and offsets in JSON verification output.

See durability
for synchronization, recovery and filesystem requirements.