Lmdb

Latest version: v1.5.1

Safety actively analyzes 681866 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 6

0.85

Not secure
* New exception class: lmdb.BadDbiError.

* Environment.copy() and Environment.copyfd() now support compact=True, to
trigger database compaction while copying.

* Various small documentation updates.

* CPython set_range_dup() and set_key_dup() both invoked MDB_GET_BOTH, however
set_range_dup() should have instead invoked MDB_GET_BOTH_RANGE. Fix by
Matthew Battifarano.

* lmdb.tool module was broken on Win32, since Win32 lacks signal.SIGWINCH. Fix
suggested by David Khess.

0.84

Not secure
* LMDB 0.9.14 is bundled.

* CFFI Cursor.putmulti() could crash when append=False and a key already
existed.

0.83

Not secure
* LMDB 0.9.13 is bundled along with extra fixes from upstream Git.

* Environment.__enter__() and __exit__() are implemented, allowing
Environments to behave like context managers.

* Cursor.close(), __enter__() and __exit__() are implemented, allowing Cursors
to be explicitly closed. In CFFI this mechanism *must* be used when many
cursors are used within a single transaction, otherwise a resource leak will
occur.

* Dependency tracking in CFFI is now much faster, especially on PyPy, however
at a cost: Cursor use must always be wrapped in a context manager, or
.close() must be manually invoked for discarded Cursors when the parent
transaction is long lived.

* Fixed crash in CFFI Cursor.putmulti().

0.82

Not secure
* Both variants now implement max_spare_txns, reducing the cost of creating a
read-only transaction 4x for an uncontended database and by up to 20x for
very read-busy environments. By default only 1 read-only transaction is
cached, adjust max_spare_txns= parameter if your script operates multiple
simultaneous read transactions.

* Patch from Vladimir Vladimirov implementing MDB_NOLOCK.

* The max_spare_iters and max_spare_cursors parameters were removed, neither
ever had any effect.

* Cursor.putmulti() implemented based on a patch from Luke Kenneth Casson
Leighton. This function moves the loop required to batch populate a
database out of Python and into C.

* The bundled LMDB 0.9.11 has been updated with several fixes from upstream
Git.

* The cost of using keyword arguments in the CPython extension was
significantly reduced.

0.81

Not secure
* On Python 2.x the extension module would silently interpret Unicode
instances as buffer objects, causing UCS-2/UCS-4 string data to end up in
the database. This was never intentional and now raises TypeError. Any
Unicode data passed to py-lmdb must explicitly be encoded with .encode()
first.

* open_db()'s name argument was renamed to key, and its semantics now match
get() and put(): in other words the key must be a bytestring, and passing
Unicode will raise TypeError.

* The extension module now builds under Python 3.4 on Windows.

0.80

Not secure
* Both variants now build successfully as 32 bit / 64bit binaries on
Windows under Visual Studio 9.0, the compiler for Python 2.7. This enables
py-lmdb to be installed via pip on Windows without requiring a compiler to
be available. In future, .egg/.whl releases will be pre-built for all recent
Python versions on Windows.

Known bugs: Environment.copy() and Environment.copyfd() currently produce a
database that cannot be reopened.

* The lmdb.enable_drop_gil() function was removed. Its purpose was
experimental at best, confusing at worst.

Page 5 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.