Repository navigation
v1.1.0
Adds provider-independent closure query translation and correlated subqueries.
- Translate supported
where()andselect()closures into expression trees without executing them. - Add
ContainsExpression,AnyExpression,NotExpression, andOuterFieldExpression, with in-memory provider support. - Support nested
any()predicates, outer-field references, captured scalar values, and explicit translation errors for unsupported PHP syntax. - Allow closures in
IQueryable::any()and accept entity sets implementingIQueryabledirectly as subquery sources. - Add upgrade guidance and PHP parser runtime dependency.
Upgrade notes
This minor release includes API changes during the project's initial adoption period:
- Rename
Light\Linq\ExpressiontoLight\Linq\Expressions; update imports and provider implementations. - Update custom
IQueryableimplementations to accept closures inwhere(),select(), andany(). - SQL providers must translate the new query operation nodes themselves. Use a compatible light-entity version for SQL execution.
Validation: 260 tests passed, 791 assertions, no skipped tests. Composer validation passed.