Skip to content
This repository has been archived by the owner on Sep 22, 2022. It is now read-only.

Releases: erthink/libfpta

Release v0.3.14 (stable)

26 Mar 13:11
v0.3.14
7d35e91
Compare
Choose a tag to compare

The stable release with the complete workaround for an incoherence flaw of Linux unified page/buffer cache.
Nonetheless the cause for this trouble may be an issue of Intel CPU cache/MESI.
See libmdbx' issue#269 for more information.

New:

  • Added GTEST_CLONE_URL CMake's variable to override GoogteTest download Git repo URL.
  • Added logging support (built-in proxy for libmdbx).

Fixes:

  • Complete workaround for an incoherence flaw of Linux unified page/buffer cache.
  • Fixed transaction leak (not-an-abortion) when schema load failed.

Please refer to the Git' log and libmdbx' ChangeLog for more information.

v0.2.12 (update of legacy/obsolete 0.2.x branch)

26 Mar 07:08
v0.2.12
a85842a
Compare
Choose a tag to compare

The stable release of legacy/obsolete 0.2 branch with the complete workaround for an incoherence flaw of Linux unified page/buffer cache.
Nonetheless the cause for this trouble may be an issue of Intel CPU cache/MESI.
See libmdbx' issue#269 for more information.

New:

  • Added GTEST_CLONE_URL CMake's variable to override GoogteTest download Git repo URL.
  • Added logging support (built-in proxy for libmdbx).

Fixes:

  • Complete workaround for an incoherence flaw of Linux unified page/buffer cache.
  • Fixed transaction leak (not-an-abortion) when schema load failed.

Please refer to the Git' log and libmdbx' ChangeLog for more information.

Release v0.3.13 (obsolete)

03 Feb 21:27
v0.3.13
924f6c0
Compare
Choose a tag to compare

The stable release with fixes for large and huge databases sized of 4..128 TiB.

libfpta important changes:

  • Fixed unaligned access inside the t1ha hash functions on ARM.

libmdbx important changes:

v0.11.4.1 at 2022-02-02:

  • Fixed handling MDBX_opt_rp_augment_limit for GC's records from huge transactions.
  • Fixed build on Android (avoid including sys/sem.h).
  • Fixed missing copy assignment operator for mdbx::move_result.
  • Fixed missing & for std::ostream &operator<<() overloads.
  • Fixed unexpected EXDEV (Cross-device link) error from mdbx_env_copy().
  • Fixed base64 encoding/decoding bugs in auxillary C++ API.
  • Fixed overflow of pgno_t during checking PNL on 64-bit platforms.
  • Fixed excessive PNL checking after sort for spilling.
  • Reworked checking MAX_PAGENO and DB upper-size geometry limit.
  • Fixed build for some combinations of versions of MSVC and Windows SDK.

Minors:

  • Added workaround for CLANG bug D79919/PR42445.
  • Fixed minor unused parameter warning.
  • Refine/cleanup internal logging.
  • Refined line splitting inside hex/base58/base64 encoding to avoid \n at the end.
  • Added workaround for modern libstdc++ with CLANG < 4.x
  • Relaxed txn-check rules for auxiliary functions.
  • Clarified a comments and descriptions, etc.
  • Using the -fno-semantic interposition option to reduce the overhead to calling self own public functions.

v0.11.3 at 2021-12-31:

  • Disabled C++20 concepts for stupid AppleClang 13.x
  • Fixed internal collision of MDBX_SHRINK_ALLOWED with MDBX_ACCEDE.

Minors:

  • Fixed returning MDBX_RESULT_TRUE (unexpected -1) from mdbx_env_set_option().
  • Added mdbx_env_get_syncbytes() and mdbx_env_get_syncperiod().
  • Clarified description of MDBX_INTEGERKEY.
  • Reworked/simplified mdbx_env_sync_internal().
  • Fixed extra assertion inside mdbx_cursor_put() for MDBX_DUPFIXED cases.
  • Avoiding extra looping inside mdbx_env_info_ex().
  • Explicitly enabled core dumps from stochastic tests scripts on Linux.
  • Fixed mdbx_override_meta() to avoid false-positive assertions.
  • For compatibility reverted returning MDBX_ENODATAfor some cases.

Please refer to the ChangeLog for more historical information and actual TODOs.

Release v0.3.12

13 Dec 17:10
v0.3.12
Compare
Choose a tag to compare

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, including 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
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 extra assertion inside mdbx_cursor_put() for MDBX_DUPFIXED cases.
  • Fixed mdbx_override_meta() to avoid false-positive assertions.

v0.11.2 at 2021-12-02:

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).
  • 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 erthink/libmdbx#231).
  • Fixed checking legacy P_DIRTY flag (0x10) for nested/sub-pages.

v0.10.2 at 2021-07-26:

v0.10.1 at 2021-06-01:

  • Added -p option to mdbx_stat utility for printing page operations statistic.

  • Added fallback from OFD locking to legacy non-OFD POSIX file locks on an EINVAL error.

  • Added Plan 9 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 (i.e by Plan 9 noted above).

  • Fixed confusing/messy errors when build library from unfit github's archives (erthink/libmdbx#197).

  • Fixed #​e​l​s​i​f typo.

  • Fixed rare unexpected MDBX_PROBLEM error during altering data in huge transactions due to wrong spilling/oust of dirty pages (erthink/libmdbx#195).

  • Re-Fixed WSL1/WSL2 detection with distinguishing (erthink/libmdbx#97).

libfpta release v0.3.11 (obsolete)

24 Oct 07:29
v0.3.11
5f584f6
Compare
Choose a tag to compare

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 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.