- Support php 8.3 and update dependencies
- Add
Immutable/Generic/IList::partition
method
- Fix return type of
sortBy
andsortByDescending
methods
- Add
Immutable\Generic\IList::choose
method - Add
Immutable\Generic\ListCollection::choose
method
- [BC] Require php 8.2 and update dependencies
- Add
readonly
attribute to classesImmutable/Generic/KVPair
Immutable/Generic/ListCollection
Immutable/Generic/Map
Range
- [BC] Require php 8.1
- [BC] Drop
recursive
option infrom
creators - [BC] Drop non-generic variants of the collections
- Use phpstan generics only
- Add phpstan annotations
- [BC] Remove explicit types in the generic collections
- Drop dependency on
MF/TypeValidator
- Use readonly properties in Immutable collections to ensure immutability
- Add
KVPair
class - Add more methods
- Immutable/Generic/ICollection
- Add
forAll
- Add
implode
- Add
- Immutable/Generic/IList, Immutable/Generic/ISeq
- Add
concat
(concatList
,concatSeq
) - Add
mapi
- Add
sort
- Add
sortDescending
- Add
sortBy
- Add
sortDescendingBy
- Add
unique
- Add
uniqueBy
- Add
reverse
- Add
sum
- Add
sumBy
- Add
min
- Add
minBy
- Add
max
- Add
maxBy
- Add
append
- Add
chunkBySize
- Add
splitInto
- Add
collect
- Add
countBy
- Add
groupBy
- Add
toSeq
- Add
- Immutable/Generic/ISeq (only)
- Add
skip
- Add
skipWhile
- Add
toList
- Add
- Immutable/Generic/IMap, Mutable/Generic/IMap
- Add
fromPairs
- Add
pairs
- Add
toList
- Add
totoSeq
- Add
- Immutable/ITuple
- Add
fst
static methods - Add
snd
static methods
- Add
- Mutable/Generic/IList
- Add
concat
- Add
concatList
- Add
mapi
- Add
sort
- Add
sortDescending
- Add
sortBy
- Add
sortDescendingBy
- Add
unique
- Add
uniqueBy
- Add
reverse
- Add
sum
- Add
sumBy
- Add
min
- Add
minBy
- Add
max
- Add
maxBy
- Add
append
- Add
toSeq
- Add
- Immutable/Generic/ICollection
- Optimize callbacks and their execution with real number of arguments
- Fix that applying modifiers removes all the current modifiers even, if there are no items or modifiers
- Allow php 8.1 and update dependencies
- [BC] Require php 8.0 and update dependencies
- [BC] Require php 7.4 and update dependencies
- [BC] Remove Enhanced collections - arrow functions are now in php itself
- [BC] Remove Callback parser from everywhere
- [BC] Callbacks must be callable - not just any string
- [BC] Drop support for PHP 7.1
- Update phpunit to 8
- Test leaks on PHP 7.3
- Supports PHP 7.3
- Fix
Assertion::isCallable
method signature
- Explicitly require
ext-mbstring
- Add
CollectionExceptionInterface
for allAssertionFailedExceptions
- Allow
Generators
inarrow functions
(yield
) - Not use
Tuple
in internal modifiers ofMap
andListCollection
anymore (because of performance)
- Allow
callable
type inPrioritizedCollection
- Use
Tuple
in internal modifiers ofMap
andListCollection
Fix Tuple
constructor assertion for minimal items count. It no more uses var_export
because of var_export
limitations.
Fix first
method of IList
to return null
if list is empty
Add firstBy
method to IList
- Allow
callable
type inGeneric
Lists
andMaps
- Expand
toStringForUrl
method not to quote string containing_
,-
,.
and
- Add
toStringForUrl
method toITuple
to allow formatting for URL
- Supports
array
inTuple
- Add
merge
andmergeMatch
methods toITuple
- Remove superfluous type annotations
- Change return type of
getIterator
method to genericiterable
- Add
IEnumerable
interface to implementIteratorAggregate
andCountable
- Add
PrioritizedCollection
to store values by priority
- Add
containsBy
method toICollection
- Add
implode
method toISeq
- Fix
callable
annotation forarrow functions
tocallable|string
- Allow
mixed
/any
type forGeneric Collections
- Fix missing an explicit requirement on
beberlei/assert
library - Add
expectedItemsCount
optional argument toparse
method ofITuple
to allow explicit validation of parsed result - Require higher version (
^2.9.3
) ofbeberlei/assert
library because of simplified error messages - Allow
beberlei/assert
library in version^3.0
- Add
parseMatch
andparseMatchTypes
toITuple
to validate parsed result - Simplify
toString
method ofTuple
- Fix
implode
onListCollection
- Fix
count
onSeq
- Allow
unpack
ofTuples
by implementingIteratorAggregate
- Fix
static creators
which aredeprecated
in some situation to allowoverride
them
- [dev only] Drop
scrutinizer
- [dev only] Update
coveralls
to new package - [dev only] Remove
bin-dir
option fromcomposer.json
- [dev only] Add
matrix
to thetravis.yml
to optimize build time - [dev only] Change
phpunit.xml
namespace to local fromvendor
to match exact version - Update
phpstan
and fix:Mutable\ListCollection
methodfind
to strictly returnint|false
Immutable\ListCollection
methodfind
to strictly returnint|false
Immutable\Seq
methodcount
to correctly count aniterable
source
- Add
Tuple
- Add
collect
method toSeq
- Add
concat
method toSeq
- Fix
Range
defined by string inSeq
, which has a first value asstring
not asnumeric
- Add
annotations
toSeq
fromISeq
- Replace
code-sniffer
andcs-fixer
forlmc/coding-standards
for checking code style - Update dev-dependencies
- Change
Collection
dir forsrc
- Change
Tests
dir fortests
- Change namespace for
Tests
- Test different values for different php versions
- Add
ISeq
andSeq
for creating sequences
- Fix
composer.json
version
- Add
implode
method toIList
- Add
create
method toICollection
(it allows to create collection by callback)
- [dev only] Add
giorgiosironi/eris
forProperty Based Testing
- [dev only] Add
AbstractTestCase
for all unit tests - Fix
sort
inGeneric/ListCollection
method, which did not return proper collection
- [BC] Rename
of
tofrom
- Add
of
(andofT
) toIList
- Make
map
andfilter
methodslazy
(they are applied together in one loop if possible)
- Fix
reduce
inGeneric Collections
(now it is able to reduce to another type - not only toTValue
)
- Update PhpUnit
- Add code health dependencies
- [BC] Drop PHP 5 support, PHP 7.1 required
- Use
Generators
for iterating collections
- Add CHANGELOG.md file