Skip to content

Releases: php-ds/ext-ds

v2.0.0

12 Apr 02:10

Choose a tag to compare

Major release: redesign from 11 types + 3 interfaces to 5 types + 1 interface.

New

  • Ds\Seq — ordered sequence (replaces Vector and Deque)
  • Ds\Heap — configurable heap, max-heap by default (replaces PriorityQueue)
  • Ds\Key — interface for custom key equality (replaces Hashable)
  • Functional constructors: \Ds\seq(), \Ds\map(), \Ds\set(), \Ds\heap()
  • Copy-on-write: clone and copy() are O(1), mutation during iteration is safe
  • Ds\Pair is now a readonly class

Changed

  • Ds\Map::values() returns Ds\Seq
  • Ds\Map::pairs() returns Ds\Seq
  • Ds\Map::keys() returns Ds\Set

Removed

  • Ds\Vector, Ds\Deque, Ds\Stack, Ds\Queue, Ds\PriorityQueue
  • Ds\Collection, Ds\Sequence, Ds\Hashable interfaces

Requires PHP >= 8.2.

v1.6.0

02 May 16:45

Choose a tag to compare

What's Changed

  • Fix #206: Null coalescing operator on Vector make search failed by @nielsdos in #207
  • Fix docs link in readme by @nbro in #209
  • feat: add php 8.4 by @simPod in #208
  • Migrate to shivammathur/setup-php, finally run on php8.4 and make CI pass by @simPod in #211

New Contributors

  • @nbro made their first contribution in #209

Full Changelog: v1.5.0...v1.6.0

v1.5.0

02 May 16:44
d42dec5

Choose a tag to compare

What's Changed

  • ci: run tests on php 8.2 by @simPod in #192
  • fast_add_function removed in PHP 8.3, use add_function by @Jan-E in #195
  • Allow passing null as $length to slice() methods by @HypeMC in #197
  • ci: disable on cron schedule by @simPod in #191
  • ci: run tests on php 8.3 by @mpesari in #201
  • Fix #200: Segmentation fault merging keys of maps containing maps by @nielsdos in #202
  • Fix #193: Passing array item by reference breaks \DS\Set behaviour by @nielsdos in #203

New Contributors

Full Changelog: v1.4.0...v1.5.0

v1.4.0

02 May 16:44

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.3.0...v1.4.0

v1.3.0

02 May 16:44

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.2.9...v1.3.0

v1.2.9

12 May 06:01

Choose a tag to compare

  • Fix segfault when iterating an implicit instance of stack and queue

Full Changelog: v1.2.8...v1.2.9

v1.2.8

25 Jan 01:09

Choose a tag to compare

Fixed

  • Buffer outflow during deserialization of map objects. #132 @rado-h

v1.2.6

25 May 09:10

Choose a tag to compare

Fixed

  • Clearing memory after buffer reallocation. #114

v1.2.5

25 May 09:11

Choose a tag to compare

Fixed

  • Buffer outflow during deserialization of objects. #111

v1.2.4

28 Nov 22:36

Choose a tag to compare

Fixed

  • Empty PriorityQueue causing segfault on gc_collect_cycles. #106