11.0.4 (03/11/2026)
Public API Changes
- Re-remove deprecated DB::Open raw pointer variants in db.h
11.0.3 (03/03/2026)
Public API Changes
- Relax option sanitization for kv ratio compaction
11.0.2 (02/26/2026)
Public API Changes
- Revert removing deprecated DB::Open raw pointer variants in db.h
11.0.0 (02/23/2026)
New Features
- Added support for storing wide-column entity column values in blob files. When
min_blob_sizeis configured, large column values in wide-column entities will be stored in blob files, reducing SST file size and improving read performance. - Added
CompactionOptionsFIFO::max_data_files_sizeto support FIFO compaction trimming based on combined SST and blob file sizes. AddedCompactionOptionsFIFO::use_kv_ratio_compactionto enable a capacity-derived intra-L0 compaction strategy optimized for BlobDB workloads, producing uniform-sized compacted files for predictable FIFO trimming. - Include interpolation search as an alternative to binary search, which typically performs better when keys are uniformly distributed. This is exposed as a new table option
index_block_search_type. The default isbinary_search.
Public API Changes
- Added new virtual methods
AbortAllCompactions()andResumeAllCompactions()to theDBclass. Added newStatus::SubCode::kCompactionAbortedto indicate a compaction was aborted. AddedStatus::IsCompactionAborted()helper method to check if a status represents an aborted compaction. - Drop support for reading (and writing) SST files using
BlockBasedTableOptions.format_version< 2, which hasn't been the default format for about 10 years. An upgrade path is still possible with full compaction using a RocksDB version >= 4.6.0 and < 11.0.0 and then using the newer version. - Remove deprecated raw
DB*variants ofDB::Openand related functions. Some other minor public APIs were updated as a result - Remove deprecated
DB::MaxMemCompactionLevel() - Remove useless option
CompressedSecondaryCacheOptions::compress_format_version - Remove deprecated DB option
skip_checking_sst_file_sizes_on_db_open. The option was deprecated in 10.5.0 and has been a no-op since then. File size validation is now always performed in parallel during DB open. - Remove deprecated
SliceTransform::InRange()virtual method and thein_rangecallback parameter fromrocksdb_slicetransform_create()in the C API.InRange()was never called by RocksDB and existed only for backward compatibility. - Remove deprecated, unused APIs and options:
ReadOptions::managedandColumnFamilyOptions::snap_refresh_nanos. Corresponding C and Java APIs are also removed. - Remove deprecated
SstFileWriter::Add()method (usePut()instead) and the deprecatedskip_filtersparameter fromSstFileWriterconstructors (useBlockBasedTableOptions::filter_policyset tonullptrto skip filter generation instead).
Behavior Changes
- Change the default value of
CompactionOptionsUniversal::reduce_file_lockingfromfalsetotrueto improve write stall and reduce read regression
Bug Fixes
- Fix longstanding failures that can arise from reading and/or compacting old DB dirs with range deletions (likely from version < 5.19.0) in many newer versions.
- Fix a bug where WritePrepared/WriteUnprepared TransactionDB with two_write_queues=true could experience "sequence number going backwards" corruption during recovery from a background error, due to allocated-but-not-published sequence numbers not being synced before creating new WAL files.
Performance Improvements
- Add a new table option
separate_key_value_in_data_block. When set to true keys and values will be stored separately in the data block, which can result in higher cpu cache hit rate and better compression. Works best with data blocks with sufficient restart intervals and large values. Previous versions of RocksDB will reject files written using this option.