Respond with 404 instead of 422 for invalid QueryString
[String] Correct inflection of 'codes' and 'names'
[Validator] Update BIC validator IBAN mappings
[DependencyInjection] Add support for generating lazy closures
add translations for the filename max length validator option
[HttpFoundation] Add ParameterBag::getString()
and deprecate accepting invalid values
Stop stopwatch events in case of exception
bug #49706 Stop stopwatch events in case of exception (MatTheCat)
This PR was squashed before being merged into the 5.4 branch.
Stop stopwatch events in case of exception
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #49677 | License | MIT | Doc PR | N/A
Stopwatch events need to be stopped even if an exception occurred, else they will appear to span across the whole request timeline.
The following screenshots were taken with RouterListener
throwing in debug mode following a NoConfigurationException
:
beca17a10c Stop stopwatch events in case of exception
bug #49697 [Validator] Update BIC validator IBAN mappings (maxbeckers)
This PR was merged into the 5.4 branch.
[Validator] Update BIC validator IBAN mappings
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | n/a | License | MIT | Doc PR | n/a
With #29755 were added some special cases for BIC validation. The old references have updated and don't include this mapping anymore. But https://www.iban.com/structure describes this special cases. I updated the list with this PR based on the new reference.
436dcba003 [Validator] Update BIC validator IBAN mappings
bug #49681 [String] Correct inflection of 'codes' and 'names' (GwendolenLynch)
This PR was merged into the 5.4 branch.
[String] Correct inflection of 'codes' and 'names'
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | | License | MIT | Doc PR |
Singularizing of codes
and names
currently returns cod
and nam
. This PR simply adds them as suffixes, with tests.
97e932e3f2 [String] Correct inflection of 'codes' and 'names'
fix: GetSetMethodNormalizer::supportss should not check ignored methods
bug #49720 [Serializer] GetSetMethodNormalizer::supportss should not check ignored methods (nikophil)
This PR was merged into the 5.4 branch.
[Serializer] GetSetMethodNormalizer::supportss should not check ignored methods
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | License | MIT
GetSetMethodNormalizer
support methods do not check if potentiel getters have #[Ignore]
attribute
829617746a fix: GetSetMethodNormalizer::supportss should not check ignored methods
minor #49714 [Validator] add translations for the filename max length validator option (xabbuh)
This PR was merged into the 5.4 branch.
[Validator] add translations for the filename max length validator option
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | related to #49417 | License | MIT | Doc PR |
37ef83bee5 add translations for the filename max length validator option
[HttpClient] Encode and decode curly brackets {}
bug #49722 [HttpClient] Encode and decode curly brackets {} (pbowyer)
This PR was squashed before being merged into the 5.4 branch.
[HttpClient] Encode and decode curly brackets {}
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #49582 | License | MIT
HttpClient wasn't encoding {
and }
which meant passing JSON in the query string wasn't working.
a70c496025 [HttpClient] Encode and decode curly brackets {}
skip test using attributes on PHP 7
minor #49728 [Serializer] skip test using attributes on PHP 7 (xabbuh)
This PR was merged into the 5.4 branch.
[Serializer] skip test using attributes on PHP 7
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | | License | MIT | Doc PR |
7250083205 skip test using attributes on PHP 7
re-allow phpdocumentor/type-resolver 1.7
minor #49727 [Serializer] re-allow phpdocumentor/type-resolver 1.7 (xabbuh)
This PR was merged into the 5.4 branch.
[Serializer] re-allow phpdocumentor/type-resolver 1.7
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | reverts #48471 | License | MIT | Doc PR |
0776decd73 re-allow phpdocumentor/type-resolver 1.7
[Messenger] Add support for the DelayStamp in InMemoryTransport
feature #49725 [Messenger] Add support for the DelayStamp in InMemoryTransport (fabpot)
This PR was merged into the 6.3 branch.
[Messenger] Add support for the DelayStamp in InMemoryTransport
| Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | no | New feature? | yes | Deprecations? | no | Tickets | n/a | License | MIT | Doc PR | n/a
1025f3501b [Messenger] Add support for the DelayStamp in InMemoryTransport
[Mailer] STDOUT blocks infinitely under Windows when STDERR is filled
bug #49604 [Mailer] STDOUT blocks infinitely under Windows when STDERR is filled (TemaYud)
This PR was submitted for the 6.2 branch but it was squashed and merged into the 5.4 branch instead.
[Mailer] STDOUT blocks infinitely under Windows when STDERR is filled
| Q | A | ------------- | --- | Branch? | 6.2 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #... | License | MIT | Doc PR | symfony/symfony-docs#...
stream_get_contents() on STDOUT blocks infinitely under Windows when STDERR is filled under some circumstances. Open STDERR in append mode ("a"), then this will work.
2641438d5f [Mailer] STDOUT blocks infinitely under Windows when STDERR is filled
[Messenger] Fix evaluate()
calls in WorkerTest
minor #49655 [Messenger] Fix evaluate()
calls in WorkerTest
(alexandre-daubois)
This PR was merged into the 5.4 branch.
[Messenger] Fix evaluate()
calls in WorkerTest
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | NA | License | MIT | Doc PR | NA
Just two little tweaks in tests to fix evaluate()
calls :+1:
40efc7b862 [Messenger] Fix evaluate()
calls in WorkerTest
Change limit argument from string to integer.
Fix test
[VarDumper] Fixed dumping of CutStub
bug #49673 [VarDumper] Fixed dumping of CutStub (lyrixx)
This PR was merged into the 5.4 branch.
[VarDumper] Fixed dumping of CutStub
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | | License | MIT | Doc PR |
7675006133 [VarDumper] Fixed dumping of CutStub
[FrameworkBundle] Rename limiter’s strategy
to policy
in XSD
[Config] Improve performance of GlobResource
bug #49674 [FrameworkBundle] Rename limiter’s strategy
to policy
in XSD (MatTheCat)
This PR was merged into the 5.4 branch.
[FrameworkBundle] Rename limiter’s strategy
to policy
in XSD
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #49671 | License | MIT | Doc PR | N/A
https://github.com/symfony/symfony/pull/38664 renamed strategy
to policy
but did not update the XSD.
c19711c027 [FrameworkBundle] Rename limiter’s strategy
to policy
in XSD
bug #49657 [HttpKernel] Change limit argument from string to integer for Profiler (Aliance)
This PR was merged into the 5.4 branch.
[HttpKernel] Change limit argument from string to integer for Profiler
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #49656 | License | MIT
fb9b0d0bd3 Change limit argument from string to integer.
Fix some Composer keywords
Merge branch '5.4' into 6.2
strategy
to policy
in XSD
[VarDumper] Fixed dumping of CutStub
Fix test
Change limit argument from string to integer.
[Messenger] Fix evaluate()
calls in WorkerTest
[Mailer] STDOUT blocks infinitely under Windows when STDERR is filledMerge branch '6.2' into 6.3
strategy
to policy
in XSD
[VarDumper] Fixed dumping of CutStub
Fix test
Change limit argument from string to integer.
[Messenger] Fix evaluate()
calls in WorkerTest
[Mailer] STDOUT blocks infinitely under Windows when STDERR is filledFix some Composer keywords
Merge branch '5.4' into 6.2
Fix some Composer keywords
Fix some Composer keywords
Merge branch '6.2' into 6.3
Yes, please 🙏. We will have 2 months for tuning it
[HttpFoundation] Deprecate passing invalid URI to Request::create
Fixes: #47084
Passing an invalid URI to Request::create triggers an undefined code path. In PHP7 the false value returned by parse_url would quietly be treated as a an array through type coercion leading to unexpected results. In PHP8 this triggers a deprecation exposing the bug.
[DomCrawler] Improve html5Parser tests
minor #49669 [DomCrawler] Improve html5Parser tests (victor-prdh)
This PR was squashed before being merged into the 6.3 branch.
[DomCrawler] Improve html5Parser tests
| Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | / | License | MIT | Doc PR | /
Hi !
As mentioned by @Bilge
in https://github.com/symfony/symfony/pull/49121#discussion_r1126265816, test to ensure the new html5Parser strategy wasn't the best ! So i worked a little on this subject and i come with this new proposal !
Thanks
1231d75e8a [DomCrawler] Improve html5Parser tests
[HttpFoundation] Add support for the 103 status code (Early Hints) and other 1XX statuses
feature #48128 [HttpFoundation] Add support for the 103 status code (Early Hints) and other 1XX statuses (dunglas)
This PR was squashed before being merged into the 6.3 branch.
[HttpFoundation] Add support for the 103 status code (Early Hints) and other 1XX statuses
| Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | no | New feature? | yes | Deprecations? | yes | Tickets | n/a | License | MIT | Doc PR | todo
This patch adds support for sending informational responses, including Early Hints responses if supported by the SAPI. It also allows sending other informational status codes such as 102 Processing.
According to Shopify and Cloudflare, using Early Hints, the performance improvement to the Largest Contentful Paint can go from several hundred milliseconds, and up to a second faster.
Usage:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\WebLink\Link;
class HomepageController extends AbstractController
{
#[Route("/", name: "homepage")]
public function index(): Response
{
$response = $this->sendEarlyHints([
(new Link(href: '/style.css'))->withAttribute('as', 'stylesheet'),
(new Link(href: '/script.js'))->withAttribute('as', 'script'),
]);
// Do something slow...
return $this->render('homepage/index.html.twig', response: $response);
}
}
With this patch, HttpFoundation will leverage the headers_send()
function provided by FrankenPHP. FrankenPHP is currently the only SAPI supporting Early Hints, but other SAPI such as mod_apache will probably implement this function at some point: https://github.com/php/php-src/pull/7025#issuecomment-848015799
The low-level API is similar to the one provided by Go: https://github.com/golang/go/pull/42597
The high-level API helper in AbstractController
is similar to Node's one: https://github.com/nodejs/node/pull/44180
5be52b2b77 [HttpFoundation] Add support for the 103 status code (Early Hints) and other 1XX statuses
[Form] Improve exception for unsubmitted form
minor #49667 [Form] Improve exception for unsubmitted form (KThiebault)
This PR was squashed before being merged into the 6.3 branch.
[Form] Improve exception for unsubmitted form
| Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | Fix #49619 | License | MIT | Doc PR | -
This PR improves the error message when a form is submitted but its submission is not verified.
51d3038d09 [Form] Improve exception for unsubmitted form
bug #49376 [HttpFoundation] Deprecate passing invalid URI to Request::create (neclimdul)
This PR was merged into the 6.3 branch.
[HttpFoundation] Deprecate passing invalid URI to Request::create
Fixes: #47084
Passing an invalid URI to Request::create triggers an undefined code path. In PHP7 the false value returned by parse_url would quietly be treated as a an array through type coercion leading to unexpected results. In PHP8 this triggers a deprecation exposing the bug.
| Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | yes | New feature? | no | Deprecations? | yes | Tickets | Fix #47084 | License | MIT
bce4c27097 [HttpFoundation] Deprecate passing invalid URI to Request::create
[ErrorHander] Display exception properties in the HTML error page
feature #49620 [ErrorHander] Display exception properties in the HTML error page (lyrixx)
This PR was squashed before being merged into the 6.3 branch.
[ErrorHander] Display exception properties in the HTML error page
| Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | no | New feature? | yes | Deprecations? | no | Tickets | Fix #49613 | License | MIT | Doc PR |
class MyException extends \Exception
{
public function __construct()
{
parent ::__construct('some_message', 0, new MyException2());
}
public string $myMessage = 'some_message';
public string $myCode = 'some_code';
private string $privateStuff = 'private_stuff';
}
class MyException2 extends \Exception
{
private string $anotherPrivateStuff = 'another_private_stuff';
}
b041d06492 [ErrorHander] Display exception properties in the HTML error page
Create Attributes to map data from Request to typed objects
@nicolas-grekas rebased again :smiley:
[Security] Add logout configuration for Clear-Site-Data header
[Validator] Add the excluded
option to the Cascade
constraint
[Tests] Replace setMethods()
by onlyMethods()
and addMethods()
[Security] remove deprecated conditions in supports and authenticate methods from AccessListener class
minor #49635 [Security] AccessListener Class : remove deprecated conditions in supports and authenticate methods (AntoineDly)
This PR was submitted for the 6.3 branch but it was merged into the 6.2 branch instead.
[Security] AccessListener Class : remove deprecated conditions in supports and authenticate methods
…methods from AccessListener class
| Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | no | New feature? | no | Deprecations? | yes | Tickets | - | License | MIT | Doc PR | -
This PR is about the deprecation of IS_AUTHENTICATED_ANONYMOUSLY in the AuthenticatedVoter.
Since IS_AUTHENTICATED_ANONYMOUSLY as been removed from Voter, it can be misleading if it's still in use in the AccessListener Class. I removed it since the condition wasn't usefull anymore.
f9077f9bde [Security] remove deprecated conditions in supports and authenticate methods from AccessListener class
[DependencyInjection] Add support for autowiring services as closures using attributes
minor #49624 [Tests] Replace setMethods()
by onlyMethods()
and addMethods()
(alexandre-daubois)
This PR was merged into the 5.4 branch.
[Tests] Replace setMethods()
by onlyMethods()
and addMethods()
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | -
setMethods()
is deprecated and must be replaced by onlyMethods()
and addMethods()
. This PR fixes this 🙂
d8ec2afb53 [Tests] Replace setMethods()
by onlyMethods()
and addMethods()
feature #49628 [DependencyInjection] Add support for autowiring services as closures using attributes (nicolas-grekas)
This PR was merged into the 6.3 branch.
[DependencyInjection] Add support for autowiring services as closures using attributes
| Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | no | New feature? | yes | Deprecations? | no | Tickets | - | License | MIT | Doc PR | -
When dealing with laziness on the consumer side, a common pattern is to wrap a heavy service in a closure and call it only when needed.
This PR adds attribute #[AutowireServiceClosure]
for this purpose:
// generate a closure that returns service "foo"
public function __construct(
#[AutowireServiceClosure('foo')]
\Closure $foo,
)
It also adds support for turning callables into closures with a new #[AutowireCallable]
attribute:
// generate a closure that calls "foo"::someMethod()
public function __construct(
#[AutowireCallable(service: 'foo', method: 'someMethod')]
\Closure $foo,
)
Of course, this fully leverages autowiring aliases, so that instead of "foo", you can use MyInterface::class
.
9869327ab2 [DependencyInjection] Add support for autowiring services as closures using attributes
[DependencyInjection] Deprecate #[MapDecorated]
in favor of #[AutowireDecorated]
Merge branch '5.4' into 6.2
setMethods()
by onlyMethods()
and addMethods()
Merge branch '6.2' into 6.3
setMethods()
by onlyMethods()
and addMethods()
[Messenger] make StopWorkerOnSignalsListener listen by default on SIGTERM and SIGINT
[Dotenv] Improve Dotenv::usePutenv phpdoc
[DependencyInjection] Add tests for #[TaggedIterator] & #[TaggedLocator] on controller arguments
Fix support binary values in parameters.
bug #49651 [DependencyInjection] Fix support binary values in parameters. (vtsykun)
This PR was merged into the 5.4 branch.
[DependencyInjection] Fix support binary values in parameters.
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #49638 | License | MIT | Doc PR | -
This issue related to #25928
parameters:
banner_message: "\e[37;44m#StandWith\e[30;43mUkraine\e[0m"
debug:router
Actual result:
8541643756 Fix support binary values in parameters.
minor #49649 [Dotenv] Improve Dotenv::usePutenv
phpdoc (alamirault)
This PR was merged into the 5.4 branch.
[Dotenv] Improve Dotenv::usePutenv
phpdoc
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | Fix #49648 | License | MIT | Doc PR | symfony/symfony-docs#...
Cureent comment is confusing. This PR try avoid mislead
80c7a65c45 [Dotenv] Improve Dotenv::usePutenv phpdoc
[Tests] Remove occurrences of withConsecutive()
minor #49621 [Tests] Remove occurrences of withConsecutive()
(alexandre-daubois)
This PR was merged into the 5.4 branch.
[Tests] Remove occurrences of withConsecutive()
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | -
withConsecutive()
has been deprecated in PHPUnit 9.6 and removed in PHP 10 (https://github.com/sebastianbergmann/phpunit/issues/4564). This PR aims at starting the work to remove these occurrences. There is unfortunately no given migration path, and this requires manual work.
I'll create a meta issue referencing remaining occurrences if this one's merged, to keep track. Some seems pretty hard to remove.
cc @OskarStark
this might interest you, as we worked a lot on tests lately 😄
2047763649 [Tests] Remove occurrences of withConsecutive()
minor #49500 [HttpKernel] Add tests for #[TaggedIterator]
& #[TaggedLocator]
on controller arguments (HypeMC)
This PR was merged into the 6.3 branch.
[HttpKernel] Add tests for #[TaggedIterator]
& #[TaggedLocator]
on controller arguments
| Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | Fix #49083 | License | MIT | Doc PR | -
~~I think this doesn't qualify as a bug fix, but an improvement. If I'm wrong please let me know.~~
#49628 fixed the issue, this PR only adds tests now.
121e072194 [DependencyInjection] Add tests for #[TaggedIterator] & #[TaggedLocator] on controller arguments
Wrap use of \Locale in a class_exists test
minor #49609 [Translation] Wrap call to \Locale::setDefault from LocaleSwitcher in a class_exists call (larowlan)
This PR was merged into the 6.2 branch.
[Translation] Wrap call to \Locale::setDefault from LocaleSwitcher in a class_exists call
| Q | A | ------------- | --- | Branch? | 6.2 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | N/a - see below | License | MIT | Doc PR | n/a
In #45793 a new LocaleSwitcher was added which uses the \Locale class from ext-intl. On upgrading an English only project from 5.4 to 6.2, I received the following error as we don't have the ext-intl extension
Error: Class "Locale" not found
I searched for previous PRs to add a dependency on ext-intl
and came across one for the string component directing the user to install a polyfill.
Should symfony/translation therefore depend on the polyfill - otherwise updating is broken without manually installing the polyfill?
If so, here's a PR for that.
Keep up the good work folks :heart:
c043e93fd7 Wrap use of \Locale in a class_exists test
[DependencyInjection] Keep track of decorated ids
[GHA] use stubs instead of extensions for psalm job
minor #49626 [GHA] use stubs instead of extensions for psalm job (nicolas-grekas)
This PR was merged into the 5.4 branch.
[GHA] use stubs instead of extensions for psalm job
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | -
d609b670ff [GHA] use stubs instead of extensions for psalm job
Merge branch '5.4' into 6.2
Merge branch '6.2' into 6.3
minor #49625 [DependencyInjection] Keep track of decorated ids (nicolas-grekas)
This PR was merged into the 6.3 branch.
[DependencyInjection] Keep track of decorated ids
| Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | no | New feature? | yes | Deprecations? | no | Tickets | - | License | MIT | Doc PR | -
When a service "foo" is decorated by a service "bar", all references to "foo" are replaced by references to "bar".
This has visible side effects e.g. when running debug:autowiring
, before this PR:
Symfony\Contracts\HttpClient\HttpClientInterface (.debug.http_client)
After:
Symfony\Contracts\HttpClient\HttpClientInterface (http_client)
Details matter ;)
This PR replaces #49622 since it's a less invasive way to achieve this behavior.
1ac07d3d38 [DependencyInjection] Keep track of decorated ids
[Seurity] Minor code cleanup in SecurityExtension
minor #49640 [SecurityBundle] Minor code cleanup in SecurityExtension (maxbeckers)
This PR was merged into the 6.3 branch.
[SecurityBundle] Minor code cleanup in SecurityExtension
| Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | n/a | License | MIT | Doc PR | n/a
Remove a var only used once.
edf8d1dd4b [Seurity] Minor code cleanup in SecurityExtension
[HttpKernel] Renamed "pinned" to "targeted" for value resolvers
minor #49636 [HttpKernel] Renamed "pinned" to "targeted" for value resolvers (nicolas-grekas)
This PR was merged into the 6.3 branch.
[HttpKernel] Renamed "pinned" to "targeted" for value resolvers
| Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | -
"pinned" was introduced in #48992 but a quick chat within the core-team lead to this proposal, which might be preferred. WDYT?
ad58cc65fd [HttpKernel] Renamed "pinned" to "targeted" for value resolvers
Create Attributes to map data from Request to typed objects
Create #[Serialize]
Attribute to serialize Controller Result
Added condition to always return the real Authenticator
[Security] Migrate the session on login only when the user changes
feature #49015 [Security] Added condition to always return the real Authenticator from security events (florentdestremau)
This PR was merged into the 6.3 branch.
[Security] Added condition to always return the real Authenticator from security events
| Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | no / maybe | New feature? | yes / maybe | Deprecations? | no | Tickets | Fix #49010 | License | MIT | Doc PR | symfony/symfony-docs#...
This PR aims to uniformise the getAuthenticator
method of several security Events when using the profiler in dev environement.
5e6b471a15 Added condition to always return the real Authenticator
Removed @internal tag on TraceableAuthenticator::getAuthenticator()
[TwigBridge] Fix TwigDataCollector::getTime() return type
[Messenger] Fix TransportNamesStamp deserialization
| Q | A | ------------- | --- | Branch? | 6.2 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | https://github.com/symfony/symfony/issues/31490#issuecomment-1439927253 | License | MIT | Doc PR | n/a
Currently, when ones use TransportNameStamp
the following exception occurs:
In Serializer.php line 125:
[Symfony\Component\Messenger\Exception\MessageDecodingFailedException]
Could not decode stamp: Cannot create an instance of "Symfony\Component\Messenger\Stamp\TransportNamesStamp" from serialized data because its constructor requires parameter "transports" to be present.
In AbstractNormalizer.php line 384:
[Symfony\Component\Serializer\Exception\MissingConstructorArgumentsException]
Cannot create an instance of "Symfony\Component\Messenger\Stamp\TransportNamesStamp" from serialized data because its constructor requires parameter "transports" to be present.
This PR renames TransportNamesStamp
constructor argument in order to match the accesor method (getTranspdortNames
) so that deserialization work.
I know this is technically a BC break but as far as I can tell the feature can not currently work this way and also named arguments are not covered by Symfony's BC if I remember correctly.
bug #49526 [Security] Migrate the session on login only when the user changes (nicolas-grekas)
This PR was merged into the 5.4 branch.
[Security] Migrate the session on login only when the user changes
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #49194 | License | MIT | Doc PR | -
As described in the linked issue, the recent security fix breaks submitting forms when stateless authenticators are mixed with stateful CSRF storage.
This PR fixes the issue by ensuring that the session is not migrated when the user selected by the stateless authenticator is the same as the one retrieved from the session.
In order to do so, I had add to the previous token to LoginSuccessEvent
.
/cc @wouterj
@weaverryan
@stof
can you please have a look? This should be part of the next release if possible.
238f25c937 [Security] Migrate the session on login only when the user changes
Merge remote-tracking branch 'origin/5.4' into 6.2
Merge remote-tracking branch 'origin/6.2' into 6.3
Update CHANGELOG for 5.4.21
Update CONTRIBUTORS for 5.4.21
Update VERSION for 5.4.21
Merge pull request #49558 from fabpot/release-5.4.21
released v5.4.21
Bump Symfony version to 5.4.22
Update CHANGELOG for 6.2.7
Update VERSION for 6.2.7
Merge pull request #49559 from fabpot/release-6.2.7
released v6.2.7
Bump Symfony version to 6.2.8
Fix typo
Fix typo
Create #[Serialize]
Attribute to serialize Controller Result
Added condition to always return the real Authenticator
[Security] Migrate the session on login only when the user changes
feature #49015 [Security] Added condition to always return the real Authenticator from security events (florentdestremau)
This PR was merged into the 6.3 branch.
[Security] Added condition to always return the real Authenticator from security events
| Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | no / maybe | New feature? | yes / maybe | Deprecations? | no | Tickets | Fix #49010 | License | MIT | Doc PR | symfony/symfony-docs#...
This PR aims to uniformise the getAuthenticator
method of several security Events when using the profiler in dev environement.
5e6b471a15 Added condition to always return the real Authenticator
Removed @internal tag on TraceableAuthenticator::getAuthenticator()
[TwigBridge] Fix TwigDataCollector::getTime() return type
[Messenger] Fix TransportNamesStamp deserialization
| Q | A | ------------- | --- | Branch? | 6.2 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | https://github.com/symfony/symfony/issues/31490#issuecomment-1439927253 | License | MIT | Doc PR | n/a
Currently, when ones use TransportNameStamp
the following exception occurs:
In Serializer.php line 125:
[Symfony\Component\Messenger\Exception\MessageDecodingFailedException]
Could not decode stamp: Cannot create an instance of "Symfony\Component\Messenger\Stamp\TransportNamesStamp" from serialized data because its constructor requires parameter "transports" to be present.
In AbstractNormalizer.php line 384:
[Symfony\Component\Serializer\Exception\MissingConstructorArgumentsException]
Cannot create an instance of "Symfony\Component\Messenger\Stamp\TransportNamesStamp" from serialized data because its constructor requires parameter "transports" to be present.
This PR renames TransportNamesStamp
constructor argument in order to match the accesor method (getTranspdortNames
) so that deserialization work.
I know this is technically a BC break but as far as I can tell the feature can not currently work this way and also named arguments are not covered by Symfony's BC if I remember correctly.
bug #49526 [Security] Migrate the session on login only when the user changes (nicolas-grekas)
This PR was merged into the 5.4 branch.
[Security] Migrate the session on login only when the user changes
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #49194 | License | MIT | Doc PR | -
As described in the linked issue, the recent security fix breaks submitting forms when stateless authenticators are mixed with stateful CSRF storage.
This PR fixes the issue by ensuring that the session is not migrated when the user selected by the stateless authenticator is the same as the one retrieved from the session.
In order to do so, I had add to the previous token to LoginSuccessEvent
.
/cc @wouterj
@weaverryan
@stof
can you please have a look? This should be part of the next release if possible.
238f25c937 [Security] Migrate the session on login only when the user changes
Merge remote-tracking branch 'origin/5.4' into 6.2
Merge remote-tracking branch 'origin/6.2' into 6.3
Update CHANGELOG for 5.4.21
Update CONTRIBUTORS for 5.4.21
Update VERSION for 5.4.21
Merge pull request #49558 from fabpot/release-5.4.21
released v5.4.21
Bump Symfony version to 5.4.22
Update CHANGELOG for 6.2.7
Update VERSION for 6.2.7
Merge pull request #49559 from fabpot/release-6.2.7
released v6.2.7
Bump Symfony version to 6.2.8
Fix typo
Fix typo
Removed @internal tag on TraceableAuthenticator::getAuthenticator()
[Messenger] Fix TransportNamesStamp deserialization
| Q | A | ------------- | --- | Branch? | 6.2 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | https://github.com/symfony/symfony/issues/31490#issuecomment-1439927253 | License | MIT | Doc PR | n/a
Currently, when ones use TransportNameStamp
the following exception occurs:
In Serializer.php line 125:
[Symfony\Component\Messenger\Exception\MessageDecodingFailedException]
Could not decode stamp: Cannot create an instance of "Symfony\Component\Messenger\Stamp\TransportNamesStamp" from serialized data because its constructor requires parameter "transports" to be present.
In AbstractNormalizer.php line 384:
[Symfony\Component\Serializer\Exception\MissingConstructorArgumentsException]
Cannot create an instance of "Symfony\Component\Messenger\Stamp\TransportNamesStamp" from serialized data because its constructor requires parameter "transports" to be present.
This PR renames TransportNamesStamp
constructor argument in order to match the accesor method (getTranspdortNames
) so that deserialization work.
I know this is technically a BC break but as far as I can tell the feature can not currently work this way and also named arguments are not covered by Symfony's BC if I remember correctly.
Update CHANGELOG for 5.4.21
Update CONTRIBUTORS for 5.4.21
Update VERSION for 5.4.21
Merge pull request #49558 from fabpot/release-5.4.21
released v5.4.21
Bump Symfony version to 5.4.22
Update CHANGELOG for 6.2.7
Update VERSION for 6.2.7
Merge pull request #49559 from fabpot/release-6.2.7
released v6.2.7
Bump Symfony version to 6.2.8
[DependencyInjection] Fix dumping array of enums parameters
bug #49578 [DependencyInjection] Fix dumping array of enums parameters (fancyweb)
This PR was merged into the 5.4 branch.
[DependencyInjection] Fix dumping array of enums parameters
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | https://github.com/symfony/symfony/issues/49505 | License | MIT | Doc PR | -
97c5874320 [DependencyInjection] Fix dumping array of enums parameters
bug #49541 [Security] Remove @internal
tag on TraceableAuthenticator::getAuthenticator()
(florentdestremau)
This PR was merged into the 5.4 branch.
[Security] Remove @internal
tag on TraceableAuthenticator::getAuthenticator()
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | See #49015 | License | MIT
Following the discussion in #49015 I made this PR
0a8ba937b7 Removed @internal
tag on TraceableAuthenticator::getAuthenticator()
[HttpClient] Fix encoding "+" in URLs
bug #49580 [HttpClient] Fix encoding "+" in URLs (nicolas-grekas)
This PR was merged into the 5.4 branch.
[HttpClient] Fix encoding "+" in URLs
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #49579 | License | MIT | Doc PR | -
My bad.
e79eebb7ba [HttpClient] Fix encoding "+" in URLs
[TwigBridge] Fix flagged malicious url
minor #49602 [TwigBridge] Fix flagged malicious url (alamirault)
This PR was merged into the 5.4 branch.
[TwigBridge] Fix flagged malicious url
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | Fix #47454 | License | MIT | Doc PR | symfony/symfony-docs#...
We already use github blob links in the codebase, so IMO we can replace raw.githubusercontent.com
by github.com
link
2b11a453db [TwigBridge] Fix flagged malicious url
bug #49548 [Messenger] Fix TransportNamesStamp
deserialization (tucksaun)
This PR was merged into the 6.2 branch.
[Messenger] Fix TransportNamesStamp
deserialization
| Q | A | ------------- | --- | Branch? | 6.2 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | #49574, https://github.com/symfony/symfony/issues/31490#issuecomment-1439927253 | License | MIT | Doc PR | n/a
Currently, when ones use TransportNameStamp
the following exception can occur if they don't use native PHP serialization:
In Serializer.php line 125:
[Symfony\Component\Messenger\Exception\MessageDecodingFailedException]
Could not decode stamp: Cannot create an instance of "Symfony\Component\Messenger\Stamp\TransportNamesStamp" from serialized data because its constructor requires parameter "transports" to be present.
In AbstractNormalizer.php line 384:
[Symfony\Component\Serializer\Exception\MissingConstructorArgumentsException]
Cannot create an instance of "Symfony\Component\Messenger\Stamp\TransportNamesStamp" from serialized data because its constructor requires parameter "transports" to be present.
This PR renames TransportNamesStamp
constructor argument in order to match the accessor method (getTransportNames
) so that deserialization works when using the Serializer.
I know this is technically a (small) BC break but Symfony's BC does not cover named arguments if I remember correctly.
2c7eee068f [Messenger] Fix TransportNamesStamp deserialization
[VarDumper] Add a bit of test coverage