- Support php 8.3 and update dependencies
- Add
Immutable/Generic/IList::partitionmethod
- Fix return type of
sortByandsortByDescendingmethods
- Add
Immutable\Generic\IList::choosemethod - Add
Immutable\Generic\ListCollection::choosemethod
- [BC] Require php 8.2 and update dependencies
- Add
readonlyattribute to classesImmutable/Generic/KVPairImmutable/Generic/ListCollectionImmutable/Generic/MapRange
- [BC] Require php 8.1
- [BC] Drop
recursiveoption infromcreators - [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
KVPairclass - 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
fststatic methods - Add
sndstatic 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::isCallablemethod signature
- Explicitly require
ext-mbstring - Add
CollectionExceptionInterfacefor allAssertionFailedExceptions - Allow
Generatorsinarrow functions(yield) - Not use
Tuplein internal modifiers ofMapandListCollectionanymore (because of performance)
- Allow
callabletype inPrioritizedCollection - Use
Tuplein internal modifiers ofMapandListCollection
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
callabletype inGenericListsandMaps
- Expand
toStringForUrlmethod not to quote string containing_,-,.and
- Add
toStringForUrlmethod toITupleto allow formatting for URL
- Supports
arrayinTuple
- Add
mergeandmergeMatchmethods toITuple - Remove superfluous type annotations
- Change return type of
getIteratormethod to genericiterable - Add
IEnumerableinterface to implementIteratorAggregateandCountable - Add
PrioritizedCollectionto store values by priority
- Add
containsBymethod toICollection
- Add
implodemethod toISeq - Fix
callableannotation forarrow functionstocallable|string
- Allow
mixed/anytype forGeneric Collections
- Fix missing an explicit requirement on
beberlei/assertlibrary - Add
expectedItemsCountoptional argument toparsemethod ofITupleto allow explicit validation of parsed result - Require higher version (
^2.9.3) ofbeberlei/assertlibrary because of simplified error messages - Allow
beberlei/assertlibrary in version^3.0 - Add
parseMatchandparseMatchTypestoITupleto validate parsed result - Simplify
toStringmethod ofTuple
- Fix
implodeonListCollection - Fix
countonSeq
- Allow
unpackofTuplesby implementingIteratorAggregate
- Fix
static creatorswhich aredeprecatedin some situation to allowoverridethem
- [dev only] Drop
scrutinizer - [dev only] Update
coverallsto new package - [dev only] Remove
bin-diroption fromcomposer.json - [dev only] Add
matrixto thetravis.ymlto optimize build time - [dev only] Change
phpunit.xmlnamespace to local fromvendorto match exact version - Update
phpstanand fix:Mutable\ListCollectionmethodfindto strictly returnint|falseImmutable\ListCollectionmethodfindto strictly returnint|falseImmutable\Seqmethodcountto correctly count aniterablesource
- Add
Tuple
- Add
collectmethod toSeq - Add
concatmethod toSeq
- Fix
Rangedefined by string inSeq, which has a first value asstringnot asnumeric
- Add
annotationstoSeqfromISeq
- Replace
code-snifferandcs-fixerforlmc/coding-standardsfor checking code style - Update dev-dependencies
- Change
Collectiondir forsrc - Change
Testsdir fortests - Change namespace for
Tests - Test different values for different php versions
- Add
ISeqandSeqfor creating sequences
- Fix
composer.jsonversion
- Add
implodemethod toIList - Add
createmethod toICollection(it allows to create collection by callback)
- [dev only] Add
giorgiosironi/erisforProperty Based Testing - [dev only] Add
AbstractTestCasefor all unit tests - Fix
sortinGeneric/ListCollectionmethod, which did not return proper collection
- [BC] Rename
oftofrom - Add
of(andofT) toIList
- Make
mapandfiltermethodslazy(they are applied together in one loop if possible)
- Fix
reduceinGeneric 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
Generatorsfor iterating collections
- Add CHANGELOG.md file