- 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
andcolumn_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)
- 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)
- Fix supporting MSRV 1.60.0 (aleksuss)
- 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 toTransactionDB
(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)
- 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 convertPath
toCString
(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)
- 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)
- 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)
- 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
andmulti_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
increate_cf
anddrop_cf
(v2) (ryoqun) - Keep Cache and Env alive with Rc (acrrd)
- Add
DB::open_cf_with_ttl
method (fdeantoni)
- 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
andDB::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 forOptions
(stanislav-tkach) - Added
Send
implementation toWriteBatch
(stanislav-tkach) - Extend github actions (stanislav-tkach)
- Avoid copy for merge operator result using delete_callback (xuchen-plus)
- 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 theOptions
(PatrickNicholas) - Add
set_max_total_wal_size
to theOptions
(wqfish) - Simplify conversion on iterator item (zhangsoledad)
- Add
flush_cf
method to theDB
(wqfish) - Fix potential segfault when calling
next
on theDBIterator
that is at the end of the range (wqfish) - Move to Rust 2018 (wqfish)
- Fix doc for
WriteBatch::delete
(wqfish) - Bump
uuid
andbindgen
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
usetempfile
(jder) - Refactor
db.rs
andlib.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
andnext
methods (wqfish) - Add support for
open_as_secondary
APIs (calavera)
- Added
ReadOptions::set_verify_checksums
andOptions::set_level_compaction_dynamic_level_bytes
methods (ordian) - Array of bytes has been changed for pinnable slice for get operations (nbdd0121)
- Implemented
Sync
forDBRawIterator
(nbdd0121) - Removed extra copy in DBRawIterator (nbdd0121)
- Added
Options::max_dict_bytes
andOptions::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)
- 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
andSend
implementations toSnapshot
(pavel-mukhanov) - Added
raw_iterator_cf_opt
to the DB API (rnarubin) - Added
DB::latest_sequence_number
method (vitvakatu)
- 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
anddelete_range_cf
(baptistejamin) - Added contribution guide (rhurkes)
- Cleaned up documentation for
ReadOptions.set_iterate_upper_bound
method (xiaobogaga) - Added
flush
andflush_opt
operations (valeriansaliou)
- Added
iterator_cf_opt
function toDB
(elichai) - Added
set_allow_mmap_writes
andset_allow_mmap_reads
functions toOptions
(aleksuss)
- 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
andDBRawIterator
now have lifetime parameters to prevent using them after theDB
has been dropped (iSynaptic)- Creating
DBIterator
andDBRawIterator
now acceptReadOptions
(iSynaptic) - All database operations that accepted byte slices,
&[u8]
, are now generic and accept anything that implementsAsRef<[u8]>
(iSynaptic) - Bumped RocksDB to version 5.17.2 (aleksuss)
- Added
set_readahead_size
toReadOptions
(iSynaptic) - Updated main example in doc tests (mohanson)
- Updated requirements documentation (jamesray1)
- Implemented
AsRef<[u8]>
forDBVector
(iSynaptic)
-
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
.
- 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 newerrustfmt
version (ekmartin, iSynaptic) - bindgen bumped up to 0.43 (s-panferov)
- made
ColumnFamily
structSend
(Tpt) - made
DBIterator
structSend
(Elzor) create_cf
anddrop_cf
methods onDB
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 toDB
to allow changing options without closing and re-opening the database (romanz)
- 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)
- Bump rocksdb to 5.11.3 (spacejam)
- Link with system rocksdb and snappy libs through envvars (ozkriff)
- Fix reverse iteration from a given key (ongardie)
- SliceTransform support (spacejam)
- Allow creating iterators over prefixes (glittershark)
- Open cfs with options (garyttierney, rrichardson)
- Non-Associative merge ops (rrichardson)
- Bump rocksdb to 5.10.2 (ongardie)
- Add Send marker to Options (iSynaptic)
- Expose advise_random_on_open option (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)
- Bumped rocksdb to 5.4.6 (derekdreery)
- Remove
use_direct_writes
now thatuse_direct_io_for_flush_and_compaction
exists (derekdreery)
- ReadOptions is now public (rschmukler)
- Implement Clone and AsRef for Error (daboross)
- Support for
seek_for_prev
(kaedroho) - Support for DirectIO (kaedroho)
- Fixed race condition in tests (debris)
- Move tests to the default
tests
directory (vmx)
- Support for raw iterator access (kaedroho)
- Comparator function now returns an Ordering (alexreg)
- Compaction filter (tmccombs)
- Support for backups (alexreg)
0.5 (2016-11-20)
- No more Writable trait, as WriteBatch is not thread-safe as a DB (spacejam)
- All imports of
rocksdb::rocksdb::*
should now be simplyrocksdb::*
(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
toset_merge_operator
andadd_comparator
toset_comparator
(kaedroho)
- 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
andis_empty
methods toWriteBatch
(development by siddontang. ported by kaedroho) - Added
path
mathod toDB
(development by siddontang. ported by kaedroho) DB::open
now accepts any type that implementsInto<Path>
as the path argument (kaedroho)DB
now implements theDebug
trait (kaedroho)- Add iterator_cf to snapshot (jezell)
- Changelog started