Skip to content

Releases: api-platform/core

v4.3.10

05 Jun 15:25
77c8788

Choose a tag to compare

What's Changed

  • fix(swagger): fix SwaggerUI CSS override by @vincentchalamon in #8245
  • fix(laravel): persist dirty embedded belongsTo relations by @soyuka in #8246
  • fix(graphql): dispatch item Query through its own provider by @soyuka in #8237
  • fix(laravel): register graphql routes before catch-all entrypoint by @soyuka in #8248
  • fix(laravel): detect enum casts in eloquent property metadata factory by @soyuka in #8247
  • fix(jsonapi): do not require id in input schema for post operations by @soyuka in #8252
  • fix(laravel): honor path_segment_name_generator config for url segments by @soyuka in #8251
  • fix(symfony): skip ErrorResourceAttributeLoaderPass on Symfony 6.4 by @soyuka in #8253
  • fix(serializer): allow nullable to-many relations to normalize as null by @soyuka in #8254
  • fix(state): guard hex2bin against malformed query parameter keys by @soyuka in #8255
  • fix(jsonapi): allow opt-in client-generated IDs on POST per spec by @abderrahimghazali in #7930

Full Changelog: v4.3.9...v4.3.10

v4.3.9

04 Jun 14:48
ca52b58

Choose a tag to compare

What's Changed

  • fix(test): capture streamedresponse body in test client response by @soyuka in #8235
  • fix(hydra): format datetime fields as iso 8601 in cursor pagination urls by @soyuka in #8241
  • fix(doctrine): extract alias from sql function in orderby parts by @soyuka in #8240
  • fix(serializer): bump api-platform/serializer to ^4.3.8 and cover Hal in CI by @soyuka in #8242
  • fix(graphql): nested resources without graphqloperations propagate fields by @soyuka in #8236
  • fix(graphql): return identifier-only node on circular reference by @soyuka in #8239

Full Changelog: v4.3.8...v4.3.9

v4.3.8

04 Jun 12:06
920a5d1

Choose a tag to compare

What's Changed

  • ErrorProvider: fix typo in _api_operation_nme by @Maxcastel in #7637
  • ci: bump actions/setup-node to v6 for Node 24 runtime by @soyuka in #8212
  • fix(tests): symfony 8.1 compat by @soyuka in #8210
  • fix(graphiql): migrate to v5 via esm.sh CDN by @soyuka in #8209
  • fix(jsonapi): keep flat custom params with flat page (#8216) by @soyuka in #8217
  • test: backport Behat removal from main to 4.3 by @soyuka in #8221
  • fix(symfony): guard null ExpressionLanguage in ResourceAccessChecker::usesObjectVariable() by @soyuka in #8219
  • fix(metadata): apply YAML/XML attributes to virtual (method-backed) properties by @soyuka in #8220
  • fix(openapi): emit Draft 4 boolean exclusive bounds for spec 3.0.0 by @soyuka in #8222
  • fix(symfony): filter nested constraint groups in Sequentially/Compound by @soyuka in #8223
  • fix(laravel): wire jsonapi.use_iri_as_id in ApiPlatformProvider by @soyuka in #8224
  • fix(state): omit Content-Type when response has no body by @soyuka in #8218
  • fix(openapi): emit valid 3.0 schemas when downgrading from 3.1 by @soyuka in #8225
  • fix(test): default content-type in ApiTestCase matches configured formats by @soyuka in #8227
  • ci(commitlint): check PR commits against PR base ref by @soyuka in #8234
  • fix(symfony): reject duplicate operation names instead of silently dropping operations by @soyuka in #8232
  • fix(openapi): coerce metadata parameters in user-supplied openapi operation by @soyuka in #8229
  • fix(symfony): keep error serialization mapping when enable_attributes is disabled by @soyuka in #8231
  • fix(openapi): disambiguate definition names when input and output share a shortname by @soyuka in #8230
  • fix(doctrine): resolve parent link toProperty during PUT create by @soyuka in #8233

Full Changelog: v4.3.7...v4.3.8

v4.2.25

04 Jun 09:26
bd68521

Choose a tag to compare

What's Changed

Full Changelog: v4.2.24...v4.2.25

v4.1.29

04 Jun 09:08
92e03df

Choose a tag to compare

What's Changed

Full Changelog: v4.1.28...v4.1.29

v4.3.7

29 May 07:17
25f8081

Choose a tag to compare

What's Changed

  • fix(openapi): include jsonapi collection schema by @Will-thom in #8190
  • fix(symfony): isolate api_platform.property_info tags by @soyuka in #8206

New Contributors

Full Changelog: v4.3.6...v4.3.7

v4.3.6

22 May 12:11
1c2f829

Choose a tag to compare

What's Changed

  • fix(serializer): translate PropertyAccess type mismatches to NotNormalizableValueException by @soyuka in #7967
  • fix(symfony): include value-object transformers in JSON-LD streamer locator by @soyuka in #7968
  • fix(graphql): accept FilterInterface instance in QueryParameter by @soyuka in #7972
  • ci: pin composer to 2.9.8 to avoid GitHub Actions token disclosure by @soyuka in #7974
  • fix(laravel): set application/ld+json content-type on /contexts/{shortName} by @soyuka in #7973
  • fix(symfony,laravel): IriConverter local cache key collision between item and collection ops by @soyuka in #7975
  • fix(symfony): register property_info fallback when not provided by Symfony by @guillaumedelre in #7969
  • test: cover Assert\Choice exposure in OpenAPI schema by @soyuka in #8191
  • fix(metadata): negotiate wildcard Accept with parameters by @soyuka in #8192
  • fix(jsonapi): merge flat page/itemsPerPage params with bracket filter by @soyuka in #8193
  • fix(metadata): :property dedup drops repeated parameters by @soyuka in #8196
  • fix(state): convert BackedEnum denormalization errors into validation violations by @soyuka in #8195

Full Changelog: v4.3.5...v4.3.6

v4.3.5

11 May 12:20
ad027fb

Choose a tag to compare

What's Changed

  • chore: allow doctrine/collections ^v3 by @soyuka in #7947
  • fix(laravel): fall back to resource class when object is null in ResourceAccessChecker by @soyuka in #7948
  • fix(symfony): api_platform_iris loader misses item Gets and api_genid by @soyuka in #7946
  • fix(mcp): pass title to Tool constructor by @soyuka in #7950
  • fix(laravel): expose ReDoc/Scalar in docs footer by @abderrahimghazali in #7942
  • chore(tests): reorganize Functional/ by feature scope by @soyuka in #7958
  • fix(symfony): Symfony 8.1 compatibility by @soyuka in #7955
  • test: phpunit exception not restored by @soyuka in #7959
  • [Mcp] Properly handle oneOf and anyOf in generated mcp schema so that JSONLD output is actually valid by @jbtronics in #7962
  • fix(laravel): inject missing dependencies into HydraSchemaFactory by @soyuka in #7963
  • test(hal): correct context array key type in normalizer test docblock by @soyuka in #7964
  • fix(hydra): emit hydra:next and hydra:previous on empty cursor-paginated collections by @guillaumedelre in #7961

New Contributors

Full Changelog: v4.3.4...v4.3.5

v4.3.4

30 Apr 12:58
fffcb25

Choose a tag to compare

What's Changed

  • refactor(metadata): use logic from ResourceClassInfoTrait by @Maxcastel in #7928
  • fix: ResourceClassInfoTrait::isResourceClass() is always true by @Maxcastel in #7924
  • fix(state): use exception message for user-facing violation when available by @vincentchalamon in #7894
  • fix(openapi): generate both singular and array parameter variants for filters by @soyuka in #7906
  • refactor(symfony): remove static state from EntrypointAction by @KevinMartinsDev in #7919
  • refactor(jsonld): use already declared $isResourceClass variable by @Maxcastel in #7901
  • fix(validator): handle nested groups and group sequences by @VincentLanglet in #7914
  • fix(metadata): nested property filters fail to generate JOINs when relation target entity is not directly declared as ApiResource by @Maxcastel in #7926
  • fix(state): preserve Type message when expectedTypes is set by @soyuka in #7935
  • fix(symfony): ensure ErrorListener is fully stateless to prevent stat… by @KevinMartinsDev in #7921
  • fix(laravel): skip relation metadata for abstract Eloquent models by @cay89 in #7933
  • fix(symfony): api_platform_iris route loader for graphql-only setups by @soyuka in #7934
  • fix(symfony): security regression when ResourceAccessChecker is decorated (#7896) by @giosh94mhz in #7897
  • fix(doctrine): IriFilter ignores custom ApiProperty identifier on ODM by @soyuka in #7937
  • fix(jsonapi): use parent-resolved class in denormalizeRelation by @elfin-sbreuers in #7938

New Contributors

Full Changelog: v4.3.3...v4.3.4

v4.3.3

29 Mar 10:11
7cc01a6

Choose a tag to compare

What's Changed

  • fix(state): do not map to input class in ObjectMapperProvider by @soyuka in #7892
  • fix(openapi): default explode to true for form and cookie style param… by @Roemerdt in #7891

New Contributors

Full Changelog: v4.3.2...v4.3.3