Lmdb

Latest version: v1.4.1

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

Scan your dependencies

Page 5 of 6

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.

0.79

Not secure
* CPython Cursor.delete() lacked dupdata argument, fixed.

* Fixed minor bug where CFFI _get_cursor() did not note its idea of
the current key and value were up to date.

* Cursor.replace() and Cursor.pop() updated for MDB_DUPSORT databases. For
pop(), the first data item is popped and returned. For replace(), the first
data item is returned, and all duplicates for the key are replaced.

* Implement remaining Cursor methods necessary for working with MDB_DUPSORT
databases: next_dup(), next_nodup(), prev_dup(), prev_nodup(), first_dup(),
last_dup(), set_key_dup(), set_range_dup(), iternext_dup(),
iternext_nodup(), iterprev_dup(), iterprev_nodup().

* The default for Transaction.put(dupdata=...) and Cursor.put(dupdata=...) has
changed from False to True. The previous default did not reflect LMDB's
normal mode of operation.

* LMDB 0.9.11 is bundled along with extra fixes from upstream Git.

0.78

Not secure
* Patch from bra-fsn to fix LMDB_LIBDIR.

* Various inaccurate documentation improvements.

* Initial work towards Windows/Microsoft Visual C++ 9.0 build.

* LMDB 0.9.11 is now bundled.

* To work around install failures minimum CFFI version is now >=0.8.0.

* ticket 38: remove all buffer object hacks. This results in ~50% slowdown
for cursor enumeration, but results in far simpler object lifetimes. A
future version may introduce a better mechanism for achieving the same
performance without loss of sanity.

Page 5 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.