Releases: api-platform/core
v3.3.8
What's Changed
- feat(state): list all violations during query parameters validation by @deguif in #6442
- feat(state): review validation for required parameters by @deguif in #6441
- fix(openapi): optional yaml component by @soyuka in #6445
- fix(graphql): security after resolver by @soyuka in #6444
- fix(state): allow to skip parameter validator provider by @soyuka in #6452
- fix(state): query and header parameter with the same name by @soyuka in #6453
- fix(state): store parameter value without its key by @soyuka in #6456
- fix: parameter not found when no value by @soyuka in #6458
- fix: swagger ui provider accept html by @soyuka in #6449
- fix(jsonld): allow @id, @context and @type on denormalization 2 by @ili101 in #6451
- test(symfony): property path violation enum by @soyuka in #6464
New Contributors
Full Changelog: v3.3.7...v3.3.8
v3.3.7
What's Changed
- fix(state): provider as ParameterProviderInterface by @soyuka in #6430
- fix(symfony): check method for readonly routes by @dunglas in #6437
- fix(openapi): Yaml openapi export should have numeric keys as string by @DartCZ in #6436
- fix(metadata): wrong schema generated if openapicontext set on array by @monitaurus in #6431
- fix(state): parameter decorates main chain by @soyuka in #6434
- fix(openapi): parameters can disable openapi by @soyuka in #6440
- fix(jsonschema): make all required properties optional in PATCH operation with 'json' format by @ttskch in #6394
New Contributors
Full Changelog: v3.3.6...v3.3.7
v3.2.25
What's Changed
- fix(metadata): wrong schema generated if openapicontext set on array by @monitaurus in #6431
Full Changelog: v3.2.24...v3.2.25
v3.3.6
What's Changed
- Fix typo on "Test your API" guide page by @alamirault in #6351
- fix(test): canonicalizing json arrays by @soyuka in #6386
- fix(graphql): name converter with class by @soyuka in #6396
- chore: update assets by @soyuka in #6400
- fix(metadata) Added phpdoc to ORM by @stephanvierkant in #6387
- chore(symfony): deprecations by @soyuka in #6401
- chore(symfony): deprecations (#6401) by @soyuka in #6405
- fix(state) handle empty request in read provider by @guillaume-sainthillier in #6403
- Lint container by @soyuka in #6409
- chore: openapi container lint by @soyuka in #6410
- Fix endpoint in subresource guide by @alamirault in #6420
- fix(doctrine): use null-safe operator when retrieving parameters by @soyuka in #6423
- fix(symfony): load swagger_ui when enabled by @soyuka in #6424
- fix(graphql): validate after resolver by @soyuka in #6426
New Contributors
- @alamirault made their first contribution in #6351
- @guillaume-sainthillier made their first contribution in #6403
Full Changelog: v3.3.5...v3.3.6
v3.2.24
What's Changed
- chore(symfony): deprecations (#6401) by @soyuka in #6405
- fix(state) handle empty request in read provider by @guillaume-sainthillier in #6403
- Lint container by @soyuka in #6409
- Fix endpoint in subresource guide by @alamirault in #6420
New Contributors
- @guillaume-sainthillier made their first contribution in #6403
Full Changelog: v3.2.23...v3.2.24
v3.3.5
v3.3.4
What's Changed
- fix(symfony): store original data without clone by @soyuka in #6367
- fix(validation): ValidationException causes TypeError exception when called with $code=null by @KernelMrex in #6375
- Add phpdoc to FilterInterface by @stephanvierkant in #6381
- test: PATCH on controller w/ dto by @soyuka in #6368
- fix(graphql): no validate on delete mutation by @soyuka in #6388
New Contributors
- @KernelMrex made their first contribution in #6375
Full Changelog: v3.3.3...v3.3.4
v3.2.23
What's Changed
- Fix typo on "Test your API" guide page by @alamirault in #6351
- fix(test): canonicalizing json arrays by @soyuka in #6386
New Contributors
- @alamirault made their first contribution in #6351
Full Changelog: v3.2.22...v3.2.23
v3.3.3
What's Changed
- fix(symfony): no read should throw on wrong uri variables by @soyuka in #6357
- fix(state): no location header without output by @soyuka in #6356
- fix(symfony): no read should not throw on wrong uri variables by @soyuka in #6359
- fix(graphql): resolver before validation by @soyuka in #6363
Full Changelog: v3.3.2...v3.3.3
v3.3.2
What's Changed
- fix(symfony): define use_symfony_listeners by @soyuka in #6344
- fix(symfony): set normalization context in request attributes by @soyuka in #6345
- fix(state): read without output by @soyuka in #6347
- docs: add guide for custom TagCollector service by @usu in #6348
- fix(symfony): use_symfony_listeners before registering services by @soyuka in #6350
Notes
You can remove the event_listeners_backward_compatibility_layer
flag and set use_symfony_listeners
instead. The use_symfony_listeners
should be true
if you use controllers or if you rely on Symfony event listeners.
Note that now flags like read
can be forced to true
if you want to call a Provider even on POST
operations. These are the rules we set up on runtime if no value has been set:
if (null === $operation->canValidate()) {
$operation = $operation->withValidate(!$request->isMethodSafe() && !$request->isMethod('DELETE'));
}
if (null === $operation->canRead()) {
$operation = $operation->withRead($operation->getUriVariables() || $request->isMethodSafe());
}
if (null === $operation->canDeserialize()) {
$operation = $operation->withDeserialize(\in_array($operation->getMethod(), ['POST', 'PUT', 'PATCH'], true));
}
Previously listeners did the checks before reading our flags and you could not force the values.
Full Changelog: v3.3.0...v3.3.1
Full Changelog: v3.3.0...v3.3.2