Commit Graph

30640 Commits

Author SHA1 Message Date
Fabien Potencier
4222a72ee8 bug #38062 [DI] fix generating preload file when cache_dir is outside project_dir (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] fix generating preload file when cache_dir is outside project_dir

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

Commits
-------

02db8e1523 [DI] fix generating preload file when cache_dir is outside project_dir
2020-09-04 18:14:00 +02:00
Nicolas Grekas
02db8e1523 [DI] fix generating preload file when cache_dir is outside project_dir 2020-09-04 16:11:41 +02:00
Soner Sayakci
973442759c
Fix CacheCollectorPass with decorated cache pools 2020-09-04 14:31:16 +02:00
Fabien Potencier
4482fcf28d bug #38041 [PropertyInfo] Fix typed collections in PHP 7.4 (ndench)
This PR was merged into the 4.4 branch.

Discussion
----------

[PropertyInfo] Fix typed collections in PHP 7.4

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

#37971 introduced support for typed properties in PHP 7.4, however by short circuiting the `getTypes()` method, typed collections are returned as `Type::BUILTIN_TYPE_ARRAY` without a proper collection type. If running on PHP < 7.4, the `getMutator()` method would be called which would extract the collection type from the getter/setter or adder/remover.

I updated the typedPropertiesTest to cover this case.

Commits
-------

282ed2850c [PropertyInfo] Fix typed collections in PHP 7.4
2020-09-04 07:32:57 +02:00
Fabien Potencier
c2522fa325 feature #38052 Increase HttpBrowser::getHeaders() visibility to protected (iansltx)
This PR was merged into the 5.2-dev branch.

Discussion
----------

Increase HttpBrowser::getHeaders() visibility to protected

Resolves symfony/symfony#38051

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | Fix #38051
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Increases visibility to allow for oddball header overrides; see #38051 for more detail.

If this looks good, let me know if this is worth adding docs/changelog entries and I'll do so.

Commits
-------

3d75ab515f Increase HttpBrowser::getHeaders() visibility to protected
2020-09-04 07:30:17 +02:00
siganushka
6e17099f7a Remove invalid instantiation declaration 2020-09-04 07:27:08 +02:00
Ian Littman
3d75ab515f
Increase HttpBrowser::getHeaders() visibility to protected
Resolves symfony/symfony#38051
2020-09-03 22:08:06 -05:00
Alexander M. Turek
275496a1f4 [Debug] Parse "x not found" errors correctly on php 8. 2020-09-04 00:12:04 +02:00
Paweł Niedzielski
135c6504f1 [Messenger] Add option to prevent Redis from deleting messages on rejection 2020-09-03 22:33:02 +02:00
Malte Schlüter
b50fc19af0 Add tests for translated error messages of json authentication 2020-09-03 13:33:24 +02:00
Malte Schlüter
7684663818 Translate failure messages of json authentication 2020-09-03 09:35:53 +02:00
Nathan Dench
282ed2850c [PropertyInfo] Fix typed collections in PHP 7.4 2020-09-03 10:26:19 +10:00
Nicolas Grekas
4ee85e8e3b Merge branch '5.1'
* 5.1:
  Enable "native_constant_invocation" CS rule
  Make AbstractPhpFileCacheWarmer public
  Fix CS
  Add a warning comment on ldap empty password
  Bump Symfony version to 4.4.14
  Update VERSION for 4.4.13
  Update CHANGELOG for 4.4.13
  [PhpunitBridge] Fix deprecation type detection
2020-09-02 18:27:44 +02:00
Nicolas Grekas
034602699e Merge branch '4.4' into 5.1
* 4.4:
  Enable "native_constant_invocation" CS rule
  Make AbstractPhpFileCacheWarmer public
2020-09-02 18:23:27 +02:00
Nicolas Grekas
2e8ca94fb8 Merge remote-tracking branch 'origin/4.4' into 5.1
* origin/4.4:
  Fix CS
  Add a warning comment on ldap empty password
  Bump Symfony version to 4.4.14
  Update VERSION for 4.4.13
  Update CHANGELOG for 4.4.13
  [PhpunitBridge] Fix deprecation type detection
2020-09-02 18:21:51 +02:00
Nicolas Grekas
6c2a1c9a57 Merge branch '3.4' into 4.4
* 3.4:
  Enable "native_constant_invocation" CS rule
  Make AbstractPhpFileCacheWarmer public
2020-09-02 18:08:58 +02:00
Nicolas Grekas
4351a70637 Enable "native_constant_invocation" CS rule 2020-09-02 18:06:40 +02:00
Robin Chalas
46ce480801 [Security] Add some missing CHANGELOG entries 2020-09-02 17:49:20 +02:00
Fabien Potencier
ddede31d09 Fix CS 2020-09-02 14:17:05 +02:00
Fabien Potencier
e06d339353 feature #35890 [Cache] give control over cache prefix seed (Tobion)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Cache] give control over cache prefix seed

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       |
| License       | MIT
| Doc PR        |

Reopened #35723 for master.

The configurable cache prefix seed does not give full control over the cache prefix because the container class is added to the prefix in any case. This is a problem because the container class contains the app env name. We use different app environments for different deployment targets (dev and test). We want dev and test to use the same redis cache. But this is impossible to achieve because even setting the cache prefix seed does not accomplish this.

Commits
-------

6681b92524 [Cache] give control over cache prefix seed
2020-09-02 14:12:28 +02:00
Fabien Potencier
afdb97e864 feature #37337 [Security] Configurable execution order for firewall listeners (scheb)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Security] Configurable execution order for firewall listeners

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| License       | MIT
| Doc PR        | n/a

Hello there, I'm the author of `scheb/two-factor-bundle`, which extends Symfony's security layer with two-factor authentication. I've been closely following the recent changes by @wouterj to rework the security layer with "authenticators" (great work!). While I managed to make my bundle work with authenticators, I see some limitations in the security layer that I'd like to address to make such extensions easier to implement.

In #37336 I've submitted a draft to let security factories add their own authentication listeners to the firewall. This PR is intended to address the issue of execution order. If you look at the `Firewall` class

f64f59a9c0/src/Symfony/Component/Security/Http/Firewall.php (L62-L82)

authentication listeners are executed in the order of their creation. Additionally, there's hardcoded logic to execute `Symfony\Component\Security\Http\Firewall\AccessListener` always last and the logout listener second to last. I'd like to have a more flexible approach, to remove the hardcoded order and give authentication listeners the ability to determine their execution order.

I've added an optional interface to provide a priority to sort all registered authenitication listeners. Sorting is done in a compiler pass, so no time is wasted at runtime.

This is a draft, so I'd like to hear your opinion on this :)

Commits
-------

91388e871b Add ability to prioritize firewall listeners
2020-09-02 13:06:53 +02:00
Tobias Schultze
6681b92524 [Cache] give control over cache prefix seed
The configurable cache prefix seed does not give full control over the cache prefix because the container class is added to the prefix in any case. This is a problem because the container class contains the app env name. We use different app environments for different deployment targets (dev and test). Dev and test should use the same redis cache. But this is impossible to achieve because even setting the cache prefix seed does not accomplish this.
2020-09-02 11:53:39 +02:00
Jérémy Derussé
63a8570a42
Add a warning comment on ldap empty password 2020-09-02 10:52:12 +02:00
Fabien Potencier
a9c93fc094 Bump Symfony version to 5.1.6 2020-09-02 10:20:16 +02:00
Fabien Potencier
cc3335244c Update VERSION for 5.1.5 2020-09-02 10:15:18 +02:00
Fabien Potencier
27c131ca7a Bump Symfony version to 4.4.14 2020-09-02 10:14:21 +02:00
Fabien Potencier
7982e499d6 Update VERSION for 4.4.13 2020-09-02 10:09:29 +02:00
Nicolas Grekas
a64b9449a3 Merge branch '5.1'
* 5.1:
  [HttpClient] Fix deps=low
2020-09-02 10:02:46 +02:00
Nicolas Grekas
6f15fbfe54 Merge branch '4.4' into 5.1
* 4.4:
  [HttpClient] Fix deps=low
2020-09-02 10:02:12 +02:00
Nicolas Grekas
55f451e49c [HttpClient] Fix deps=low 2020-09-02 10:01:15 +02:00
Fabien Potencier
3854b8f8d7 Merge branch '5.1'
* 5.1:
  Remove headers with internal meaning from HttpClient responses
2020-09-02 09:46:15 +02:00
Fabien Potencier
5a0436ff8e Merge branch '4.4' into 5.1
* 4.4:
  Remove headers with internal meaning from HttpClient responses
2020-09-02 09:42:11 +02:00
Fabien Potencier
d9910e0b33 security #cve-2020-15094 Remove headers with internal meaning from HttpClient responses (mpdude)
This PR was merged into the 4.4 branch.
2020-09-02 09:40:48 +02:00
Matthias Pigulla
ba39753291 Remove headers with internal meaning from HttpClient responses 2020-09-02 09:40:10 +02:00
Fabien Potencier
4a10308a54 Merge branch '5.1'
* 5.1:
  Fix undefined index for inconsistent command name definition
2020-09-02 09:07:54 +02:00
Fabien Potencier
286e22354f Merge branch '4.4' into 5.1
* 4.4:
  Fix undefined index for inconsistent command name definition
2020-09-02 09:07:40 +02:00
Fabien Potencier
bca14aa5f8 Merge branch '3.4' into 4.4
* 3.4:
  Fix undefined index for inconsistent command name definition
2020-09-02 09:07:21 +02:00
Fabien Potencier
9d7a8f39a9 Fix CS 2020-09-02 07:46:17 +02:00
Matthias Krauser
3824dafffb [Serializer] fix denormalization of basic property-types in XML and CSV 2020-09-02 07:44:16 +02:00
Nicolas Grekas
78eca9607a Merge branch '5.1'
* 5.1:
  [DI] fix inlining of non-shared services
2020-09-01 20:07:47 +02:00
Nicolas Grekas
117317c8e3 Merge branch '4.4' into 5.1
* 4.4:
  [DI] fix inlining of non-shared services
2020-09-01 20:07:16 +02:00
Robin Chalas
d59140e857 Fix undefined index for inconsistent command name definition 2020-09-01 20:06:56 +02:00
Nicolas Grekas
380cb10587 [DI] fix inlining of non-shared services 2020-09-01 19:42:15 +02:00
Fabien Potencier
dc63d712ab feature #33381 [Form] dispatch submit events for disabled forms too (xabbuh)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Form] dispatch submit events for disabled forms too

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #27217
| License       | MIT
| Doc PR        |

TODO:

- [ ] add a test case covering the validation use case

Commits
-------

6da42ae2d1 dispatch submit events for disabled forms too
2020-09-01 18:26:17 +02:00
Fabien Potencier
692fa7a5c1 bug #38022 Missed AbstractArgument (a-menshchikov)
This PR was merged into the 5.1 branch.

Discussion
----------

Missed AbstractArgument

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

Missed in 5.1

Commits
-------

b5a47dac52 Missed AbstractArgument
2020-09-01 14:38:02 +02:00
Fabien Potencier
b73ee65c04 Merge branch '5.1'
* 5.1:
  stop using the deprecated at() PHPUnit matcher
2020-09-01 14:25:43 +02:00
Fabien Potencier
3061bfeb48 minor #37874 stop using the deprecated at() PHPUnit matcher (xabbuh)
This PR was merged into the 5.1 branch.

Discussion
----------

stop using the deprecated at() PHPUnit matcher

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

Commits
-------

e36e73b9cf stop using the deprecated at() PHPUnit matcher
2020-09-01 14:25:21 +02:00
Christian Flothmann
6da42ae2d1 dispatch submit events for disabled forms too 2020-09-01 14:24:09 +02:00
Zmey
b5a47dac52
Missed AbstractArgument 2020-09-01 15:23:56 +03:00
Fabien Potencier
ccfc4ba269 feature #35338 Added support for using the "{{ label }}" placeholder in constraint messages (a-menshchikov)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

Added support for using the "{{ label }}" placeholder in constraint messages

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

- [ ] Add docs PR

Commits
-------

0d9f44235c Added support for using the "{{ label }}" placeholder in constraint messages
2020-09-01 09:49:57 +02:00
Zmey
0d9f44235c Added support for using the "{{ label }}" placeholder in constraint messages 2020-09-01 09:49:48 +02:00
Fabien Potencier
32b82b88eb Fix bad merge 2020-09-01 08:13:06 +02:00
Fabien Potencier
f765cb2900 Merge branch '5.1'
* 5.1:
  [Mailer] Fixed 'verify_peer' option in mailer DSN being ignored
  [Cache] Psr16Cache does not handle Proxy cache items
  [Serializer] fixed fix encoding of cache keys with anonymous classes
  Fix symfony/amazon-mailer constraint
  [Validator] Fix PhpUnitBridge version constraint.
  Bump Symfony version to 5.1.5
  Update VERSION for 5.1.4
  Update CHANGELOG for 5.1.4
  Bump Symfony version to 4.4.13
  Update VERSION for 4.4.12
  Update CHANGELOG for 4.4.12
  Bump Symfony version to 3.4.45
  Update VERSION for 3.4.44
  Update CONTRIBUTORS for 3.4.44
  Update CHANGELOG for 3.4.44
2020-09-01 07:57:52 +02:00
Fabien Potencier
509247b8ff Merge branch '4.4' into 5.1
* 4.4:
  [Cache] Psr16Cache does not handle Proxy cache items
  [Serializer] fixed fix encoding of cache keys with anonymous classes
  Bump Symfony version to 4.4.13
  Update VERSION for 4.4.12
  Update CHANGELOG for 4.4.12
  Bump Symfony version to 3.4.45
  Update VERSION for 3.4.44
  Update CONTRIBUTORS for 3.4.44
  Update CHANGELOG for 3.4.44
2020-09-01 07:52:18 +02:00
scyzoryck
5682d76b2a Messenger - Add option to confirm message delivery in Amqp connection 2020-08-31 23:34:07 +02:00
Fabien Potencier
0d990449b3 bug #37961 [Mailer] Fixed 'verify_peer' option in mailer DSN being ignored (SnakePin)
This PR was squashed before being merged into the 5.1 branch.

Discussion
----------

[Mailer] Fixed 'verify_peer' option in mailer DSN being ignored

| Q             | A
| ------------- | ---
| Branch?       | 5.1 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | N/A <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License       | MIT
| Doc PR        | N/A <!-- required for new features -->

The mailer DSN option 'verify_peer' was being ignored because `$dsn->getOption('verify_peer', true)` was returning a string and thus NOT operator on it was always resulting in false. I propose changing the line where it is used with a `filter_var` call with the `FILTER_VALIDATE_BOOLEAN` as the filter parameter to overcome this issue.

Commits
-------

1c789e87aa [Mailer] Fixed 'verify_peer' option in mailer DSN being ignored
2020-08-31 21:53:05 +02:00
SnakePin
1c789e87aa [Mailer] Fixed 'verify_peer' option in mailer DSN being ignored 2020-08-31 21:52:58 +02:00
Nicolas Grekas
6bebe86d5a bug #38010 [Cache] Psr16Cache does not handle Proxy cache items (alex-dev)
This PR was merged into the 4.4 branch.

Discussion
----------

[Cache] Psr16Cache does not handle Proxy cache items

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #38006
| License       | MIT

Add test for Psr16Cache along with a ProxyAdapter

Commits
-------

e525fa1055 [Cache] Psr16Cache does not handle Proxy cache items
2020-08-31 18:53:24 +02:00
Alexandre Parent
e525fa1055 [Cache] Psr16Cache does not handle Proxy cache items 2020-08-31 18:52:20 +02:00
Jérémy Derussé
91a2256716
Fix semaphore branch-alias 2020-08-31 18:13:25 +02:00
Nicolas Grekas
93459a93bd bug #37937 [Serializer] fixed fix encoding of cache keys with anonymous classes (michaelzangerle)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Serializer] fixed fix encoding of cache keys with anonymous classes

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

Commits
-------

3a4675359d [Serializer] fixed fix encoding of cache keys with anonymous classes
2020-08-31 18:04:23 +02:00
Michael Zangerle
3a4675359d [Serializer] fixed fix encoding of cache keys with anonymous classes 2020-08-31 18:03:52 +02:00
Fabien Potencier
d6468a9634 feature #34790 [Console] Remove restriction for choices to be strings (LordZardeck, YaFou, ogizanagi)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Console] Remove restriction for choices to be strings

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | Fix #34789
| License       | MIT

When using choice, selected answers are forced into strings, preventing us from using complex values such as a class with a custom __toString. This is a problem, as I need the ability to present the user with a list of display strings to choose from, but need the ID associated with that display string in order to do anything useful.

Commits
-------

d276cc9ca3 [Console] Cast associative choices questions keys to string
a0223088a0 [Console] Add tests for removing restriction for choices to be strings
3349d3ce89 Remove restriction for choices to be strings
2020-08-31 17:31:17 +02:00
Maxime Steinhausser
d276cc9ca3 [Console] Cast associative choices questions keys to string
to prevent inconsistency when choosing by key (getting a string as result) or by value (getting an int as result)
2020-08-31 17:06:49 +02:00
YaFou
a0223088a0 [Console] Add tests for removing restriction for choices to be strings
See 3349d3ce89
2020-08-31 15:43:38 +02:00
Christian Flothmann
427fffa65c skip tests if required class does not exist 2020-08-31 13:01:02 +02:00
Fabien Potencier
69f8eaeec5 bug #37977 [Semaphore] Fixed some bugs (lyrixx)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Semaphore] Fixed some bugs

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

Commits
-------

3c943b94ed [Semaphore] Fixed some bugs
2020-08-31 12:18:25 +02:00
Fabien Potencier
76dc182b65 bug #38002 [Validator] Fix PhpUnitBridge version constraint (derrabus)
This PR was merged into the 5.1 branch.

Discussion
----------

[Validator] Fix PhpUnitBridge version constraint

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

This PR allows Validator 5.1 and PhpUnitBridge 5.1 to be installed alongside each other.

Commits
-------

1055a7f29b [Validator] Fix PhpUnitBridge version constraint.
2020-08-31 12:16:44 +02:00
Michał Jusięga
15643642a3 Fix symfony/amazon-mailer constraint 2020-08-31 12:16:00 +02:00
Maxime Steinhausser
2d21c391e4 bug #38003 [PropertyAccess] fix bitwise operations (xabbuh)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[PropertyAccess] fix bitwise operations

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

see https://3v4l.org/DArv9 for the difference

Commits
-------

01b253969a fix bitwise operations
2020-08-31 11:58:56 +02:00
Christian Flothmann
01b253969a fix bitwise operations 2020-08-31 11:42:54 +02:00
Alexander M. Turek
1055a7f29b [Validator] Fix PhpUnitBridge version constraint. 2020-08-31 11:01:51 +02:00
Fabien Potencier
0b65634439 Bump Symfony version to 5.1.5 2020-08-31 08:22:19 +02:00
Fabien Potencier
94ca568810 Update VERSION for 5.1.4 2020-08-31 08:18:12 +02:00
Fabien Potencier
6e59396ff9 Bump Symfony version to 4.4.13 2020-08-31 08:14:12 +02:00
Fabien Potencier
529eac9795 Update VERSION for 4.4.12 2020-08-31 08:09:42 +02:00
Fabien Potencier
f4f7683861 Bump Symfony version to 3.4.45 2020-08-31 07:58:19 +02:00
Fabien Potencier
b1e65241ca Update VERSION for 3.4.44 2020-08-31 07:53:42 +02:00
Fabien Potencier
5ed8ebe50e Remove unneeded code 2020-08-30 12:31:26 +02:00
Christian Flothmann
a9cbac77eb fix the deprecation message 2020-08-30 11:27:09 +02:00
Fabien Potencier
e23a06400d bug #37986 [Translation] Fix logic (fabpot)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Translation] Fix logic

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | n/a<!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License       | MIT
| Doc PR        | n/a

Commits
-------

19f8cd423a [Translation] Fix logic
2020-08-30 10:30:45 +02:00
Fabien Potencier
0885ebb706 Merge branch '5.1'
* 5.1:
  Revert "bug #37622 [PropertyAccess] Fix accessing dynamic properties (andreyserdjuk)"
2020-08-30 10:30:09 +02:00
Fabien Potencier
47b9b5cf21 Revert "bug #37622 [PropertyAccess] Fix accessing dynamic properties (andreyserdjuk)"
This reverts commit 92cb709222, reversing
changes made to fc3095ff2f.
2020-08-30 10:29:58 +02:00
Fabien Potencier
19f8cd423a [Translation] Fix logic 2020-08-30 10:02:21 +02:00
Fabien Potencier
45329ab77d Merge branch '5.1'
* 5.1:
  Fix CS
  [HttpClient][MockHttpClient][DX] Throw when the response factory callable does not return a valid response
  [FrameworkBundle] Do not pass the base uri twice to scoped http clients
2020-08-30 09:26:26 +02:00
Fabien Potencier
c367e26e3e Merge branch '4.4' into 5.1
* 4.4:
  Fix CS
  [HttpClient][MockHttpClient][DX] Throw when the response factory callable does not return a valid response
  [FrameworkBundle] Do not pass the base uri twice to scoped http clients
2020-08-30 09:26:18 +02:00
Fabien Potencier
2adacbcff8 Fix CS 2020-08-30 09:21:38 +02:00
Fabien Potencier
4affb4622f Fix CS 2020-08-30 09:20:37 +02:00
Fabien Potencier
241af8057f feature #37371 [Translation] Add support for calling 'trans' with ICU formatted messages (someonewithpc)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Translation] Add support for calling 'trans' with ICU formatted messages

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | maybe, see https://github.com/symfony/symfony/issues/37228
| New feature?  | yes
| Deprecations? | no
| Tickets       | Fix #37228
| License       | MIT
| Doc PR        | symfony/symfony-docs#13875

Motivation:

```
$apples = [0 => 'No apples', 1 => '1 apple', '# apples'];
echo _m($apples, ['count' => 0]); // Outputs 'No apples'
echo _m($apples, ['count' => 2]); // Outputs '2 apples'
```

where `_m` is a wrapper my application is using, but we obviously don't want to replicate many of the effort of the translation component, so it relies on `trans`.

This wrapper itself could be integrated into Symfony, if deemed appropriate.

See #37228

Commits
-------

d2ec41f4ef [Translation] Add support for calling 'trans' with ICU formatted messages
2020-08-30 09:19:50 +02:00
Hugo Sales
d2ec41f4ef [Translation] Add support for calling 'trans' with ICU formatted messages 2020-08-30 09:19:43 +02:00
Fabien Potencier
4d6ea775b7 bug #37966 [HttpClient][MockHttpClient][DX] Throw when the response factory callable does not return a valid response (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient][MockHttpClient][DX] Throw when the response factory callable does not return a valid response

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

The current message is `TypeError: Argument 4 passed to Symfony\Component\HttpClient\Response\MockResponse::fromRequest() must implement interface Symfony\Contracts\HttpClient\ResponseInterface, instance of Generator given`.

I lost some time with this because I was passing a callable that returns a \Generator instead of passing the resulting \Generator directly. We could support that case but I guess with the added exception message, it is clear we don't support it at all.

Commits
-------

564dce39f8 [HttpClient][MockHttpClient][DX] Throw when the response factory callable does not return a valid response
2020-08-30 08:55:38 +02:00
Nate Wiebe
dc6b3bf62d [Translation] Translatable objects 2020-08-28 18:48:14 +02:00
Fabien Potencier
6c094cce73 bug #37983 [PropertyInfo] Fix ReflectionExtractor::getTypesFromConstructor (ogizanagi)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[PropertyInfo] Fix ReflectionExtractor::getTypesFromConstructor

| Q             | A
| ------------- | ---
| Branch?       | master <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | N/A <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License       | MIT
| Doc PR        | N/A

Fixes https://travis-ci.org/github/symfony/symfony/jobs/721953907#L4274-L4296

Relates to #30335

Commits
-------

6423d8a827 [PropertyInfo] Fix ReflectionExtractor::getTypesFromConstructor
2020-08-28 18:21:59 +02:00
Fabien Potencier
5b3ebdc7e6 Merge branch '5.1'
* 5.1:
  [PhpUnitBridge] Create a predictable symlink pointing to the local install
  [PropertyInfo] Backport support for typed properties (PHP 7.4)
  [PhpUnitBridge] Polyfill new phpunit 9.1 assertions
  [PhpUnitBridge] Move assertMatchesRegularExpression in PolyfillAssertTrait
  [PhpUnit] Add polyfill for assertMatchesRegularExpression()
  Update Notifier bridge readme
  [TwigBridge] Fix #37931: BC break where filter method `trans` did not allow null values for `$message` parameter anymore
  [PropertyAccess] Fix accessing dynamic properties
2020-08-28 18:19:10 +02:00
Maxime Steinhausser
6423d8a827 [PropertyInfo] Fix ReflectionExtractor::getTypesFromConstructor 2020-08-28 18:07:48 +02:00
Grégoire Pineau
3c943b94ed [Semaphore] Fixed some bugs 2020-08-28 16:01:04 +02:00
Thomas Calvet
564dce39f8 [HttpClient][MockHttpClient][DX] Throw when the response factory callable does not return a valid response 2020-08-28 14:30:47 +02:00
Wouter de Jong
176aef63d9 Also mark the authenticator security system experimental in 5.2 2020-08-28 10:27:42 +02:00
Kévin Dunglas
1b19f255a3 [PropertyInfo] Backport support for typed properties (PHP 7.4) 2020-08-28 10:21:30 +02:00
Fabien Potencier
ba98fd74d6 feature #37432 [Mailer] Implement additional mailer transport options (fritzmg)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Mailer] Implement additional mailer transport options

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | Fix #37300
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/13911

This implements additional transport configuration options mentioned in #37300. It also adds a `command` option to be able to define the command used by the `sendmail` transport.

Examples:

```yml
framework:
  mailer:
    transports:
      sendmail: sendmail://default?command=/usr/sbin/sendmail%%20-oi%%20-t
      local_domain: smtps://smtp.example.com?local_domain=example.org
      restart_threshold: smtps://smtp.example.com?restart_threshold=10&restart_threshold_sleep=1
      ping_threshold: smtps://smtp.example.com?ping_threshold=200
```

Commits
-------

665d1cd3fa [Mailer] Implement additional mailer transport options
2020-08-27 16:56:03 +02:00
Fritz Michael Gschwantner
665d1cd3fa [Mailer] Implement additional mailer transport options 2020-08-27 16:55:56 +02:00
Fabien Potencier
df84e2263b minor #37965 Update Notifier bridge DSN in readme (jeremyFreeAgent)
This PR was merged into the 5.2-dev branch.

Discussion
----------

Update Notifier bridge DSN in readme

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

Add missing DSN documentation in README for 5.2

Commits
-------

eedd72cd98 Update Notifier bridge DSN in readme
2020-08-27 16:51:53 +02:00
Fabien Potencier
40022972f6 bug #37578 [HttpClient] fix pausing AmpResponse (kelunik)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[HttpClient] fix pausing AmpResponse

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

This fixes the pause handler while streaming bodies in `AmpHttpClient`.

Needs to be rebased onto the target branch and needs some test fixes. @nicolas-grekas FYI.

Commits
-------

bf2d1cf6e7 Improve pause handler
2020-08-27 16:48:24 +02:00
Jérémy Romey
eedd72cd98
Update Notifier bridge DSN in readme 2020-08-27 16:44:35 +02:00
Fabien Potencier
ce8b497824 feature #35780 [Semaphore] Added the component (lyrixx)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Semaphore] Added the component

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

---

[Semaphore] Added the component

Few years ago, we have introduced the Lock component. This is a very nice component, but sometime it is not enough. Sometime you need semaphore.

This is why I'm introducing this new component.

## What is a Semaphore ?

From wikipedia:

> In computer science, a semaphore is a variable or abstract data type used to control access to a common resource by multiple processes in a concurrent system such as a multitasking operating system. A semaphore is simply a variable. This variable is used to solve critical section problems and to achieve process synchronization in the multi processing environment. A trivial semaphore is a plain variable that is changed (for example, incremented or decremented, or toggled) depending on programmer-defined conditions.

This new component is more than a variable. This is an abstraction on top of different storage.

To make a quick comparison with a lock:

 * A lock allows only 1 process to access a resource;
 * A semaphore allow N process to access a resource.

Basically, a lock is a semaphore where `N = 1`.

### Possible confusion

PHP exposes some `sem_*` functions like [`sem_acquire`](http://php.net/sem_acquire). This module provides wrappers for the System V IPC family of functions. It includes semaphores, shared memory and inter-process messaging (IPC).

The Lock component has a storage that works with theses functions. It uses it with `N = 1`.

## What are the use-cases ?

Wikipedia has some [examples](https://en.wikipedia.org/wiki/Semaphore_(programming)#Examples)

But I can add one more commun use case.

If you are building an async system that process user data, you may want to priorise all jobs. You can achieve that by running at maximum N jobs per user at the same time. If the user has more resources, you give him more concurrent jobs (so a bigger `N`).

Thanks to semaphores, it's pretty easy to know if a new job can be run.

### Some concrete use-cases

I'm not saying the following services are using semaphore, but they may solve the previous problematic with semaphores. Here is some examples:

 * services like testing platform where a user can test N projects concurrently (travis, circle, appveyor, insight, ...)
 * services that ingest lots of data (newrelic, datadog, blackfire, segment.io, ...))
 * services that send email in batch (campaign monitor, mailchimp, ...)
 * etc...

## How to use it ?

To do so, since PHP is mono-threaded, you run M PHP workers. And in each worker, you look for for the next job. When you grab a job, you try to acquires a semaphore. If you got it, you process the job. If not you try another job.

FTR in other language, like Go, there are no need to run M workers, one is enough.

### With Symfony

```php
<?php

use Symfony\Component\Lock\LockFactory;
use Symfony\Component\Lock\Store\RedisStore as LockRedisStore;
use Symfony\Component\Semaphore\SemaphoreFactory;
use Symfony\Component\Semaphore\Store\RedisStore;

require __DIR__.'/vendor/autoload.php';

$redis = new Redis();
$redis->connect('172.17.0.2');

// Internally, Semaphore needs a lock
$lock = (new LockFactory(new LockRedisStore($redis)))->createLock('test:lock', 1);

// Create a semaphore:
// * name = test
// * limit = 3 (it means only 3 process are allowed)
// * ttl = 10 seconds : Maximum expected semaphore duration in seconds
$semaphore = (new SemaphoreFactory($lock, new RedisStore($redis)))->createSemaphore('test', 3, 10);

if (!$semaphore->acquire()) {
    echo "Could not acquire the semaphore\n";
    exit(1);
}

// The semaphore has been acquired

// Do the heavy job
for ($i = 0; $i < 100; ++$i) {
    sleep(1);
    // Before the expiration, refresh the semaphore if the job is not finished yet
    if ($i % 9 === 0) {
        $semaphore->refresh();
    }
}

// Release it when finished
$semaphore->release();
```

## Prior art

I looked at [packagist](https://packagist.org/?query=semaphore) and:

 * most of packages are using a semaphore storage for creating a lock. So there are not relevant here;
 * some packages need an async framework to be used (amphp for example);
 * the only packages really implementing a semaphore, has a really low code quality and some bugs.

## Current implementation

1. I initially copied the Lock component since the external API is quite similar;
1. I simplified it a lot for the current use case;
1. I implemented the RedisStorage according the [redis book](https://redislabs.com/ebook/part-2-core-concepts/chapter-6-application-components-in-redis/6-3-counting-semaphores/;)
1. I forced a TTL on the storage.

---

TODO:

 * [ ] documentation
 * [x] test
 * [x] ~~move the lock requirements to the redis storage only ?~~ Not needed anymore

Commits
-------

891285475e [Semaphore] Added the component
2020-08-27 16:33:10 +02:00
Wouter de Jong
907ef311bf Lazily load the user during the check passport event 2020-08-27 16:28:46 +02:00
Fabien Potencier
53a8f7d490 Fix tests 2020-08-27 16:13:35 +02:00
Fabien Potencier
d24f040389 feature #37934 [Mailer] Mailjet Add ability to pass custom headers to API (tcheymol)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Mailer] Mailjet Add ability to pass custom headers to API

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

Mailjet mailer now forwards headers from original email removes forbidden headers, and sends them to Maijlet Api

Additionally (see https://symfony.com/releases):
 - Always add tests and ensure they pass.
 - Never break backward compatibility (see https://symfony.com/bc).
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too.)
 - Features and deprecations must be submitted against branch master.
-->

Commits
-------

7b14ef3678 [Mailer] Mailjet Add ability to pass custom headers to API
2020-08-27 16:08:10 +02:00
Thibaut Cheymol
7b14ef3678 [Mailer] Mailjet Add ability to pass custom headers to API 2020-08-27 16:08:03 +02:00
Jérémy Romey
17c0784c44
Update Notifier bridge readme 2020-08-27 14:59:47 +02:00
Grégoire Pineau
891285475e [Semaphore] Added the component
Few years ago, we have introduced the Lock component. This is a very nice component, but sometime it is not enough. Sometime you need semaphore.

This is why I'm introducing this new component.

From wikipedia:

> In computer science, a semaphore is a variable or abstract data type used to control access to a common resource by multiple processes in a concurrent system such as a multitasking operating system. A semaphore is simply a variable. This variable is used to solve critical section problems and to achieve process synchronization in the multi processing environment. A trivial semaphore is a plain variable that is changed (for example, incremented or decremented, or toggled) depending on programmer-defined conditions.

This new component is more than a variable. This is an abstraction on top of different storage.

To make a quick comparison with a lock:

 * A lock allows only 1 process to access a resource;
 * A semaphore allow N process to access a resource.

Basically, a lock is a semaphore where `N = 1`.

PHP exposes some `sem_*` functions like [`sem_acquire`](http://php.net/sem_acquire). This module provides wrappers for the System V IPC family of functions. It includes semaphores, shared memory and inter-process messaging (IPC).

The Lock component has a storage that works with theses functions. It uses it with `N = 1`.

Wikipedia has some [examples](https://en.wikipedia.org/wiki/Semaphore_(programming)#Examples)

But I can add one more commun use case.

If you are building an async system that process user data, you may want to priorise all jobs. You can achieve that by running at maximum N jobs per user at the same time. If the user has more resources, you give him more concurrent jobs (so a bigger `N`).

Thanks to semaphores, it's pretty easy to know if a new job can be run.

I'm not saying the following services are using semaphore, but they may solve the previous problematic with semaphores. Here is some examples:

 * services like testing platform where a user can test N projects concurrently (travis, circle, appveyor, insight, ...)
 * services that ingest lots of data (newrelic, datadog, blackfire, segment.io, ...))
 * services that send email in batch (campaign monitor, mailchimp, ...)
 * etc...

To do so, since PHP is mono-threaded, you run M PHP workers. And in each worker, you look for for the next job. When you grab a job, you try to acquires a semaphore. If you got it, you process the job. If not you try another job.

FTR in other language, like Go, there are no need to run M workers, one is enough.

```php
<?php

use Symfony\Component\Lock\LockFactory;
use Symfony\Component\Lock\Store\RedisStore as LockRedisStore;
use Symfony\Component\Semaphore\SemaphoreFactory;
use Symfony\Component\Semaphore\Store\RedisStore;

require __DIR__.'/vendor/autoload.php';

$redis = new Redis();
$redis->connect('172.17.0.2');

// Internally, Semaphore needs a lock
$lock = (new LockFactory(new LockRedisStore($redis)))->createLock('test:lock', 1);

// Create a semaphore:
// * name = test
// * limit = 3 (it means only 3 process are allowed)
// * ttl = 10 seconds : Maximum expected semaphore duration in seconds
$semaphore = (new SemaphoreFactory($lock, new RedisStore($redis)))->createSemaphore('test', 3, 10);

if (!$semaphore->acquire()) {
    echo "Could not acquire the semaphore\n";
    exit(1);
}

// The semaphore has been acquired

// Do the heavy job
for ($i = 0; $i < 100; ++$i) {
    sleep(1);
    // Before the expiration, refresh the semaphore if the job is not finished yet
    if ($i % 9 === 0) {
        $semaphore->refresh();
    }
}

// Release it when finished
$semaphore->release();
```

I looked at [packagist](https://packagist.org/?query=semaphore) and:

 * most of packages are using a semaphore storage for creating a lock. So there are not relevant here;
 * some packages need an async framework to be used (amphp for example);
 * the only packages really implementing a semaphore, has a really low code quality and some bugs.

1. I initially copied the Lock component since the external API is quite similar;
1. I simplified it a lot for the current use case;
1. I implemented the RedisStorage according the [redis book](https://redislabs.com/ebook/part-2-core-concepts/chapter-6-application-components-in-redis/6-3-counting-semaphores/;)
1. I forced a TTL on the storage.
2020-08-27 14:35:29 +02:00
Fabien Potencier
6d521d4072 feature #37942 [Security] Renamed provider key to firewall name (wouterj)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Security] Renamed provider key to firewall name

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

This fixes the `$providerKey` argument names on the classes that will remain in use, even when the new Security system will take over. @fabpot do you think these changes are worth it?

Officially, all token classes are not marked as `@final`. Do I need to take into account when someone is overriding the `getProviderKey()` method? Also, I couldn't find a way to trigger a deprecation notice for deprecated properties, is this a problem?

Commits
-------

91b276326d Renamed $providerKey to $firewallName
2020-08-26 17:45:58 +02:00
Wouter de Jong
91b276326d Renamed $providerKey to $firewallName 2020-08-26 17:34:05 +02:00
Andrii Serdiuk
47bd0180d1 [PropertyAccess] Fix accessing dynamic properties 2020-08-26 15:25:42 +02:00
Fabien Potencier
c642b8fb71 Merge branch '5.1'
* 5.1:
  [HttpClient] fix chaining promises returned by HttplugClient
  [DI] fix dumping lazy non-shared services
2020-08-26 13:35:34 +02:00
Fabien Potencier
fc3095ff2f bug #37927 [HttpClient] fix chaining promises returned by HttplugClient (CthulhuDen)
This PR was merged into the 5.1 branch.

Discussion
----------

[HttpClient] fix chaining promises returned by HttplugClient

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37925
| License       | MIT

Guzzle runtime does not play too well with foreign promises, which can be fixed by wrapping them with `promise_for`.
Added failing test case from #37925 and suggested fix.
Should not break BC because `then` callback results get resolved before being passed to next `then` callback or returned from `wait`.

Commits
-------

75043a1fb0 [HttpClient] fix chaining promises returned by HttplugClient
2020-08-26 13:34:52 +02:00
cthulhu
75043a1fb0 [HttpClient] fix chaining promises returned by HttplugClient 2020-08-26 12:50:35 +02:00
Niklas Keller
bf2d1cf6e7 Improve pause handler 2020-08-26 12:30:57 +02:00
Fabien Potencier
885390fbaf bug #37953 [DI] fix dumping lazy non-shared services (nicolas-grekas)
This PR was merged into the 5.1 branch.

Discussion
----------

[DI] fix dumping lazy non-shared services

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

Commits
-------

a4f4ca74a7 [DI] fix dumping lazy non-shared services
2020-08-26 11:10:33 +02:00
Nicolas Grekas
a4f4ca74a7 [DI] fix dumping lazy non-shared services 2020-08-26 10:54:37 +02:00
Fabien Potencier
27bb2828e3 Merge branch '5.1'
* 5.1:
  Backport: Improve link script with rollback when using symlink
  fix more numeric cases changing in PHP 8
  Fixed autoLogin() returning null
  [Notifier] add doc for free mobile dsn
2020-08-26 10:31:06 +02:00
Fabien Potencier
216f2fa94e Merge branch '4.4' into 5.1
* 4.4:
  Backport: Improve link script with rollback when using symlink
  fix more numeric cases changing in PHP 8
2020-08-26 10:30:57 +02:00
Fabien Potencier
6d850e04be Merge branch '3.4' into 4.4
* 3.4:
  Backport: Improve link script with rollback when using symlink
  fix more numeric cases changing in PHP 8
2020-08-26 10:30:46 +02:00
karser
5049e25b01 Added ConstructorExtractor which has higher priority than PhpDocExtractor and ReflectionExtractor 2020-08-26 09:35:07 +02:00
Fabien Potencier
12330e8ee6 feature #37926 [lock] Lazy create table in lock PDO store (jderusse)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[lock] Lazy create table in lock PDO store

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

With this PR, the table used by PdoStore is automatically created (similar to Cache and Messenger componenents)

Commits
-------

eaa52bae96 Lazy create table in lock PDO store
2020-08-26 09:17:10 +02:00
Christian Flothmann
7cd5106041 fix more numeric cases changing in PHP 8 2020-08-26 08:32:27 +02:00
Olivier Dolbeau
34fc8c3fc2 [Notifier] Add Esendex bridge 2020-08-25 21:06:21 +02:00
Wouter de Jong
93aea910d9 Fixed autoLogin() returning null 2020-08-25 17:26:05 +02:00
Niels Robin-Aubertin
54e24a8999 [Serializer] Add special '*' serialization group that allows any group 2020-08-25 08:52:02 +02:00
Jérémy Derussé
eaa52bae96
Lazy create table in lock PDO store 2020-08-24 00:21:27 +02:00
YaFou
dcb8d8b05d
[Serializer] Adds FormErrorNormalizer 2020-08-23 18:18:18 +02:00
Fabien Potencier
32ca714e93 minor #37922 [Notifier] backport documentation changes (noniagriconomie)
This PR was merged into the 5.1 branch.

Discussion
----------

[Notifier] backport documentation changes

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

I think #37809 should have been merged into the `5.1` branch.

Commits
-------

ff768fbdd9 [Notifier] add doc for free mobile dsn
2020-08-23 11:47:18 +02:00
Fabien Potencier
7b0d5e3e82 Merge branch '5.1'
* 5.1:
  account for is_numeric() behavior changes in PHP 8
  fix expected exception messages on PHP 8
2020-08-23 11:22:43 +02:00
Fabien Potencier
d24a181e55 Merge branch '4.4' into 5.1
* 4.4:
  account for is_numeric() behavior changes in PHP 8
  fix expected exception messages on PHP 8
2020-08-23 11:22:34 +02:00
Fabien Potencier
77418e712e Merge branch '3.4' into 4.4
* 3.4:
  account for is_numeric() behavior changes in PHP 8
  fix expected exception messages on PHP 8
2020-08-23 11:22:13 +02:00
Fabien Potencier
e0ed56b5f0 Merge branch '5.1'
* 5.1:
  Fix constraint
  [Mailer] Support Return-Path in SesApiAsyncAwsTransport
2020-08-23 11:13:44 +02:00
Fabien Potencier
7b865eaeba Fix constraint 2020-08-23 11:12:48 +02:00
noniagriconomie
ff768fbdd9 [Notifier] add doc for free mobile dsn 2020-08-23 11:06:47 +02:00
Fabien Potencier
12f8631cfa feature #37087 [Messenger] Add FlattenException Normalizer (monteiro)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Messenger] Add FlattenException Normalizer

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #32719  ... <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | No docs ... <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/releases):
 - Always add tests and ensure they pass.
 - Never break backward compatibility (see https://symfony.com/bc).
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too.)
 - Features and deprecations must be submitted against branch master.
-->

I have just duplicated the PR https://github.com/symfony/symfony/pull/33650 (from @skalpa) but using the new component ErrorHandler and removing the priority.

Project that reproduces the bug on Symfony 5.2: https://github.com/monteiro/serializer-pr37087 (all steps are on the README).

Since this adds a new class and changes behavior, we add this new feature on the 5.2 branch.

Commits
-------

78fbd0ac77 [Messenger] Add FlattenException Normalizer
2020-08-23 10:56:12 +02:00
Hugo Monteiro
78fbd0ac77 [Messenger] Add FlattenException Normalizer 2020-08-23 10:56:06 +02:00
Fabien Potencier
a8abd81840 feature #37917 [Security] Pass Passport to LoginFailureEvent (ihmels)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Security] Pass Passport to LoginFailureEvent

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

This changes passes a `Passport` to the `LoginFailureEvent`.

Commits
-------

d23434bc23 [Security] Pass Passport to LoginFailureEvent
2020-08-23 09:59:17 +02:00
Christian Flothmann
05db8e0fef account for is_numeric() behavior changes in PHP 8 2020-08-23 09:58:10 +02:00
Yannick Ihmels
d23434bc23 [Security] Pass Passport to LoginFailureEvent 2020-08-22 19:11:43 +02:00
Clara van Miert
61754cb891
[Mailer] Support Return-Path in SesApiAsyncAwsTransport
Enable sending `SendEmailRequest`s with a `Return-Path` configured in
`SesApiAsyncAwsTransport`.
2020-08-22 13:41:45 +02:00
Fabien Potencier
24af7dfb08 Fix CHANGELOG 2020-08-22 08:38:27 +02:00
Fabien Potencier
c281867227 feature #37734 [HttpFoundation] add support for X_FORWARDED_PREFIX header (jeff1985)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[HttpFoundation] add support for X_FORWARDED_PREFIX header

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | Fix #36809
| License       | MIT

Add support for `X-Forwarded-Prefix` header added by the popular Traefik HTTP LoadBalancer and Reverse Proxy. This ensures that the links rendered by symfony application deployed behind LB are valid even if the application is deployed via prefix URL.

Example routing setup:
route `/admin/(.*)` => symfony backend `/$1`
in this case links rendered by symfony backend must start with `/admin/`

To accept traefik prefix in your symfony app, you must modify index.php to allow accepting this header:

    Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_TRAEFIK ^ Request::HEADER_X_FORWARDED_HOST );`

Commits
-------

109e0a9f1a [HttpFoundation] add support for X_FORWARDED_PREFIX header
2020-08-22 08:37:35 +02:00
Evgeny Anisiforov
109e0a9f1a [HttpFoundation] add support for X_FORWARDED_PREFIX header 2020-08-22 08:37:28 +02:00
Fabien Potencier
f1d1514793 feature #37897 [Mailer] Support Amazon SES ConfigurationSetName (cvmiert)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Mailer] Support Amazon SES ConfigurationSetName

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

In Amazon SES a Configuration Set can be used to monitor email sending
events (delivery, bounces, complaints etc.). In order to use this
feature the ConfigurationSetName needs to be sent along with the email.

Setting the `X-SES-CONFIGURATION-SET` header should accomplish this for
all SES Transports now.

Ref: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/using-configuration-sets-in-email.html

Commits
-------

a36fec3204 [Mailer] Support Amazon SES ConfigurationSetName
2020-08-22 08:28:39 +02:00
Fabien Potencier
86310deed2 minor #37911 [Cache] fix expected exception message on PHP 8 (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] fix expected exception message on PHP 8

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

Commits
-------

2c9af570a2 fix expected exception messages on PHP 8
2020-08-22 08:24:01 +02:00
Fabien Potencier
374a0b2eb5 Merge branch '5.1'
* 5.1:
  fix passing arguments to call_user_func_array() on PHP 8
  allow Doctrine DBAL 3
  [Filesystem] fix test on PHP 8
2020-08-21 19:20:41 +02:00
Fabien Potencier
0611b6331c Merge branch '4.4' into 5.1
* 4.4:
  fix passing arguments to call_user_func_array() on PHP 8
  allow Doctrine DBAL 3
  [Filesystem] fix test on PHP 8
2020-08-21 19:19:47 +02:00
Fabien Potencier
4da3ece1b5 Merge branch '3.4' into 4.4
* 3.4:
  fix passing arguments to call_user_func_array() on PHP 8
  [Filesystem] fix test on PHP 8
2020-08-21 19:19:37 +02:00
Christian Flothmann
2c9af570a2 fix expected exception messages on PHP 8 2020-08-21 16:26:21 +02:00
Christian Flothmann
a55ce7c8bb fix passing arguments to call_user_func_array() on PHP 8 2020-08-21 16:15:51 +02:00
Clara van Miert
a36fec3204
[Mailer] Support Amazon SES ConfigurationSetName
In Amazon SES a Configuration Set can be used to monitor email sending
events (delivery, bounces, complaints etc.). In order to use this
feature the ConfigurationSetName needs to be sent along with the email.

Setting the `X-SES-CONFIGURATION-SET` header should accomplish this for
all SES Transports now.

Ref: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/using-configuration-sets-in-email.html
2020-08-21 15:49:13 +02:00
Christian Flothmann
c08178978a [Filesystem] fix test on PHP 8 2020-08-21 14:53:49 +02:00
Christian Flothmann
1f77f32d78 Merge branch '5.1'
* 5.1:
  fix merge
  stop using the deprecated schema synchronizer API
2020-08-21 14:11:42 +02:00
Christian Flothmann
60ce71e593 fix merge 2020-08-21 14:10:32 +02:00
Christian Flothmann
ffd707cf9d Merge branch '4.4' into 5.1
* 4.4:
  stop using the deprecated schema synchronizer API
2020-08-21 13:51:31 +02:00
Fabien Potencier
8f64d70c10 bug #37907 [Messenger] stop using the deprecated schema synchronizer API (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] stop using the deprecated schema synchronizer API

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

see the failing tests and doctrine/dbal#4213

Commits
-------

40129d6239 stop using the deprecated schema synchronizer API
2020-08-21 12:14:49 +02:00
Christian Flothmann
40129d6239 stop using the deprecated schema synchronizer API 2020-08-21 11:51:29 +02:00
Fabien Potencier
2ac2aaab23 Merge branch '5.1'
* 5.1:
  Fix CS
  [Mailer] Fixed mandrill api header structure
  [Mailer] Support reply-to in SesApiAsyncAwsTransport
  [HttpClient][ResponseTrait] Fix typo
  Fix CS
  [Notifier] Fixed base_uri while call auth/time API
  [Mailer] Reorder headers used to determine Sender
  [Validator] Add Lithuanian translation for ISIN constraint
2020-08-21 11:48:30 +02:00
Fabien Potencier
eec66a26de Merge branch '4.4' into 5.1
* 4.4:
  [Mailer] Fixed mandrill api header structure
  [HttpClient][ResponseTrait] Fix typo
  [Mailer] Reorder headers used to determine Sender
  [Validator] Add Lithuanian translation for ISIN constraint
2020-08-21 11:48:22 +02:00
Fabien Potencier
9ab652d60c Merge branch '3.4' into 4.4
* 3.4:
  [Validator] Add Lithuanian translation for ISIN constraint
2020-08-21 11:47:32 +02:00
Fabien Potencier
c3ce47e669 Fixed CS 2020-08-21 08:52:49 +02:00
Fabien Potencier
e98fdc7073 feature #36515 [HttpKernel] Add $kernel->getBuildDir() to separate it from the cache directory (mnapoli)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[HttpKernel] Add `$kernel->getBuildDir()` to separate it from the cache directory

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no
| Tickets       | Fix #23354
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/releases):
 - Always add tests and ensure they pass.
 - Never break backward compatibility (see https://symfony.com/bc).
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too.)
 - Features and deprecations must be submitted against branch master.
-->

In order to support deploying on read-only filesystems (e.g. AWS Lambda in my case), I have started implementing #23354.

This introduces `$kernel->getBuildDir()`:

- `$kernel->getBuildDir()`: for cache that can be warmed and deployed as read-only (compiled container, annotations, etc.)
- `$kernel->getCacheDir()`: for cache that can be written at runtime (e.g. cache pools, session, profiler, etc.)

I have probably missed some places or some behavior of Symfony that I don't know. Don't consider this PR perfect, but rather I want to help move things forward :)

TODO:

- [ ] Changelog
- [ ] Upgrade guide
- [ ] Documentation

Commits
-------

ec945f10d8 [HttpKernel] Add `$kernel->getBuildDir()` to separate it from the cache directory
2020-08-21 08:43:41 +02:00
Matthieu Napoli
ec945f10d8 [HttpKernel] Add $kernel->getBuildDir() to separate it from the cache directory 2020-08-21 08:43:34 +02:00
Fabien Potencier
91dc9c7083 Fix CS 2020-08-21 08:40:21 +02:00
wulff
aeb4c5e6c7 [Mailer] Fixed mandrill api header structure 2020-08-21 08:31:47 +02:00
Clara van Miert
163e961b44
[Mailer] Support reply-to in SesApiAsyncAwsTransport
Enable sending `SendEmailRequest`s with reply-to addresses with
`SesApiAsyncAwsTransport`.
2020-08-20 19:12:17 +02:00
Thomas Calvet
cbd8ca0625 [HttpClient][ResponseTrait] Fix typo 2020-08-20 14:25:15 +02:00
Thibaut Cheymol
e038605dca [Mailer] Mailjet - properly format Cc and Bcc for API 2020-08-20 09:40:34 +02:00
Fabien Potencier
5a9180370e Fix CS 2020-08-20 07:29:43 +02:00
Simon Leblanc
2f91485c40 [Notifier] Fixed base_uri while call auth/time API 2020-08-20 07:28:49 +02:00
Fabien Potencier
d6980e5f38 feature #32133 [PropertyAccess] Allow to disable magic __get & __set (ogizanagi)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[PropertyAccess] Allow to disable magic __get & __set

| Q             | A
| ------------- | ---
| Branch?       | master <!-- see below -->
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | yes <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes   <!-- please add some, will be required by reviewers -->
| Fixed tickets | N/A   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | TODO

Working with some legacy code having annoying `__get` & `__set` methods, this would have been useful the same way `__call` can be enabled/disabled.

Commits
-------

11b7bf316e [PropertyAccess] Allow to disable magic __get & __set
2020-08-19 19:12:12 +02:00
Clara van Miert
7e60a8f8c9
[Mailer] Reorder headers used to determine Sender
Use the `Return-Path` header as the last candidate to determine the
Envelope's sender address.

The `Return-Path` is usually configured _in addition_ to the `Sender`
and/or `From` header: it allows for email bounces and complaints to be
sent to a dedicated email address. It should therefore not be used as
the first candidate header to determine the sender.
2020-08-19 19:05:08 +02:00
Maxime Steinhausser
6288449f61 [Validator] Remove duplicated require 2020-08-19 15:55:42 +02:00
Maxime Steinhausser
11b7bf316e [PropertyAccess] Allow to disable magic __get & __set 2020-08-19 15:25:50 +02:00
Maxime Steinhausser
e04386c187 [Security] Fix tests 2020-08-19 14:13:04 +02:00
Fabien Potencier
e1917509e4 Merge branch '5.1'
* 5.1:
  [Lock] MongoDbStore handle duplicate querystring keys in mongodb uri when stripping
  [PropertyInfo] Fix ReflectionExtractor + minor tweaks
2020-08-19 13:09:46 +02:00
Fabien Potencier
679cc4dff1 bug #37857 [PropertyInfo] Fix ReflectionExtractor + minor tweaks (ogizanagi)
This PR was merged into the 5.1 branch.

Discussion
----------

[PropertyInfo] Fix ReflectionExtractor + minor tweaks

| Q             | A
| ------------- | ---
| Branch?       | 5.1 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix N/A <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License       | MIT
| Doc PR        | N/A

Spotted while rebasing #32133

Commits
-------

7ccb5a1cf2 [PropertyInfo] Fix ReflectionExtractor + minor tweaks
2020-08-19 13:09:12 +02:00
Fabien Potencier
c426abed85 bug #37868 [Lock] MongoDbStore handle duplicate querystring keys in mongodb uri when stripping (kralos)
This PR was squashed before being merged into the 5.1 branch.

Discussion
----------

[Lock] MongoDbStore handle duplicate querystring keys in mongodb uri when stripping

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

Allow duplicate querystring keys when stripping `collection`. `readPreferenceTags` is currently allowed to be specified twice so re-assembling the querystring with `http_build_query` will also strip duplicated `readPreferenceTags`. Use `preg_match` instead.

Commits
-------

c1ea9ae476 [Lock] MongoDbStore handle duplicate querystring keys in mongodb uri when stripping
2020-08-19 12:50:41 +02:00
Joe Bennett
c1ea9ae476 [Lock] MongoDbStore handle duplicate querystring keys in mongodb uri when stripping 2020-08-19 12:50:35 +02:00
Tomas
d652041647 [Validator] Add Lithuanian translation for ISIN constraint 2020-08-19 07:26:06 +03:00
Fabien Potencier
27d84dbe57 feature #36016 [Translation] Add a pseudo localization translator (fancyweb)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Translation] Add a pseudo localization translator

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | https://github.com/symfony/symfony/issues/35666
| License       | MIT
| Doc PR        | TODO

This PR introduces a new translator to be able to test apps with pseudo localization (check the related issue).

The `PseudoLocalizationTranslator` decorates another translator and then alter the translated string. There are 5 options:

- accents:
     - type: boolean
     - default: true
     - description: replace ASCII characters of the translated string with accented versions or similar characters
     - example: if true, `foo` => `ƒöö`

- expansion_factor:
     - type: float
     - default: 1
     - validation: it must be greater than or equal to 1
     - description: expand the translated string by the given factor with spaces and tildes
     example: if 2, `foo` => `~foo ~`

- brackets:
     - type: boolean
     - default: true
     - description: wrap the translated string with brackets
     - example: if true, `foo` => `[foo]`

- parse_html:
     - type: boolean
     - default: false
     - description: parse the translated string as HTML - looking for HTML tags has a performance impact but allows to preserve them from alterations - it also allows to compute the visible translated string length which is useful to correctly expand ot when it contains HTML
     - warning: unclosed tags are unsupported, they will be fixed (closed) by the parser - eg, `foo <div>bar` => `foo <div>bar</div>`

- localizable_html_attributes:
     - type: string[]
     - default: []
     - description: the list of HTML attributes whose values can be altered - it is only useful when the "parse_html" option is set to true
     - example: if ["title"], and with the "accents" option set to true, `<a href="#" title="Go to your profile">Profile</a>` => `<a href="#" title="Ĝö ţö ýöûŕ þŕöƒîļé">Þŕöƒîļé</a>` - if "title" was not in the "localizable_html_attributes" list, the title attribute data would be left unchanged.

Here is a screenshot on a Symfony demo page:
<img width="1374" alt="Screenshot 2020-03-26 at 14 31 20" src="https://user-images.githubusercontent.com/3658119/77652489-9380d100-6f6e-11ea-9bca-142faeee750b.png">

TODO:
- [x] Update FWB XSD

Commits
-------

4d6a41a415 [Translation] Add a pseudo localization translator
2020-08-18 16:11:58 +02:00
Fabien Potencier
6539a0fc2f feature #37755 Fix #37740: Cast all Request parameter values to string (rgeraads)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

Fix #37740: Cast all Request parameter values to string

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37740| License       | MIT

This fix ensures that all parameter values in Browserkit\Request are received as strings on the receiving end.

Commits
-------

d4e2cec1fb Fix #37740: Cast all Request parameter values to string
2020-08-18 16:07:52 +02:00
Randy Geraads
d4e2cec1fb Fix #37740: Cast all Request parameter values to string 2020-08-18 16:07:45 +02:00
Christian Flothmann
e36e73b9cf stop using the deprecated at() PHPUnit matcher 2020-08-18 13:55:56 +02:00
Fabien Potencier
da9672dccd minor #37878 🐛 [Mailer] Fix mailjet scheme bug (tcheymol)
This PR was merged into the 5.2-dev branch.

Discussion
----------

🐛 [Mailer] Fix mailjet scheme bug

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

Fix a typo introduced in mailjet-mailer accepted schemes that causes the scheme mailjet+api to not be recognized

Commits
-------

6f357a67cc 🐛 [Mailer] Fix mailjet scheme bug
2020-08-18 13:43:15 +02:00
Fabien Potencier
fbcdbf99a4 Merge branch '5.1'
* 5.1:
  fix: clarify parameter name to comply with deprecations from #34074
  [Sendgrid-Mailer] Fixed envelope recipients on sendgridApiTransport
  mark the AssertingContextualValidator class as internal
  Fix the parameter names in the SecurityFactoryInterface::create() method
  [Serializer][ClassDiscriminatorMapping] Fix getMappedObjectType() when a discriminator child extends another one
  make return type correct
2020-08-18 13:41:45 +02:00
Fabien Potencier
44caccbac8 Merge branch '4.4' into 5.1
* 4.4:
  [Sendgrid-Mailer] Fixed envelope recipients on sendgridApiTransport
  mark the AssertingContextualValidator class as internal
  Fix the parameter names in the SecurityFactoryInterface::create() method
  [Serializer][ClassDiscriminatorMapping] Fix getMappedObjectType() when a discriminator child extends another one
  make return type correct
2020-08-18 13:41:36 +02:00
Fabien Potencier
88bf7211a9 Merge branch '3.4' into 4.4
* 3.4:
  mark the AssertingContextualValidator class as internal
  make return type correct
2020-08-18 13:39:55 +02:00
Thibaut Cheymol
6f357a67cc 🐛 [Mailer] Fix mailjet scheme bug 2020-08-18 13:38:58 +02:00
Dennis Langen
91249ed0bf fix: clarify parameter name to comply with deprecations from #34074 2020-08-18 13:34:54 +02:00
Fabien Potencier
fcc75d9563 minor #37760 make return type correct (vladyslavstartsev)
This PR was merged into the 3.4 branch.

Discussion
----------

make return type correct

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

Since the real return type is `\ArrayIterator` AND array of `FormView` I've decided to change it. Also the other reason is that phpstan iks kind of failing because of this and I need to `assert` things in children of this class.

Commits
-------

32b5b9e1d7 make return type correct
2020-08-18 13:29:18 +02:00
Fabien Potencier
a2d360b869 Fix a test 2020-08-18 13:22:10 +02:00
Arend-Jan Tetteroo
c4e5131757 [Sendgrid-Mailer] Fixed envelope recipients on sendgridApiTransport
Fixes #37870

The SendgridApiTransport was not using the envelope to get the
recipients, so overriding the recipients with the EnvelopeListener was
not working.
2020-08-18 12:11:56 +02:00
Fabien Potencier
c23166c8d8 Merge branch '5.1'
* 5.1:
  [Validator] fix tests
2020-08-18 12:04:11 +02:00
Fabien Potencier
56bf1bca49 minor #37838 [Validator] fix tests (xabbuh)
This PR was merged into the 5.1 branch.

Discussion
----------

[Validator] fix tests

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

Commits
-------

162771f7e3 [Validator] fix tests
2020-08-18 12:01:51 +02:00
Fabien Potencier
c8566e05b9 Fix composer name 2020-08-18 11:46:33 +02:00