NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1233 most downloaded on crates.io
Rust wrapper for Facebook's RocksDB embeddable database
Last release 1 months ago
16 Aug 2026
Ships fairly regularly
a new release about every 7 months
Some releases are documented
notes for 29 of 55 stable releases
2 versions withdrawn
withdrawn after publishing
12 years old
58 releases · first in 2014
Revert #981 with a proper support for CXXSTDLIB by @Rexagon in #1029
CXXSTDLIB by @Rexagon in #1029Full Changelog: v0.24.0...v0.25.0
One column per quarter.
set_cf_paths (Cryptomiester)TransactionDB (David Calavera)flush and flush_wal wrappers to TransactionDB (Guido D'Orsi)delete_range to SstFileWriter (cooronx)timestamp() to DBRawIterator (Dillon Hicks)Iterator::Refresh() bindings (Joshua Send)sequence_number to SnapshotWithThreadMode (Luca Casonato)options_set_ttl (Igor Bukanov)get_options_from_string (Mario Rugiero)WriteBatch (Vladimir)-Ctarget-cpu and enable CRC32 flags on aarch64 (Evan Jones)CXXSTDLIB support for Unix builds (Ivan Kalinin)actions/checkout v5 (Coder)Options::set_info_log (Evan Jones)skip_prepare (GarmashAlex)set_compression_options parameters (Val Lorentz)set_skip_prepare (MozirDmitriy)Cache::new_hyper_clock_cache (Evan Jones)tikv-jemalloc-sys to 0.7 (checkraisefold)db_options.rs: deprecate set_ignore_range_deletions (RocksDB 10.2.1) by @evanj in #1000
Full Changelog: v0.23.0...v0.24.0
WriteBatch::put_log_data support (lucasvuillier)get_approximate_sizes function (ran-openai)WriteBatchIteratorCf trait (RiversJin)BlockBasedTablePinningTier enum and setters (JackDrogon)opt_bytes_to_str to avoid use-after-free (Chain-Fox, BurtonQin)set_ignore_range_deletions (RocksDB 10.2.1) (evanj)set_skip_checking_sst_file_sizes_on_db_open as deprecated (evanj)db_iterator.rs (evanj)[CI] Deprecated Node version and outdated GitHub Actions by @4TT1L4 in #911
ptr::copy_nonoverlapping by @ruanpetterson in #8681.70.0 by @cratelyn in #886Sync for {Bound}ColumnFamily by @jhpratt in #915with_capacity for WriteBatch by @0xdeafbeef in #947set_compaction_pri by @0xdeafbeef in #951Full Changelog: v0.22.0...v0.23.0
crt_static method (spector-9)ptr::copy requires both ptrs to be non-null (ruanpetterson)BackupEngine Send (widagdos)libatomic command to build.rs to allow building (willemolding)OptimisticTransactionDB (vadim-su)default column family doesn't inherit open options of db (0xdeafbeef)ReadTier (w41ter)set_avoid_unnecessary_blocking_io (w41ter)TransactionDB (4TT1L4){Bound}ColumnFamily (jhpratt)const-cstr is Unmaintained (4TT1L4)tikv-jemalloc-sys to 0.6 (0xdeafbeef)Env::from_raw constructor (jgraettinger)AsRef (niklasf)bindgen (Congyuwang)tempfile instead of the current working directory (mr-c)with_capacity_bytes to WriteBatch (0xdeafbeef)ROCKSDB_SCHED_GETCPU_PRESENT for Linux build config (popcnt1)set_compaction_pri to Options (0xdeafbeef)lto feature to enable link-time optimization using linker-plugin-lto (0xdeafbeef)set_track_and_verify_wals_in_manifest (evanj)Fix memory leak when calling get_writebatch and avoid unnecessary clones by @jkurian in #786
allow_ingest_behind ffi call for DB Options by @siyuan0322 in #808Cache in docs by @zheland in #812ReadTier publicly by @tinct-martini in #821CompactOptions Send and Sync by @GodTamIt in #849FlushOptions Send and Sync by @jansegre in #860Full Changelog: v0.21.0...v0.22.0
&PropName which can be converted at no cost to &CStr and &str (mina86)column_family_metadata and column_family_metadata_cf (ovr)set_optimize_filters_for_memory (zaidoon1)set_wal_compression_type (ovr)compact_on_deletion_collector_factory (zaidoon1)set_auto_readahead_size (niklasf)set_periodic_compaction_seconds (zaidoon1)optimize_for_point_lookup (XiangpengHao)Add doc-check to CI. Fix warnings in docs, but broken-intra-doc-links. by @YuraKotov in #743
KeyMayExist if value found in Cache or Memory by @Congyuwang in #759DBWALIterator that would miss updates by @Zagitta in #771Full Changelog: v0.20.1...v0.21.0
io-uring (niklasf)Cache::new_hyper_clock_cache() (niklasf)Fix compatibility with MSRV 1.60.0 (aleksuss) in #741
Full Changelog: v0.20.0...v0.20.1
Support RocksDB 7.x BackupEngineOptions (exabytes18)
BackupEngineOptions (exabytes18)int128 compatibility check (Dirreke)Options::load_latest method to load the latest options from RockDB (Congyuwang)set_snapshot method public (a14e)drop_cf function to TransactionDB (bothra90)set_cache_index_and_filter_blocks (guerinoni)build.rs if env vars change (drahnr)WriteBatch::data method (w41ter)DB::open_cf_with_opts method (w41ter)Full Changelog: v0.19.0...v0.20.0
Add support for building with io_uring on Linux (parazyd)
io_uring on Linux (parazyd)rocksdb to 7.4.4 (niklasf)tikv-jemalloc-sys to 0.5 (niklasf)set_use_fsync comment (nazar-pc)rocksdb to 7.4.3 (aleksuss)zstd-sys from 1.6 to 2.0 (slightknack)ffi_util::to_cpath to convert Path to CString (mina86)&CStr (mina86)&CStr arguments (mina86)bz_internal_error symbol multiply defined (nanpuyue)PinnableSlice based API (zheland)Full Changelog: v0.18.0...v0.19.0
Update RocksDB to v6.22.1 by @duarten in #540
serde::{Serialize, Deserialize} for configuration enums by @thibault-martinez in #556multi_get support by @olegnn in #572CacheWrapper and EnvWrapper Send and Sync by @aleksuss in #586librocksdb-sys crate (aleksuss)Fix multi_get method (mikhailOK)
multi_get method (mikhailOK)librocksdb-sys up to 6.19.3 (olegnn)librocksdb-sys up to 6.20.3 (olegnn, akrylysov)DB::key_may_exist_cf_opt method (stanislav-tkach)Options::set_zstd_max_train_bytes method (stanislav-tkach)Add DB::cancel_all_background_work method (stanislav-tkach)
DB::cancel_all_background_work method (stanislav-tkach)librocksdb-sys up to 6.13.3 (aleksuss)multi_get, multi_get_opt, multi_get_cf and multi_get_cf_opt DB methods (stanislav-tkach)librocksdb-sys up to 6.17.3 (ordian)&mut self in create_cf and drop_cf (v2) (ryoqun)DB::open_cf_with_ttl method (fdeantoni)Fix building rocksdb library on windows host (aleksuss)
Options::set_compression_type (wqfish)open_with_ttl. (calavera)x86_64-linux-android that doesn't support PCLMUL (vimmerru)SstFileWriter and DB::ingest_external_file (methyl)DEFAULT_COLUMN_FAMILY_NAME constant (stanislav-tkach)Clone trait for Options (stanislav-tkach)Send implementation to WriteBatch (stanislav-tkach)BlockBasedOptions: expose format_version, [index_]block_restart_interval (ordian)
format_version, [index_]block_restart_interval (ordian)ffi_try macro to make trailing comma optional (wqfish)set_ratelimiter to the Options (PatrickNicholas)set_max_total_wal_size to the Options (wqfish)flush_cf method to the DB (wqfish)next on the DBIterator that is at the end of the range (wqfish)WriteBatch::delete (wqfish)uuid and bindgen dependencies (jonhoo)Result (wqfish)optimize_level_style_compaction method (NikVolf)DBPath use tempfile (jder)db.rs and lib.rs into smaller pieces (jder)set_iterate_upper_bound method safe (wqfish)librocksdb-sys with system libraries (basvandijk)open_for_read_only APIs (wqfish)DBRawIterator::prev and next methods (wqfish)open_as_secondary APIs (calavera)Added ReadOptions::set_verify_checksums and Options::set_level_compaction_dynamic_level_bytes methods (ordian)
ReadOptions::set_verify_checksums and
Options::set_level_compaction_dynamic_level_bytes methods (ordian)Sync for DBRawIterator (nbdd0121)Options::max_dict_bytes and Options::zstd_max_training_bytes methods(methyl)DBIterator return types (ngotchac)DB::get_updates_since() to iterate write batches in a given sequence (nlfiedler)ReadOptions::set_tailing() to create a tailing iterator that continues to
iterate over the database as new records are added (cjbradfield)status method on iterators (rnarubin)Nothing published for this version
Enabled sse4.2/pclmul for accelerated crc32c (yjh0502)
set_db_write_buffer_size to the Options API (rnarubin)Sync and Send implementations to Snapshot (pavel-mukhanov)raw_iterator_cf_opt to the DB API (rnarubin)DB::latest_sequence_number method (vitvakatu)Updated compact_range_cf to use generic arguments (romanz)
compact_range_cf to use generic arguments (romanz)SliceTransform implementation (ekmartin)delete_range and delete_range_cf (baptistejamin)ReadOptions.set_iterate_upper_bound method (xiaobogaga)flush and flush_opt operations (valeriansaliou)Added iterator_cf_opt function to DB (elichai)
iterator_cf_opt function to DB (elichai)set_allow_mmap_writes and set_allow_mmap_reads functions to Options (aleksuss)Added support for PlainTable factories (ekmartin)
ColumnFamily, DBIterator and DBRawIterator now have lifetime parameters to prevent using them after the DB has been dropped (iSynaptic)DBIterator and DBRawIterator now accept ReadOptions (iSynaptic)&[u8], are now generic and accept anything that implements AsRef<[u8]> (iSynaptic)set_readahead_size to ReadOptions (iSynaptic)AsRef<[u8]> for DBVector (iSynaptic)This is the first release under the new Maintainership model. Three contributors have been selected to help maintain this library -- Oleksandr Anyshch
This is the first release under the new Maintainership model. Three contributors have been selected to help maintain this library -- Oleksandr Anyshchenko (@aleksuss), Jordan Terrell (@iSynaptic), and Ilya Bogdanov (@vitvakatu). Many thanks to Tyler Neely (@spacejam) for your support while taking on this new role.
A gitter.im chat room has been created. Although it's not guaranteed to be "staffed", it may help to collaborate on changes to rust-rocksdb.
Checkpoint (aleksuss)SliceTransform (spacejam)DBPath struct to ensure test databases are cleaned up (ekmartin, iSynaptic)rustfmt.toml to work with newer rustfmt version (ekmartin, iSynaptic)ColumnFamily struct Send (Tpt)DBIterator struct Send (Elzor)create_cf and drop_cf methods on DB now work with immutable references (aleksuss)test_column_family test on macOS (aleksuss)set_skip_stats_update_on_db_open option (romanz)keep_log_file_num option (romanz)WriteBatch serialized size (romanz)set_options method to DB to allow changing options without closing and re-opening the database (romanz)Nothing published for this version
bump bindgen to 0.37 (ekmartin)
Bump rocksdb to 5.11.3 (spacejam)
SliceTransform support (spacejam)
Bump rocksdb to 5.10.2 (ongardie)
Bump rocksdb to 5.7.1 (jquesnelle)
* Added list_cf (jeizsm)
Removed set_disable_data_sync (glittershark)
Bumped rocksdb to 5.6.2 (spacejam)
* Bumped rocksdb to 5.6.1 (vmx)
Nothing published for this version
Support for raw iterator access (kaedroho)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →