The Symfony PHP framework

Overview

Symfony is a PHP framework for web and console applications and a set of reusable PHP components. Symfony is used by thousands of web applications (including BlaBlaCar.com and Spotify.com) and most of the popular PHP projects (including Drupal and Magento).

Installation

Documentation

Community

Contributing

Symfony is an Open Source, community-driven project with thousands of contributors. Join them contributing code or contributing documentation.

Security Issues

If you discover a security vulnerability within Symfony, please follow our disclosure procedure.

About Us

Symfony development is sponsored by SensioLabs, led by the Symfony Core Team and supported by Symfony contributors.

Issues
  • [TwigBridge] Added form_twitter_bootstrap_x.y.z_layout.html.twig

    [TwigBridge] Added form_twitter_bootstrap_x.y.z_layout.html.twig

    | Q | A | | --- | --- | | Bug fix? | no | | New feature? | yes | | BC breaks? | no | | Deprecations? | no | | Tests pass? | yes | | Fixed tickets | n/a | | License | MIT | | Doc PR | not yet |

    Doc:

    # config.yml
    twig:
        form:
            resources:
                - form_twitter_bootstrap_2.3.x_layout.html.twig
    

    or

    
    {% form_theme form 'form_twitter_bootstrap_2.3.x_layout.html.twig' %}
    
    {{ form(form) }}
    
    DX TwigBundle 
    opened by lyrixx 165
  • [2.2][Routing] hostname pattern for routes

    [2.2][Routing] hostname pattern for routes

    Bug fix: no Feature addition: yes Fixes the following tickets: #1762, #3276 Backwards compatibility break: no Symfony2 tests pass: yes

    This adds a hostname_pattern property to routes. It works like the pattern property (hostname_pattern can have variables, requirements, etc). The hostname_pattern property can be set on both routes and route collections.

    Yaml example:

    # Setting the hostname_pattern for a whole collection of routes
    
    AcmeBundle:
        resource: "@AcmeBundle/Controller/"
        type: annotation
        prefix: /
        hostname_pattern: {locale}.example.com
        requirements:
            locale: en|fr
    
    # Setting the hostname_pattern for single route
    
    some_route:
        pattern: /hello/{name}
        hostname_pattern: {locale}.example.com
        requirements:
            locale: en|fr
            name: \w+
        defaults:
            _controller: Foo:bar:baz
    

    Annotations example:

    <?php
    
    /**
     * Inherits requirements and hostname pattern from the collection
     * @Route("/foo")
     */
    public function fooAction();
    
    /**
     * Set a specific hostnamePattern for this route only
     * @Route("/foo", hostnamePattern="{_locale}.example.com", requirements={"_locale="fr|en"})
     */
    public function fooAction();
    
    

    Performance:

    Consecutive routes with the same hostname pattern are grouped, and a single test is made against the hostname for this group, so the overhead is very low:

    @Route("/foo", hostnamePattern="a.example.com")
    @Route("/bar", hostnamePattern="a.example.com")
    @Route("/baz", hostnamePattern="b.example.com")
    

    is compiled like this:

    if (hostname matches a.example.com) {
        // test route "/foo"
        // test route "/bar"
    }
    if (hostname matches b.example.com) {
        // test route "/baz"
    }
    

    The PR also tries harder to optimize routes sharing the same prefix:

    @Route("/cafe")
    @Route("/cacao")
    @Route("/coca")
    

    is compiled like this:

    if (url starts with /c) {
        if (url starts with /ca) {
            // test route "/cafe"
            // test route "/cacao"
        }
        // test route "/coca"
    }
    
    opened by arnaud-lb 151
  • [RFC] Introduce new template namespaces for bundles

    [RFC] Introduce new template namespaces for bundles

    (this issue is part of the "DX" ("Developer eXperience") initiative introduced by Symfony project)

    On the symfony-docs repository there is a very long discussion about the new template naming syntax.

    In short, some people think that the old syntax has inconsistencies in cases like the following:

    • Resource: @AcmeBlogBundle/Resources/views/Default/common/template4.html.twig
    • Template: AcmeBlogBundle : Default : common / template4.html.twig
    • Also valid: AcmeBlogBundle : Default / common : template4.html.twig

    Using the new namespaced Twig syntax, the template name would always be:

    @AcmeBlog/Default/common/template4.html.twig

    Removing the Resources/views/ part is very common and easy to understand. But removing the Bundle suffix is really strange and inconsistent with the rest of Symfony.

    This problem is introduced in lines 136-138 of TwigBundle/DependencyInjection/TwigExtension.php file.

    Summarized Proposals

    Deprecate the current behavior (0) and choose one of the following to implement and recommend:

    | Prop | Template | Notes | | --- | --- | --- | | 0 | AcmeBlogBundle:Default:index.html.twig | current | | 1 | @AcmeBlogBundle/Default/index.html.twig | Assumed Resources/views | | 2 | @AcmeBlogBundle:Default/index.html.twig | Assumed Resources/views | | 3 | AcmeBlogBundle:Default/index.html.twig | Assumed Resources/views | | 4 | @AcmeBlogBundle:views/Default/index.html.twig | Assumed Resources, could also be used consistent with routing imports | | 5 | AcmeBlogBundle:views/Default/index.html.twig | Assumed Resources | | 6 | [email protected]/Default/index.html.twig | we might also have [email protected], [email protected] that could be used elsewhere |

    DX FrameworkBundle RFC 
    opened by javiereguiluz 131
  • minimal PHP version requirement for Symfony 3.0

    minimal PHP version requirement for Symfony 3.0

    follow up to https://github.com/symfony/symfony/issues/12401

    in the CMF project we have encountered some bugs with 5.3 that we cannot work around (mostly with image manipulation). Also 5.3 can cause issues with memory consumption with composer.

    Also as long as Symfony core supports 5.3, we kind of also imply we expect the same from our eco system. If however our ecosystem starts using 5.4+ more, then it will become more confusing for our users. Especially hosters (even internal IT) might claim that "5.3 is good enough because its supported by Symfony core" .. so I think its worth thinking about moving to 5.4+, even if there are no specific features we intend to use from 5.4 (we can of course provide traits without moving to 5.4)

    RFC 
    opened by lsmith77 123
  • [Workflow] Introducing the workflow component

    [Workflow] Introducing the workflow component

    | Q | A | | --- | --- | | Bug fix? | no | | New feature? | yes | | BC breaks? | no | | Deprecations? | no | | Tests pass? | not yet | | Fixed tickets | n/a | | License | MIT | | Doc PR | n/a |

    TODO:

    • [x] Add tests
    • [x] Add PHP doc
    • [x] Add Symfony fullstack integration (Config, DIC, command to dump the state-machine into graphiz format)

    So why another component?

    This component take another approach that what you can find on Packagist.

    Here, the workflow component is not tied to a specific object like with Finite. It means that the component workflow is stateless and can be a symfony service.

    Some code:

    #!/usr/bin/env php
    <?php
    
    require __DIR__.'/vendor/autoload.php';
    
    use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher;
    use Symfony\Component\EventDispatcher\EventDispatcher;
    use Symfony\Component\Stopwatch\Stopwatch;
    use Symfony\Component\Workflow\Definition;
    use Symfony\Component\Workflow\Dumper\GraphvizDumper;
    use Symfony\Component\Workflow\Marking;
    use Symfony\Component\Workflow\MarkingStore\PropertyAccessorMarkingStore;
    use Symfony\Component\Workflow\MarkingStore\ScalarMarkingStore;
    use Symfony\Component\Workflow\Transition;
    use Symfony\Component\Workflow\Workflow;
    
    class Foo
    {
        public $marking;
    
        public function __construct($init = 'a')
        {
            $this->marking = $init;
            $this->marking = [$init => 1];
        }
    }
    
    $fooDefinition = new Definition(Foo::class);
    $fooDefinition->addPlaces([
        'a', 'b', 'c', 'd', 'e', 'f', 'g',
    ]);
    
    //                                           name  from        to
    $fooDefinition->addTransition(new Transition('t1', 'a',        ['b', 'c']));
    $fooDefinition->addTransition(new Transition('t2', ['b', 'c'],  'd'));
    $fooDefinition->addTransition(new Transition('t3', 'd',         'e'));
    $fooDefinition->addTransition(new Transition('t4', 'd',         'f'));
    $fooDefinition->addTransition(new Transition('t5', 'e',         'g'));
    $fooDefinition->addTransition(new Transition('t6', 'f',         'g'));
    
    $graph = (new GraphvizDumper())->dump($fooDefinition);
    
    $ed = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch(), new \Monolog\Logger('app'));
    
    // $workflow = new Workflow($fooDefinition, new ScalarMarkingStore(), $ed);
    $workflow = new Workflow($fooDefinition, new PropertyAccessorMarkingStore(), $ed);
    
    $foo = new Foo(isset($argv[1]) ? $argv[1] : 'a');
    
    $graph = (new GraphvizDumper())->dump($fooDefinition, $workflow->getMarking($foo));
    
    dump([
        'AvailableTransitions' => $workflow->getAvailableTransitions($foo),
        'CurrentMarking' => clone $workflow->getMarking($foo),
        'can validate t1' => $workflow->can($foo, 't1'),
        'can validate t3' => $workflow->can($foo, 't3'),
        'can validate t6' => $workflow->can($foo, 't6'),
        'apply t1' => clone $workflow->apply($foo, 't1'),
        'can validate t2' => $workflow->can($foo, 't2'),
        'apply t2' => clone $workflow->apply($foo, 't2'),
        'can validate t1 bis' => $workflow->can($foo, 't1'),
        'can validate t3 bis' => $workflow->can($foo, 't3'),
        'can validate t6 bis' => $workflow->can($foo, 't6'),
    ]);
    
    

    The workflown:

    workflow

    The output:

    array:10 [
      "AvailableTransitions" => array:1 [
        0 => Symfony\Component\Workflow\Transition {#4
          -name: "t1"
          -froms: array:1 [
            0 => "a"
          ]
          -tos: array:2 [
            0 => "b"
            1 => "c"
          ]
        }
      ]
      "CurrentMarking" => Symfony\Component\Workflow\Marking {#19
        -places: array:1 [
          "a" => true
        ]
      }
      "can validate t1" => true
      "can validate t3" => false
      "can validate t6" => false
      "apply t1" => Symfony\Component\Workflow\Marking {#22
        -places: array:2 [
          "b" => true
          "c" => true
        ]
      }
      "apply t2" => Symfony\Component\Workflow\Marking {#47
        -places: array:1 [
          "d" => true
        ]
      }
      "can validate t1 bis" => false
      "can validate t3 bis" => true
      "can validate t6 bis" => false
    ]
    
    Feature 
    opened by lyrixx 102
  • [FrameworkBundle] Split abstract Controller class into traits

    [FrameworkBundle] Split abstract Controller class into traits

    | Q | A | | --- | --- | | Bug fix? | no | | New feature? | yes | | BC breaks? | yes | | Deprecations? | no | | Tests pass? | yes | | Fixed tickets | none | | License | MIT | | Doc PR | none (yet) |

    The Idea

    This PR came to my mind during the SymfonyCon hack day. Following the ContainerAware class that has been transformed into a trait, I'd like to do the same with FrameworkBundle's Controller class. As far as I can tell, there is no reason anymore why Controller has to be a class (see this comment on why I would favor a trait over an abstract class here).

    The current Controller class covers many different topics. It contains utility methods for security, rendering, routing and more. Before traits, it was not possible to separate those topics. Now, we could split the class into multiple focused traits. This would increase reusability and enable usage outside of a controller context, for instance inside an event listener.

    Like it is currently done in the Controller class, the traits won't contain real functionality. Instead, they will provide shortcut functions to ease the integration of various Symfony components (for instance Routing and HttpFoundation in the examples below).

    Examples

    The following example shows an event listener using the redirectToRoute method that can be found in the Controller class.

    class MyListener implements EventSubscriberInterface, ContainerAwareInterface
    {
        use ContainerAwareTrait;
        use RouterHelperTrait;
    
        public static function getSubscribedEvents()
        {
            return [
                KernelEvents::REQUEST => 'onKernelRequest'
            ];
        }
    
        public function onKernelRequest(GetResponseEvent $event)
        {
            // Some code to decide if we want to do a redirect
    
            $event->setResponse(
                $this->redirectToRoute('acme.my_route')
            );
        }
    }
    

    In this example, we use the method inside a controller that is registered as a service and therefore should not depend on the container.

    class MyController
    {
        use RouterHelperTrait;
    
        public function __construct(UrlGeneratorInterface $router)
        {
            $this->router = $router;
        }
    
        public function someAction(Request $request)
        {
            // Some code to decide if we want to do a redirect
    
            return $this->redirectToRoute('acme.my_route');
        }
    }
    

    BC Breaks

    The traits will introduce protected fields and methods to manage their dependencies. If a class extending Controller already contains methods and properties with the same name, this change might introduce conflicts.

    Feature FrameworkBundle Status: Needs Review 
    opened by derrabus 98
  • [Filesystem] Added a LockHandler

    [Filesystem] Added a LockHandler

    | Q | A | | --- | --- | | Bug fix? | no | | New feature? | yes | | BC breaks? | no | | Deprecations? | no | | Tests pass? | yes | | Fixed tickets | #9357 , #3586 | | License | MIT | | Doc PR | https://github.com/symfony/symfony-docs/pull/3956/files |

    Code sample:

        /**
         * {@inheritdoc}
         */
        protected function execute(InputInterface $input, OutputInterface $output)
        {
            $lockHelper = new LockHandler('/tmp/acme/hello.lock');
            if (!$lockHelper->lock()) {
                $output->writeln('The command is already running in another process.');
    
                return 0;
            }
    
            $output->writeln(sprintf('Hello <comment>%s</comment>!', $input->getArgument('who')));
    
            for (;;) {
            }
    
            $output->writeln(sprintf('bye <comment>%s</comment>!', $input->getArgument('who')));
    
            $lockHelper->unlock();
        }
    

    process-lock

    Console 
    opened by lyrixx 97
  • Rename master branch to 5.2?

    Rename master branch to 5.2?

    Why?

    1. The fact that master is 5.2 is currently expressed through a branch alias, which wouldn't needed at all if the branch was named in the conventional way.
    2. It is clearer to contributors what branch they are sending PRs to, rather than them mistaking master for latest stable (5.1) when it is actually the next upcoming minor series (5.2).
    3. The word "master" has undesirable connotations, and GitHub itself has announced (or leaked to the press, or whatever...) that it is looking to replace this term for the default branch of repos, anyway.

    Possibly, as an interim, the master branch could be left around for a few months, and synced with 5.2 (to allow people to migrate if they have master or dev-master hard coded in various places).

    EDIT: One problem with 5.x as a branch name is composer will install the 5.x branch with the version constraint 5.7.* even though there is no such version. This is why 5.2 is better, because it matches the current branch alias of master.

    RFC Status: Needs Review 
    opened by GrahamCampbell 96
  • [2.2][WIP] Cache Component

    [2.2][WIP] Cache Component

    Bug fix: no Feature addition: yes Backwards compatibility break: no Symfony2 tests pass: no (!) Fixes the following tickets: GH-1513

    This addresses GH-1513, implementing a Caching interface as new Symfony Component.

    It also ships a very simple ApcCache implementation, however the focus should be on just having the CacheInterface and let others provide more complex implementations and management. With the interface however everyone can rely on a common API in their Symfony bundles and applications.

    As an example a cache delegate implementation has been provided for both Validator and ClassLoader components.

    This is just the first step. A second step would be integration into FrameworkBundle with a section:

    framework:
      cache:
        name: 
           provider: symfony.cache.apc
    

    Would create a service "cache.name".

    Integration points would be the provider (expecting a service id) and an options key, so we could have:

    framework:
      cache:
        name: 
           provider: doctrine.common.cache.apc
           options:
              prefix: my_cache_prefix
    

    The first cache provider in the list should also be aliased to "cache", so that all bundles can always trust on "cache" being available as service.

    opened by beberlei 96
  • Move internal Container configuration from XML to PHP

    Move internal Container configuration from XML to PHP

    In Symfony 6, I we will promote usage of configuration written in PHP instead of YAML. For third-party bundles and core, we should do the same, replacing XML with PHP. Doing so would remove the need for the XML lib for core.

    The biggest advantage is auto-completion with any modern IDE without explicit support for Symfony, and probably one less thing to learn (how to configure things in YAML/XML).

    Be warned that semantic configuration will stay in YAML for now (as using PHP is much harder there).

    #36778 did the work for the Twig bundle as an example.

    We now need help from the community to move all the other bundles:

    PLEASE, comment here BEFORE starting to work on something and WAIT for the confirmation to avoid duplicate work.

    • [x] src/Symfony/Bundle/DebugBundle/Resources/config/services.xml (@jschaedl)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/annotations.xml (@magnetik)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/assets.xml (@NguyenTruongLinh)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/cache*.xml (@iamvar)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/collectors.xml (@hvt)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/console.xml (@AhmedRaafat14)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/debug*.xml (@TuxBoy)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/error_renderer.xml (@benji07)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/esi.xml (@tuanminhgp)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/form*.xml (@misekai)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/fragment*.xml (@idetox)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/http*.xml (@IonBazan)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/identity_translator.xml (@smmd)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/lock.xml (@tomasjav)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/mailer*.xml (@instabledesign)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/messenger*.xml (@hyoa)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/mime_type.xml (@GromNaN)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/notifier*.xml (@szepczynski)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/profiling.xml (@hvt)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/property_access.xml (@qneyrat)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/property_info.xml (@qneyrat)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/request.xml (@dangkhoagms)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/routing*.xml (@phamuyentri)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/secrets.xml (@GromNaN)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/security_csrf.xml (@Noweh)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/serializer.xml (@mamontovdmitriy)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/services.xml (@rvanlaak)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/session.xml (@cocorambo)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/ssi.xml (@50bhan)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/test.xml (@GaryPEGEOT)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/translation*.xml (@malteschlueter)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/validator*.xml (@simivar)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/web*.xml (@ck-developer)
    • [x] src/Symfony/Bundle/FrameworkBundle/Resources/config/workflow.xml (@lyrixx)
    • [x] src/Symfony/Bundle/SecurityBundle/Resources/config/collectors.xml (@JudicaelR)
    • [x] src/Symfony/Bundle/SecurityBundle/Resources/config/console.xml (@JudicaelR)
    • [x] src/Symfony/Bundle/SecurityBundle/Resources/config/guard.xml (@JudicaelR)
    • [x] src/Symfony/Bundle/SecurityBundle/Resources/config/security*.xml (@qneyrat)
    • [x] src/Symfony/Bundle/SecurityBundle/Resources/config/templating_twig.xml (@ck-developer)
    • [x] src/Symfony/Bundle/WebProfilerBundle/Resources/config/*.xml (@jschaedl)
    Good first issue Help wanted 
    opened by fabpot 94
  • [Messenger] prevent reflection usages when classes do not exist

    [Messenger] prevent reflection usages when classes do not exist

    | Q | A | ------------- | --- | Branch? | 5.2 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #41748 | License | MIT | Doc PR |

    Bug Messenger Status: Reviewed 
    opened by xabbuh 0
  • [Yaml] Double-quote strings with single quote marks

    [Yaml] Double-quote strings with single quote marks

    | Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | no | New feature? | yes | Deprecations? | no | Tickets | Fix #41687 | License | MIT | Doc PR | It's a tiny change, is it really required?

    This changes the behavior of the Dumper to always double-quote strings containing single quote marks, as per the reasons given in the ticket.

    Feature Status: Needs Review Yaml 
    opened by Ostrzyciel 1
  • Fix Class AmqpReceivedStamp does not exist

    Fix Class AmqpReceivedStamp does not exist

    | Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | yes | Tickets | Fix #41748 | License | MIT | Doc PR |

    Bug Deprecation Status: Needs Review 
    opened by Warxcell 6
  • [Serializer] Class

    [Serializer] Class "Symfony\Component\Messenger\Bridge\Amqp\Transport\AmqpReceivedStamp" does not exist

    Symfony version(s) affected: 5.3., 5.4.

    Description Caused by ReflectionException: Class "Symfony\Component\Messenger\Bridge\Amqp\Transport\AmqpReceivedStamp" does not exist

    How to reproduce Download https://github.com/Warxcell/files and run tests.

    Possible Solution Move https://github.com/symfony/symfony/blob/5.3/src/Symfony/Component/Messenger/Middleware/RejectRedeliveredMessageMiddleware.php to https://github.com/symfony/symfony/tree/5.3/src/Symfony/Component/Messenger/Bridge/Amqp namespace, so it will be registered only if AMQP Bridge Package is installed.

    Bug Serializer Status: Needs Review 
    opened by Warxcell 0
  • [Security] Fixed 'security.command.debug_firewall' not found

    [Security] Fixed 'security.command.debug_firewall' not found

    | Q | A | ------------- | --- | Branch? | 5.3 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | | License | MIT | Doc PR |

    When working on a bundle that depends on some symfony/security-bundle, I found this. Basically, we assume that service security.command.debug_firewall is always defined. For most application this service is defined as it is defined if symfony/console is installed. This is why we never caught the bug before.

    But I do run into issues when I run the tests for my bundle.

    Bug Security Status: Reviewed 
    opened by Nyholm 0
  • [Mailer] Disable verify_peer by default when using localhost URL

    [Mailer] Disable verify_peer by default when using localhost URL

    Description

    Right now, Mailer tries to verify the mail server's certificate by default. I'm suggesting to disable this if a localhost mailer URL is used.

    My scenario: I'm running the mail server on the same machine. It does have a valid certificate and supports STARTTLS. However, when using MAILER_DSN=smtp://127.0.0.1:25 as a connection string, verifying the certificate can never work (right?), and leads to the error message:

    PHP Fatal error: Uncaught Symfony\Component\Mailer\Exception\TransportException: Unable to connect with STARTTLS. in /home/aaok/online-kuendigen.at/vendor/symfony/mailer/Transport/Smtp/EsmtpTransport.php:116

    I know that this can be disabled by adding ?verify_peer=0 (see https://symfony.com/doc/current/mailer.html#tls-peer-verification)

    Mailer 
    opened by ThomasLandauer 0
  • [ErrorHandler] ThrowableUtils::getSeverity doesn't work with SilencedErrorContext

    [ErrorHandler] ThrowableUtils::getSeverity doesn't work with SilencedErrorContext

    Symfony version(s) affected: 4.4 - 6.0

    Description When we create new instance ErrorHandler with BufferingLogger and then attach logger via ErrorHandler ::setLoggers and BufferingLogger contains SilencedErrorContext - we are getting error Argument 1 passed to Symfony\Component\ErrorHandler\ThrowableUtils::getSeverity() must implement interface Throwable, instance of Symfony\Component\ErrorHandler\Exception\SilencedErrorContext given

    How to reproduce use Symfony\Component\ErrorHandler\ErrorHandler; use Symfony\Component\ErrorHandler\BufferingLogger; use Psr\Log\LoggerInterface;

    $handler = new ErrorHandler(new BufferingLogger(), false); ErrorHandler::register($handler);

    @file ('non_existent_file');

    $handler->setDefaultLogger(new LoggerInterface);

    Possible Solution class SilencedErrorContext extends \ErrorException

    Additional context Argument 1 passed to Symfony\Component\ErrorHandler\ThrowableUtils::getSeverity() must implement interface Throwable, instance of Symfony\Component\ErrorHandler\Exception\SilencedErrorContext given

    Bug ErrorHandler Status: Needs Review 
    opened by d1mond 0
  • [TwigBridge] Avoid broken action URL in text notification mail

    [TwigBridge] Avoid broken action URL in text notification mail

    | Q | A | ------------- | --- | Branch? | 5.3 for bug fixes | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #... | License | MIT | Doc PR | symfony/symfony-docs#...

    Some mail clients make URLs clickable automatically which leads to broken URLs due to the appended ":" (colon)

    Fix this by moving the action text before the action URL.

    Bug Status: Needs Review 
    opened by mbrodala 0
  • [Security] Fix special char used to create cache key

    [Security] Fix special char used to create cache key

    | Q | A | ------------- | --- | Branch? | 5.3 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | -

    The remember Me token's series property might contains special chars: because it has been generated with $series = base64_encode(random_bytes(64));.

    When using this identifier to create cache items, users get Exception Cache key "foo+bar/baz==" contains reserved characters "{}()/\@:".

    This PR sanitize the property before using it as cache key

    Bug Security Status: Needs Work 
    opened by jderusse 0
  • [Notifier] Do not use static::class for final messages

    [Notifier] Do not use static::class for final messages

    | Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | https://github.com/symfony/symfony/pull/39402#discussion_r638619033 | License | MIT | Doc PR | N/A

    Micro optimization

    Notifier Status: Needs Review 
    opened by norkunas 1
Releases(v5.3.2)
  • v5.3.2(Jun 17, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.3.1...v5.3.2)

    • security #cve-2021-32693 [SecurityHttp] Fix "Authentication granted with multiple firewalls" (@wouterj)
    • bug #41693 [Uid] fix performance and prevent collisions with the real clock_seq (@nicolas-grekas)
    • bug #41700 [Security] Fix deprecation notice on TokenInterface::getUser() stringable return (@tscni)
    • bug #41703 [Security] Restore extension point in MessageDigestPasswordEncoder (@derrabus)
    • bug #41716 [Messenger] Fix RequestContext not updated (@jderusse)
    • bug #41616 [Messenger] Remove TLS related options when not using TLS (@odolbeau)
    • bug #41719 [FrameworkBundle] fix Could not find service "test.service_container" (@smilesrg)
    • bug #41686 [Console] Fix using #[AsCommand] without DI (@nicolas-grekas)
    • bug #41673 [DependencyInjection] fix parsing classes for attributes (@nicolas-grekas)
    • bug #41675 [Runtime] fix overriding --env|-e with single-command apps (@nicolas-grekas)
    • bug #41674 [HttpClient] fix compat with cURL <= 7.37 (@nicolas-grekas)
    • bug #41680 [Console] fix managing signals when commands are lazy loaded (@nicolas-grekas)
    • bug #41678 [PasswordHasher] Fix missing PasswordHasherAwareInterface allowed type (@chalasr)
    • bug #41656 [HttpClient] throw exception when AsyncDecoratorTrait gets an already consumed response (@nicolas-grekas)
    • bug #41600 [Notifier] Escape . char for Telegram transport (@Clément)
    • bug #41644 [Config] fix tracking attributes in ReflectionClassResource (@nicolas-grekas)
    • bug #41621 [Process] Fix incorrect parameter type (@bch36)
    • bug #41624 [HttpClient] Revert bindto workaround for unaffected PHP versions (@derrabus)
    • bug #41597 [DependencyInjection] fix [email protected]{env} inside imported files (@nusje2000)
    • bug #41553 [Messenger] fix BC for FrameworkBundle 4.4 with a non-existence alias being used (@monteiro)
    • bug #41582 Fix not null get collection key types (@dragosprotung)
    • bug #41572 [PasswordHasher] Prevent PHP fatal error when using auto algorithm (@matason)
    • bug #41549 [Security] Fix opcache preload with alias classes (@jderusse)
    • bug #41491 [Serializer] Do not allow to denormalize string with spaces only to valid a DateTime object (@sidz)
    • bug #41535 [Console] Fix negated options not accessible (@jderusse)
    • bug #41472 [Validator] remove service if its class doesn't exist (@xabbuh)
    • bug #41218 [DependencyInjection] Update loader’s directory when calling ContainerConfigurator::withPath (@MatTheCat)
    • bug #41505 [FrameworkBundle] fix KernelBrowser::loginUser with a stateless firewall (@dunglas)
    • bug #41509 [SecurityBundle] Link UserProviderListener to correct firewall dispatcher (@Matth--)
    • bug #41386 [Console] Escape synopsis output (@jschaedl)
    • bug #41523 [Notifier] [Bridge] Remove hidden dependency on HttpFoundation for SmsBiurasTransport (@fre5h)
    • bug #41512 Relax requirement on symfony/runtime (@lyrixx)

    [PR] https://github.com/symfony/symfony/pull/41728 [SECURITY] Security release

    Source code(tar.gz)
    Source code(zip)
  • v5.3.1(Jun 2, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.3.0...v5.3.1)

    • bug #41463 [Serializer][Validator] Fix not null return from "getCollectionValueTypes" (@jderusse)
    • bug #41493 [Security] Readd deprecated methods to the interfaces (@wouterj)
    • bug #41495 [HttpFoundation] Add ReturnTypeWillChange to SessionHandlers (@nikic)
    • bug #41485 [HttpKernel] fix ArgumentMetadataFactory messes up controller arguments with attributes (@sgehrig)
    • bug #41461 Fix Symfony 5.3 end of maintenance date (@jmsche)

    [PR] https://github.com/symfony/symfony/pull/41510

    Source code(tar.gz)
    Source code(zip)
  • v5.2.10(Jun 1, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.2.9...v5.2.10)

    • bug #41000 [Form] Use !isset for checks cause this doesn't falsely include 0 (@Kai Dederichs)
    • bug #41407 [DependencyInjection] keep container.service_subscriber tag on the decorated definition (@xabbuh)
    • bug #40866 [Filesystem] fix readlink() for Windows (@a1812)
    • bug #41394 [Form] fix support for years outside of the 32b range on x86 arch (@nicolas-grekas)
    • bug #41380 Make Mailgun Header compatible with other Bridges (@jderusse)
    • bug #39847 [Messenger] Fix merging PrototypedArrayNode associative values (@svityashchuk)
    • bug #41346 [WebProfilerBundle] Wrapping exception js in Sfjs check and also loading base_js Sfjs if needed (@weaverryan)
    • bug #41344 [VarDumper] Don't pass null to parse_url() (@derrabus)

    [PR] https://github.com/symfony/symfony/pull/41488

    Source code(tar.gz)
    Source code(zip)
  • v4.4.25(Jun 1, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v4.4.24...v4.4.25)

    • bug #41000 [Form] Use !isset for checks cause this doesn't falsely include 0 (@Kai Dederichs)
    • bug #41407 [DependencyInjection] keep container.service_subscriber tag on the decorated definition (@xabbuh)
    • bug #40866 [Filesystem] fix readlink() for Windows (@a1812)
    • bug #41394 [Form] fix support for years outside of the 32b range on x86 arch (@nicolas-grekas)
    • bug #39847 [Messenger] Fix merging PrototypedArrayNode associative values (@svityashchuk)
    • bug #41346 [WebProfilerBundle] Wrapping exception js in Sfjs check and also loading base_js Sfjs if needed (@weaverryan)

    [PR] https://github.com/symfony/symfony/pull/41477

    Source code(tar.gz)
    Source code(zip)
  • v5.3.0(May 31, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.3.0-RC1...v5.3.0)

    • bug #41458 [FrameworkBundle] fix ConfigBuilderCacheWarmer (@nicolas-grekas)
    • bug #41456 [FrameworkBundle] fix creating ContainerBuilder at warmup/CLI time (@nicolas-grekas)
    • bug #41452 [FrameworkBundle] Remove redundant cache service (@derrabus)
    • bug #41451 [Translation] Remove PoEditor Provider (@welcoMattic)
    • bug #41000 [Form] Use !isset for checks cause this doesn't falsely include 0 (@Kai Dederichs)
    • bug #41407 [DependencyInjection] keep container.service_subscriber tag on the decorated definition (@xabbuh)
    • bug #40866 [Filesystem] fix readlink() for Windows (@a1812)
    • bug #41402 [HttpKernel] Throw when HttpKernel is created and the env is empty (@nicolas-grekas)
    • bug #41376 [SecurityBundle] Don't register deprecated listeners with authenticator manager enabled (@chalasr)
    • bug #41394 [Form] fix support for years outside of the 32b range on x86 arch (@nicolas-grekas)
    • bug #41380 Make Mailgun Header compatible with other Bridges (@jderusse)
    • bug #39847 [Messenger] Fix merging PrototypedArrayNode associative values (@svityashchuk)
    • bug #41367 [Ldap] Avoid calling the deprecated getUsername() (@derrabus)
    • bug #41346 [WebProfilerBundle] Wrapping exception js in Sfjs check and also loading base_js Sfjs if needed (@weaverryan)
    • bug #41344 [VarDumper] Don't pass null to parse_url() (@derrabus)

    [PR] https://github.com/symfony/symfony/pull/41460

    Source code(tar.gz)
    Source code(zip)
  • v5.3.0-RC1(May 19, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.3.0-BETA4...v5.3.0-RC1)

    • security #cve-2021-21424 [Security\Core] Fix user enumeration via response body on invalid credentials (@chalasr)
    • bug #41275 Fixes Undefined method call (@faizanakram99)
    • feature #41175 [Security] [RememberMe] Add support for parallel requests doing remember-me re-authentication (@Seldaek)
    • bug #41269 [SecurityBundle] Remove invalid unused service (@chalasr)
    • feature #41247 [Security] Deprecate the old authentication mechanisms (@chalasr)
    • bug #41139 [Security] [DataCollector] Remove allows anonymous information in datacollector (@ismail1432)
    • bug #41254 [Security\Http] Fix handling secure: auto using the new RememberMeAuthenticator (@chalasr)
    • bug #41230 [FrameworkBundle][Validator] Fix deprecations from Doctrine Annotations+Cache (@derrabus)
    • bug #41206 [Mailer] Fix SES API call with UTF-8 Addresses (@jderusse)
    • bug #41240 Fixed deprecation warnings about passing null as parameter (@derrabus)
    • bug #41241 [Finder] Fix gitignore regex build with "**" (@mvorisek)
    • bug #41224 [HttpClient] fix adding query string to relative URLs with scoped clients (@nicolas-grekas)
    • bug #41233 [DependencyInjection][ProxyManagerBridge] Don't call class_exists() on null (@derrabus)
    • bug #41214 [Console] fix registering command aliases when using the new "cmd|alias" syntax for names (@nicolas-grekas)
    • bug #41211 [Notifier] Add missing charset to content-type for Slack notifier (@norkunas)
    • bug #41210 [Console] Fix Windows code page support (@orkan)

    [PR] https://github.com/symfony/symfony/pull/41283 [SECURITY] Security release

    Source code(tar.gz)
    Source code(zip)
  • v5.2.9(May 19, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.2.8...v5.2.9)

    • security #cve-2021-21424 [Security\Core] Fix user enumeration via response body on invalid credentials (@chalasr)
    • bug #41275 Fixes Undefined method call (@faizanakram99)
    • bug #41269 [SecurityBundle] Remove invalid unused service (@chalasr)
    • bug #41139 [Security] [DataCollector] Remove allows anonymous information in datacollector (@ismail1432)
    • bug #41230 [FrameworkBundle][Validator] Fix deprecations from Doctrine Annotations+Cache (@derrabus)
    • bug #41206 [Mailer] Fix SES API call with UTF-8 Addresses (@jderusse)
    • bug #41240 Fixed deprecation warnings about passing null as parameter (@derrabus)
    • bug #41241 [Finder] Fix gitignore regex build with "**" (@mvorisek)
    • bug #41224 [HttpClient] fix adding query string to relative URLs with scoped clients (@nicolas-grekas)
    • bug #41233 [DependencyInjection][ProxyManagerBridge] Don't call class_exists() on null (@derrabus)
    • bug #41211 [Notifier] Add missing charset to content-type for Slack notifier (@norkunas)
    • bug #41210 [Console] Fix Windows code page support (@orkan)

    [PR] https://github.com/symfony/symfony/pull/41279 [SECURITY] Security release

    Source code(tar.gz)
    Source code(zip)
  • v4.4.24(May 19, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v4.4.23...v4.4.24)

    • security #cve-2021-21424 [Security\Core] Fix user enumeration via response body on invalid credentials (@chalasr)
    • bug #41230 [FrameworkBundle][Validator] Fix deprecations from Doctrine Annotations+Cache (@derrabus)
    • bug #41240 Fixed deprecation warnings about passing null as parameter (@derrabus)
    • bug #41241 [Finder] Fix gitignore regex build with "**" (@mvorisek)
    • bug #41224 [HttpClient] fix adding query string to relative URLs with scoped clients (@nicolas-grekas)
    • bug #41233 [DependencyInjection][ProxyManagerBridge] Don't call class_exists() on null (@derrabus)
    • bug #41210 [Console] Fix Windows code page support (@orkan)

    [PR] https://github.com/symfony/symfony/pull/41278 [SECURITY] Security release

    Source code(tar.gz)
    Source code(zip)
  • v3.4.49(May 19, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v3.4.48...v3.4.49)

    • security #cve-2021-21424 [Security\Core] Fix user enumeration via response body on invalid credentials (@chalasr)

    [PR] https://github.com/symfony/symfony/pull/41276 [SECURITY] Security release

    Source code(tar.gz)
    Source code(zip)
  • v5.3.0-BETA4(May 12, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.3.0-BETA3...v5.3.0-BETA4)

    • security #cve-2021-21424 [Security][Guard] Prevent user enumeration (@chalasr)
    • feature #41178 [FrameworkBundle] Introduce AbstractController::renderForm() instead of handleForm() (@lyrixx)
    • feature #41182 [DependencyInjection] allow PHP-DSL files to be env-conditional (@nicolas-grekas)
    • bug #41177 [DependencyInjection] fix empty instanceof-conditionals created by AttributeAutoconfigurationPass (@nicolas-grekas)
    • bug #41176 [DependencyInjection] fix dumping service-closure-arguments (@nicolas-grekas)
    • bug #41174 [Console] Fix Windows code page support (@orkan)
    • bug #41173 [Security] Make Login Rate Limiter also case insensitive for non-ascii user identifiers (@Seldaek)
    • bug #41170 [DependencyInjection] Don't try to load YamlFileLoader if it's not actually needed (@nicolas-grekas)
    • bug #41168 WDT: Only load "Sfjs" if it is not present already (@weaverryan)
    • feature #36864 [Messenger] Ability to distinguish retry and delay actions (@theravel)
    • bug #41164 [FrameworkBundle] fix debug:event-dispatcher and debug:firewall (@nicolas-grekas)
    • feature #41161 [HttpClient] Add DecoratorTrait to ease writing simple decorators (@nicolas-grekas)
    • bug #41147 [Inflector][String] wrong plural form of words ending by "pectus" (@makraz)
    • bug #41160 [HttpClient] Don't prepare the request in ScopingHttpClient (@nicolas-grekas)
    • bug #41156 [Security] Make Login Rate Limiter case insensitive (@jderusse)
    • bug #41155 [Translation] Improved Translation Providers (@welcoMattic)
    • feature #40927 [Translation] Added Lokalise Provider (@welcoMattic)
    • feature #40926 [Translation] Added PoEditor Provider (@welcoMattic)
    • bug #41137 [Security] Reset limiters on successful login (@MatTheCat)
    • bug #41148 [Runtime] fix defining $_SERVER[APP_ENV] (@nicolas-grekas)
    • bug #40758 [Security] NullToken signature (@jderusse)
    • bug #40763 Fix/Rewrite .gitignore regex builder (@mvorisek)

    [PR] https://github.com/symfony/symfony/pull/41196 [SECURITY] Security release

    Source code(tar.gz)
    Source code(zip)
  • v5.2.8(May 12, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.2.7...v5.2.8)

    • security #cve-2021-21424 [Security][Guard] Prevent user enumeration (@chalasr)
    • bug #41176 [DependencyInjection] fix dumping service-closure-arguments (@nicolas-grekas)
    • bug #41174 [Console] Fix Windows code page support (@orkan)
    • bug #41173 [Security] Make Login Rate Limiter also case insensitive for non-ascii user identifiers (@Seldaek)
    • bug #41168 WDT: Only load "Sfjs" if it is not present already (@weaverryan)
    • bug #41147 [Inflector][String] wrong plural form of words ending by "pectus" (@makraz)
    • bug #41160 [HttpClient] Don't prepare the request in ScopingHttpClient (@nicolas-grekas)
    • bug #41156 [Security] Make Login Rate Limiter case insensitive (@jderusse)
    • bug #41137 [Security] Reset limiters on successful login (@MatTheCat)
    • bug #40758 [Security] NullToken signature (@jderusse)
    • bug #40763 Fix/Rewrite .gitignore regex builder (@mvorisek)
    • bug #41113 [Console] Fix Windows code page support (@orkan)
    • bug #40902 [Security] Allow ips parameter in access_control to accept comma-separated string (@edefimov)
    • bug #40980 [TwigBridge] Fix HTML for translatable custom-file label in Bootstrap 4 theme (@acran)
    • bug #40955 [Notifier] [Bridge] Fix missed messageId for SendMessage object in slack notifier (@WaylandAce)
    • bug #40943 [PropertyInfo] PhpDocExtractor: Handle "true" and "false" property types (@Maciej Zgadzaj)
    • bug #40759 [Form] Add missing TranslatableMessage support to choice_label option of ChoiceType (@alexandre-daubois)
    • bug #40917 [Config][DependencyInjection] Uniformize trailing slash handling (@dunglas)
    • bug #40699 [PropertyInfo] Make ReflectionExtractor correctly extract nullability (@shiftby)
    • bug #40874 [PropertyInfo] fix attribute namespace with recursive traits (@soullivaneuh)
    • bug #40957 [PhpUnitBridge] Fix tests with @doesNotPerformAssertions annotations (@alexpott)
    • bug #41099 [Cache] Check if phpredis version is compatible with stream parameter (@nicolassing)
    • bug #40982 [Notifier] Fix return SentMessage then Messenger not used (@WaylandAce)
    • bug #41072 [VarExporter] Add support of PHP enumerations (@alexandre-daubois)
    • bug #41104 Fix return type in isAllowedProperty method on ReflectionExtractor class (@Tomanhez)
    • bug #41078 [Notifier] Make FailoverTransport always pick the first transport (@jschaedl)
    • bug #41105 [Inflector][String] Fixed singularize edges > edge (@ruudk)
    • bug #41075 [ErrorHandler] Skip "same vendor" @method deprecations for Symfony\* classes unless symfony/symfony is being tested (@nicolas-grekas)

    [PR] https://github.com/symfony/symfony/pull/41195 [SECURITY] Security release

    Source code(tar.gz)
    Source code(zip)
  • v4.4.23(May 12, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v4.4.22...v4.4.23)

    • security #cve-2021-21424 [Security][Guard] Prevent user enumeration (@chalasr)
    • bug #41176 [DependencyInjection] fix dumping service-closure-arguments (@nicolas-grekas)
    • bug #41168 WDT: Only load "Sfjs" if it is not present already (@weaverryan)
    • bug #41147 [Inflector][String] wrong plural form of words ending by "pectus" (@makraz)
    • bug #41160 [HttpClient] Don't prepare the request in ScopingHttpClient (@nicolas-grekas)
    • bug #40763 Fix/Rewrite .gitignore regex builder (@mvorisek)
    • bug #40917 [Config][DependencyInjection] Uniformize trailing slash handling (@dunglas)
    • bug #40699 [PropertyInfo] Make ReflectionExtractor correctly extract nullability (@shiftby)
    • bug #40874 [PropertyInfo] fix attribute namespace with recursive traits (@soullivaneuh)
    • bug #41099 [Cache] Check if phpredis version is compatible with stream parameter (@nicolassing)
    • bug #41072 [VarExporter] Add support of PHP enumerations (@alexandre-daubois)
    • bug #41105 [Inflector][String] Fixed singularize edges > edge (@ruudk)
    • bug #41075 [ErrorHandler] Skip "same vendor" @method deprecations for Symfony\* classes unless symfony/symfony is being tested (@nicolas-grekas)

    [PR] https://github.com/symfony/symfony/pull/41194 [SECURITY] Security release

    Source code(tar.gz)
    Source code(zip)
  • v3.4.48(May 12, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v3.4.47...v3.4.48)

    • security #cve-2021-21424 [Security][Guard] Prevent user enumeration (@chalasr)

    [PR] https://github.com/symfony/symfony/pull/41193 [SECURITY] Security release

    Source code(tar.gz)
    Source code(zip)
  • v5.3.0-BETA3(May 9, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.3.0-BETA2...v5.3.0-BETA3)

    • feature #40947 [Translation] Added Crowdin Translation Provider (@andrii-bodnar)
    • bug #41132 [Runtime] don't display the shebang on the CLI (@nicolas-grekas)
    • bug #41113 [Console] Fix Windows code page support (@orkan)
    • bug #40902 [Security] Allow ips parameter in access_control to accept comma-separated string (@edefimov)
    • bug #40980 [TwigBridge] Fix HTML for translatable custom-file label in Bootstrap 4 theme (@acran)
    • bug #40955 [Notifier] [Bridge] Fix missed messageId for SendMessage object in slack notifier (@WaylandAce)
    • bug #40943 [PropertyInfo] PhpDocExtractor: Handle "true" and "false" property types (@Maciej Zgadzaj)
    • bug #40759 [Form] Add missing TranslatableMessage support to choice_label option of ChoiceType (@alexandre-daubois)
    • bug #40917 [Config][DependencyInjection] Uniformize trailing slash handling (@dunglas)
    • bug #40699 [PropertyInfo] Make ReflectionExtractor correctly extract nullability (@shiftby)
    • bug #40874 [PropertyInfo] fix attribute namespace with recursive traits (@soullivaneuh)
    • bug #40957 [PhpUnitBridge] Fix tests with @doesNotPerformAssertions annotations (@alexpott)
    • bug #41099 [Cache] Check if phpredis version is compatible with stream parameter (@nicolassing)
    • bug #40982 [Notifier] Fix return SentMessage then Messenger not used (@WaylandAce)
    • bug #40972 Avoid regenerating the remember me token if it is still fresh (@Seldaek)
    • bug #41072 [VarExporter] Add support of PHP enumerations (@alexandre-daubois)
    • feature #40992 [Notifier] Add SlackOptions::threadTs() to send message as reply (@WaylandAce)
    • bug #41104 Fix return type in isAllowedProperty method on ReflectionExtractor class (@Tomanhez)
    • bug #41078 [Notifier] Make FailoverTransport always pick the first transport (@jschaedl)
    • feature #39157 [TwigBridge] Add form templates for Bootstrap 5 (@ker0x)
    • bug #41022 [PasswordHasher] Improved BC layer (@derrabus)
    • bug #41105 [Inflector][String] Fixed singularize edges > edge (@ruudk)
    • bug #41075 [ErrorHandler] Skip "same vendor" @method deprecations for Symfony\* classes unless symfony/symfony is being tested (@nicolas-grekas)
    • bug #41096 Make Serializable implementation internal and final (@derrabus)
    • bug #40994 [Config] More accurate message on invalid config builder (@a-menshchikov)
    • bug #40767 [Routing] Fix localized paths (@l-vo)

    [PR] https://github.com/symfony/symfony/pull/41144

    Source code(tar.gz)
    Source code(zip)
  • v5.3.0-BETA2(May 1, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.3.0-BETA1...v5.3.0-BETA2)

    • feature #41002 [FrameworkBundle][HttpKernel] Move IDE file link formats from FrameworkExtension to FileLinkFormatter (@MatTheCat)
    • bug #41014 [Routing] allow extending Route attribute (@robmro27)
    • feature #39913 [OptionsResolver] Add prototype definition support for nested options (@yceruto)
    • bug #41008 [Security] Do not try to rehash null-passwords (@tjveldhuizen)
    • bug #41013 [Console] Remove spaces between arguments GithubActionReporter (@franmomu)
    • bug #40920 [PasswordHasher] accept hashing passwords with nul bytes or longer than 72 bytes when using bcrypt (@nicolas-grekas)
    • bug #40993 [Security] [Security/Core] fix checking for bcrypt (@nicolas-grekas)
    • bug #40986 [Console] Negatable option are null by default (@jderusse)
    • bug #40923 [Yaml] expose references detected in inline notation structures (@xabbuh)
    • bug #40951 [FrameworkBundle] Make debug:event-dispatcher search case insensitive (@javiereguiluz)
    • bug #40966 [Messenger] fix manual amqp setup when autosetup disabled (@Tobion)
    • bug #40956 [Config] [ConfigBuilder] Set FQCN as properties type instead of class name (@MatTheCat)
    • bug #40964 [HttpFoundation] Fixes for PHP 8.1 deprecations (@jrmajor)
    • bug #40950 [Config] Remove double semicolons from autogenerated config classes (@HypeMC)
    • bug #40903 [Config] Builder: Remove typehints and allow for EnvConfigurator (@Nyholm)
    • bug #40919 [Mailer] use correct spelling when accessing the SMTP php.ini value (@xabbuh)
    • bug #40514 [Yaml] Allow tabs as separators between tokens (@bertramakers)
    • bug #40882 [Cache] phpredis: Added full TLS support for RedisCluster (@jackthomasatl)
    • feature #38475 [Translation] Adding Translation Providers (@welcoMattic)
    • bug #40877 [Config] Make sure one can build cache on Windows and then run in (Docker) Linux (@Nyholm)
    • bug #40878 [Config] Use plural name on array values (@Nyholm)
    • bug #40872 [DependencyInjection] [AliasDeprecatedPublicServicesPass] Noop when the service is private (@fancyweb)
    • feature #40800 [DependencyInjection] Add #[Target] to tell how a dependency is used and hint named autowiring aliases (@nicolas-grekas)
    • bug #40859 [Config] Support extensions without configuration in ConfigBuilder warmup (@wouterj)
    • bug #40852 [Notifier] Add missing entries in scheme to package map (@jschaedl)

    [PR] https://github.com/symfony/symfony/pull/41019

    Source code(tar.gz)
    Source code(zip)
  • v5.2.7(May 1, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.2.6...v5.2.7)

    • bug #41008 [Security] Do not try to rehash null-passwords (@tjveldhuizen)
    • bug #40993 [Security] [Security/Core] fix checking for bcrypt (@nicolas-grekas)
    • bug #40923 [Yaml] expose references detected in inline notation structures (@xabbuh)
    • bug #40964 [HttpFoundation] Fixes for PHP 8.1 deprecations (@jrmajor)
    • bug #40919 [Mailer] use correct spelling when accessing the SMTP php.ini value (@xabbuh)
    • bug #40514 [Yaml] Allow tabs as separators between tokens (@bertramakers)
    • bug #40882 [Cache] phpredis: Added full TLS support for RedisCluster (@jackthomasatl)
    • bug #40872 [DependencyInjection] [AliasDeprecatedPublicServicesPass] Noop when the service is private (@fancyweb)
    • bug #40802 [FrameworkBundle] Fix array controller link in debug:router (@fancyweb)
    • bug #40793 [DoctrineBridge] Add support for a driver type "attribute" (@beberlei)
    • bug #40807 RequestMatcher issue when _controller is a closure (@Plopix)
    • bug #40811 [PropertyInfo] Use the right context for methods defined in traits (@colinodell)
    • bug #40791 [WebProfilerBundle] Use ControllerReference instead of URL in twig render() (@Foxprodev)
    • bug #40330 [SecurityBundle] Empty line starting with dash under "access_control" causes all rules to be skipped (@monteiro)
    • bug #40780 [Cache] Apply NullAdapter as Null Object (@roukmoute)
    • bug #40740 [Cache][FrameworkBundle] Fix logging for TagAwareAdapter (@fancyweb)
    • bug #40755 [Routing] Better inline requirements and defaults parsing (@Foxprodev)
    • bug #40754 [PhpUnitBridge] Fix phpunit symlink on Windows (@johnstevenson)
    • bug #40660 [Form] Fix 'invalid_message' use in multiple ChoiceType (@alexandre-daubois)
    • bug #40707 [Yaml] Fixed infinite loop when parser goes through an additional and invalid closing tag (@alexandre-daubois)
    • bug #40698 [Console] Add Helper::width() and Helper::length() (@Nyholm, @grasmash)
    • bug #40679 [Debug][ErrorHandler] Avoid warning with Xdebug 3 with develop mode disabled (@Jean85)
    • bug #40702 [HttpClient] allow CurlHttpClient on Windows (@n0rbyt3)
    • bug #40503 [Yaml] fix parsing some block sequences (@a1812)
    • bug #40610 Fixed bugs found by psalm (@Nyholm)
    • bug #40603 [Config] Fixed support for nodes not extending BaseNode (@Nyholm)
    • bug #40658 [RateLimiter] Fix sleep value (@jderusse)
    • bug #40645 [FrameworkBundle] Dont store cache misses on warmup (@Nyholm)
    • bug #40629 [DependencyInjection] Fix "url" env var processor behavior when the url has no path (@fancyweb)
    • bug #40655 [Cache] skip storing failure-to-save as misses in ArrayAdapter (@nicolas-grekas)
    • bug #40522 [Serializer] Allow AbstractNormalizer to use null for non-optional nullable constructor parameters without default value (@Pierre Rineau)
    • bug #40595 add missing queue_name to find(id) in doctrine messenger transport (@monteiro)
    • bug #40619 [FrameworkBundle] dont access the container to configure http_cache (@nicolas-grekas)

    [PR] https://github.com/symfony/symfony/pull/41018

    Source code(tar.gz)
    Source code(zip)
  • v4.4.22(May 1, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v4.4.21...v4.4.22)

    • bug #40993 [Security] [Security/Core] fix checking for bcrypt (@nicolas-grekas)
    • bug #40923 [Yaml] expose references detected in inline notation structures (@xabbuh)
    • bug #40964 [HttpFoundation] Fixes for PHP 8.1 deprecations (@jrmajor)
    • bug #40514 [Yaml] Allow tabs as separators between tokens (@bertramakers)
    • bug #40882 [Cache] phpredis: Added full TLS support for RedisCluster (@jackthomasatl)
    • bug #40793 [DoctrineBridge] Add support for a driver type "attribute" (@beberlei)
    • bug #40807 RequestMatcher issue when _controller is a closure (@Plopix)
    • bug #40811 [PropertyInfo] Use the right context for methods defined in traits (@colinodell)
    • bug #40330 [SecurityBundle] Empty line starting with dash under "access_control" causes all rules to be skipped (@monteiro)
    • bug #40780 [Cache] Apply NullAdapter as Null Object (@roukmoute)
    • bug #40740 [Cache][FrameworkBundle] Fix logging for TagAwareAdapter (@fancyweb)
    • bug #40755 [Routing] Better inline requirements and defaults parsing (@Foxprodev)
    • bug #40754 [PhpUnitBridge] Fix phpunit symlink on Windows (@johnstevenson)
    • bug #40707 [Yaml] Fixed infinite loop when parser goes through an additional and invalid closing tag (@alexandre-daubois)
    • bug #40679 [Debug][ErrorHandler] Avoid warning with Xdebug 3 with develop mode disabled (@Jean85)
    • bug #40702 [HttpClient] allow CurlHttpClient on Windows (@n0rbyt3)
    • bug #40503 [Yaml] fix parsing some block sequences (@a1812)
    • bug #40610 Fixed bugs found by psalm (@Nyholm)
    • bug #40603 [Config] Fixed support for nodes not extending BaseNode (@Nyholm)
    • bug #40645 [FrameworkBundle] Dont store cache misses on warmup (@Nyholm)
    • bug #40629 [DependencyInjection] Fix "url" env var processor behavior when the url has no path (@fancyweb)
    • bug #40655 [Cache] skip storing failure-to-save as misses in ArrayAdapter (@nicolas-grekas)
    • bug #40522 [Serializer] Allow AbstractNormalizer to use null for non-optional nullable constructor parameters without default value (@Pierre Rineau)
    • bug #40595 add missing queue_name to find(id) in doctrine messenger transport (@monteiro)

    [PR] https://github.com/symfony/symfony/pull/41017

    Source code(tar.gz)
    Source code(zip)
  • v5.3.0-BETA1(Apr 18, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.2.6...v5.3.0-BETA1)

    • feature #40838 [SecurityBundle] Deprecate public services to private (@fancyweb)
    • feature #40782 [DependencyInjection] Add #[When(env: 'foo')] to skip autoregistering a class when the env doesn't match (@nicolas-grekas)
    • feature #40840 [Security] Add passport to AuthenticationTokenCreatedEvent (@scheb)
    • feature #40799 [FrameworkBundle] Add AbstractController::handleForm() helper (@dunglas)
    • feature #40646 [Notifier] Add MessageBird notifier bridge (@StaffNowa)
    • feature #40804 [Config][FrameworkBundle] Add CacheWarmer for ConfigBuilder (@Nyholm)
    • feature #40814 Remove the experimental flag from the authenticator system 🚀 (@chalasr)
    • feature #40690 [Form] Add support for sorting fields (@yceruto)
    • feature #40691 [Notifier] Add SmsBiuras notifier bridge (@StaffNowa)
    • feature #40406 [DependencyInjection] Autowire arguments using attributes (@derrabus, @nicolas-grekas)
    • feature #40155 [Messenger] Support Redis Cluster (@nesk)
    • feature #40600 [Config][DependencyInjection] Add configuration builder for writing PHP config (@Nyholm)
    • feature #40171 [Workflow] Add Mermaid.js dumper (@eFrane)
    • feature #40761 [MonologBridge] Reset loggers on workers (@l-vo)
    • feature #40785 [Security] Deprecate using UsageTrackingTokenStorage outside the request-response cycle (@wouterj)
    • feature #40718 [Messenger] Add X-Ray trace header support to the SQS transport (@WaylandAce)
    • feature #40682 [DependencyInjection] Add env() and EnvConfigurator in the PHP-DSL (@fancyweb)
    • feature #40145 [Security] Rework the remember me system (@wouterj)
    • feature #40695 [Console] Deprecate Helper::strlen() for width() and length() (@Nyholm)
    • feature #40486 [Security] Add concept of required passport badges (@wouterj)
    • feature #39007 [Notifier] Add notifier for Microsoft Teams (@idetox)
    • feature #40710 [Serializer] Construct annotations using named arguments (@derrabus)
    • feature #40647 [Notifier] [FakeChat] Added the bridge (@OskarStark)
    • feature #40607 [Notifier] Add LightSms notifier bridge (@Vasilij Dusko, @StaffNowa)
    • feature #40576 [Mime] Remove @internal from Headers methods (@VincentLanglet)
    • feature #40575 [FrameworkBundle][HttpKernel][TwigBridge] Add an helper to generate fragments URL (@dunglas)
    • feature #38468 Messenger multiple failed transports (@monteiro)
    • feature #39949 [Notifier] [FakeSms] Add the bridge (@JamesHemery)
    • feature #40403 [Security] Rename UserInterface::getUsername() to getUserIdentifier() (@wouterj)
    • feature #40602 [Cache] Support a custom serializer in the ApcuAdapter class (@ste93cry)
    • feature #40449 [TwigBridge] add tailwindcss form layout (@kbond)
    • feature #40567 [Security] Move the badges resolution check to AuthenticatorManager (@chalasr)
    • feature #40300 [HttpFoundation] Add support for mysql unix_socket and charset in PdoSessionHandler::buildDsnFromUrl (@bcremer, @Nyholm)
    • feature #40153 [Security] LoginLink with specific locale (@roromix)
    • feature #40489 [Serializer] Add a Custom End Of Line in CSV File (@xfifix)
    • feature #40554 [Contracts] Add TranslatorInterface::getLocale() (@nicolas-grekas)
    • feature #40556 Add #[As-prefix] to service attributes (@nicolas-grekas)
    • feature #40555 [HttpKernel] Add #[AsController] attribute for declaring standalone controllers on PHP 8 (@nicolas-grekas)
    • feature #40550 [Notifier] Move abstract test cases to namespace (@OskarStark)
    • feature #40530 [Uid] Handle predefined namespaces keywords "dns", "url", "oid" and "x500" (@fancyweb)
    • feature #40536 [HttpFoundation][HttpKernel] Rename master request to main request (@derrabus)
    • feature #40513 [Runtime] make GenericRuntime ... generic (@nicolas-grekas)
    • feature #40430 [Form] Add "form_attr" FormType option (@cristoforocervino)
    • feature #38488 [Validator] Add normalizer option to Unique constraint (@henry2778)
    • feature #40487 [Security] Remove deprecated support for passing a UserInterface implementation to Passport (@wouterj)
    • feature #40443 [Security] Rename User to InMemoryUser (@chalasr)
    • feature #40468 Deprecate configuring tag names and service ids in compiler passes (@nicolas-grekas)
    • feature #40248 [DependencyInjection] Add #[TaggedItem] attribute for defining the index and priority of classes found in tagged iterators/locators (@nicolas-grekas)
    • feature #40240 [Validator] Add Validation::createIsValidCallable() that returns a boolean instead of exception (@wouterj)
    • feature #40366 [FrameworkBundle] Add KernelTestCase::getContainer() (@Nyholm)
    • feature #40441 [WebProfilerBundle] Disable CSP if dumper was used (@monojp)
    • feature #40448 [twig-bridge] Allow NotificationEmail to be marked as public (@maxailloud)
    • feature #38465 [Runtime] a new component to decouple applications from global state (@nicolas-grekas)
    • feature #40432 [HttpKernel] Deprecate returning a ContainerBuilder from KernelInterface::registerContainerConfiguration() (@nicolas-grekas)
    • feature #40337 [DependencyInjection] Add support an integer return for default_index_method (@maranqz)
    • feature #39693 [PropertyAccess] use bitwise flags to configure when the property accessor should throw (@xabbuh)
    • feature #40267 [Security] Decouple passwords from UserInterface (@chalasr)
    • feature #40377 [Notifier] [OvhCloud] Add "sender" (@notFloran)
    • feature #40384 [DependencyInjection] Implement psr/container 1.1 (@derrabus)
    • feature #40229 [FrameworkBundle][Translation] Extract translation IDs from all of src (@natewiebe13)
    • feature #40338 [FrameworkBundle] Add support for doctrine/annotations:1.13 || 2.0 (@Nyholm)
    • feature #40323 [TwigBridge][TwigBundle] Twig serialize filter (@jrushlow)
    • feature #40339 [RateLimiter][Security] Add a login_throttling.interval (in security.firewalls) option to change the default throttling interval. (@damienfa, @wouterj)
    • feature #40307 [HttpKernel] Handle multi-attribute controller arguments (@chalasr)
    • feature #40284 [RateLimiter][Security] Allow to use no lock in the rate limiter/login throttling (@wouterj)
    • feature #39607 [Messenger] Add rediss:// DSN scheme support for TLS to Redis transport (@njutn95)
    • feature #40306 [HttpClient] Add HttpClientInterface::withOptions() (@nicolas-grekas)
    • feature #39883 [Uid] Add Generate and Inspect commands (@fancyweb)
    • feature #40140 [DependencyInjection] Add ContainerBuilder::willBeAvailable() to help with conditional configuration (@nicolas-grekas)
    • feature #40266 [Routing] Construct Route annotations using named arguments (@derrabus)
    • feature #40288 Deprecate passing null as $message or $code to exceptions (@derrabus)
    • feature #40298 [Form] Remove hard dependency on symfony/intl (@Nyholm)
    • feature #40214 [FrameworkBundle] allow container/routing configurators to vary by env (@nicolas-grekas)
    • feature #40257 [Intl] Add Currencies::getCashFractionDigits() and Currencies::getCashRoundingIncrement() (@nicolas-grekas)
    • feature #39326 [Security] Added debug:firewall command (@TimoBakx)
    • feature #40234 [Console] Add ConsoleCommand attribute for declaring commands on PHP 8 (@nicolas-grekas)
    • feature #39897 [DependencyInjection] Autoconfigurable attributes (@derrabus)
    • feature #39804 [DependencyInjection] Add #[Autoconfigure] to help define autoconfiguration rules (@nicolas-grekas)
    • feature #40174 [Mailer] AWS SES transport Source ARN header support (@chekalsky)
    • feature #38473 [Framework] Add tag assets.package to register asset packages (@GromNaN)
    • feature #39399 [Serializer] Allow to provide (de)normalization context in mapping (@ogizanagi)
    • feature #40202 [Workflow] Deprecate InvalidTokenConfigurationException (@chalasr)
    • feature #40176 [PasswordHasher] Use bcrypt as default hash algorithm for "native" and "auto" (@chalasr)
    • feature #40048 [FrameworkBundle] Deprecate session.storage service (@jderusse)
    • feature #40169 [DependencyInjection] Negated (not:) env var processor (@bpolaszek)
    • feature #39802 [Security] Extract password hashing from security-core - with proper wording (@chalasr)
    • feature #40143 [Filesystem] improve messages on failure (@nicolas-grekas)
    • feature #40144 [Filesystem] Remove dirs atomically if possible (@nicolas-grekas)
    • feature #39507 [Uid] Add UidFactory to create Ulid and Uuid from timestamps and randomness/nodes (@fancyweb)
    • feature #39688 [FrameworkBundle][Messenger] Added RouterContextMiddleware (@jderusse)
    • feature #40102 [Notifier] [Firebase] Add data field to options (@Raresmldvn)
    • feature #39978 [DoctrineBridge] Make subscriber and listeners prioritizable (@jderusse)
    • feature #39732 [Routing] don't decode nor double-encode already encoded slashes when generating URLs (@nicolas-grekas)
    • feature #39893 [HttpKernel] Show full URI when route not found (@ruudk)
    • feature #40059 [PhpUnitBridge] Add SYMFONY_PHPUNIT_REQUIRE env variable (@acasademont)
    • feature #39948 [Notifier] [SpotHit] Add the bridge (@JamesHemery)
    • feature #38973 [Messenger] Allow to limit consumer to specific queues (@dbu)
    • feature #40029 [DoctineBridge] Remove UuidV*Generator classes (@nicolas-grekas)
    • feature #39976 [Console] Add bright colors to console. (@CupOfTea696)
    • feature #40028 [Semaphore] remove "experimental" status (@jderusse)
    • feature #38616 [FrameworkBundle][HttpFoundation][Security] Deprecate service "session" (@jderusse)
    • feature #40010 [Uid] remove "experimental" status (@nicolas-grekas)
    • feature #40012 [Uid] Add RFC4122 UUID namespaces as constants (@nicolas-grekas)
    • feature #40008 [Uid] Replace getTime() with getDateTime() (@fancyweb)
    • feature #39910 [FrameworkBundle] Command cache:pool:clear warns and fails when one of the pools fails to clear (@jderusse)
    • feature #39699 [String] Made AsciiSlugger fallback to parent locale's symbolsMap (@jontjs)
    • feature #39971 [Cache] Change PDO cache table collate from utf8_bin to utf8mb4_bin (@pdragun)
    • feature #38922 [Notifier] Add notifier for Clickatell (@Kevin Auivinet, @Kevin Auvinet, @ke20)
    • feature #39587 [Notifier] [Mobyt] Change ctor signature and validate message types (@OskarStark)
    • feature #39919 [Security] Randomize CSRF token to harden BREACH attacks (@jderusse)
    • feature #39850 [Uid] Add fromBase58(), fromBase32(), fromRfc4122() and fromBinary() methods (@fancyweb)
    • feature #39904 [Console] add option --short to the list command (@nicolas-grekas)
    • feature #39851 [Console] enable describing commands in ways that make the list command lazy (@nicolas-grekas)
    • feature #39838 [Notifier] Add Gitter Bridge (@christingruber)
    • feature #39342 [Notifier] Add mercure bridge (@mtarld)
    • feature #39863 [Form][Uid] Add UlidType and UuidType form types (@Gemorroj)
    • feature #39806 [DependencyInjection] Add a remove() method to the PHP configurator (@dunglas)
    • feature #39843 [FrameworkBundle] Add renderForm() helper setting the appropriate HTTP status code (@dunglas)
    • feature #39852 [Security] RoleHierarchy returns an unique array of roles (@lyrixx)
    • feature #39855 [HttpFoundation] deprecate the NamespacedAttributeBag class (@xabbuh)
    • feature #39579 [Notifier] [GoogleChat] [BC BREAK] Rename threadKey parameter to thread_key + set parameter via ctor (@OskarStark)
    • feature #39617 [Notifier] Add AllMySms Bridge (@qdequippe)
    • feature #39702 [Notifier] Add Octopush notifier transport (@aurelienheyliot)
    • feature #39568 [Notifier] Add GatewayApi bridge (@Piergiuseppe Longo)
    • feature #39585 [Notifier] Change Dsn api (@OskarStark)
    • feature #39675 [Serializer] [UidNormalizer] Add normalization formats (@fancyweb)
    • feature #39457 [Notifier] [DX] Dsn::getRequiredOption() (@OskarStark)
    • feature #39098 [PhpUnitBridge] Add log file option for deprecations (@michaelKaefer)
    • feature #39642 [Console] Support binary / negatable options (@greg-1-anderson, @jderusse)
    • feature #39051 [WebProfilerBundle] Possibility to dynamically set mode (@brusch)
    • feature #39701 [Lock] Create flock directory (@jderusse)
    • feature #39696 [DoctrineBridge] Deprecate internal test helpers in Test namespace (@wouterj)
    • feature #39684 [DomCrawler] deprecate parents() in favor of ancestors() (@xabbuh)
    • feature #39666 [FrameworkBundle][HttpFoundation] add assertResponseFormatSame() (@dunglas)
    • feature #39660 [Messenger] Deprecate option prefetch_count (@jderusse)
    • feature #39577 [Serializer] Migrate ArrayDenormalizer to DenormalizerAwareInterface (@derrabus)
    • feature #39020 [PropertyInfo] Support multiple types for collection keys & values (@Korbeil)
    • feature #39557 [Notifier] [BC BREAK] Final classes (@OskarStark)
    • feature #39592 [Notifier] [BC BREAK] Change constructor signature for Mattermost and Esendex transport (@OskarStark)
    • feature #39643 [PhpUnitBridge] Remove obsolete polyfills (@derrabus)
    • feature #39606 [Notifier] [Slack] Validate token syntax (@OskarStark)
    • feature #39549 [Notifier] [BC BREAK] Fix return type (@OskarStark)
    • feature #39096 [Notifier] add iqsms bridge (@alexandrbarabolia)
    • feature #39493 [Notifier] Introduce LengthException (@OskarStark)
    • feature #39484 [FrameworkBundle] Allow env variables in json_manifest_path (@jderusse)
    • feature #39480 [FrameworkBundle] Add "mailer" monolog channel to mailer transports (@chalasr)
    • feature #39419 [PhpUnitBridge] bump "php" to 7.1+ and "phpunit" to 7.5+ (@nicolas-grekas)
    • feature #39410 [Notifier] Add HeaderBlock for slack notifier (@norkunas)
    • feature #39365 [Notifier] [DX] UnsupportedMessageTypeException for notifier transports (@OskarStark)
    • feature #38469 [Form] Add "choice_translation_parameters" option (@VincentLanglet)
    • feature #39352 [TwigBridge] export concatenated translations (@Stephen)
    • feature #39378 [Messenger] Use "warning" instead of "error" log level for RecoverableException (@lyrixx)
    • feature #38622 [BrowserKit] Allowing body content from GET with a content-type (@thiagomp)
    • feature #39363 [Cache] Support Redis Sentinel mode when using phpredis/phpredis extension (@renan)
    • feature #39340 [Security] Assert voter returns valid decision (@jderusse)
    • feature #39327 [FrameworkBundle] Add validator.expression_language service (@fbourigault)
    • feature #39276 [FrameworkBundle] Added option to specify the event dispatcher in debug:event-dispatcher (@TimoBakx)
    • feature #39042 [Console] Extracting ProgressBar's format's magic strings into const (@CesarScur)
    • feature #39323 Search for pattern on debug:event-dispatcher (@Nyholm)
    • feature #39317 [Form] Changed DataMapperInterface $forms parameter type to \Traversable (@vudaltsov)
    • feature #39258 [Notifier] Add ContextBlock for slack notifier (@norkunas)
    • feature #39300 [Notifier] Check for maximum number of buttons in slack action block (@malteschlueter)
    • feature #39097 [DomCrawler] Cache discovered namespaces (@simonberger, @fabpot)
    • feature #39037 [Ldap] Ldap Entry case-sensitive attribute key option (@karlshea)
    • feature #39146 [Console] Added Invalid constant into Command Class (@TheGarious)
    • feature #39075 [Messenger]  Allow InMemoryTransport to serialize message (@tyx)
    • feature #38982 [Console][Yaml] Linter: add Github annotations format for errors (@ogizanagi)
    • feature #38846 [Messenger] Make all the dependencies of AmazonSqsTransport injectable (@jacekwilczynski)
    • feature #38596 [BrowserKit] Add jsonRequest function to the browser-kit client (@alexander-schranz)
    • feature #38998 [Messenger][SQS] Make sure one can enable debug logs (@Nyholm)
    • feature #38974 [Intl] deprecate polyfills in favor of symfony/polyfill-intl-icu (@nicolas-grekas)

    [PR] https://github.com/symfony/symfony/pull/40853

    Source code(tar.gz)
    Source code(zip)
  • v5.2.6(Mar 29, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.2.5...v5.2.6)

    • bug #40598 [Form] error if the input string couldn't be parsed as a date (@xabbuh)
    • bug #40587 [HttpClient] fix using stream_copy_to_stream() with responses cast to php streams (@nicolas-grekas)
    • bug #40510 [Form] IntegerType: Always use en for IntegerToLocalizedStringTransformer (@Warxcell)
    • bug #40593 Uses the correct assignment action for console options depending if they are short or long (@topikito)
    • bug #40535 [HttpKernel] ConfigDataCollector to return known data without the need of a Kernel (@topikito)
    • bug #40552 [Translation] Fix update existing key with existing +int-icu domain (@Alexis)
    • bug #40541 Fixed parsing deprecated definitions without message key (@adamwojs)
    • bug #40537 [Security] Handle properly 'auto' option for remember me cookie security (@fliespl)
    • bug #40524 [Console] fix emojis messing up the line width (@MarionLeHerisson)
    • bug #40506 [Validator] Avoid triggering the autoloader for user-input values (@Seldaek)
    • bug #40544 [FrameworkBundle] ensure TestBrowserToken::$firewallName is serialized (@kbond)
    • bug #40547 [RateLimiter] Security hardening - Rate limiter (@jderusse)
    • bug #40538 [HttpClient] remove using $http_response_header (@nicolas-grekas)
    • bug #40508 [PhpUnitBridge] fix reporting deprecations from DebugClassLoader (@nicolas-grekas)
    • bug #40497 [HttpFoundation] enable HTTP method overrides as early as possible with the HTTP cache (@xabbuh)
    • bug #40348 [Console] Fix line wrapping for decorated text in block output (@grasmash)
    • bug #40499 [Inflector][String] Fixed pluralize "coupon" (@Nyholm)
    • bug #40494 [PhpUnitBridge] fix compat with symfony/debug (@nicolas-grekas)
    • bug #40453 [VarDumper] Adds support for ReflectionUnionType to VarDumper (@Michael Nelson, @michaeldnelson)
    • bug #40460 Correctly clear lines for multi-line progress bar messages (@grasmash)
    • bug #40490 [Security] Add XML support for authenticator manager (@wouterj)
    • bug #40242 [ErrorHandler] Fix error caused by include + open_basedir (@stlrnz)
    • bug #40368 [FrameworkBundle] Make the TestBrowserToken interchangeable with other tokens (@Seldaek)
    • bug #40450 [Console] ProgressBar clears too many lines on update (@danepowell)
    • bug #40178 [FrameworkBundle] Exclude unreadable files when executing About command (@michaljusiega)
    • bug #40472 [Bridge\Twig] Add 'form-control-range' for range input type (@Oviglo)
    • bug #40481 make async-ses required (@jderusse)
    • bug #39866 [Mime] Escape commas in address names (@YaFou)
    • bug #40373 Check if templating engine supports given view (@fritzmg)
    • bug #39992 [Security] Refresh original user in SwitchUserListener (@AndrolGenhald)
    • bug #40446 [TwigBridge] Fix "Serialization of 'Closure'" error when rendering an TemplatedEmail (@jderusse)
    • bug #40416 Fix ConstraintViolation#getMessageTemplate() to always return string (@Ocramius)
    • bug #40425 [DoctrineBridge] Fix eventListener initialization when eventSubscriber constructor dispatch an event (@jderusse)
    • bug #40313 [FrameworkBundle] Fix PropertyAccess definition when not in debug (@PedroTroller)
    • bug #40417 [Form] clear unchecked choice radio boxes even if clear missing is set to false (@xabbuh)
    • bug #40388 [ErrorHandler] Added missing type annotations to FlattenException (@derrabus)
    • bug #40407 [TwigBridge] Allow version 3 of the Twig extra packages (@derrabus)

    [PR] https://github.com/symfony/symfony/pull/40617

    Source code(tar.gz)
    Source code(zip)
  • v4.4.21(Mar 29, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v4.4.20...v4.4.21)

    • bug #40598 [Form] error if the input string couldn't be parsed as a date (@xabbuh)
    • bug #40587 [HttpClient] fix using stream_copy_to_stream() with responses cast to php streams (@nicolas-grekas)
    • bug #40510 [Form] IntegerType: Always use en for IntegerToLocalizedStringTransformer (@Warxcell)
    • bug #40593 Uses the correct assignment action for console options depending if they are short or long (@topikito)
    • bug #40535 [HttpKernel] ConfigDataCollector to return known data without the need of a Kernel (@topikito)
    • bug #40552 [Translation] Fix update existing key with existing +int-icu domain (@Alexis)
    • bug #40537 [Security] Handle properly 'auto' option for remember me cookie security (@fliespl)
    • bug #40506 [Validator] Avoid triggering the autoloader for user-input values (@Seldaek)
    • bug #40538 [HttpClient] remove using $http_response_header (@nicolas-grekas)
    • bug #40508 [PhpUnitBridge] fix reporting deprecations from DebugClassLoader (@nicolas-grekas)
    • bug #40348 [Console] Fix line wrapping for decorated text in block output (@grasmash)
    • bug #40499 [Inflector][String] Fixed pluralize "coupon" (@Nyholm)
    • bug #40494 [PhpUnitBridge] fix compat with symfony/debug (@nicolas-grekas)
    • bug #40453 [VarDumper] Adds support for ReflectionUnionType to VarDumper (@Michael Nelson, @michaeldnelson)
    • bug #40460 Correctly clear lines for multi-line progress bar messages (@grasmash)
    • bug #40450 [Console] ProgressBar clears too many lines on update (@danepowell)
    • bug #40178 [FrameworkBundle] Exclude unreadable files when executing About command (@michaljusiega)
    • bug #40472 [Bridge\Twig] Add 'form-control-range' for range input type (@Oviglo)
    • bug #39866 [Mime] Escape commas in address names (@YaFou)
    • bug #40373 Check if templating engine supports given view (@fritzmg)
    • bug #39992 [Security] Refresh original user in SwitchUserListener (@AndrolGenhald)
    • bug #40446 [TwigBridge] Fix "Serialization of 'Closure'" error when rendering an TemplatedEmail (@jderusse)
    • bug #40425 [DoctrineBridge] Fix eventListener initialization when eventSubscriber constructor dispatch an event (@jderusse)
    • bug #40313 [FrameworkBundle] Fix PropertyAccess definition when not in debug (@PedroTroller)
    • bug #40417 [Form] clear unchecked choice radio boxes even if clear missing is set to false (@xabbuh)
    • bug #40388 [ErrorHandler] Added missing type annotations to FlattenException (@derrabus)
    • bug #40407 [TwigBridge] Allow version 3 of the Twig extra packages (@derrabus)
    • bug #39685 [Mailer][Mime][TwigBridge][Validator] Allow egulias/email-validator 3.x (@derrabus)
    • bug #40398 [FrameworkBundle] : Fix method name compare in ResolveControllerNameSubscriber (@glensc)
    • bug #39733 [TwigBridge] Render email once (@jderusse)
    • bug #40386 [DependencyInjection][Security] Backport psr/container 1.1/2.0 compatibility (@derrabus)

    [PR] https://github.com/symfony/symfony/pull/40616

    Source code(tar.gz)
    Source code(zip)
  • v5.2.5(Mar 10, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.2.4...v5.2.5)

    • bug #40415 Fix ConstraintViolation#getPropertyPath() to always return string (@Ocramius)
    • bug #40421 [FrameworkBundle] fix XSD (@nicolas-grekas)
    • bug #39685 [Mailer][Mime][TwigBridge][Validator] Allow egulias/email-validator 3.x (@derrabus)
    • bug #40398 [FrameworkBundle] : Fix method name compare in ResolveControllerNameSubscriber (@glensc)
    • bug #39733 [TwigBridge] Render email once (@jderusse)
    • bug #40386 [DependencyInjection][Security] Backport psr/container 1.1/2.0 compatibility (@derrabus)
    • bug #40376 [Messenger] Don't lock tables or start transactions (@Nyholm)
    • bug #40378 Changing ZulipTransportFactory tag to prevent the exception UnsupportedSchemeException (@big-r81)

    [PR] https://github.com/symfony/symfony/pull/40440

    Source code(tar.gz)
    Source code(zip)
  • v5.2.4(Mar 4, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.2.3...v5.2.4)

    • bug #40336 [Messenger] Doctrine setup with migrations (@Nyholm)
    • bug #40318 [Translation] deal with indented heredoc/nowdoc tokens (@xabbuh)
    • bug #40350 [DependencyInjection] fix parsing calls of methods named "method" (@xabbuh)
    • bug #40316 [Serializer] zero parts can be omitted in date interval input (@xabbuh)
    • bug #40239 MockResponse total_time should not be simulated when provided (@Pierrick VIGNAND)
    • bug #40299 [Cache] Add server-commands support for Predis Replication Environments (@DemigodCode)
    • bug #40231 [HttpKernel] Configure session.cookie_secure earlier (@tamcy)
    • bug #40283 [Translation] Make name attribute optional in xliff2 (@MarieMinasyan)
    • bug #40286 [Security] #[CurrentUser] arguments should resolve to null for "anon." (@chalasr)
    • bug #40281 [FrameworkBundle] Allow x-forwarded-prefix trusted header in config (@drupol)
    • bug #39599 [Cache] Fix Redis TLS scheme rediss for Redis connection (@misaert)
    • bug #40244 [Routing] fix conflict with param named class in attribute (@nlhommet)
    • bug #40273 [Cache] fix setting items' metadata on commit() (@nicolas-grekas)
    • bug #40258 [Form] Ignoring invalid forms from delete_empty behavior in CollectionType (@yceruto)
    • bug #40246 [EventDispatcher] fix registering subscribers twice on edge-case (@nicolas-grekas)
    • bug #40162 [Intl] fix Locale::getFallback() throwing exception on long $locale (@AmirHo3ein13)
    • bug #40211 [Validator] fix taking error message from the correct violation (@xabbuh)
    • bug #40208 [PropertyInfo] fix resolving self to name of the analyzed class (@xabbuh)
    • bug #40209 [WebLink] Escape double quotes in attributes values (@fancyweb)
    • bug #40192 [Console] fix QuestionHelper::getHiddenResponse() not working with space in project directory name (@Yendric)
    • bug #40203 [String] Check if function exists before declaring it (@Nyholm)
    • bug #40175 [PropertyInfo]  use the right context for properties defined in traits (@xabbuh)
    • bug #40172 [Translation] Allow using dashes in locale when linting Xliff files (@localheinz)
    • bug #39671 [Worflow] Fixed GuardListener when using the new Security system (@lyrixx)
    • bug #40187 [Console] Fix PHP 8.1 null error for preg_match flag (@kylekatarnls)
    • bug #39659 [Form] keep valid submitted choices when additional choices are submitted (@xabbuh)
    • bug #40188 [HttpFoundation] Fix PHP 8.1 null values (@kylekatarnls)
    • bug #40167 [DependencyInjection] Definition::removeMethodCall should remove all matching calls (@ruudk)
    • bug #40160 [PropertyInfo] fix extracting mixed type-hinted property types (@xabbuh)
    • bug #40040 [Finder] Use a lazyIterator to close files descriptors when no longer used (@jderusse)
    • bug #40141 [RateLimiter] Fix sliding_window misbehaving with stale records (@xesxen)
    • bug #40135 [FrameworkBundle] Fix freshness checks with boolean parameters on routes (@HypeMC)
    • bug #40138 [FrameworkBundle] fix registering "annotations.cache" on the "container.hot_path" (@nicolas-grekas)
    • bug #40137 [Form] forward the label_html option to expanded choice fields (@xabbuh)
    • bug #40116 [FrameworkBundle][Translator] scan directories for translations sequentially (@xabbuh)
    • bug #40124 [Form] merge translation parameters with value configured for parent form (@xabbuh)
    • bug #40104 [HttpKernel] [Kernel] Silence failed deprecations logs writes (@fancyweb)
    • bug #40098 [DependencyInjection] fix tracking of changes to vendor/ dirs (@nicolas-grekas)
    • bug #39980 [Mailer][Mime] Update inline part names with newly generated ContentId (@ddegentesh)
    • bug #40043 [HttpFoundation] Setting REQUEST_TIME_FLOAT when constructing a Request object (@ctasada)
    • bug #40050 [FrameworkBundle][Translator] Fixed updating catalogue metadata from Intl domain (@yceruto)
    • bug #40080 Fix Request with DNS issue not retried (@jderusse)
    • bug #40089 [SecurityBundle] role_names variable instead of roles (@wickedOne)
    • bug #40042 [Doctrine] Restore priority for EventSubscribers (@jderusse)
    • bug #40066 [ErrorHandler] fix parsing return types in DebugClassLoader (@nicolas-grekas)
    • bug #40065 [ErrorHandler] fix handling messages with null bytes from anonymous classes (@nicolas-grekas)
    • bug #40067 [PhpUnitBridge] fix reporting deprecations when they come from DebugClassLoader (@nicolas-grekas)

    [PR] https://github.com/symfony/symfony/pull/40364

    Source code(tar.gz)
    Source code(zip)
  • v4.4.20(Mar 4, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v4.4.19...v4.4.20)

    • bug #40318 [Translation] deal with indented heredoc/nowdoc tokens (@xabbuh)
    • bug #40350 [DependencyInjection] fix parsing calls of methods named "method" (@xabbuh)
    • bug #40316 [Serializer] zero parts can be omitted in date interval input (@xabbuh)
    • bug #40239 MockResponse total_time should not be simulated when provided (@Pierrick VIGNAND)
    • bug #40299 [Cache] Add server-commands support for Predis Replication Environments (@DemigodCode)
    • bug #40231 [HttpKernel] Configure session.cookie_secure earlier (@tamcy)
    • bug #40283 [Translation] Make name attribute optional in xliff2 (@MarieMinasyan)
    • bug #39599 [Cache] Fix Redis TLS scheme rediss for Redis connection (@misaert)
    • bug #40244 [Routing] fix conflict with param named class in attribute (@nlhommet)
    • bug #40273 [Cache] fix setting items' metadata on commit() (@nicolas-grekas)
    • bug #40258 [Form] Ignoring invalid forms from delete_empty behavior in CollectionType (@yceruto)
    • bug #40162 [Intl] fix Locale::getFallback() throwing exception on long $locale (@AmirHo3ein13)
    • bug #40208 [PropertyInfo] fix resolving self to name of the analyzed class (@xabbuh)
    • bug #40209 [WebLink] Escape double quotes in attributes values (@fancyweb)
    • bug #40192 [Console] fix QuestionHelper::getHiddenResponse() not working with space in project directory name (@Yendric)
    • bug #40175 [PropertyInfo]  use the right context for properties defined in traits (@xabbuh)
    • bug #40172 [Translation] Allow using dashes in locale when linting Xliff files (@localheinz)
    • bug #40187 [Console] Fix PHP 8.1 null error for preg_match flag (@kylekatarnls)
    • bug #39659 [Form] keep valid submitted choices when additional choices are submitted (@xabbuh)
    • bug #40188 [HttpFoundation] Fix PHP 8.1 null values (@kylekatarnls)
    • bug #40167 [DependencyInjection] Definition::removeMethodCall should remove all matching calls (@ruudk)
    • bug #40160 [PropertyInfo] fix extracting mixed type-hinted property types (@xabbuh)
    • bug #40040 [Finder] Use a lazyIterator to close files descriptors when no longer used (@jderusse)
    • bug #40135 [FrameworkBundle] Fix freshness checks with boolean parameters on routes (@HypeMC)
    • bug #40138 [FrameworkBundle] fix registering "annotations.cache" on the "container.hot_path" (@nicolas-grekas)
    • bug #40116 [FrameworkBundle][Translator] scan directories for translations sequentially (@xabbuh)
    • bug #40104 [HttpKernel] [Kernel] Silence failed deprecations logs writes (@fancyweb)
    • bug #40098 [DependencyInjection] fix tracking of changes to vendor/ dirs (@nicolas-grekas)
    • bug #39980 [Mailer][Mime] Update inline part names with newly generated ContentId (@ddegentesh)
    • bug #40043 [HttpFoundation] Setting REQUEST_TIME_FLOAT when constructing a Request object (@ctasada)
    • bug #40050 [FrameworkBundle][Translator] Fixed updating catalogue metadata from Intl domain (@yceruto)
    • bug #40089 [SecurityBundle] role_names variable instead of roles (@wickedOne)
    • bug #40042 [Doctrine] Restore priority for EventSubscribers (@jderusse)
    • bug #40066 [ErrorHandler] fix parsing return types in DebugClassLoader (@nicolas-grekas)
    • bug #40065 [ErrorHandler] fix handling messages with null bytes from anonymous classes (@nicolas-grekas)
    • bug #40067 [PhpUnitBridge] fix reporting deprecations when they come from DebugClassLoader (@nicolas-grekas)
    • bug #40060 fix validator when we have false returned by the current element of the iterator (@FabienSalles)
    • bug #40062 [Mime] Fix case-sensitive handling of header names (@piku235)
    • bug #40023 [Finder]  use proper keys to not override appended files (@xabbuh)
    • bug #40019 [ErrorHandler] Fix strpos error when trying to call a method without a name (@Deuchnord)
    • bug #40004 [Serializer] Prevent access to private properties without getters (@julienfalque)

    [PR] https://github.com/symfony/symfony/pull/40363

    Source code(tar.gz)
    Source code(zip)
  • v5.2.3(Feb 2, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.2.2...v5.2.3)

    • bug #40060 fix validator when we have false returned by the current element of the iterator (@FabienSalles)
    • bug #39954 [Mailer][Mime] Fix case-sensitive handling of header names (@piku235)
    • bug #40062 [Mime] Fix case-sensitive handling of header names (@piku235)
    • bug #40055 [Messenger] Fix Doctrine setup when using a migration (@fabpot)
    • bug #40018 [TwigBridge] take into account all label related options (@xabbuh)
    • bug #40023 [Finder]  use proper keys to not override appended files (@xabbuh)
    • bug #40019 [ErrorHandler] Fix strpos error when trying to call a method without a name (@Deuchnord)
    • bug #40027 [DoctrineBridge] add missing @experimental annotation on Uid generators (@nicolas-grekas)
    • bug #40004 [Serializer] Prevent access to private properties without getters (@julienfalque)
    • bug #40003 [Uid] Fix time to float conversion (@fancyweb)

    [PR] https://github.com/symfony/symfony/pull/40074

    Source code(tar.gz)
    Source code(zip)
  • v5.2.2(Jan 27, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.2.1...v5.2.2)

    • bug #38900 [Serializer] Exclude non-initialized properties accessed with getters (@BoShurik)
    • bug #39982 [SecurityBundle] Fix referencing aliases from RegisterEntryPointsPass (@chalasr)
    • bug #39872 [Validator] propagate the object being validated to nested constraints (@xabbuh)
    • bug #39887 [Translator] fix handling plural for floating numbers (@kylekatarnls)
    • bug #39967 [Messenger] fix redis messenger options with dsn (@Kleinast)
    • bug #39970 [Messenger] Fix transporting non-UTF8 payloads by encoding them using base 64 (@nicolas-grekas)
    • bug #39956 [Uid] fix checking for valid UUIDs (@nicolas-grekas)
    • bug #39951 [Form] check parent types for label_format and translation_domain (@xabbuh)
    • bug #39911 [RateLimiter] Fix infinite values with NoLimiter (@YaFou)
    • bug #39936 [Validator] Fix DebugCommand (@loic425)
    • bug #39909 [PhpUnitBridge] Allow relative path to composer cache (@jderusse)
    • bug #39944 [HttpKernel] Configure the ErrorHandler even when it is overriden (@nicolas-grekas)
    • bug #39896 [PropertyInfo] Fix breaking change with has*(arguments...) methods (@YaFou)
    • bug #39932 [Console] [Command] Fix Closure code binding when it is a static anonymous function (@fancyweb)
    • bug #39871 [Notifier] [OvhCloud] “Invalid signature” for message with slashes (@OneT0uch)
    • bug #39900 [Uid] Unable to extend Uuid/Ulid and use fromString() (@OskarStark)
    • bug #39880 [DoctrineBridge] Add username to UserNameNotFoundException (@qurben)
    • bug #39633 [HttpFoundation] Drop int return type from parseFilesize() (@LukeTowers)
    • bug #39889 [HttpClient] Add check for constant in Curl client (@pierredup)
    • bug #39886 [HttpFoundation] Revert #38614 and add assert to avoid regressions (@BafS)
    • bug #39873 [DependencyInjection] Fix container injection with TypedReference (@jderusse)
    • bug #39858 Fix problem when SYMFONY_PHPUNIT_VERSION is empty string value (@alexander-schranz)
    • bug #39861 [DependencyInjection] Skip deprecated definitions in CheckTypeDeclarationsPass (@chalasr)
    • bug #39862 [Security] Replace message data in JSON security error response (@wouterj)
    • bug #39859 [Security] Replace message data in JSON security error response (@wouterj)
    • bug #39839 [Messenger] [AmazonSqs] Fix auto-setup for fifo queue (@starred-gijs)
    • bug #39667 [DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity (@victormacko)
    • bug #39799 [DoctrineBridge] Fix circular loop with EntityManager (@jderusse)
    • bug #39821 [DependencyInjection] Don't trigger notice for deprecated aliases pointing to deprecated definitions (@chalasr)
    • bug #39816 [HttpFoundation] use atomic writes in MockFileSessionStorage (@nicolas-grekas)
    • bug #39812 Make EmailMessage & SmsMessage transport nullable (@odolbeau)
    • bug #39735 [Serializer] Rename normalize param (@VincentLanglet)
    • bug #39797 Dont allow unserializing classes with a destructor (@jderusse)
    • bug #39743 [Mailer] Fix missing BCC recipients in SES bridge (@jderusse)
    • bug #39764 [Config]  fix handling float-like key attribute values (@xabbuh)
    • bug #39787 [Yaml] a colon followed by spaces exclusively separates mapping keys and values (@xabbuh)
    • bug #39788 [Cache] fix possible collision when writing tmp file in filesystem adapter (@nicolas-grekas)
    • bug #39796 Dont allow unserializing classes with a destructor - 5.2 (@jderusse)
    • bug #39794 Dont allow unserializing classes with a destructor - 4.4 (@jderusse)
    • bug #39795 Dont allow unserializing classes with a destructor - 5.1 (@jderusse)
    • bug #39389 [Security]  Move the handleAuthenticationSuccess logic outside try/catch block (@jderusse)
    • bug #39747 [DependencyInjection] Support PHP 8 builtin types in CheckTypeDeclarationsPass (@derrabus)
    • bug #39738 [VarDumper] fix mutating $GLOBALS while cloning it (@nicolas-grekas)
    • bug #39746 [DependencyInjection] Fix InvalidParameterTypeException for function parameters (@derrabus)
    • bug #39681 [HttpFoundation] parse cookie values containing the equal sign (@xabbuh)
    • bug #39716 [DependencyInjection] do not break when loading schemas from network paths on Windows (@xabbuh)
    • bug #39703 [Finder] apply the sort callback on the whole search result (@xabbuh)
    • bug #39717 [TwigBridge] Remove full head content in HTML to text converter (@pupaxxo)
    • bug #39672 [FrameworkBundle] Fix UidNormalizer priority (@fancyweb)
    • bug #39649 [Validator] propagate groups to nested constraints (@xabbuh)
    • bug #39708 [WebProfilerBundle] take query and request parameters into account when matching routes (@xabbuh)
    • bug #39692 [FrameworkBundle] Dump abstract arguments (@jderusse)
    • bug #39683 [Yaml] keep trailing newlines when dumping multi-line strings (@xabbuh)
    • bug #39670 [Form] disable error bubbling by default when inherit_data is configured (@xabbuh)
    • bug #39686 [Lock] Fix config merging in lock (@jderusse)
    • bug #39668 [Yaml] do not dump extra trailing newlines for multiline blocks (@xabbuh)
    • bug #39674 [Messenger] fix postgres transport when the retry table is the same (@lyrixx)
    • bug #39653 [Form] fix passing null $pattern to IntlDateFormatter (@nicolas-grekas)
    • bug #39637 [Security] Fix event propagation for AuthenticationTokenCreatedEvent when globally registered (@scheb)
    • bug #39647 [Validator] Update Isin message to match the translation files (@derrabus)
    • bug #39598 [Messenger] Fix stopwach usage if it has been reset (@lyrixx)
    • bug #39636 [Uid] Handle ValueErrors triggered by ext-uuid on PHP 8 (@derrabus)
    • bug #39631 [VarDumper] Fix display of nullable union return types (@derrabus)
    • bug #39629 [VarDumper] fixed displaying "mixed" as "?mixed" (@nicolas-grekas)
    • bug #39597 [Mailer] Handle failure when sending DATA (@jderusse)
    • bug #39621 [Security] Fix event propagation for globally registered security events (@scheb)
    • bug #39603 [TwigBridge] allow null values in form helpers (@xabbuh)
    • bug #39610 [ProxyManagerBridge] fix PHP notice, switch to "friendsofphp/proxy-manager-lts" (@nicolas-grekas)
    • bug #39584 [Security] Add RememberMe Badge to LoginLinkAuthenticator (@jderusse)
    • bug #39586 Supports empty path for slack DSN (@odolbeau)

    [PR] https://github.com/symfony/symfony/pull/40001

    Source code(tar.gz)
    Source code(zip)
  • v5.1.11(Jan 27, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v5.1.10...v5.1.11)

    • bug #38900 [Serializer] Exclude non-initialized properties accessed with getters (@BoShurik)
    • bug #39872 [Validator] propagate the object being validated to nested constraints (@xabbuh)
    • bug #39887 [Translator] fix handling plural for floating numbers (@kylekatarnls)
    • bug #39967 [Messenger] fix redis messenger options with dsn (@Kleinast)
    • bug #39970 [Messenger] Fix transporting non-UTF8 payloads by encoding them using base 64 (@nicolas-grekas)
    • bug #39956 [Uid] fix checking for valid UUIDs (@nicolas-grekas)
    • bug #39909 [PhpUnitBridge] Allow relative path to composer cache (@jderusse)
    • bug #39944 [HttpKernel] Configure the ErrorHandler even when it is overriden (@nicolas-grekas)
    • bug #39896 [PropertyInfo] Fix breaking change with has*(arguments...) methods (@YaFou)
    • bug #39932 [Console] [Command] Fix Closure code binding when it is a static anonymous function (@fancyweb)
    • bug #39871 [Notifier] [OvhCloud] “Invalid signature” for message with slashes (@OneT0uch)
    • bug #39900 [Uid] Unable to extend Uuid/Ulid and use fromString() (@OskarStark)
    • bug #39880 [DoctrineBridge] Add username to UserNameNotFoundException (@qurben)
    • bug #39633 [HttpFoundation] Drop int return type from parseFilesize() (@LukeTowers)
    • bug #39889 [HttpClient] Add check for constant in Curl client (@pierredup)
    • bug #39886 [HttpFoundation] Revert #38614 and add assert to avoid regressions (@BafS)
    • bug #39873 [DependencyInjection] Fix container injection with TypedReference (@jderusse)
    • bug #39858 Fix problem when SYMFONY_PHPUNIT_VERSION is empty string value (@alexander-schranz)
    • bug #39861 [DependencyInjection] Skip deprecated definitions in CheckTypeDeclarationsPass (@chalasr)
    • bug #39862 [Security] Replace message data in JSON security error response (@wouterj)
    • bug #39839 [Messenger] [AmazonSqs] Fix auto-setup for fifo queue (@starred-gijs)
    • bug #39667 [DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity (@victormacko)
    • bug #39799 [DoctrineBridge] Fix circular loop with EntityManager (@jderusse)
    • bug #39821 [DependencyInjection] Don't trigger notice for deprecated aliases pointing to deprecated definitions (@chalasr)
    • bug #39816 [HttpFoundation] use atomic writes in MockFileSessionStorage (@nicolas-grekas)
    • bug #39812 Make EmailMessage & SmsMessage transport nullable (@odolbeau)
    • bug #39735 [Serializer] Rename normalize param (@VincentLanglet)
    • bug #39797 Dont allow unserializing classes with a destructor (@jderusse)
    • bug #39743 [Mailer] Fix missing BCC recipients in SES bridge (@jderusse)
    • bug #39764 [Config]  fix handling float-like key attribute values (@xabbuh)
    • bug #39787 [Yaml] a colon followed by spaces exclusively separates mapping keys and values (@xabbuh)
    • bug #39788 [Cache] fix possible collision when writing tmp file in filesystem adapter (@nicolas-grekas)
    • bug #39794 Dont allow unserializing classes with a destructor - 4.4 (@jderusse)
    • bug #39795 Dont allow unserializing classes with a destructor - 5.1 (@jderusse)
    • bug #39747 [DependencyInjection] Support PHP 8 builtin types in CheckTypeDeclarationsPass (@derrabus)
    • bug #39738 [VarDumper] fix mutating $GLOBALS while cloning it (@nicolas-grekas)
    • bug #39746 [DependencyInjection] Fix InvalidParameterTypeException for function parameters (@derrabus)
    • bug #39681 [HttpFoundation] parse cookie values containing the equal sign (@xabbuh)
    • bug #39716 [DependencyInjection] do not break when loading schemas from network paths on Windows (@xabbuh)
    • bug #39703 [Finder] apply the sort callback on the whole search result (@xabbuh)
    • bug #39717 [TwigBridge] Remove full head content in HTML to text converter (@pupaxxo)
    • bug #39649 [Validator] propagate groups to nested constraints (@xabbuh)
    • bug #39708 [WebProfilerBundle] take query and request parameters into account when matching routes (@xabbuh)
    • bug #39692 [FrameworkBundle] Dump abstract arguments (@jderusse)
    • bug #39683 [Yaml] keep trailing newlines when dumping multi-line strings (@xabbuh)
    • bug #39670 [Form] disable error bubbling by default when inherit_data is configured (@xabbuh)
    • bug #39686 [Lock] Fix config merging in lock (@jderusse)
    • bug #39668 [Yaml] do not dump extra trailing newlines for multiline blocks (@xabbuh)
    • bug #39674 [Messenger] fix postgres transport when the retry table is the same (@lyrixx)
    • bug #39653 [Form] fix passing null $pattern to IntlDateFormatter (@nicolas-grekas)
    • bug #39598 [Messenger] Fix stopwach usage if it has been reset (@lyrixx)
    • bug #39636 [Uid] Handle ValueErrors triggered by ext-uuid on PHP 8 (@derrabus)
    • bug #39631 [VarDumper] Fix display of nullable union return types (@derrabus)
    • bug #39629 [VarDumper] fixed displaying "mixed" as "?mixed" (@nicolas-grekas)
    • bug #39597 [Mailer] Handle failure when sending DATA (@jderusse)
    • bug #39621 [Security] Fix event propagation for globally registered security events (@scheb)
    • bug #39610 [ProxyManagerBridge] fix PHP notice, switch to "friendsofphp/proxy-manager-lts" (@nicolas-grekas)

    [PR] https://github.com/symfony/symfony/pull/39999 [EOL] End of life release for branch 5.1

    Source code(tar.gz)
    Source code(zip)
  • v4.4.19(Jan 27, 2021)

    Changelog (https://github.com/symfony/symfony/compare/v4.4.18...v4.4.19)

    • bug #38900 [Serializer] Exclude non-initialized properties accessed with getters (@BoShurik)
    • bug #39887 [Translator] fix handling plural for floating numbers (@kylekatarnls)
    • bug #39967 [Messenger] fix redis messenger options with dsn (@Kleinast)
    • bug #39970 [Messenger] Fix transporting non-UTF8 payloads by encoding them using base 64 (@nicolas-grekas)
    • bug #39909 [PhpUnitBridge] Allow relative path to composer cache (@jderusse)
    • bug #39944 [HttpKernel] Configure the ErrorHandler even when it is overriden (@nicolas-grekas)
    • bug #39932 [Console] [Command] Fix Closure code binding when it is a static anonymous function (@fancyweb)
    • bug #39880 [DoctrineBridge] Add username to UserNameNotFoundException (@qurben)
    • bug #39633 [HttpFoundation] Drop int return type from parseFilesize() (@LukeTowers)
    • bug #39889 [HttpClient] Add check for constant in Curl client (@pierredup)
    • bug #39886 [HttpFoundation] Revert #38614 and add assert to avoid regressions (@BafS)
    • bug #39858 Fix problem when SYMFONY_PHPUNIT_VERSION is empty string value (@alexander-schranz)
    • bug #39861 [DependencyInjection] Skip deprecated definitions in CheckTypeDeclarationsPass (@chalasr)
    • bug #39862 [Security] Replace message data in JSON security error response (@wouterj)
    • bug #39667 [DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity (@victormacko)
    • bug #39799 [DoctrineBridge] Fix circular loop with EntityManager (@jderusse)
    • bug #39821 [DependencyInjection] Don't trigger notice for deprecated aliases pointing to deprecated definitions (@chalasr)
    • bug #39816 [HttpFoundation] use atomic writes in MockFileSessionStorage (@nicolas-grekas)
    • bug #39735 [Serializer] Rename normalize param (@VincentLanglet)
    • bug #39797 Dont allow unserializing classes with a destructor (@jderusse)
    • bug #39743 [Mailer] Fix missing BCC recipients in SES bridge (@jderusse)
    • bug #39764 [Config]  fix handling float-like key attribute values (@xabbuh)
    • bug #39787 [Yaml] a colon followed by spaces exclusively separates mapping keys and values (@xabbuh)
    • bug #39788 [Cache] fix possible collision when writing tmp file in filesystem adapter (@nicolas-grekas)
    • bug #39794 Dont allow unserializing classes with a destructor - 4.4 (@jderusse)
    • bug #39747 [DependencyInjection] Support PHP 8 builtin types in CheckTypeDeclarationsPass (@derrabus)
    • bug #39738 [VarDumper] fix mutating $GLOBALS while cloning it (@nicolas-grekas)
    • bug #39746 [DependencyInjection] Fix InvalidParameterTypeException for function parameters (@derrabus)
    • bug #39681 [HttpFoundation] parse cookie values containing the equal sign (@xabbuh)
    • bug #39716 [DependencyInjection] do not break when loading schemas from network paths on Windows (@xabbuh)
    • bug #39703 [Finder] apply the sort callback on the whole search result (@xabbuh)
    • bug #39717 [TwigBridge] Remove full head content in HTML to text converter (@pupaxxo)
    • bug #39708 [WebProfilerBundle] take query and request parameters into account when matching routes (@xabbuh)
    • bug #39683 [Yaml] keep trailing newlines when dumping multi-line strings (@xabbuh)
    • bug #39670 [Form] disable error bubbling by default when inherit_data is configured (@xabbuh)
    • bug #39686 [Lock] Fix config merging in lock (@jderusse)
    • bug #39668 [Yaml] do not dump extra trailing newlines for multiline blocks (@xabbuh)
    • bug #39653 [Form] fix passing null $pattern to IntlDateFormatter (@nicolas-grekas)
    • bug #39598 [Messenger] Fix stopwach usage if it has been reset (@lyrixx)
    • bug #39631 [VarDumper] Fix display of nullable union return types (@derrabus)
    • bug #39629 [VarDumper] fixed displaying "mixed" as "?mixed" (@nicolas-grekas)
    • bug #39597 [Mailer] Handle failure when sending DATA (@jderusse)
    • bug #39610 [ProxyManagerBridge] fix PHP notice, switch to "friendsofphp/proxy-manager-lts" (@nicolas-grekas)

    [PR] https://github.com/symfony/symfony/pull/39998

    Source code(tar.gz)
    Source code(zip)
  • v5.2.1(Dec 18, 2020)

    Changelog (https://github.com/symfony/symfony/compare/v5.2.0...v5.2.1)

    • bug #39555 [FrameworkBundle] Fix NFS detection on macOs (@jderusse)
    • bug #39545 [Notifier] [Mattermost] Host is required (@OskarStark)
    • bug #39548 [Notifier] [Infobip][Zulip] Host is required (@OskarStark)
    • bug #39550 [HttpFoundation] keep turning dots to underscores when using Request::create() (@nicolas-grekas)
    • bug #39538 [Notifier] Fix parsing Dsn with empty user/password (@OskarStark)
    • bug #39531 [Mailer] Fix parsing Dsn with empty user/password (@OskarStark)
    • bug #39492 [Notifier] [Discord] Use private const and mb_strlen() (@OskarStark)
    • bug #39522 [Notifier] Set message id on SentMessage (@OskarStark)
    • bug #39532 [Notifier] Fix toString when optional parameter is not set (@OskarStark)
    • bug #39518 [Ldap] Incorrect determination of RelativeDistinguishedName for the "move" operation (@astepin)
    • bug #39525 [VarDumper] dont hide any nodes until JS is proven to work (@nicolas-grekas)
    • bug #39498 [DoctrineBridge] Guess correct form types for DATE_IMMUTABLE and DATETIME_IMMUTABLE (@guillaume-sainthillier)
    • bug #39510 [Notifier]  [Free Mobile] Could not use custom host in DSN (@OskarStark)
    • bug #39515 [Notifier] Fix wrong package name (@OskarStark)
    • bug #39514 [Notifier] Fix wrong package names (@OskarStark)
    • bug #39502 Add missing symfony/deprecation-contracts requirement - 5.2 (@jderusse)
    • bug #39494 Add missing symfony/deprecation-contracts requirement (@jderusse)
    • bug #39360 [FrameworkBundler] Fix cache:clear with buildDir (@jderusse)
    • bug #39476 [Lock] Prevent store exception break combined store (@dzubchik)
    • bug #39478 [FrameworkBundle] Fix missing kernel.build_dir on cache clear (@chalasr)
    • bug #39456 [Notifier] [Free Mobile] Fix wrong scheme in mapping (@OskarStark)
    • bug #39442 Fix enabled key for ratelimiter config (@pierredup)
    • bug #39299 [PropertyInfo][Serializer] Fixed extracting ignored properties for Serializer (@javer)
    • bug #39433 [Cache] fix setting "read_timeout" when using Redis (@nicolas-grekas)
    • bug #39228 [HttpClient] Fix content swallowed by AsyncClient initializer (@jderusse)
    • bug #39420 [Cache] Prevent notice on case matching metadata trick (@bastnic)
    • bug #39413 [Notifier] [Discord] Make webhookId argument required (@OskarStark)
    • bug #39203 [DI] Fix not working if only "default_index_method" used (@malteschlueter)
    • bug #39409 [Notifier] [Twilio] Add tests (@OskarStark)
    • bug #39401 [DoctrineBridge] no-op RegisterUidTypePass if DBAL types aren't loaded (@craue)
    • bug #39417 [Form] Fix UUID exception (@jderusse)
    • bug #39142 [Config] Stop treating multiline resources as globs (@michaelKaefer)
    • bug #39341 [Form] Fixed StringUtil::trim() to trim ZERO WIDTH SPACE (U+200B) and SOFT HYPHEN (U+00AD) (@pmishev)
    • bug #39268 [HttpClient] Use decoration instead of class replacement for mock factory (@GaryPEGEOT)
    • bug #39334 [Config][TwigBundle] Fixed syntax error in config (@Nyholm)
    • bug #39196 [DI] Fix Xdebug 3.0 detection (@vertexvaar)
    • bug #39375 [SecurityBundle] fix LDAP-based HTTP Basic Auth entry point registration (@xabbuh)
    • bug #39226 [PhpUnitBridge] Fix disabling DeprecationErrorHandler from PHPUnit configuration file (@fancyweb)
    • bug #39298 [Cache] Fixed incorrect usage of UNLINK with PHPRedis with Redis < 4.0 (@wickex)
    • bug #39361 [FrameworkBundle] acces public-deprecated services via the private container to remove false-positive deprecations (@nicolas-grekas)
    • bug #39358 [HttpFoundation] fix parsing some special chars with HeaderUtils::parseQuery() (@nicolas-grekas)
    • bug #39357 [FrameworkBundle] fix preserving some special chars in the query string (@nicolas-grekas)
    • bug #39310 [Notifier] Add exception for deprecated slack dsn (@malteschlueter)
    • bug #39271 [HttpFoundation] Fix TypeError: Argument 1 passed to JsonResponse::setJson() must be of the type string, object given (@sidz)
    • bug #39251 [DependencyInjection] Fix container linter for union types (@derrabus)
    • bug #39336 [Config] YamlReferenceDumper: No default value required for VariableNode with array example (@Nyholm)
    • bug #39333 [Form] do not apply the Valid constraint on scalar form data (@lchrusciel, @xabbuh)
    • bug #39331 [PhpUnitBridge] Fixed PHPunit 9.5 compatibility (@wouterj)
    • bug #39220 [HttpKernel] Fix bug with whitespace in Kernel::stripComments() (@ausi)
    • bug #39252 [Mime] Leverage PHP 8's detection of CSV files (@derrabus)
    • bug #39313 [FrameworkBundle] TextDescriptor::formatControllerLink checked method… (@fjogeleit)
    • bug #39286 [HttpClient] throw clearer error when no scheme is provided (@BackEndTea)
    • bug #39267 [Yaml] fix lexing backslashes in single quoted strings (@xabbuh)
    • bug #39151 [DependencyInjection] Fixed incorrect report for private services if required service does not exist (@Islam93)
    • bug #39236 [Notifier] Fix slack section block (@norkunas)
    • bug #39274 [Yaml] fix lexing mapping values with trailing whitespaces (@xabbuh)
    • bug #39256 [Workflow] Fixed case when the marking store is not defined (@lyrixx)
    • bug #39244 [String] Fix Notice when argument is empty string (@moldman)
    • bug #39270 [Inflector] Fix Notice when argument is empty string (@moldman)
    • bug #39263 [Security] more defensive PasswordMigratingListener (@romaricdrigon)
    • bug #39261 [Security] fix #39249, default entry_point compiler pass was returning too early (@romaricdrigon)
    • bug #39247 [Security] remove return type definition in order to avoid type juggling (@adeptofvoltron)
    • bug #39223 [Console] Re-enable hyperlinks in Konsole/Yakuake (@OndraM)
    • bug #39241 [Yaml] fix lexing inline sequences/mappings with trailing whitespaces (@Nyholm, @xabbuh)
    • bug #39243 [Filesystem] File existence check before calling unlink method (@gechetspr)

    [PR] https://github.com/symfony/symfony/pull/39564

    Source code(tar.gz)
    Source code(zip)
  • v5.1.10(Dec 18, 2020)

    Changelog (https://github.com/symfony/symfony/compare/v5.1.9...v5.1.10)

    • bug #39545 [Notifier] [Mattermost] Host is required (@OskarStark)
    • bug #39538 [Notifier] Fix parsing Dsn with empty user/password (@OskarStark)
    • bug #39531 [Mailer] Fix parsing Dsn with empty user/password (@OskarStark)
    • bug #39518 [Ldap] Incorrect determination of RelativeDistinguishedName for the "move" operation (@astepin)
    • bug #39510 [Notifier]  [Free Mobile] Could not use custom host in DSN (@OskarStark)
    • bug #39514 [Notifier] Fix wrong package names (@OskarStark)
    • bug #39494 Add missing symfony/deprecation-contracts requirement (@jderusse)
    • bug #39476 [Lock] Prevent store exception break combined store (@dzubchik)
    • bug #39456 [Notifier] [Free Mobile] Fix wrong scheme in mapping (@OskarStark)
    • bug #39299 [PropertyInfo][Serializer] Fixed extracting ignored properties for Serializer (@javer)
    • bug #39433 [Cache] fix setting "read_timeout" when using Redis (@nicolas-grekas)
    • bug #39420 [Cache] Prevent notice on case matching metadata trick (@bastnic)
    • bug #39203 [DI] Fix not working if only "default_index_method" used (@malteschlueter)
    • bug #39409 [Notifier] [Twilio] Add tests (@OskarStark)
    • bug #39142 [Config] Stop treating multiline resources as globs (@michaelKaefer)
    • bug #39341 [Form] Fixed StringUtil::trim() to trim ZERO WIDTH SPACE (U+200B) and SOFT HYPHEN (U+00AD) (@pmishev)
    • bug #39334 [Config][TwigBundle] Fixed syntax error in config (@Nyholm)
    • bug #39196 [DI] Fix Xdebug 3.0 detection (@vertexvaar)
    • bug #39226 [PhpUnitBridge] Fix disabling DeprecationErrorHandler from PHPUnit configuration file (@fancyweb)
    • bug #39361 [FrameworkBundle] acces public-deprecated services via the private container to remove false-positive deprecations (@nicolas-grekas)
    • bug #39357 [FrameworkBundle] fix preserving some special chars in the query string (@nicolas-grekas)
    • bug #39271 [HttpFoundation] Fix TypeError: Argument 1 passed to JsonResponse::setJson() must be of the type string, object given (@sidz)
    • bug #39251 [DependencyInjection] Fix container linter for union types (@derrabus)
    • bug #39336 [Config] YamlReferenceDumper: No default value required for VariableNode with array example (@Nyholm)
    • bug #39333 [Form] do not apply the Valid constraint on scalar form data (@lchrusciel, @xabbuh)
    • bug #39331 [PhpUnitBridge] Fixed PHPunit 9.5 compatibility (@wouterj)
    • bug #39220 [HttpKernel] Fix bug with whitespace in Kernel::stripComments() (@ausi)
    • bug #39252 [Mime] Leverage PHP 8's detection of CSV files (@derrabus)
    • bug #39313 [FrameworkBundle] TextDescriptor::formatControllerLink checked method… (@fjogeleit)
    • bug #39286 [HttpClient] throw clearer error when no scheme is provided (@BackEndTea)
    • bug #39267 [Yaml] fix lexing backslashes in single quoted strings (@xabbuh)
    • bug #39151 [DependencyInjection] Fixed incorrect report for private services if required service does not exist (@Islam93)
    • bug #39274 [Yaml] fix lexing mapping values with trailing whitespaces (@xabbuh)
    • bug #39244 [String] Fix Notice when argument is empty string (@moldman)
    • bug #39270 [Inflector] Fix Notice when argument is empty string (@moldman)
    • bug #39247 [Security] remove return type definition in order to avoid type juggling (@adeptofvoltron)
    • bug #39223 [Console] Re-enable hyperlinks in Konsole/Yakuake (@OndraM)
    • bug #39241 [Yaml] fix lexing inline sequences/mappings with trailing whitespaces (@Nyholm, @xabbuh)
    • bug #39243 [Filesystem] File existence check before calling unlink method (@gechetspr)

    [PR] https://github.com/symfony/symfony/pull/39563

    Source code(tar.gz)
    Source code(zip)
  • v4.4.18(Dec 18, 2020)

    Changelog (https://github.com/symfony/symfony/compare/v4.4.17...v4.4.18)

    • bug #39531 [Mailer] Fix parsing Dsn with empty user/password (@OskarStark)
    • bug #39518 [Ldap] Incorrect determination of RelativeDistinguishedName for the "move" operation (@astepin)
    • bug #39476 [Lock] Prevent store exception break combined store (@dzubchik)
    • bug #39433 [Cache] fix setting "read_timeout" when using Redis (@nicolas-grekas)
    • bug #39420 [Cache] Prevent notice on case matching metadata trick (@bastnic)
    • bug #39203 [DI] Fix not working if only "default_index_method" used (@malteschlueter)
    • bug #39142 [Config] Stop treating multiline resources as globs (@michaelKaefer)
    • bug #39341 [Form] Fixed StringUtil::trim() to trim ZERO WIDTH SPACE (U+200B) and SOFT HYPHEN (U+00AD) (@pmishev)
    • bug #39334 [Config][TwigBundle] Fixed syntax error in config (@Nyholm)
    • bug #39196 [DI] Fix Xdebug 3.0 detection (@vertexvaar)
    • bug #39226 [PhpUnitBridge] Fix disabling DeprecationErrorHandler from PHPUnit configuration file (@fancyweb)
    • bug #39357 [FrameworkBundle] fix preserving some special chars in the query string (@nicolas-grekas)
    • bug #39271 [HttpFoundation] Fix TypeError: Argument 1 passed to JsonResponse::setJson() must be of the type string, object given (@sidz)
    • bug #39251 [DependencyInjection] Fix container linter for union types (@derrabus)
    • bug #39336 [Config] YamlReferenceDumper: No default value required for VariableNode with array example (@Nyholm)
    • bug #39333 [Form] do not apply the Valid constraint on scalar form data (@lchrusciel, @xabbuh)
    • bug #39331 [PhpUnitBridge] Fixed PHPunit 9.5 compatibility (@wouterj)
    • bug #39220 [HttpKernel] Fix bug with whitespace in Kernel::stripComments() (@ausi)
    • bug #39252 [Mime] Leverage PHP 8's detection of CSV files (@derrabus)
    • bug #39313 [FrameworkBundle] TextDescriptor::formatControllerLink checked method… (@fjogeleit)
    • bug #39286 [HttpClient] throw clearer error when no scheme is provided (@BackEndTea)
    • bug #39267 [Yaml] fix lexing backslashes in single quoted strings (@xabbuh)
    • bug #39151 [DependencyInjection] Fixed incorrect report for private services if required service does not exist (@Islam93)
    • bug #39274 [Yaml] fix lexing mapping values with trailing whitespaces (@xabbuh)
    • bug #39270 [Inflector] Fix Notice when argument is empty string (@moldman)
    • bug #39247 [Security] remove return type definition in order to avoid type juggling (@adeptofvoltron)
    • bug #39223 [Console] Re-enable hyperlinks in Konsole/Yakuake (@OndraM)
    • bug #39241 [Yaml] fix lexing inline sequences/mappings with trailing whitespaces (@Nyholm, @xabbuh)
    • bug #39243 [Filesystem] File existence check before calling unlink method (@gechetspr)

    [PR] https://github.com/symfony/symfony/pull/39562

    Source code(tar.gz)
    Source code(zip)
The Symfony PHP framework

Symfony is a PHP framework for web and console applications and a set of reusable PHP components. Symfony is used by thousands of web applications (in

Symfony 25.5k Jun 13, 2021
PPM is a process manager, supercharger and load balancer for modern PHP applications.

PPM - PHP Process Manager PHP-PM is a process manager, supercharger and load balancer for PHP applications. It's based on ReactPHP and works best with

PPM - PHP Process Manager 6.3k Jun 17, 2021
Asynchronous & Fault-tolerant PHP Framework for Distributed Applications.

Kraken PHP Framework ~ Release the Kraken! Note: This repository contains the core of the Kraken Framework. If you want to start developing new applic

Kraken 1.1k May 24, 2021
:gem: Go! AOP PHP - modern aspect-oriented framework for the new level of software development

Go! Aspect-Oriented Framework for PHP Go! AOP is a modern aspect-oriented framework in plain PHP with rich features for the new level of software deve

Go! Aspect-Oriented Framework 1.5k Jun 11, 2021
CleverStyle Framework is simple, scalable, fast and secure full-stack PHP framework

CleverStyle Framework is simple, scalable, fast and secure full-stack PHP framework. It is free, Open Source and is distributed under Free Public Lice

Nazar Mokrynskyi 149 Apr 21, 2021
The PPI Framework Engine

PPI Framework PPI is the PHP Interoperability Framework. It provides an equal and open platform to empower PHP developers to pick the best tools from

PPI Framework 156 Sep 8, 2020
An extensible micro-framework for PHP

What is Flight? Flight is a fast, simple, extensible framework for PHP. Flight enables you to quickly and easily build RESTful web applications. requi

Mike Cao 2.4k Jun 2, 2021
Official Zend Framework repository

Welcome to the Zend Framework 3.0 Release! RELEASE INFORMATION Zend Framework 3.0.1dev This is the first maintenance release for the Zend Framework 3

Zend Framework 5.7k Jun 11, 2021
Source code of Ice framework

Ice framework Simple and fast PHP framework delivered as C-extension. Stage How to contribute? Fork the ice/framework repository. Create a new branch

ice framework 340 Jun 4, 2021
Ubiquity framework

Ubiquity, a powerful and fast framework for efficient design. Main features MVC Dependency injection PSR-4 Autoloader Router based on annotations ORM

phpMv 521 Jun 14, 2021
A tiny, yet powerful, PHP micro-framework.

Equip Framework A tiny and powerful PHP micro-framework created and maintained by the engineering team at When I Work. Attempts to be PSR-1, PSR-2, PS

Equip 114 May 29, 2021
High-Performance Long-Living PHP Framework for modern enterprise application development

Documentation · Discord · Telegram · Twitter Spiral Framework is a High-Performance Long-Living Full-Stack framework and group of over sixty PSR-compa

Spiral Scout 982 Jun 16, 2021
A PHP framework for web artisans.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

The Laravel Framework 65.6k Jun 17, 2021
Easy integration of twitters bootstrap into symfony2

MopaBootstrapBundle MopaBootstrapBundle is a collection of code to integrate twitter's bootstrap (http://twitter.github.com/bootstrap/) as easy as pos

Philipp A. Mohrenweiser 723 Jun 9, 2021