Skip to content

Releases: api-platform/core

Version 2.2.8

18 Jun 07:30
v2.2.8
e8e4ce2
Compare
Choose a tag to compare
  • Fix support for max depth when using subresources
  • Fix a fatal error when a subresource type is not defined
  • Add support for group sequences in the validator configuration
  • Add a local class metadata cache in the HAL normalizer
  • FilterEagerLoadingExtension now accepts joins with class name as join value

Version 2.2.7

07 Jun 05:51
v2.2.7
9a64d15
Compare
Choose a tag to compare
  • Compatibility with Symfony 4.1
  • Compatibility with webonyx/graphql-php 0.12
  • Add missing ApiPlatform\Core\EventListener\EventPriorities's PRE_SERIALIZE and POST_SERIALIZE constants
  • Disable eager loading when no groups are specified to avoid recursive joins
  • Fix embeddable entities eager loading with groups
  • Don't join the same association twice when eager loading
  • Fix max depth handling when using HAL
  • Check the value of enable_max_depth if defined
  • Minor performance and quality improvements

Version 2.2.6

14 May 13:12
v2.2.6
9d71217
Compare
Choose a tag to compare
  • Fix identifiers creation and update when using GraphQL
  • Fix nested properties support when using filters with GraphQL
  • Fix a bug preventing the ExistFilter to work properly with GraphQL
  • Fix a bug preventing to use a custom denormalization context when using GraphQL
  • Enforce the compliance with the JSONAPI spec by throwing a 400 error when using the "inclusion of related resources" feature
  • Update ChainSubresourceDataProvider to take into account RestrictedDataProviderInterface
  • Fix the cached identifiers extractor support for stringable identifiers
  • Allow a POST request to have an empty body
  • Fix a crash when the ExpressionLanguage component isn't installed
  • Enable item route on collection's subresources
  • Fix an issue with subresource filters, was incorrectly adding filters for the parent instead of the subresource
  • Throw when a subresources identifier is not found
  • Allow subresource items in the IriConverter
  • Don't send the Link HTTP header pointing to the Hydra documentation if docs are disabled
  • Fix relations denormalization with plain identifiers
  • Prevent the OrderFilter to trigger faulty deprecation notices
  • Respect the fetchEager=false directive on an association in the EagerLoadingExtension
  • Use the configured name converter (if any) for relations in the HAL's ItemNormalizer
  • Use the configured name converter (if any) in the ConstraintViolationListNormalizer
  • Dramatically improve the overall performance by fixing the normalizer's cache key generation
  • Improve the performance CachedRouteNameResolver and CachedSubresourceOperationFactory by adding a local memory cache layer
  • Improve the performance of access control checking when using GraphQL
  • Improve the performance by using isResourceClass when possible
  • Remove a useless try/catch in the CachedTrait
  • Forward the operation name to the IriConverter
  • Fix some more code quality issues

Version 2.2.5

03 Apr 16:09
v2.2.5
d21403e
Compare
Choose a tag to compare
  • Fix a various issues preventing the metadata cache to work properly (performance fix)
  • Fix a cache corruption issue when using subresources
  • Fix non-standard outputs when using the HAL format
  • Persist data in Doctrine DataPersister only if needed
  • Fix identifiers handling in GraphQL mutations
  • Fix client-side ID creation or update when using GraphQL mutations
  • Fix an error that was occuring when the Expression Language component wasn't installed
  • Update the ChainSubresourceDataProvider class to take into account RestrictedDataProviderInterface

Version 2.2.4

09 Mar 16:13
v2.2.4
7ad11ef
Compare
Choose a tag to compare
  • Fix a BC break preventing to pass non-arrays to the builtin Symfony normalizers when using custom normalizers
  • Fix a bug when using FilterEagerLoadingExtension with manual joins
  • Fix some bugs in the AWS API Gateway compatibility mode for Open API/Swagger

Version 2.2.3

05 Mar 09:14
v2.2.3
7bdead7
Compare
Choose a tag to compare
  • Fix object state inconsistency after persistence
  • Allow to use multiple @ApiFilter annotations on the same class
  • Fix a BC break when the serialization context builder depends of the retrieved data
  • Fix a bug regarding collections handling in the GraphQL endpoint

Version 2.2.2

23 Feb 18:47
v2.2.2
0eb8d76
Compare
Choose a tag to compare
  • Autoregister classes implementing SubresourceDataProviderInterface
  • Fix the DateTimeImmutable support in the date filter
  • Fix a BC break in DocumentationAction impacting NelmioApiDoc
  • Fix the context passed to data providers (improve the eager loading)
  • Fix fix a subresource's metadata cache bug
  • Fix the configuration detection when using a custom directory structure

Version 2.2.1

20 Feb 16:37
v2.2.1
078a4a3
Compare
Choose a tag to compare

Merge branch 2.1.

Version 2.2.0

16 Feb 16:21
v2.2.0
45c537f
Compare
Choose a tag to compare

For an overview of the main new features of this version, read the release announcement.

  • Add GraphQL support (including mutations, pagination, filters, access control rules and automatic SQL joins)
  • Fully implement the GraphQL Relay Server specification
  • Add JSONAPI support
  • Add a new @ApiFilter annotation to directly configure filters from resource classes
  • Add a partial paginator that prevents COUNT() SQL queries
  • Add a new simplified way to configure operations
  • Add an option to serialize Validator's payloads (e.g. error levels)
  • Add support for generators in data providers
  • Add a new allow_plain_identifiers option to allow using plain IDs as identifier instead of IRIs
  • Add support for resource names without namespace
  • Automatically enable FOSUser support if the bundle is installed
  • Add an AbstractCollectionNormalizer to help supporting custom formats
  • Deprecate NelmioApiDocBundle 2 support (upgrade to v3, it has native API Platform support)
  • Deprecate the ApiPlatform\Core\Bridge\Doctrine\EventListener\WriteListener class in favor of the new ApiPlatform\Core\EventListener\WriteListener class.
  • Remove the api_platform.doctrine.listener.view.write event listener service.
  • Add a data persistence layer with a new ApiPlatform\Core\DataPersister\DataPersisterInterface interface.
  • Add the a new configuration to disable the API entrypoint and the documentation
  • Allow to set maximum items per page at operation/resource level
  • Add the ability to customize the message when configuring an access control rule trough the access_control_message attribute
  • Allow empty operations in XML configs

Version 2.2.0 beta 2

12 Feb 14:46
v2.2.0-beta.2
0e5df6f
Compare
Choose a tag to compare
Version 2.2.0 beta 2 Pre-release
Pre-release
  • Add the ability to customize the message when configuring an access control rule trough the access_control_message attribute
  • Allow empty operations in XML configs
  • Bug fixes and improvement, especially regarding GraphQL support
  • Fix the triggering of deprecation notices
  • Revert of the always identifier new feature to propose it directly in Symfony instead (see #1696)
  • Global code quality improvements