fpta release v0.3.12 libfpta's important changes: ---------------------------- - Rewritting filters to actually hollow `fpta_filter_none` without open underlying cursor. - Rewritting filters instead of returning `FPTA_ETYPE`. - Resolved all warnings and build errors for all actual version of GCC and CLANG compilers. - Fixed test for 32-bit builds. - Refactoring `fpta_name_refresh_filter()` and related functions to avoid refresh-overhead. - Resolved all UB shown by UBSAN, unclugin unaligned access. libmdbx's important changes: ---------------------------- Backward compatibility break: The database format signature has been changed to prevent forward-interoperability with an previous releases, which may lead to a [false positive diagnosis of database corruption](https://github.com/erthink/libmdbx/issues/238) due to flaws of an old library versions. This change is mostly invisible: - previously versions are unable to read/write a new DBs; - but the new release is able to handle an old DBs and will silently upgrade ones. ### v0.11.2.22 at 2021-12-13: - Fixed internal collision of `MDBX_SHRINK_ALLOWED` with `MDBX_ACCEDE`. - Fixed returning `MDBX_RESULT_TRUE` (unexpected -1) from `mdbx_env_set_option()`. - [Fixed](https://github.com/erthink/libmdbx/issues/248) extra assertion inside `mdbx_cursor_put()` for `MDBX_DUPFIXED` cases. - [Fixed](https://github.com/erthink/libmdbx/issues/253) `mdbx_override_meta()` to avoid false-positive assertions. ### v0.11.2 at 2021-12-02: - [Fixed unexpected `MDBX_PROBLEM` error](https://github.com/erthink/libmdbx/issues/242) because of update an obsolete meta-page. - [Fixed returning `MDBX_NOTFOUND` error](https://github.com/erthink/libmdbx/issues/243) in case an inexact value found for `MDBX_GET_BOTH` operation. ### v0.11.1 at 2021-10-23: - Fixed unaligned access regression after the `#pragma pack` fix for modern compilers. - Fixed possibility of meta-pages clashing after manually turn to a particular meta-page using `mdbx_chk` utility. ### v0.10.4 at 2021-10-10: - Fixed possibility of looping update GC during transaction commit (no public issue since the problem was discovered inside [Positive Technologies](https://www.ptsecurity.ru)). - In debugging builds fixed a too small (single page) by default DB shrink threshold. ### v0.10.3 at 2021-08-27: - Always setup `madvise` while opening DB (fixes https://github.com/erthink/libmdbx/issues/231). - Fixed checking legacy `P_DIRTY` flag (`0x10`) for nested/sub-pages. ### v0.10.2 at 2021-07-26: - [Allow to predefine/override `MDBX_BUILD_TIMESTAMP` for builds reproducibility](https://github.com/erthink/libmdbx/issues/201). - Avoided `MDBX_TXN_FULL` error for large transactions when possible. - The `MDBX_READERS_LIMIT` increased to `32767`. - `mdbx_chk` now skips iteration & checking of DB' records if corresponding page-tree is corrupted (to avoid `SIGSEGV`, ASAN failures, etc). - Added more checks for [rare/fuzzing corruption cases](https://github.com/erthink/libmdbx/issues/217). - Fixed excess meta-pages checks in case `mdbx_chk` is called to check the DB for a specific meta page and thus could prevent switching to the selected meta page, even if the check passed without errors. - Fixed [recursive use of SRW-lock on Windows cause by `MDBX_NOTLS` option](https://github.com/erthink/libmdbx/issues/203). - Fixed [log a warning during a new DB creation](https://github.com/erthink/libmdbx/issues/205). - Fixed [false-negative `mdbx_cursor_eof()` result](https://github.com/erthink/libmdbx/issues/207). - Fixed [`make install` with non-GNU `install` utility (OSX, BSD)](https://github.com/erthink/libmdbx/issues/208). - Fixed [installation by `CMake` in special cases by complete use `GNUInstallDirs`'s variables](https://github.com/erthink/libmdbx/issues/209). - Fixed [C++ Buffer issue with `std::string` and alignment](https://github.com/erthink/libmdbx/issues/191). - Fixed `safe64_reset()` for platforms without atomic 64-bit compare-and-swap. - Fixed hang/shutdown on big-endian platforms without `__cxa_thread_atexit()`. - Fixed [using bad meta-pages if DB was partially/recoverable corrupted](https://github.com/erthink/libmdbx/issues/217). - Fixed `bootid` generation on Windows for case of change system' time. - Fixed [test framework keygen-related issue](https://github.com/erthink/libmdbx/issues/127). ### v0.10.1 at 2021-06-01: - Added `-p` option to `mdbx_stat` utility for printing page operations statistic. - Added fallback from [OFD locking](https://bit.ly/3yFRtYC) to legacy non-OFD POSIX file locks on an `EINVAL` error. - Added [Plan 9](https://en.wikipedia.org/wiki/9P_(protocol)) network file system to the whitelist for an ability to open a DB in exclusive mode. - Support for opening from WSL2 environment a DB hosted on Windows drive and mounted via [DrvFs](https://docs.microsoft.com/it-it/archive/blogs/wsl/wsl-file-system-support#drvfs) (i.e by Plan 9 noted above). - Fixed confusing/messy errors when build library from unfit github's archives (https://github.com/erthink/libmdbx/issues/197). - Fixed `#elsif` typo. - Fixed rare unexpected `MDBX_PROBLEM` error during altering data in huge transactions due to wrong spilling/oust of dirty pages (https://github.com/erthink/libmdbx/issues/195). - Re-Fixed WSL1/WSL2 detection with distinguishing (https://github.com/erthink/libmdbx/issues/97).
Этот тег не содержит заметок к релизу