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.

Comments
  • [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) }}
    
    TwigBundle DX 
    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 | view@AcmeDemoBundle/Default/index.html.twig | we might also have public@, config@ that could be used elsewhere |

    FrameworkBundle RFC DX 
    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
  • [RFC] Renaming some core concepts... for the better

    [RFC] Renaming some core concepts... for the better

    I'd like to rename two concepts (with deprecation notices in 4.4 and full switch in 5.0): Symfony Environments and the Symfony Profiler.

    I know, they are core concepts, but I think it's time to reconsider their names. The impact will be huge in the docs, and our current users will probably hate us, but I think this is for the best going forward.

    Symfony environments, why is it confusing?

    We now manipulate environment variables everywhere in Symfony. Most cloud providers also have environments.

    You are testing the prod environment (the Symfony one) for your development environment (local machine). See what I mean?

    A Symfony environment is a way to switch the configuration to a different set of values: from dev to prod or the other way around. Or test.

    I'd like to rename it to Symfony mode.

    APP_ENV=prod to APP_MODE=prod

    You are testing the prod mode on your development environment.

    What about the Symfony Profiler?

    I made the original mistake. A profiler is something very specific, like XHProf, or Blackfire.

    The Symfony profiler is not a profiler in the usual sense of the word. That's annoying and I keep bumping into people that do not understand the difference with Blackfire for instance.

    There is also an inconsistency as we have a web debug toolbar, not a web profiler toolbar. Another confusion, why is the name different?

    I'd like to rename it to Symfony Inspector (was Symfony Debugger initially, but I changed my mind -- see comments below). I think it describes what it does best and also convey the notion that it should not be deployed in production. It is also the name used by browsers, so it matches well with our user expectations.

    I know that this might seems pointless, but naming things correctly helps developers understand the concepts.

    WDYT?

    RFC 
    opened by fabpot 92
  • [String] Add `kebab` and `pascal` method similar to `snake` and `camel`.

    [String] Add `kebab` and `pascal` method similar to `snake` and `camel`.

    Description

    There is

    kebab-case
    snake_case
    camelCase
    PascalCase
    

    But Symfony/string only provide a snake and a camel method. What do you think about adding two kebab and pascal methods ?

    Basically, kebab would be a snake case with str_replace('_', '-') pascal would be ucfirst°camel

    Even if it's easy to implements on our side, I feel like a correctly named method would be better.

    Example

    No response

    String 
    opened by VincentLanglet 0
  • Response::getMaxAge() returns non-negative integer

    Response::getMaxAge() returns non-negative integer

    | Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Refs https://github.com/symfony/symfony/pull/48651#issuecomment-1371079091 | License | MIT | Doc PR |

    The max-age directive should be a non-negative integer, see MDN:

    The max-age=N request directive indicates that the client allows a stored response that is generated on the origin server within N seconds — where N may be any non-negative integer (including 0).

    In case the value is negative, it's encouraged to be treated as 0:

    In other words, for any max-age value that isn't an integer or isn't non-negative, the caching behavior that's encouraged is to treat the value as if it were 0.

    In my case, it lead to a response that was private,no-cache but with an Expires header set in the future. Not every browser handled this inconsistency the same, which eventually led to authentication issues (see linked comment for a more elaborate explanation).

    Bug Status: Needs Review 
    opened by pkruithof 2
  • [CssSelector] Do not remove escape sequences backslash

    [CssSelector] Do not remove escape sequences backslash

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

    Spotted in #48832

    Escaping hex sequences before “simple” ones meant a backslash produced by an hex sequence would have been removed if it was followed by any character.

    Note that the workaround of doubling such backslashes still works.

    Bug CssSelector Status: Needs Review Deprecation 
    opened by MatTheCat 1
  • [HttpKernel] Rename HttpStatus atribute to WithHttpStatus

    [HttpKernel] Rename HttpStatus atribute to WithHttpStatus

    | Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | yes-ish | New feature? | no | Deprecations? | no | Tickets | Refs #48352 and #48747

    As discussed in the 2 referenced PRs for better naming consistency.

    Bug HttpKernel Status: Reviewed 
    opened by fabpot 0
  • LDAPConnection is not exchangeable with own interface implementation

    LDAPConnection is not exchangeable with own interface implementation

    Symfony version(s) affected

    6.2.0

    Description

    If you try to implement an own implementation of the ConnectionInterface (use case is here to use a connection, which already has been established by some uncontrollable third party components) it is not usable, as the Constructors of EntryManager and Collection directly rely on Connection and not on ConnectionInterface.

    So it is impossible to extend the component for such kind of integrations. Apart from that, it renders the existence of the interface nearly useless. So from a design perspective, it should be used commonly or it should be probably dropped.

    How to reproduce

    1. Implement an own AdapterInterface
    2. Implement an own ConnectionInterface
    3. Create an instance of Ldap and provide your own AdapterInterface instance
    4. run query() on the ldap object

    Result is a TypeError: Symfony\Component\Ldap\Adapter\ExtLdap\Collection::__construct(): Argument #1 ($connection) must be of type Symfony\Component\Ldap\Adapter\ExtLdap\Connection,

    Possible Solution

    Replace the type hints to Connection with hints to ConnectionInterface - which probably should be extended with the "getResource" signature, as this function is commonly used to get the link, which is used by the low level ldap-functions.

    Additional Context

    No response

    Bug Status: Needs Review Ldap 
    opened by fcool 0
  • [FrameworkBundle] remove double required annotation + attribute

    [FrameworkBundle] remove double required annotation + attribute

    | Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #48792 (checked with this reproducer) | License | MIT | Doc PR | no

    Annotation and attribute were kept: https://github.com/symfony/symfony/pull/45680#issuecomment-1062297998

    To my understanding, it's not necessary since #48810

    Alternative to #48868

    Bug Status: Needs Review 
    opened by alexislefebvre 0
Releases(v6.2.4)
  • v6.2.4(Dec 29, 2022)

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

    • bug #48822 [WebProfilerBundle] Fix the usage of web fonts (@javiereguiluz)
    • bug #48823 [Cache] Fix possibly null value passed to preg_match() in RedisTrait (@chalasr)
    • bug #48816 [Cache] Fix for RedisAdapter without auth parameter (@rikvdh)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.1.10(Dec 29, 2022)

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

    • bug #48823 [Cache] Fix possibly null value passed to preg_match() in RedisTrait (@chalasr)
    • bug #48816 [Cache] Fix for RedisAdapter without auth parameter (@rikvdh)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.0.18(Dec 29, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.0.17...v6.0.18)

    • bug #48823 [Cache] Fix possibly null value passed to preg_match() in RedisTrait (@chalasr)
    • bug #48816 [Cache] Fix for RedisAdapter without auth parameter (@rikvdh)

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

    Source code(tar.gz)
    Source code(zip)
  • v5.4.18(Dec 29, 2022)

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

    • bug #48823 [Cache] Fix possibly null value passed to preg_match() in RedisTrait (@chalasr)
    • bug #48816 [Cache] Fix for RedisAdapter without auth parameter (@rikvdh)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.2.3(Dec 28, 2022)

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

    • bug #48805 [DependencyInjection] Fix resolving parameters when dumping lazy proxies (@nicolas-grekas)
    • bug #48787 [PhpUnitBridge] Use verbose deprecation output for quiet types only when it reaches the threshold (@ogizanagi)
    • bug #48784 [Console] Correctly overwrite progressbars with different line count per step (@ncharalampidis)
    • bug #48801 [Form] Make ButtonType handle form_attr option (@MatTheCat)
    • bug #48791 [DependencyInjection] Fix deduplicating service instances in circular graphs (@nicolas-grekas)
    • bug #48790 [WebProfilerBundle] fix Mailer detail on click (@Jean-Beru)
    • bug #48771 [CssSelector] Fix escape patterns (@fancyweb)
    • bug #48774 [Translation] Fix undefined variable messages in ConstraintVisitor (@alamirault)
    • bug #48727 [PropertyAccess] Fix nullsafe chain like x?.y (@Vincz)
    • bug #48711 [Cache] RedisTrait::createConnection does not pass auth value from redis sentinel cluster DSN (@evgkord)
    • bug #48724 [VarExporter] Fix exporting classes with __unserialize() but not __serialize() (@fancyweb)
    • bug #48746 [Validator] Fix IBAN format for Tunisia and Mauritania (@smelesh)
    • bug #48738 [Workflow] Allow spaces in place names so the PUML dump doesn't break (@Kamil Musial)
    • bug #48742 [VarExporter] Generate proxies for static abstract methods (@nicolas-grekas)
    • bug #48735 [SecurityBundle] Prevent RuntimeException on profiler (@marphi)
    • bug #48718 Compatibility with doctrine/annotations 2 (@derrabus)
    • bug #48688 [FrameworkBundle] Add MailPace definition (@skmedix)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.1.9(Dec 28, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.1.8...v6.1.9)

    • bug #48787 [PhpUnitBridge] Use verbose deprecation output for quiet types only when it reaches the threshold (@ogizanagi)
    • bug #48784 [Console] Correctly overwrite progressbars with different line count per step (@ncharalampidis)
    • bug #48801 [Form] Make ButtonType handle form_attr option (@MatTheCat)
    • bug #48791 [DependencyInjection] Fix deduplicating service instances in circular graphs (@nicolas-grekas)
    • bug #48771 [CssSelector] Fix escape patterns (@fancyweb)
    • bug #48711 [Cache] RedisTrait::createConnection does not pass auth value from redis sentinel cluster DSN (@evgkord)
    • bug #48724 [VarExporter] Fix exporting classes with __unserialize() but not __serialize() (@fancyweb)
    • bug #48746 [Validator] Fix IBAN format for Tunisia and Mauritania (@smelesh)
    • bug #48738 [Workflow] Allow spaces in place names so the PUML dump doesn't break (@Kamil Musial)
    • bug #48718 Compatibility with doctrine/annotations 2 (@derrabus)
    • bug #48681 [Console] Revert "bug #48089 Fix clear line with question in section (maxbeckers) (@chalasr)
    • bug #48651 [HttpKernel] AbstractSessionListener should not override the cache lifetime for private responses (@rodmen)
    • bug #48591 [DependencyInjection] Shared private services becomes public after a public service is accessed (@alexpott)
    • bug #48126 [Mailer] Include all transports' debug messages in RoundRobin transport exception (@mixdf)
    • bug #48089 [Console] Fix clear line with question in section (@maxbeckers)
    • bug #48602 [HtmlSanitizer] Fix HtmlSanitizer default configuration behavior for allowed schemes (@Titouan Galopin)
    • bug #48635 [HttpFoundation] Use relative timestamps with MemcachedSessionHandler (@tvlooy)
    • bug #47979 [Cache] Fix dealing with ext-redis' multi/exec returning a bool (@João Nogueira)
    • bug #48612 [Messenger] [Amqp] Added missing rpc_timeout option (@lyrixx)
    • bug #48233 [Serializer] Prevent GetSetMethodNormalizer from creating invalid magic method call (@klaussilveira)
    • bug #48628 [HttpFoundation] Fix dumping array cookies (@nicolas-grekas)
    • bug #48048 [WebProfilerBundle] Fix dump header not being displayed (@HypeMC)
    • bug #47836 [HttpClient] TraceableHttpClient: increase decorator's priority (@adpeyre)
    • bug #48259 [FrameworkBundle] Allow configuring framework.exceptions with a config builder (@MatTheCat)
    • bug #48314 [Mime] Fix MessagePart serialization (@Amunak)
    • bug #48331 [Yaml] fix dumping top-level tagged values (@xabbuh)
    • bug #48615 Fix getting the name of closures on PHP 8.1.11+ (@nicolas-grekas)
    • bug #48624 [ErrorHandler][HttpKernel] Fix reading the SYMFONY_IDE env var (@nicolas-grekas)
    • bug #48618 [ErrorHandler] [DebugClassLoader] Fix some new return types support (@fancyweb)
    • bug #48421 [HttpFoundation] IPv4-mapped IPv6 addresses incorrectly rejected (@bonroyage)
    • bug #48501 [RateLimiter] Add int to Reservation::wait() (@DaRealFreak)
    • bug #48359 [VarDumper] Ignore \Error in __debugInfo() (@fancyweb)
    • bug #48534 [FrameworkBundle] add kernel.locale_aware tag to LocaleSwitcher (@kbond)
    • bug #48482 [DependencyInjection] Revert "bug #48027 Don't autoconfigure tag when it's already set with attributes" (@nicolas-grekas)
    • bug #48346 [HttpKernel] In DateTimeValueResolver, convert previously defined date attribute to the expected class (@GromNaN)
    • bug #48335 [TwigBridge] Amend MoneyType twig to include a space (@mogilvie)
    • bug #48046 [WebProfilerBundle] Remove redundant code from logger template (@HypeMC)
    • bug #48292 [Security] [LoginLink] Throw InvalidLoginLinkException on missing parameter (@MatTheCat)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.0.17(Dec 28, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.0.16...v6.0.17)

    • bug #48787 [PhpUnitBridge] Use verbose deprecation output for quiet types only when it reaches the threshold (@ogizanagi)
    • bug #48784 [Console] Correctly overwrite progressbars with different line count per step (@ncharalampidis)
    • bug #48801 [Form] Make ButtonType handle form_attr option (@MatTheCat)
    • bug #48791 [DependencyInjection] Fix deduplicating service instances in circular graphs (@nicolas-grekas)
    • bug #48771 [CssSelector] Fix escape patterns (@fancyweb)
    • bug #48711 [Cache] RedisTrait::createConnection does not pass auth value from redis sentinel cluster DSN (@evgkord)
    • bug #48724 [VarExporter] Fix exporting classes with __unserialize() but not __serialize() (@fancyweb)
    • bug #48746 [Validator] Fix IBAN format for Tunisia and Mauritania (@smelesh)
    • bug #48738 [Workflow] Allow spaces in place names so the PUML dump doesn't break (@Kamil Musial)
    • bug #48718 Compatibility with doctrine/annotations 2 (@derrabus)
    • bug #48651 [HttpKernel] AbstractSessionListener should not override the cache lifetime for private responses (@rodmen)
    • bug #48591 [DependencyInjection] Shared private services becomes public after a public service is accessed (@alexpott)
    • bug #48126 [Mailer] Include all transports' debug messages in RoundRobin transport exception (@mixdf)
    • bug #48635 [HttpFoundation] Use relative timestamps with MemcachedSessionHandler (@tvlooy)
    • bug #47979 [Cache] Fix dealing with ext-redis' multi/exec returning a bool (@João Nogueira)
    • bug #48612 [Messenger] [Amqp] Added missing rpc_timeout option (@lyrixx)
    • bug #48233 [Serializer] Prevent GetSetMethodNormalizer from creating invalid magic method call (@klaussilveira)
    • bug #48628 [HttpFoundation] Fix dumping array cookies (@nicolas-grekas)
    • bug #48048 [WebProfilerBundle] Fix dump header not being displayed (@HypeMC)
    • bug #47836 [HttpClient] TraceableHttpClient: increase decorator's priority (@adpeyre)
    • bug #48259 [FrameworkBundle] Allow configuring framework.exceptions with a config builder (@MatTheCat)
    • bug #48314 [Mime] Fix MessagePart serialization (@Amunak)
    • bug #48331 [Yaml] fix dumping top-level tagged values (@xabbuh)
    • bug #48615 Fix getting the name of closures on PHP 8.1.11+ (@nicolas-grekas)
    • bug #48618 [ErrorHandler] [DebugClassLoader] Fix some new return types support (@fancyweb)
    • bug #48421 [HttpFoundation] IPv4-mapped IPv6 addresses incorrectly rejected (@bonroyage)
    • bug #48501 [RateLimiter] Add int to Reservation::wait() (@DaRealFreak)
    • bug #48359 [VarDumper] Ignore \Error in __debugInfo() (@fancyweb)
    • bug #48482 [DependencyInjection] Revert "bug #48027 Don't autoconfigure tag when it's already set with attributes" (@nicolas-grekas)
    • bug #48335 [TwigBridge] Amend MoneyType twig to include a space (@mogilvie)
    • bug #48046 [WebProfilerBundle] Remove redundant code from logger template (@HypeMC)
    • bug #48292 [Security] [LoginLink] Throw InvalidLoginLinkException on missing parameter (@MatTheCat)

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

    Source code(tar.gz)
    Source code(zip)
  • v5.4.17(Dec 28, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v5.4.16...v5.4.17)

    • bug #48787 [PhpUnitBridge] Use verbose deprecation output for quiet types only when it reaches the threshold (@ogizanagi)
    • bug #48784 [Console] Correctly overwrite progressbars with different line count per step (@ncharalampidis)
    • bug #48801 [Form] Make ButtonType handle form_attr option (@MatTheCat)
    • bug #48791 [DependencyInjection] Fix deduplicating service instances in circular graphs (@nicolas-grekas)
    • bug #48771 [CssSelector] Fix escape patterns (@fancyweb)
    • bug #48711 [Cache] RedisTrait::createConnection does not pass auth value from redis sentinel cluster DSN (@evgkord)
    • bug #48724 [VarExporter] Fix exporting classes with __unserialize() but not __serialize() (@fancyweb)
    • bug #48746 [Validator] Fix IBAN format for Tunisia and Mauritania (@smelesh)
    • bug #48738 [Workflow] Allow spaces in place names so the PUML dump doesn't break (@Kamil Musial)
    • bug #48718 Compatibility with doctrine/annotations 2 (@derrabus)
    • bug #48651 [HttpKernel] AbstractSessionListener should not override the cache lifetime for private responses (@rodmen)
    • bug #48591 [DependencyInjection] Shared private services becomes public after a public service is accessed (@alexpott)
    • bug #48126 [Mailer] Include all transports' debug messages in RoundRobin transport exception (@mixdf)
    • bug #48635 [HttpFoundation] Use relative timestamps with MemcachedSessionHandler (@tvlooy)
    • bug #47979 [Cache] Fix dealing with ext-redis' multi/exec returning a bool (@João Nogueira)
    • bug #48612 [Messenger] [Amqp] Added missing rpc_timeout option (@lyrixx)
    • bug #48233 [Serializer] Prevent GetSetMethodNormalizer from creating invalid magic method call (@klaussilveira)
    • bug #48628 [HttpFoundation] Fix dumping array cookies (@nicolas-grekas)
    • bug #48048 [WebProfilerBundle] Fix dump header not being displayed (@HypeMC)
    • bug #47836 [HttpClient] TraceableHttpClient: increase decorator's priority (@adpeyre)
    • bug #48259 [FrameworkBundle] Allow configuring framework.exceptions with a config builder (@MatTheCat)
    • bug #48314 [Mime] Fix MessagePart serialization (@Amunak)
    • bug #48331 [Yaml] fix dumping top-level tagged values (@xabbuh)
    • bug #48615 Fix getting the name of closures on PHP 8.1.11+ (@nicolas-grekas)
    • bug #48618 [ErrorHandler] [DebugClassLoader] Fix some new return types support (@fancyweb)
    • bug #48421 [HttpFoundation] IPv4-mapped IPv6 addresses incorrectly rejected (@bonroyage)
    • bug #48501 [RateLimiter] Add int to Reservation::wait() (@DaRealFreak)
    • bug #48359 [VarDumper] Ignore \Error in __debugInfo() (@fancyweb)
    • bug #48482 [DependencyInjection] Revert "bug #48027 Don't autoconfigure tag when it's already set with attributes" (@nicolas-grekas)
    • bug #48335 [TwigBridge] Amend MoneyType twig to include a space (@mogilvie)
    • bug #48046 [WebProfilerBundle] Remove redundant code from logger template (@HypeMC)
    • bug #48292 [Security] [LoginLink] Throw InvalidLoginLinkException on missing parameter (@MatTheCat)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.2.2(Dec 16, 2022)

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

    • bug #48661 [Serializer] fix context attribute with serializedName (@nikophil)
    • bug #48681 [Console] Revert "bug #48089 Fix clear line with question in section (maxbeckers) (@chalasr)
    • bug #48680 [Cache] fix lazyness of redis when using RedisTagAwareAdapter (@nicolas-grekas)
    • bug #48651 [HttpKernel] AbstractSessionListener should not override the cache lifetime for private responses (@rodmen)
    • bug #48591 [DependencyInjection] Shared private services becomes public after a public service is accessed (@alexpott)
    • bug #48126 [Mailer] Include all transports' debug messages in RoundRobin transport exception (@mixdf)
    • bug #48644 [Validator] Allow opt-out of EmailValidator deprecation when using Validation::createValidatorBuilder() (@nicolas-grekas)
    • bug #48606 [FrameworkBundle] container:debug CLI output improvements for excluded services (@apfelbox)
    • bug #48089 [Console] Fix clear line with question in section (@maxbeckers)
    • bug #48602 [HtmlSanitizer] Fix HtmlSanitizer default configuration behavior for allowed schemes (@Titouan Galopin)
    • bug #48635 [HttpFoundation] Use relative timestamps with MemcachedSessionHandler (@tvlooy)
    • bug #47979 [Cache] Fix dealing with ext-redis' multi/exec returning a bool (@João Nogueira)
    • bug #48612 [Messenger] [Amqp] Added missing rpc_timeout option (@lyrixx)
    • bug #48233 [Serializer] Prevent GetSetMethodNormalizer from creating invalid magic method call (@klaussilveira)
    • bug #48628 [HttpFoundation] Fix dumping array cookies (@nicolas-grekas)
    • bug #48559 [ExpressionLanguage] Fix BC of cached SerializedParsedExpression containing GetAttrNode (@fancyweb)
    • bug #48524 [HttpKernel] Fix CacheAttributeListener priority (@HypeMC)
    • bug #48451 [Translation] Fix extraction when dealing with VariadicPlaceholder parameters (@Kocal)
    • bug #48601 [SecurityBundle] Fix authenticator existence check in Security::login() (@chalasr)
    • bug #48587 [TwigBundle] Alias BodyRendererInterface (@n3o77)
    • bug #48580 [Console] Fix missing command not matching namespace error message (@Titouan Galopin)
    • bug #48449 [DependencyInjection] Fix bug when tag name is a text node (@BrandonlinU)
    • bug #48048 [WebProfilerBundle] Fix dump header not being displayed (@HypeMC)
    • bug #47836 [HttpClient] TraceableHttpClient: increase decorator's priority (@adpeyre)
    • bug #48259 [FrameworkBundle] Allow configuring framework.exceptions with a config builder (@MatTheCat)
    • bug #48314 [Mime] Fix MessagePart serialization (@Amunak)
    • bug #48331 [Yaml] fix dumping top-level tagged values (@xabbuh)
    • bug #48615 Fix getting the name of closures on PHP 8.1.11+ (@nicolas-grekas)
    • bug #48624 [ErrorHandler][HttpKernel] Fix reading the SYMFONY_IDE env var (@nicolas-grekas)
    • bug #48618 [ErrorHandler] [DebugClassLoader] Fix some new return types support (@fancyweb)
    • bug #48605 [VarExporter] Fix adding a key to an uninitialized array (@nicolas-grekas)
    • bug #48554 [Security] Fix invalid deprecation messages in Security constants (@IonBazan)
    • bug #48538 [Clock] Fix usleep deprecation warning (@victor-prdh)
    • bug #48421 [HttpFoundation] IPv4-mapped IPv6 addresses incorrectly rejected (@bonroyage)
    • bug #48501 [RateLimiter] Add int to Reservation::wait() (@DaRealFreak)
    • bug #48359 [VarDumper] Ignore \Error in __debugInfo() (@fancyweb)
    • bug #48553 [VarExporter] Fix calling parent::__wakeup() when unserializing with LazyProxyTrait (@azjezz)
    • bug #48489 [DoctrineBridge] Skip resolving entities when the corresponding request attribute is already an object (@nicolas-grekas)
    • bug #48534 [FrameworkBundle] add kernel.locale_aware tag to LocaleSwitcher (@kbond)
    • bug #48521 [FrameworkBundle] fix removing commands if console not available (@kbond)
    • bug #48522 [DependencyInjection] Generate different classes for ghost objects and virtual proxies (@nicolas-grekas)
    • bug #48482 [DependencyInjection] Revert "bug #48027 Don't autoconfigure tag when it's already set with attributes" (@nicolas-grekas)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.2.1(Dec 6, 2022)

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

    • bug #48502 [DependencyInjection] Fix ContainerBuilder stats env usage with enum (@alamirault)
    • bug #48509 [HttpKernel] Fix using entities with the #[Cache()] attribute (@HypeMC)
    • bug #48505 [Mailer] Fix rendered templates for notifications (@fabpot)
    • bug #48476 [WebProfilerBundle] Use same color as other icons for the close toolbar btn (@ogizanagi)
    • bug #48483 [DependencyInjection] Remove refs that point to container.excluded services when allowed (@nicolas-grekas)
    • bug #48346 [HttpKernel] In DateTimeValueResolver, convert previously defined date attribute to the expected class (@GromNaN)
    • bug #48450 [WebProfilerBundle] Fix form panel expanders (@MatTheCat)
    • bug #48459 [FrameworkBundle] [Framework] Fix Infobip Mailer transport factory import (@gnito-org)
    • bug #48461 [VarExporter] Fix possible memory-leak when using lazy-objects (@nicolas-grekas)
    • bug #48335 [TwigBridge] Amend MoneyType twig to include a space (@mogilvie)
    • bug #48046 [WebProfilerBundle] Remove redundant code from logger template (@HypeMC)
    • bug #48428 Fixed undefined variable error (@Kevin Meijer)
    • bug #48416 [FrameworkBundle] don't register the MailerTestCommand symfony/console is not installed (@xabbuh)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.2.0(Nov 30, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.2.0-RC2...v6.2.0)

    • bug #48395 [String] Fix AsciiSlugger with emojis (@fancyweb)
    • bug #48385 [Security] Reuse AbstractFactory's config tree in AccessTokenFactory (@chalasr)
    • bug #48292 [Security] [LoginLink] Throw InvalidLoginLinkException on missing parameter (@MatTheCat)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.2.0-RC2(Nov 28, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.2.0-RC1...v6.2.0-RC2)

    • bug #48366 [Mailer] Fix body renderer check (@fabpot)
    • bug #48347 [Clock] Autowire PSR interface (@wouterj)
    • bug #48341 [SecurityBundle] Fix logout.csrf_token_generator default value (@MatTheCat)
    • bug #48333 [Yaml] parse unquoted digits in tag values as integers (@xabbuh)
    • bug #48330 [FrameworkBundle] do not wire the MercureTransportFactory if the MercureBundle is not enabled (@xabbuh)
    • bug #48320 [Clock] Implement PSR-20 (@nicolas-grekas)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.1.8(Nov 28, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.1.7...v6.1.8)

    • bug #48333 [Yaml] parse unquoted digits in tag values as integers (@xabbuh)
    • bug #48330 [FrameworkBundle] do not wire the MercureTransportFactory if the MercureBundle is not enabled (@xabbuh)
    • bug #48262 [Notifier] [SMSBiuras] true/false mismatch for test_mode option (@StaffNowa)
    • bug #48273 [HttpKernel] Fix message for unresovable arguments of invokable controllers (@fancyweb)
    • bug #48251 [PropertyInfo] ignore const expressions read by phpdocumentor (@xabbuh)
    • bug #48224 [DependencyInjection] Process bindings in ServiceLocatorTagPass (@MatTheCat)
    • bug #48179 [Console] Support completion for bash functions (@Chi-teck)
    • bug #48217 [Console] Improve error message when shell is not detected in completion command (@GromNaN)
    • bug #48222 [Translation] [Lokalize] Configure replace_breaks to prevent issues with multilines translations (@Kocal)
    • bug #48210 [Console]  Fix signal handlers called after event listeners and skip exit (@GromNaN)
    • bug #48198 [Messenger] Fix time-limit check exception (@alamirault)
    • bug #48122 [PhpUnitBridge] Fix language deprecations incorrectly marked as direct (@wouterj)
    • bug #47998 [Console] Fix console ProgressBar::override() after manual ProgressBar::cleanup() (@maxbeckers)
    • bug #48173 [HttpClient] Handle Amp HTTP client v5 incompatibility gracefully (@fancyweb)
    • bug #48172 [HttpKernel] Don’t try to wire Response argument with controller.service_arguments (@MatTheCat)
    • bug #48085 [Messenger] Tell about messenger:consume invalid limit options (@MatTheCat)
    • bug #48120 [Messenger] Do not throw 'no handlers' exception when skipping handlers due to duplicate handling (@wouterj)
    • bug #48112 [HttpFoundation] Compare cookie with null value as empty string in ResponseCookieValueSame (@fancyweb)
    • bug #48119 [FrameworkBundle][Lock] Allow to disable lock without defining a resource (@MatTheCat)
    • bug #48110 [HttpKernel] Fix deprecation for DateTimeValueResolver with null on non-nullable argument (@GromNaN)
    • bug #48093 [DependencyInjection] don't move locator tag for service subscriber (@RobertMe)
    • bug #48075 [Mailer] Stream timeout not detected fgets returns false (@Sezil)
    • bug #48092 Fix the notification email theme for asynchronously dispatched emails (@krisbuist)
    • bug #48097 Fix search scope when performing fallback mapping driver detection (@spideyfusion)
    • bug #48103 [HttpClient] Do not set http_version instead of setting it to null (@Tetragramat)
    • bug #48027 [DependencyInjection] Don't autoconfigure tag when it's already set with attributes (@nicolas-grekas)
    • bug #48050 [HttpFoundation] Check IPv6 is valid before comparing it (@PhilETaylor)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.0.16(Nov 28, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.0.15...v6.0.16)

    • bug #48333 [Yaml] parse unquoted digits in tag values as integers (@xabbuh)
    • bug #48330 [FrameworkBundle] do not wire the MercureTransportFactory if the MercureBundle is not enabled (@xabbuh)
    • bug #48262 [Notifier] [SMSBiuras] true/false mismatch for test_mode option (@StaffNowa)
    • bug #48273 [HttpKernel] Fix message for unresovable arguments of invokable controllers (@fancyweb)
    • bug #48251 [PropertyInfo] ignore const expressions read by phpdocumentor (@xabbuh)
    • bug #48224 [DependencyInjection] Process bindings in ServiceLocatorTagPass (@MatTheCat)
    • bug #48179 [Console] Support completion for bash functions (@Chi-teck)
    • bug #48217 [Console] Improve error message when shell is not detected in completion command (@GromNaN)
    • bug #48222 [Translation] [Lokalize] Configure replace_breaks to prevent issues with multilines translations (@Kocal)
    • bug #48210 [Console]  Fix signal handlers called after event listeners and skip exit (@GromNaN)
    • bug #48198 [Messenger] Fix time-limit check exception (@alamirault)
    • bug #48122 [PhpUnitBridge] Fix language deprecations incorrectly marked as direct (@wouterj)
    • bug #47998 [Console] Fix console ProgressBar::override() after manual ProgressBar::cleanup() (@maxbeckers)
    • bug #48173 [HttpClient] Handle Amp HTTP client v5 incompatibility gracefully (@fancyweb)
    • bug #48172 [HttpKernel] Don’t try to wire Response argument with controller.service_arguments (@MatTheCat)
    • bug #48085 [Messenger] Tell about messenger:consume invalid limit options (@MatTheCat)
    • bug #48120 [Messenger] Do not throw 'no handlers' exception when skipping handlers due to duplicate handling (@wouterj)
    • bug #48112 [HttpFoundation] Compare cookie with null value as empty string in ResponseCookieValueSame (@fancyweb)
    • bug #48119 [FrameworkBundle][Lock] Allow to disable lock without defining a resource (@MatTheCat)
    • bug #48093 [DependencyInjection] don't move locator tag for service subscriber (@RobertMe)
    • bug #48075 [Mailer] Stream timeout not detected fgets returns false (@Sezil)
    • bug #48092 Fix the notification email theme for asynchronously dispatched emails (@krisbuist)
    • bug #48097 Fix search scope when performing fallback mapping driver detection (@spideyfusion)
    • bug #48103 [HttpClient] Do not set http_version instead of setting it to null (@Tetragramat)
    • bug #48027 [DependencyInjection] Don't autoconfigure tag when it's already set with attributes (@nicolas-grekas)
    • bug #48050 [HttpFoundation] Check IPv6 is valid before comparing it (@PhilETaylor)

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

    Source code(tar.gz)
    Source code(zip)
  • v5.4.16(Nov 28, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v5.4.15...v5.4.16)

    • bug #48333 [Yaml] parse unquoted digits in tag values as integers (@xabbuh)
    • bug #48330 [FrameworkBundle] do not wire the MercureTransportFactory if the MercureBundle is not enabled (@xabbuh)
    • bug #48262 [Notifier] [SMSBiuras] true/false mismatch for test_mode option (@StaffNowa)
    • bug #48273 [HttpKernel] Fix message for unresovable arguments of invokable controllers (@fancyweb)
    • bug #48251 [PropertyInfo] ignore const expressions read by phpdocumentor (@xabbuh)
    • bug #48224 [DependencyInjection] Process bindings in ServiceLocatorTagPass (@MatTheCat)
    • bug #48179 [Console] Support completion for bash functions (@Chi-teck)
    • bug #48217 [Console] Improve error message when shell is not detected in completion command (@GromNaN)
    • bug #48222 [Translation] [Lokalize] Configure replace_breaks to prevent issues with multilines translations (@Kocal)
    • bug #48210 [Console]  Fix signal handlers called after event listeners and skip exit (@GromNaN)
    • bug #48198 [Messenger] Fix time-limit check exception (@alamirault)
    • bug #48122 [PhpUnitBridge] Fix language deprecations incorrectly marked as direct (@wouterj)
    • bug #47998 [Console] Fix console ProgressBar::override() after manual ProgressBar::cleanup() (@maxbeckers)
    • bug #48173 [HttpClient] Handle Amp HTTP client v5 incompatibility gracefully (@fancyweb)
    • bug #48172 [HttpKernel] Don’t try to wire Response argument with controller.service_arguments (@MatTheCat)
    • bug #48085 [Messenger] Tell about messenger:consume invalid limit options (@MatTheCat)
    • bug #48120 [Messenger] Do not throw 'no handlers' exception when skipping handlers due to duplicate handling (@wouterj)
    • bug #48112 [HttpFoundation] Compare cookie with null value as empty string in ResponseCookieValueSame (@fancyweb)
    • bug #48119 [FrameworkBundle][Lock] Allow to disable lock without defining a resource (@MatTheCat)
    • bug #48093 [DependencyInjection] don't move locator tag for service subscriber (@RobertMe)
    • bug #48075 [Mailer] Stream timeout not detected fgets returns false (@Sezil)
    • bug #48092 Fix the notification email theme for asynchronously dispatched emails (@krisbuist)
    • bug #48097 Fix search scope when performing fallback mapping driver detection (@spideyfusion)
    • bug #48103 [HttpClient] Do not set http_version instead of setting it to null (@Tetragramat)
    • bug #48027 [DependencyInjection] Don't autoconfigure tag when it's already set with attributes (@nicolas-grekas)
    • bug #48050 [HttpFoundation] Check IPv6 is valid before comparing it (@PhilETaylor)

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

    Source code(tar.gz)
    Source code(zip)
  • v4.4.49(Nov 28, 2022)

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

    • bug #48273 [HttpKernel] Fix message for unresovable arguments of invokable controllers (@fancyweb)
    • bug #48224 [DependencyInjection] Process bindings in ServiceLocatorTagPass (@MatTheCat)
    • bug #48198 [Messenger] Fix time-limit check exception (@alamirault)
    • bug #48122 [PhpUnitBridge] Fix language deprecations incorrectly marked as direct (@wouterj)
    • bug #48085 [Messenger] Tell about messenger:consume invalid limit options (@MatTheCat)
    • bug #48120 [Messenger] Do not throw 'no handlers' exception when skipping handlers due to duplicate handling (@wouterj)
    • bug #48112 [HttpFoundation] Compare cookie with null value as empty string in ResponseCookieValueSame (@fancyweb)
    • bug #48119 [FrameworkBundle][Lock] Allow to disable lock without defining a resource (@MatTheCat)
    • bug #48093 [DependencyInjection] don't move locator tag for service subscriber (@RobertMe)
    • bug #48075 [Mailer] Stream timeout not detected fgets returns false (@Sezil)
    • bug #48092 Fix the notification email theme for asynchronously dispatched emails (@krisbuist)
    • bug #48103 [HttpClient] Do not set http_version instead of setting it to null (@Tetragramat)
    • bug #48050 [HttpFoundation] Check IPv6 is valid before comparing it (@PhilETaylor)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.2.0-RC1(Nov 25, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.2.0-BETA3...v6.2.0-RC1)

    • bug #48312 [VarExporter] Improve partial-initialization API for ghost objects (@nicolas-grekas)
    • bug #48285 [Security] Support loading UserBadge directly from accessToken (@Jeroeny)
    • bug #48262 [Notifier] [SMSBiuras] true/false mismatch for test_mode option (@StaffNowa)
    • bug #48273 [HttpKernel] Fix message for unresovable arguments of invokable controllers (@fancyweb)
    • bug #48251 [PropertyInfo] ignore const expressions read by phpdocumentor (@xabbuh)
    • bug #48224 [DependencyInjection] Process bindings in ServiceLocatorTagPass (@MatTheCat)
    • bug #48271 [WebProfilerBundle] Fix form panel when there are no view vars (@nicolas-grekas)
    • bug #48274 Add more #[\SensitiveParameter] (@fancyweb)
    • bug #48179 [Console] Support completion for bash functions (@Chi-teck)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.2.0-BETA3(Nov 19, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.2.0-BETA2...v6.2.0-BETA3)

    • bug #48217 [Console] Improve error message when shell is not detected in completion command (@GromNaN)
    • bug #48222 [Translation] [Lokalize] Configure replace_breaks to prevent issues with multilines translations (@Kocal)
    • bug #48210 [Console]  Fix signal handlers called after event listeners and skip exit (@GromNaN)
    • bug #48198 [Messenger] Fix time-limit check exception (@alamirault)
    • feature #48189 [Clock] Provide modify() in MockClock (@dbrumann)
    • bug #48207 [Yaml] Restore deprecated php/const: syntax in YAML key (@GromNaN)
    • bug #48209 [VarExporter] Use array<property-name,Closure> for partial initialization of lazy ghost objects (@nicolas-grekas)
    • bug #48186 [WebProfilerBundle] Minor tweaks in profiler redesign (@javiereguiluz)
    • bug #48122 [PhpUnitBridge] Fix language deprecations incorrectly marked as direct (@wouterj)
    • bug #47998 [Console] Fix console ProgressBar::override() after manual ProgressBar::cleanup() (@maxbeckers)
    • bug #48041 [FrameworkBundle] Split loggers debug compiler pass (@MatTheCat)
    • bug #48032 [SecurityBundle] Set UserValueResolver's priority higher than EntityValueResolver (@kbond)
    • bug #48156 [Mime] When serializing File parts convert to string to allow proper unserialization (@ovrflo)
    • bug #48170 [Routing] Fix PSR-4 directory loader for abstract classes (@derrabus)
    • bug #48173 [HttpClient] Handle Amp HTTP client v5 incompatibility gracefully (@fancyweb)
    • bug #48172 [HttpKernel] Don’t try to wire Response argument with controller.service_arguments (@MatTheCat)
    • bug #48160 Adding missing argument to sprintf (@weaverryan)
    • bug #48085 [Messenger] Tell about messenger:consume invalid limit options (@MatTheCat)
    • bug #48120 [Messenger] Do not throw 'no handlers' exception when skipping handlers due to duplicate handling (@wouterj)
    • bug #48112 [HttpFoundation] Compare cookie with null value as empty string in ResponseCookieValueSame (@fancyweb)
    • bug #48119 [FrameworkBundle][Lock] Allow to disable lock without defining a resource (@MatTheCat)
    • bug #48110 [HttpKernel] Fix deprecation for DateTimeValueResolver with null on non-nullable argument (@GromNaN)
    • bug #48093 [DependencyInjection] don't move locator tag for service subscriber (@RobertMe)
    • bug #48075 [Mailer] Stream timeout not detected fgets returns false (@Sezil)
    • bug #48092 Fix the notification email theme for asynchronously dispatched emails (@krisbuist)
    • bug #48097 Fix search scope when performing fallback mapping driver detection (@spideyfusion)
    • bug #48103 [HttpClient] Do not set http_version instead of setting it to null (@Tetragramat)
    • bug #48077 [FrameworkBundle] Allow UUID v7 in uid configuration (@achterin)
    • bug #48027 [DependencyInjection] Don't autoconfigure tag when it's already set with attributes (@nicolas-grekas)
    • feature #48045 [DependencyInjection] Allow enum as service parameter in php config files (@alexndlm)
    • bug #48062 [Notifier] Mark tokens with #[SensitiveParameter] (@nicolas-grekas)
    • bug #48050 [HttpFoundation] Check IPv6 is valid before comparing it (@PhilETaylor)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.2.0-BETA2(Oct 28, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.2.0-BETA1...v6.2.0-BETA2)

    • bug #48020 [FrameworkBundle] add router cache directory option to XML schema (@xabbuh)
    • feature #47976 Add padding to HIBP check (@rullzer)
    • bug #47990 [HttpClient] Fix retrying requests when the content is used by the strategy (@nicolas-grekas)
    • bug #48005 [ErrorHandler] s/
      /
      (@PhilETaylor)
    • bug #47907 [Console] Update Application.php (@aleksandr-shevchenko)
    • bug #47992 [Mailer] Fix BC breaking event name change (@chalasr)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.1.7(Oct 28, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.1.6...v6.1.7)

    • bug #47990 [HttpClient] Fix retrying requests when the content is used by the strategy (@nicolas-grekas)
    • bug #48005 [ErrorHandler] s/
      /
      (@PhilETaylor)
    • bug #47907 [Console] Update Application.php (@aleksandr-shevchenko)
    • bug #47955 [Security][Serializer] Add missing args to trigger_deprecation (@alamirault)
    • bug #47932 Throw LogicException instead of Error when trying to generate logout-… (@addiks)
    • bug #47918 [Intl] Update the ICU data to 72.1 - 5.4 (@jderusse)
    • bug #47857 [HttpKernel] Fix empty request stack when terminating with exception (@krzyc)
    • bug #47879 [HttpClient] Fix buffering after calling AsyncContext::passthru() (@nicolas-grekas, @lubo13)
    • bug #47878 [HttpKernel] Remove EOL when using error_log() in HttpKernel Logger (@cyve)
    • bug #47854 [HttpClient] Don't override header if is x-www-form-urlencoded (@Oipnet)
    • bug #47883 [Console] Fix error output on windows cli (@Maximilian.Beckers)
    • bug #47884 [Cache] Reserve numeric keys when doing memory leak prevention (@simoheinonen)
    • bug #47863 [DoctrineBridge] Allow doctrine/event-manager 2 (@derrabus)
    • bug #47831 [Messenger] Fix amqp socket lost (@GurvanVgx)
    • bug #47855 [Routing] TypeError in Router when using UrlGenerator (@Maximilian.Beckers)
    • bug #47822 [Mailer] fix: use message object from event (@rogamoore)
    • bug #47858 [DoctrineBridge] Implement EventManager::getAllListeners() (@derrabus)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.0.15(Oct 28, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.0.14...v6.0.15)

    • bug #47990 [HttpClient] Fix retrying requests when the content is used by the strategy (@nicolas-grekas)
    • bug #48005 [ErrorHandler] s/
      /
      (@PhilETaylor)
    • bug #47907 [Console] Update Application.php (@aleksandr-shevchenko)
    • bug #47955 [Security][Serializer] Add missing args to trigger_deprecation (@alamirault)
    • bug #47932 Throw LogicException instead of Error when trying to generate logout-… (@addiks)
    • bug #47918 [Intl] Update the ICU data to 72.1 - 5.4 (@jderusse)
    • bug #47857 [HttpKernel] Fix empty request stack when terminating with exception (@krzyc)
    • bug #47879 [HttpClient] Fix buffering after calling AsyncContext::passthru() (@nicolas-grekas, @lubo13)
    • bug #47878 [HttpKernel] Remove EOL when using error_log() in HttpKernel Logger (@cyve)
    • bug #47883 [Console] Fix error output on windows cli (@Maximilian.Beckers)
    • bug #47884 [Cache] Reserve numeric keys when doing memory leak prevention (@simoheinonen)
    • bug #47863 [DoctrineBridge] Allow doctrine/event-manager 2 (@derrabus)
    • bug #47831 [Messenger] Fix amqp socket lost (@GurvanVgx)
    • bug #47855 [Routing] TypeError in Router when using UrlGenerator (@Maximilian.Beckers)
    • bug #47822 [Mailer] fix: use message object from event (@rogamoore)
    • bug #47858 [DoctrineBridge] Implement EventManager::getAllListeners() (@derrabus)

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

    Source code(tar.gz)
    Source code(zip)
  • v5.4.15(Oct 28, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v5.4.14...v5.4.15)

    • bug #47990 [HttpClient] Fix retrying requests when the content is used by the strategy (@nicolas-grekas)
    • bug #48005 [ErrorHandler] s/
      /
      (@PhilETaylor)
    • bug #47907 [Console] Update Application.php (@aleksandr-shevchenko)
    • bug #47955 [Security][Serializer] Add missing args to trigger_deprecation (@alamirault)
    • bug #47932 Throw LogicException instead of Error when trying to generate logout-… (@addiks)
    • bug #47918 [Intl] Update the ICU data to 72.1 - 5.4 (@jderusse)
    • bug #47857 [HttpKernel] Fix empty request stack when terminating with exception (@krzyc)
    • bug #47879 [HttpClient] Fix buffering after calling AsyncContext::passthru() (@nicolas-grekas, @lubo13)
    • bug #47878 [HttpKernel] Remove EOL when using error_log() in HttpKernel Logger (@cyve)
    • bug #47883 [Console] Fix error output on windows cli (@Maximilian.Beckers)
    • bug #47884 [Cache] Reserve numeric keys when doing memory leak prevention (@simoheinonen)
    • bug #47831 [Messenger] Fix amqp socket lost (@GurvanVgx)
    • bug #47855 [Routing] TypeError in Router when using UrlGenerator (@Maximilian.Beckers)
    • bug #47822 [Mailer] fix: use message object from event (@rogamoore)
    • bug #47858 [DoctrineBridge] Implement EventManager::getAllListeners() (@derrabus)

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

    Source code(tar.gz)
    Source code(zip)
  • v4.4.48(Oct 28, 2022)

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

    • bug #47907 [Console] Update Application.php (@aleksandr-shevchenko)
    • bug #47932 Throw LogicException instead of Error when trying to generate logout-… (@addiks)
    • bug #47857 [HttpKernel] Fix empty request stack when terminating with exception (@krzyc)
    • bug #47878 [HttpKernel] Remove EOL when using error_log() in HttpKernel Logger (@cyve)
    • bug #47883 [Console] Fix error output on windows cli (@Maximilian.Beckers)
    • bug #47884 [Cache] Reserve numeric keys when doing memory leak prevention (@simoheinonen)
    • bug #47822 [Mailer] fix: use message object from event (@rogamoore)
    • bug #47858 [DoctrineBridge] Implement EventManager::getAllListeners() (@derrabus)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.2.0-BETA1(Oct 24, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.1.6...v6.2.0-BETA1)

    • feature #47364 [DependencyInjection] Allow array attributes for service tags (@aschempp)
    • feature #44166 [Config] Use better typehint in PHP Configuration (@jderusse)
    • feature #47956 [Notifier] Add support for editing Telegram messages (@chr-hertel)
    • feature #43534 [Serializer] Add SerializedPath annotation to flatten nested attributes (@boenner)
    • feature #47943 [Config][Routing] Nicer config syntax for PSR-4 route loading (@derrabus)
    • feature #46224 [Form] Add hash_property_path option to PasswordType (@Seb33300)
    • feature #47950 [HttpClient] Add support for "friendsofphp/well-known-implementations" (@nicolas-grekas)
    • feature #47936 [HttpClient] Add withOptions() to HttplugClient and Psr18Client (@nicolas-grekas)
    • feature #46053 [Messenger] Add option allow_no_senders to enable throwing when a message doesn't have a sender (@babeuloula)
    • feature #45907 [SecurityBundle] Allow specifying attributes for RequestMatcher (@freiondrej-lmc)
    • feature #47483 [HttpKernel] Make Logger implement DebugLoggerInterface (@MatTheCat)
    • feature #46161 [Translation] Add PhpAstExtractor (@welcoMattic)
    • feature #47872 [Validator] new email validation option to match with w3c official specification (@guillemfondin)
    • feature #47916 [Routing] PSR-4 directory loader (@derrabus)
    • feature #47890 [SecurityBundle] Deprecate the enable_authenticator_manager option (@chalasr)
    • feature #47906 [DependencyInjection] Allow injecting the current env into php config closures (@HypeMC)
    • feature #47902 [DependencyInjection] Add support for tagged iterators/locators exclude option to xml and yaml (@HypeMC)
    • feature #47801 [DependencyInjection] Allow array for the value of Autowire attribute (@willemverspyck)
    • feature #47864 [DoctrineBridge] Deprecate calling ContainerAwareEventManager::getListeners() without event name (@derrabus)
    • feature #47711 [Mime] deprecate attach/embed methods in favor of Email::addPart() (@fabpot)
    • feature #47832 [HttpClient] Make HttplugClient implement PSR-17 factories instead of Httplug's (@nicolas-grekas)
    • feature #47817 [Security] TraceableAccessDecisionManager: fix inspecting voters of custom access decision managers (@sarbanha)
    • feature #47750 [Console] Show available commands in namespace when running namespace as command (@wouterj)
    • feature #47730 Ban DateTime from the codebase (@WebMamba)
    • feature #47496 [FrameworkBundle] Make the Router cache_dir configurable (@mpdude)
    • feature #47511 [Form][PropertyAccess] Allow optional property accesses (@fsoedjede)
    • feature #47068 [Messenger] Deprecate MessageHandlerInterface and MessageSubscriberInterface (@alamirault)
    • feature #47460 [Messenger] add dedicated method for disabling instead of passing boolean flags (@xabbuh)
    • feature #47643 [WebProfilerBundle] Update the mailer panel (@javiereguiluz)
    • feature #47710 [Validator] File: add option to check extension (@dunglas)
    • feature #47734 [Validator] add the getCause() to the ConstraintViolationInterface (@xabbuh)
    • feature #47308 [Console] Allow limiting the height of a console section (@wouterj)
    • feature #47243 Add context option to configure the indentation of nested nodes for YamlEncoder (@dbu)
    • feature #47462 [Mime] Simplify adding Parts to an Email (@fabpot)
    • feature #47683 [DependencyInjection] Deprecate numeric parameter names (@HeahDude)
    • feature #47377 [HttpKernel] Use Accept-Language header even if there are no enabled locales (@MatTheCat)
    • feature #47588 Add warning for possibly truncated inputs in QuestionHelper (#47586) (@pbek)
    • feature #47665 [WebProfilerBundle] [WebProfilerPanel] Update the configuration panel (@javiereguiluz)
    • feature #47630 [FrameworkBundle] Add semantic config for new terminate_on_cache_hit HttpCache option (@wouterj)
    • feature #47595 [HttpFoundation] Extract request matchers for better reusability (@fabpot)
    • feature #47535 [TwigBridge] Expose current route in AppVariable (@HeahDude)
    • feature #47536 [TwigBundle] add option for configuring custom HTML to text converter services (@xabbuh)
    • feature #46064 [Security] Add a ChainUserChecker to allow calling multiple user checkers for a firewall (@mbabker)
    • feature #47445 [FrameworkBundle] Allow secrets vaults to be used directly outside Symfony (@AndreasA)
    • feature #47148 [WebProfilerBundle] Profiler redesign (@javiereguiluz)
    • feature #38996 Remove the default values from setters with a nullable parameter (@derrabus, @nicolas-grekas)
    • feature #42593 [Validator] Add the When constraint and validator (@wuchen90)
    • feature #47525 [Uid] Add UuidV7 and UuidV8 (@nicolas-grekas)
    • feature #47515 [Uid] Add MaxUuid and MaxUlid (@nicolas-grekas)
    • feature #47407 [Console] Terminal Color Mode refactoring and force Color Mode (@julien-boudry)
    • feature #47507 [Uid] Add interface for getDateTime() and apply to relevant UIDs (@shrikeh)
    • feature #47236 [DependencyInjection][VarExporter] Generate lazy-loading virtual proxies for non-ghostable lazy services (@nicolas-grekas)
    • feature #39622 [Messenger] Be able to get raw data when a message in not decodable by the PHP Serializer (@lyrixx)
    • feature #47311 [FrameworkBundle] Update ContainerDebugCommand to add parial search for tags (@vshevelev, @BOB41K1987)
    • feature #47367 [DependencyInjection] Handle INI arrays (@MatTheCat)
    • feature #47373 [Notifier] Add Chatwork Notifier Bridge (@Ippey)
    • feature #47363 [HttpKernel] Replace ArgumentValueResolverInterface by ValueResolverInterface (@nicolas-grekas)
    • feature #47101 [DependencyInjection] Allow service subscribers to return SubscribedService[] (@kbond)
    • feature #40152 [Messenger] Pass sender details to SendMessageToTransportsEvent (@Jeroeny)
    • feature #41171 [Messenger] Add simple transport based rate limiter to Messenger (@bobvandevijver)
    • feature #47295 [PhpUnitBridge] add ability to mock the hrtime() function (@xabbuh)
    • feature #47264 [String] Add support for emoji in AsciiSlugger (@lyrixx)
    • feature #47263 [Intl] Update EmojiTransliterator to translate emoji to github and slack short code (@lyrixx)
    • feature #45418 [Messenger] Add HandlerArgumentsStamp (@enumag)
    • feature #47094 [HttpKernel] Use xxh128 algorithm instead of sha256 for http cache store key (@Pascal Woerde)
    • feature #46000 [Workflow] Mark registry as internal and deprecate the service (@lyrixx)
    • feature #46428 [Security] Access Token Authenticator (@Spomky)
    • feature #47225 [Mime] Re-allow addIdHeader to be used for 'In-Reply-To' and 'References' headers (@AlbinoDrought)
    • feature #47190 [Mailer] Add a way to change the Bus transport dynamically (@fabpot)
    • feature #47201 [Mime] Add a way to control the HTML to text conversion (@fabpot)
    • feature #47202 [Serializer] enable JSON_PRESERVE_ZERO_FRACTION by default (@dbu)
    • feature #39306 [Messenger] Add TransportNamesStamp to change the transport while dispatching a message (@asilelik, @fabpot)
    • feature #47196 Allow extending #[When] attribute (@ruudk)
    • feature #47191 [Mailer] Add a way to inject Stamps when sending an email via Messenger (@fabpot)
    • feature #47170 [Mailer] Use better error code when auth fails (@fabpot)
    • feature #46978 [Security] Allow using expressions with the #[IsGranted] attribute (@HypeMC)
    • feature #46571 [Messenger] Add new messenger:count command that return a list of transports with their "to be processed" message count. (@ktherage, @ogizanagi, @EXT - THERAGE Kevin)
    • feature #43865 [TwigBridge] Add support for toggle buttons in Bootstrap 5 form theme (@ker0x)
    • feature #46683 [Ldap] Deprecate '{username}' parameter use in favour of '{user_identifier}' in LDAP configuration (@EXT - THERAGE Kevin)
    • feature #46514 [HttpKernel] Add option to render Surrogate fragment with absolute URIs (@Kern046)
    • feature #46715 [Clock] A new component to decouple applications from the system clock (@nicolas-grekas)
    • feature #42355 [HttpKernel] Bugfix/last modified response strategy (@aschempp)
    • feature #47080 [Mailer] Add new events (@fabpot)
    • feature #47075 [Mime] Change the way we avoid rendering an email twice (@fabpot)
    • feature #46755 [Intl] Add EmojiTransliterator to translate emoji to many locales (@lyrixx, @nicolas-grekas)
    • feature #47062 [Console] Don't cut Urls wrapped in SymfonyStyle block (@fchris82, @GromNaN)
    • feature #45987 [Notifier] Add from in SmsMessage (@alamirault)
    • feature #46142 [ExpressionLanguage] Add support for null coalescing syntax (@mytuny)
    • feature #47050 [Form] Allow TranslatableInterface to the FormType help option (@alamirault)
    • feature #46110 [RateLimiter][Security] Improve performance of login/request rate limiter (@Seldaek, @wouterj)
    • feature #46895 [Notifier] Introduce PHPUnit constraints and assertions for the Notifier (@ismail1432)
    • feature #47049 [Mailer] Throw a more specific exception when a BodyRendererInterface is needed but not configured (@fabpot)
    • feature #47040 Add a mailer:test command (@fabpot)
    • feature #46242 [Console] Add support for resuming a ProgressBar (@yivi)
    • feature #46962 [Mime] Add DataPart::setContentId() (@fabpot)
    • feature #47038 [Notifier] Add Notification::exception() (@fabpot)
    • feature #46944 [Console] Add Ansi8 (256 color) support, improve true color (Ansi24) support detection (@julien-boudry)
    • feature #47034 [Mime] Simplify code (@fabpot)
    • feature #47018 [Console] Zsh shell autocompletion (@adhocore, @GromNaN)
    • feature #46591 [Finder] Add methods to sort by extension & size (@sandoba)
    • feature #46126 [Finder] Case insensitive file sort (@hmoreau)
    • feature #45034 [HttpFoundation] Rename Request::getContentType to getContentTypeFormat (@MarkPedron)
    • feature #46806 [Cache][WebProfilerBundle] Add adapter class to Cache DataCollector (@Jean-Beru)
    • feature #44902 Add visibility context option in PropertyNormalizer (@alamirault)
    • feature #46567 [Security] [LoginLink] Set custom lifetime for login link (@mbrodala, @fabpot)
    • feature #46599 Add "negate" option to Expression constraint (@fmata)
    • feature #46821 [FrameworkBundle] Add resolve-env option to debug:config command (@alexandre-daubois)
    • feature #46580 [SecurityBundle] Add shortcut option to enable logout CSRF protection (@wouterj)
    • feature #46814 [FrameworkBundle] Add service and alias deprecation message to debug:container output (@94noni)
    • feature #47008 [Messenger] Add options to FailedMessagesShowCommand (@Florian Guimier, @fabpot)
    • feature #45977 [Validator] Add the match option to the Choice constraint (@fancyweb)
    • feature #46338 [Security] Allow configuring a target url when switching user (@94noni)
    • feature #46326 SMTP Transport to provide the (final) Message-ID if available (@Raphaël Droz)
    • feature #43854 [DoctrineBridge] Add an Entity Argument Resolver (@jderusse, @nicolas-grekas)
    • feature #46315 [Mailer] max_per_second option configurable via DSN (@gassan)
    • feature #46118 [Security] Don't allow empty username or empty password (@bikalbasnet)
    • feature #46229 [Messenger] Make Redis messages countable (@Jean-Beru)
    • feature #41406 [Security] Add a method in the security helper to ease programmatic logout (@johnkrovitch, @chalasr)
    • feature #45404 [Mailer] allow custom hosts for ses+smtp with amazon mailer (@jrushlow)
    • feature #45945 [Uid] Added toHexString method to AbstractUid class (@aurimasniekis)
    • feature #46642 [DoctrineBridge] Add NAME const for UID types (@marcelsiegert)
    • feature #46502 [Dotenv] Variable filter added to debug command (@rmikalkenas)
    • feature #46211 [Mailer] Add Infobip bridge (@B-Galati)
    • feature #46773 [VarDumper] Add FFI\CData and FFI\CType types (@SerafimArts)
    • feature #46946 [Form] ChoiceType choices must support TranslatableInterface (@alamirault)
    • feature #38903 [FrameworkBundle] Add "Usages" to debug:container output (@Bert ter Heide, @bertterheide)
    • feature #46901 [Console] Be explicit about the completion API version (@wouterj)
    • feature #46752 [DependencyInjection] Use lazy-loading ghost object proxies out of the box (@nicolas-grekas)
    • feature #46880 [HttpKernel] Add #[Cache()] to describe the default HTTP cache headers on controllers (@nicolas-grekas)
    • feature #46751 [VarExporter] Add trait to help implement lazy loading ghost objects (@nicolas-grekas)
    • feature #46906 [TwigBridge] Add #[Template()] to describe how to render arrays returned by controllers (@nicolas-grekas)
    • feature #46907 [Security] Add #[IsGranted()] (@nicolas-grekas)
    • feature #46183 Hide sensitive information with SensitiveParameter attribute (@GromNaN)
    • feature #46896 Console/SymfonyStyle: Add Multiselect to choice() (@julien-boudry)
    • feature #46883 [DependencyInjection] Add shuffle env processor (@ostrolucky)
    • feature #46846 [Notifier] Add Zendesk Notifier Bridge (@stloyd)
    • feature #46001 [HttpKernel] Add ControllerEvent::getAttributes() to handle attributes on controllers (@nicolas-grekas)
    • feature #46854 [FrameworkBundle] Make AbstractController::render() able to deal with forms and deprecate renderForm() (@nicolas-grekas)
    • feature #41274 [Security] Add a method in the security helper to ease programmatic login (#40662) (@johnkrovitch, @chalasr)
    • feature #46831 Add deprecation when the session is not FlashBagAware (@VincentLanglet)
    • feature #46491 Introduce FlashBagAwareSessionInterface (@VincentLanglet)
    • feature #46813 [Form] Provide string keys when iterating on a form (@VincentLanglet)
    • feature #46680 [Serializer] Provide context information from attribute for promoted properties (@DanielBadura)
    • feature #46564 [DependencyInjection] Add Enum Env Var Processor (@jack-worman)
    • feature #46763 [HttpCache] Do not call terminate() on cache hit (@Toflar)
    • feature #45997 [FrameworkBundle][HttpKernel] Add deprecation warning to show HttpKernel::handle() will catch throwables (@Nyholm)
    • feature #46714 [Mailer] Deprecate OhMySmtp Transport, Create MailPace transport (@Holicz)
    • feature #46771 [Yaml] Add support for !php/enum *->value syntax (@nicolas-grekas)
    • feature #46395 [Notifier] Add Contact Everyone Bridge (@franckranaivo)
    • feature #46724 [Notifier] Add SMSFactor bridge (@Gwemox)
    • feature #46741 [DependencyInjection] Allow using ghost objects for lazy loading services (@nicolas-grekas)
    • feature #46675 [Serializer] Add support of true built-in type (from PHP 8.2) (@bobahvas, @alexandre-daubois)
    • feature #46663 [Serializer] Deprecate autowiring aliases pointing to concrete normalizers (@chalasr)
    • feature #46584 [Security] Enforce maximum username length in UserBadge (@wouterj)
    • feature #46066 [Security] Add an easier way to get the current firewall configuration (@Kocal)
    • feature #46614 Remove Debug component leftovers (@chalasr)
    • feature #46566 [Serializer][WebProfilerBundle] Show serializer collector info in toolbar (@ogizanagi)
    • feature #46569 [Serializer][WebProfilerBundle] Collect & show caller source code (@ogizanagi)
    • feature #46094 [Security][SecurityBundle] Move the Security helper to SecurityBundle (@chalasr)
    • feature #46518 [Validator] deprecate the loose e-mail validation mode (@xabbuh)
    • feature #45985 [TwigBridge] Add form_label_content and form_help_content block to form_div_layout (@alexander-schranz)
    • feature #46430 [Routing] Add Requirement::POSITIVE_INT for common ids and pagination (@HeahDude)
    • feature #46279 [DependencyInjection] Optimize autowiring logic by telling it about excluded symbols (@nicolas-grekas)
    • feature #46452 [DependencyInjection] Add Hydrator::hydrate() and preserve PHP references when using it (@nicolas-grekas)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.1.6(Oct 12, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.1.5...v6.1.6)

    • bug #47621 [Serializer] Allow getting discriminated type by class name (@TamasSzigeti)
    • bug #47833 [TwigBridge] Remove empty spaces between choices when using checkbox-inline or checkbox-switch (@simondaigre)
    • bug #47808 [HttpClient] Fix seeking in not-yet-initialized requests (@nicolas-grekas)
    • bug #47798 [DoctrineBridge] Fix auto mapping for bundles that contain only embeddables (@jorissae)
    • bug #47702 [Messenger] Fix default serializer not handling DateTime objects properly (@barton-webwings)
    • bug #47764 [Serializer] fixed traceable decoration priorities (@mtarld)
    • bug #47779 [Console] Fix Helper::removeDecoration hyperlink bug (@greew)
    • bug #47753 [Mime] sync message serializer code for forward-compatibility (@xabbuh)
    • bug #47763 [PropertyInfo] a readonly property must not be reported as being writable (@xabbuh)
    • bug #47731 [WebProfiler] Fix overflow issue in Forms panel (@zolikonta)
    • bug #46956 [FrameworkBundle] Allow to specify null for exception mapping configuration values (@andrew-demb)
    • bug #47746 [HttpFoundation] Fix BinaryFileResponse content type detection logic (@X-Coder264)
    • bug #47626 [Notifier] [Expo] Throw exception on error-response from expo api (@sdrewergutland)
    • bug #47317 [Security] Fix login url matching when app is not run with url rewriting or from a sub folder (@sgehrig)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.0.14(Oct 12, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.0.13...v6.0.14)

    • bug #47621 [Serializer] Allow getting discriminated type by class name (@TamasSzigeti)
    • bug #47833 [TwigBridge] Remove empty spaces between choices when using checkbox-inline or checkbox-switch (@simondaigre)
    • bug #47808 [HttpClient] Fix seeking in not-yet-initialized requests (@nicolas-grekas)
    • bug #47798 [DoctrineBridge] Fix auto mapping for bundles that contain only embeddables (@jorissae)
    • bug #47702 [Messenger] Fix default serializer not handling DateTime objects properly (@barton-webwings)
    • bug #47779 [Console] Fix Helper::removeDecoration hyperlink bug (@greew)
    • bug #47753 [Mime] sync message serializer code for forward-compatibility (@xabbuh)
    • bug #47763 [PropertyInfo] a readonly property must not be reported as being writable (@xabbuh)
    • bug #47731 [WebProfiler] Fix overflow issue in Forms panel (@zolikonta)
    • bug #46956 [FrameworkBundle] Allow to specify null for exception mapping configuration values (@andrew-demb)
    • bug #47746 [HttpFoundation] Fix BinaryFileResponse content type detection logic (@X-Coder264)
    • bug #47626 [Notifier] [Expo] Throw exception on error-response from expo api (@sdrewergutland)
    • bug #47317 [Security] Fix login url matching when app is not run with url rewriting or from a sub folder (@sgehrig)

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

    Source code(tar.gz)
    Source code(zip)
  • v5.4.14(Oct 12, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v5.4.13...v5.4.14)

    • bug #47621 [Serializer] Allow getting discriminated type by class name (@TamasSzigeti)
    • bug #47833 [TwigBridge] Remove empty spaces between choices when using checkbox-inline or checkbox-switch (@simondaigre)
    • bug #47808 [HttpClient] Fix seeking in not-yet-initialized requests (@nicolas-grekas)
    • bug #47798 [DoctrineBridge] Fix auto mapping for bundles that contain only embeddables (@jorissae)
    • bug #47702 [Messenger] Fix default serializer not handling DateTime objects properly (@barton-webwings)
    • bug #47779 [Console] Fix Helper::removeDecoration hyperlink bug (@greew)
    • bug #47753 [Mime] sync message serializer code for forward-compatibility (@xabbuh)
    • bug #47763 [PropertyInfo] a readonly property must not be reported as being writable (@xabbuh)
    • bug #47731 [WebProfiler] Fix overflow issue in Forms panel (@zolikonta)
    • bug #46956 [FrameworkBundle] Allow to specify null for exception mapping configuration values (@andrew-demb)
    • bug #47746 [HttpFoundation] Fix BinaryFileResponse content type detection logic (@X-Coder264)
    • bug #47626 [Notifier] [Expo] Throw exception on error-response from expo api (@sdrewergutland)

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

    Source code(tar.gz)
    Source code(zip)
  • v4.4.47(Oct 12, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v4.4.46...v4.4.47)

    • bug #47621 [Serializer] Allow getting discriminated type by class name (@TamasSzigeti)
    • bug #47808 [HttpClient] Fix seeking in not-yet-initialized requests (@nicolas-grekas)
    • bug #47702 [Messenger] Fix default serializer not handling DateTime objects properly (@barton-webwings)
    • bug #47779 [Console] Fix Helper::removeDecoration hyperlink bug (@greew)
    • bug #47763 [PropertyInfo] a readonly property must not be reported as being writable (@xabbuh)
    • bug #47731 [WebProfiler] Fix overflow issue in Forms panel (@zolikonta)
    • bug #47746 [HttpFoundation] Fix BinaryFileResponse content type detection logic (@X-Coder264)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.1.5(Sep 30, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.1.4...v6.1.5)

    • bug #47703 [Mailer][Mailjet] Apply the default value of 512 for max depths (@nurtext)
    • bug #47637 [FrameworkBundle] Fix passing serializer.default_context option to normalizers (@wuchen90)
    • bug #47695 [FrameworkBundle] Filter out trans paths that are covered by a parent folder path (@natewiebe13)
    • bug #45554 [Serializer] Fixed framework.serializer.default_context is not working for JsonEncoder (@siganushka)
    • bug #47547 [Ldap] Do not run ldap_set_option on failed connection (@tatankat)
    • bug #47635 [DependencyInjection] EnvPlaceholderParameterBag::get() can't return UnitEnum (@jack.shpartko)
    • bug #47675 [HttpKernel] Use Accept-Language header even if there are no enabled locales (@MatTheCat)
    • bug #47578 [Security] Fix AbstractFormLoginAuthenticator return types (@AndrolGenhald)
    • bug #47614 [FrameworkBundle] Fix a phpdoc in mailer assertions (@HeahDude)
    • bug #47227 [Messenger] Support for custom handler method containing a Union type tagged with #[AsMessageHandler] (@ArchitectNate)
    • bug #47516 [HttpFoundation] Prevent BinaryFileResponse::prepare from adding content type if no content is sent (@naitsirch)
    • bug #47533 [Messenger] decode URL-encoded characters in DSN's usernames/passwords (@xabbuh)
    • bug #47530 [HttpFoundation] Always return strings from accept headers (@ausi)
    • bug #47529 [Routing] Reject v2 UUIDs (@nicolas-grekas)
    • bug #47523 [Uid] Ensure ULIDs are monotonic even when the time goes backward (@nicolas-grekas)
    • bug #47528 [Form] fix UUID tranformer (@nicolas-grekas)
    • bug #47488 [Security] Fix valid remember-me token exposure to the second consequent request (@Ivan Kurnosov)
    • bug #47518 [Uid] Fix validating UUID variant bits (@nicolas-grekas)
    • bug #47441 [HttpClient] [HttpClientBundle] Bugfix for delayed retryableHttpClient (@martkop26)
    • bug #47499 [Uid][Validator] Stop to first ULID format violation (@ogizanagi)
    • bug #47491 [HttpKernel] Prevent exception in RequestDataCollector if request stack is empty (@aschempp)
    • bug #47497 [Bridge] Fix mkdir() race condition in ProxyCacheWarmer (@andrey-tech)
    • bug #47415 [HttpClient] Psr18Client ignore invalid HTTP headers (@nuryagdym)
    • bug #47463 [Console] [Completion] Make fish completion run in non interactive mode (@Seldaek)
    • bug #47394 [Console] [Completion] Make bash completion run in non interactive mode (@Seldaek)
    • bug #47455 [Mime] Fix TextPart broken after being serialized (@fabpot)
    • bug #47423 [String] CamelCase/SnakeCase on uppercase word (@mpiot)
    • bug #47435 [HttpKernel] lock when writting profiles (@nicolas-grekas)
    • bug #47417 [WebProfilerBundle] Fix profile search bar link query params (@HeahDude)
    • bug #47437 [Mime] Fix email rendering when having inlined parts that are not related to the content (@fabpot)
    • bug #47434 [HttpFoundation] move flushing outside of Response::closeOutputBuffers (@nicolas-grekas)
    • bug #47351 [FrameworkBundle] Do not throw when describing a factory definition (@MatTheCat)
    • bug #47403 [Mailer] Fix edge cases in STMP transports (@fabpot)

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

    Source code(tar.gz)
    Source code(zip)
  • v6.0.13(Sep 30, 2022)

    Changelog (https://github.com/symfony/symfony/compare/v6.0.12...v6.0.13)

    • bug #47637 [FrameworkBundle] Fix passing serializer.default_context option to normalizers (@wuchen90)
    • bug #47695 [FrameworkBundle] Filter out trans paths that are covered by a parent folder path (@natewiebe13)
    • bug #45554 [Serializer] Fixed framework.serializer.default_context is not working for JsonEncoder (@siganushka)
    • bug #47547 [Ldap] Do not run ldap_set_option on failed connection (@tatankat)
    • bug #47635 [DependencyInjection] EnvPlaceholderParameterBag::get() can't return UnitEnum (@jack.shpartko)
    • bug #47578 [Security] Fix AbstractFormLoginAuthenticator return types (@AndrolGenhald)
    • bug #47614 [FrameworkBundle] Fix a phpdoc in mailer assertions (@HeahDude)
    • bug #47516 [HttpFoundation] Prevent BinaryFileResponse::prepare from adding content type if no content is sent (@naitsirch)
    • bug #47533 [Messenger] decode URL-encoded characters in DSN's usernames/passwords (@xabbuh)
    • bug #47530 [HttpFoundation] Always return strings from accept headers (@ausi)
    • bug #47523 [Uid] Ensure ULIDs are monotonic even when the time goes backward (@nicolas-grekas)
    • bug #47528 [Form] fix UUID tranformer (@nicolas-grekas)
    • bug #47488 [Security] Fix valid remember-me token exposure to the second consequent request (@Ivan Kurnosov)
    • bug #47518 [Uid] Fix validating UUID variant bits (@nicolas-grekas)
    • bug #47441 [HttpClient] [HttpClientBundle] Bugfix for delayed retryableHttpClient (@martkop26)
    • bug #47499 [Uid][Validator] Stop to first ULID format violation (@ogizanagi)
    • bug #47491 [HttpKernel] Prevent exception in RequestDataCollector if request stack is empty (@aschempp)
    • bug #47497 [Bridge] Fix mkdir() race condition in ProxyCacheWarmer (@andrey-tech)
    • bug #47415 [HttpClient] Psr18Client ignore invalid HTTP headers (@nuryagdym)
    • bug #47394 [Console] [Completion] Make bash completion run in non interactive mode (@Seldaek)
    • bug #47455 [Mime] Fix TextPart broken after being serialized (@fabpot)
    • bug #47423 [String] CamelCase/SnakeCase on uppercase word (@mpiot)
    • bug #47435 [HttpKernel] lock when writting profiles (@nicolas-grekas)
    • bug #47417 [WebProfilerBundle] Fix profile search bar link query params (@HeahDude)
    • bug #47437 [Mime] Fix email rendering when having inlined parts that are not related to the content (@fabpot)
    • bug #47434 [HttpFoundation] move flushing outside of Response::closeOutputBuffers (@nicolas-grekas)
    • bug #47351 [FrameworkBundle] Do not throw when describing a factory definition (@MatTheCat)
    • bug #47403 [Mailer] Fix edge cases in STMP transports (@fabpot)

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

    Source code(tar.gz)
    Source code(zip)
Symprowire is a PHP MVC Framework based and built on Symfony, using the ProcessWire CMS as DBAL and Service Provider.

Symprowire - PHP MVC Framework for ProcessWire 3.x Symprowire is a PHP MVC Framework based and built on Symfony using ProcessWire 3.x as DBAL and Serv

Luis Mendez 7 Jan 16, 2022
PHPStan Symfony Framework extensions and rules

PHPStan Symfony Framework extensions and rules PHPStan This extension provides following features: Provides correct return type for ContainerInterface

PHPStan 564 Dec 30, 2022
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 150 Apr 12, 2022
I made my own simple php framework inspired from laravel framework.

Simple MVC About Since 2019, I started learning the php programming language and have worked on many projects using the php framework. Laravel is one

null 14 Aug 14, 2022
PHPR or PHP Array Framework is a framework highly dependent to an array structure.

this is new repository for php-framework Introduction PHPR or PHP Array Framework is a framework highly dependent to an array structure. PHPR Framewor

Agung Zon Blade 2 Feb 12, 2022
I made my own simple php framework inspired from laravel framework.

Simple MVC About Since 2019, I started learning the php programming language and have worked on many projects using the php framework. Laravel is one

Rizky Alamsyah 14 Aug 14, 2022
Framework X is a simple and fast micro framework based on PHP

Framework X is a simple and fast micro framework based on PHP. I've created a simple CRUD application to understand how it works. I used twig and I created a custom middleware to handle PUT, DELETE methods.

Mahmut Bayri 6 Oct 14, 2022
Spiral Framework is a High-Performance PHP/Go Full-Stack framework and group of over sixty PSR-compatible components

Spiral HTTP Application Skeleton Spiral Framework is a High-Performance PHP/Go Full-Stack framework and group of over sixty PSR-compatible components.

Spiral Scout 152 Dec 18, 2022
Sunhill Framework is a simple, fast, and powerful PHP App Development Framework

Sunhill Framework is a simple, fast, and powerful PHP App Development Framework that enables you to develop more modern applications by using MVC (Model - View - Controller) pattern.

Mehmet Selcuk Batal 3 Dec 29, 2022
Ergonode is modern PIM platform based on Symfony and Vue.js frameworks.

Modern Product Information Management Platform Ergonode is modern PIM platform based on Symfony and Vue.js frameworks. It has modular structure and gi

Ergonode 100 Dec 19, 2022
Yii2-symfonymailer - Yii 2 Symfony mailer extension.

Yii Mailer Library - Symfony Mailer Extension This extension provides a Symfony Mailer mail solution for Yii framework 2.0. For license information ch

Yii Software 28 Dec 22, 2022
This bundle aims to easily integrate & use the Froala editor in Symfony 4.4+/5.0+.

KMSFroalaEditorBundle Introduction This bundle aims to easily integrate & use the Froala editor in Symfony 4.4+/5.0+. If you want to use it with Symfo

Froala 102 Nov 15, 2022
Framework X – the simple and fast micro framework for building reactive web applications that run anywhere.

Framework X Framework X – the simple and fast micro framework for building reactive web applications that run anywhere. Quickstart Documentation Tests

Christian Lück 620 Jan 7, 2023
FuelPHP v1.x is a simple, flexible, community driven PHP 5.3+ framework, based on the best ideas of other frameworks, with a fresh start! FuelPHP is fully PHP 7 compatible.

FuelPHP Version: 1.8.2 Website Release Documentation Release API browser Development branch Documentation Development branch API browser Support Forum

Fuel 1.5k Dec 28, 2022
An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols. PHP>=5.3.

Workerman What is it Workerman is an asynchronous event-driven PHP framework with high performance to build fast and scalable network applications. Wo

walkor 10.2k Dec 31, 2022
Fast php framework written in c, built in php extension

Yaf - Yet Another Framework PHP framework written in c and built as a PHP extension. Requirement PHP 7.0+ (master branch)) PHP 5.2+ (php5 branch) Inst

Xinchen Hui 4.5k Dec 28, 2022
💫 Vega is a CLI mode HTTP web framework written in PHP support Swoole, WorkerMan / Vega 是一个用 PHP 编写的 CLI 模式 HTTP 网络框架,支持 Swoole、WorkerMan

Mix Vega 中文 | English Vega is a CLI mode HTTP web framework written in PHP support Swoole, WorkerMan Vega 是一个用 PHP 编写的 CLI 模式 HTTP 网络框架,支持 Swoole、Work

Mix PHP 46 Apr 28, 2022
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 72k Jan 7, 2023
Open Source PHP Framework (originally from EllisLab)

What is CodeIgniter CodeIgniter is an Application Development Framework - a toolkit - for people who build web sites using PHP. Its goal is to enable

B.C. Institute of Technology 18.2k Dec 29, 2022