PackageTrack
Sign in Get early access

foundationdb

High level client bindings for FoundationDB.

0.11.0 15M downloads/mo #2475 most downloaded on crates.io foundationdb-rs/foundationdb-rs

What this package is like to depend on

Last release 2 months ago

24 Jun 2026

Ships fairly regularly

a new release about every 8 months

Some releases are documented

notes for 9 of 16 stable releases

Nothing withdrawn

no release was ever pulled

8 years old

16 releases · first in 2018

2 releases in the last 12 months

see the full history below

Release timeline

16 releases · Apr 2018 to Jun 2026
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 16
  1. 0.11.0 24 Jun 2026
    Release notes

    chore: Release package foundationdb version 0.11.0

    Open source →
    Release notes

    <!-- 1 -->🚀 Features

    • Feat: first draft of leader election recipe implementation
    • Use Deref<Target=Transaction>
    • Feat(leader_election): implement O(1) ballot-based Active Disk Paxos algorithm
    • Feat(recipes): add ranked register recipe
    • Feat: add transaction conflict reporting and unified retry runner
    • Feat: migrate workspace to Rust 2024 edition (#255)

    <!-- 2 -->🐛 Bug Fixes

    • Fix(directory): use get_ranges_keyvalues for proper pagination
    • Fix: replace version-based timeouts with Duration-based approach
    • Fix(simulation): simplify leader election invariants to core algorithm properties
    • Fix(leader-election): internalize versionstamp to prevent unregistered leadership claims
    • Fix(simulation): use microsecond precision for log entry ordering
    • Use get_ranges_keyvalues for complete range reads (fixes #72)

    <!-- 4 -->🚜 Refactor

    • Refactor(simulation): remove redundant invariants and unused types

    <!-- 5 -->📚 Documentation

    • Docs(leader-election): add simulation testing documentation
    • Docs(leader-election): improve module and struct documentation

    <!-- 8 -->⚙️ Miscellaneous

    • Format code and update invariants
    • Clarify infinite-retry behavior and add timeout/retry safeguards (fixes
    • Chore: align nix toolchain with CI stable (Rust 1.96) and fix 1.96 clippy lints

    <!-- 9 -->📦 Other Changes

    • Rewrite fdb_rt to split wakeup and polling phase
    • Review comments
    Open source →
  2. 0.10.0 28 Oct 2025
    Release notes

    chore: Release package foundationdb version 0.10.0

    Open source →
    Release notes

    <!-- 1 -->🚀 Features

    • Feat(foundationdb) : Expose Timekeeper API
    • Profiling Keyspace Scanner
    • Add support 7.4
    • Impl std::error::Error for TransactionCommitError
    • Add optional tracing feature
    • Add intrumented_run
    • Add unsafe to new_from_pointer function

    <!-- 2 -->🐛 Bug Fixes

    • Fix(foundationdb) : Replace unmaintained ring crate with sha2 in examples
    • Add on fields in MetricKey
    • Don't log as error all commit errors
    • Fix: resolve clippy warnings and add doc alias

    <!-- 5 -->📚 Documentation

    • Doc, multi-statements support
    • Doc-related clippy fixes

    <!-- 6 -->🧪 Testing

    • Add a test on failed closure

    <!-- 8 -->⚙️ Miscellaneous

    • Bump rand to 0.9.0
    • Bump MSRV to 1.82
    • Test on Apple silicon
    • Clippy --fix
    • Fix warnings
    • Bump msrv to 1.85

    <!-- 9 -->📦 Other Changes

    • Use cfg_api_versions and if_cfg_api_versions
    • Specifically use C ABI for packed structs
    • Some spaces and tabs doc formalization
    • Rename instrumentation by trace
    Open source →
  3. 0.9.2 08 Jan 2025
    Release notes

    <!-- 0 -->🚀 added

    • Add multi_version compatibility

    <!-- 1 -->🐛 Bug Fixes

    • Test get_metadata_version on 7.3

    <!-- 3 -->🆙 Bump

    • Bump async-trait from 0.1.83 to 0.1.84
    • Bump tokio from 1.40.0 to 1.41.0
    • Bump uuid from 1.10.0 to 1.11.0
    • Bump futures from 0.3.30 to 0.3.31

    <!-- 4 -->⚙️ Other changes

    • Merge pull request #211 from foundationdb-rs/dependabot/cargo/serde-1.0.217
    • Merge pull request #190 from spiraldb/ji/split-tuple-into-crate
    • Merge pull request #173 from foundationdb-rs/dependabot/cargo/serde_json-1.0.132
    • Apply review changes
    • Improve libfdb transaction error
    Open source →
  4. 0.9.1 08 Oct 2024
    Release notes

    <!-- 0 -->🚀 added

    • Add examples for using versionstamps
    • Add Database.get_main_thread_busyness

    <!-- 3 -->🆙 Bump

    • Bump MSRV to 1.71.1
    • Bump all dependencies and setup dependabot

    <!-- 4 -->⚙️ Other changes

    • Generate CHANGELOG per crate
    • Handle nested FdbBindingErrors
    • Expose FdbBindingError::get_fdb_error
    Open source →
  5. 0.9.0 15 Mar 2024
    Release notes

    <!-- 0 -->🚀 added

    • Add more useful version of get_mapped_ranges
    • Add perform_no_op method
    • Introduce db_run
    • Introduce FdbBindingError
    • Add hello_world using db.run
    • Use cargo add in doc
    • Remove panic during RetryableTransaction::commit
    • Feat(foundationdb): rework RetryableTransaction
    • Feat(foundationdb): add raw method to create a Database
    • Initial commit for Tenant
    • Implement Tenant{Create,SetActive,Delete}
    • Implement list_tenant
    • Get TenantManagement::get_tenant
    • Fix list_range and add tenant::run
    • Feat(tuple) add function to pack a subspace key with a versionstamp
    • Add integ tests for tuple subspaces with versionstamps
    • Add support for 7.3
    • Add more feature flag
    • Add Database.get_client_status
    • Add support for tenant info in 7.3
    • Add MicroQueue examples
    • Bump fdb crate to 0.9.0 and sim to 0.2.0

    <!-- 1 -->🐛 Bug Fixes

    • Clippy warnings
    • Run tenants tests when feature is used
    • Avoid infinite recursion on debug impl
    • Fix: Mark Fdb struct wrappers as packed
    • Use Debug impl as Display
    • Make the db_run non capturing
    • Apply cargo fmt recommendation
    • Fix std::slice::from_raw_parts behavior on nightly
    • Fix(foundationdb): remove flappy tests

    <!-- 2 -->🚜 Refactor

    • Remove unused StreamingMode
    • Remove unnecessary casts.

    <!-- 3 -->🆙 Bump

    • Chore: bump rust to 1.57
    • Bump msrv
    • Bump crates version
    • Bump msrv for bindgen and env_logger
    • Bump dependencies
    • Bump dep

    <!-- 4 -->⚙️ Other changes

    • Build on docs.rs with the required features
    • Reformat table
    • Clippy
    • Rename examples
    • Hide tenant api behind a feature
    • Introduce a pass-through transaction option setter
    • Cargo {fmt,clippy}
    • Prepare release
    • Clippy: Simplify non-minimal-cfg.
    • Clippy: Suppress "should_implement_trait" for Database::default().
    • Cargo fmt
    • Removing default fdb version
    • Cargo fmt/clippy
    • Replace get(0) by first()
    • Return errors instead of expect
    • Use higher-level get_ranges
    • Create MicroQueue struct
    • Simplify first_item method and prevent extra allocations
    • Use local variable instead of struct ffield for random seed
    • Default Unit value for FdbResult
    Open source →
  6. 0.8.0 08 Jun 2023

    Nothing published for this version

  7. 0.7.0 11 Jul 2022
    Release notes

    <!-- 0 -->🚀 added

    • Add micro index example
    • Add tested example to explain how to use fdb to store blob data.
    • Add missing async keyword on simple-index example
    • Add explanation about blob example
    • Add a simple blob example
    • Add support for api 700
    • Initial commit for get_range_split_points
    • Implement Iterator for FdbKeys
    • FdbAddress should be #[repr(transparent)]
    • Expose FdbKey and other only in 7.0
    • Implement range split point
    • Introduce get/set metatadaVersion
    • Introduce run method
    • Add Hash, Eq and PartialEq to Subspace
    • Add example about atomic_op
    • Initial commit to support fdb 7.1
    • Initial commit for get_mapped_range
    • Allow retrieval of embedded kvs in mapped_range
    • Allow KeySelector in mapped_range
    • Improve doc about mapped_range

    <!-- 2 -->🚜 Refactor

    • Remove clikengo link in Cargo.toml
    • Use macro cfg_api_versions when possible

    <!-- 3 -->🆙 Bump

    • Bump dependencies
    • Bump deps
    • Bump rust patch version

    <!-- 4 -->⚙️ Other changes

    • Improve blob example display
    • Use tokio reactor in examples
    • Improve blob example with a manifest system
    • Reduce unsafe scope
    • Limit FdbKeys and FdbKey to fdb700+
    • Reduce use of cfg_api_versions
    • Clippy
    • Revert "feat(foundationdb): introduce run method"
    • Split modules in separate files
    • Move test mapped_range into range's tests
    • Improve documentation
    • Prepare for 0.7.0
    Open source →
  8. 0.6.0 13 Apr 2022
    Release notes

    <!-- 0 -->🚀 added

    • Add support for api 630
    • Introduce platform tier
    • Feat(foundationdb,bindingtester): Add directory
    • Add warning on create
    • Fix compilation with 1.46.0 and add back install on script
    • Bump crate version, maintainers and documentation
    • Bump rust edition to 2021

    <!-- 1 -->🐛 Bug Fixes

    • Fix doc artifacts of removed methods
    • Fix: Bump minimum version to rust 1.46
    • Cargo clippy --fix and fmt
    • Run estimate range tests only on 630
    • Fix several panics during some seeds
    • Fix clippy warnings
    • Typo
    • Fix(directory): avoid throwing bad CannotMoveBetweenPartition
    • Fix code in documentation
    • Fix(directory): avoid initializing the version key on create_or_open
    • Fix(directory): Scan old and new path during Directory.Move

    <!-- 2 -->🚜 Refactor

    • Accept a slice instead of a Vec as path
    • Refactor(directory): Node are always loaded and existing

    <!-- 3 -->🆙 Bump

    • Bump version to 5.0.1
    • Bump deps

    <!-- 4 -->⚙️ Other changes

    • Cargo fmt
    • Make tuple::hca::HighContentionAllocator be Send (#214)
    • Removing reference to master branch
    • Code-review
    • Chore: code-review
    • Rollback breaking change on Subspace::from_bytes
    • Chore(directory): cleanup tuple looking syntax
    • Clippy
    Open source →
  9. 0.5.0 17 Sep 2020
    Release notes

    <!-- 0 -->🚀 added

    • Add versionstamp support to tuple
    • Add docs and description of algorithm
    • Get_addresses_for_key test
    • Add NEGINSTART and POSINTEND to tuple
    • Add boot_async method
    • Add support for pack with versionstamp
    • Simplify add_assign logic for VerstionstampOffset
    • Add transact limits test and make the code easier to read
    • Add tests for boot_async

    <!-- 1 -->🐛 Bug Fixes

    • Fixed flaky networking test
    • Fix variable does not need to be mutable in bindingtester
    • Fix integer cast possible undefined behavior
    • Fix missing rename for fdb_api to api
    • Fix default feature compilation
    • Fix Element::tuple deserialization
    • Fix build on linux/osx
    • Clippy fixes
    • Fix tests
    • Fix build after naming changes
    • Fix build without uuid feature
    • Fix bindingtester scripted seed 674776253
    • Fixed i64 encoding index out of range error
    • Fix panic on i64
    • Fix #136: Segfault when pending future dropped
    • Fix foundationdb-gen features
    • Cargo.toml fix docs.rs features
    • Fix copyright link
    • Cargo.toml fix badges links
    • Fix spurious test_future_discard panic
    • Fix DoubleEndedIterator for FdbValuesIter
    • Fix Cargo.toml repository links
    • Fixes from review
    • Fix #170: protect boot from undefined behavior
    • Fix #181: boot can still trigger undefined behavior if f panic and does not abort.
    • Fix some cargo clippy issues
    • Fix use after free in Database::new
    • Fix doc in KeySelector first_greater_than*
    • Fix bigint support
    • Fix bigint support on element
    • Fix Element order between BigInt and Int
    • Fix versionstamp offset and bindingtester
    • Fix unpack of ix that doesn't fix in ix
    • Fix build for rust < 1.42
    • Fix broken transact() limits
    • Fix cargo clippy warning
    • Fix missing tokio features for tokio_async test
    • Simplify and fix UB in boot API
    • Fix even run can lead to UB
    • Fix api_ub test on API <610

    <!-- 2 -->🚜 Refactor

    • Remove unnecessary cast in unsafe blocks
    • Remove is_maybe_committed as it is already accessible
    • Remove failure dependency
    • Remove useless import
    • Bindingtester refactoring
    • Remove dbg!

    <!-- 3 -->🆙 Bump

    • Bump version to 0.4.1

    <!-- 4 -->⚙️ Other changes

    • Core: auto-generate all code at build time
    • Upgrade rand from 0.4 to 0.6 (#104)
    • Upgrade uuid from 0.6 to 0.7 (#105)
    • Cleanup the fdb version features from primary crate (#99)
    • Rust edition 2018
    • Async/await: complete rewrite of foundationdb
    • New get_ranges_key_values -> Stream<KeyValue> api on Transaction
    • Renamed foundationdb_sys import from fdb to fdb_sys for clarity
    • Rename fdb_api to api
    • Foundationdb api 510, 520, 600 support
    • Working threaded bindingtester
    • Bindingtester is now complete and serde is replaced by a solution close to the original
    • Make RangeOption::next_range public
    • Fdb 620 support
    • Futures 0.3 is stable now
    • Cleanup dependencies and rename Error as FdbError
    • Documentation and API improvements
    • Transaction documentation and some API simplifications
    • Impl Send/Sync for some future results
    • Make FdbFuture and FdbFutureHandle private
    • Rename tuple::Error and tuple::Result to PackError and PackResult
    • Hca implementation and tests
    • Foundationdb-sys version is now 0.4.0
    • Returned Future/Stream are now publicly Unpin
    • Restore abort future test
    • :transact data is now passed as mutable
    • Changed back to i64
    • Handle when encoded value overflows
    • Hca outline
    • Lib updates + tweaks to hca
    • Consider each key via fold
    • Bahgawd it works
    • Working tests
    • Tweaks to doc formatting
    • Update rand requirement from 0.6.5 to 0.7.0
    • Mark FdbFuture as Send + Sync
    • Make comment more accurate
    • Update README links and requirements
    • Force foundationdb-gen to version 0.4.0+
    • Update Cargo.toml authors
    • :transact api is now generic and should be future proof.
    • RangeOption can now be constructed from (Vec<u8>, Vec<u8>)
    • RangeOption tests & from RangeInclusive
    • Embed 6.2.10 fdb_c.h and fdb.options
    • Embed all supported version includes
    • Default to locally available foundationdb include
    • Test_set_conflict now checks the error message
    • Cargo.toml badges & docs.rs metadata
    • Impl std::error::Error for FdbError
    • Bigint tuple suport enhancements
    • Disable tokio test until #170 is resolved
    • Renamed BadLength to UnsupportedIntLength
    • Pack/unpack optional bigint support
    • Limit risks of transmute errors of fdb_sys::FDBKeyValue to FdbKeyValue
    • Impl std::error::Error for PackError
    • Use #[non_exhaustive] on RangeOption and generated enums
    • Typo in documentation
    • Few api improvements:
    • Default to foundation 620 api
    • Cargo fmt
    • Ignore test_ub test due to panic hook issue in the code coverage CI test
    • Update README and CHANGELOG
    Open source →
  10. 0.4.2 13 Mar 2020

    Nothing published for this version

  11. 0.4.1 23 Jan 2020

    Nothing published for this version

  12. 0.3.0 16 Nov 2018
    Release notes

    <!-- 0 -->🚀 added

    • Add docs link to Cargo.toml
    • Add futures dependency to example.
    • Add futures to docs
    • GetKeyResult and GetAddressResult return value

    <!-- 1 -->🐛 Bug Fixes

    • Fix imports in example

    <!-- 4 -->⚙️ Other changes

    • Win64 support
    • Change TrxGet::value to return Option<&[u8]>
    • Prepare 0.3 release
    Open source →
  13. 0.2.0 09 May 2018

    Nothing published for this version

  14. 0.1.0 23 Apr 2018

    Nothing published for this version

  15. 0.0.1 20 Apr 2018

    Nothing published for this version

  16. 0.0.0 20 Apr 2018

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive