Skip to content
This repository has been archived by the owner on May 28, 2019. It is now read-only.

Releases: icecave/collections

Version 1.1.0

05 Mar 01:49
Compare
Choose a tag to compare
  • [FIXED] Collection::getIterator() now correctly resolves nested IteratorAggregate iterators
  • [NEW] Added Set::pop() and Map::pop()
  • [IMPROVED] LinkedList is now implemented as a doubly-linked-list, the original implementation is available as SinglyLinkedList
  • [IMPROVED] Updated autoloader to PSR-4

Version 1.0.0

17 Jan 06:17
Compare
Choose a tag to compare
  • Stable release (no API changes since 1.0.0-alpha.1).

Version 1.0.0-alpha.1

20 Oct 09:18
Compare
Choose a tag to compare
Version 1.0.0-alpha.1 Pre-release
Pre-release
  • [BC] Removed HashMap and HashSet

Version 0.8.0

23 Sep 04:39
Compare
Choose a tag to compare
Version 0.8.0 Pre-release
Pre-release
  • [BC] Changed Vector, Map, HashMap and LinkedList to implement IteratorAggregate instead of Iterator to prevent issues with nested iteration
  • [NEW] Added Collection::trySize()

Version 0.7.1

21 Sep 05:07
Compare
Choose a tag to compare
Version 0.7.1 Pre-release
Pre-release
  • [FIXED] Fixed issue with Vector::compare() whereby equal vectors with differing internal array sizes were not considered equal

Version 0.7.0

25 Aug 09:32
Compare
Choose a tag to compare
Version 0.7.0 Pre-release
Pre-release

This release includes numerous naming changes to improve consistency across the project. Please be aware that some new methods and classes have been added with the same name as existing methods which have been renamed.

  • [BC] The mbstring extension is now required
  • [BC] Renamed MutableAssociativeInterface::merge() to mergeInPlace()
  • [BC] Renamed AssociativeInterface::combine() to merge()
  • [BC] Renamed MutableIterableInterface::filter() to filterInPlace()
  • [BC] Renamed IterableInterface::filtered() to filter()
  • [BC] Renamed MutableSequenceInterface::sort() to sortInPlace()
  • [BC] Renamed MutableSequenceInterface::reverse() to reverseInPlace()
  • [BC] Renamed SequenceInterface::sorted() to sort()
  • [BC] Renamed SequenceInterface::reverse() to reversed()
  • [BC] Moved AssociativeKeyGenerator into Icecave\Collections\Detail namespace (it is not part of the public API)
  • [BC] Added begin index parameter to RandomAccessInterface::indexOfLast() and findLast()
  • [BC] Swapped the order of parameters to PriorityQueue::__construct()
  • [BC] The Map class has been renamed to HashMap
  • [BC] The Set class has been renamed to HashSet
  • [BC] Renamed Set::isEqual() to Set::isEqualSet()
  • [BC] All set-specific operations (union, diff, etc) can now only operate on sets of the same type and hash/comparator function
  • [BC] Renamed Set::isStrictSuperSet() and isStrictSubSet() to isProperSuperSet() and isProperSubSet(), respectively
  • [FIXED] Fixed issue that prevented pushing elements into a PriorityQueue with an explicit priority that is weakly equivalent to null (eg, 0)
  • [FIXED] Fixed issues with Vector::filter() and join() whereby additional null values were added to the collection
  • [FIXED] Fixed several issues with Vector whereby count() is called on iterable arguments that are not necessarily countable
  • [NEW] Collection class provides collection type agnostic operations for generic programming
  • [NEW] All collections now implement ExtendedComparableInterface from Icecave\Parity
  • [NEW] Added Map, a comparator based associative container
  • [NEW] Added Set, a comparator based set container
  • [NEW] Added SetInterface, which adds isIntersecting(), addMany(), removeMany(), symmetricDiff() and symmetricDiffInPlace()
  • [NEW] Added an iterator traits system (see Collection::iteratorTraits)
  • [NEW] Added create() static method to each collection for constructing from elements as variable arguments
  • [NEW] Added MutableRandomAccessInterface::insertRange()
  • [IMPROVED] Prioritizer parameter to PriorityQueue::__construct() now defaults to the identity function
  • [IMPROVED] Added optional end index parameter to RandomAccessInterface::indexOf() and find()
  • [IMPROVED] Vector now implements SeekableIterator

Version 0.6.0

02 Jul 23:37
Compare
Choose a tag to compare
Version 0.6.0 Pre-release
Pre-release
  • [NEW] Added IterableInterface::partition(), each(), any() and all()
  • [FIXED] Fixed issue setting/returning previous element in Map::replace() and tryReplace()
  • [FIXED] Set iteration now produces an sequential integer key

Version 0.5.1

02 Jul 23:37
Compare
Choose a tag to compare
Version 0.5.1 Pre-release
Pre-release
  • [FIXED] Map and Set collections now retain custom hash function when serializing

Version 0.5.0

02 Jul 23:37
Compare
Choose a tag to compare
Version 0.5.0 Pre-release
Pre-release
  • [NEW] All collection types are now serializable
  • [NEW] Added Set::isEqual(), isSuperset(), isSubset(), isStrictSuperset() and isStrictSubset()

Version 0.4.0

02 Jul 23:37
Compare
Choose a tag to compare
Version 0.4.0 Pre-release
Pre-release
  • [NEW] All collection types are now clonable
  • [NEW] Added RandomAccessInterface::indexOfLast(), find() and findLast()
  • [IMPROVED] LinkedList::sort() now uses a merge sort instead of converting to a native array