Skip to content

Releases: tiny-blocks/collection

v2.3.2

21 Apr 22:04
eaf25b3

Choose a tag to compare

  • Expanded and organized .gitignore entries for IDE/agent folders, Composer artifacts, PHPUnit caches, and common output directories.
  • Simplified .gitattributes and added export-ignore rules for tests and development-only configs to keep dist tarballs minimal.

v2.3.1

21 Apr 11:52
ad7d5c6

Choose a tag to compare

  • Allow EagerPipeline::fromClosure() to accept either an array or a Traversable result from the factory.
  • Make Filter predicate compilation explicitly drop only null predicates.
  • Normalize/refresh project metadata and contributor tooling/docs (Composer normalization, README overview, editor config, Claude rules).

v2.3.0

16 Apr 14:27
e7a8a3f

Choose a tag to compare

  • Added Internal\Materialization and refactored EagerPipeline to 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

16 Apr 01:55
9e810a8

Choose a tag to compare

  • Introduce Collection::createFromClosure() backed by an eager pipeline that materializes the closure result immediately.
  • Move first/isEmpty/last resolution into Pipeline implementations (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

15 Apr 19:48
12a3972

Choose a tag to compare

  • Introduces Collection::createLazyFromClosure() backed by LazyPipeline::fromClosure() for re-iterable lazy sources.
  • Refactors EagerPipeline to memoize materialization and allow repeated iteration when created from single-use iterables (e.g., generators).
  • Updates each() to be a terminal operation returning void, and updates tests + adds new tests for closure/generator reiteration.

v2.0.0

30 Mar 10:43
7ab5f0f

Choose a tag to compare

  • Introduces Pipeline + EagerPipeline/LazyPipeline and refactors Collection to compose operations via pipeline stages.
  • Replaces the previous operation set (LazyOperation/ImmediateOperation) with Transforming\* (pipeline stages) and Resolving\* (terminal helpers).
  • Consolidates/rewrites tests and updates documentation to reflect the new API and extension patterns.

v1.16.0

03 Mar 05:00
99e7d40

Choose a tag to compare

  • Introduces Collectible::merge() and implements it in Collection.
  • Adds a new lazy write operation Internal\Operations\Write\Merge.
  • Adds unit tests and README documentation for merging collections.

v1.15.0

10 Feb 01:10
e32c518

Choose a tag to compare

  • Updates dependencies and remove unused extensions in CI configuration.

v1.14.0

19 Jan 19:07
ce6ed88

Choose a tag to compare

  • Move operation test files to new structure under Internal\Operations\.
  • Update namespaces in test files to reflect new structure.
  • Refactor Slice.php buffered slicing to use SplQueue for efficiency and clarity.
  • Enhance docblocks in Collectible.php with complexity notes and clarify groupBy return type.

v1.13.1

17 Jan 12:29
ccf5e8b

Choose a tag to compare

  • 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 joinTo method for improved separator handling.