@@ -15,9 +15,9 @@ is a general purpose allocator with excellent [performance](#performance) charac
1515Initially developed by Daan Leijen for the runtime systems of the
1616[ Koka] ( https://koka-lang.github.io ) and [ Lean] ( https://github.com/leanprover/lean ) languages.
1717
18- Latest release : ` v3.5.1 ` (2026-09-01 ) recommended.
19- Latest v2 release: ` v2.5.1 ` (2026-09-01 ) stable, legacy.
20- Latest v1 release: ` v1.15.1 ` (2026-09-01 ) legacy.
18+ Latest release : ` v3.5.2 ` (2026-09-12 ) recommended.
19+ Latest v2 release: ` v2.5.2 ` (2026-09-12 ) stable, legacy.
20+ Latest v1 release: ` v1.15.2 ` (2026-09-12 ) legacy.
2121
2222mimalloc is a drop-in replacement for ` malloc ` and can be used in other programs
2323without code changes, for example, on dynamically linked ELF-based systems (Linux, BSD, etc.) you can use it as:
@@ -90,6 +90,9 @@ New development is mostly on v3, while v1 and v2 are maintained with security an
9090
9191### Releases
9292
93+ * 2026-09-12, ` v3.5.2 ` , ` v2.5.2 ` , ` v1.15.2 ` : (v3) Reduced cache contention, improved ` mi_malloc_csize ` ,
94+ improved zero'ing of small blocks, ` mi_wmalloc ` variants for runtime systems, always enable detailed
95+ statistics. Experimental support for profiling hooks (` mimalloc-profile.h ` ).
9396* 2026-09-01: Added a readme section on [ getting the best performance] ( #getting-the-best-performance ) .
9497* 2026-09-01, ` v3.5.1 ` , ` v2.5.1 ` , ` v1.15.1 ` : (v3) Yet better performance for ` free ` calls.
9598 (v3) Added ` mi_free_small(_nonnull) ` for fast small allocations, and ` mi_free_csize(_nonnull) ` for inlined constant size free-ing.
@@ -125,27 +128,6 @@ New development is mostly on v3, while v1 and v2 are maintained with security an
125128* 2026-04-20, ` v1.9.9 ` , ` v2.3.1 ` , ` v3.3.1 ` : various bug and security fixes. Special thanks to
126129 @jinpzhanAMD , @res2k , and @GoldJohnKing for their help in improving Windows finalization, and
127130 @Zoxc for his help in finding various issues.
128- * 2026-04-15, ` v1.9.8 ` , ` v2.3.0 ` , ` v3.3.0 ` : initial support for github (binary) releases,
129- fix visiting of full pages during collection (performance),
130- fix THP alignment (performance), fix arm64 cross-compilation on Windows, enable guard pages in debug mode,
131- always use uncommitted areas between arenas (security), enable static overloading of ` malloc ` etc. on Windows with the
132- static CRT (by @Noxybot ), fix TLS slot leak on Windows (v3), enable clean DLL load/unload with statically linked
133- mimalloc (v3), fix race in ` mi_heap_destroy ` (v3), by default put page meta info separate from allocated
134- objects (v3,security), fix C++ overrides for emscripten. Various bugs found by DeepTest include:
135- fix offset for ` mi_heap_realloc_aligned ` , fix ` mi_(w)dupenv_s ` buffer size, fix potential overflow in size options,
136- and error codes for ` mi_reallocarr(ay) ` .
137- * 2026-02-03, ` v3.2.8 ` (rc3): Fix thread reinitialize issue on macOS. Fix SIMD codegen bug on older
138- GCC versions. Extend Windows TLS slot limit from 64 to 1088. Report commit statistics more precise.
139- Fixes issue in free-page search in arenas.
140- * 2026-01-15, ` v1.9.7 ` , ` v2.2.7 ` , ` v3.2.7 ` (rc2): Fix zero initializing blocks that were OS allocated.
141- For v3 various bug and performance fixes. Fix Debian 32-bit compilation.
142- * 2026-01-08, ` v1.9.6 ` , ` v2.2.6 ` , ` v3.2.6 ` (rc1): Important bug fixes. Many improvements to v3 including
143- true first-class heaps where one can allocate in heap from any thread, and track statistics per heap as well.
144- Added ` MIMALLOC_ALLOW_THP ` option. This is by default enabled except on Android. When THP is detected on v3,
145- mimalloc will set the ` MIMALLOC_MINIMAL_PURGE_SIZE ` to 2MiB to avoid breaking up potential THP huge pages.
146- v3 uses faster TLS access on Windows, and has improved performance for ` mi_calloc ` and aligned allocations.
147- Fixed rare race condition on older v3, fixed potential buffer overflow in debug statistics, add API for returning
148- allocated sizes on allocation and free.
149131
150132* [ Older release notes] ( #older-release-notes )
151133
@@ -985,6 +967,27 @@ provided by the bot. You will only need to do this once across all repos using o
985967
986968# Older Release Notes
987969
970+ * 2026-04-15, ` v1.9.8 ` , ` v2.3.0 ` , ` v3.3.0 ` : initial support for github (binary) releases,
971+ fix visiting of full pages during collection (performance),
972+ fix THP alignment (performance), fix arm64 cross-compilation on Windows, enable guard pages in debug mode,
973+ always use uncommitted areas between arenas (security), enable static overloading of ` malloc ` etc. on Windows with the
974+ static CRT (by @Noxybot ), fix TLS slot leak on Windows (v3), enable clean DLL load/unload with statically linked
975+ mimalloc (v3), fix race in ` mi_heap_destroy ` (v3), by default put page meta info separate from allocated
976+ objects (v3,security), fix C++ overrides for emscripten. Various bugs found by DeepTest include:
977+ fix offset for ` mi_heap_realloc_aligned ` , fix ` mi_(w)dupenv_s ` buffer size, fix potential overflow in size options,
978+ and error codes for ` mi_reallocarr(ay) ` .
979+ * 2026-02-03, ` v3.2.8 ` (rc3): Fix thread reinitialize issue on macOS. Fix SIMD codegen bug on older
980+ GCC versions. Extend Windows TLS slot limit from 64 to 1088. Report commit statistics more precise.
981+ Fixes issue in free-page search in arenas.
982+ * 2026-01-15, ` v1.9.7 ` , ` v2.2.7 ` , ` v3.2.7 ` (rc2): Fix zero initializing blocks that were OS allocated.
983+ For v3 various bug and performance fixes. Fix Debian 32-bit compilation.
984+ * 2026-01-08, ` v1.9.6 ` , ` v2.2.6 ` , ` v3.2.6 ` (rc1): Important bug fixes. Many improvements to v3 including
985+ true first-class heaps where one can allocate in heap from any thread, and track statistics per heap as well.
986+ Added ` MIMALLOC_ALLOW_THP ` option. This is by default enabled except on Android. When THP is detected on v3,
987+ mimalloc will set the ` MIMALLOC_MINIMAL_PURGE_SIZE ` to 2MiB to avoid breaking up potential THP huge pages.
988+ v3 uses faster TLS access on Windows, and has improved performance for ` mi_calloc ` and aligned allocations.
989+ Fixed rare race condition on older v3, fixed potential buffer overflow in debug statistics, add API for returning
990+ allocated sizes on allocation and free.
988991* 2025-06-09, ` v1.9.4 ` , ` v2.2.4 ` , ` v3.1.4 ` (beta) : Some important bug fixes, including a case where OS memory
989992 was not always fully released. Improved v3 performance, build on XBox, fix build on Android, support interpose
990993 for older macOS versions, use MADV_FREE_REUSABLE on macOS, always check commit success, better support for Windows
0 commit comments