Skip to content

Releases: api-platform/core

v4.2.0-alpha.1

03 Jul 14:04
828b62a
Compare
Choose a tag to compare
v4.2.0-alpha.1 Pre-release
Pre-release

What's Changed

Object Mapper:

  • feat(symfony): object mapper with state options by @soyuka in #6801

Various features:

  • feat(httpcache): add more cache directives to AddHeadersProcessor by @alanpoulain in #7008
  • feat(symfony): Autoconfigure classes using #[ApiResource] attribute by @GromNaN in #6943
  • feat(serializer): set the object-to-populate in deserializer context as soon as data !== null by @lyrixx in #7124
  • feat(openapi): license identifier by @soyuka in #7141
  • feat(symfony): Add error classes options to OpenAPI config by @alexndlm in #7143
  • feat(json-schema): mutualize json schema between formats by @soyuka in #6960
  • feat(metadata): use PHP file as resource format by @loic425 in #7017
  • feat(elasticsearch): add support for v9 by @darthf1 in #7180
  • Allow throwing an access denied exception on denormalization of secured properties by @dwgebler in #7221
  • feature(symfony): Add CSS Color Schema Restriction for Property Validation by @SebLevDev in #7215

PHPStan 2:

TypeInfo component:

Bug fixes:

  • fix(metadata) Fix new PHP file resource extractor by @loic425 in #7193
  • refactor(symfony): remove obsolete option validator.query-parameter-validation by @alexndlm in #7139
  • fix(openapi): vacuum instead of swagger-cli by @soyuka in #7130

New Contributors

Full Changelog: v4.1.18...v4.2.0-alpha.1

v4.1.18

03 Jul 13:54
fe921cd
Compare
Choose a tag to compare

What's Changed

  • chore: remove 3.4 deprecation by @maxhelias in #7204
  • fix: ApiPlatform\Symfony\Bundle\Test\Client::getContainer return type by @VincentLanglet in #7230
  • fix(metadata): build Open Api attributes in XmlResourceExtractor by @johan-ds in #7189
  • fix(validator): parameter validation list|string by @soyuka in #7245
  • feat(metadata): add support for stateOptions in YAML and XML for Doctrine ORM/ODM by @fmata in #7217
  • fix(jsonschema): rebuild sub-schema definition without @id property when genId is false (#7162) by @ambroisemaupate in #7251
  • chore: move a behat test to phpunit by @soyuka in #7252
  • ci: rate limiting for commitlint by @soyuka in #7253
  • chore(laravel): param-out for reference mutation by @soyuka in #7254
  • ci: refactor release job to use github app by @soyuka in #7259
  • fix(jsonld): reset gen_id configuration by @soyuka in #7263
  • fix(state): depend only on translation contracts by @gharlan in #7262
  • fix(jsonld): reset gen_id configuration by @soyuka in #7264
  • fix(openapi): command options mode (InputOption::VALUE_REQUIRED) by @gharlan in #7266
  • fix(laravel): decorate error handler by @soyuka in #7247
  • fix(symfony): catch InvalidUriVariableException in IriConverter by @alexndlm in #7271
  • fix(symfony): fix resolving groups in ValidationGroupsExtractorTrait when GroupSequence by @alexndlm in #7272
  • fix(state): error xml format output by @soyuka in #7273
  • tests: test parameters type detection by @vincentchalamon in #7240

New Contributors

Full Changelog: v4.1.17...v4.1.18

v4.1.17

23 Jun 11:03
e1191ca
Compare
Choose a tag to compare

What's Changed

  • fix(laravel): Allow LinksHandler to handle polymorphic relationships by @jonerickson in #7231
  • fix: fix boolean parameters type detection by @vincentchalamon in #7223
  • Generate correct examples for OpenApi 3.0 by @Fylax in #7218
  • fix(jsonld): genId false should work with embeded resources by @soyuka in #7219

New Contributors

Full Changelog: v4.1.16...v4.1.17

v4.1.16

13 Jun 13:04
64ff50f
Compare
Choose a tag to compare

What's Changed

  • fix(laravel): route where uses requirements by @soyuka in #7199
  • fix(laravel): persist HasMany and MorphMany relationships by @soyuka in #7208
  • refactor(state): merge parameter and link security by @soyuka in #7200
  • fix(symfony): fix property restrictions for root resource with dynamic validation groups by @c1tru55 in #7184

Notes:

Two providers are now available on parameters (query parameters, header and uri variables Link):

ReadLinkParameterProvider previously used for link security (renamed from Symfony\Security\State\LinkedReadProvider)
IriConverterParameterProvider this allows you to read a resource from an IRI usefull for filters (eg ?author=/authors/1)

Previous tests on link security were left untouched we removed the experimental class Symfony\Security\State\LinkAccessCheckerProvider as well as the LinkedReadProvider as they're not used anymore.

Full Changelog: v4.1.15...v4.1.16

v4.1.13

06 Jun 13:15
0abaf69
Compare
Choose a tag to compare

What's Changed

  • ci: prefer-lowest to avoid bumping inter components dependencies by @soyuka in #7169
  • fix(laravel): index on non-primary key by @soyuka in #7183
  • fix: skip openapi webhooks when generating routes by @alexndlm in #7175
  • fix(laravel): persist morph relations by @Seb33300 in #7170
  • fix(openapi): fix duplicate get path for webhooks by @alexndlm in #7174
  • ci: ignore symfony 7.3 deprecations by @soyuka in #7192

Full Changelog: v4.1.12...v4.1.13

v4.1.12

22 May 13:33
abb1fac
Compare
Choose a tag to compare

What's Changed

  • fix(metadata): parameter cast to array flag by @soyuka in #7160
  • fix(metadata): infer parameter string type from schema by @soyuka in #7161
  • fix(laravel): persist embeded relations with groups by @soyuka in #7164
  • feat(laravel): add name_converter option by @Seb33300 in #7159
  • fix(laravel): validate the model instead of body by @soyuka in #7165
  • fix(httpcache): generating iri cache tag for collection operation with path para… by @JakovKnezovicc in #7152
  • fix(laravel): register error handler without graphql by @soyuka in #7168
  • fix(state): do not expose FQCN in DeserializeProvider on PartialDenormalizationException by @alexndlm in #7158
  • fix(serializer): Fix exception message to not expose resource FQCN by @alexndlm in #7156

New Contributors

Full Changelog: v4.1.9...v4.1.12

v4.1.8

09 May 06:05
4ddce1f
Compare
Choose a tag to compare

What's Changed

  • fix(symfony): correct class to exclude to avoid inheriting global default for internal resource by @Crovitche-1623 in #7088
  • fix(serializer): backport handling of union/intersection type in item normalizer by @deguif in #7106
  • fix(state): specify :property parameter properties by @soyuka in #7110
  • fix(serializer): throw NotNormalizableValueException when resource not found or invalid IRI on denormalization by @alexndlm in #6985
  • fix(doctrine): filters schema for dates and numbers by @soyuka in #7131
  • fix: filtering not using strategy set in attribute when strategy not set per property by @nesl247 in #7136
  • doc(doctrine): document how to compute and sort a virtual field by @soyuka in #7113
  • refactor(state): state options code duplication by @soyuka in #7109

New Contributors

Full Changelog: v4.1.7...v4.1.8

v4.1.7

11 Apr 09:55
83d005a
Compare
Choose a tag to compare

What's Changed

  • fix(metadata): Link Security YAML by @ytilotti in #7066
  • fix(hydra): use correctly enable_docs by @alanpoulain in #7062
  • fix(laravel): eloquent BelongsTo linking by @soyuka in #7075
  • fix(symfony): internal resources should not inherit global defaults by @Crovitche-1623 in #7073
  • fix(metadata): Use template typehint in parameters by @deguif in #7078
  • fix(metadata): parameter provider within filter by @soyuka in #7081
  • Revert "fix(jsonld): duplicate error fields when prefix is enabled" by @soyuka in #7074
  • fix(symfony): do not ignore Test files on symfony by @soyuka in #7077

New Contributors

Full Changelog: v4.1.6...v4.1.7

v4.1.6

07 Apr 08:49
v4.1.6
7471860
Compare
Choose a tag to compare

Full Changelog: v4.1.5...v4.1.6

v3.4.17

07 Apr 08:42
v3.4.17
c5fb664
Compare
Choose a tag to compare

Exceptional release as 3.4 is not maintained anymore, this resolves our recent security issues:

GHSA-cg3c-245w-728m
GHSA-428q-q3vv-3fq3

What's Changed

  • test: guides migration table eixts by @soyuka in #6931
  • fix: allow parameter provider as object by @deguif in #7032
  • fix: header parameter should be case insensitive by @soyuka in #7031
  • Revert "fix(doctrine): throw an exception when a filter is not found in a parameter" by @soyuka in #7046

Full Changelog: v3.4.16...v3.4.17