libmdbx v0.8.0 Release Notes
Release Date: 2020-06-05 // almost 4 years ago-
- ๐ Support for Android/Bionic.
- ๐ Support for iOS.
- Auto-handling
MDBX_NOSUBDIR
while opening for any exists database. - ๐ Engage github-actions to make release-assets.
- Clarify API description.
- โ Extended keygen-cases in stochastic test.
- ๐ Fix fetching of first/lower key from LEAF2-page during page merge.
- ๐ Fix missing comma in array of error messages.
- ๐ Fix div-by-zero while copy-with-compaction for non-resizeable environment.
- ๐ Fixes & enhancements for custom-comparators.
- Fix
MDBX_AVOID_CRT
option and missingntdll.def
. - Fix
mdbx_env_close()
to work correctly called concurrently from several threads. - ๐ Fix null-deref in an ASAN-enabled builds while opening environment with error and/or read-only.
- ๐ Fix AddressSanitizer errors after closing environment.
- ๐ Fix/workaround to avoid GCC 10.x pedantic warnings.
- ๐ Fix using
ENODATA
for FreeBSD. - Avoid invalidation of DBI-handle(s) when it just closing.
- Avoid using
pwritev()
for single-writes (up to 10% speedup for some kernels & scenarios). - Avoiding
MDBX_UTTERLY_NOSYNC
as result of flags merge. - Add
mdbx_dbi_dupsort_depthmask()
function. - Add
MDBX_CP_FORCE_RESIZEABLE
option. - Add deprecated
MDBX_MAP_RESIZED
for compatibility. - ๐ Add
MDBX_BUILD_TOOLS
option. - Refine
mdbx_dbi_open_ex()
to safe concurrently opening the same handle from difference threads. - Truncate clk-file during environment closing. So zero-length lck file indicates that environment was closed properly.
- ๐ Refine support for huge transactions with small sizes of database page.
- ๐ Extends dump/load to support all MDBX attributes.
- Avoid upsertion the same key-value data, fix related assertions.
- Rework min/max length checking for keys & values.
- Checking the order of keys on all pages during checking.
- ๐ Support
CFLAGS_EXTRA
make-option for convenience. - Preserve last txnid while copy with compactification.
- Auto-reset running transaction in mdbx_txn_renew().
- Automatically abort errored transaction in mdbx_txn_commit().
- Auto-choose pagesize for a large databases.
- ๐ Rearrange source files, rework build, options-support by CMake.
- ๐ง Crutch for WSL1 (Windows subsystem for Linux).
- Refine install/uninstall targets.
- Refine LTO (link time optimization) for clang.
- ๐ Support for Valgrind 3.14 and later.
- โ Add check-analyzer check-ubsan check-asan check-leak targets to Makefile.
- โช Minor fix/workaround to avoid UBSAN traps for
memcpy(ptr, NULL, 0)
. - โ Avoid some GCC-analyzer false-positive warnings.