What's Changed
- feat(openapi): allow optional request body content by @monitaurus in #6374
- Allow IRI to be pre-configured in context when serializing in HAL or JsonApi format by @pupaxxo in #6215
- test: Backed enum resource tests by @GwendolenLynch in #6288
- fix(doctrine): allow doctrine/dbal:^4 by @soyuka in #6425
- feat: BackedEnum resources by @GwendolenLynch in #6309
- feat: inflector as service by @soyuka in #6447
- feat(state): add security to parameters by @emmanuel-averty in #6435
- fix(state): security parameter with listeners by @soyuka in #6457
- feat: deprecate query parameter validator by @soyuka in #6454
- feat(symfony): skip error handler by @soyuka in #6463
- docs: remove unnecessary comments by @ttskch in #6408
- fix(elasticsearch): change normalize return type to compatible with other normalizers by @Koenstell in #6493
- Various cs fixes by @soyuka in #6504
- fix(symfony): fix debug:api-resource command for class with multiple resources with same uriTemplate by @c1tru55 in #6505
- Fix(graphql)(mercure): Use public URL for subscription URI creation if it is available by @psihius in #6514
- fix: parameter context for filters by @soyuka in #6535
- Fix deserialization path for not denormalizable relations collected errors by @julienfalque in #6537
- fix(symfony): allow schema restriction for collection like property from choice constraint by @c1tru55 in #6520
- fix: use correct class in FilterValidationException deprecation message by @nikophil in #6549
- feat(openapi): make open_api_override_responses act on default 404 response generation by @monitaurus in #6551
- refactor(metadata): provide a trait in addition to the attribute by @soyuka in #6558
- feat(doctrine): add new filter for filtering an entity using PHP back… by @soyuka in #6560
- fix(symfony): load isApiResource metadata by @soyuka in #6562
- feat(dx): additional log to help locate a potential missing provider by @mrossard in #6519
- fix(doctrine): use parameter.property as filter value key by @nikophil in #6572
- fix(doctrine): move event listeners to doctrine/common by @soyuka in #6573
- fix: deprecate url generator interface namespace by @soyuka in #6575
- fix(doctrine): remove messenger requirement by @soyuka in #6580
- fix: move event listeners to the symfony component by @soyuka in #6587
- feat: remove hydra prefix by @soyuka in #6418
- feat: better path sorting for openapi UIs by @mrossard in #6583
- fix: replace ApiPlatform\Exception use by ApiPlatform\Metadata\Exception by @vincentchalamon in #6597
- feat(openapi): add error resources schemes by @JacquesDurand in #6332
- fix(hydra): error hydra prefix by @soyuka in #6599
- feat(symfony): add error page by @soyuka in #6389
- feat(state): "deserializer_type" context by @soyuka in #6429
- perf: skip context data added in #5758 by @soyuka in #6612
- fix: count TraversablePaginator by @nikophil in #6611
New Contributors
- @pupaxxo made their first contribution in #6215
- @c1tru55 made their first contribution in #6505
- @psihius made their first contribution in #6514
Full Changelog: v3.3.11...v3.4.0