v3.0.1
FlexQuery.NET 3.0.1
Release date: 2026-06-22
Overview
3.0.1 is a cleanup release that renames packages for consistency, extracts the JQL parser into its own package, removes deprecated APIs, and tightens include filter validation. Although it contains breaking changes, the version is kept at 3.0.1 because the 3.0.0 release had near-zero adoption.
Breaking Changes
JQL parser removed from FlexQuery.NET Core
JQL support has been extracted into the dedicated FlexQuery.NET.Parsers.Jql package.
- Install
FlexQuery.NET.Parsers.Jqlto continue using JQL filter expressions. JqlQueryParseris no longer available from the Core package.QuerySyntax.Jqlhas been removed.
FlexQuery.NET.AgGrid → FlexQuery.NET.Adapters.AgGrid
Package renamed for consistent adapter naming. Update NuGet package references, namespaces, and using directives.
FlexQuery.NET.Kendo → FlexQuery.NET.Adapters.Kendo
Package renamed for consistent adapter naming. Update NuGet package references, namespaces, and using directives.
FlexQuery.NET.EFCore → FlexQuery.NET.EntityFrameworkCore
Package and namespace renamed for clarity. Update NuGet package references and using directives.
JQL fallback removed from FilteredIncludeParser
Inline include filters no longer support JQL-style expressions. The following syntax is no longer supported:
orders(Status = 'Cancelled')Use FlexQuery DSL syntax instead:
orders(Status:eq:Cancelled)Unsupported JQL syntax now throws InvalidOperationException.
Removed deprecated APIs
QueryRequestFlexQueryRequestApplyValidatedQueryOptionsToQueryResultAsyncToProjectedQueryResultAsync- Other APIs previously marked
[Obsolete]
JqlParser.Parse(string query) → JqlParser.Parse(string filter)
Parameter renamed to align with DSL and MiniOData terminology. Callers using named arguments must update their code.
What's New
- FlexQuery.NET.Parsers.Jql package — JQL filter parser extracted from Core into a dedicated install-on-demand package.
FilteredIncludeParsernow throwsInvalidOperationExceptionwith a descriptive migration message instead of silently returningnullwhen encountering deprecated JQL-style include filters.
Migration Guide
Package renames
| Old Package | New Package |
|---|---|
FlexQuery.NET.AgGrid |
FlexQuery.NET.Adapters.AgGrid |
FlexQuery.NET.Kendo |
FlexQuery.NET.Adapters.Kendo |
FlexQuery.NET.EFCore |
FlexQuery.NET.EntityFrameworkCore |
Update all project references and using directives to use the new package names.
JQL
If you use JQL filter expressions (query= parameter), add a reference to FlexQuery.NET.Parsers.Jql and replace JqlQueryParser with JqlParser.
Inline include filters
Replace JQL-style inline include filters:
// Before (removed)
orders(Status = 'Cancelled')
// After
orders(Status:eq:Cancelled)Deprecated APIs
Replace any usage of the removed APIs with the modern equivalents:
QueryRequest/FlexQueryRequest→FlexQueryParametersApplyValidatedQueryOptions→ Use the unifiedFlexQuerypipelineToQueryResultAsync/ToProjectedQueryResultAsync→ Use the unifiedFlexQuerypipeline