Releases: api-platform/core
Releases · api-platform/core
Version 2.2.8
- 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
- Compatibility with Symfony 4.1
- Compatibility with webonyx/graphql-php 0.12
- Add missing
ApiPlatform\Core\EventListener\EventPriorities
'sPRE_SERIALIZE
andPOST_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
- 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 accountRestrictedDataProviderInterface
- 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 theEagerLoadingExtension
- 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
andCachedSubresourceOperationFactory
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 theCachedTrait
- Forward the operation name to the
IriConverter
- Fix some more code quality issues
Version 2.2.5
- 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 accountRestrictedDataProviderInterface
Version 2.2.4
- 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
- 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
- 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
Merge branch 2.1.
Version 2.2.0
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 newApiPlatform\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
- 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