All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Documentation: Collection Principles
#174 - Refactor/update
SpanandPartitionin point-free#175 - refactor: Update
DistinctandDuplicateoperations.#168 - refactor: Update Unpack operation - do not use MapN.
#169 - refactor: Use ETA Reduction for the Pipe operation.
#164 - refactor: Add missing type hints.
#171 - ci: Enable tests on macOS.
#170 - Update Reject operation - Use Filter based algorithm and point free style.
#167 - Fix Column Typing + SA Check
#166 - SA: Update operations.
#165 - Breaking change: refactor: Make constructor private.
#163 - Improve static analysis tests
#153 - chore(deps-dev): Update infection/infection requirement || ^0.24.0
#162 - feat: Add
::fromGeneratorconstructor.#150 - Temporary workaround until phpstan/phpstan#5372 is fixed.
#161 - Drop accepts non-variadic count
#157 - Add API Docs Description to Interface Methods
#156 - Add Operation:
Same#155 - Add
Reduceoperation#139 - Add
EqualsOperation#152 - Fix: Prevent warning when using odd amount of items.
#154 - Link to
stabledocs instead oflatest#151 - Update Span and Partition operations.
#148 - Breaking change: refactor: Reduce the use of the spread operators and variadic parameters.
#146 - refactor: Rename variables and properties.
#145 - chore(deps): Bump actions/stale from 3.0.19 to 4
#143 - chore(deps): Bump shivammathur/setup-php from 2.11.0 to 2.12.0
#144 - Add AsyncMapN Operation | Remove AsyncMap Variadic Callbacks Usage
#141 - Add coverage check
#142 - Span: Add Variadic Callback Support
#140 - Update
Reverseoperation - optimize and remove todos.#138 - Add IsEmpty Operation
#137 - Update Operations Signatures in API Docs
#136 - Add All Operation
#133 - Refactor Scalar Operations
#132 - Update
Mapto only take a single callback#134 - Provide util class for reducer callback
#131 - Refactor
::partition()and::span()#124 - Add Collection::isEmpty Method
#130 - Change GitHub Actions Workflow Triggers
#127 - Add
Rejectoperation.#125 - Breaking change: Update
Filteroperation.#126
- chore: Add AFUP presentation link.
404d0b7 - chore: Update Github configuration files.
c6488a4 - Update IfThenElse operation, add missing typing information.
5f4ef9e - Update IfThenElse operation, add missing typing information.
ed3c095 - ci: Fix code-style workflow.
40cc177 - chore: Update composer.json, remove obsolete dependencies.
d8a8d50
4.1.0 - 2021-07-05
- Show Collection is Immutable & Operations Pure
#122 - Trim Static Analysis Baselines
#121 - Adding More Static Analysis Checks
#120 - feat: Add Matching operation and implements Selectable from Doctrine.
#115 - Add FlatMap Operation
#117 - Update Distinct operation
#111 - Static Analysis Checks: Common Operations (III)
#114 - Introduce MapN | Deprecate Map With Multiple Callbacks | Static Analysis Checks
#112 - Bump minimum version of phpspec to ^7.1.
#113 - Static Analysis Checks: Common Operations (II)
#109 - Operation Interfaces return Collection Interface
#108 - Static Analysis Checks: Common Operations (I)
#106 - feat: Add When operation.
#105 - Improve Collection Typings + Add
strictOperation#102 - PHP 8 Compatibility
#104 - Update Psalm Annotations
#101 - chore(deps): Bump actions/cache from 2.1.5 to 2.1.6
#100 - SA Checks: Methods Starting with "a"
#97
- docs: Add/update CHANGELOG.
5edb9e7 - chore: Update .gitattributes for saving space (and trees).
c7ba932 - docs: Minor update in code typing.
c8ad466 - Update PSalm and PHPStan baselines.
58d8035 - Add missing Partitionable.
defb903 - Fixes & improvements
77201ba - test: Add missing test.
997efd9 - refactor: Update distinct operation.
023d399 - tests: Autofix code style.
366c79b - tests: Add missing static analysis tests.
fb641e8 - ci: Remove obsolete required status checks.
6a7f8c5 - docs: Add a note on how to extend a Collection.
9d21114 - ci: Run static-analysis tools only on Linux platform.
fb9fcd7 - ci: Do not do unit testing on Darwin platforms.
8921563 - refactor: Fix PHPStan.
717b364 - refactor: Fix Applyable type hints.
cd8ef32 - docs: Update example.
3f18553
4.0.7 - 2021-05-25
- SA Checks: fromIterable, empty
#96 - SA Checks: fromCallable
#94 - docs: Add lazy JSON parsing examples using @halaxa JsonMachine library.
#93 - Introduce Static Analysis Checking System
#90 - Code Analysis Fixes - PHPStan
#89 - Update Documentation III
#88 - Update API Documentation II
#86 - chore(deps): Bump actions/stale from 3.0.18 to 3.0.19
#87 - Feature: Add Squash operation
#83 - Fix CI configuration.
#85 - Update Documentation
#84 - chore(deps): Bump shivammathur/setup-php from 2 to 2.11.0
#79 - chore(deps-dev): Update infection/infection requirement || ^0.23.0
#81 - refactor: Remove static factory methods from contract
#78 - Update
drupol/php-conventions#76
- docs: Update changelog.
9b986aa - chore: Add composer commands and necessary files to generate the changelog.
645930e - ci: Update CI configuration.
3813450 - refactor: Autofix code.
540006b - chore: Update drupol/php-conventions.
cd50573
4.0.6 - 2021-04-20
4.0.5 - 2021-04-20
- docs: Update changelog.
a53167d - ci: Update Docker stack - now includes service for creating changelogs.
228831e - refactor: Remove variable assignation.
afe71bf - refactor: Update Pipe operation - remove call_user_func.
d31df6f - feat: Add Coalesce operation.
6e5c758 - refactor: Improve Has operation.
1425343
4.0.4 - 2021-04-17
- chore(deps): Bump actions/cache from v2.1.4 to v2.1.5
#75
- docs: Update changelog.
583e95b - docs: Update README.md.
4fa857b - chore: Update composer.json - update dev dependencies constraints.
dbf6441 - refactor: Fix a couple of PSalm issues.
89db061 - refactor: Minor update on MatchOne operation.
b913a6b
4.0.3 - 2021-04-11
- docs: Update changelog.
2a5a141 - refactor: Update MatchOne operation.
287b158 - tests: Add more tests.
372b1d1 - refactor: Update Every operation.
e0cc29c
4.0.2 - 2021-04-04
4.0.1 - 2021-04-03
- docs: Update Changelog.
78b5e2e - refactor: Use call_user_func_array() functions.
614a663 - refactor: Minor optimization in Window operation.
1e8de4a - refactor: Minor types fixes.
77db2cd
4.0.0 - 2021-03-18
- update psalm type for map operation
#72 - chore(deps): Bump actions/stale from v3.0.17 to v3.0.18
#70 - Fix typo in the docs
#68 - Fix minimum PHP version in the docs
#69 - feat: Add Dump operation.
#67 - chore(deps): Bump actions/stale from v3.0.16 to v3.0.17
#66 - chore(deps): Bump actions/cache from v2 to v2.1.4
#64 - chore(deps): Bump actions/stale from v3.0.15 to v3.0.16
#65 - fix: Update behavior of Apply operation.
#63 - chore(deps): Bump actions/stale from v3.0.14 to v3.0.15
#60 - chore(deps-dev): Update infection/infection requirement from ^0.20.1 to ^0.20.1 || ^0.21.0
#61
- update psalm type for map operation
#71
- Breaking change: fix: Update behavior of Apply operation.
e4fa034 - Breaking change: refactor: Update Every operation.
fb542be - Breaking change: refactor: Update TakeWhile operation.
dbb9307 - Breaking change: refactor: Update Until operation.
71a7693 - docs: Update changelog for release 4.0.0.
730a638 - refactor: Minor syntax update (php74).
3c2d3e3 - chore: Update badge.
c5a9e58 - fix: Documentation code style.
cd0f8f8 - cs: Fix minor things here and there.
9780bbd - fix: Documentation code style.
152447b - docs: Minor typing update.
5aa1d02 - docs: Minor typing update.
f620859 - docs: Minor typing update.
84ea356 - fix: Typo in README.
be4aec3 - refactor: Update Merge operation - use PHP 7.4 code style.
e967e01 - refactor: Update Append operation - use PHP 7.4 code style.
27285f8 - refactor: Update Prepend operation - use PHP 7.4 code style.
b990edb - refactor: Update Drop operation - use PHP 7.4 code style.
406afee - feat: Add Partition command.
97f8479 - refactor: Remove obsolete PHPCS options.
bc6d61e - fix: Update Github configuration.
9327044 - refactor: Minor cosmetic stuff.
42197be - refactor: Fix CS.
bd8c40f - docs: Update Apply documentation.
51b2494 - refactor: Cleanup.
0d87d15 - docs: Update typing information.
51eff67 - Update Apply.
2797d5d - Add tests.
0567c27 - Fix CS.
7705b94 - chore(deps-dev): Update infection/infection requirement || ^0.21.0
e591835 - refactor: Minor optimization in Collection::fromCallable().
6d2e65a - docs: Update typing information.
0f2d096 - refactor: Minor style and type changes.
34d626c - docs: Update typing information.
6c14308 - docs: Update.
79d8b2a - docs: Update typing information.
861cb9f - refactor: Update Split operation.
7502dc0 - refactor: Update Has operation.
88cae79 - refactor: Update Contains operation.
e646c8c - refactor: Update Distinct operation.
102a45d - refactor: Update DropWhile operation.
0a91335 - refactor: Update MatchOne operation.
d1bdbdf - refactor: Update Since operation.
c8c3d9b - refactor: Update Distinct operation.
80e676b - refactor: Minor - Fix typing information.
c7aebfe - refactor: Minor - add missing return types.
837bd76 - refactor: Minor optimization in Unwindow operation.
710c52f - refactor: Minor optimization in Split operation.
ae36094
3.4.3 - 2021-01-03
- Breaking change: refactor: Update Since operation.
0420906 - docs: Update changelog.
9be6443 - refactor: Update Split operation.
5b9d153
3.4.2 - 2021-01-03
- docs: Update changelog.
1e36e85 - refactor: Update and simplify typing information.
6ab1622 - refactor: Optimize DropWhile operation.
68d7bdc - refactor: Optimize Group operation.
a4b2653
3.4.1 - 2021-01-02
- docs: Update changelog.
d7cd376 - refactor: Optimize DropWhile operation.
d91eb93 - refactor: Optimize Group operation.
aa418fe - refactor: Update Drop operation.
3d4786b - refactor: Minor documentation changes.
7957e26 - refactor: Update Zip operation.
37593eb
3.4.0 - 2020-12-30
- Use key and current operation at the same time
#58
- docs: Update changelog.
45a46b8 - refactor: Return instead of yield.
a7b6a9c - tests: Update tests.
9472d03 - docs: Update typing information.
09d0531 - docs: Update documentation.
77debe9 - tests: Update tests.
d8a82a5 - refactor: Simplify operations.
e1d91ec - refactor: Use Foreach loops."
c8d66c1 - fix: Simple fix which should fix the issue.
804b4de - tests: Reproduce issue in a test.
f09ae23 - refactor: Factorize closures.
739e9c6
3.3.5 - 2020-12-27
3.3.4 - 2020-12-27
- docs: Update changelog.
6acbd55 - chore: Update .gitignore.
ea4bd0c - docs: Update typing information.
0f6431c - refactor: Update Match operation.
81c0922
3.3.3 - 2020-12-26
- docs: Update changelog.
02116ab - refactor: Use Match operation in other operations.
f676c19 - docs: Update typing information.
0ae8995 - feat: Add match operation.
fa01f65
3.3.2 - 2020-12-24
3.3.1 - 2020-12-21
- chore(deps-dev): Update drupol/php-conventions requirement from ^2.0.3 to ^2.0.3 || ^3.0.0
#55
- docs: Update changelog.
f826fa4 - refactor: Use For loop instead of Foreach.
47e0f5e - docs: Update typing information.
a1d636f - refactor: Minor updates.
17eac77 - fix: Update Implode operation.
eafa573 - refactor: Introduce MultipleIterableIterator.
aa7701d - refactor: Use EmptyIterator.
4390145 - chore(deps-dev): Update drupol/php-conventions requirement || ^3.0.0
497e332 - refactor: Minor update in ArrayCacheIterator::valid().
1ed8a16
3.3.0 - 2020-12-17
- Iterators refactoring
#54 - chore(deps-dev): Update friends-of-phpspec/phpspec-code-coverage requirement from ^5 to ^5 || ^6
#53
- docs: Update changelog.
1e843a3 - tests: Add more tests.
8fc51fd - refactor: Mark iterators as internal.
af7ee07 - refactor: Rewrite iterators and optimize things here and there.
87124da - chore(deps-dev): Update friends-of-phpspec/phpspec-code-coverage requirement || ^6
164a8b5
3.2.0 - 2020-12-15
- docs: Update changelog.
a6e12ed - refactor: Update various operations.
b5da182 - refactor: Use more IteratorIterator.
0127f40 - refactor: Minor code style update.
54d0f8e - docs: Fix code example.
65769b4
3.1.1 - 2020-12-08
- Update ScanLeft so it doesn't go further if the iterator is not valid.
#49
- docs: Update changelog.
a4464cb - fix: Update ScanLeft so it doesn't go further if the iterator is not valid.
5d9e448 - docs: Update documentation.
e518492
3.1.0 - 2020-12-06
- Add $seed parameter to RandomIterator
#47 - chore(deps): Bump actions/stale from v3.0.13 to v3.0.14
#46 - chore(deps): Update actions/checkout requirement to v2.3.4
#45
- docs: Update changelog.
d06aebc - refactor: Update CS.
9852751 - refactor: Add a $seed parameter to RandomIterator.
be7a0c1 - ci: Always run unit tests.
bbf0045 - docs: Update changelog.
169e00e
3.0.5 - 2020-11-23
- ci: Split CI files.
#44 - chore(deps-dev): Update phpspec/phpspec requirement from ^5.1.2 || ^6.2.1 to ^5.1.2 || ^6.2.1 || ^7.0.0
#43 - chore(deps): Bump actions/stale from v3.0.12 to v3.0.13
#38 - chore(deps): Bump actions/checkout from v2.3.3 to v2.3.4
#39 - chore(deps-dev): Update friends-of-phpspec/phpspec-code-coverage requirement from ^4.3.2 to ^4.3.2 || ^5.0.0
#42
- docs: Update changelog.
26d3551 - docs: Update README badge.
7140fc7 - ci: Split Github Actions into multiple files.
a442fea - chore(deps-dev): Update friends-of-phpspec/phpspec-code-coverage requirement || ^5.0.0
cd52844 - docs: Update typing information.
0ac6f71
3.0.4 - 2020-11-12
- docs: Update changelog.
cd260e2 - chore: Update static configuration dev files.
0d3b268 - refactor: Improve performance by preventing the creation of multiple ClosureIterator at each operation call.
dd01c4e
3.0.3 - 2020-11-07
- Fix
asyncMapwarning in the docs#41
- docs: Update changelog.
a8cafb5 - refactor: Update AsyncMap operation - major improvements - thanks @kelunik.
1fbf5e9 - Fix asyncMap warning in the docs
5a1b7be
3.0.2 - 2020-11-06
- docs: Update changelog.
b97df67 - refactor: Update Head and First operations.
eb792af - refactor: Update asyncMap operation, make it variadic.
8b848bb - docs: Add missing link.
113b4aa
3.0.1 - 2020-11-05
- New asyncMap() operation (featuring amphp!)
#40
- docs: Update changelog.
bd62ce6 - feat: Add asyncMap operation.
6139ba6 - chore: Add amphp/parallel dependency.
3ca953b
3.0.0 - 2020-10-27
- Refactoring - Preparation of release 3.0
#34
- Breaking change: refactor: Update constructors.
a080fae - Breaking change: refactor: Remove Collection::with constructor.
90c732c - docs: Update changelog.
3f847a1 - tests: Update tests.
7d81431 - refactor: Update composer.json.
504567a - ci: Test on PHP 7.4 only.
eed419c - ci: Drop support of PHP 7.1.
1aae097 - refactor: Add forgotten typed argument.
9fd2f9d - test: Update tests.
693e7a6 - refactor: PHP 7.4 upgrade.
ef8e8da - docs: Update documentation.
f84063d - refactor: Update CacheIterator
02dc0a4 - docs: Update annotations.
7386746 - refactor: Update Iterator annotations.
dc9a311
2.7.4 - 2021-06-11
- refactor: Deprecate Collection::with() static constructor.
8060689
2.7.3 - 2020-10-17
- chore(deps-dev): Update vimeo/psalm requirement from 3.17.1 to 3.17.2
#35 - chore(deps): Bump actions/stale from v3.0.11 to v3.0.12
#30 - chore(deps-dev): Update vimeo/psalm requirement from 3.16 to 3.17.1
#32 - Fix simple code examples path
#31
- docs: Update changelog.
b3b3c62 - chore: Update composer.json.
4a395bd - test: Add more tests.
0529610 - fix: Fix RandomIterator::rewind().
c3c1dd0 - ci: Enable GD extension.
07b0868 - refactor: Update times constructor.
053cb80 - refactor: Simplify static constructors.
958dc79 - docs: Move code examples into simple files.
464ff15
2.7.2 - 2020-10-10
- docs: Update changelog.
1b07b0d - docs: Update documentation.
94773e6 - refactor: Add missing annotations.
bdedb51 - refactor: Add return statement.
1a57ffb - test: Add missing tests.
a2217a8 - refactor: Align TakeWhile and Until operations.
b680be9 - refactor: Leverage tacit programming.
aa4df6e
2.7.1 - 2020-10-08
- docs: Update changelog.
7ea007d - fix: Fix Has operation.
8af7817 - refactor: Leverage tacit programming.
69541f6
2.7.0 - 2020-10-07
- Breaking change: refactor: Remove Reduce operation.
42934a9 - Breaking change: refactor: Update Implode operation.
4cedd34 - Breaking change: refactor: Update Has operation.
082384b - Breaking change: refactor: Update Get operation.
b761ce7 - Breaking change: refactor: Update Contains operation.
a99e72a - Breaking change: refactor: Update Falsy, Nullsy and Truthy operations.
07fbce4 - Breaking change: refactor: Update Fold* operations.
f6828f0 - Breaking change: refactor: Rename Run into Pipe.
e3b3261 - docs: Update changelog.
bca5780 - docs: Update README.
ce14a0d - feat: Add Group operation.
a7df56c - refactor: Rename Group operation into GroupBy
248e5a4
2.6.3 - 2020-10-07
- docs: Update changelog.
46911c7 - refactor: Update return types.
25cc915 - refactor: Add missing annotations.
f1aae0d - feat: Add Inits operation.
70855c3 - docs: Update annotations.
39ad38f - feat: Add Span operation.
48d9620
2.6.2 - 2020-10-02
- docs: Update changelog.
ea9a8f1 - feat: Add Tails operation.
1299853 - chore: Update .gitignore.
ffae108 - chore: Update composer.json.
2686f05 - docs: Update annotations.
0e111ab - refactor: Update Distinct operation.
9d2579c - docs: Update API page.
7dfe75f - docs: Add link.
824ed65 - refactor: Init operation improvements.
7d23688 - refactor: Last operation improvements.
88350e2 - refactor: Leverage tacit programming (point free style)
13b5d6d - docs: Add missing link.
675af9a
2.6.1 - 2020-09-23
- docs: Update changelog.
a8a3eec - refactor: Leverage tacit programming (point free style)
764a3c6 - chore: Update Grumphp configuration.
855aa63 - feat: Add Every operation.
8ea76af
2.6.0 - 2020-09-22
- Breaking change: refactor: Update Compact operation.
10fd55f - Breaking change: refactor: Update Explode operation.
d28abcd - Breaking change: refactor: Update Split operation.
1c669b2 - docs: Update changelog.
47b4716 - feat: Add fromFile static constructor.
7211052 - feat: Add Words operation.
72df47a - feat: Add Unwords operation.
b6aef32 - feat: Add Unlines operation.
ab9fde2 - feat: Add Lines operation.
24cd4a5 - refactor: Refactor operations using their parent operation counterpart.
0835f2d - refactor: Update Reverse operation.
6ce7b13 - feat: Add scanLeft1 operation.
8b9aaa3 - feat: Add scanRight1 operation.
1183407 - feat: Add scanRight operation.
c01274f - docs: Update FoldLeft and FoldRight.
98ced08 - feat: Add scanLeft operation.
ff0c7e4 - docs: Update annotations.
317483e - feat: Add FoldRight1 operation.
18b9b1d - feat: Add FoldLeft1 operation.
c034101 - docs: Update README.
ecdbc18 - docs: Update documentation.
7985455 - docs: Update API page.
516f786
2.5.5 - 2020-09-16
- Update vimeo/psalm requirement from 3.14.2 to 3.16
#26 - Bump actions/create-release from v1.1.3 to v1.1.4
#25
- chore: Update composer.json.
92f9ed8 - docs: Update changelog.
091c97c - feat: Add Unwindow operation.
e240e6a
2.5.4 - 2020-09-14
- docs: Update changelog.
249f0f3 - ci: Update release process to include changelog automatically.
abb4e4f - Bump actions/stale from v3.0.10 to v3.0.11
f7ba528 - docs: Update Usage page.
2d5d9f6 - docs: Update documentation of Append and Prepend operations.
8441ad6 - feat: Add Duplicate operation.
b2d2a82 - docs: Updated append method documentation.
da6caa9
2.5.3 - 2020-09-12
- Breaking change: refactor: Update Associate operation.
168eb1a - docs: Update changelog.
b3bd1fe - docs: Update annotations.
6cb1e77 - refactor: Update some operation to make them lazy by default.
ff6c556 - docs: Update documentation.
d990886 - refactor: Update Product operation.
1318e41
2.5.2 - 2020-09-08
2.5.1 - 2020-09-08
2.5.0 - 2020-09-08
- Update changelog.
3ec344d - Remove unneeded variable assignations.
8ae26f6 - Update Unpack operation.
c253472 - Replace Only with IntersectKeys operation.
78a20a3 - Use Filter operation when it's possible.
841a7c5 - Update annotations.
3dbf949 - Replace Iterate with Unfold operation.
6401f74 - Update Limit operation.
95f8856 - Update Window operation.
c78813b
2.4.0 - 2020-09-07
- Update changelog.
5a392f3 - Add Unzip operation.
cad956f - Add TakeWhile operation.
c9e6701 - Rename Skip into Drop.
0c6b01a - Add DropWhile operation.
cf816a3 - Update FoldLeft operation.
deb825d - Update Last operation.
4ae3d35 - Update First operation.
79a1f5c - Update Reduction operation.
f20942c - Add Current operation.
ed246ed - Add Key operation.
24fa777 - Update PHPCS comments.
ce83560 - Refactor reducer callbacks.
9d1e176 - Update annotations.
1bb45f2 - Update Associate operation.
1b9ca3c
2.3.5 - 2020-09-03
2.3.4 - 2020-09-03
- Update changelog.
296aea1 - Fix Map operation.
25314c8 - Refactor reducer callbacks.
8f83368 - Add RandomIterator Iterator.
ce64bca - Update Only operation.
f74152b - Update Forget operation.
67811b3 - Update annotations.
aa7edf9 - Add Init operation.
192e7ad
2.3.3 - 2020-09-01
- Update changelog.
ea07a8d - Replace the Loop operation with the Cycle operation.
2189649 - Add Unfold operation.
58eeaa0 - Update annotations.
af3226f - Update documentation.
3bb8caa
2.3.2 - 2020-08-31
2.3.1 - 2020-08-30
2.3.0 - 2020-08-30
- Convert operations and transformations to function objects
#18
- Update Changelog.
cddf0b8 - Remove duplicated information.
961f5b6 - Update README.md.
cb84521 - Update documentation.
f115d1d - Update Psalm annotations.
126994f - Update tests.
a7c1ff3 - Convert Transformations into Operations.
e36b03c - Syntactic sugar to reduce the amount of parenthesis.
f40dc3b - Convert Operations and Transformations into function object.
6ce8ecf
2.2.0 - 2020-08-28
- Update Group operation. (Fix #19)
#19
- Update Changelog.md.
7daf209 - Add Changelog.md.
6869e40 - Update documentation.
efccd88 - Update Iterate constructor.
01155c2 - Add IfThenElse operation.
f9c0c04 - Update Flatten operation.
f5ceeb8 - Update Group operation.
6fce398 - Update tests.
18a7885 - Update Runable interface
07c1c12 - Update Chunk operation
1260974 - Remove obsolete annotations
8e25055 - Update Column operation
b071823 - Update Filter operation
5f4d134 - Update Cache operation
afbcac3 - Update Cycle operation
a5388d2 - Update Slice operation
fc5baa6 - Update Split operation.
6c3b94f - Add missing tests.
7e15694 - Update Limit operation.
4578422 - Update Psalm/typing annotations.
d5207e3 - Update Scale operation.
85db341 - Update Map operation.
1702597 - Update operations to use Pack instead of Wrap.
810bff8 - Add Unpack operation.
54a3e97 - Add Pack operation.
412734c - Update Unpair operation.
2d7ce6e
2.1.0 - 2020-08-22
- Update composer.json.
def5f26 - Update Tail operation.
1d15657 - Update Filter operation.
5a7e41d - Update First operation.
c7ac8b3 - Update Last operation.
a8cb98f - Add Head operation.
126bf8a - Update README.
a05ec2f - Update Map operation.
8b1dd27 - Update Last transformation.
6496559 - Update Filter operation.
f81494a - Delete obsolete Walk operation in favor of Map operation.
a8dac33 - Update Split operation.
84e6381 - Add new example.
d1be59e - Update typing information.
e716b85 - Update typing information.
81b7a6f - Add missing return statements.
119cdfe - Update Implode transformation.
1c9e929 - Update FoldLeft/FoldRight transformations.
cece391 - Update Last operation.
ddde5cc
2.0.5 - 2020-08-12
- Bump actions/checkout from v2.3.1 to v2.3.2
#10
- Various minor changes and optimizations.
6e09157 - Update Contains transformation, make it variadic.
b78a704
2.0.4 - 2020-08-08
- Simplify the use of the Sort callback in userland.
5014004
2.0.3 - 2020-08-07
- Add new Github workflows, from ergebnis/php-library-template.
c61749c - Use parameters of Closure Iterator.
9f5367b - Update documentation.
940fcec - Add docker stack for building documentation locally.
54d2559
2.0.2 - 2020-08-05
- Add example with random number distribution.
f49c1ca - Update Sort operation and remove the SortableIterableIterator.
d0c7f2f - Add more Psalm annotations.
e7e7898 - Update README.
aed338c - Remove obsolete Psalm annotation.
a218d84 - Add Associate operation.
f76a0a5 - Update and fix Psalm phpdoc.
91c8900
2.0.1 - 2020-08-04
2.0.0 - 2020-08-03
- Feat improve static analysis score.
#8
- Update README.
69e9683 - Update Grumphp configuration file.
5c5c0d1 - Update composer.json.
ca6e895 - Rewrite @template into @psalm-template.
f488268 - Remove PHPStan config file.
b3a39a3 - Update PHPDoc.
e095c55 - Update Intersperse operation.
825b7da - Update Flip operation.
0e1489a - Use an Iterator for Transformations.
e5b6acd - Remove obsolete Base class.
1bab2c7 - Improve static analysis phpdoc.
f87758e - Improve static analysis phpdoc.
32bb7bf - Update default PSalm configuration and composer.json.
cd12c3b - Update default PSalm configuration.
09e1f63 - Disable PHPStan checks until bugs are fixed.
a716ced - Fix static analysis leftovers.
8e3d262 - Update typing.
e1e25cf - Update Contains operation.
4723545 - Add PHPStan configuration file to ignore unsupported features.
2fda169 - Add Has Transformation.
5c69049 - Update README.
7699f1b - Add tests for Random operation.
c71549c - Enable CI for PHP 7.1.
8b94f6d - Prevent builds from failing on Windows.
e65ddb8 - Add documentation.
95298d6 - Add documentation.
7c5ee8f - New Random operation
e20bd8e - Use an Iterator instead of iterable.
377b214 - Update filter operation.
8374728 - New Cache operation.
63762eb - Update Run operation.
5a5a1bd - Update Map operation.
106fbfe - New Intersect and IntersectKeys operation.
3bc2006 - New Diff and DiffKeys operation.
1cac685 - Bump drupol/php-conventions.
b65cffe - Update scrutinizer.
2a41c7d - Update Grumphp configuration file.
7d5282d - Update composer.json.
29de649
1.1.1 - 2020-07-20
- Bump drupol/php-conventions.
87d8762 - Update Github action.
a715506 - Simplify Since and Until operations.
ced44cc - Update documentation.
51c5402 - Update Collection::compact() and let user provide parameters.
7733252 - Implements Collection::compact() operation.
9970d38 - Implements \JsonSerializable.
8930335
1.1.0 - 2020-07-07
- Bump actions/cache from v1 to v2
#4
- Update documentation.
67a0007 - Update Sort operation.
98b2495 - Update Slice operation.
be98389 - Update Shuffle operation.
e88562a - Update Scale operation.
74b621c - Update RSample operation.
980ebc5 - Update Product operation.
5247ce5 - Update Chunk operation.
84c629c - Update Collapse operation.
795aa06 - Update Permutate operation.
72202db - Update Combination operation.
64a64a4 - Remove inheritdoc.
5a727ae - Update composer.json.
975e732 - Update Shuffle operation.
74232f7 - Update Reverse operation.
a9b6c9a - Update tests, use new factories.
baa9caf - Update Window operation.
fe0d79b - Update Times operation.
3721100 - Update Tail operation.
fe32346 - Update Cycle operation.
d91a49a - Update Chunk operation.
20e3573 - Update Loop operation, use keys.
597122c - Add new typed factories.
615189f - Add Wrap and Unwrap operations.
0bd0e42 - Update Append, Merge and Prepend operation.
9b77e0e - Update documentation.
02dd5be - Update FUNDING.yml file.
44c566f - Update tests to avoid issues on CI.
e0d5e27 - Update PHPDoc, fix CS.
0100651 - Update PHPDoc, remove obsolete doc.
4589576 - Update README and composer.json file.
2531f66 - Update README and documentation.
e68c325 - Add Group operation.
93e7be8 - Code style fixes.
3253196 - Add nunomadudo/phpinsights report.
03400a7 - Add nunomadudo/phpinsights report.
2ffb151 - Update Zip operation example.
742d74f - Update documentation.
8c0b06d - Minor update in Reduction operation.
68578dd - Update Since operation.
c3b420c - Increase Grumphp timeout.
4da37bc - Add Since operation.
12a6bb6 - Update documentation.
92f8c20 - Get rid of all PSalm warnings.
4498857 - Update badges.
15891b8 - Minor update to Frequency operation.
5b2a3a7 - Add Frequency operation.
039c803 - Add a new example.
df73058 - Update README file.
1a70029 - Minor else statements removal.
df0e2c9 - Minor optimization.
80f722d - Remove duplicate type.
de7d49c - Fix PHPStan.
6e981db - Refactor the operations.
df85420 - Minor optimization.
cdd94a3 - Update PHPDoc.
bacbadd - Remove PHP 8 from CI.
d632670 - Add Falsy/Truthy/Nullsy transformations.
e4bf275 - Update composer.json.
22d2ae9 - Add Dependabot configuration.
7431348 - Fix PHPStan issues.
d36339a - Bump PHPStan.
af643c5 - Fix PHPStan version until its bugs are fixed.
c9aa01b - Reduce PSALM warnings.
7ffef09 - Minor improvement.
affab6c - Add Transpose operation.
0070b45 - Optimize Zip operation.
f87d6fc - Add Column operation.
9cc7798 - Fix some PSalm warnings.
ca0b0b7 - Minor optimizations.
07f058f - Minor optimizations.
b21631a - Update Chunk operation. Now accept variadic parameter.
c31335f - Update PHPDoc.
70fb09d - Enable PSaslm and its badge.
402e2de - Bump infection/infection.
acf8dd1 - Add PHP 8 in Github action configuration.
5159694 - Refactoring. Pass the $collection object by default to the static function returned by the Operation object. Rename Operation::on() in Operation::__invoke().
c1b3f91 - Update GrumPHP configuration.
17af0b2 - Update documentation.
9606092 - Update composer.json.
1f12eb9 - Update Github actions configuration.
b25c0cf - Add Shuffle operation.
35c58cb - Minor optimization.
5c1f248 - Update documentation.
7b71cbc - Add Window operation.
95a87ca - Add Loop operation.
4b7d288 - Minor optimization in Slice operation.
db761a6 - Leverage the variadic arguments wherever we can.
978323e - Use FoldLeft in "Last" transformation.
ff1f702 - Minor optimizations.
18d20d7 - Move files in their proper directory.
dfb52f3 - Bump drupol/php-conventions.
66d47f2 - Update Reduction operation.
57cedbc - Update Cycle operation.
550819b - Update Walk operation.
be33b49 - Update Times operation.
7376353 - Update Split operation.
a323774 - Add FoldLeft and FoldRight transformations.
b261a89 - Fix PHPStan bogus issue by ignoring it.
88fd00f - Update Github actions configuration.
a0352ae - Update composer.json.
82faa39 - Let the collection use a resource of type stream in its constructor.
a780687 - Fix code style and PHPStan warnings.
caf5a37 - Update documentation.
bbbb99c - Update documentation.
94691b8 - Minor code style update.
633b10a - Update documentation.
fc62742 - Update documentation.
68cd85b - Update documentation.
dbddf8f - Update documentation.
d397233 - Improve code consistency based on documentation and interfaces.
2c02bf3 - Add documentation.
6f45767
1.0.11 - 2020-01-09
- Let the callback return arrays with non numerical keys.
77d111f - Now ::until() uses a variadic argument.
34b62c4 - Revert "Try to test using low deps."
b325505 - Try to test using low deps.
f46348e - Minor changes to the ClosureIterator.
ed2d0a9
1.0.10 - 2020-01-08
- Fix the behavior of the ::apply() operation.
719eea8 - Remove obsolete ::rebase() operation.
486b835 - Fix the behavior of the ::apply() operation.
eb1c4ae
1.0.9 - 2020-01-06
- Fix behavior of ::filter() operation.
bc2d733
1.0.8 - 2020-01-06
- Increase default Grumphp timeout to avoid useless failures in CI.
03a53fa - Fix PHPStan error.
06c5f62 - Use self keyword.
59b6fa8 - Update the ::times() operation.
7737e07 - Update the ::sort() operation using a new SortableIterableIterator object.
f57c286 - Update documentation.
ff360a6 - Minor optimizations and rephrases.
675f4ab
1.0.7 - 2020-01-03
1.0.6 - 2020-01-02
- Add Product operation to compute the cartesian product.
1940b16 - Update default documentation homepage.
0507b69 - First stab at documentation.
0231878 - First stab at documentation.
a847123 - First stab at documentation.
8178972
1.0.5 - 2020-01-01
- Transfer repository to https://github.com/loophp
92551d7 - Update default documentation homepage.
4326a62 - Update Reduction operation.
8964acc - Update Filter operation using \CallbackFilterIterator.
96decd5 - Update Cycle operation.
940beb4 - Use LimitIterator.
e999465 - Reduce operation, set the initial parameter to null by default.
2aee709 - Update PHPSpec configuration.
d9a6b04 - Minor rephrase.
d597a13 - Reduce CI builds using cache.
dc64469
1.0.4 - 2019-12-26
- Remove unneeded ArrayIterators and use simple arrays.
01d5ae2 - Minor changes here and there.
97769de - Introduce an IterableIterator to reduce duplicated code here and there.
9fe3d5a - Update composer.json.
b3b3eed - Update Github actions workflow.
bc48ab2 - Update chunk operation.
cba479e - Update README.
b7853d9
1.0.3 - 2019-12-25
- Fix bug in ClosureIterator::rewind().
f3779ae
1.0.2 - 2019-12-23
- Add Tail and Reverse Operations.
bae14bf - Update README.
a80afcd - Update code style.
83a8a2e - Update README.
3fe2705 - Remove PHP 7.4 not available yet.
1841f7f - Remove installation of Graphviz.
1d4ef3c - Fix PHPStan warnings.
c1df8d3 - Add missing tests.
07f4859 - Update PHPSpec min version.
73ece19 - Static files cleanup.
d484b1c - New operation: Scale
ac6fd27
1.0.1 - 2019-12-06
- Cast array keys as string by default in Flip operation.
905d3fb
1.0.0 - 2019-11-12
0.0.17 - 2019-09-23
- Update README example.
03c7f87 - Renaming.
d1777a8 - Update composer.json.
3dd5d4a - Update the way the constructor is working.
5baf106 - Update ClosureIterator.
f691cfb - Update tests.
5e105da - Increase Grumphp timeout.
1bc3cb8
0.0.13 - 2019-09-14
- Add the Until operation with tests and example in README.
4c73fe4 - Update the ::iterate() static method.
debec59 - Use str_plit() instead of mb_str_split().
48dfce7 - Move the creation of the new Collection in the Base class.
70181f5 - Add the Cycle operation.
b82b610 - Update README.
6f4cddf
0.0.12 - 2019-09-09
- Update README.
55f7c56 - Minor cosmetic update.
ae0e00b - Add the Explode operation.
e21e84f - If a string is passed as parameter, it will be passed through mb_str_split().
b2007be - Pass the key to the Reduce and Recuction operations.
ca60af0 - Minor change in the First transform operation.
b8a7556 - Update Pluck operation.
9e96a94 - Update the ::iterate() static method.
994772c - Update README.
2351988 - Add the Split operation.
2e0dc1a - Simplify the times() method.
6d8014b - Differentiate Operation and Transformation.
3546cfa
0.0.11 - 2019-09-03
- Update README.
3e59719 - Fix bug with rebase method.
72dd937 - Update PHPDoc.
16166ea - Add distinct() dans rsample() methods.
898a3b1 - Update the ::iterate() method.
e677738
0.0.10 - 2019-09-01
- Align return types.
95dbce9 - Update the Chunk operation.
d61bac3 - Add static method ::iterate().
3306602 - Move the run() method from Collection to Base.
55a0e3d - Remove Operation abstract class.
71f2702 - Update .gitattributes.
163b782 - Use is_iterable().
a07681b
0.0.9 - 2019-09-01
- Update README wording.
ccaa796 - Minor phpdoc update.
724c166 - Update README - Add more documentation.
a69e246 - Add Reduction operation.
a749765 - Update Infection score.
4ad72c2 - Update code style for foreach loops and minor other things.
faa0112 - Override static::with() so we can have autocomplete working in IDE.
7057e09 - Create new Base object and Collection is now extending it and final.
b3e0d19
0.0.8 - 2019-08-29
- Remove useless BaseCollection.
c8aca3c - Update the return type of Operation interfaces.
da1ab80 - Use is_iterable() instead of \Traversable.
711611b - Make the Apply operation lazy.
37ad7bd - Let the BaseCollection implements the Runable interface.
64f3808 - Add Implode operation.
1e3b34b - Use iterable instead of \Traversable.
4eb5c88
0.0.7 - 2019-08-27
- Refactoring.
5b2a0cf
0.0.6 - 2019-08-22
- Minor update on Collection class.
a543106 - Do not let Operations wrap the return of ::run() in a collection.
8cfd4eb - Minor change - Update operations.
38d8f71 - New interfaces, more abstraction and flexibility.
0add9fc - Minor update.
8db4ccf - Minor Operations updates.
c59054f - Minor update.
2d2b6d9 - Add Intersperse method/operation.
913aa8c - Update code style.
d8e0c79 - Update Last operation.
af9e6a8
0.0.5 - 2019-08-21
- Update README.
3fcbf00 - Add return type to Closures.
a2b9366 - Add ::sort() method and Operation.
e50bbfd - Add ::last() method.
9ea67a4 - Update count() method.
baf96eb - Minor update.
04739ad - Let the Filter operation use a variadic parameter.
fd081c2
0.0.4 - 2019-08-20
- Update README.
b4050b5 - Add Run operation.
1bf34d4 - Add .gitattributes.
a41491c - Minor code updates and increase code coverage.
89aa7a1
0.0.3 - 2019-08-19
- Update README.
831850e - Use ::with() method everywhere.
748a618 - Update composer.json
534f374 - Add more operations.
d658c49 - Use ::empty().
2bb704b - Add Apply operation.
2ef2342 - Update README.
1bb26c2 - Update Zip operation using proxy methods.
0d7e849 - Add ::proxy() operation.
4bba092 - Add ::Rebase() operation, update code and tests.
a9127d8 - Update the Zip operation.
660f8ad - Add ::pluck() method/operation.
8b9c53b - Update documentation.
d50b257 - Update code style using latest version of drupol/drupal-conventions.
ad60162 - Update ::get() method.
b78b672
0.0.2 - 2019-08-13
- Update composer.json.
c9aff7b - Minor code changes.
d645d47 - Move static methods out of the Collection interface.
7677b5d - Minor README file update.
6659473 - Update code.
d95b896 - Increase code coverage.
e73924a - Use updated drupol/phpcsfixer-configs-php with PSR12 rule update.
a1143c7 - Use phpstan/phpstan-strict-rules.
83a4e4d
- Initial commit.
7247de4