Skip to content

Changelog

2.1.1 (2026-05-08)

Code Refactoring

  • controller: dedupe filter+include logic between `JsonApiQue… (#132) (07f69f5)
  • filters: split NestedPropertyNavigator into focused classes (#130) (9b602bd)

Documentation

  • rename repo URLs and restructure README for OSS (#142) (e149f61)
  • update contributing guide for .NET 10 SDK and setup instructions (82397c9)
  • update contributing guide to remove outdated information and clarify setup instructions (a1d296d)

CI

  • use GITHUB_TOKEN instead of NUGET_AUTH_TOKEN (134eaa9)

2.1.0 (2026-05-07)

Features

  • docs: migrate to mkdocs material with generated API reference (#129) (765d46a)
  • pagination: return 404 when page exceeds total pages in strict mode (#126) (b639fdd)

Bug Fixes

  • correct casing for Intility.DotnetApiDocs in dotnet-tools configuration (01ed721)
  • follow dotnet api docs rename (abe8436)

Code Refactoring

  • controller: extract EnforceStrictPagination from JsonApiQueryAsync (#128) (e501631)

2.0.1 (2026-05-06)

Bug Fixes

  • build: reference root README.md in package (ecbdb2a)
  • lockfile: restore linux-musl-x64 RID section (0c523f1)

2.0.0 (2026-05-05)

⚠ BREAKING CHANGES

  • upgrade to .NET 10 (#112)

Features

Bug Fixes

  • code quality and fixes (#116) (0f7af6b)
  • use LINQ Select instead of foreach loop in EfIncludePathHelper (#115) (381d1b1)

Code Refactoring

Documentation

  • auto-generated docs for intility/Intility.JsonApiToolkit#116 (#117) (89f5cdf)

Build System

  • nuget: Bump coverlet.collector from 8.0.1 to 10.0.0 (#120) (8d489bd)
  • nuget: Bump the microsoft group with 4 updates (#119) (5c8f97e)
  • nuget: Bump the microsoft group with 5 updates (#124) (f616e77)

CI

  • actions: bump github/codeql-action from 4.35.1 to 4.35.2 (#118) (600e53b)
  • actions: Bump github/codeql-action from 4.35.2 to 4.35.3 (#123) (ba623a5)
  • actions: Bump googleapis/release-please-action from 4.4.1 to 5.0.0 (#121) (973d5ad)

1.8.1 (2026-04-14)

Bug Fixes

  • lockfile: regenerate lock file with linux-musl-x64 RID section (715745b)

Build System

  • add NuGet lock file support for supply chain security (6a2cd14)

1.8.0 (2026-04-14)

Features

  • projection: add database-level column filtering (#101) (3234779)

1.7.3 (2026-04-07)

Bug Fixes

  • resolve all 36 open CodeQL code scanning alerts (#102) (25cf2ef)

Documentation

CI

  • add Claude code review and auto-docs workflows (3c9eba1)

1.7.2 (2026-03-27)

Documentation

1.7.1 (2026-03-24)

Dependencies

  • actions: bump actions/create-github-app-token from 2.2.1 to 3.0.0 (#86) (e7bd739)
  • nuget: Bump coverlet.collector from 6.0.2 to 8.0.1 (#90) (c8f3243)
  • nuget: Bump Intility.Logging.AspNetCore from 3.0.3 to 3.1.4 (#89) (7634ef7)
  • nuget: Bump Microsoft.AspNetCore.JsonPatch from 9.0.2 to 10.0.5 (#91) (fd94546)
  • nuget: Bump Microsoft.Extensions.DependencyInjection.Abstractions from 9.0.13 to 10.0.5 (#92) (a2f2d73)
  • nuget: Bump Microsoft.NET.Test.Sdk from 17.11.1 to 18.3.0 (#93) (d4bf186)
  • nuget: Bump the microsoft group with 8 updates (#87) (e6ecca2)
  • nuget: Bump the testing group with 2 updates (#88) (06329e6)
  • nuget: Bump xunit.runner.visualstudio from 2.8.2 to 3.1.5 (#94) (5d7b81a)

1.7.0 (2026-02-10)

Features

  • implement sparse fieldsets (fields[type]) per JSON:API spec (#82) (d03136b)

Bug Fixes

Dependencies

  • nuget: Bump csharpier from 1.2.5 to 1.2.6 (#81) (5f63735)

1.6.0 (2026-01-25)

Features

  • add BuildJsonApiQueryAsync for custom query execution (#79) (66a8a00)

1.5.1 (2026-01-25)

Bug Fixes

  • pagination: eliminate redundant sync COUNT query (#77) (cd4d84f)

1.5.0 (2026-01-24)

Features

  • complete Phase 3 with circular reference tests and documentation (#75) (c09a0e1)

1.4.0 (2026-01-24)

Features

  • add JsonApiOptions for configurable query limits (#63) (eb6e886)
  • add recursion depth guard for nested collection filters (#66) (36e2c5a)
  • validate filter paths against AllowedIncludes (#65) (df411fe)

Documentation

  • update documentation for v1.4.0 security features (4d3df54)

1.3.1 (2026-01-24)

Bug Fixes

  • ci: read version from csproj instead of parsing tag (a881cba)

1.3.0 (2026-01-24)

Features

  • AllowedIncludesAttribute to whitelist allowed include paths (6a26c29)
  • JsonApiOkAsync (d22466d)
  • JsonApiOkAsync (bc26940)
  • ✨ add filtering support for included resources (4e81c99)
  • ✨ add support for filtering in primary resource with included r… (0b0bb87)
  • ✨ add support for filtering in primary resource with included relationships (5c90d41)
  • ✨ add too many reqyests exeption (94a810d)
  • ✨ Allow collections and json columns to be mapped (6a096bc)
  • ✨ Code cleanup and standardization of error handling (fec75f5)
  • ✨ Enhance QueryHelpers with enum support and additional types (4949c26)
  • ✨ general-purpose exception class (0cdf9a5)
  • ✨ general-purpose exception class (e222bb4)
  • ✨ Overall project cleanup (c8c10f4)
  • ✨ Remove IncludeAsAttribute and related logic (a1593be)
  • ✨ Support complex JsonCols (b744b8e)
  • 📚 add comprehensive debugging guide and enhance logging for better troubleshooting (0ecc0cf)
  • 🚀 add ApplyFiltersOnly method for pre-aggregation filtering and add documentation on statistics and aggregations (b9c6546)
  • 🚀 enhance query processing with AsSingleQuery for pagination and add detailed logging for inclusion processing (7824da9)
  • errors: add JsonApiErrorCodes and JsonApiErrors factory methods (#60) (8531ad3)
  • errors: complete refactor Phase 1 with exception filter tests a… (#61) (e5b50be)

Bug Fixes

  • 🐛 single included resources are no longer ignored (1e2e4b6)
  • 🚑️ [JsonIgnore] not being respected (af12b0b)
  • 🚑️ adds support for filtering on included collection fields (ee2eb19)
  • 🚑️ adds support for filtering on included collection fields (1194fd6)
  • 🚑️ adjust query processing order for filtered and regular includes to enhance EF Core compatibility (8d21509)
  • 🚑️ bracket nested filtering without the nessesary includes breaking main filtering (e1e5785)
  • 🚑️ correct version number in project file to match release version (a0a51dd)
  • 🚑️ error responses for forbidden includes did not include meta information (9610878)
  • 🚑️ filtering on includes not working on 2-level (c658327)
  • 🚑️ Fixed the filtering issue for included resources. (86cab81)
  • 🚑️ improve error messages for forbidden includes to clarify not found status (07ea15e)
  • 🚑️ Initial working fix. Needs further testing and validation. (0fa5628)
  • 🚑️ JsonApiOk and JsonApiCreated methods not adding includes (903eda3)
  • 🚑️ refactor querying files and fix single resource relationship issues (962d4d4)
  • 🚑️ reorder query processing to apply sorting before includes for better EF Core compatibility (20bf0d9)
  • 🚑️ three level nested values and collection include filters (7f9a336)
  • 🚑️ three level nested values and collection include filters (044aaf0)
  • 🚑️ use single query mode to prevent EF Core split query correlation issues with filtered includes (ff48615)
  • add defensive reflection checks with ReflectionMethodCache (#57) (75eb978)
  • mapping: remove dead AddIncludedResourcesRecursive method (#55) (bbc8c17)
  • pagination: guard against division by zero when Size is 0 (#59) (0863dee)
  • parsing: guard unsafe string parsing in filter parsers (#58) (9fb463d)
  • security: prevent log forging and add workflow permissions (#51) (5fbbaba)
  • security: prevent log forging and update tooling (#52) (52d73ce)
  • support JsonPropertyName attribute and fix many-to-many collecti… (634abff)
  • support JsonPropertyName attribute and fix many-to-many collection filtering (6f1d961)

Refactoring

  • 🔨 follow ts-package renaming (4cd1e7e)
  • 🔨 optimize logging and add XML documentation (8c14bc0)
  • 🔨 remove Microsoft.Identity.Abstractions package reference (55933b7)
  • 🔨 remove the OR max count (65107d5)
  • 🔨 remove the OR max count (5a3aa87)
  • 🔨 Update JsonApiOk function and docs to align with what it actually does (bfe7635)

Documentation

  • 📝 update stats docs (549743c)
  • 📜 add too many request exeption to docs (872ae2a)
  • 📜 Clarify that filtering is only on main entity (5ee3568)
  • 📜 Update Claude.md (88502bb)
  • 📜 update error message for forbidden includes to clarify not found status (95ab6ce)

Dependencies

  • actions: bump actions/checkout from 4 to 6 (#47) (a16ab53)
  • actions: bump actions/setup-dotnet from 4 to 5 (#45) (db8c0d1)
  • actions: bump actions/upload-pages-artifact from 3 to 4 (#44) (c5e35fb)
  • actions: bump github/codeql-action from 3 to 4 (#46) (4bad70c)