Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Rest Bundle Laravel Package

friendsofsymfony/rest-bundle

View on GitHub
Deep Wiki
Context7
3.9.0

What's Changed

New Contributors

Full Changelog: https://github.com/FriendsOfSymfony/FOSRestBundle/compare/3.8.0...3.9.0

3.7.1

What's Changed

New Contributors

Full Changelog: https://github.com/FriendsOfSymfony/FOSRestBundle/compare/3.7.0...3.7.1

3.7.0

What's Changed

Full Changelog: https://github.com/FriendsOfSymfony/FOSRestBundle/compare/3.6.0...3.7.0

3.3.0

What's Changed

Full Changelog: https://github.com/FriendsOfSymfony/FOSRestBundle/compare/3.2.1...3.3.0

3.2.1
3.2.0

What's Changed

Full Changelog: https://github.com/FriendsOfSymfony/FOSRestBundle/compare/3.1.1...3.2.0

3.1.1
  • Fix FlattenExceptionNormalizer without custom SerializeErrorRenderer #2343
  • Fix compatibility with PHP 8.1 #2337
3.1.0
  • Fix some cs issue for which the build was not green #2339 by @goetas
  • Use symfony decoration for jms serializer handler registry #2319 by @goetas
  • Enable usage of the bundle without Twig #2320 by @Th3Mouk
  • Add fos rest info in the symfony serialization context #2294 by @goetas
3.0.5
2.8.6
2.8.5
3.0.4
2.8.4
3.0.3
  • fixed being able to configure exception codes and messages based on interfaces (e.g. Throwable)
2.8.3
  • fixed being able to configure exception codes and messages based on interfaces (e.g. Throwable)
3.0.2
  • fixed the ViewHandler to not override an already set status_code in the serialization context
  • fixed embedding status codes in the response body when a mapping of exception classes to status codes is configured
2.8.2
  • fixed the ViewHandler to not override an already set status_code in the serialization context
  • fixed embedding status codes in the response body when a mapping of exception classes to status codes is configured
3.0.1
  • fixed handling requests without a content type inside the RequestBodyParamConverter
  • FlattenExceptionNormalizer does no longer implement the CacheableSupportsMethodInterface to ensure compatibility with older versions of the Symfony Serializer component
2.8.1
  • fixed handling requests without a content type inside the RequestBodyParamConverter
  • FlattenExceptionNormalizer does no longer implement the CacheableSupportsMethodInterface to ensure compatibility with older versions of the Symfony Serializer component
3.0.0

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 than false leads to an exception

  • support for returning anything other than string or null from resolve() when implementing the VersionResolverInterface was removed

  • removed support for passing version numbers as integers to Context::setVersion()

  • removed the isFormatTemplating(), renderTemplate(), and prepareTemplateParameters() methods from the ViewHandler class and the ViewHandlerInterface

  • the constructor of the ViewHandler class is private now, use the static create() factory method instead

  • removed the setTemplateVar(), setPopulateDefaultVars(), getTemplateVar(), and isPopulateDefaultVars() methods from the Controller\Annotations\View class

  • removed the setEngine(), setTemplate(), setTemplateData(), setTemplateVar(), getEngine(), getTemplate(), getTemplateData(), and getTemplateVar() methods from the View\View class

  • changed the default value of the fos_rest.body_listener option to false

  • removed the setMaxDepth()/getMaxDepth() methods from the Context 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
2.8.0

Features

  • added a SerializerErrorHandler that leverages the FOS\RestBundle\Serializer\Serializer interface to hook into the error rendering process provided by the ErrorHandler component since Symfony 4.4

  • added a new normalizer (for the Symfony serializer) and a new handler (for the JMS serializer) to serialize FlattenException instances, for backwards compatibility the resulting format by default is the same as was used for exceptions/errors before, use the flatten_exception_format to opt-in to a format compatible with the API Problem spec (RFC 7807):

    fos_rest:
        exception:
            flatten_exception_format: 'rfc7807'
    
  • added a new ResponseStatusCodeListener that maps exception/error codes to response status codes, enable it by setting the new map_exception_codes option to true

Deprecations

  • the route generation feature is deprecated, disable it explicitly:

    fos_rest:
        routing_loader: false
    

    You need to configure your routes explicitly, e.g. using the Symfony Core annotations or the FOSRestBundle shortcuts like FOS\RestBundle\Controller\Annotations\Get. You can use bin/console debug:router --show-controllers to help with the migration and compare routes before and after it. Change the route loading:

    Before:

    Acme\Controller\TestController:
        type: rest
        resource: Acme\Controller\TestController
    

    After:

    Acme\Controller\TestController:
        type: annotation
        resource: Acme\Controller\TestController
    

    When using the Symfony Core route loading, route names might change as the FOSRestBundle used a different naming convention. Mind the .{_format} suffix if you used the fos_rest.routing_loader.include_format option.

    In case you have OpenAPI/Swagger annotations, you can also use OpenAPI-Symfony-Routing which removes the need to have routing information duplicated. It also allows to add the .{_format} suffix automatically as before.

    If migration to explicit routes is not possible or feasible, consider using RestRoutingBundle which extracted the auto-generation of routes in a BC way.

  • deprecated support for serializing exceptions, disable it by setting the serialize_exceptions option to false:

    fos_rest:
        exception:
            serialize_exceptions: false
    
  • deprecated returning anything other than string or null from resolve() when implementing the VersionResolverInterface.

  • deprecated support for passing version numbers as integers to Context::setVersion() (strings will be enforced as of 3.0)

  • deprecated the isFormatTemplating(), renderTemplate(), and prepareTemplateParameters() methods of the ViewHandler class and the ViewHandlerInterface

  • deprecated the constructor of the ViewHandler class, use the static create() factory method instead

  • deprecated the setTemplateVar(), setPopulateDefaultVars(), getTemplateVar(), and isPopulateDefaultVars() methods of the Controller\Annotations\View class

  • deprecated the setEngine(), setTemplate(), setTemplateData(), setTemplateVar(), getEngine(), getTemplate(), getTemplateData(), and getTemplateVar() methods of the View\View class

  • deprecated not enabling the fos_rest.body_listener option explicitly, it will be disabled by default in 3.0

  • deprecated 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
  • the following classes and interfaces are marked as deprecated, they will be removed in 3.0:

    • 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
  • the following services and aliases are marked as deprecated, they will be removed in 3.0:

    • 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 starting with FOSRestBundle 3.0):

    • 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 marked as final (extending them will not be supported as of 3.0):

    • 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
3.0.0-beta3

Bugfixes

  • fixed setting serializer options in the ViewHandler

BC Breaks

  • removed the fos_rest.access_denied_listener option
  • removed the FOS\RestBundle\EventListener\AccessDeniedListener class
  • removed the fos_rest.access_denied_listener service
2.8.0-beta3

Bugfixes

  • fixed setting serializer options in the ViewHandler

Deprecations

  • deprecated the fos_rest.access_denied_listener option
  • deprecated the FOS\RestBundle\EventListener\AccessDeniedListener class
  • deprecated the fos_rest.access_denied_listener service
3.0.0-beta2

Improvements

  • FlattenExceptionHandler and FlattenExceptionNormalizer send RFC 7807-compatible Content-Type header for JSON (application/problem+json) and XML (application/problem+xml)

BC Breaks

  • changed the default value of the fos_rest.body_listener option to false

  • removed the following options:

    • fos_rest.service.inflector
    • fos_rest.service.router
    • fos_rest.service.templating
    • fos_rest.view.default_engine
    • fos_rest.view.force_redirects
  • removed the following classes and interfaces:

    • FOS\RestBundle\Inflector\DoctrineInflector
    • FOS\RestBundle\Inflector\InflectorInterface
  • removed the following services and aliases:

    • fos_rest.inflector
    • fos_rest.router
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
comsave/common
alecsammon/php-raml-parser
chrome-php/wrench
lendable/composer-license-checker
typhoon/reflection
mesilov/moneyphp-percentage
mike42/gfx-php
bookdown/themes
aura/view
aura/html
aura/cli
povils/phpmnd
nayjest/manipulator
omnipay/tests
psr-mock/http-message-implementation
psr-mock/http-factory-implementation
psr-mock/http-client-implementation
voku/email-check
voku/urlify
rtheunissen/guzzle-log-middleware