-
Dual license as both released to public domain or under MIT license
-
Allow up to 4GiB memory page sizes
-
Fix an issue where large page sizes in conjunction with many threads waste a lot of memory (previously each heap occupied an entire memory page, now heaps can now share a memory page)
-
Fixed compilation issue on macOS when ENABLE_PRELOAD is set but not ENABLE_OVERRIDE
-
New first class heap API allowing explicit heap control and release of entire heap in a single call
-
Added rpaligned_calloc function for aligned and zero intialized allocations
-
Fixed natural alignment check in rpaligned_realloc to 16 bytes (check was 32, which is wrong)
-
Minor performance improvements for all code paths by simplified span handling
-
Minor performance improvements and for aligned allocations with alignment less or equal to 128 bytes by utilizing natural block alignments
-
Refactor finalization to be compatible with global scope data causing dynamic allocations and frees, like C++ objects with custom ctors/dtors
-
Refactor thread and global cache to be array based instead of list based for improved performance and cache size control
-
Added missing C++ operator overloads with ENABLE_OVERRIDE when using Microsoft C++ runtimes
-
Fixed issue in pvalloc override that could return less than a memory page in usable size
-
Added a missing null check in the non-hot allocation code paths