Changelog¶
2.1.1 (2026-05-08)¶
Code Refactoring¶
- controller: dedupe filter+include logic between `JsonApiQue… (#132) (07f69f5)
- filters: split
NestedPropertyNavigatorinto 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¶
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
Selectinstead of foreach loop inEfIncludePathHelper(#115) (381d1b1)
Code Refactoring¶
Documentation¶
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¶
1.7.3 (2026-04-07)¶
Bug Fixes¶
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¶
Bug Fixes¶
Dependencies¶
1.6.0 (2026-01-25)¶
Features¶
1.5.1 (2026-01-25)¶
Bug Fixes¶
1.5.0 (2026-01-24)¶
Features¶
1.4.0 (2026-01-24)¶
Features¶
- add
JsonApiOptionsfor 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¶
- ✨
AllowedIncludesAttributeto 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)