Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Change Log

Ben Alex edited this page Feb 6, 2026 · 61 revisions

This is the log of changes made in each release of LMDBJava.

See the Release Notes for more details of new features or breaking changes.

1.0.0 (Currently unreleased)

  • Remove DbiFlags.MDB_UNSIGNEDKEY and change default comparators to be unsigned (#249).
    • Add a builder for Dbi (Env.createDbi()) that makes the choice of comparator more clear.
    • Deprecate all Env.openDbi() methods. The builder is now the only way to create a Dbi.
    • Add MDB_INTEGERKEY specific comparators to ByteBufferProxy, ByteBufProxy and DirectBufferProxy.
    • Deprecate all methods that take a XxxFlags... varargs param.
    • Add XxxFlagSet interfaces and factory methods so users can pre-compute a FlagSet (and thus its mask value).
    • Change BufferProxy.getComparator() to take the DbiFlagSet as an argument so the proxy can return a comparator appropriate with the Dbi flags.
    • Allow the native mdb_cmp comparator to optionally be used for CursorIterable start/stop key comparisons.
    • Deprecate all Env.Builder.open() methods. Path is now preferred to File. Other arguments have been added as new builder methods.
    • Add a single new Env.Builder.open(final Path path) method.
    • Add Env.Builder methods for setting/adding flags.
    • Add Env.Builder methods for setting the file permissions.
    • Add Env.Builder method for setting the map size with a ByteUnit.
    • Remove dependency on com.jakewharton.byteunits:byteunits.
  • Fix incorrect iteration with BACKWARD_AT_LEAST and BACKWARD_CLOSED when using DUPSORT (#267).

0.9.3 (06 Feb 2026)

  • Repackage LMDB 0.9.33 with broader Linux compatibility (glibc and add musl) (#280)
  • Improve error message for undetected operating systems (#283)

0.9.2 (08 Nov 2025)

  • Resolve ByteArrayProxy bug when subject to GC (#252)
  • Change GPG key which signs releases (#260)
  • Introduce automated benchmark infrastructure (#262)
  • Fix major read performance regression (e634b3f)
  • Fix major write performance regression (#268)
  • Identified LMDB system library write regression and packaged old versions (#277)
  • Update to LMDB 0.9.33 (#266)
  • Replace Zig cross-compiled LMDB with natively compiled versions (e5b510c)

0.9.1 (20 Feb 2025)

  • Add DbiFlags.MDB_UNSIGNEDKEY to fix regression in unsigned buffer comparators (#237)
  • Update to LMDB 0.9.31 (#245)
  • Updated dependencies: JNR-FFI, Agrona, Guava and Netty

0.9.0 (05 Dec 2023)

  • Adopt Zig cross compilation including Apple Silicon support (#217)
  • Hold strong reference to all buffers passed to LmdbJava (#214)
  • Refactor Comparator handling (#199)
  • Add Env.readerCheck() method and fix associated Library method (#212)
  • Introduce Automatic-Module-Name to MANIFEST.MF (#213)
  • Updated dependencies: JNR-FFF, Agrona, Guava and Netty

0.8.3 (04 Feb 2023)

  • Update to LMDB native library 0.9.29 (#194)
  • Fix bug where Cursor won't release KeyVal if write Txn already closed (#197)
  • Support Netty ByteBuf variable sized data (#183)
  • Env concurrency documentation clarifications (#195)
  • Env.openDbi(..) now supports user-defined Txn (#192)
  • DirectBufferProxy no longer uses an unnecessary concurrent queue for its pool (#200)
  • Closed Env is now tracked to prevent unexpected SIGSEGV from later usage (#185)
  • Updated dependencies: JNR-FFI, Agrona and Netty

0.8.2 (24 Sep 2021)

  • Support user-defined Netty PooledByteBufAllocator (#162)
  • Fix bug when comparing ByteBuffers with differing lengths (#170)
  • Fix typo in ByteBufferProxy (#172)
  • Updated dependencies: JNR-FFI, Agrona and Netty

0.8.1 (04 Jun 2020)

  • Recompiled with Java 8 to fix JDK 9+ regression with NoSuchMethodError in ByteBuffer (#158)

0.8.0 (02 Jun 2020)

  • Update to LMDB native library 0.9.24 (#148)
  • Promote Netty support from test to main source code (#152)
  • Added support for mdb_dbi_flags (#146)
  • Added Cursor.get(BufferProxy, BufferProxy, SeekOp) method (#100)
  • JavaDoc improvements (#141)
  • Fixed typo in ConstantDerivedException class name (#137)
  • CursorIterator.iterable() should only return once (#153)
  • CursorIterator design changes (#154)
  • Allow configuration of target directory for extracted library (#155)
  • Fix bug where Env.copy(File, CopyFlags) should permit destination to be a file (#157)
  • ByteArrayProxy should be accessed using PROXY_BA (commit 57b1b5)
  • DirectBufferProxy should be accessed using PROXY_DB (commit b60e7d)
  • Created wiki pages to assist new users (#151)
  • Updated dependencies: JNR-FFI, Agrona and Netty

0.7.0 (04 Jun 2019)

  • Added Verifier class to assist with support (#124)
  • Fixed bug where custom comparator used across threads (#127)
  • Fixed bug where custom comparator in use across GC (#125)
  • Fixed Netty IndexOutOfBoundsException due to unexpected buffer class (#133)
  • Improved TutorialTest so it doesn't unnecessarily use readers (#129)
  • Updated dependencies: Agrona and Netty

0.6.3 (08 Feb 2019)

  • Fixed Windows 10 segmentation faults on Java 9 or above (#97)
  • Fixed Java 8 compiler use (#116)
  • Updated bundled LMDB library to version 0.9.23 (#115)
  • Updated dependencies: Agrona and Netty

0.6.2 (27 Dec 2018)

  • Fixed KeyRange IndexOutOfBoundsException bug (#101)
  • Fixed Netty IndexOutOfBoundsException due to writer index exceeding buffer capacity (#113)
  • Env maxReader now defaults to 126 as per LMDB C library (#114)
  • Env now offers setMaxReader(long) to change map size while in use (#112)
  • Documentation improvements (#105, #99)
  • Modifications to build and execute on Java 11 (Java 8 remains the minimum version)
  • Updated dependencies: JNR-FFF, Agrona, Guava and Netty

0.6.1 (25 Apr 2018)

  • Fixed KeyRange reverse iteration bugs (#72, #86, #89)
  • Fixed ByteBuffer.order() determinism from reused buffers (#76)
  • Added CursorIterator.remove() (#71)
  • Added support for deleting Dbis (#64)
  • Added toString() methods to EnvInfo and Stat
  • Improved descriptions for native exceptions (#63)
  • Improved JavaDocs for DbiFlags and Cursor
  • Updated bundled LMDB library to version 0.9.22 (#88)
  • Updated dependencies: JNR-FFI, Agrona, Guava and Netty

0.6.0 (16 Jul 2017)

  • Added mdb_set_compare support (#56)
  • Added KeyRange support (#7)
  • Updated dependencies: Netty

Clone this wiki locally

Morty Proxy This is a proxified and sanitized view of the page, visit original site.