github api-platform/core v2.7.0
Version 2.7.0

latest releases: v4.0.1, v4.0.0, v3.4.0...
2 years ago

Changelog

  • Swagger UI: Add usePkceWithAuthorizationCodeGrant to Swagger UI initOAuth (#4649)
  • BC: mapping.paths in configuration should override bundles configuration (#4465)
  • GraphQL: Add the ability to use different pagination types for the queries of a resource (#4453)
  • Security: BC Fix ApiProperty security attribute expression being passed a class string for the object variable on updates/creates - null is now passed instead if the object is not available (#4184)
  • Security: ApiProperty now supports a security_post_denormalize attribute, which provides access to the object variable for the object being updated/created and previous_object for the object before it was updated (#4184)
  • Maker: Add make:data-provider and make :data-persister commands to generate a data provider / persister (#3850)
  • JSON Schema: Add support for generating property schema with numeric constraint restrictions (#4225)
  • JSON Schema: Add support for generating property schema with Collection restriction (#4182)
  • JSON Schema: Add support for generating property schema format for Url and Hostname (#4185)
  • JSON Schema: Add support for generating property schema with Count restriction (#4186)
  • JSON Schema: Manage Compound constraint when generating property metadata (#4180)
  • Validator: Add an option to disable query parameter validation (#4165)
  • JSON Schema: Add support for generating property schema with Choice restriction (#4162)
  • JSON Schema: Add support for generating property schema with Range restriction (#4158)
  • JSON Schema: Add support for generating property schema with Unique restriction (#4159)
  • BC: Change api_platform.listener.request.add_format priority from 7 to 28 to execute it before firewall (priority 8) (#3599)
  • BC: Use @final annotation in ORM filters (#4109)
  • Allow defining exception_to_status per operation (#3519)
  • Doctrine: Better exception to find which resource is linked to an exception (#3965)
  • Doctrine: Allow mixed type value for date filter (notice if invalid) (#3870)
  • Doctrine: Add nulls_always_first and nulls_always_last to nulls_comparison in order filter (#4103)
  • Doctrine: Add a global order_nulls_comparison configuration (#3117)
  • MongoDB: date_immutable support (#3940)
  • DataProvider: Add TraversablePaginator (#3783)
  • JSON:API: Support inclusion of resources from path (#3288)
  • Swagger UI: Add swagger_ui_extra_configuration to Swagger / OpenAPI configuration (#3731)
  • Allow controller argument with a name different from $data thanks to an argument resolver (#3263)
  • GraphQL: Support ApiProperty security (#4143)
  • GraphQL: BC Fix security on association collection properties. The collection resource item_query security is no longer used. ApiProperty security can now be used to secure collection (or any other) properties. (#4143)
  • Deprecate allow_plain_identifiers option (#4167)
  • Exception: Add the ability to customize multiple status codes based on the validation exception (#4017)
  • ApiLoader: Support _format resolving (#4292)
  • Metadata: new namespace ApiPlatform\Metadata instead of ApiPlatform\Core\Metadata, for example ApiPlatform\Metadata\ApiResource (#4351)
  • Metadata: deprecation of ApiPlatform\Core\Annotation (#4351)
  • Metadata: ApiPlatform\Core\Metadata\Resource\Factory\ResourceMetadataFactoryInterface is deprecated in favor of ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface (#4351)
  • Metadata: item and collection prefixes for operations are deprecated, as well as the ApiPlatform\Core\Api\OperationType class (#4351)
  • Graphql: ApiPlatform\Metadata\GraphQl follow the same metadata conventions (a Subscription operation is available and isn't hidden behind an update Mutation anymore), interfaces got simplified (being @experimental) (#4351)
  • IriConverter: new interface for ApiPlatform\Bridge\Symfony\Routing\IriConverter that adds an operationName, same for ApiPlatform\Api\IdentifiersExtractor (#4351)
  • DataProvider: new ApiPlatform\State\ProviderInterface that replaces DataProviders (#4351)
  • DataPersister: new ApiPlatform\State\ProcessorInterface that replaces DataPersisters (#4351)
  • A new configuration is available to keep old services (IriConverter, IdentifiersExtractor and OpenApiFactory) metadata_backward_compatibility_layer (defaults to false) (#4351)
  • Add support for security_post_validation attribute
  • Mark the GraphQL subsystem as stable (#4500)
  • feat(test): add Client::loginUser() (#4588)
  • feat(http_cache): use symfony/http-client instead of guzzlehttp/guzzle, ApiPlatform\Core\HttpCache\PurgerInterface is deprecated in favor of ApiPlatform\HttpCache\PurgerInterface, new purger that uses PURGE (#4695)
  • Implements Skolem IRIs instead of blank nodes, can be disabled using iri: false (#4731)
  • IRI Converter: new interface declaring getIriFromResource and getResourceFromIri (#4734)
  • Backward compatibility: fix dependency injection (#4744)
  • Metadata: allow extra keys within defaults (#4743)
  • Backward compatibility: fix upgrade script for subresources (#4747)
  • Backward compatibility: fix dependency injection (#4748)
  • GraphQl: output creates its own type in TypeBuilder (#4766)
  • Metadata: clear missing metadata cache pools (#4770)
  • Metadata: property override when value is set (#4767)
  • Metadata: add read and write to extractor (#4760)
  • JsonSchema: factory backward compatibility layer (#4758)
  • Metadata: defaults properly overrides metadata (#4759)
  • Metadata: Add missing processor and provider to extractor (#4754)
  • Metadata: defaults deprecation (#4772)
  • Json-Ld: property metadata types and iris (#4769)
  • Symfony: write listener uri variables converter (#4774)
  • Metadata: extra properties operation inheritance (#4773)
  • Processor: adds previous_data to the context (#4776)
  • JsonApi: Use skolem IRIs (#4796)
  • Metadata: Merge defaults instead of overriding (#4796)
  • ApiTestCase: Fix JSON Schema assertions (#4796)
  • Input/Output: backport serializer changes to make input/output work as resource classes without data transformers (#4804)
  • GraphQl: the SerializerContextBuilder interface changes to reflect operation instead of the operation name BC (#4804)
  • Metadata: reduce coalescing operator call (#4810)
  • Serializer: ignore no-operation on SerializeListener (#4828)
  • Schema: schema generation with default operation (#4818)
  • Symfony: deprecate the $exceptionOnNoToken parameter in ResourceAccessChecker::__construct() (#4900)
  • chore: remove @experimental phpdoc (#4933)
  • Metadata: do not set id when identifier is false (#4880)
  • Metadata: automatic GET operation when none is declared (#4881)
  • Metadata: exception to status on operations (#4861)
  • Serializer: adds the JSON_INVALID_UTF8_IGNORE flag to JsonEncode (#4741)
  • Symfony: autoconfigure legacy Doctrine extensions (#4909)
  • Elasticsearch: skip metadata without ES nodes (#4913)

Don't miss a new core release

NewReleases is sending notifications on new releases.