mdbx: reformat ChangeLog (cosmetics).

Change-Id: Ida9e18a512604c3fff8d3d88558020f694e740b0
This commit is contained in:
Leonid Yuriev 2020-07-07 00:38:27 +03:00
parent fc9ae9ebc6
commit e34e58f529

View File

@ -1,128 +1,128 @@
v0.9.x (in the development): ## v0.9.x (in the development):
- TODO: API for explicit threads (de)registration. - TODO: API for explicit threads (de)registration.
  - TODO: Native bindings for C++. - TODO: Native bindings for C++.
  - TODO: Packages for AltLinux, Fedora/RHEL, Debian/Ubuntu. - TODO: Packages for AltLinux, Fedora/RHEL, Debian/Ubuntu.
v0.8.2 2020-07-06: ## v0.8.2 2020-07-06:
  - Added support multi-opening the same DB in a process with SysV locking (BSD). - Added support multi-opening the same DB in a process with SysV locking (BSD).
  - Fixed warnings & minors for LCC compiler (E2K). - Fixed warnings & minors for LCC compiler (E2K).
  - Enabled to simultaneously open the same database from processes with and without the `MDBX_WRITEMAP` option. - Enabled to simultaneously open the same database from processes with and without the `MDBX_WRITEMAP` option.
  - Added key-to-value, `mdbx_get_keycmp()` and `mdbx_get_datacmp()` functions (helpful to avoid using custom comparators). - Added key-to-value, `mdbx_get_keycmp()` and `mdbx_get_datacmp()` functions (helpful to avoid using custom comparators).
- Added `ENABLE_UBSAN` CMake option to enabling the UndefinedBehaviorSanitizer from GCC/CLANG. - Added `ENABLE_UBSAN` CMake option to enabling the UndefinedBehaviorSanitizer from GCC/CLANG.
  - Workaround for CLANG bug https://bugs.llvm.org/show_bug.cgi?id=43275. - Workaround for [CLANG bug](https://bugs.llvm.org/show_bug.cgi?id=43275).
  - Returning MDBX_CORRUPTED in case all meta-pages are weak and no other error. - Returning `MDBX_CORRUPTED` in case all meta-pages are weak and no other error.
  - Refined mode bits while auto-creating LCK-file. - Refined mode bits while auto-creating LCK-file.
- Avoids unnecessary database file re-mapping in case geometry changed by another process(es). - Avoids unnecessary database file re-mapping in case geometry changed by another process(es).
From the user's point of view, the MDBX_UNABLE_EXTEND_MAPSIZE error will now be returned less frequently and only when using the DB in the current process really requires it to be reopened. From the user's point of view, the `MDBX_UNABLE_EXTEND_MAPSIZE` error will now be returned less frequently and only when using the DB in the current process really requires it to be reopened.
- Remapping on-the-fly and of the database file was implemented. - Remapping on-the-fly and of the database file was implemented.
Now remapping with a change of address is performed automatically if there are no dependent readers in the current process. Now remapping with a change of address is performed automatically if there are no dependent readers in the current process.
v0.8.1 2020-06-12: ## v0.8.1 2020-06-12:
  - Minor change versioning. The last number in the version now means the number of commits since last release/tag. - Minor change versioning. The last number in the version now means the number of commits since last release/tag.
  - Provide ChangeLog file. - Provide ChangeLog file.
  - Fix for using libmdbx as a C-only sub-project with CMake. - Fix for using libmdbx as a C-only sub-project with CMake.
  - Fix `mdbx_env_set_geometry()` for case it is called from an opened environment outside of a write transaction. - Fix `mdbx_env_set_geometry()` for case it is called from an opened environment outside of a write transaction.
  - Add support for huge transactions and `MDBX_HUGE_TRANSACTIONS` build-option (default `OFF`). - Add support for huge transactions and `MDBX_HUGE_TRANSACTIONS` build-option (default `OFF`).
  - Refine LTO (link time optimization) for clang. - Refine LTO (link time optimization) for clang.
  - Force enabling exceptions handling for MSVC (`/EHsc` option). - Force enabling exceptions handling for MSVC (`/EHsc` option).
v0.8.0 2020-06-05: ## v0.8.0 2020-06-05:
  - Support for Android/Bionic. - Support for Android/Bionic.
  - Support for iOS. - Support for iOS.
  - Auto-handling `MDBX_NOSUBDIR` while opening for any existing database. - Auto-handling `MDBX_NOSUBDIR` while opening for any existing database.
  - Engage github-actions to make release-assets. - Engage github-actions to make release-assets.
  - Clarify API description. - Clarify API description.
  - Extended keygen-cases in stochastic test. - Extended keygen-cases in stochastic test.
  - Fix fetching of first/lower key from LEAF2-page during page merge. - Fix fetching of first/lower key from LEAF2-page during page merge.
  - Fix missing comma in array of error messages. - Fix missing comma in array of error messages.
  - Fix div-by-zero while copy-with-compaction for non-resizable environments. - Fix div-by-zero while copy-with-compaction for non-resizable environments.
  - Fixes & enhancements for custom-comparators. - Fixes & enhancements for custom-comparators.
  - Fix `MDBX_AVOID_CRT` option and missing `ntdll.def`. - Fix `MDBX_AVOID_CRT` option and missing `ntdll.def`.
  - Fix `mdbx_env_close()` to work correctly called concurrently from several threads. - Fix `mdbx_env_close()` to work correctly called concurrently from several threads.
  - Fix null-deref in an ASAN-enabled builds while opening the environment with error and/or read-only. - Fix null-deref in an ASAN-enabled builds while opening the environment with error and/or read-only.
  - Fix AddressSanitizer errors after closing the environment. - Fix AddressSanitizer errors after closing the environment.
  - Fix/workaround to avoid GCC 10.x pedantic warnings. - Fix/workaround to avoid GCC 10.x pedantic warnings.
  - Fix using `ENODATA` for FreeBSD. - Fix using `ENODATA` for FreeBSD.
  - Avoid invalidation of DBI-handle(s) when it just closes. - Avoid invalidation of DBI-handle(s) when it just closes.
  - Avoid using `pwritev()` for single-writes (up to 10% speedup for some kernels & scenarios). - Avoid using `pwritev()` for single-writes (up to 10% speedup for some kernels & scenarios).
  - Avoiding `MDBX_UTTERLY_NOSYNC` as result of flags merge. - Avoiding `MDBX_UTTERLY_NOSYNC` as result of flags merge.
  - Add `mdbx_dbi_dupsort_depthmask()` function. - Add `mdbx_dbi_dupsort_depthmask()` function.
  - Add `MDBX_CP_FORCE_RESIZEABLE` option. - Add `MDBX_CP_FORCE_RESIZEABLE` option.
  - Add deprecated `MDBX_MAP_RESIZED` for compatibility. - Add deprecated `MDBX_MAP_RESIZED` for compatibility.
  - Add `MDBX_BUILD_TOOLS` option (default `ON`). - Add `MDBX_BUILD_TOOLS` option (default `ON`).
  - Refine `mdbx_dbi_open_ex()` to safe concurrently opening the same handle from different threads. - Refine `mdbx_dbi_open_ex()` to safe concurrently opening the same handle from different threads.
  - Truncate clk-file during environment closing. So a zero-length lck-file indicates that the environment was closed properly. - Truncate clk-file during environment closing. So a zero-length lck-file indicates that the environment was closed properly.
  - Refine `mdbx_update_gc()` for huge transactions with small sizes of database page. - Refine `mdbx_update_gc()` for huge transactions with small sizes of database page.
  - Extends dump/load to support all MDBX attributes. - Extends dump/load to support all MDBX attributes.
  - Avoid upsertion the same key-value data, fix related assertions. - Avoid upsertion the same key-value data, fix related assertions.
  - Rework min/max length checking for keys & values. - Rework min/max length checking for keys & values.
  - Checking the order of keys on all pages during checking. - Checking the order of keys on all pages during checking.
  - Support `CFLAGS_EXTRA` make-option for convenience. - Support `CFLAGS_EXTRA` make-option for convenience.
  - Preserve the last txnid while copying with compactification. - Preserve the last txnid while copying with compactification.
  - Auto-reset running transaction in mdbx_txn_renew(). - Auto-reset running transaction in mdbx_txn_renew().
  - Automatically abort errored transaction in mdbx_txn_commit(). - Automatically abort errored transaction in mdbx_txn_commit().
  - Auto-choose page size for large databases. - Auto-choose page size for large databases.
  - Rearrange source files, rework build, options-support by CMake. - Rearrange source files, rework build, options-support by CMake.
  - Crutch for WSL1 (Windows subsystem for Linux). - Crutch for WSL1 (Windows subsystem for Linux).
  - Refine install/uninstall targets. - Refine install/uninstall targets.
  - Support for Valgrind 3.14 and later. - Support for Valgrind 3.14 and later.
  - Add check-analyzer check-ubsan check-asan check-leak targets to Makefile. - Add check-analyzer check-ubsan check-asan check-leak targets to Makefile.
  - Minor fix/workaround to avoid UBSAN traps for `memcpy(ptr, NULL, 0)`. - Minor fix/workaround to avoid UBSAN traps for `memcpy(ptr, NULL, 0)`.
  - Avoid some GCC-analyzer false-positive warnings. - Avoid some GCC-analyzer false-positive warnings.
v0.7.0 2020-03-18: ## v0.7.0 2020-03-18:
  - Workarounds for Wine (Windows compatibility layer for Linux). - Workarounds for Wine (Windows compatibility layer for Linux).
  - `MDBX_MAP_RESIZED` renamed to `MDBX_UNABLE_EXTEND_MAPSIZE`. - `MDBX_MAP_RESIZED` renamed to `MDBX_UNABLE_EXTEND_MAPSIZE`.
  - Clarify API description, fix typos. - Clarify API description, fix typos.
  - Speedup runtime checks in debug/checked builds. - Speedup runtime checks in debug/checked builds.
  - Added checking for read/write transactions overlapping for the same thread, added `MDBX_TXN_OVERLAPPING` error and `MDBX_DBG_LEGACY_OVERLAP` option. - Added checking for read/write transactions overlapping for the same thread, added `MDBX_TXN_OVERLAPPING` error and `MDBX_DBG_LEGACY_OVERLAP` option.
  - Added `mdbx_key_from_jsonInteger()`, `mdbx_key_from_double()`, `mdbx_key_from_float()`, `mdbx_key_from_int64()` and `mdbx_key_from_int32()` functions. See `mdbx.h` for description. - Added `mdbx_key_from_jsonInteger()`, `mdbx_key_from_double()`, `mdbx_key_from_float()`, `mdbx_key_from_int64()` and `mdbx_key_from_int32()` functions. See `mdbx.h` for description.
  - Fix compatibility (use zero for invalid DBI). - Fix compatibility (use zero for invalid DBI).
  - Refine/clarify error messages. - Refine/clarify error messages.
  - Avoids extra error messages "bad txn" from mdbx_chk when DB is corrupted. - Avoids extra error messages "bad txn" from mdbx_chk when DB is corrupted.
v0.6.0 2020-01-21: ## v0.6.0 2020-01-21:
  - Fix `mdbx_load` utility for custom comparators. - Fix `mdbx_load` utility for custom comparators.
  - Fix checks related to `MDBX_APPEND` flag inside `mdbx_cursor_put()`. - Fix checks related to `MDBX_APPEND` flag inside `mdbx_cursor_put()`.
  - Refine/fix dbi_bind() internals. - Refine/fix dbi_bind() internals.
  - Refine/fix handling STATUS_CONFLICTING_ADDRESSES. - Refine/fix handling `STATUS_CONFLICTING_ADDRESSES`.
  - Rework `MDBX_DBG_DUMP` option to avoid disk I/O performance degradation. - Rework `MDBX_DBG_DUMP` option to avoid disk I/O performance degradation.
  - Add built-in help to test tool. - Add built-in help to test tool.
  - Fix `mdbx_env_set_geometry()` for large page size. - Fix `mdbx_env_set_geometry()` for large page size.
  - Fix env_set_geometry() for large pagesize. - Fix env_set_geometry() for large pagesize.
  - Clarify API description & comments, fix typos. - Clarify API description & comments, fix typos.
v0.5.0 2019-12-31: ## v0.5.0 2019-12-31:
  - Fix returning MDBX_RESULT_TRUE from page_alloc(). - Fix returning MDBX_RESULT_TRUE from page_alloc().
  - Fix false-positive ASAN issue. - Fix false-positive ASAN issue.
  - Fix assertion for `MDBX_NOTLS` option. - Fix assertion for `MDBX_NOTLS` option.
  - Rework MADV_DONTNEED threshold. - Rework `MADV_DONTNEED` threshold.
  - Fix `mdbx_chk` utility for don't checking some numbers if walking on the B-tree was disabled. - Fix `mdbx_chk` utility for don't checking some numbers if walking on the B-tree was disabled.
  - Use page's mp_txnid for basic integrity checking. - Use page's mp_txnid for basic integrity checking.
  - Add MDBX_FORCE_ASSERTIONS built-time option. - Add `MDBX_FORCE_ASSERTIONS` built-time option.
  - Rework MDBX_DBG_DUMP to avoid performance degradation. - Rework `MDBX_DBG_DUMP` to avoid performance degradation.
  - Rename MDBX_NOSYNC to MDBX_SAFE_NOSYNC for clarity. - Rename `MDBX_NOSYNC` to `MDBX_SAFE_NOSYNC` for clarity.
  - Interpret `ERROR_ACCESS_DENIED` from `OpenProcess()` as 'process exists'. - Interpret `ERROR_ACCESS_DENIED` from `OpenProcess()` as 'process exists'.
  - Avoid using FILE_FLAG_NO_BUFFERING for compatibility with small database pages. - Avoid using `FILE_FLAG_NO_BUFFERING` for compatibility with small database pages.
  - Added install section for CMake. - Added install section for CMake.
v0.4.0 2019-12-02: ## v0.4.0 2019-12-02:
  - Support for Mac OSX, FreeBSD, NetBSD, OpenBSD, DragonFly BSD, OpenSolaris, OpenIndiana (AIX and HP-UX pending). - Support for Mac OSX, FreeBSD, NetBSD, OpenBSD, DragonFly BSD, OpenSolaris, OpenIndiana (AIX and HP-UX pending).
  - Use bootid for decisions of rollback. - Use bootid for decisions of rollback.
  - Counting retired pages and extended transaction info. - Counting retired pages and extended transaction info.
  - Add MDBX_ACCEDE flag for database opening. - Add `MDBX_ACCEDE` flag for database opening.
  - Using OFD-locks and tracking for in-process multi-opening. - Using OFD-locks and tracking for in-process multi-opening.
  - Hot backup into pipe. - Hot backup into pipe.
  - Support for cmake & amalgamated sources. - Support for cmake & amalgamated sources.
  - Fastest internal sort implementation. - Fastest internal sort implementation.
  - New internal dirty-list implementation with lazy sorting. - New internal dirty-list implementation with lazy sorting.
  - Support for lazy-sync-to-disk with polling. - Support for lazy-sync-to-disk with polling.
  - Extended key length. - Extended key length.
  - Last update transaction number for each sub-database. - Last update transaction number for each sub-database.
  - Automatic read ahead enabling/disabling. - Automatic read ahead enabling/disabling.
  - More auto-compactification. - More auto-compactification.
  - Using -fsanitize=undefined and -Wpedantic options. - Using -fsanitize=undefined and -Wpedantic options.
  - Rework page merging. - Rework page merging.
  - Nested transactions. - Nested transactions.
  - API description. - API description.
  - Checking for non-local filesystems to avoid DB corruption. - Checking for non-local filesystems to avoid DB corruption.