NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3972 most downloaded on npm
Simple, efficient, scalable, high-performance LMDB interface
Last release 2 days ago
02 Oct 2026
Ships fairly regularly
a new release about every 5 weeks
Rarely documented
notes for 2 of the last 60 stable releases
9 versions withdrawn
withdrawn after publishing
13 years old
198 releases · first in 2013
Nothing published for this version
Fixes for supporting 32-bit architecture. Thank you @supernes for amazing research efforts for this release.
Fixes for supporting 32-bit architecture. Thank you @supernes for amazing research efforts for this release.
Nothing published for this version
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
The significant updates in v2.4 include:
The significant updates in v2.4 include:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
V2.3 represents a major code refactor/upgrade switching to using NAPI instead of NAN as the interface to Node/V8. This has two primary benefits:
V2.3 represents a major code refactor/upgrade switching to using NAPI instead of NAN as the interface to Node/V8. This has two primary benefits:
In addition, lmdb-js is now using a set of platform-specific sub-packages to install the appropriate binary for the platform (and only the appropriate binary). Together, this should dramatically decrease the downloaded/installed size of lmdb-js (from probably 15 MB to about 1 MB).
NAPI is a slightly slower than NAN (because it is an extra layer of abstraction). However, lmdb-js also ships binaries with extra version-specific NAN/V8 functions for performance sensitive functions. The distribution includes binary functions for Node V16 and also includes fast-api-calls, which should actually be faster than previous versions for V16 users. lmdb-js can be compiled to different Node versions if an extra boost in performance is needed.
Also note that with the transition to using NAPI as the interface for Deno support, FFI support is being dropped. That means that lmdb-js V2.3 will (probably) require Deno 1.22+, lmdb-js will need to be installed via package manager. For earlier versions of Deno, you would need to use lmdb-js V2.2.
Some other new features/improvements in V2.3:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
V2.2.0 has enabled the overlappingSync functionality by default and improved the scheduling of sync operations to achieve better performance.
V2.2.0 has enabled the overlappingSync functionality by default and improved the scheduling of sync operations to achieve better performance.
This release also introduces support for temporary databases. By simply omitting the path when opening a database, lmdb-js will auto-generate a temporary database (in the system temp directory), and delete it on close (it will also be opened with sync disabled for better performance). This can be useful for testing or creating intermediary tables.
The release also includes support for coordinating with the weak referencing cache to clear "kept" objects for better garbage collection in long-running synchronous jobs.
And v2.2.0 includes better performance for retrieving large binary entries by employing a reduced memory copying technique (affects entries over > 64KB).
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
The most significant new capability in this release is support for Deno. Deno functionality still has a number of limitations (no async transactions),
The most significant new capability in this release is support for Deno. Deno functionality still has a number of limitations (no async transactions), but core functionality is now available. This release also includes new functionality for supporting asynchronous prefetching for gets, in situations where page faults/disk-I/O are likely. Also includes bug fixes for closing databases. Of particular note is that the close() method is now asynchronous (returns a promise).
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
There aren't any intentionally substantive breaking changes to the (documented) API itself, just cleanup and removal of previously deprecated APIs. Bu…
The most central change in v2.0 is a rewrite of how data is batched and written to LMDB, implementing a true multi-thread producer-consumer protocol such that all writes are directly and immediately serialized to a binary format that the writer thread can consume in real-time. This has multiple implications (and hopefully benefits):
In lmdb-js, LMDB now supports "overlapping" syncs. This allows transactions to safely commit prior to be flushed to disk, and then the data can be flushed (and database metadata updated) after the transaction is visible and unlocked, allowing most of the disk I/O to happen in parallel with future write transactions, which can potentially provide some significant performance benefits in some heavy-write situations.
V.2+ is now published to https://www.npmjs.com/package/lmdb as its canonical NPM package. The 1.x line will continue to be available in the lmdb-store package. The repository has also been renamed to lmdb-js, to reflect the cross-platform goals of this project with Deno support coming soon (and significant internal upgrades in v2 to support this).
There aren't any intentionally substantive breaking changes to the (documented) API itself, just cleanup and removal of previously deprecated APIs. But the underlying changes are large enough that testing should be done with an update.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →