Skip to content

Latest commit

 

History

History
611 lines (494 loc) · 25.8 KB

File metadata and controls

611 lines (494 loc) · 25.8 KB

Changelog

0.25.0 (2026-08-16)

Features

  • Add per-column-family SST and blob paths with set_cf_paths (Cryptomiester)
  • Add the mempurge threshold option (Vladimir Petrzhikovskii)
  • Add checkpoint support to TransactionDB (David Calavera)
  • Add flush and flush_wal wrappers to TransactionDB (Guido D'Orsi)
  • Add delete_range to SstFileWriter (cooronx)
  • Add timestamp() to DBRawIterator (Dillon Hicks)
  • Add Iterator::Refresh() bindings (Joshua Send)
  • Add custom logging callbacks (Ilan Scheinkman)
  • Add sequence_number to SnapshotWithThreadMode (Luca Casonato)
  • Add a feature-gated trait for exposing raw C pointers (Jacek Szwec)
  • Allow configuring checkpoint log size for flush (QuantumExplorer)
  • Expose options_set_ttl (Igor Bukanov)
  • Expose get_options_from_string (Mario Rugiero)
  • Expose high-priority cache index and filter blocks (Igor Bukanov)
  • Expose file deletion controls (Jacek Szwec)
  • Add ReadOptions deadline and I/O timeout setters (modernzju)
  • Add single delete support to WriteBatch (Vladimir)

Improvements

  • Preserve non-UTF-8 path bytes across the Unix FFI (grandpig)
  • Pass through -Ctarget-cpu and enable CRC32 flags on aarch64 (Evan Jones)
  • Sync build configuration defines with RocksDB (Evan Jones)
  • Improve documentation for cache and statistics options (Evan Jones)
  • Improve comments and readability (solunolab, caltechustc, luohewuyang, vastonus, Galoretka)
  • Add CXXSTDLIB support for Unix builds (Ivan Kalinin)
  • Update CI to use actions/checkout v5 (Coder)

Bug Fixes

  • Fix a memory leak in Options::set_info_log (Evan Jones)
  • Fix memory leaks in column-family metadata, column-family creation, and memory usage APIs (Evan Jones)
  • Fix memory leaks in database option error paths and compaction filters (Evan Jones)
  • Use the correct FFI setter for skip_prepare (GarmashAlex)
  • Fix clippy cast warnings on Linux aarch64 (Evan Jones)

Documentation

  • Document set_compression_options parameters (Val Lorentz)
  • Document set_skip_prepare (MozirDmitriy)
  • Copy RocksDB documentation for Cache::new_hyper_clock_cache (Evan Jones)

Dependency Updates

  • Bump Rust to 1.88.0 (Oleksandr Anyshchenko)
  • Update to RocksDB 10.7.5 (nsaji-stripe)
  • Update to RocksDB 11.8.1 (Oleksandr Anyshchenko)
  • Bump tikv-jemalloc-sys to 0.7 (checkraisefold)

Contributors

  • Cryptomiester, Vladimir Petrzhikovskii, David Calavera, Guido D'Orsi, cooronx, Dillon Hicks, Joshua Send, Ilan Scheinkman, Luca Casonato, Jacek Szwec, QuantumExplorer, Igor Bukanov, Mario Rugiero, modernzju, Vladimir, grandpig, Evan Jones, solunolab, caltechustc, luohewuyang, vastonus, Galoretka, Ivan Kalinin, Coder, GarmashAlex, Val Lorentz, MozirDmitriy, Oleksandr Anyshchenko, nsaji-stripe, checkraisefold

0.24.0 (2025-08-10)

Features

  • Support builds on AIX (mustartt)
  • Add WriteBatch::put_log_data support (lucasvuillier)
  • Add sync/fsync options and tests for backup engine (timvisee)
  • Add get_approximate_sizes function (ran-openai)
  • Implement WriteBatchIteratorCf trait (RiversJin)
  • Add BlockBasedTablePinningTier enum and setters (JackDrogon)

Improvements

  • Fix clippy warnings (niklasf)
  • Fix error message argument type (NoisyCoil)
  • Improve opt_bytes_to_str to avoid use-after-free (Chain-Fox, BurtonQin)
  • Support GCC 15 (tustvold)
  • Deprecate set_ignore_range_deletions (RocksDB 10.2.1) (evanj)
  • Mark set_skip_checking_sst_file_sizes_on_db_open as deprecated (evanj)

Bug Fixes

  • Fix C++ linking (brndnmtthws)
  • Fix bindgen-static build (Congyuwang)
  • Ensure jemalloc is linked when enabled (ran-openai)

Documentation

  • Minor edits to db_iterator.rs (evanj)
  • Update README and CONTRIBUTING.md (nnsW3)
  • Change URL to docs icon in README (petryshkaCODE)

Dependency Updates

  • Bump Rust to 1.85.0 (aleksuss)
  • Update to RocksDB 9.10.0 (niklasf)
  • Update to RocksDB v10.2.1 (humb1t)
  • Update to RocksDB v10.4.2 (aleksuss)

Contributors

  • 0xdeafbeef, zaidoon1, teenager-ETH, niklasf, NoisyCoil, nnsW3, kilavvy, mustartt, lucasvuillier, brndnmtthws, timvisee, evanj, ran-openai, Congyuwang, petryshkaCODE, Chain-Fox, BurtonQin, RiversJin, tustvold, JackDrogon, aleksuss, humb1t

0.23.0 (2024-12-23)

  • Build status badge and other bits in README.md (jdanford)
  • Adds crt_static method (spector-9)
  • Fix ptr::copy requires both ptrs to be non-null (ruanpetterson)
  • Add portable feature for RocksDB build (sujayakar)
  • Update README.md with a new section for the portable feature (sujayakar)
  • Update to RocksDB 9.0.0 (Dirreke)
  • Add readme for mt_static feature (spector-9)
  • Make BackupEngine Send (widagdos)
  • Add linking libatomic command to build.rs to allow building (willemolding)
  • Revert portable feature as it doesn't do anything (zaidoon1)
  • Add delete_range to OptimisticTransactionDB (vadim-su)
  • Update rust toolchain to 1.70.0 (widagdos)
  • Bump snappy to 1.2.0 (aleksuss)
  • Document that default column family doesn't inherit open options of db (0xdeafbeef)
  • Toolchain: pin toolchain to rust 1.70.0 (cratelyn)
  • Add clippy MSRV and some clippy fixes (Congyuwang)
  • Port all value of ReadTier (w41ter)
  • Update src/db_options.rs (w41ter)
  • Add option set_avoid_unnecessary_blocking_io (w41ter)
  • Add option to enable autotuned ratelimiter (w41ter)
  • Add support for enabling blob cache (exabytes18)
  • Fix: android build in 32-bit devices (LucasXu0)
  • Support user defined timestamp in rust bindings (siyuan0322)
  • Bump lz4 1.10 (agourlay)
  • Properties for the TransactionDB (4TT1L4)
  • Improvements to user defined timestamp (larry0x)
  • Implement Sync for {Bound}ColumnFamily (jhpratt)
  • Use the provided system rocksdb prebuilt on FreeBSD (girlbossceo)
  • Deprecated Node version and outdated GitHub Actions (4TT1L4)
  • Fix cargo audit check in GitHub Actions CI (aleksuss)
  • RUSTSEC-2023-0020: const-cstr is Unmaintained (4TT1L4)
  • TransactionDB support in MemoryUsageBuilder (4TT1L4)
  • Bump tikv-jemalloc-sys to 0.6 (0xdeafbeef)
  • Improve statistics by auto gen enum Ticker & enum Histogram (rockeet)
  • Expose LRU cache options (athre0z)
  • Add Env::from_raw constructor (jgraettinger)
  • Fix unsoundness via impure AsRef (niklasf)
  • Fix two tests that want to write to the current working directory (mr-c)
  • Add missing supported BSD OSes (drizzt)
  • Fix column family creation race (stuhood)
  • Allow using static feature for the bindgen (Congyuwang)
  • Use tempfile instead of the current working directory (mr-c)
  • Update to RocksDB 9.7.4 (niklasf)
  • Add with_capacity_bytes to WriteBatch (0xdeafbeef)
  • ci: make most directories read-only before running the tests (mr-c)
  • Add ROCKSDB_SCHED_GETCPU_PRESENT for Linux build config (popcnt1)
  • Add set_compaction_pri to Options (0xdeafbeef)
  • Implement get_db_identity using rocksdb_get_db_identity (evanj)
  • Add lto feature to enable link-time optimization using linker-plugin-lto (0xdeafbeef)
  • Add set_track_and_verify_wals_in_manifest (evanj)
  • Fix some typos (DeVikingMark)
  • Fix multiple typos of different importance (crStiv)
  • Bump rust version for cargo audit job (aleksuss)
  • Update to RocksDB 9.9.3 (niklasf)
  • Allow to specify ttl per column family (0xdeafbeef)

0.22.0 (2024-02-13)

  • Free memory on writebatch index and avoid unnecessary clones (jkurian)
  • Update snappy to 1.1.10 (timsueberkrueb)
  • Prefer rocksdb_free to free for RocksDB memory (niklasf)
  • Expose flush_cfs_opt to flush multiple column families (lizhanhui)
  • Update to RocksDB 8.3.2 (niklasf)
  • Remove temporary boxed keys in batched_multi_get (axnsan12)
  • Convert properties to &PropName which can be converted at no cost to &CStr and &str (mina86)
  • Bump MSRV to 1.63.0 (mina86)
  • Add allow_ingest_behind ffi call for DB Options (siyuan0322)
  • Remove wrong outlive requirements for cache in docs (zheland)
  • Feat: support column_family_metadata and column_family_metadata_cf (ovr)
  • Update RocksDB to 8.5.3 (niklasf)
  • Expose ReadTier publicly (tinct-martini)
  • Update RocksDB to 8.6.7 (aleksuss)
  • Feat: expose set_optimize_filters_for_memory (zaidoon1)
  • Feat: expose compression option parallel_threads (zaidoon1)
  • Fix: add raw iterator validation before calling next method (aleksuss)
  • Fix typo in documentation (jazarine)
  • Feat: Expose set_wal_compression_type (ovr)
  • Update RocksDB to 8.8.1 (zaidoon1)
  • Feat: Expose compact_on_deletion_collector_factory (zaidoon1)
  • Fix bug in DBWALIterator that would return updates before the given sequence (schmidek)
  • Feat: Expose wait_for_compact (zaidoon1)
  • Feat: Expose set_auto_readahead_size (niklasf)
  • Update RocksDB to 8.9.1 (zaidoon1)
  • Feat: Expose set_periodic_compaction_seconds (zaidoon1)
  • Update hash commit of the rocksdb submodule to corresponding v8.9.1 (aleksuss)
  • Make CompactOptions Send and Sync (GodTamIt)
  • Update to RocksDB 8.10.0 (zaidoon1)
  • Add WriteBufferManager support (benoitmeriaux)
  • Update doc and parameter name for optimize_for_point_lookup (XiangpengHao)
  • Expose rocksdb cumulative statistics and histograms (AhmedSoliman)
  • Make FlushOptions Send and Sync (jansegre)
  • Export memory usage builder and MemoryUsage structs to users (AhmedSoliman)

0.21.0 (2023-05-09)

  • Add doc-check to CI with fix warnings in docs (YuraKotov)
  • Fix rustdoc::broken-intra-doc-links errors (YuraKotov)
  • Fix 32-bit ARM build (EyeOfPython)
  • Allow specifying checksum type (romanz)
  • Enable librocksdb-sys to be built by rustc_codegen_cranelift (ZePedroResende)
  • Update to RocksDB 8.0.0 (niklasf)
  • Block cache creation failure is not recoverable (niklasf)
  • Update iOS min version to 12 in the build script (mighty840)
  • Actually enable io-uring (niklasf)
  • Update to RocksDB 8.1.1 (niklasf)
  • Add Cache::new_hyper_clock_cache() (niklasf)
  • Retrieve Value from KeyMayExist if value found in Cache or Memory (Congyuwang)
  • Support for comparators as closures (pegesund)
  • Fix bug in DBWALIterator that would miss updates (Zagitta)

0.20.1 (2023-02-10)

  • Fix supporting MSRV 1.60.0 (aleksuss)

0.20.0 (2023-02-09)

  • Support RocksDB 7.x BackupEngineOptions (exabytes18)
  • Fix int128 compatibility check (Dirreke)
  • Add Options::load_latest method to load the latest options from RockDB (Congyuwang)
  • Bump bindgen to 0.64.0 (cwlittle)
  • Bump rocksdb to 7.9.2 (kwek20)
  • Make set_snapshot method public (a14e)
  • Add drop_cf function to TransactionDB (bothra90)
  • Bump rocksdb to 7.8.3 (aleksuss)
  • Add doc for set_cache_index_and_filter_blocks (guerinoni)
  • Re-run build.rs if env vars change (drahnr)
  • Add WriteBatch::data method (w41ter)
  • Add DB::open_cf_with_opts method (w41ter)
  • Use lz4-sys crate rather then submodule (niklasf)
  • Make create_new_backup_flush generic (minshao)

0.19.0 (2022-08-05)

  • Add support for building with io_uring on Linux (parazyd)
  • Change iterators to return Result (mina86)
  • Support RocksDB transaction (yiyuanliu)
  • Avoid pulling in dependencies via static feature flag (niklasf)
  • Bump rocksdb to 7.4.4 (niklasf)
  • Bump tikv-jemalloc-sys to 0.5 (niklasf)
  • Update set_use_fsync comment (nazar-pc)
  • Introduce ReadOptions::set_iterate_range and PrefixRange (mina86)
  • Bump rocksdb to 7.4.3 (aleksuss)
  • Don’t hold onto ReadOptions.inner when iterating (mina86)
  • Bump zstd-sys from 1.6 to 2.0 (slightknack)
  • Enable a building on the iOS platform (dignifiedquire)
  • Add DBRawIteratorWithThreadMode::item method (mina86)
  • Use NonNull in DBRawIteratorWithThreadMode (mina86)
  • Tiny refactoring including fix for UB (niklasf)
  • Add batched version MultiGet API (yhchiang-sol)
  • Upgrade to rocksdb v7.3.1 (yhchiang-sol)
  • Consistently use ffi_util::to_cpath to convert Path to CString (mina86)
  • Convert properties to &CStr (mina86)
  • Allow passing &CStr arguments (mina86)
  • Fix memory leak when reading properties and avoid memory allocation (mina86)
  • Fix Windows UTF-8 build flag (rajivshah3)
  • Use more target features to build librocksdb-sys (niklasf)
  • Fix bz_internal_error symbol multiply defined (nanpuyue)
  • Bump rocksdb to 7.1.2 (dignifiedquire)
  • Add BlobDB options (dignifiedquire)
  • Add snapshot PinnableSlice based API (zheland)

0.18.0 (2022-02-03)

  • Add open_cf_descriptor methods for Secondary and ReadOnly AccessType (steviez)
  • Make Ribbon filters available (niklasf)
  • Change versioning scheme of librocksdb-sys crate (aleksuss)
  • Upgrade to RocksDB 6.28.2 (akrylysov)
  • Fix theoretical UB while transmuting Arc (niklasf)
  • Support configuring bottom-most compression level (mina86)
  • Add BlockBasedOptions::set_whole_key_filtering (niklasf)
  • Add constants for all supported properties (steviez)
  • Make CacheWrapper and EnvWrapper Send and Sync (aleksuss)
  • Replace mem::transmute with narrower conversions (niklasf)
  • Optimize non-overlapping copy in raw_data (niklasf)
  • Support multi_get_* methods (olegnn)
  • Optimize multi_get_cf_opt() to use size hint (niklasf)
  • Fix typo in set_background_purge_on_iterator_cleanup method (Congyuwang)
  • Use external compression crates where possible (Dr-Emann)
  • Update compression dependencies (akrylysov)
  • Add method for opening DB with ro access and cf descriptors (nikurt)
  • Support restoring from a specified backup (GoldenLeaves)
  • Add merge operands iterator (0xdeafbeef)
  • Derive serde::{Serialize, Deserialize} for configuration enums (thibault-martinez)
  • Add feature flag for runtime type information and metadata (jgraettinger)
  • Add set_info_log_level to control log verbosity (tkintscher)
  • Replace jemalloc-sys for tikv-jemalloc-sys (Rexagon)
  • Support UTF-8 file paths on Windows (rajivshah3)
  • Support building RocksDB with jemalloc (akrylysov)
  • Add rocksdb WAL flush api (duarten)
  • Update rocksdb to v6.22.1 (duarten)

0.17.0 (2021-07-22)

  • Fix multi_get method (mikhailOK)
  • Bump librocksdb-sys up to 6.19.3 (olegnn)
  • Add support for the cuckoo table format (rbost)
  • RocksDB is not compiled with SSE4 instructions anymore unless the corresponding features are enabled in rustc (mbargull)
  • Bump librocksdb-sys up to 6.20.3 (olegnn, akrylysov)
  • Add DB::key_may_exist_cf_opt method (stanislav-tkach)
  • Add Options::set_zstd_max_train_bytes method (stanislav-tkach)
  • Mark Cache and Env as Send and Sync (akrylysov)
  • Allow cloning the Cache and Env (duarten)
  • Make SSE inclusion conditional for target features (mbargull)
  • Use Self where possible (adamnemecek)
  • Don't leak dropped column families (ryoqun)

0.16.0 (2021-04-18)

  • Add DB::cancel_all_background_work method (stanislav-tkach)
  • Bump librocksdb-sys up to 6.13.3 (aleksuss)
  • Add multi_get, multi_get_opt, multi_get_cf and multi_get_cf_opt DB methods (stanislav-tkach)
  • Allow setting options on a ColumnFamily (romanz)
  • Fix logic related to merge operator settings (BoOTheFurious)
  • Export persist_period_sec option and background_threads (developerfred)
  • Remove unneeded bindgen features (Kixunil)
  • Add merge delete_callback omitted by mistake (zhangsoledad)
  • Bump librocksdb-sys up to 6.17.3 (ordian)
  • Remove the need for &mut self in create_cf and drop_cf (v2) (ryoqun)
  • Keep Cache and Env alive with Rc (acrrd)
  • Add DB::open_cf_with_ttl method (fdeantoni)

0.15.0 (2020-08-25)

  • Fix building rocksdb library on windows host (aleksuss)
  • Add github actions CI for windows build (aleksuss)
  • Update doc for Options::set_compression_type (wqfish)
  • Add clippy linter in CI (aleksuss)
  • Use DBPath for backup_restore test (wqfish)
  • Allow to build RocksDB with a different stdlib (calavera)
  • Add some doc-comments and tiny refactoring (aleksuss)
  • Expose open_with_ttl. (calavera)
  • Fixed build for x86_64-linux-android that doesn't support PCLMUL (vimmerru)
  • Add support for SstFileWriter and DB::ingest_external_file (methyl)
  • Add set_max_log_file_size and set_recycle_log_file_num to the Options (stanislav-tkach)
  • Export the DEFAULT_COLUMN_FAMILY_NAME constant (stanislav-tkach)
  • Fix slice transformers with no in_domain callback (nelhage)
  • Don't segfault on failed a merge operator (nelhage)
  • Adding read/write/db/compaction options (linxGnu)
  • Add dbpath and env options (linxGnu)
  • Add compaction filter factory API (unrealhoang)
  • Add link stdlib when linking prebuilt rocksdb (unrealhoang)
  • Support fetching sst files metadata, delete files in range, get mem usage (linxGnu)
  • Do not set rerun-if-changed=build.rs (xu-cheng)
  • Use pretty_assertions in tests (stanislav-tkach)
  • librocksdb-sys: update rocksdb to 6.11.4 (ordian)
  • Adding backup engine info (linxGnu)
  • Implement Clone trait for Options (stanislav-tkach)
  • Added Send implementation to WriteBatch (stanislav-tkach)
  • Extend github actions (stanislav-tkach)
  • Avoid copy for merge operator result using delete_callback (xuchen-plus)

0.14.0 (2020-04-22)

  • Updated lz4 to v1.9.2 (ordian)
  • BlockBasedOptions: expose format_version, [index_]block_restart_interval (ordian)
  • Improve ffi_try macro to make trailing comma optional (wqfish)
  • Add set_ratelimiter to the Options (PatrickNicholas)
  • Add set_max_total_wal_size to the Options (wqfish)
  • Simplify conversion on iterator item (zhangsoledad)
  • Add flush_cf method to the DB (wqfish)
  • Fix potential segfault when calling next on the DBIterator that is at the end of the range (wqfish)
  • Move to Rust 2018 (wqfish)
  • Fix doc for WriteBatch::delete (wqfish)
  • Bump uuid and bindgen dependencies (jonhoo)
  • Change APIs that never return error to not return Result (wqfish)
  • Fix lifetime parameter for iterators (wqfish)
  • Add a doc for optimize_level_style_compaction method (NikVolf)
  • Make DBPath use tempfile (jder)
  • Refactor db.rs and lib.rs into smaller pieces (jder)
  • Check if we're on a big endian system and act upon it (knarz)
  • Bump internal snappy version up to 1.1.8 (aleksuss)
  • Bump rocksdb version up to 6.7.3 (aleksuss)
  • Atomic flush option (mappum)
  • Make set_iterate_upper_bound method safe (wqfish)
  • Add support for data block hash index (dvdplm)
  • Add some extra config options (casualjim)
  • Add support for range delete APIs (wqfish)
  • Improve building librocksdb-sys with system libraries (basvandijk)
  • Add support for open_for_read_only APIs (wqfish)
  • Fix doc for DBRawIterator::prev and next methods (wqfish)
  • Add support for open_as_secondary APIs (calavera)

0.13.0 (2019-11-12)

Changes

  • Added ReadOptions::set_verify_checksums and Options::set_level_compaction_dynamic_level_bytes methods (ordian)
  • Array of bytes has been changed for pinnable slice for get operations (nbdd0121)
  • Implemented Sync for DBRawIterator (nbdd0121)
  • Removed extra copy in DBRawIterator (nbdd0121)
  • Added Options::max_dict_bytes and Options::zstd_max_training_bytes methods(methyl)
  • Added Android support (rtsisyk)
  • Added lifetimes for DBIterator return types (ngotchac)
  • Bumped rocksdb up to 6.2.4 (aleksuss)
  • Disabled trait derivation for librocksdb-sys (EyeOfPython)
  • Added DB::get_updates_since() to iterate write batches in a given sequence (nlfiedler)
  • Added ReadOptions::set_tailing() to create a tailing iterator that continues to iterate over the database as new records are added (cjbradfield)
  • Changed column families storing (aleksuss)
  • Exposed the status method on iterators (rnarubin)

0.12.3 (2019-07-19)

Changes

  • Enabled sse4.2/pclmul for accelerated crc32c (yjh0502)
  • Added set_db_write_buffer_size to the Options API (rnarubin)
  • Bumped RocksDB to 6.1.2 (lispy)
  • Added Sync and Send implementations to Snapshot (pavel-mukhanov)
  • Added raw_iterator_cf_opt to the DB API (rnarubin)
  • Added DB::latest_sequence_number method (vitvakatu)

0.12.2 (2019-05-03)

Changes

  • Updated compact_range_cf to use generic arguments (romanz)
  • Removed allocations from SliceTransform implementation (ekmartin)
  • Bumped RocksDB to 5.18.3 (baptistejamin)
  • Implemented delete_range and delete_range_cf (baptistejamin)
  • Added contribution guide (rhurkes)
  • Cleaned up documentation for ReadOptions.set_iterate_upper_bound method (xiaobogaga)
  • Added flush and flush_opt operations (valeriansaliou)

0.12.1 (2019-03-27)

Changes

  • Added iterator_cf_opt function to DB (elichai)
  • Added set_allow_mmap_writes and set_allow_mmap_reads functions to Options (aleksuss)

0.12.0 (2019-03-10)

Changes

  • Added support for PlainTable factories (ekmartin)
  • Added ability to restore latest backup (rohitjoshi)
  • Added support for pinnable slices (xxuejie)
  • Added ability to get property values (ekmartin)
  • Simplified opening database when using non-default column families (iSynaptic)
  • ColumnFamily, DBIterator and DBRawIterator now have lifetime parameters to prevent using them after the DB has been dropped (iSynaptic)
  • Creating DBIterator and DBRawIterator now accept ReadOptions (iSynaptic)
  • All database operations that accepted byte slices, &[u8], are now generic and accept anything that implements AsRef<[u8]> (iSynaptic)
  • Bumped RocksDB to version 5.17.2 (aleksuss)
  • Added set_readahead_size to ReadOptions (iSynaptic)
  • Updated main example in doc tests (mohanson)
  • Updated requirements documentation (jamesray1)
  • Implemented AsRef<[u8]> for DBVector (iSynaptic)

0.11.0 (2019-01-10)

Announcements

  • 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.

Changes

  • added LZ4, ZSTD, ZLIB, and BZIP2 compression support (iSynaptic)
  • added support for Checkpoint (aleksuss)
  • added support for SliceTransform (spacejam)
  • added DBPath struct to ensure test databases are cleaned up (ekmartin, iSynaptic)
  • fixed rustfmt.toml to work with newer rustfmt version (ekmartin, iSynaptic)
  • bindgen bumped up to 0.43 (s-panferov)
  • made ColumnFamily struct Send (Tpt)
  • made DBIterator struct Send (Elzor)
  • create_cf and drop_cf methods on DB now work with immutable references (aleksuss)
  • fixed crash in test_column_family test on macOS (aleksuss)
  • fixed/implemented CI builds for macOS and Windows (aleksuss, iSynaptic)
  • exposed set_skip_stats_update_on_db_open option (romanz)
  • exposed keep_log_file_num option (romanz)
  • added ability to retrieve WriteBatch serialized size (romanz)
  • added set_options method to DB to allow changing options without closing and re-opening the database (romanz)

0.10.1 (2018-07-17)

  • bump bindgen to 0.37 (ekmartin)
  • bump rocksdb to 5.14.2 (ekmartin)
  • add disable_cache to block-based options (ekmartin)
  • add set_wal_dir (ekmartin)
  • add set_memtable_prefix_bloom_ratio (ekmartin)
  • add MemtableFactory support (ekmartin)
  • add full_iterator (ekmartin)
  • allow index type specification on block options (ekmartin)
  • fix windows build (iSynaptic)

0.10.0 (2018-03-17)

  • Bump rocksdb to 5.11.3 (spacejam)

New Features

  • Link with system rocksdb and snappy libs through envvars (ozkriff)

Breaking Changes

  • Fix reverse iteration from a given key (ongardie)

0.9.1 (2018-02-10)

New Features

  • SliceTransform support (spacejam)

0.9.0 (2018-02-10)

New Features

  • Allow creating iterators over prefixes (glittershark)

Breaking Changes

  • Open cfs with options (garyttierney, rrichardson)
  • Non-Associative merge ops (rrichardson)

0.8.3 (2018-02-10)

  • Bump rocksdb to 5.10.2 (ongardie)
  • Add Send marker to Options (iSynaptic)
  • Expose advise_random_on_open option (ongardie)

0.8.2 (2017-12-28)

  • Bump rocksdb to 5.7.1 (jquesnelle)

0.8.1 (2017-09-08)

  • Added list_cf (jeizsm)

0.8.0 (2017-09-02)

  • Removed set_disable_data_sync (glittershark)

0.7.2 (2017-09-02)

  • Bumped rocksdb to 5.6.2 (spacejam)

0.7.1 (2017-08-29)

  • Bumped rocksdb to 5.6.1 (vmx)

0.7 (2017-07-26)

Breaking Changes

  • Bumped rocksdb to 5.4.6 (derekdreery)
  • Remove use_direct_writes now that use_direct_io_for_flush_and_compaction exists (derekdreery)

New Features

  • ReadOptions is now public (rschmukler)
  • Implement Clone and AsRef for Error (daboross)
  • Support for seek_for_prev (kaedroho)
  • Support for DirectIO (kaedroho)

Internal Cleanups

  • Fixed race condition in tests (debris)
  • Move tests to the default tests directory (vmx)

0.6.1 (2017-03-13)

New Features

  • Support for raw iterator access (kaedroho)

0.6 (2016-12-18)

Breaking Changes

  • Comparator function now returns an Ordering (alexreg)

New Features

  • Compaction filter (tmccombs)
  • Support for backups (alexreg)

0.5 (2016-11-20)

Breaking changes

  • No more Writable trait, as WriteBatch is not thread-safe as a DB (spacejam)
  • All imports of rocksdb::rocksdb::* should now be simply rocksdb::* (alexreg)
  • All errors changed to use a new rocksdb::Error type (kaedroho, alexreg)
  • Removed Options.set_filter_deletes as it was removed in RocksDB (kaedroho)
  • Renamed add_merge_operator to set_merge_operator and add_comparator to set_comparator (kaedroho)

New Features

  • Windows support (development by jsgf and arkpar. ported by kaedroho)
  • The RocksDB library is now built at crate compile-time and statically linked with the resulting binary (development by jsgf and arkpar. ported by kaedroho)
  • Cleaned up and improved coverage and tests of the ffi module (alexreg)
  • Added many new methods to the Options type (development by ngaut, BusyJay, zhangjinpeng1987, siddontang and hhkbp2. ported by kaedroho)
  • Added len and is_empty methods to WriteBatch (development by siddontang. ported by kaedroho)
  • Added path method to DB (development by siddontang. ported by kaedroho)
  • DB::open now accepts any type that implements Into<Path> as the path argument (kaedroho)
  • DB now implements the Debug trait (kaedroho)
  • Add iterator_cf to snapshot (jezell)
  • Changelog started