v5.8.0
Since we fixed the bug in v5.7.0 where pagination was not applied on included derived types, we received reports of slow query performance for complex queries on type hierarchies. This release provides various optimizations to address the problem:
- When pagination is turned off, implicit sort by ID is no longer added to the query.
- Redundant selectors are eliminated from the final query.
- Pagination can be turned off per relationship using
[HasMany(DisablePagination = true)]
, which overrules global settings.
OpenAPI preview 3 includes the following enhancements:
- Non-JSON:API endpoints (both Controllers and Minimal APIs) are now included in the OpenAPI document.
- Calling
AddOpenApiForJsonApi()
no longer changes the expected content type for regular JSON:API requests. - Improved error when
AddJsonApi()
/AddOpenApiForJsonApi()
aren't called in the expected order. - Refactored an internal workaround to support
dotnet swagger
, such that the workaround is no longer needed. - Fixed error when concurrent requests download the OpenAPI document.
Merged PRs
- Log QueryLayer and LINQ expression at Debug level by @bkoelman in #1732
- Reduce complexity of QueryLayer after composition by @bkoelman in #1735
- Throw when AddOpenApiForJsonApi is called before AddJsonApi by @bkoelman in #1737
- Add note on included and pagination by @bjornharrtell in #1744
- OpenAPI: Show custom endpoints, fix content negotiation by @bkoelman in #1747
- OpenAPI tweaks and fixes by @bkoelman in #1748
- Enable to force-disable pagination per relationship by @bkoelman in #1750
Full Changelog: v5.7.1...v5.8.0