Skip to content

Release 0.50.0#230

Merged
zaidoon1 merged 1 commit into
masterfrom
release-0.50.0
May 23, 2026
Merged

Release 0.50.0#230
zaidoon1 merged 1 commit into
masterfrom
release-0.50.0

Conversation

@zaidoon1

Copy link
Copy Markdown
Owner

Versions

  • rust-rocksdb: 0.49.1 → 0.50.0
  • rust-librocksdb-sys: 0.45.1+11.1.1 → 0.46.0+11.1.1

The minor bump is justified by the MSRV change (1.89 → 1.91), which is
technically breaking for users on older Rust toolchains.

What is in this release

(Full notes in CHANGELOG.md.)

Breaking

  • MSRV bumped to 1.91.0 per the rolling 6-month policy. 1.91.0 was
    released 2025-10-30, the most recent stable that satisfied the
    6-month window at the time of the bump.

Features

  • librocksdb-sys: local C-API extensions for three RocksDB C++
    options that have no upstream C wrapper yet
    (optimize_multiget_for_io, uniform_cv_threshold + kAuto,
    memtable_batch_lookup_optimization). The extensions live in
    librocksdb-sys/c-api-extensions/ and compile additively alongside
    the vendored RocksDB sources; the submodule is never modified, so
    the build works on read-only source trees and needs no extra tools
    beyond the C++ compiler.
  • rust-rocksdb: three matching safe-Rust setters (plus getters
    for the two bool options):
    • BlockBasedOptions::set_index_block_search_type(IndexBlockSearchType)
      • new IndexBlockSearchType enum (Binary, Interpolation,
        Auto).
    • BlockBasedOptions::set_uniform_cv_threshold(f64).
    • Options::{set,get}_memtable_batch_lookup_optimization(bool).
    • ReadOptions::{set,get}_optimize_multiget_for_io(bool).
  • AsRawPtr<rocksdb_t> impl for OptimisticTransactionDB<T>
    (gated on the raw-ptr feature), by @ksurent.

Fixes

Upstream coordination

The three C-API extensions each have a matching PR open against
facebook/rocksdb. When upstream merges any of them and we bump the
submodule to a release containing it, the corresponding declaration in
c_api_extensions.h and definition in c_api_extensions.cc will be
dropped.

Verifications run

  • cargo fmt --all -- --check — clean
  • cargo clippy --all-targets -- -D warnings — clean
  • cargo test --doc — 10 passed
  • cargo test --test test_public_api — 1 passed
  • cargo check against the new version numbers — succeeds

rust-rocksdb 0.49.1 -> 0.50.0
rust-librocksdb-sys 0.45.1+11.1.1 -> 0.46.0+11.1.1

The minor bump is justified by the MSRV change (1.89 -> 1.91), which
is technically breaking for users on older Rust toolchains.

Highlights of this release (full notes in CHANGELOG.md):

- librocksdb-sys: new local C-API extensions for three RocksDB C++
  options that have no upstream C wrapper yet
  (optimize_multiget_for_io, uniform_cv_threshold + kAuto,
  memtable_batch_lookup_optimization). Extensions live in
  librocksdb-sys/c-api-extensions/ and are compiled additively
  alongside the vendored RocksDB sources; the submodule is never
  modified, so the build works on read-only source trees and
  requires no extra tools beyond the C++ compiler.
- rust-rocksdb: three matching safe-Rust setters (plus getters for
  the two bool options) on BlockBasedOptions, Options, and
  ReadOptions; a new IndexBlockSearchType enum covering Binary,
  Interpolation, and Auto.
- rust-rocksdb: AsRawPtr<rocksdb_t> implementation for
  OptimisticTransactionDB<T> (raw-ptr feature) (ksurent).
- rust-rocksdb: ColumnFamilyMetaData and CSlice are now re-exported
  from the crate root (#224, thanks to
  JadedBlueEyes).
- MSRV bumped to 1.91.0 (rolling 6-month policy).
@zaidoon1
zaidoon1 merged commit 1bb3ad7 into master May 23, 2026
20 of 36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant