| Changelog for ds |
| Release |
What has changed? |
| 2.0.0 |
- Major release: redesign from 11 types + 3 interfaces to 5 types + 1 interface
- New types: Ds\Seq, Ds\Map, Ds\Set, Ds\Heap, Ds\Pair (readonly)
- New interface: Ds\Key (replaces Ds\Hashable)
- Copy-on-Write: clone and copy() are O(1), mutation during iteration is safe
- Removed: Vector, Deque, Stack, Queue, PriorityQueue, Collection, Sequence, Hashable
- Ds\Heap accepts optional callable comparator in constructor
- Ds\Pair is a readonly class with public key and value properties
- Require PHP >= 8.2 |
| 1.8.0 |
- Drop PHP < 8.2, require PHP >= 8.2
- Implement __serialize/__unserialize (O: format), replacing Serializable (C:)
- Fix sort/ksort to accept null comparators (#134)
- Support nested sort comparators via FCI save/restore (#48)
- Guard allocate against negative capacity (#33)
- Update CI for PHP 8.2-8.5, PHPUnit 11 (#213)
- Remove legacy Serializable and pre-8.2 compat code |
| 1.6.0 |
- Support for PHP 8.4 @simPod |
| 1.5.0 |
- Support for PHP 8.3
- Fix #194 @nielsdos
- Fix #200 @nielsdos |
| 1.4.0 |
- Support for PHP 8.1 |
| 1.3.0 |
- ArrayAccess implemented consistently
- IteratorAggregate implemented consistently
- A few incorrect return types |
| 1.2.9 |
Fix segfault when iterating an implicit instance of Stack, Queue or PriorityQueue. |
| 1.2.8 |
Fixed buffer outflow during deserialization of map objects. @rado-h |
| 1.2.7 |
- Fixed pair reflection bugs. #119 |
| 1.2.6 |
- Fixed not clearing memory after buffer reallocation. #114 |
| 1.2.5 |
- Fixed empty `PriorityQueue` causing segfault on `gc_collect_cycles`. #106 |
| 1.2.4 |
- Fixed empty `PriorityQueue` causing segfault on `gc_collect_cycles`. #106 |
| 1.2.3 |
- Fixed memory allocation bug on ppc64. @remicollet #88 |
| 1.2.2 |
- Segfault in ds_htable_lookup_bucket_by_hash. @gnoddep #86 |
| 1.2.1 |
- Minor capacity adjustments |
| 1.2.0 |
- 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). |
| 1.1.10 |
- Fix using a key as reference not working correctly with array access. #86 |
| 1.1.9 |
- Iterating over an implicit iterator (not variable). #82 |
| 1.1.8 |
- PriorityQueue automatic truncate bug #78
- Bugs related to unserialization. #77 |
| 1.1.7 |
- Preliminary support for PHP 7.2 |
| 1.1.6 |
- Fix htable truncating capacity below minimum |
| 1.1.5 |
- phpinfo header
- ds_htable_put_distinct wasn't rehashing the correct bucket pointer
- Memory leaks |
| 1.1.4 |
Vector and Deque rotate crashing when empty due to attempte mod zero. |
| 1.1.3 |
Fixed memory leaks during map when callback throws an exception.
Fixed memory leaks when structures contain themselves.
Fixed module dependencies.
Version info in phpinfo() |
| 1.1.2 |
Fixed many memory leaks
Fixed json dependency
Minor performance improvements |
| 1.1.1 |
Fix memory leaks where objects were not free'd correctly |
| 1.1.0 |
Add Pair::copy |
| 1.0.4 |
Fix memory leak when unserialize fails
Fix bad hash table bucket copy |
| 1.0.3 |
Fix intersect, diff, xor before contains bug (see docs #4)
Add Set::merge |
| 1.0.2 |
Add Map::putAll |
| 1.0.1 |
Fixed Map::apply |
| 1.0.0 |
Test release. |