Skip to content

Bump lmdb from 2.2.1 to 2.3.0#6345

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/uv/lmdb-2.3.0
Open

Bump lmdb from 2.2.1 to 2.3.0#6345
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/uv/lmdb-2.3.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 20, 2026

Copy link
Copy Markdown
Contributor

Bumps lmdb from 2.2.1 to 2.3.0.

Changelog

Sourced from lmdb's changelog.

2026-07-12 2.3.0 #################

Bug fixes

  • lmdb.aio: an async write transaction is now pinned to a private single-thread executor, so its begin, operations, and commit/abort all run on one OS thread. Previously they were dispatched across the shared, multi-threaded default executor, which could release LMDB's thread-bound robust write mutex on the wrong thread (the failure mode of #465). AsyncCursor/AsyncEnvironment close on context exit now also acquire the lock and run on the executor, so closing can no longer race an in-flight operation on the same transaction. (#471)

  • Fix committing values larger than ~2 GiB. A single LMDB value is written in one call, exceeding per-call platform write limits: on POSIX, write() returns a short count that was treated as fatal, so the commit failed with mdb_txn_commit: Input/output error; the bundled liblmdb now resumes after short writes. On Windows, the compacting-copy writer thread passed the full length to WriteFile, whose 32-bit length truncates; it now caps each write at 1 GiB. (#474; patch to the bundled liblmdb — not applied when building with LMDB_PURE or a system liblmdb)

  • Fix silent data loss on Windows committing values near the 4 GiB maximum. mdb_page_flush wrote each overflow extent with a single WriteFile whose 32-bit length truncates — an extent of exactly 4 GiB wrote nothing at all, committing a value of zeroes. Writes are now chunked with the bytes-written count checked. (#476; patch to the bundled liblmdb — not applied when building with LMDB_PURE or a system liblmdb)

  • Fix 32-bit overflow in the bundled liblmdb's overflow-page byte-length math. For values within one page of the 4 GiB maximum, the products num * me_psize (dirty-page spill) and me_psize * (mp_pages - 1) (compacting copy) wrapped on 64-bit builds, truncating the copied value or crashing. Both multiplications are widened to size_t. (#473; patch to the bundled liblmdb — not applied when building with LMDB_PURE or a system liblmdb)

  • Fix Environment.set_mapsize() invalidating open database handles. Since 2.2.0 (#443), calling set_mapsize() between transactions invalidated all named- and main-database handles, so a handle opened before the resize raised lmdb.Error: Database handle belongs to another environment (CPython) or an invalid-dbi TypeError (CFFI) on next use. Database handles hold only an integer MDB_dbi that stays valid across the remap, so they are now preserved; only open transactions and cursors are invalidated. (#475)

  • Fix races between Environment.set_mapsize() and concurrent operations

... (truncated)

Commits
  • f72b02a Skip set_mapsize stress test on unpatched liblmdb
  • 0984991 Prepare 2.3.0 release
  • 8a58c7f Fix races between set_mapsize() and concurrent operations (#475) (#478)
  • a8b5c5d Fix set_mapsize() invalidating open database handles (#475) (#477)
  • ac2a667 Fix 32-bit overflow in overflow-page byte-length math (+ %zd format fix) (#473)
  • 71dae1e Fix Windows flush truncating >4 GiB overflow writes (#476)
  • 7921d5c Fix EIO/truncation writing multi-GB overflow values (#474)
  • a261e06 aio: pin write transactions to a private single-thread executor (#471)
  • 65cbdfd Type-check tests and stubs with mypy and pyright (#469) (#470)
  • a5410fa Add missing aio.AsyncEnvironment method stubs (#468)
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [lmdb](https://github.com/jnwatson/py-lmdb) from 2.2.1 to 2.3.0.
- [Changelog](https://github.com/jnwatson/py-lmdb/blob/master/ChangeLog)
- [Commits](jnwatson/py-lmdb@py-lmdb_2.2.1...py-lmdb_2.3.0)

---
updated-dependencies:
- dependency-name: lmdb
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Jul 20, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner July 20, 2026 03:52
@dependabot dependabot Bot added the python:uv Pull requests that update python:uv code label Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants