10000 Releases · ramsey/collection · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: ramsey/collection

2.1.1

22 Mar 05:40
2.1.1
3445729
Compare
Choose a tag to compare

Fixed

  • Correct the type annotation on CollectionInterface::column() to indicate the array it returns is list<mixed> (#130)

2.1.0

02 Mar 04:57
2.1.0
3c5990b
Compare
Choose a tag to compare

Added

  • Add support for retrieving properties on collection items that are accessible via magic methods __get and __isset (#126)
  • Certify support for PHP 8.3 and 8.4 (#127)

Fixed

  • Use the correct return type annotation of list<T> instead of array<int, mixed> for CollectionInterface::column() (#124)
  • If an element has a property and method of the same name, check the property visibility on the element before attempting to access it; if it is private, attempt to call the method instead (#123)
  • ValueExtractorTrait expects getType(): string to exist on the using class, but it did not declare an abstract to force this requirement; now it does, and any classes using this trait must implement getType(): string
  • Avoid calling contains() twice when using AbstractSet::add(), significantly improving performance for very large collections (#68)

2.0.0

31 Dec 22:08
2.0.0
a4b4876
Compare
Choose a tag to compare

Added

  • Add support for CollectionInterface::reduce() (#87)
  • All exceptions now implement a base CollectionException interface
  • Introduce Sort enum
  • Support column(), sort(), and where() on non-object collection types

Changed

  • Minimum PHP version supported is 8.1
  • Every method now has parameter and return type hints; if extending classes or implementing interfaces, you may need to change method signatures to upgrade
  • The second parameter of CollectionInterface::sort() now uses the new Sort enum instead of a string
  • Audit all template annotations and clean up Psalm and PHPStan types for correctness; if using static analysis in projects, this may require changes to your type annotations
  • ArrayInterface no longer extends \Serializable, and the serialize() and unserialize() methods have been removed from AbstractArray; however, AbstractArray still supports serialization through implementing __serialize() and __unserialize()

1.3.0

27 Dec 19:17
1.3.0
ad7475d
Compare
Choose a tag to compare

Fixed

  • Make type aliases compatible in diff, intersect, and merge (#111)
  • Use offsetUnset() method to remove from the collection in AbstractCollection (#104)
  • Use the correct base type of array-key for template K on AbstractTypedMap

Changed

  • Minimum PHP version supported is 7.4

1.2.2

10 Oct 03:04
1.2.2
cccc74e
Compare
Choose a tag to compare

Fixed

  • Merging of sets now excludes duplicates, since a set does not allow duplicate values.

1.2.1

06 Aug 03:44
1.2.1
eaca1dc
Compare
Choose a tag to compare

Fixed

  • Standardize template annotations and fix iterable types

1.2.0

05 Aug 14:55
1.2.0
4d85fbc
Compare
Choose a tag to compare

Added

  • Support PHP 8.1.0

Changed

  • Minimum PHP version supported is 7.3

1.1.4

30 Jul 01:00
1.1.4
ab22376
Compare
Choose a tag to compare

Fixed

  • Fixed incorrect callable type annotation on CollectionInterface::map().

1.1.3

21 Jan 17:41
1.1.3
28a5c4a
Compare
Choose a tag to compare

Fixed

  • Fixed incorrect callable type annotation on CollectionInterface::map().

1.1.2

21 Jan 02:14
1.1.2
a2a85f5
Compare
Choose a tag to compare

Fixed

  • Fixed Psalm annotations causing Psalm errors in downstream projects.
  • Fixed AbstractCollection::column() attempting to access a property or method on a non-object.
0