- [BC BREAK] The
@Routeannotation and all its children no longer extend SensioFrameworkExtraBundle's annotation. The main effect is that@Route::$serviceis no longer available. Instead, define your controllers using the FQCN as service IDs or create an alias in the container using the FQCN.
-
improved Symfony 4 compatibility
-
manually decorate the core JMS handler registry
-
run checks after SensioFrameworkExtraBundle
-
made the view handler alias public
-
check for definitions before they might be removed
-
added Yaml routing resource support
-
refactored several unit tests
-
added support for file paths to the directory route loader
-
added support for context factories when using JMS Serializer
-
the
RequestBodyParamConverterignores unrelated controller arguments to not conflict with Symfony's built-in argument resolver -
made the bundle compatible with SensioFrameworkExtraBundle 4.x
-
added some interface aliases to support by ID autowiring
-
added support for custom keys for groups when using JMSSerializerBundle
-
allow to load FOSRestBundle inside the kernel before JMSSerializerBundle
-
added the
fos_rest.routing_loader.prefix_methodsoption to disable method name prefixes in generated route names -
removed newline characters from exception messages
-
added a new
InvalidParameterExceptionas a specialization of theBadRequestHttpException -
deprecated the
FOS\RestBundle\Util\ViolationFormatterclass and theFOS\RestBundle\Util\ViolationFormatterInterface -
deprecated the
ViolationFormatterInterfaceargument of theParamFetcherclass constructor -
deprecated the
RedirectViewandRouteRedirectViewclasses, useView::createRedirect()andView::createRouteRedirect()instead -
added a
fos_rest.exception.debugconfig option that defaults to thekernel.debugcontainer parameter and can be turned on to include the caught exception message in the exception controller's response -
introduced the concept of REST zones which makes it possible to disable all REST listeners when a request matches certain attributes
-
fixed that serialization groups are always passed to the constructor as an array
-
added annotations to support additional HTTP methods defined by RFC 2518 (WebDAV)
-
added a new loader that allows to extract REST routes from all controller classes from a directory
-
introduced a serializer adapter layer to ease the integration of custom serialization implementations
-
deprecated the getter methods of the
ViewHandlerclass -
fixed an issue that prevented decoration of the
TemplateReferenceInterfacefrom the Symfony Templating component -
fixed: no longer overwrite an explicitly configured template in the view response listener
-
added support for API versioning in URL parameters, the
Acceptheader or using a custom header -
marked some classes and methods as internal, do no longer use them in your code as they are likely to be removed in future releases
-
deprecated the
DoctrineInflectorclass and theInflectorInterfacefrom theFOS\RestBundle\Util\Inflectorin favor of their replacements in theFOS\RestBundle\Inflectornamespace -
deprecated the
FormatNegotiatorclass and theFormatNegotiatorInterfacefrom theFOS\RestBundle\Utilnamespace in favor of the newFOS\RestBundle\Negotiation\FormatNegotiatorclass -
deprecated the
FOS\RestBundle\Util\MediaTypeNegotiatorInterfacewhich should no longer be used
-
handle
\Throwableinstances in theExceptionController -
fixed that the default exclusion strategy groups for the serializer are not the empty string
-
fixed a BC break that prevented the
CamelKeysNormalizerfrom removing leading underscores -
fixed the
AllowedMethodsRouteLoaderto work with Symfony 3.0
-
removed uses of the reflection API in favor of faster solutions when possible
-
fixed the configuration to use serialization groups and versions at the same time
-
when using Symfony 3.x, the bundle doesn't call methods anymore that have been deprecated in Symfony 2.x and were removed in Symfony 3.0
-
the
ViewResponseListenerdoes not overwrite explicitly configured templates anymore -
fixed the
ParamFetcherclass to properly handle sub requests
- added a
CamelKeysNormalizerWithLeadingUnderscorethat keeps leading underscores when converting snake case to camel case (for example, leaving_usernameunchanged)
CAUTION: Accidentally, this patch release was never published.
- removed some code from the
ViewResponseListenerclass that was already present in the parentTemplateListenerclass
-
made it possible to use the bundle with Symfony 3.x and fixed some compatibility issues with Symfony 3.0
-
fixed the exception controller to return a 406 (Not Acceptable) response when the format negotiator throws an exception
-
fixed loading XML schema definition files in case the paths contain special characters (like spaces)
-
return the FQCN in the form type extension's
getExtendedType()method to be compatible with Symfony >= 2.8 -
added the
extended-typeattribute to theform.type_extensiontag to be compatible with Symfony >= 2.8 -
fixed some code examples in the documentation
-
fixed exception message when using non-numeric identifiers (like UUID or GUID)
-
allow version 1.x of
jms/serializerandjms/serializer-bundle -
allow to use the Symfony serializer even if the JMS serializer is present
- fix regression when handling methods in
@Routeannotations