All notable changes to this project will be documented in this file. This project follows Semantic Versioning.
- Min PHP version is 7.3
- ArrayAccess implemented consistently
- IteratorAggregate implemented consistently
- A few incorrect return types
- Segfault when iterating an implicit instance of Stack, Queue or PriorityQueue
- Fixed buffer outflow during deserialization of map objects. #132 @rado-h
- Fixed pair reflection bugs. #119
- Fixed not clearing memory after buffer reallocation. #114
- Buffer outflow during deserialization of objects. #111
- Empty
PriorityQueue
causing segfault ongc_collect_cycles
. #106
- Memory allocation bug on ppc64. @remicollet #88
- Segfault in ds_htable_lookup_bucket_by_hash. @gnoddep #86
- Minor capacity adjustments.
- Vector's minimum and default capacity down from 10 to 8.
- Map and Set's minimum and default capacity down from 16 to 8.
- Hash function of arrays is now the length of the array, so O(1).
- Using a key as reference not working correctly with array access. #86
- Iterating over an implicit iterator (not variable). #82
- PriorityQueue automatic truncate bug. #78
- Bugs related to unserialization. #77
- Preliminary support for PHP 7.2
Map
truncating to capacity less than the minimum.
phpinfo
headerds_htable_put_distinct
wasn't rehashing the correct bucket pointer (Fixes #53)- Memory leaks.
Vector
andDeque
rotate crashing when empty (mod zero).
- Memory leaks during map when callback throws an exception.
- Memory leaks when structures contain themselves.
- Module dependencies.
- Version info in
phpinfo()
Map::map
andMap::filter
are now slightly faster.
- Many, many memory leaks.
- Added memory checks to CI.
- Performance improvements.
- JSON dependency now handled correctly (thanks @nikic).
- Multiple memory leaks where objects were not free'd correctly.
Pair::copy
unserialize
memory leak when failed to unserialize.htable
bucket copy macro didn't copy the bucket's "next".
Set::merge
- ds_htable_put_next bucket rehash fix
Map::putAll