All versions since [Unreleased]
[Unreleased]
0.1.0 (2026-04-02) Latest
Features
- add
just loadtarget for continuous load generation (3555c0b) - add 4 high-value fuzz targets for untrusted input paths (c453cbd)
- add 7 fuzz targets and fix OOM bugs in deserializers (70cb1be)
- add CI/CD pipelines, Helm chart, and Terraform modules for multi-cloud deployment (1f89b9a)
- add cluster benchmark infrastructure for multi-shard scaling comparison (1cd6b38)
- add code coverage with cargo-llvm-cov and Codecov CI integration (e7404df)
- add Debian packaging with deb-gen code generator and APT repository (821efbf)
- add Docker builder image and system RocksDB verification (2c50891)
- add frogdb-debug crate to workspace and wire into server (5858ccd)
- add frogdb-debug crate with diagnostic web UI (5d0bd3f)
- add geo_ops and ts_label_filter fuzz targets (75385c3)
- add lefthook pre-commit hooks for formatting and lint checks (583b22e)
- add replication-mode finalization, version metrics, and observability for rolling upgrades (02dc9b6)
- add rolling upgrade infrastructure (version tracking, gating, CLI) (c1d09f0)
- add RPOPLPUSH and ZREVRANGE, fix Redis compat across data types (6640dd9)
- add TLS support with dual-port plaintext/TLS, mTLS, and config infrastructure (d7d855a)
- auto-generate config reference docs from Rust source code (283c6ab)
- bundle Grafana dashboard in Helm chart and add as release asset (9b597f6)
- close rolling upgrade test gaps with real version gate, CLI tests, and operator awareness (7ec1799)
- expand debug UI with embedded assets, JSON APIs, and config display (da77649)
- expose admin HTTP port in test harness and add admin health test (2772249)
- extend TLS to cluster bus, replication, and HTTP endpoints (a0b5de8)
- improve Redis compatibility across commands and protocol handling (6ce7b59)
- improve Redis compatibility across commands and protocol handling (d0dbbd9)
- metrics: add debug web UI module for server inspection (d430549)
- per-suite Redis compat runner with crash/hang detection (1538837)
- redesign debug dashboard with metrics charts, client tracking, and Simple.css (cad54a5)
- switch TOML config keys to kebab-case and add CONFIG param metadata to docs (2e15c18)
- un-ignore 18 more redis regression tests (batch 3 quick fixes) (a71f21f)
- un-ignore 31 more redis regression tests (Tier 1C + Tier 2 batch) (74641c0)
- un-ignore 50 more redis regression tests (batches 4-6) (6560f16)
- wire frogdb_shard_queue_latency_seconds histogram via ShardSender/ShardReceiver newtypes (6964d65)
- wire PrimaryReplicationHandler through connection pipeline for PSYNC handoff (a428859)
Bug Fixes
- accept case-insensitive engine name in FUNCTION LOAD shebang (1d779a5)
- adapt to rand 0.10 API changes and resolve clippy warnings (d7cf4ac)
- gate TLS test modules behind cfg(not(turmoil)) (3cb0875)
- harden config validation, wire dead config fields, and extend CONFIG SET (adb5602)
- make LIBCLANG_PATH configurable for Linux compatibility (3d046f3)
- make MULTI/EXEC transaction side effects atomic (5160323)
- patch OOM and catastrophic backtracking found by new fuzz targets (2c9cfce)
- repair 42 broken markdown links in docs/todo (8021b97)
- repair broken links and stale URLs in website docs (aa7ae5a)
- replace
?withif letand normalize early-return patterns to satisfy clippy (fe10537) - replace panicking lock methods with fallible error-returning variants (cfdec13)
- resolve breaking API changes from dependency bumps (9886cfd)
- resolve CI check failures across formatting, lints, licenses, and tests (3401b0f)
- resolve CI failures across 6 jobs (12df7f3)
- resolve CI failures across test, build, link-check, and release workflows (aff6a82)
- resolve clippy warnings in cluster, server TLS init code (00061cd)
- resolve clippy warnings in regression tests and TLS tests (4bad580)
- resolve compilation errors when building with turmoil feature (686520f)
- resolve expression parser crash and HTTPS test race condition (447ef2b)
- resolve remaining CI failures and fuzzer bitmap overflow (6514304)
- separate admin HTTP API port from admin RESP port (73030e8)
- set CC/CXX=clang in Docker builder to fix cc-rs build failure (aec8732)
- set initial release version to 0.1.0 (502a5f0)
- support online certificate reload for outgoing TLS connections (7eba275)
- un-ignore 32 redis regression tests (Tier 1 quick wins) (c3cc7a4)
Code Refactoring
- add frogdb-macros crate with
#[derive(Command)]proc macro (9db0c81) - add ServerWideOp enum and migrate server-wide command routing (4e3d8dc)
- architecture smell audit — facade methods, function splits, type decomposition (65081ec)
- bind all server listeners eagerly to fix TOCTOU port races (6a5b988)
- consolidate docs into website, remove sync pipeline (67cd93b)
- consolidate HTTP servers and add bearer token auth (6060d77)
- consolidate metrics architecture — absorb LatencyBandTracker into MetricsRecorder and move recorder to ObservabilityDeps (203ae46)
- core: split shard module into focused submodules and add request flow spec (600b71e)
- expand link-check scripts to cover Snappy and zstd, rename to linkcheck-* (f992952)
- extract acl, cluster, persistence, and scripting into dedicated crates (c52bfa8)
- extract CLIENT, CONFIG, LATENCY, MEMORY, and SLOWLOG handlers into submodules (611e8ca)
- extract command dispatch logic into connection/dispatch.rs (9e41961)
- extract commands, replication, and vll into dedicated crates (083456d)
- extract connection handlers into modules and add lock safety extensions (f777112)
- extract frogdb-types crate and remove frogdb-debug crate (5475093)
- extract RocksDB check scripts from Justfile into Python scripts (a1f7e22)
- extract ShardObservability::reset_stats, remove unused AdminHandler (48185fb)
- extract traits into dedicated modules and add observability abstractions (49a6a49)
- implement std Error trait on domain errors and eliminate panics (fa8c2c9)
- json: introduce macros to deduplicate JSON command boilerplate (a626c6c)
- metrics: add typed metrics proc macros and dashboard codegen (30ad227)
- move basic commands from server module to commands module (8f2e848)
- move docs/todo to top-level todo directory (0c2a793)
- move replication commands into commands module (8066ec6)
- protocol: split Response into WireResponse and InternalAction (8167d24)
- rename frog-cli to frogctl (74cd151)
- rename frogdb-metrics to frogdb-telemetry and split debug crate (85e9d27)
- rename frogdb-metrics to frogdb-telemetry and split debug crate (1329984)
- rename testing/load-test to testing/load (617f364)
- replace Jepsen per-test Justfile targets with unified Python runner (8397521)
- replace JSON with postcard binary codec and LengthDelimitedCodec for cluster RPCs (64b5796)
- replace manual RESP string parsing in replication with redis-protocol codec (b785b44)
- server: split server module into basic_commands, register, and util submodules (e030c40)
- split connection handler pubsub, scatter, scripting, and transaction handlers into separate modules (1546477)
- split connection.rs into focused submodules (680272f)
- split large modules into submodules for acl, commands, core, and server (2e69b8f)
- split sorted set commands into focused submodules (41d3715)
- split store and sorted_set into modules, add key extraction macros (ed6c0e1)
- test: split concurrency test mocks into dedicated modules (76110a2)
- tests: reduce boilerplate by adopting shared test helpers (5312159)
Performance
- add faster linking,
checkalias, and lean dev debug profile (93ca447) - batch multi-response writes to reduce flush syscalls (9ea945b)
- copy-on-write store reads and RocksDB I/O tuning (a51b7a9)
- make cluster load test threads/clients configurable and skip cached memtier image build (52d308a)
- reduce hot-path allocations across SCAN, RESP3 encoding, glob matching, and sorted set range removal (f91d67c)
- reduce per-request allocations and enable TCP_NODELAY (97b06cd)