libmdbx 0.11.7 (Resurrected Sarmat)

Леонид Юрьев обновлён 2 года назад v0.11.7 40ec559 Релиз
0
Описание

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 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’s developers plan to support other languages, including English 和 中文, in the near future. You are welcome!

52 files changed, 1513 insertions(+), 3240 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
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 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 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.
Downloads:

For earlier versions please refer to the git tags and the ChangeLog.

Файлы
  • Нет файлов