Skip to content

v3.0.1

Choose a tag to compare

@github-actions github-actions released this 22 Jun 06:39

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.Jql to continue using JQL filter expressions.
  • JqlQueryParser is no longer available from the Core package.
  • QuerySyntax.Jql has been removed.

FlexQuery.NET.AgGridFlexQuery.NET.Adapters.AgGrid

Package renamed for consistent adapter naming. Update NuGet package references, namespaces, and using directives.

FlexQuery.NET.KendoFlexQuery.NET.Adapters.Kendo

Package renamed for consistent adapter naming. Update NuGet package references, namespaces, and using directives.

FlexQuery.NET.EFCoreFlexQuery.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

  • QueryRequest
  • FlexQueryRequest
  • ApplyValidatedQueryOptions
  • ToQueryResultAsync
  • ToProjectedQueryResultAsync
  • 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.
  • FilteredIncludeParser now throws InvalidOperationException with a descriptive migration message instead of silently returning null when 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 / FlexQueryRequestFlexQueryParameters
  • ApplyValidatedQueryOptions → Use the unified FlexQuery pipeline
  • ToQueryResultAsync / ToProjectedQueryResultAsync → Use the unified FlexQuery pipeline