Releases: foonathan/memory
Version 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_localis supported. (#167)
Bugfixes:
- Support
fixed_block_allocatorinmemory_pool_collection. (#173) - Fix
virtual_block_allocatordeallocation. (#175) - Fix
std::shared_ptrnode 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/deletera default constructor. (#155) - Expose
memory_pool::owns. (#174)
New Contributors
- @nicosmd made their first contribution in #164
- @jiayuehua made their first contribution in #165
- @zchrissirhcz made their first contribution in #166
- @cohdan made their first contribution in #174
- @jeremimucha made their first contribution in #175
- @MambaWong made their first contribution in #187
- @MarisaKirisame made their first contribution in #185
- @mosfet80 made their first contribution in #188
- @mcourteaux made their first contribution in #186
Full Changelog: v0.7-3...v0.7-4
Version 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_collectionproperly. (#148) - Fix bug in
memory_block_stack::owns(). (#151)
New Contributors
- @JonLiu1993 made their first contribution in #137
- @burnpanck made their first contribution in #146
- @richiware made their first contribution in #147
- @oberrich made their first contribution in #149
Full Changelog: v0.7-2...v0.7-3
Version 0.7-2
Version 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)
Version 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 no longer supported.
Adapter
BREAKING: Remove Mutex support from allocator_reference and consequently from std_allocator, allocator_deleter, etc. 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
Version 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_allocatoris default constructible if stateless- add
unique_base_ptrto support a unique ptr to a base class - add
allocate_uniqueoverloads that take a custom mutex - allocator deleters are default constructible
Version 0.6-1
- fix CMake configuration error
- fix double free error in
segregator - add
static_assert()when default constructing a statefulstd_allocator - fix various compiler warnings
Version 0.6
See also: https://foonathan.github.io/blog/2016/11/21/memory-0.6.html
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 intotemporary_stack, improved automatic creation - new
memory_stack_raii_unwindfor automatic unwinding - new
iteration_allocator - make allocators composable
- add facilities for joint memory allocations
Adapter
- add
shared_ptr_node_size - add
stringcontainer typedef - add
fallback_allocator - add
segregator
Bugfixes
- OSX support
- various warnings fixed
Version 0.5-3
Fixes a few minor bugs in memory_stack also the next_capacity() functions so that they return the exact results.
Array allocations in memory_pool_collection are improved and now supported for pool types that do not support them natively (small_node_pool) also add _left() to pool_capacity() and capacity() like in the other arenas.
Version 0.5-2
Fixes a crash in memory_pool<array_pool> that sometimes happens for array allocations.
Also fixes a non-critical performance bug in memory_pool<small_pool> and a typo in Readme.