Releases: tiny-blocks/collection
Releases · tiny-blocks/collection
v2.3.2
v2.3.1
- Allow
EagerPipeline::fromClosure()to accept either anarrayor aTraversableresult from the factory. - Make
Filterpredicate compilation explicitly drop onlynullpredicates. - Normalize/refresh project metadata and contributor tooling/docs (Composer normalization, README overview, editor config, Claude rules).
v2.3.0
- Added
Internal\Materializationand refactoredEagerPipelineto rely on it for cached terminal access. - Expanded/adjusted complexity and evaluation-strategy documentation (
Collectible,Pipeline, README). - Added test coverage for multi-predicate filtering and reducing over chained operations (eager + lazy).
v2.2.0
- Introduce
Collection::createFromClosure()backed by an eager pipeline that materializes the closure result immediately. - Move
first/isEmpty/lastresolution intoPipelineimplementations (eager/lazy) and remove the old resolving helpers. - Expand README + API docs with evaluation strategy and complexity explanations; add extensive tests and new test models.
v2.1.0
- Introduces
Collection::createLazyFromClosure()backed byLazyPipeline::fromClosure()for re-iterable lazy sources. - Refactors
EagerPipelineto memoize materialization and allow repeated iteration when created from single-use iterables (e.g., generators). - Updates
each()to be a terminal operation returningvoid, and updates tests + adds new tests for closure/generator reiteration.
v2.0.0
- Introduces
Pipeline+EagerPipeline/LazyPipelineand refactorsCollectionto compose operations via pipeline stages. - Replaces the previous operation set (
LazyOperation/ImmediateOperation) withTransforming\*(pipeline stages) andResolving\*(terminal helpers). - Consolidates/rewrites tests and updates documentation to reflect the new API and extension patterns.
v1.16.0
- Introduces
Collectible::merge()and implements it inCollection. - Adds a new lazy write operation
Internal\Operations\Write\Merge. - Adds unit tests and README documentation for merging collections.
v1.15.0
- Updates dependencies and remove unused extensions in CI configuration.
v1.14.0
- Move operation test files to new structure under
Internal\Operations\. - Update namespaces in test files to reflect new structure.
- Refactor
Slice.phpbuffered slicing to useSplQueuefor efficiency and clarity. - Enhance docblocks in
Collectible.phpwith complexity notes and clarifygroupByreturn type.
v1.13.1
- Fixes descending sort to always reverse predicate arguments, ensuring correct order.
- Adds unit test for sorting collection in descending order using a custom predicate.
- Updates README formatting for consistency.
- Refactors
joinTomethod for improved separator handling.