mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-02 00:04:12 +08:00
mdbx: release v0.11.8
The stable release with an important fixes and workaround for the critical macOS thread-local-storage issue. Acknowledgements: ----------------- - [Masatoshi Fukunaga](https://github.com/mah0x211) for [Lua bindings](https://github.com/mah0x211/lua-libmdbx). New: ---- - Added most of transactions flags to the public API. - Added `MDBX_NOSUCCESS_EMPTY_COMMIT` build option to return non-success result (`MDBX_RESULT_TRUE`) on empty commit. - Reworked validation and import of DBI-handles into a transaction. Assumes these changes will be invisible to most users, but will cause fewer surprises in complex DBI cases. - Added ability to open DB in without-LCK (exclusive read-only) mode in case no permissions to create/write LCK-file. Fixes: ------ - A series of fixes and improvements for automatically generated documentation (Doxygen). - Fixed copy&paste bug with could lead to `SIGSEGV` (nullptr dereference) in the exclusive/no-lck mode. - Fixed minor warnings from modern Apple's CLANG 13. - Fixed minor warnings from CLANG 14 and in-development CLANG 15. - Fixed `SIGSEGV` regression in without-LCK (exclusive read-only) mode. - Fixed `mdbx_check_fs_local()` for CDROM case on Windows. - Fixed nasty typo of typename which caused false `MDBX_CORRUPTED` error in a rare execution path, when the size of the thread-ID type not equal to 8. - Fixed write-after-free memory corruption on latest `macOS` during finalization/cleanup of thread(s) that executed read transaction(s). > The issue was suddenly discovered by a [CI](https://en.wikipedia.org/wiki/Continuous_integration) > after adding an iteration with macOS 11 "Big Sur", and then reproduced on recent release of macOS 12 "Monterey". > The issue was never noticed nor reported on macOS 10 "Catalina" nor others. > Analysis shown that the problem caused by a change in the behavior of the system library (internals of dyld and pthread) > during thread finalization/cleanup: now a memory allocated for a `__thread` variable(s) is released > before execution of the registered Thread-Local-Storage destructor(s), > thus a TLS-destructor will write-after-free just by legitime dereference any `__thread` variable. > This is unexpected crazy-like behavior since the order of resources releasing/destroying > is not the reverse of ones acquiring/construction order. Nonetheless such surprise > is now workarounded by using atomic compare-and-swap operations on a 64-bit signatures/cookies. - Fixed Elbrus/E2K LCC 1.26 compiler warnings (memory model for atomic operations, etc). Minors: ------- - Refined `release-assets` GNU Make target. - Added logging to `mdbx_fetch_sdb()` to help debugging complex DBI-handels use cases. - Added explicit error message from probe of no-support for `std::filesystem`. - Added contributors "score" table by `git fame` to generated docs. - Added `mdbx_assert_fail()` to public API (mostly for backtracing). - Now C++20 concepts used/enabled only when `__cpp_lib_concepts >= 202002`. - Don't provide nor report package information if used as a CMake subproject. Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
This commit is contained in:
parent
ca7984f9a9
commit
bd80e01eda
@ -1,7 +1,7 @@
|
||||
ChangeLog
|
||||
---------
|
||||
|
||||
## Underway v0.11.8 (scheduled to 2022-06-12)
|
||||
## v0.11.8 at 2022-06-12
|
||||
|
||||
Acknowledgements:
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Copyright 2015-2022 Leonid Yuriev <leo@yuriev.ru>.
|
||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
||||
.TH MDBX_CHK 1 "2022-04-22" "MDBX 0.11.7"
|
||||
.TH MDBX_CHK 1 "2022-04-22" "MDBX 0.11.8"
|
||||
.SH NAME
|
||||
mdbx_chk \- MDBX checking tool
|
||||
.SH SYNOPSIS
|
||||
|
@ -2,7 +2,7 @@
|
||||
.\" Copyright 2012-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
||||
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
||||
.TH MDBX_COPY 1 "2022-04-22" "MDBX 0.11.7"
|
||||
.TH MDBX_COPY 1 "2022-04-22" "MDBX 0.11.8"
|
||||
.SH NAME
|
||||
mdbx_copy \- MDBX environment copy tool
|
||||
.SH SYNOPSIS
|
||||
|
@ -1,7 +1,7 @@
|
||||
.\" Copyright 2021-2022 Leonid Yuriev <leo@yuriev.ru>.
|
||||
.\" Copyright 2014-2021 Howard Chu, Symas Corp. All Rights Reserved.
|
||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
||||
.TH MDBX_DROP 1 "2022-04-22" "MDBX 0.11.7"
|
||||
.TH MDBX_DROP 1 "2022-04-22" "MDBX 0.11.8"
|
||||
.SH NAME
|
||||
mdbx_drop \- MDBX database delete tool
|
||||
.SH SYNOPSIS
|
||||
|
@ -2,7 +2,7 @@
|
||||
.\" Copyright 2014-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
||||
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
||||
.TH MDBX_DUMP 1 "2022-04-22" "MDBX 0.11.7"
|
||||
.TH MDBX_DUMP 1 "2022-04-22" "MDBX 0.11.8"
|
||||
.SH NAME
|
||||
mdbx_dump \- MDBX environment export tool
|
||||
.SH SYNOPSIS
|
||||
|
@ -2,7 +2,7 @@
|
||||
.\" Copyright 2014-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
||||
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
||||
.TH MDBX_LOAD 1 "2022-04-22" "MDBX 0.11.7"
|
||||
.TH MDBX_LOAD 1 "2022-04-22" "MDBX 0.11.8"
|
||||
.SH NAME
|
||||
mdbx_load \- MDBX environment import tool
|
||||
.SH SYNOPSIS
|
||||
|
@ -2,7 +2,7 @@
|
||||
.\" Copyright 2012-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
||||
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
||||
.TH MDBX_STAT 1 "2022-04-22" "MDBX 0.11.7"
|
||||
.TH MDBX_STAT 1 "2022-04-22" "MDBX 0.11.8"
|
||||
.SH NAME
|
||||
mdbx_stat \- MDBX environment status tool
|
||||
.SH SYNOPSIS
|
||||
|
Loading…
x
Reference in New Issue
Block a user