Skip to content

pip: bump lmdb from 1.6.2 to 3.0.0 - #2231

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/lmdb-3.0.0
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/lmdb-3.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Bumps lmdb from 1.6.2 to 3.0.0.

Changelog

Sourced from lmdb's changelog.

2026-10-02 3.0.0 ################

Features

  • py-lmdb now bundles both LMDB release lines and links them into a single extension module: LMDB 0.9.36 (data format v1) and LMDB 1.0.2 (data format v3). The two formats are mutually unreadable, so each Environment is bound to one engine at construction: an existing database is opened with whatever engine matches its on-disk format, and a new one uses LMDB 0.9 unless told otherwise. Databases written by either version can therefore be opened without the caller doing anything.

  • Update the bundled LMDB 0.9 tree from 0.9.35 to 0.9.36 (2026-08-06). It brings ITS#7772 (a sub-page is no longer grown when the data being re-added already fits), ITS#9388 (stat() reported wrong branch_pages/leaf_pages for dupsort databases), ITS#8335 (input validation for MDB_MULTIPLE puts), ITS#10454 (metapage sync on macOS), ITS#8590 (SIGPIPE handling in the compacting copy on macOS) and ITS#10522, which is a visible change of behaviour — see below. It also retires two of py-lmdb's own patches: fix-win-flush-large-write was contributed upstream and landed as ITS#10538, and fix-large-write is reduced to its compacting-copy hunk now that ITS#10054 has fixed mdb_page_flush.

  • Update the bundled LMDB 1.0 tree from 1.0.1 to 1.0.2 (2026-09-08). Its only code change is ITS#10575, which fixes committing a write transaction under writemap=True on Windows with the 1.0 engine. The commit failed with "The handle is invalid" unless sync=False or metasync=False was also given (issue #486). Every py-lmdb patch is still needed on 1.0.2; the series was regenerated only for shifted line numbers.

  • New lib_version= argument to lmdb.open()/Environment() selects the LMDB version for a new environment (0 for 0.9.x, 1 for 1.0.x). For an existing environment the file's own format wins. New Environment.lib_version() reports the engine backing an environment, and lmdb.version() gained a lib_version= argument to report either bundled version. Setting LMDB_DEFAULT_LIB_VERSION changes the default for new environments process-wide.

  • New exception classes for the error codes LMDB 1.0 adds: ProblemError, BadChecksumError, CryptoFailError and EnvEncryptionError. LMDB 1.0's MDB_IS_READONLY maps to the existing ReadonlyError, which 0.9 raises as EACCES, so writing in a read-only transaction raises the same class on both engines.

  • New offline verifier for the "verify-then-trust" model: python -m lmdb verify <path>, and the underlying

... (truncated)

Commits
  • 4f96e9e Bump version to 3.0.0 for release (#510)
  • 22deb82 CFFI: fix cursor use-after-close and close-during-copy races (#509)
  • 9079862 Fix concurrency, nested-transaction and parity bugs found in the 3.0 review (...
  • dba7b62 Documentation review for 3.0 (#507)
  • 63f145d Update the bundled LMDB 1.0 tree to 1.0.2 (#494)
  • 79be836 Identify open environments by file, not path (#492)
  • 74724ae Fix bugs found by local-model code review (#490)
  • 1c749b4 Add offline verifier (verify-then-trust) for both bundled engines (#489)
  • cce03fd Validate freeDB record structure in mdb_page_alloc on both engines (#488)
  • 0d181ce Update the bundled LMDB 0.9 tree to 0.9.36 (#487)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file major Major / breaking version release python Pull requests that update Python code labels Oct 7, 2026
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Original Dependabot description

Bumps lmdb from 1.6.2 to 3.0.0.

Changelog

Sourced from lmdb's changelog.

2026-10-02 3.0.0 ################

Features

  • py-lmdb now bundles both LMDB release lines and links them into a single extension module: LMDB 0.9.36 (data format v1) and LMDB 1.0.2 (data format v3). The two formats are mutually unreadable, so each Environment is bound to one engine at construction: an existing database is opened with whatever engine matches its on-disk format, and a new one uses LMDB 0.9 unless told otherwise. Databases written by either version can therefore be opened without the caller doing anything.

  • Update the bundled LMDB 0.9 tree from 0.9.35 to 0.9.36 (2026-08-06). It brings ITS#7772 (a sub-page is no longer grown when the data being re-added already fits), ITS#9388 (stat() reported wrong branch_pages/leaf_pages for dupsort databases), ITS#8335 (input validation for MDB_MULTIPLE puts), ITS#10454 (metapage sync on macOS), ITS#8590 (SIGPIPE handling in the compacting copy on macOS) and ITS#10522, which is a visible change of behaviour — see below. It also retires two of py-lmdb's own patches: fix-win-flush-large-write was contributed upstream and landed as ITS#10538, and fix-large-write is reduced to its compacting-copy hunk now that ITS#10054 has fixed mdb_page_flush.

  • Update the bundled LMDB 1.0 tree from 1.0.1 to 1.0.2 (2026-09-08). Its only code change is ITS#10575, which fixes committing a write transaction under writemap=True on Windows with the 1.0 engine. The commit failed with "The handle is invalid" unless sync=False or metasync=False was also given (issue #486). Every py-lmdb patch is still needed on 1.0.2; the series was regenerated only for shifted line numbers.

  • New lib_version= argument to lmdb.open()/Environment() selects the LMDB version for a new environment (0 for 0.9.x, 1 for 1.0.x). For an existing environment the file's own format wins. New Environment.lib_version() reports the engine backing an environment, and lmdb.version() gained a lib_version= argument to report either bundled version. Setting LMDB_DEFAULT_LIB_VERSION changes the default for new environments process-wide.

  • New exception classes for the error codes LMDB 1.0 adds: ProblemError, BadChecksumError, CryptoFailError and EnvEncryptionError. LMDB 1.0's MDB_IS_READONLY maps to the existing ReadonlyError, which 0.9 raises as EACCES, so writing in a read-only transaction raises the same class on both engines.

  • New offline verifier for the "verify-then-trust" model: python -m lmdb verify <path>, and the underlying

... (truncated)

Commits
  • 4f96e9e Bump version to 3.0.0 for release (#510)
  • 22deb82 CFFI: fix cursor use-after-close and close-during-copy races (#509)
  • 9079862 Fix concurrency, nested-transaction and parity bugs found in the 3.0 review (...
  • dba7b62 Documentation review for 3.0 (#507)
  • 63f145d Update the bundled LMDB 1.0 tree to 1.0.2 (#494)
  • 79be836 Identify open environments by file, not path (#492)
  • 74724ae Fix bugs found by local-model code review (#490)
  • 1c749b4 Add offline verifier (verify-then-trust) for both bundled engines (#489)
  • cce03fd Validate freeDB record structure in mdb_page_alloc on both engines (#488)
  • 0d181ce Update the bundled LMDB 0.9 tree to 0.9.36 (#487)
  • Additional commits viewable 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)

@meta-cla meta-cla Bot added the cla signed label Oct 7, 2026
Bumps [lmdb](https://github.com/jnwatson/py-lmdb) from 1.6.2 to 3.0.0.
- [Changelog](https://github.com/jnwatson/py-lmdb/blob/master/ChangeLog)
- [Commits](jnwatson/py-lmdb@py-lmdb_1.6.2...py-lmdb_3.0.0)

---
updated-dependencies:
- dependency-name: lmdb
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/pip/lmdb-3.0.0 branch from 67b118f to 07f98e7 Compare October 24, 2026 20:29

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla signed dependencies Pull requests that update a dependency file major Major / breaking version release python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants