Features
- added support for Symfony 5 compatibility
BC Breaks
-
the route generation feature was removed, setting it to another value than
false
leads to an
exception -
support for serializing exceptions was removed, setting the
fos_rest.exception.serialize_exceptions
option to anything else thanfalse
leads to an exception -
support for returning anything other than
string
ornull
fromresolve()
when implementing
theVersionResolverInterface
was removed -
removed support for passing version numbers as integers to
Context::setVersion()
-
removed the
isFormatTemplating()
,renderTemplate()
, andprepareTemplateParameters()
methods
from theViewHandler
class and theViewHandlerInterface
-
the constructor of the
ViewHandler
class isprivate
now, use the staticcreate()
factory
method instead -
removed the
setTemplateVar()
,setPopulateDefaultVars()
,getTemplateVar()
, and
isPopulateDefaultVars()
methods from theController\Annotations\View
class -
removed the
setEngine()
,setTemplate()
,setTemplateData()
,setTemplateVar()
,getEngine()
,
getTemplate()
,getTemplateData()
, andgetTemplateVar()
methods from theView\View
class -
changed the default value of the
fos_rest.body_listener
option tofalse
-
removed the
setMaxDepth()
/getMaxDepth()
methods from theContext
class, use
enableMaxDepth()
/disableMaxDepth()
instead -
dropped support for Symfony components < 4.4
-
removed the following options:
fos_rest.access_denied_listener
fos_rest.exception.exception_controller
fos_rest.exception.exception_listener
fos_rest.exception.service
fos_rest.service.inflector
fos_rest.service.router
fos_rest.service.templating
fos_rest.view.default_engine
fos_rest.view.force_redirects
fos_rest.view.templating_formats
-
removed the following classes and interfaces:
FOS\RestBundle\Controller\Annotations\NamePrefix
FOS\RestBundle\Controller\Annotations\NoRoute
FOS\RestBundle\Controller\Annotations\Prefix
FOS\RestBundle\Controller\Annotations\RouteResource
FOS\RestBundle\Controller\Annotations\Version
FOS\RestBundle\Controller\ExceptionController
FOS\RestBundle\Controller\TemplatingExceptionController
FOS\RestBundle\Controller\TwigExceptionController
FOS\RestBundle\EventListener\AccessDeniedListener
FOS\RestBundle\EventListener\ExceptionListener
FOS\RestBundle\Inflector\DoctrineInflector
FOS\RestBundle\Inflector\InflectorInterface
FOS\RestBundle\Routing\Loader\DirectoryRouteLoader
FOS\RestBundle\Routing\Loader\Reader\RestActionReader
FOS\RestBundle\Routing\Loader\Reader\RestControllerReader
FOS\RestBundle\Routing\Loader\RestRouteLoader
FOS\RestBundle\Routing\Loader\RestRouteProcessor
FOS\RestBundle\Routing\Loader\RestXmlCollectionLoader
FOS\RestBundle\Routing\Loader\RestYamlCollectionLoader
FOS\RestBundle\Routing\ClassResourceInterface
FOS\RestBundle\Routing\RestRouteCollection
FOS\RestBundle\Serializer\Normalizer\ExceptionHandler
FOS\RestBundle\Serializer\Normalizer\ExceptionNormalizer
-
removed the following services and aliases:
fos_rest.access_denied_listener
fos_rest.exception_listener
fos_rest.exception.controller
fos_rest.exception.twig_controller
fos_rest.inflector
fos_rest.router
fos_rest.routing.loader.controller
fos_rest.routing.loader.directory
fos_rest.routing.loader.processor
fos_rest.routing.loader.reader.controller
fos_rest.routing.loader.reader.action
fos_rest.routing.loader.xml_collection
fos_rest.routing.loader.yaml_collection
fos_rest.serializer.exception_normalizer.jms
fos_rest.serializer.exception_normalizer.symfony
fos_rest.templating
-
the following classes are marked as
internal
(backwards compatibility will no longer be guaranteed):FOS\RestBundle\DependencyInjection\Compiler\HandlerRegistryDecorationPass
FOS\RestBundle\DependencyInjection\FOSRestExtension
FOS\RestBundle\Form\Extension\DisableCSRFExtension
FOS\RestBundle\Form\Transformer\EntityToIdObjectTransformer
FOS\RestBundle\Normalizer\CamelKeysNormalizer
FOS\RestBundle\Normalizer\CamelKeysNormalizerWithLeadingUnderscore
FOS\RestBundle\Serializer\Normalizer\FormErrorHandler
FOS\RestBundle\Serializer\Normalizer\FormErrorNormalizer
FOS\RestBundle\Util\ExceptionValueMap
-
the following classes are now
final
:FOS\RestBundle\Decoder\ContainerDecoderProvider
FOS\RestBundle\Decoder\JsonDecoder
FOS\RestBundle\Decoder\JsonToFormDecoder
FOS\RestBundle\Decoder\XmlDecoder
FOS\RestBundle\Form\Transformer\EntityToIdObjectTransformer
FOS\RestBundle\Negotiation\FormatNegotiator
FOS\RestBundle\Request\ParamFetcher
FOS\RestBundle\Request\ParamReader
FOS\RestBundle\Request\RequestBodyParamConverter
FOS\RestBundle\Response\AllowMethodsLoader\AllowedMethodsRouterLoader
FOS\RestBundle\Serializer\JMSSerializerAdapter
FOS\RestBundle\Serializer\SymfonySerializerAdapter
FOS\RestBundle\Version\ChainVersionResolver
FOS\RestBundle\Version\Resolver\HeaderVersionResolver
FOS\RestBundle\Version\Resolver\MediaTypeVersionResolver
FOS\RestBundle\Version\Resolver\QueryParameterVersionResolver
FOS\RestBundle\View\JsonpHandler
FOS\RestBundle\View\View
FOS\RestBundle\View\ViewHandler