You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Re-vendors the amalgamation via `make cp LIBMDBX_REF=v0.14.4`. Upstream
"Skynet Eve" is a bugfix release of the stable branch; the public C API is
unchanged (mdbx.h diff is documentation only), so the bindings need no
adaptation. Notable upstream changes:
- Windows: stricter checks for network, shared and layered volumes, to prevent
database corruption and data loss. Placing a database on such a volume can
now fail with MDBX_EREMOTE (ERROR_REMOTE_STORAGE_MEDIA_ERROR).
- Fixed a missing sub-page header check in page_check(), which could SIGSEGV
while checking a corrupted database.
- Fixed a regression returning MDBX_BAD_TXN instead of MDBX_OUSTED.
- Fixed division truncation in default_rp_augment_limit(), which yielded a too
low and "stepwise" default MDBX_opt_rp_augment_limit.
- Refined mdbx_get_sysraminfo(): sysinfo()/MemAvailable on Linux,
host_statistics64() on macOS.
Carries one local fix on top of v0.14.4: the new macOS path passes
HOST_VM_INFO_COUNT (15) to host_statistics64(HOST_VM_INFO64), which wants
HOST_VM_INFO64_COUNT (104) and fails with KERN_FAILURE otherwise, so
mdbx_get_sysraminfo() returned MDBX_ENOSYS on every macOS build -- failing
TestGetSysRamInfo and degrading libmdbx's own default dirty-page limit. The
deviation is marked "mdbx-go local fix" in libmdbx/mdbx.c and is reported
upstream; drop it once upstream takes it.
Also notes in the README that a re-vendor wipes such local fixes, and that
rebuilding after one needs `go build -a`: the mdbx package pulls libmdbx/mdbx.c
in through a cgo #include across package directories, which the Go build cache
does not track, so a plain `go test` happily re-runs the old C.
`go test` and `go test -race` pass on darwin/arm64.
add_option(MDBXENABLE_DBI_LOCKFREE"Support for deferred releasing and a lockfree path to quickly open DBI handles"ON)
612
633
add_option(MDBXUSE_FALLOCATE"Using posix_fallocate() or fcntl(F_PREALLOCATE) on OSX"AUTO)
613
634
mark_as_advanced(MDBX_USE_FALLOCATE)
614
-
add_option(MDBXENABLE_FAKE_NESTED_READONLY_TRANSACTIONS"Enables fake nested read-only transactions, which are much cheaper but do not restore the state of cursors in case of transaction abortion."OFF)
635
+
add_option(
636
+
MDBX
637
+
ENABLE_FAKE_NESTED_READONLY_TRANSACTIONS
638
+
"Enables fake nested read-only transactions, which are much cheaper but do not restore the state of cursors in case of transaction abortion."
Copy file name to clipboardExpand all lines: libmdbx/ChangeLog.md
+47-3Lines changed: 47 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,11 +3,55 @@ ChangeLog
3
3
4
4
The source code is available on [SourceCraft](https://sourcecraft.dev/dqdkfa/libmdbx) and mirror on [GitHub](https://github.com/Mithril-mine/libmdbx).
5
5
Please use the `stable` branch or the latest release for production environment through staging, but the `master` branch for development a derivative projects.
6
-
Donations are welcome to ETH `0xD104d8f8B2dC312aaD74899F83EBf3EEBDC1EA3A`,
7
-
BTC `bc1qzvl9uegf2ea6cwlytnanrscyv8snwsvrc0xfsu`, SOL `FTCTgbHajoLVZGr8aEFWMzx3NDMyS5wXJgfeMTmJznRi`.
8
6
Всё будет хорошо!
9
7
10
-
## v0.14.3 "Китов" (Kitov) at 2026-08-09.
8
+
## v0.14.4 "Skynet Eve" (Накануне Skynet) at 2026-09-18
9
+
10
+
The supporting release of a stable branch with bug fixes.
11
+
Recommended for use in production.
12
+
13
+
### Important:
14
+
15
+
The project website [libmdbx.dqdkfa.ru](https://libmdbx.dqdkfa.ru/) has been re-created:
16
+
- The advice, explanations, questions and answers, from correspondence, forums and other sources have been compiled.
17
+
- All information has been aggregated into a knowledge base, and the corresponding sections have been compiled on the website.
18
+
- The documentation generated via Doxgygen has been moved to /doxygen, with old links redirection.
19
+
- A lot of work has been done using AI.
20
+
21
+
### Appreciations:
22
+
23
+
-[Andrea Lanfranchi](https://github.com/AndreaLanfranchi) for bugs reporting and assistant fix ones.
24
+
25
+
### Backward compatibility breaks:
26
+
27
+
- On Windows now stricter database placement checks on network, shared, and layered volumes to prevent database corruption and data loss.
28
+
This can lead to a `MDBX_EREMOTE` error (`ERROR_REMOTE_STORAGE_MEDIA_ERROR`) return in dangerous situations when WOF is active (on compressed volumes).
29
+
Just don't use Windows, let alone WOF, to avoid data loss, or open databases exclusively for reading only (`MDBX_EXCLUSIVE | MDBX_RDONLY`).
30
+
31
+
### Improvements:
32
+
33
+
- The "crash" meaning clarified in the documentation.
34
+
- Prefer to use non-portable `fallocate()` to avoid emulation in glibc.
35
+
- More CI workflows: CLANG-ARM64 on Windows, MingGW both 32- and 64- bitness, etc.
36
+
- Refined `mdbx_get_sysraminfo()` internals for better `avail_pages` estimation.
37
+
- Clariied `mdbx_env_defrag()` to eliminate doubts about the non‑impact of `result=nullptr` on the returned code.
38
+
### Fixes:
39
+
40
+
- Fixed `entry point _except_handler4 not found in mdbx.dll` in 32-bit build with `MDBX_WITHOUT_MSVC_CRT=ON`.
41
+
- Fixed building by CLANG/LLVM on Windows, including Microsoft Clang from Visual Studio.
42
+
- Fixed `scan4seq_neon()` for LLP4/ARM64-Windows.
43
+
- Fixed building for Win32 with `MDBX_NATIVE_SEH=OFF` without MASM, including cross-compilation cases.
44
+
- Fixed division truncation/underflow in the `default_rp_augment_limit()` which lead to too low and "stepwise" default `MDBX_opt_rp_augment_limit`.
45
+
- Fixed regression leads returning `MDBX_BAD_TXN` instead of `MDBX_OUSTED` in particular cases.
46
+
- Fixed doxygen mis-reference to the `mdbx_set_panic()`.
47
+
- Fixed missing sub-page header check inside `page_check()` what could be causing `SIGSEGV` during checking a corrupted database.
48
+
49
+
### Misc:
50
+
- The title of the "MAC chat" link has been changed and the icon has been removed.
in memory of [Anatoly Kitov](https://en.wikipedia.org/wiki/Anatoly_Kitov), a pioneer of cybernetics and the one of inventors of M-100, which was a most powerful computer of the World in 1958.
0 commit comments