Releases: api-platform/core
v4.2.0-alpha.1
What's Changed
Object Mapper:
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:
- chore: bump phpstan version by @VincentLanglet in #7239
- chore: solve some phpstan issues by @VincentLanglet in #7249
- chore: disable treat phpdoc type as certain for phpstan by @VincentLanglet in #7250
- chore: more phpstan fixes by @VincentLanglet in #7265
- chore: introduce phpstan level 6 by @VincentLanglet in #7269
TypeInfo component:
- feat(graphql): use TypeInfo type by @soyuka in #7117
- feat(metadata/doctrine): Use
Type
ofTypeInfo
instead ofPropertyInfo
by @mtarld in #6979 - feat(openapi): use
TypeInfo
'sType
by @soyuka in #7096 - feat(hal): use
TypeInfo
type by @soyuka in #7097 - feat(elasticsearch): use
TypeInfo
type by @soyuka in #7098 - feat(hydra): use
TypeInfo
'sType
by @soyuka in #7099 - feat(jsonapi): use
TypeInfo
'sType
by @soyuka in #7100 - feat(laravel): use
TypeInfo
'sType
by @soyuka in #7101 - feat(serializer): type info by @soyuka in #7104
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
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
isfalse
(#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
- @johan-ds made their first contribution in #7189
- @ambroisemaupate made their first contribution in #7251
- @gharlan made their first contribution in #7262
Full Changelog: v4.1.17...v4.1.18
v4.1.17
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
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
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
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
- @Seb33300 made their first contribution in #7159
- @JakovKnezovicc made their first contribution in #7152
Full Changelog: v4.1.9...v4.1.12
v4.1.8
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
- @rdavaillaud made their first contribution in #7083
Full Changelog: v4.1.7...v4.1.8
v4.1.7
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
Full Changelog: v4.1.5...v4.1.6
v3.4.17
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