Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The stable risen release after the Github's intentional malicious disaster. We have migrated to a reliable trusted infrastructure ----------------------------------------------------- The origin for now is at [GitFlic](https://gitflic.ru/project/erthink/libmdbx) since on 2022-04-15 the Github administration, without any warning nor explanation, deleted _libmdbx_ along with a lot of other projects, simultaneously blocking access for many developers. For the same reason ~~Github~~ is blacklisted forever. GitFlic already support Russian and English languages, plan to support more, including 和 中文. You are welcome! New: ---- - Added the `tools-static` make target to build statically linked MDBX tools. - Support for Microsoft Visual Studio 2022. - Support build by MinGW' make from command line without CMake. - Added `mdbx::filesystem` C++ API namespace that corresponds to `std::filesystem` or `std::experimental::filesystem`. - Created [website](https://libmdbx.website.yandexcloud.net/) for online auto-generated documentation. - Used `todo4recovery://erased_by_github/` for dead (or temporarily lost) resources deleted by ~~Github~~. - Added `--loglevel=` command-line option to the `mdbx_test` tool. - Added few fast smoke-like tests into CMake builds. Fixes: ------ - Fixed a race between starting a transaction and creating a DBI descriptor that could lead to `SIGSEGV` in the cursor tracking code. - Clarified description of `MDBX_EPERM` error returned from `mdbx_env_set_geometry()`. - Fixed non-promoting the parent transaction to be dirty in case the undo of the geometry update failed during abortion of a nested transaction. - Resolved linking issues with `libstdc++fs`/`libc++fs`/`libc++experimental` for C++ `std::filesystem` or `std::experimental::filesystem` for legacy compilers. - Added workaround for GNU Make 3.81 and earlier. - Added workaround for Elbrus/LCC 1.25 compiler bug of class inline `static constexpr` member field. - [Fixed](erigontech/erigon#3874) minor assertion regression (only debug builds were affected). - Fixed detection of `C++20` concepts accessibility. - Fixed detection of Clang's LTO availability for Android. - Fixed build for ARM/ARM64 by MSVC. - Fixed non-x86 Windows builds with `MDBX_WITHOUT_MSVC_CRT=ON` and `MDBX_BUILD_SHARED_LIBRARY=ON`. Minors: ------- - Resolve minor MSVC warnings: avoid `/INCREMENTAL[:YES]` with `/LTCG`, `/W4` with `/W3`, the `C5105` warning. - Switched to using `MDBX_EPERM` instead of `MDBX_RESULT_TRUE' to indicate that the geometry cannot be updated. - Added `NULL` checking during memory allocation inside `mdbx_chk`. - Resolved all warnings from MinGW while used without CMake. - Added inheretable `target_include_directories()` to `CMakeLists.txt` for easy integration. - Added build-time checks and paranoid runtime assertions for the `off_t` arguments of `fcntl()` which are used for locking. - Added `-Wno-lto-type-mismatch` to avoid false-positive warnings from old GCC during LTO-enabled builds. - Added checking for TID (system thread id) to avoid hang on 32-bit Bionic/Android within `pthread_mutex_lock()`. - Reworked `MDBX_BUILD_TARGET` of CMake builds. - Added `CMAKE_HOST_ARCH` and `CMAKE_HOST_CAN_RUN_EXECUTABLES_BUILT_FOR_TARGET`. Signed-off-by: Леонид Юрьев (Leonid Yuriev) <[email protected]>
- Loading branch information