This PR was merged into the 5.3-dev branch.
Discussion
----------
Add `#[As-prefix]` to service attributes
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
This PR renames all existing attributes with the `As` prefix, as I proposed several times already.
This should help autocompletion, and it's required to not collide with existing class names (eg the `Command` class, but also the old `Controller` class, etc.)
I think this `As` prefix is a convention for the better.
Commits
-------
4f1318963a Add `#[As-prefix]` to service attributes
This PR was merged into the 4.4 branch.
Discussion
----------
[travis] remove cache of composer.lock for deps=low
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Let's hope that Composer 2 made this fast enough. Maintaining this script might not be worth it anymore.
Reverts #28146
Commits
-------
9ba015d236 [travis] remove cache of composer.lock for deps=low
This PR was merged into the 4.4 branch.
Discussion
----------
[PhpUnitBridge] fix reported class when deprecated method is static
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Commits
-------
aa80df609f fix reported class when deprecated method is static
This PR was merged into the 5.3-dev branch.
Discussion
----------
[HttpKernel] Add `#[AsController]` attribute for declaring standalone controllers on PHP 8
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
This PR adds an `#[AsController]` attribute to allow autoconfiguring controllers even when they don't extend `AbstractController`. This should allow removing the line about `controller.service_arguments` in `services.yaml` to cover this need (but that is noise to most.)
Commits
-------
437f5feb45 [HttpKernel] Add `#[AsController]` attribute for declaring listeners on PHP 8
* 5.2:
[travis] use packagist API v2
[translation] Fix update existing key with existing +int-icu domain
[Contracts] Fix branch name in README.md links
* 4.4:
[travis] use packagist API v2
[translation] Fix update existing key with existing +int-icu domain
[Contracts] Fix branch name in README.md links
This PR was merged into the 4.4 branch.
Discussion
----------
[travis] use packagist API v2
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Commits
-------
af43ca080b [travis] use packagist API v2
This PR was merged into the 4.4 branch.
Discussion
----------
[Translation] Fix update existing key with existing +int-icu domain
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | none
| License | MIT
| Doc PR | none
Using php-translation webui interface, I was trying to update an existing +int-icu domain but a regular domain was created and the existing key wasn't updated. Looks like in the method I modified, we should have been looking for a potential domain+intl-icu domain and try update it first
Commits
-------
2a196ca0dc [translation] Fix update existing key with existing +int-icu domain
This PR was merged into the 4.4 branch.
Discussion
----------
[Contracts] Fix branch name in README.md links
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Commits
-------
c5c47f11a4 [Contracts] Fix branch name in README.md links
This PR was merged into the 5.3-dev branch.
Discussion
----------
[Notifier] Move abstract test cases to namespace
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no (only fixes builds)
| New feature? | yes (not sure about a changeling entry)
| Deprecations? | no
| Tickets | Fix #... <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
| Doc PR | no
This enables BC promise for the abstract test classes, like for other ones.
As we ignore current `/Tests` directory in `.gitattributes`, builds will fail if `symfony/notifier` is installed as dist.
Commits
-------
33ba3c755d [Notifier] Move abstract test cases to namespace
This PR was merged into the 5.2 branch.
Discussion
----------
Fixed parsing deprecated definitions without message key
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
### Steps to reproduce
1. Create service/alias definition and mark it as deprecated without specifying message key as shown in https://symfony.com/doc/5.2/service_container/alias_private.html#deprecating-service-aliases. For example:
```yaml
services:
service_without_deprecation_message:
class: Foo
deprecated:
package: vendor/package
version: 1.1
alias_without_deprecation_message:
alias: foobar
deprecated:
package: vendor/package
version: 1.1
```
2. Clear cache by running `php bin/console cache:clear`
### Actual behaviour
`Symfony\Component\Config\Exception\LoaderLoadException` exception is thrown with the following message: `Warning: Undefined array key "message" (...)`
See https://gist.github.com/adamwojs/5bac85d4326d8fbe6f52a357fa6e57e6 for full stactrace.
### Excepted behaviour
Given definitions are loaded correctly. Default service/alias deprecation message is used as shown in linked documentation page.
Commits
-------
d585b64953 Fixed parsing deprecated definitions without message key
This PR was merged into the 4.4 branch.
Discussion
----------
[Security] Handle properly 'auto' option for remember me cookie security
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#40471
| License | MIT
| Doc PR | n/a
Manually setting remember_me cookie secure as auto is still is being set as secure one even if used over http.
This PR fixes this behaviour by converting auto to null prior setting it up for service.
Commits
-------
2bcf69c071 [Security] Handle properly 'auto' option for remember me cookie security
This PR was submitted for the 5.x branch but it was merged into the 5.2 branch instead.
Discussion
----------
[Console] fix emojis messing up the line width
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix https://github.com/symfony/symfony/issues/37904
| License | MIT
Description
========
The emojis, because they take as much space as two characters, would cause the console to display too many spaces to complete a line, which made it uneven, as described in the issue.
The fix uses the `width` function instead of `strlen`. To answer @ogizanagi's comment, yes it does work with "composed" emojis.
Before :
![image](https://user-images.githubusercontent.com/11477247/111832081-9d72b100-88f0-11eb-8eda-65ee480c898d.png)
After :
![image](https://user-images.githubusercontent.com/11477247/111832103-a6638280-88f0-11eb-802e-838d97f61c81.png)
Other changes
==========
Removed two unused lines of code, the value of `$messageLineLength` was never used.
Note
====
I'd like to add some tests, but I don't know how since I think this depends on console client width ?
Thanks for your reviews 🙏
Commits
-------
36b36dcecc [Command] fix emojis messing up the line width
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[Validator] Avoid triggering the autoloader for user-input values
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Following-up to https://twitter.com/seldaek/status/1372450636361502721 - mostly to see if the build passes or if this breaks some undocumented/unclear-to-me assumptions.
Essentially using the `Valid` constraint should only validate objects if they exist as objects. If a user sends a string and that gets assigned to a property, `Valid` should not attempt autoloading that user-given string.
As far as I can tell, this is used in two places:
- acb32dd396/src/Symfony/Component/Validator/Validator/RecursiveContextualValidator.php (L364-L365) where non-objects are anyway ignored, so this change is harmless there.
- acb32dd396/src/Symfony/Component/Validator/Validator/RecursiveContextualValidator.php (L652-L660) where it's explicitly passing anything in there to get the proper exception, so my change makes sure that exception is thrown *before* autoloading attempts. I am just not 100% sure if there are cases where validateGenericNode will receive a class name as a string to validate in $value. I can't imagine why it would but that doesn't mean it's true.
Commits
-------
e45eb23ba2 [Validator] Avoid triggering the autoloader for user-input values
This PR was merged into the 5.2 branch.
Discussion
----------
[FrameworkBundle] ensure TestBrowserToken::$firewallName is serialized
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | n/a
| License | MIT
| Doc PR | n/a
Fixes a bug introduced in #40368. When `TestBrowserToken` in unserialized, `$firewallName` is `null` so trying to access it via `getFirewallName` throws a `TypeError`.
Commits
-------
8ba12ece57 [FrameworkBundle] ensure TestBrowserToken::$firewallName is serialized
This enables BC promise for the abstract test classes, like for other ones.
As we ignore current `/Tests` directory in `.gitattributes`, builds will fail if `symfony/notifier` is installed as dist.
This PR was squashed before being merged into the 5.3-dev branch.
Discussion
----------
[WebLink] Remove symfony/http-foundation dependency
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#40536
| License | MIT
| Doc PR |
Both me and @derrabus overlooked this.
Commits
-------
415c2a0b47 [WebLink] Remove symfony/http-foundation dependency
This PR was merged into the 5.3-dev branch.
Discussion
----------
[HttpFoundation][HttpKernel] Rename master request to main request
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | yes
| Tickets | Fix#37509
| License | MIT
| Doc PR | TODO
Let's find a better term for "master request" because of the reasons described in https://github.com/symfony/symfony/issues/37509#issuecomment-749498154. This PR proposes the term main request instead.
Commits
-------
1fc2a04e00 Rename master request to main request
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpClient] remove using $http_response_header
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Spotted after reading https://wiki.php.net/rfc/deprecations_php_8_1#predefined_variable_http_response_header
Commits
-------
b78f1dffc2 [HttpClient] remove using $http_response_header
This PR was submitted for the 5.x branch but it was merged into the 5.2 branch instead.
Discussion
----------
[Security] improve login throttling rate limiter requirement message
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Provide the composer command to the user if the `rate-limiter` component is not installed when attempting to use login throttling.
Commits
-------
6958bdc0be improve login throttling rate limiter requirement message