0.7-4
CMake Improvements:
- Fix deprecation warnings, update doctest, and CI. (#188)
 
- Remove static linking for cross compilation. (#162, #164)
 
- Fix include paths, cache variables. (#165, #190)
 
- Assume 
thread_local is supported. (#167) 
Bugfixes:
- Support 
fixed_block_allocator in memory_pool_collection. (#173) 
- Fix 
virtual_block_allocator deallocation. (#175) 
- Fix 
std::shared_ptr node size alignment mismatch. (#171) 
- Fix unit tests on android. (#176)
 
- Don't use undefined preprocessor macros. (#186)
 
- Fix unused variable warnings. (#183, #184, #189)
 
Improvements:
- Allow incomplete types in 
allocator_deallocator. (#153) 
- Give 
allocator_polymorphic_deallocator/deleter a default constructor. (#155) 
- Expose 
memory_pool::owns. (#174) 
0.7-3
CMake improvements:
- Increase the CMake minimum required version to 3.14 to reflect reality. (#147)
 
- Fixes to container node size generation using CMake on MacOS. (#138)
 
- Don't regenerate container node sizes when they already exist.
 
Bugfixes:
- Workaround a compiler bug in MSVC. (#146)
 
- Fix broken multi-threading configuration. (#142)
 
- Check initial block size for 
memory_pool_collection properly. (#148) 
- Fix bug in 
memory_block_stack::owns(). (#151) 
0.7-2
Deprecate virtual_memory_page_size; use get_virtual_memory_page_size() instead. (#132)
CMake improvements:
- Generate container node sizes using CMake, which makes cross-compiling easier (#129)
 
- Set 
CMAKE_RUNTIME_OUTPUT_DIRECTORY properly to support shared libraries (#132) 
0.7-1
Just bugfixes:
- CMake: automatically link libatomic on platforms where that is necessary (#95)
 
- catch small block sizes of 
memory_pool (#113) 
- fix buffer overflow in 
memory_pool_collection's array allocation (#99) 
- fix compatibility with Windows UWP (#102)
 
- fix computation of 
memory_pool::min_block_size (#110) 
- fix debug assertion in free lists (#111)
 
0.7
BREAKING: Removed the use of the compatibility library to automatically generate macros and workaround for older compilers. The important compatibility workarounds like the __builtin_clz extension are still used, but workarounds for missing C++11 library features have been removed. In particular, the library now requires compiler support for noexcept, constexpr, alignof and thread_local. This means that GCC 4.8 and Visual Studio version 12.0 (both released in 2013), are now longer supported.
Adapter
BREAKING: Remove Mutex support from allocator_reference and consequently from std_allocator, allocator_deleter, ... Embedding the Mutex with the reference was fundamentally broken and unusable to ensure thread safety. Use a reference to a thread_safe_allocator instead, which actually guarantees thread safety.
Allocator
Add ability to query the minimal block size required by a memory_pool or memory_stack that should contain the given memory. Due to internal data structures and debug fences this is more than the naive memory request, so it can be computed now.
Bugfixes
- more CMake improvements for cross-compiling, among others
 
- bugfixes to support UWP (#80), VxWorks (#81) and QNX (#85, #88, among others)
 
- better support missing container node size (#59, #72, among others)
 
- fix alignment issues in debug mode
 
- fix tracking for allocators without block allocators
 
0.6-2
Various bug fixes, compiler warning workarounds and CMake improvements accumulated over past two years. Most notable changes:
- cross compilation works now
 
fallback_allocator is default constructible if stateless 
- add 
unique_base_ptr to support a unique ptr to a base class 
- add 
allocate_unique overloads that take a custom mutex 
- allocator deleters are default constructible
 
0.6-1
- fix CMake configuration error
 
- fix double free error in 
segregator 
- add 
static_assert() when default constructing a stateful std_allocator 
- fix various compiler warnings
 
0.6
Tool
- better MSVC support
 
- improved compilation time
 
Core
- add literal operators for memory sizes (
4_KiB) 
- more flexible 
make_block_allocator 
- composable allocator concept
 
Allocator
- improved 
temporary_allocator: explicit separation into temporary_stack, improved automatic creation 
- new 
memory_stack_raii_unwind for automatic unwinding 
- new 
iteration_allocator 
- make allocators composable
 
- add facilities for joint memory allocations
 
Adapter
- add 
shared_ptr_node_size 
- add 
string container typedef 
- add 
fallback_allocator 
- add 
segregator 
Bugfixes
- OSX support
 
- various warnings fixed
 
0.5
- improved CMake build system, now supports cmake installation and 
find_package() 
- improved low-level allocators and added 
malloc_allocator 
- add virtual memory interface and allocators
 
- add allocators using a fixed-sized storage block
 
- introduced 
BlockAllocator concept and various implementations 
- new class template 
memory_arena that is used inside the higher level allocators, allows more control over the internal allocations 
- add wrappers/adapters for the polymorphic memory resource TS
 
- improved tracking classes
 
- other improvements like concept checks and more exception classes
 
- internal changes
 
0.4
- polished up the interface, many breaking changes in the form of renaming and new header files
 
- added unified error handling facilities and handler functions in case exceptions are not supported
 
- improved old allocator adapters by introducing allocator_storage template
 
- improved allocator_traits making them more powerful and able to handle Allcoator types directly
 
- added type-erased allocator storage
 
- added node-size debugger that obtains information about the container node sizes
 
- most parts now work on a freestanding implementation
 
- used foonathan/compatibility for CMake compatibility checks
 
- added miscellaneous tiny features all over the place
 
- many internal changes and bugfixes
 
0.3
- added debugging options such as memory filling and deallocation and leak check
 
- improved performance of pool allocators
 
- changed complete project structure and CMake
 
- many internal changes and bugfixes and automated testing
 
0.2
- added temporary_allocator as portable alloca
 
- added small_node_pool type optimized for low-overhead small object allocations
 
- added various allocator adapters including a thread_safe_allocator for locking
 
- better compiler support
 
- many internal changes and bugfixes
 
0.1-1
- critical bugfix in memory_stack
 
- added smart pointer example
 
0.1