What's Changed
Features
- feat: json streamer by @soyuka in #7225
- feat(mongodb): partial pagination by @soyuka in #7352
- Allow throwing an access denied exception on denormalization of secured properties by @dwgebler in #7221
- feat(symfony): Add error classes options to OpenAPI config by @alexndlm in #7143
- feat(elasticsearch): add support for v9 by @darthf1 in #7180
- feat(doctrine): new search filters by @vinceAmstoutz in #7121
- feat(serializer): set the object-to-populate in deserializer context as soon as data !== null by @lyrixx in #7124
- feat(metadata): use PHP file as resource format by @loic425 in #7017
- feature(symfony): Add CSS Color Schema Restriction for Property Validation by @SebLevDev in #7215
- feat(symfony): Autoconfigure classes using
#[ApiResource]
attribute by @GromNaN in #6943 - feat(doctrine): improve http cache invalidation using the mapping by @mrossard in #7319
- feat(metadata) Customize Resource & operations by @loic425 in #7213
- feat(symfony): object mapper with state options by @soyuka in #6801
- feat(doctrine): BackedEnumFilter allow multiple values similar to SearchFilter[exact] by @MeronNagy in #7129
- feat(serializer): handle defaultType for DiscriminatorMap by @alanpoulain in #7284
- feat(httpcache): add more cache directives to AddHeadersProcessor by @alanpoulain in #7008
- Add Error:setDescription by @VincentLanglet in #7329
Breaking changes
- Allow null on allowReserved and allowEmptyValue properties by @snoob in #7315
- fix(state): transform uri variable using ReadLinkParameterProvider by @soyuka in #7375
- feat(json-schema): mutualize json schema between formats by @soyuka in #6960
TypeInfo
- feat(jsonapi): use
TypeInfo
'sType
by @soyuka in #7100 - feat(hal): use
TypeInfo
type by @soyuka in #7097 - feat(hydra): use
TypeInfo
'sType
by @soyuka in #7099 - feat(metadata/doctrine): Use
Type
ofTypeInfo
instead ofPropertyInfo
by @mtarld in #6979 - feat(serializer): type info by @soyuka in #7104
- feat(elasticsearch): use
TypeInfo
type by @soyuka in #7098 - feat(openapi): use
TypeInfo
'sType
by @soyuka in #7096 - feat(laravel): use
TypeInfo
'sType
by @soyuka in #7101
Bug fixes
- fix(symfony): explicitly set the target when mapping entities to resources by @mrossard in #7311
- Only set name_converter for the default serializer by @mbeccati in #7365
- fix(openapi): no content schema by @soyuka in #7384
- fix: pagination via cursor on ApiResource operations by @valentindrdt in #7368
- fix(jsonld): various json streamer fixes by @soyuka in #7374
- fix(laravel): restore accidentally removed BooleanFilter by @vinceAmstoutz in #6881
- fix(httpcache): collection iri invalidation for mapped entities by @mrossard in #7353
- fix(state): object-mapper reuse related entity by @soyuka in #7300
- fix(httpcache): only map entites that are persisted by @soyuka in #7345
- feat(mongodb): Make
ParameterExtension
context more generic by @GromNaN in #7389
Miscellaneous
- feat(symfony): stop watch system provider/processor by @soyuka in #7299
- feat(openapi): license identifier by @soyuka in #7141
- fix(metadata): wrong method name in resource mutator by @soyuka in #7373
- Use class-string param type for Metadata::getClass by @VincentLanglet in #7307
- Remove internal from Metadata by @VincentLanglet in #7288
- fix(hal): rename package by @soyuka in #7386
- fix(metadata) Fix new PHP file resource extractor by @loic425 in #7193
- Fix/4372 skip null values in hal by @BacLuc in #7317
- fix(serializer): deprecate SerializerAwareProviderInterface and SerializableProvider by @vinceAmstoutz in #7348