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

0.2.0 2018-09-25

Compare
Choose a tag to compare
@erthink erthink released this 25 Sep 19:31
· 2062 commits to master since this release

New features and Compatibility breaking:

  1. Compatible with v0.1.x (stable/1.0 branch).
  2. Identical database format for 32- and 64-bit builds.
  3. Dynamically DB file size (growth/shrink) and custom page size via mdbx_env_set_geometry().
  4. Support for Elbrus architecture.
  5. Support for Windows XP and later (building by MSVC 2013 and later, but not by MinGW).
  6. Support for MDBX_EXCLUSIVE mode, include network shares.
  7. Support for large write transactions.
  8. Extending mdbx_chk to verifing a inplaced sub-pages and accounting/statistics.
  9. Incompatible with v0.0.x (stable/0.0 branch) and with original/obsolete LMDB.

Fixes since v0.1.x releases (stable/1.0 branch):

  • major: fix corruption due LMDB-inherited rebalance bugs.
  • major: fix accounting for sorted-duplicates tables.
  • major: fix internal (LMDB-inherited and broken) audit.

Fixes since 0.1.5 2018-06-14:

  • fix LMDB-inherited empty and unneeded large/overflow pages.
  • fix LMDB-inherited cursor tracking bugs.
  • fix MDBX_CORRUPTED due concurrent open/shrink collision.
  • fix concurrent opening with custom pagesize.
  • fix MDBX_EKEYMISMATCH while update multi-value with MDBX_CURRENT.
  • linux: fix fallback2shared for mdbx_lck_exclusive().
  • windows: fix truncation race while unmap().
  • windows: fix nasty suspend_and_append() bug.
  • tools: fix wrong 'bad sequence' messages from mdbx_stat.
  • minor: doc fixes (ITS#8908 and ITS#8857).

Fixes since 0.1.4 2018-05-04:

  • MAJOR: force steady-sync when shrinking DB.
  • windows: disable non-blocking DB-close.
  • minor: skip meta if usedbytes beyond EOF.
  • minor: return MDBX_CORRUPTED instead of crash if MDBX_DUPSORT mismatch.

Fixes since 0.1.3 2018-04-03:

  • MAJOR: fix wrong freeDB search.
  • windows: fix lck_reader_alive_check().

Fixes since 0.1.2 2018-03-22:

  • MAJOR: fix/rework rthc to avoid GNU libc ntpl bug.
  • minor: fix cursor tracking inside mdbx_rebalance().
  • minor: fix mdbx_cursor_put(MDBX_APPEND+MDBX_NOOVERWRITE) return MDBX_KEYEXIST instead of MDBX_EKEYMISMATCH.

Fixes since 0.1.1 2018-03-14:

  • minor: fix/rework cache-line alignment.
  • minor: fix unaligned access to mp_ptrs[] on fake-page.
  • minor: lookup suitable txnid for rollback to avoid meta-pages clashes.
  • tool: rework/fix read-write mode inside mdbx_chk.
  • minor: fix minor memleak (Coverity).
  • minor: add workaround for Elbrus's libc bug.

Fixes since 0.1.0 2018-03-07:

  • minor: fix missing MDBX_DEVEL=1.