Changelog
July 2, 2026 · View on GitHub
All notable changes to this library are documented in this file.
Unreleased
0.16.0 - 2026-07-02
- Add
Seq::map()andFilter\Chain::yieldRules()(#75) - Add
Seq::unique()(#76, #80) - Add
Str::isEmpty()(#77) - Fix
Seq::find()to return[null, null]instead offalsewhen no value is found (#79)
0.15.1 - 2026-04-21
- Fix
Events::on()return type to restore compatibility withEventEmitterTrait(#73)
0.15.0 - 2026-03-24
- Breaking Raise minimum PHP version to 8.2 (#63)
- Add strict type declarations (#63)
- Support PHP 8.5 (#61)
0.14.0 - 2024-07-15
- Breaking Restrict
Str::symmetricSplit()'s$defaultparameter to?string(#55) - Support PHP 8.3
0.13.0 - 2023-09-21
- Breaking
Seqno longer treats function names as needles (#42) - Add
iterable_value_first()(#49) - Add
yield_groups()to group sorted iterators by callback-derived criteria (#46) - Fix
Str::symmetricSplit()to return padded array when subject isnull(#45) - Support PHP 8.2 (#39)
0.12.1 - 2022-12-13
- Refine
Strmethod signatures andnullhandling to improve PHP 8.1 compatibility (#37)
0.12.0 - 2022-06-15
- Breaking Raise the minimum supported PHP version to 7.2 (#29)
- Breaking
Filter::equal()andFilter::unequal()no longer perform wildcard matching; useFilter::like()andFilter::unlike()instead (#33) - Breaking Remove mutator and closure support from
Properties(#31) - Add iteration support to
PropertiesviaIteratorAggregate(#32) - Support PHP 8.1 (#29)
0.11.0 - 2022-03-23
- Breaking Drop PHP 5.6 support; require PHP ≥ 7.0 (#28)
- Introduce
BaseFiltertrait for simple filter-aware classes (#28)
0.10.0 - 2021-11-10
- Add the
Sequtility for searching iterables by key or value (#26) - Fix
Propertiesto not mutate values on set (#23); resolve closures before mutation (#24) - Support PHP 8 (#21)
0.9.0 - 2021-03-19
- Breaking
Filter\ChainandFilter\Conditionno longer tolerate dynamic properties; use dedicated metadata instead (#20) - Introduce
Filterablecontract interface andFilterstrait for filter-aware objects (#19) - Introduce
Dataclass for arbitrary key-value metadata storage (#20) - Introduce
MetaDataProviderinterface for filter rule metadata (#20) - Extend
Filter\ChainwithinsertBefore()andinsertAfter()(#20)
0.8.0 - 2021-01-14
- Introduce filter system:
Filterfacade andFilter\Rule,Filter\Chain(All,Any,None), andFilter\Condition(Equal,Unequal,GreaterThan,GreaterThanOrEqual,LessThan,LessThanOrEqual) (#15) - Add
random_bytes()polyfill for PHP < 7.0 (#18)
0.7.0 - 2020-10-19
- Introduce
Propertiestrait for dynamic typed property storage (#16)
0.6.0 - 2020-10-12
- Introduce
Translatorcontract interface (#14)
0.5.0 - 2020-03-12
- Breaking Raise the minimum supported PHP version to 5.6 (#12)
- Breaking Refactor contracts and traits: rename
EventEmitter→Events,MessageContainer→Messages; supersedePaginationInterfacewithPaginatable; supersedeValidatorInterfacewithValidator(#12) - Introduce new
PluginLoaderinterface andPluginstrait (#12) - Introduce
PriorityQueueclass wrappingSplPriorityQueuewith stable ordering (#13)
0.4.0 - 2020-03-10
- Add
iterable_key_first()for retrieving the first key from any iterable (#10) - Add
Str::symmetricSplit(),Str::trimSplit(), andStr::startsWith()
0.3.0 - 2019-10-16
- Introduce
PaginationInterface(#5) - Introduce
Strclass withcamel()case conversion - Add
is_iterable()polyfill for PHP < 7.1
0.2.0 - 2019-05-16
- Introduce
EventEmittertrait, wrapping Evenement (#8)
0.1.0 - 2019-03-26
Initial release providing AutoloadingPluginLoader, MessageContainer trait,
ValidatorInterface, and type/iterable utility functions.