You are currently viewing an archived version of a document, the data may be outdated.
Documents
Nov 22, 2025 - Dec 30, 2025 Changelog
Nov 22, 2025 - Dec 30, 2025 Changelog
Type
Changelog
Status
Published
Created
Dec 31, 2025
Updated
Dec 31, 2025
Created by
Dosu Bot
Updated by
Dosu Bot

Features#

  • Add release schedule to README: Documented the project's release cadence and compatibility guarantees. (2025-12-30, #1150)
  • Add run-compactor to slatedb CLI: Introduced a CLI command to run the compactor as a standalone process, supporting externalized compaction workflows. (2025-12-18, #1122)
  • Publicize CompactorBuilder: Exposed the CompactorBuilder API for constructing and running a compactor independently of a Db instance. Added examples and documentation for standalone compactor usage. (2025-12-17, #1117)
  • Add read/list .compactions files to Admin/CLI: Enabled reading and listing of .compactions files via the Admin API and CLI, improving observability of compaction state. (2025-12-26, #1131)
  • Garbage collect .compactions files: Added support for garbage collecting .compactions files, with CLI and configuration integration. (2025-12-20, #1129)
  • Add scan_prefix/scan_prefix_with_options: Introduced efficient prefix-based scan APIs to core, Go, and Python bindings. (2025-12-10, #1084; #1078)
  • Add metrics method for Go bindings: Exposed database metrics to Go users via a new Metrics() method. (2025-12-09, #1082)
  • Add total_mem_size_bytes and l0_sst_count metrics: Added metrics for total memory usage and number of L0 SST files to aid monitoring and tuning. (2025-12-11, #1089; #1093)
  • Add Malstrom and Massive to adopters list: Updated README to include new users. (2025-12-17, #1116; 2025-12-18, #1120)
  • Add ZeroFS to adopters list: Added ZeroFS to the list of known users. (2025-12-12, #1102)
  • Add bindings section to README: Documented official and community language bindings. (2025-12-10, #1086)
  • Add an RFC template: Provided a standard template for RFCs and updated contribution guidelines. (2025-12-12, #1100)
  • Add network chaos tests for SlateDB: Introduced network chaos testing scenarios and CI integration to improve robustness. (2025-11-24, #1014)
  • Add unit tests for dbReader get in Go: Improved test coverage for Go bindings. (2025-12-03, #1061)
  • Test TTL in DST: Added TTL testing to deterministic simulation tests. (2025-12-22, #1124)

Bug Fixes#

  • Sync compactor_epoch between .manifest and .compactions: Ensured the compactor epoch is synchronized between manifest and compactions files, preventing fencing inconsistencies. (2025-12-30, #1152)
  • Fix duplicate "bytes" suffix in compaction progress: Corrected log output to avoid redundant units. (2025-12-16, #1115)
  • Fix compactor panic on DB close by handling closed channel gracefully: Prevented panics when shutting down the compactor by handling closed channels without crashing. (2025-12-09, #1081)
  • Silence expected NotFound warnings in disk cache evictor and metadata get: Reduced log noise by suppressing warnings for expected file-not-found conditions during disk cache eviction and metadata retrieval. (2025-12-16, #1111; 2025-12-19, #1125)
  • Fix disk cache size exceeded configured capacity bug: Corrected logic to ensure disk cache does not exceed its configured size. (2025-12-15, #1079)
  • Fix a couple bugs with merge rows and snapshots: Fixed issues with merge operator handling and snapshot retention, ensuring correct merge row visibility and retention. (2025-12-03, #1060)
  • [golang] make slatedb_reader_get_with_options return NotFound for missing keys: Standardized error handling for missing keys in Go bindings. (2025-11-28, #1045)
  • Fix list_checkpoints pyi: Corrected Python type hints for checkpoint listing methods. (2025-12-05, #1070)

Improvements#

  • Replace read_active_manifests with read_referenced_manifests: Refactored manifest reading logic to improve correctness and maintainability in GC and compaction. (2025-12-29, #1149)
  • Move compactor persistence logic to CompactorStateWriter: Centralized compactor state persistence, improving reliability and testability. (2025-12-29, #1096)
  • Use compaction state to calculate low watermark in GarbageCollector: Improved GC safety by using persisted compaction state for watermark calculations. (2025-12-19, #1071)
  • Optimize disk cache: Improved disk cache eviction performance and reduced lock contention. (2025-12-13, #1092)
  • refactor(disk_cache): reduce the lock acquisition number during disk cache eviction: Further optimized disk cache eviction by minimizing lock acquisitions. (2025-12-26, #1133)
  • Avoid cloning entries in SST builder by checking size before consuming: Reduced unnecessary cloning in SST block building, improving write efficiency. (2025-12-17, #1114)
  • Refactor size-tiered compaction: Added Copy derives, removed unnecessary clones, and improved iteration logic for compaction scheduling. (2025-12-16, #1113)
  • Create more shards by default in FoyerCacheOptions: Increased default cache sharding for better concurrency. (2025-12-15, #1101)
  • Honor path suffixes in resolve_object_store: Ensured object store URLs with path suffixes are correctly handled using PrefixStore. (2025-12-09, #1076)
  • Honor SstIteratorOptions::cache_blocks in index/filter reads: Respected cache block options for index and filter reads, improving cache control. (2025-12-11, #1088)
  • Scope cache keys to specific databases: Prevented cache key collisions across databases. (2025-12-11, #1087)
  • Make "bytes processed" total in compactor output human readable: Improved log readability for compaction progress. (2025-12-16, #1039)
  • Expose errors when Open fails in go-bindings: Improved error reporting for database open failures in Go. (2025-12-08, #1056)
  • [slatedb-go|py] by default use environment to create object store: Changed default object store resolution to use environment variables, improving configuration consistency. (2025-12-08, #1063)
  • [slatedb-go] refactor db creation code to accept url and envFile: Simplified Go binding configuration for object store selection. (2025-11-28, #1048)
  • [slatedb-go] add support for local filesystem object store: Enabled local filesystem as an object store in Go bindings. (2025-11-28, #1048)
  • [slatedb-go] add metrics method for db: Added Go API for retrieving database metrics. (2025-12-09, #1082)
  • [slatedb] add total_mem_size_bytes metric: Added a metric to track total memory usage. (2025-12-11, #1089)
  • [slatedb] add metric for number of l0 sst files: Added a metric to track the number of L0 SST files. (2025-12-13, #1093)
  • [slatedb] add scan_prefix support to Python/Go bindings: Exposed prefix scan APIs to Go and Python. (2025-12-10, #1084)
  • [slatedb-go] add unit tests for dbReader get: Improved Go test coverage for dbReader. (2025-12-03, #1061)
  • [slatedb-go] make slatedb_reader_get_with_options return NotFound for missing keys: Standardized error handling for missing keys in Go. (2025-11-28, #1045)
  • [slatedb-go] print the internal error instead of a pointer: Improved error message clarity in Go bindings. (2025-12-13, #1103)
  • [slatedb] add mark_read() to transactions: Added mark_read() to allow tracking read keys for conflict checking in snapshot isolation. (2025-12-26, #1137)
  • chore: make slatedb::Db derive Clone: Allowed cloning of the Db struct. (2025-12-23, #1139)
  • chore: rename DBTransaction to DbTransaction: Renamed transaction struct for consistency. (2025-12-30, #1153)
  • perf: reduce default garbage collector min age for WAL to 1 hour: Lowered WAL GC min age for faster cleanup. (2025-12-23, #1136)
  • Prevent LogicalClock overflow in DST: Limited logical clock advancement in deterministic simulation tests. (2025-12-23, #1141)
  • Bump sequence tracker test to 60s timeout: Increased test timeout for sequence tracker race condition. (2025-12-20, #1132)
  • Fix outdated docs in dst.rs: Updated documentation for deterministic simulation tests. (2025-12-05, #1067)
  • Remove chaos-http-proxy from chaos tests: Cleaned up unused dependencies in chaos test setup. (2025-11-24, #1046)
  • Allow fencing in reset_peer chaos test: Improved chaos test reliability by handling fencing scenarios. (2025-12-02, #1053)
  • Set GC min_age and interval to 0 in chaos tests: Tuned GC settings for chaos test speed. (2025-12-02, #1057)
  • Added metrics for running compactions: Exposed metrics for in-progress compactions. (2025-12-02, #1027)
  • StoredManifest load & clone functions to accept sys clock: Improved testability and encapsulation by passing system clock explicitly. (2025-12-03, #1059)
  • Remove unused clock field from ManifestStore struct: Simplified manifest store by removing unused fields. (2025-12-04, #1062)
  • StoredManifest init and create_new_db to accept system clock as param: Improved manifest initialization flexibility. (2025-12-02, #1058)
  • Persist compaction job skeleton to object storage: Persisted compaction job metadata for improved recovery and GC. (2025-12-08, #1064)
  • Replace custom AWS_ and AZURE_ handling with with_config: Simplified object store configuration using builder APIs. (2025-12-16, #1109)
  • Replace DirtyManifest w/ DirtyObject: Refactored manifest mutation logic for clarity and consistency. (2025-11-24, #1038)
  • Prevent GC from deleting very recent L0's: Improved GC safety by preventing deletion of recently written L0 SSTs. (2025-11-22, #1028)
  • get operation cache blocks: Added cache control for get operations in Go and Python bindings. (2025-11-27, #1026)
  • filter out old sequenced keys when flushing to L0: Ensured only the latest version of each key is flushed to L0, reducing redundancy. (2025-12-09, #1055)
  • Merge when flushing to L0: Applied merge operator logic during memtable flush to L0, improving correctness for merge workloads. (2025-12-15, #1090)

Breaking Changes#

  • Replace DirtyManifest w/ DirtyObject: Refactored manifest mutation APIs; downstream code may need to update usage. (2025-11-24, #1038)
  • chore: rename DBTransaction to DbTransaction: Renamed transaction struct; update code to use DbTransaction. (2025-12-30, #1153)
  • [slatedb-go|py] by default use environment to create object store: Changed default object store resolution; users relying on implicit in-memory stores may need to set environment variables or provide explicit configuration. (2025-12-08, #1063)
  • Honor path suffixes in resolve_object_store: Object store URLs with path suffixes now use PrefixStore; may affect storage layout for some configurations. (2025-12-09, #1076)
  • Remove unused clock field from ManifestStore struct: ManifestStore API changed; update code to avoid relying on removed fields. (2025-12-04, #1062)

Dependencies#

  • Removed radix_trie dependency: Replaced with HashMap+Vec for cache eviction logic, improving performance and reducing dependencies. (2025-12-13, #1092)
  • Added sysinfo dependency: Used for determining default cache sharding based on CPU count. (2025-12-15, #1101)

For more details, see the linked pull requests.

Nov 22, 2025 - Dec 30, 2025 Changelog | Dosu