Releases: api-platform/core
Releases · api-platform/core
Version 2.5.4
- Add a local cache in
ResourceClassResolver::getResourceClass()
- JSON Schema: Fix generation for non-resource class
- Doctrine: Get class metadata only when it's needed in
SearchFilter
- GraphQL: Better detection of collection type
Version 2.5.3
- Compatibility with Symfony 5
- GraphQL: Fix
hasNextPage
whenoffset > itemsPerPage
Version 2.5.2
- Compatibility with Symfony 5 RC
- Compatibility with NelmioCorsBundle 2
- Fix the type of
ApiResource::$paginationPartial
- Ensure correct return type from
AbstractItemNormalizer::normalizeRelation
Version 2.5.1
- Compatibility with Symfony 5
- Fix a notice in
SerializerContextBuilder
- Fix dashed path segment generation
- Fix support for custom filters without constructor in the
@ApiFilter
annotation - Fix a bug that was preventing to disable Swagger/OpenAPI
- Return a
404
HTTP status code instead of500
whe the identifier is invalid (e.g.: invalid UUID) - Add links to the documentation in
@ApiResource
annotation's attributes to improve DX - JSON:API: fix pagination being ignored when using the
filter
query parameter - Elasticsearch: Allow multiple queries to be set
- OpenAPI: Do not append
body
parameter if it already exists - OpenAPI: Fix removal of illegal characters in schema name for Amazon API Gateway
- Swagger UI: Add missing
oauth2-redirect
configuration - Swagger UI: Allow changing the location of Swagger UI
- GraphQL: Fix an error that was occurring when
SecurityBundle
was not installed - HTTP/2 Server Push: Push relations as
fetch
Version 2.5.0
Read the curated changelog.
- Fix BC-break when using short-syntax notation for
access_control
- Fix BC-break when no item operations are declared
- GraphQL: Adding serialization group difference condition for
item_query
andcollection_query
types - JSON Schema: Fix command
Version 2.5.0 beta 2
- Allow to not declare GET item operation
- Add support for the Accept-Patch header
- Make the the
maximum_items_per_page
attribute consistent with other attributes controlling pagination - Allow to use a string instead of an array for serializer groups
- Test: Add an helper method to find the IRI of a resource
- Test: Add assertions for testing response against JSON Schema from API resource
- GraphQL: Add support for multipart request so user can create custom file upload mutations (#3041)
- GraphQL: Add support for name converter (#2765)
Version 2.5.0 beta 1
- Add an HTTP client dedicated to functional API testing (#2608)
- Add PATCH support (#2895)
- Add a command to generate json schemas
api:json-schema:generate
(#2996) - Add infrastructure to generate a JSON Schema from a Resource
ApiPlatform\Core\JsonSchema\SchemaFactoryInterface
(#2983) - Replaces
access_control
bysecurity
and adds asecurity_post_denormalize
attribute (#2992) - Add basic infrastructure for cursor-based pagination (#2532)
- Change ExistsFilter syntax to
exists[property]
, old syntax still supported see #2243, fixes it's behavior on GraphQL (also related #2640). - Pagination with subresources (#2698)
- Improve search filter id's managment (#1844)
- Add support of name converter in filters (#2751, #2897), filter signature in abstract methods has changed see b42dfd1
- Ability to change the Vary header via
cacheHeaders
attributes of a resource (#2758) - Ability to use the Query object in a paginator (#2493)
- Compatibility with Symfony 4.3 (#2784)
- Better handling of JsonSerializable classes (#2921)
- Elasticsearch: Add pagination (#2919)
- Add default, min, max specification in pagination parameter API docs (#3002)
- Add a swagger version configuration option
swagger.versions
and deprecates theenable_swagger
configuration option (#2998) - Order filter now documents
asc
/desc
as enum (#2971) - GraphQL: BC Break Separate
query
resource operation attribute intoitem_query
andcollection_query
operations so user can use different security and serialization groups for them (#2944, #3015) - GraphQL: Add support for custom queries and mutations (#2447)
- GraphQL: Add support for custom types
- GraphQL: Better pagination support (backwards pagination) (#2142)
- GraphQL: Support the pagination per resource
- GraphQL: Add the concept of stages in the workflow of the resolvers and add the possibility to disable them with operation attributes (#2959)
- GraphQL: Add GraphQL Playground besides GraphiQL and add the possibility to change the default IDE (or to disable it) for the GraphQL endpoint
- GraphQL: Add a command to print the schema in SDL
api:graphql:export > schema.graphql
(#2600) - GraphQL: Improve serialization performance by avoiding calls to the
serialize
PHP function - GraphQL: Allow to use a search and an exist filter on the same resource
- GraphQL: Refactor the architecture of the whole system to allow the decoration of useful services (
TypeConverter
to manage custom types,SerializerContextBuilder
to modify the (de)serialization context dynamically, etc.)
Notes:
Please read #2825 if you have issues with the behavior of Readable/Writable Link
Version 2.4.7
- Fix passing context to data persisters'
remove
method - Ensure OpenAPI normalizers properly expose the date format
- Add source maps for Swagger UI
- Improve error message when filter class is not imported
- Add missing autowiring alias for
Pagination
- Doctrine: ensure that
EntityManagerInterface
is used in data providers
Version 2.4.6
- GraphQL: Use correct resource configuration for filter arguments of nested collection
- Swagger UI: compatibility with Internet Explorer 11
- Varnish: Prevent cache miss by generating IRI for child related resources
- Messenger: Unwrap exception thrown in handler for Symfony Messenger 4.3
- Fix remaining Symfony 4.3 deprecation notices
- Prevent cloning non clonable objects in
previous_data
- Return a 415 HTTP status code instead of a 406 one when a faulty
Content-Type
is sent - Fix
WriteListener
trying to generate IRI for non-resources - Allow to extract blank values from composite identifier
Version 2.4.5
- Fix denormalization of a constructor argument which is a collection of non-resources
- Allow custom operations to return a different class than the expected resource class