libmdbx v0.9.2 Release Notes

Release Date: 2020-11-27 // over 3 years ago
  • Acknowledgements:

    βž• Added features:

    • πŸ— Provided package for buildroot.
    • Binding for Nim is available now by Jens Alfke.
    • Added mdbx_env_delete() for deletion an environment files in a proper and multiprocess-safe way.
    • Added mdbx_txn_commit_ex() with collecting latency information.
    • Fast completion pure nested transactions.
    • Added LIBMDBX_INLINE_API macro and inline versions of some API functions.
    • Added mdbx_cursor_copy() function.
    • βœ… Extended tests for checking cursor tracking.
    • Added MDBX_SET_LOWERBOUND operation for mdbx_cursor_get().

    πŸ›  Fixes:

    • πŸ›  Fixed missing installation of mdbx.h++.
    • πŸ›  Fixed use of obsolete __noreturn.
    • πŸ›  Fixed use of yield instruction on ARM if unsupported.
    • βž• Added pthread workaround for buggy toolchain/cmake/buildroot.
    • πŸ›  Fixed use of pthread_yield() for non-GLIBC.
    • πŸ›  Fixed use of RegGetValueA() on Windows 2000/XP.
    • πŸ›  Fixed use of GetTickCount64() on Windows 2000/XP.
    • πŸ›  Fixed opening DB on a network shares (in the exclusive mode).
    • πŸ›  Fixed copy&paste typos.
    • πŸ›  Fixed minor false-positive GCC warning.
    • Added workaround for broken DEFINE_ENUM_FLAG_OPERATORS from Windows SDK.
    • πŸ›  Fixed cursor state after multimap/dupsort repeated deletes (#121).
    • Added SIGPIPE suppression for internal thread during mdbx_env_copy().
    • Fixed extra-rare MDBX_KEY_EXIST error during mdbx_commit() (#131).
    • πŸ›  Fixed spilled pages checking (#126).
    • πŸ›  Fixed mdbx_load for 'plain text' and without -s name cases (#136).
    • πŸ›  Fixed save/restore/commit of cursors for nested transactions.
    • πŸ›  Fixed cursors state in rare/special cases (move next beyond end-of-data, after deletion and so on).
    • βž• Added workaround for MSVC 19.28 (Visual Studio 16.8) (but may still hang during compilation).
    • πŸ›  Fixed paranoidal Clang C++ UB for bitwise operations with flags defined by enums.
    • πŸ›  Fixed large pages checking (for compatibility and to avoid false-positive errors from mdbx_chk).
    • βž• Added workaround for Wine (miranda-ng/miranda-ng#1209).
    • Fixed ERROR_NOT_SUPPORTED while opening DB by UNC pathnames (miranda-ng/miranda-ng#2627).
    • Added handling EXCEPTION_POSSIBLE_DEADLOCK condition for Windows.

    TODO for v0.9.3

    • Engage new terminology (#137).
    • πŸ”€ Rework/speedup the implementation of the dirty page list (lazy compactification, lazy sorting via merge).
    • Resolve few TODOs (#123, #124, #127, #128, #132, #115).
    • ✏️ Finalize C++ API (few typos and trivia bugs are still likely for now).
    • 🐧 Packages for ROSA Linux, ALT Linux, Fedora/RHEL, Debian/Ubuntu.

    SHA256 checksums

    c35cc53d66d74ebfc86e39441ba26276541ac7892bf91dba1e70c83665a02767 libmdbx-amalgamated-0.9.2.tar.gz
    82523330f701939325ce96becace35ec739d30f8e98ec776c4d50bc8745297a8 libmdbx-amalgamated-0_9_2.zip
    a98382d85a06a551393a89152a50c53fd45abf6bf9f5e01e594bbd799c1352c7 v0.9.2.tar.gz
    099b31eef060bd41c35221ba2c805571d173b936075da9a97fcaf4801c8c2ecf v0.9.2.zip