Releases: meilisearch/heed
v0.22.1-nested-rtxns-5
heed & heed3
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. The latest version of the LMDB is more stable, without memory leaks, and is capable of correctly interacting with the dirty pages list.
// 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]v0.22.1-nested-rtxns-4
heed & heed3
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]v0.22.1-nested-rtxns
heed & heed3
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]v0.22.0
heed & heed3
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.
What's Changed
- Combined version of LMDB mdb.master and mdb.master3 by @Kerollmops in #278
- Upgrade dependencies by @Kerollmops in #295, #304, #320, and #303
- List the examples in the Cargo tomls by @Kerollmops in #298
- Parametric TLS for read transactions by @Kerollmops in #300
- Fix the
MDB_NOTLSdocumentation by @Kerollmops in #302 - Update license for 2025 by @meili-bot in #305
- Bump LMDB commit, use GitLab for LMDB and improve the build script by @Kerollmops in #310 and #311
- Break and improve the
Env::copy_to_filemethod by @Kerollmops in #312 - Introduce the
PREV_SNAPSHOTflag by @irevoire in #296 - Rename
FIXED_MAPflag name by @Kerollmops in #313 - Expose
USE_VALGRINDcompilation flag asuse-valgrindfeature by @dureuill in #288 - Introduce
AnyTlsby @dureuill in #315 - Show ranges of slice in the doc by @Kerollmops in #318
- More
Envparameter accessors by @Kerollmops in #321 - Setting
NDEBUGon release builds by @Kerollmops in #324 - Bump
-syscrates and heed/heed3 versions by @Kerollmops in #325 - Introduce the
Env::copy_to_pathmethod by @Kerollmops in #326 - Make the
Env<WithTls>the default by @Kerollmops in #327 - Add Dup Sort Custom Comparator support by @Kerollmops and @oXtxNt9U in #319
Full Changelog: v0.21.0...v0.22.0
v0.21.0 🗝
heed & heed3
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.
What's Changed
- Make the
RoTxncovariant and keep it!Syncby @Kerollmops in #285 - Relax the
HeedDecodebound onLazy::remapby @irevoire in #287 - add custom ordering support to range types by @Boog900 in #289
New Contributors
Full Changelog: v0.20.5...v0.21.0
v0.20.5 🛁
heed
What's Changed
- fix function docs (clippy warnings) by @antonilol in #273
- fix custom_key_cmp_wrapper being able to unwind to C code (ub) by @antonilol in #275
New Contributors
- @antonilol made their first contribution in #273
v0.20.4 🛁
heed
What's Changed
- Use features that actually exists by @Kerollmops in #270
- Bump lmdb submodules commit by @zanaviska in #269
New Contributors
- @zanaviska made their first contribution in #269
v0.20.3 🛁
v0.20.2 🛁
v0.20.1 🛁
heed
What's Changed
- Close the
ptag by @Kerollmops in #250 - replace all
FnMutwithFnOnceinput_reserve_*by @nolanderc in #251 - Add
Database::get_or_put: insert if value does not exist, otherwise return previous value by @nolanderc in #252 - make
ReservedSpacemore flexible by @nolanderc in #256 - add lifetime to
ReservedSpace(closes #258) by @nolanderc in #259 - Improve performance of
ReservedSpaceby @nolanderc in #260 - enable self referential rtxn by @irevoire in #261
New Contributors
- @nolanderc made their first contribution in #251
