NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4343 most downloaded on crates.io
A fully typed LMDB (mdb.master) wrapper with minimum overhead
Last release 6 months ago
07 Apr 2026
Release timing varies
gaps range from 8 days to 7 months
Rarely documented
notes for 3 of 34 stable releases
1 version withdrawn
withdrawn after publishing
7 years old
52 releases · first in 2019
This release brings a new functionality: the possibility to create multiple nested read transactions from an uncommitted write transaction . You can a
This release brings a new functionality: the possibility to create multiple nested read transactions from an uncommitted write transaction. You can also examine another usage in the dedicated example file.
We finally merged the changes to upstream LMDB (mdb.master3), and the patch has been thoroughly reviewed by Howard Chu.
// opening a write transaction
let mut wtxn = env.write_txn()?;
// [use the RwTxn to write into the env]
// opening multiple read-only transactions without committing beforehand
let rtxns = (0..1000).map(|_| env.nested_read_txn(&wtxn)).collect::<heed::Result<Vec<_>>>()?;
// you can also spawn nested read transactions from the write txn too
let rtxns = (0..1000).map(|_| wtxn.nested_read_txn()).collect::<heed::Result<Vec<_>>>()?;
// [use the RoTxns and move them onto different threads]One column per quarter.
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
This release brings a new experimental functionality: the possibility to create multiple nested read transactions from an uncommitted write transactio
This release brings a new experimental functionality: the possibility to create multiple nested read transactions from an uncommitted write transaction. You can also examine another usage in the dedicated example file or in this Meilisearch pull request.
We are attempting to merge the necessary changes to upstream LMDB, but it will require additional work to ensure it produces correct C code. You can review the dedicated OpenLDAP tracking issue to see how it progresses.
// opening a write transaction
let mut wtxn = env.write_txn()?;
// [use the RwTxn to write into the env]
// opening multiple read-only transactions without committing beforehand
let rtxns = (0..1000).map(|_| env.nested_read_txn(&wtxn)).collect::<heed::Result<Vec<_>>>()?;
// [use the RoTxns and move them onto different threads]This release brings better-polished support for the heed/heed3 duality. It also improves the documentation, adds support for custom duplicate sort com
This release brings better-polished support for the heed/heed3 duality. It also improves the documentation, adds support for custom duplicate sort comparators, supports the PREV_SNAPSHOT flag, better support for Thread Local Storage (TLS)-backed of transactions, and bumps LMDB to the latest patch.
MDB_NOTLS documentation by @Kerollmops in #302Env::copy_to_file method by @Kerollmops in #312PREV_SNAPSHOT flag by @irevoire in #296FIXED_MAP flag name by @Kerollmops in #313USE_VALGRIND compilation flag as use-valgrind feature by @dureuill in #288AnyTls by @dureuill in #315Env parameter accessors by @Kerollmops in #321NDEBUG on release builds by @Kerollmops in #324-sys crates and heed/heed3 versions by @Kerollmops in #325Env::copy_to_path method by @Kerollmops in #326Env<WithTls> the default by @Kerollmops in #327Full Changelog: v0.21.0...v0.22.0
This release introduces the first wrapper around the mdb.master3 LMDB branch, which features encryption at rest. You can use the new heed3 crate to re
This release introduces the first wrapper around the mdb.master3 LMDB branch, which features encryption at rest. You can use the new heed3 crate to read and write data encrypted on disk and decrypted on demand.
RoTxn covariant and keep it !Sync by @Kerollmops in #285HeedDecode bound on Lazy::remap by @irevoire in #287Full Changelog: v0.20.5...v0.21.0
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
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 →