What's Changed
- refactor(metadata): use logic from ResourceClassInfoTrait by @Maxcastel in #7928
- fix:
ResourceClassInfoTrait::isResourceClass()is always true by @Maxcastel in #7924 - fix(state): use exception message for user-facing violation when available by @vincentchalamon in #7894
- fix(openapi): generate both singular and array parameter variants for filters by @soyuka in #7906
- refactor(symfony): remove static state from EntrypointAction by @KevinMartinsDev in #7919
- refactor(jsonld): use already declared $isResourceClass variable by @Maxcastel in #7901
- fix(validator): handle nested groups and group sequences by @VincentLanglet in #7914
- fix(metadata): nested property filters fail to generate JOINs when relation target entity is not directly declared as ApiResource by @Maxcastel in #7926
- fix(state): preserve Type message when expectedTypes is set by @soyuka in #7935
- fix(symfony): ensure ErrorListener is fully stateless to prevent stat… by @KevinMartinsDev in #7921
- fix(laravel): skip relation metadata for abstract Eloquent models by @cay89 in #7933
- fix(symfony): api_platform_iris route loader for graphql-only setups by @soyuka in #7934
- fix(symfony): security regression when ResourceAccessChecker is decorated (#7896) by @giosh94mhz in #7897
- fix(doctrine): IriFilter ignores custom ApiProperty identifier on ODM by @soyuka in #7937
- fix(jsonapi): use parent-resolved class in denormalizeRelation by @elfin-sbreuers in #7938
New Contributors
- @KevinMartinsDev made their first contribution in #7919
Full Changelog: v4.3.3...v4.3.4