Skip to content

Releases: peterjohncasasola/DynamicQueryable.Extensions

v2.5.1

Choose a tag to compare

@github-actions github-actions released this 08 May 10:30

🚀 Release v2.5.1

update readme after reverted the v2.5.0

v2.5.0

Choose a tag to compare

@github-actions github-actions released this 01 May 09:44

🚀 Release v2.5.0

feat(projection): implement recursive alias support and flat-mixed mode (v2.5.0)

Implement recursive alias support using the as keyword across all navigation levels in ProjectionBuilder.
Add mode=flat-mixed to allow flattening root entity fields alongside deeply nested collection fields via correlated SelectMany chains.
Redesign FlatProjectionBuilder with a level-based context tracking system for robust multi-level flattening.
Enhance mode=flat with alias support and improved validation for linear navigation paths.
Update QueryOptionsParser to support the new flat-mixed mode parameter.
Fix projection cache key to include aliases, preventing incorrect expression reuse.
Add comprehensive integration tests for nested, flat, and flat-mixed aliased projections.
Update README.md and CHANGELOG.md with detailed examples and migration guidance.

v2.4.1

Choose a tag to compare

@github-actions github-actions released this 01 May 07:50

🚀 Release v2.4.1

chore(docs): add MIT license and refresh README branding

  • Add MIT License file for open-source distribution.
  • Update README with license section and links.
  • Refresh README header with NuGet badges and improved project description.

v2.4.0

Choose a tag to compare

@github-actions github-actions released this 01 May 07:34

🚀 Release v2.4.0

feat: implement Unified Projection Pipeline and Mixed-Format Include Support

  • Unified Projection Mode: Merged Filtered Includes and Select into a single optimized EF Core Select() expression tree to minimize database payload.
  • Mixed-Format Include Chaining: Enhanced FilteredIncludeParser to support mixed DSL (:) and JQL (=) formats within a single chain (e.g., Orders(status:eq:cancelled).Items(sku = 'AAA')).
  • Exclusive Selection Priority: Explicitly selected fields in the select parameter now override the default "include all scalars" behavior for navigation properties, preventing over-fetching.
  • Whitespace Resiliency: Improved parser to handle trailing/leading spaces in complex include chains and nested parentheses.
  • Internal: Optimized recursive filter merging in ProjectionBuilder to propagate navigation filters deeply into hierarchical projections.
  • Documentation: Updated README with Mixed-Format examples and Unified Projection tips.

v2.3.0

Choose a tag to compare

@github-actions github-actions released this 01 May 07:29

🚀 Release v2.3.0

feat: implement dual-pipeline architecture and filtered includes for EF Core

  • Implement Dual-Pipeline Architecture: Decouples root entity filtering (WHERE) from related data shaping (Filtered Includes) to prevent over-filtering side effects.
  • Add Filtered Includes Support: Enables inline JQL filters within the include query parameter (e.g., include=orders(total > 100).items).
  • Unified Projection: Integrated filtered includes into the Dynamic Projection engine, ensuring filters are translated into efficient database-side Select() expressions.
  • Robust Collection Support: Enhanced type detection to support List, ICollection, and other generic collections in hierarchical filtered projections.
  • Documentation: Updated README with Dual-Pipeline usage examples and architectural overview.
  • Testing: Added comprehensive integration tests covering nested filters and dual-pipeline execution.

v2.2.1

Choose a tag to compare

@github-actions github-actions released this 01 May 07:22

🚀 Release v2.2.1

feat(expression): implement null-safe recursive scoped collection filtering

  • Enhancement: Added native support to ExpressionBuilder for translating scoped collection nodes into proper LINQ Any()/All() expressions.
  • Enhancement: Implemented recursive expression building to support deep multi-level navigation (e.g., Orders -> OrderItems).
  • Enhancement: Added automatic null-safety checks to collection-based expressions (collection != null AndAlso collection.Any(...)) to prevent NullReferenceExceptions in in-memory providers.

v2.2.0

Choose a tag to compare

@github-actions github-actions released this 01 May 03:38

🚀 Release v2.2.0

feat(query): add scoped collection filtering with nested ANY support

  • Introduced scoped collection filtering to ensure multiple conditions apply to the same collection element
  • Added support for:
    • orders.any(...)
    • orders[...]
  • Updated parser to detect and group collection-based conditions
  • Implemented recursive AST structure for nested collections
  • Ensured backward compatibility with existing flat expressions
  • Output now generates structured QueryNode tree

v2.1.0

Choose a tag to compare

@github-actions github-actions released this 30 Apr 14:57

🚀 Release v2.1.0

feat(jql): enhance parser with SQL-like syntax, new operators, and improved tokenizer

  • add IS NULL, IS NOT NULL, BETWEEN, LIKE, STARTSWITH, ENDSWITH
  • add collection operators ANY, ALL, COUNT
  • implement ALL operator in expression builder
  • improve tokenizer for case-insensitivity and quoted values

v2.0.1

Choose a tag to compare

@github-actions github-actions released this 30 Apr 04:28

🚀 Release v2.0.1

doc(readme) : update the readme based on changed log

v1.9.0

Choose a tag to compare

@github-actions github-actions released this 30 Apr 03:34

🚀 Release v1.9.0

feat(query): add advanced query and aggregate support

feat(filter): add advanced DSL operators (not, like, any, count)
feat(core): introduce pluggable operator handling
feat(efcore): move EF-specific behavior to optional EFCore extension
feat(grouping): add group by, aggregate select, and having support
test(query): add coverage for new filter and grouping features
docs(readme): update usage guide with advanced filter and aggregate examples