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