Skip to content

Releases: api-platform/core

v3.3.8

11 Jul 14:17
v3.3.8
0792141
Compare
Choose a tag to compare

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

28 Jun 09:46
6daec82
Compare
Choose a tag to compare

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

28 Jun 09:44
f8cfa81
Compare
Choose a tag to compare

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

14 Jun 07:18
v3.3.6
c7f25dc
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.3.5...v3.3.6

v3.2.24

14 Jun 07:09
v3.2.24
e32a4c7
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.2.23...v3.2.24

v3.3.5

29 May 05:50
v3.3.5
b5a93fb
Compare
Choose a tag to compare

What's Changed

  • fix(symfony): documentation request _format by @soyuka in #6390
  • tests: constraint Url needs "requireTld" by @soyuka in #6393

Full Changelog: v3.3.4...v3.3.5

v3.3.4

24 May 16:44
v3.3.4
2f4ecc8
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.3.3...v3.3.4

v3.2.23

24 May 16:41
v3.2.23
6bd7a71
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.2.22...v3.2.23

v3.3.3

10 May 11:17
v3.3.3
59dca65
Compare
Choose a tag to compare

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

03 May 09:38
v3.3.2
6fa4bb7
Compare
Choose a tag to compare

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