[HttpKernel] Remove private headers before storing responses with HttpCache
[DependencyInjection] Don't autoconfigure tag when it's already set with attributes
Update CHANGELOG for 4.4.48
Update CONTRIBUTORS for 4.4.48
Update VERSION for 4.4.48
Merge pull request #48028 from fabpot/release-4.4.48
released v4.4.48
Bump Symfony version to 4.4.49
Run tests with UTC to avoid daylight saving time messing with assertions
[WebProfilerBundle] Remove redundant code from logger template
[HttpFoundation] Check IPv6 is valid before comparing it
bug #48050 [HttpFoundation] Check IPv6 is valid before comparing it (PhilETaylor)
This PR was submitted for the 5.4 branch but it was merged into the 4.4 branch instead.
[HttpFoundation] Check IPv6 is valid before comparing it
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #48049 | License | MIT
Ensure that the checkIp6
only validates IPv6 addresses and ipv6 subnets.
PR Assumes that IPv6 and ipv6 subnets can never have a period in them (which as far as I know, is correct).
2b7ff1112a [HttpFoundation] Check IPv6 is valid before comparing it
bug #48027 [DependencyInjection] Don't autoconfigure tag when it's already set with attributes (nicolas-grekas)
This PR was merged into the 5.4 branch.
[DependencyInjection] Don't autoconfigure tag when it's already set with attributes
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #48019 | License | MIT | Doc PR | -
f27ed9b9bd [DependencyInjection] Don't autoconfigure tag when it's already set with attributes
minor #48042 Run tests with UTC to avoid daylight saving time messing with assertions (MatTheCat)
This PR was merged into the 4.4 branch.
Run tests with UTC to avoid daylight saving time messing with assertions
| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | N/A | License | MIT | Doc PR | N/A
Pipelines are failing today (like https://github.com/symfony/symfony/actions/runs/3350921526/jobs/5552038137#step:7:710) because it’s the eve of setting clocks back by one hour in the Europe/Paris timezone, so one day from now is 25 instead of 24 hours.
This PR just changes the timezone to UTC where there is no daylight saving time.
f56107c7d2 Run tests with UTC to avoid daylight saving time messing with assertions
Use 6.3 for new features
minor #48063 Use 6.3 for new features (fabpot)
This PR was merged into the 4.4 branch.
Use 6.3 for new features
| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | n/a | License | MIT | Doc PR | n/a
4d5996d170 Use 6.3 for new features
Update actions in the CI to move away from the deprecated runtime
minor #48081 Update actions in the CI to move away from the deprecated runtime (stof)
This PR was merged into the 4.4 branch.
Update actions in the CI to move away from the deprecated runtime
| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | n/a | License | MIT | Doc PR | n/a
For official actions, the usage of the new node-16 runner was released as a major version of the actions (because it breaks compatibility with older versions of GitHub Enterprise Server). This updates our workflows to use that new version.
5cff81d0be Update actions in the CI to move away from the deprecated runtime
Update the CI setup to use the new output file
Fix the notification email theme for asynchronously dispatched emails
When the \Symfony\Component\Mailer\Messenger\SendEmailMessage
is dispatched asynchronously, the email message is serialised and unserialised. The theme that was set on the NotificationEmail
was not included in the serialisation, causing the
value to return back to the default after deserialisation.
Fix search scope when performing fallback mapping driver detection
[HttpKernel] Remove private headers before storing responses with HttpCache
Run tests with UTC to avoid daylight saving time messing with assertions
[HttpFoundation] Check IPv6 is valid before comparing it
bug #48050 [HttpFoundation] Check IPv6 is valid before comparing it (PhilETaylor)
This PR was submitted for the 5.4 branch but it was merged into the 4.4 branch instead.
[HttpFoundation] Check IPv6 is valid before comparing it
| Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #48049 | License | MIT
Ensure that the checkIp6
only validates IPv6 addresses and ipv6 subnets.
PR Assumes that IPv6 and ipv6 subnets can never have a period in them (which as far as I know, is correct).
2b7ff1112a [HttpFoundation] Check IPv6 is valid before comparing it
minor #48042 Run tests with UTC to avoid daylight saving time messing with assertions (MatTheCat)
This PR was merged into the 4.4 branch.
Run tests with UTC to avoid daylight saving time messing with assertions
| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | N/A | License | MIT | Doc PR | N/A
Pipelines are failing today (like https://github.com/symfony/symfony/actions/runs/3350921526/jobs/5552038137#step:7:710) because it’s the eve of setting clocks back by one hour in the Europe/Paris timezone, so one day from now is 25 instead of 24 hours.
This PR just changes the timezone to UTC where there is no daylight saving time.
f56107c7d2 Run tests with UTC to avoid daylight saving time messing with assertions
Use 6.3 for new features
minor #48063 Use 6.3 for new features (fabpot)
This PR was merged into the 4.4 branch.
Use 6.3 for new features
| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | n/a | License | MIT | Doc PR | n/a
4d5996d170 Use 6.3 for new features
Update actions in the CI to move away from the deprecated runtime
minor #48081 Update actions in the CI to move away from the deprecated runtime (stof)
This PR was merged into the 4.4 branch.
Update actions in the CI to move away from the deprecated runtime
| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | n/a | License | MIT | Doc PR | n/a
For official actions, the usage of the new node-16 runner was released as a major version of the actions (because it breaks compatibility with older versions of GitHub Enterprise Server). This updates our workflows to use that new version.
5cff81d0be Update actions in the CI to move away from the deprecated runtime
Fix the notification email theme for asynchronously dispatched emails
When the \Symfony\Component\Mailer\Messenger\SendEmailMessage
is dispatched asynchronously, the email message is serialised and unserialised. The theme that was set on the NotificationEmail
was not included in the serialisation, causing the
value to return back to the default after deserialisation.
[DependencyInjection] don't move locator tag for service subscriber
Decorators move tags applied to the decorated service to the decorating service. But this (sometimes) breaks when the decorated service is a service subscriber, which has the argument for the container explicitly set.
This mostly works because the locator for the service subscriber is applied twice. The RegisterServiceSubscriberPass which creates the locator also sets a binding on the service. The ResolveServiceSubscriberPass replaces the arguments referencing the ContainerInterface or ServiceProviderInterface for those services tagged with the container.service_subscriber.locator tag. So when the argument isn't provided in the service definition it will automatically be set using the binding. And in case the argument is set, it will be replaced by the Resolver pass based on the tag.
But this thus breaks in case a service explicitly sets the argument (which means the binding isn't applied) and the service being decorated (meaning the locator tag is "lost"). So add the locator tag to the list of tags to keep on the original service.
don not set http_version instead of setting it to null
bug #48103 [HttpClient] Do not set http_version instead of setting it to null (Tetragramat)
This PR was merged into the 4.4 branch.
[HttpClient] Do not set http_version instead of setting it to null
| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #48087 | License | MIT | Doc PR | -
5f7004db62 don not set http_version instead of setting it to null
bug #48092 Fix the notification email theme for asynchronously dispatched emails (krisbuist)
This PR was merged into the 4.4 branch.
Fix the notification email theme for asynchronously dispatched emails
| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | License | MIT
When the \Symfony\Component\Mailer\Messenger\SendEmailMessage
is dispatched asynchronously, the email message is serialised and unserialised. The theme that was set on the NotificationEmail
was not included in the serialisation, causing the value to return back to the default after deserialisation.
4b843d1eea Fix the notification email theme for asynchronously dispatched emails
[Mailer] Stream timeout not detected due to checking only string result of function fgets
bug #48075 [Mailer] Stream timeout not detected fgets returns false (Sezil)
This PR was submitted for the 5.4 branch but it was merged into the 4.4 branch instead.
[Mailer] Stream timeout not detected fgets returns false
#48074 [Mailer] Stream timeout not detected due to checking only string result of function fgets
| Q | A | ------------- | --- | Branch? | 6.2 for features / 4.4, 5.4, 6.0 or 6.1 for bug fixes | Bug fix? | yes/no | New feature? | yes/no | Deprecations? | yes/no | Tickets | Fix #... | License | MIT | Doc PR | symfony/symfony-docs#...
486f2c5a2b [Mailer] Stream timeout not detected due to checking only string result of function fgets
bug #48093 [DependencyInjection] don't move locator tag for service subscriber (RobertMe)
This PR was merged into the 4.4 branch.
[DependencyInjection] don't move locator tag for service subscriber
| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | -
From the commit message: Decorators move tags applied to the decorated service to the decorating service. But this (sometimes) breaks when the decorated service is a service subscriber, which has the argument for the container explicitly set.
This mostly works because the locator for the service subscriber is applied twice. The RegisterServiceSubscriberPass which creates the locator also sets a binding on the service. The ResolveServiceSubscriberPass replaces the arguments referencing the ContainerInterface or ServiceProviderInterface for those services tagged with the container.service_subscriber.locator tag. So when the argument isn't provided in the service definition it will automatically be set using the binding. And in case the argument is set, it will be replaced by the Resolver pass based on the tag.
But this thus breaks in case a service explicitly sets the argument (which means the binding isn't applied) and the service being decorated (meaning the locator tag is "lost"). So add the locator tag to the list of tags to keep on the original service.
Explanation:
I found this issue when decorating the Router
. The Router
(in FrameworkBundle
) uses a service subscriber, but this lead to a deprecation message for autowiring Psr\...\ContainerInterface
. Debugging also showed that the full container was injected, and not the extracted service locator (service locator service actually was logged as removed for being unused). After investigation the issue was found to be as described above. The router
service is declared with an argument for the $container
parameter of the constructor, i.e.:
<service id="router.default" class="Symfony\Bundle\FrameworkBundle\Routing\Router">
<argument type="service" id="Psr\Container\ContainerInterface" />
Which leads to the binding, as declared in the RegisterServiceSubscribersPass
pass not being applied. Later on the DecoratorServicePass
pass moves the tags of the decorated service to the decorating service, where it only keeps the container.service_subscriber
tag on the original service, and moves the container.service_subscriber.locator
tag to the decorating service. When afterwards the ResolveServiceSubscribersPass
pass is executed it will replace the arguments to the ContainerInterface
with the created locator service (as defined in the RegisterServiceSubscribersPass
). But this then fails because the container.service_subscriber.locator
tag isn't applied anymore.
So when the router
isn't decorated the ResolveServiceSubscribersPass
pass is the one which makes the service subscriber work, replacing the original argument as defined in the service definition. But when it is decorated this breaks because the tag is missing.
The unit tests didn't detect this because: 1. the container isn't injected (and thus not validated); 2. even with validation of the container it would work as the binding would be applied. This is why I also kept the original unit test (but expanding the test with validating the container), which would still pass (based on the binding), and adding the additional test which explicitly sets the $container
argument, which would fail (for the binding not being applied, and the tag being missing because of the decorator).
3c7dbb4f13 [DependencyInjection] don't move locator tag for service subscriber
[HttpFoundation] Compare cookie with null value as empty string in ResponseCookieValueSame
Allow to disable lock without defining a resource
bug #48119 [FrameworkBundle][Lock] Allow to disable lock without defining a resource (MatTheCat)
This PR was merged into the 4.4 branch.
[FrameworkBundle][Lock] Allow to disable lock without defining a resource
| Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | N/A | License | MIT | Doc PR | N/A
While answering #48115 I noticed a resource is mandatory in lock’s configuration even if it’s disabled because of requiresAtLeastOneElement
. I replaced it with a validation rule which takes enabled
into account.
0aad8c8892 Allow to disable lock without defining a resource
[Security][Guard] Prevent user enumeration via response content
security #cve-2021-21424 [Security][Guard] Prevent user enumeration (chalasr)
This PR was merged into the 3.4 branch.
Update CHANGELOG for 3.4.48
Update VERSION for 3.4.48
Merge pull request #41193 from fabpot/release-3.4.48
released v3.4.48
[Security\Core] Fix user enumeration via response body on invalid credentials
security #cve-2021-21424 [Security\Core] Fix user enumeration via response body on invalid credentials (chalasr)
This PR was merged into the 3.4 branch.
Update CHANGELOG for 3.4.49
Update VERSION for 3.4.49
Merge pull request #41276 from fabpot/release-3.4.49
released v3.4.49
[FrameworkBundle] Fix tests
[VarDumper] fix tests
[HttpFoundation] Fix ianaCodesReasonPhrasesProvider to consume a local file