What's Changed
- feat(openapi): Scalar API Reference documentation support by @soyuka in #7817
- fix(mcp): fallback to sdk handler when not found by @soyuka in #7818
- feat: support dynamic HTTP response status code via request attribute by @Griffon-Weglot in #7904
- fix(state): scope ReadLinkParameterProvider to current Link's class by @soyuka in #7943
- test: phpunit exception not restored by @soyuka in #7949
- feat(hydra): use hydra:memberAssertion instead of owl:equivalentClass by @abderrahimghazali in #7944
- refactor(jsonld): simplify @context building by @soyuka in #7952
- refactor: split normalizer/denormalizer by @soyuka in #7713
- test(jsonld,hydra,hal): migrate behat features to ApiTestCase by @soyuka in #7957
- feat(doctrine): state options repositoryMethod for query builder by @soyuka in #7115
- feat(symfony,laravel):
withCredentialsoption to Swagger UI by @cay89 in #8197 - test: migrate remaining trivial behat features to ApiTestCase by @soyuka in #7971
- test: eliminate behat-migration skips and tighten ported asserts by @soyuka in #8198
- test: migrate elasticsearch/security/serializer/mongodb behat suites to ApiTestCase by @soyuka in #8202
- feat(jsonld): add resource-level jsonldContext for namespace prefixes by @soyuka in #8204
- ci: stale bot via actions, exempt typed issues by @soyuka in #8208
- ci(stale): bump checkout to v6 and github-script to v8 by @soyuka in #8213
- test: migrate doctrine/graphql behat features to ApiTestCase by @soyuka in #8205
- ci: trim phpunit-components matrix and merge fail-deprecation by @soyuka in #8214
- feat(metadata): throwOnNotFound option by @soyuka in #6027
- feat!(state): constraint-aware 422 for denormalization errors by @soyuka in #8211
- feat(doctrine): per-property filter map in FreeTextQueryFilter by @soyuka in #8257
- chore: fix php-cs-fixer by @alexisLefebvre in #8269
- test: drop stale serializer 8.1 getErrors() deprecation expectation by @soyuka in #8287
- feat(doctrine): add EndSearchFilter primary for ORM and ODM by @soyuka in #8319
- feat(doctrine): promote ComparisonFilter out of @experimental by @soyuka in #8323
- feat(doctrine): promote OrFilter out of @experimental by @soyuka in #8324
- feat(metadata): document BackwardCompatibleFilterDescriptionTrait as public API by @soyuka in #8326
- feat(doctrine): add StartSearchFilter and WordStartSearchFilter (ORM + ODM) by @soyuka in #8328
- feat(doctrine): deprecate AbstractFilter base class by @soyuka in #8330
- feat(symfony): deprecate Symfony Security AccessDeniedException by @soyuka in #8318
- fix(serializer): accept union-typed IRI collections on denormalization by @soyuka in #8339
- feat(symfony): deprecate jsonapi.use_iri_as_id defaulting to true by @soyuka in #8327
- feat(doctrine): deprecate the extends-AbstractFilter form of Date/Range/Exists filters by @soyuka in #8340
- feat(doctrine): deprecate the legacy SearchFilter/Boolean/Numeric/BackedEnum/OrderFilter by @soyuka in #8341
- perf(laravel): memoize the Symfony RouteCollection in Router by @soyuka in #8342
- fix(jsonschema): don't require @id in single-item MCP output schema by @alexisLefebvre in #8343
- fix(serializer): forward DiscriminatorMap defaultType in PropertyMetadataLoader by @soyuka in #8346
- fix(graphql): build filter args from parameters by @soyuka in #8347
- feat(openapi): support OpenAPI 3.2.0 by @soyuka in #8350
- feat(symfony): api:upgrade-filter codemod + filter fixture migration by @soyuka in #8344
New Contributors
- @Griffon-Weglot made their first contribution in #7904
Full Changelog: v4.3.14...v4.4.0-alpha.1