Commit Graph

31363 Commits

Author SHA1 Message Date
Christian Flothmann
c82c997a27 Merge branch '5.2' into 5.x
* 5.2:
  prevent hash collisions caused by reused object hashes
  autoconfigure behavior describing tags on decorators
  [Validator][RecursiveContextualValidator] Prevent validated hash collisions
2020-11-13 10:45:18 +01:00
Christian Flothmann
cc130e1d9c Merge branch '5.1' into 5.2
* 5.1:
  prevent hash collisions caused by reused object hashes
  autoconfigure behavior describing tags on decorators
  [Validator][RecursiveContextualValidator] Prevent validated hash collisions
2020-11-13 10:44:33 +01:00
Christian Flothmann
355f18d34d Merge branch '4.4' into 5.1
* 4.4:
  prevent hash collisions caused by reused object hashes
  autoconfigure behavior describing tags on decorators
  [Validator][RecursiveContextualValidator] Prevent validated hash collisions
2020-11-13 10:37:26 +01:00
Christian Flothmann
c72f85333a bug #38387 [Validator] prevent hash collisions caused by reused object hashes (fancyweb, xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Validator] prevent hash collisions caused by reused object hashes

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

Commits
-------

8dd1a6e545 prevent hash collisions caused by reused object hashes
9645fa39ec [Validator][RecursiveContextualValidator] Prevent validated hash collisions
2020-11-13 10:30:24 +01:00
Christian Flothmann
3834d76e11 bug #38999 [DependencyInjection] autoconfigure behavior describing tags on decorators (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] autoconfigure behavior describing tags on decorators

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

Commits
-------

73a3b838b7 autoconfigure behavior describing tags on decorators
2020-11-13 10:27:22 +01:00
Christian Flothmann
8dd1a6e545 prevent hash collisions caused by reused object hashes 2020-11-13 10:14:12 +01:00
Christian Flothmann
73a3b838b7 autoconfigure behavior describing tags on decorators 2020-11-13 10:09:04 +01:00
Alexander M. Turek
430b916984 Merge branch '5.2' into 5.x
* 5.2:
  Add tests on CacheDataCollector
  [ProxyManagerBridge] fix tests
  [ProxyManagerBridge] relax fixture in tests
  Fix circular detection with multiple paths
2020-11-12 23:42:23 +01:00
Alexander M. Turek
873b0b4f53 Merge branch '5.1' into 5.2
* 5.1:
  Add tests on CacheDataCollector
  [ProxyManagerBridge] fix tests
  [ProxyManagerBridge] relax fixture in tests
  Fix circular detection with multiple paths
2020-11-12 23:35:35 +01:00
Alexander M. Turek
b8afc7cba3 Merge branch '4.4' into 5.1
* 4.4:
  Add tests on CacheDataCollector
  [ProxyManagerBridge] fix tests
  [ProxyManagerBridge] relax fixture in tests
  Fix circular detection with multiple paths
2020-11-12 23:25:33 +01:00
Alexander M. Turek
038497cb80 minor #38898 [Cache] Add tests on CacheDataCollector (ScullWM)
This PR was merged into the 4.4 branch.

Discussion
----------

[Cache] Add tests on CacheDataCollector

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| License       | MIT
<!--
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 5.x.
-->

The `calculateStatistics()` method of `Symfony\Component\Cache\DataCollector\CacheDataCollector` contain a lot of logic and manipulate multi-dimensional array that could be refactor with VO.

But before doing this, I would add test on this part.

Commits
-------

7b4310f045 Add tests on CacheDataCollector
2020-11-12 17:05:23 +01:00
Thomas P
7b4310f045 Add tests on CacheDataCollector 2020-11-12 16:25:20 +01:00
Alexander M. Turek
faead9574a bug #39058 [DependencyInjection] Fix circular detection with multiple paths (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] Fix circular detection with multiple paths

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

There are currently 2 kind of issues related to the Dependency Injection:

1. performance issue when project contains many loops (#37850)
Which has been fixed by #38882

2. Infinity loop in some case (#38970)
Which has been fixed by #38980 and #39021

The new issue #39056 has been introduced by #38882 (The performance issue refactor) because in order to optimize loop detection, I take a short cut and choose to not collect ALL the circular loop but only the one that matters

I was wrong. All loops matters.

This PR fix my previous refacto to collect ALL the paths, with a low CPU footprint

Commits
-------

1c3721e8ad Fix circular detection with multiple paths
2020-11-12 11:26:24 +01:00
Jérémy Derussé
9e5fefa9fa
Merge branch '5.2' into 5.x
* 5.2:
  [Filesystem] fix cleaning up tmp files when dumpFile() fails
  [MimeType] Add missing alias for @mime_type
2020-11-12 11:06:05 +01:00
Jérémy Derussé
fcc832b720
Merge branch '5.1' into 5.2
* 5.1:
  [Filesystem] fix cleaning up tmp files when dumpFile() fails
  [MimeType] Add missing alias for @mime_type
2020-11-12 11:05:01 +01:00
Jérémy Derussé
9bff2e7aed
Merge branch '4.4' into 5.1
* 4.4:
  [Filesystem] fix cleaning up tmp files when dumpFile() fails
  [MimeType] Add missing alias for @mime_type
2020-11-12 10:58:18 +01:00
Thomas Calvet
9645fa39ec [Validator][RecursiveContextualValidator] Prevent validated hash collisions 2020-11-12 09:33:23 +01:00
Nicolas Grekas
33fce73bdf [Filesystem] fix cleaning up tmp files when dumpFile() fails 2020-11-11 23:20:15 +01:00
Jérémy Derussé
1c3721e8ad
Fix circular detection with multiple paths 2020-11-11 19:26:13 +01:00
Robin Chalas
16fb94b5fe feature #38596 [BrowserKit] Add jsonRequest function to the browser-kit client (alexander-schranz)
This PR was squashed before being merged into the 5.3-dev branch.

Discussion
----------

[BrowserKit] Add jsonRequest function to the browser-kit client

| Q             | A
| ------------- | ---
| Branch?       | 5.x
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | Fix -
| License       | MIT
| Doc PR        | symfony/symfony-docs#...

If you use the FOSRestBundle for your Api's you have maybe many tests using just:

```php
$client->request('POST', '/api/contacts', ['param' => 1]);
```

To test your JSON api as in the real browser request FOSRestBundle converts the json body into the `$request->request` object. I think something similar is done by ApiPlatform. If you have tests like above they will now fail as the integer is converted to string see also #38591.

This PR add a new `jsonRequest` which will look like the following and will so fix the above problem:

```php
$client->jsonRequest('POST', '/api/contacts', ['param' => 1]);
```

Commits
-------

c2fa2cb376 [BrowserKit] Add jsonRequest function to the browser-kit client
2020-11-11 14:22:52 +01:00
Alexander Schranz
c2fa2cb376 [BrowserKit] Add jsonRequest function to the browser-kit client 2020-11-11 14:22:45 +01:00
Robin Chalas
1d945b9453 feature #38998 [Messenger][SQS] Make sure one can enable debug logs (Nyholm)
This PR was squashed before being merged into the 5.3-dev branch.

Discussion
----------

[Messenger][SQS] Make sure one can enable debug logs

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

If you add `&debug=true` on your DSN, then we will use `LoggerInterface::debug()` to print HTTP requests and responses.
This has a negative impact on performance, but it will be helpful when debugging.

Commits
-------

66edc59b56 [Messenger][SQS] Make sure one can enable debug logs
2020-11-11 14:17:07 +01:00
Nyholm
66edc59b56 [Messenger][SQS] Make sure one can enable debug logs 2020-11-11 14:16:39 +01:00
Nicolas Grekas
7e3855dbc3 feature #38974 [Intl] deprecate polyfills in favor of symfony/polyfill-intl-icu (nicolas-grekas)
This PR was merged into the 5.x branch.

Discussion
----------

[Intl] deprecate polyfills in favor of symfony/polyfill-intl-icu

| Q             | A
| ------------- | ---
| Branch?       | 5.x
| Bug fix?      | no
| New feature?  | no
| Deprecations? | yes
| Tickets       | Fix #37758
| License       | MIT
| Doc PR        | -

Follows symfony/polyfill#310
/cc @stof

Commits
-------

6ad0169c4f [Intl] deprecate polyfills in favor of symfony/polyfill-intl-icu
2020-11-11 12:26:28 +01:00
Fabien Potencier
5b3976a888 Bump Symfony version to 5.2.0 2020-11-10 09:06:25 +01:00
Fabien Potencier
f33a0d355b Update VERSION for 5.2.0-RC1 2020-11-10 08:54:37 +01:00
Fabien Potencier
b285584e77 updated version to 5.3 2020-11-10 08:38:36 +01:00
Fabien Potencier
c721e025ea bug #39004 [Messenger] Fix JSON deserialization of ErrorDetailsStamp and normalization of FlattenException::$statusText (Jean85)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

[Messenger] Fix JSON deserialization of ErrorDetailsStamp and normalization of FlattenException::$statusText

| Q             | A
| ------------- | ---
| Branch?       | 5.x (bugfix of a 5.x-only feature)
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #39003
| License       | MIT

~WIP~ This is now complete and, thanks to @yceruto, I've fixed two bugs in this PR:
 * `ErrorDetailsStamp` couldn't be (de)serialized properly with that constructor argument
 * `FlattenException::$statusText` wasn't (de)normalized

Commits
-------

9af554cb41 [Messenger] Fix JSON deserialization of ErrorDetailsStamp and normalization of FlattenException::$statusText
2020-11-10 07:17:29 +01:00
Alessandro Lai
9af554cb41 [Messenger] Fix JSON deserialization of ErrorDetailsStamp and normalization of FlattenException::$statusText 2020-11-10 07:17:22 +01:00
Fabien Potencier
2994ef0e1a Merge branch '5.1' into 5.x
* 5.1:
  Optimize circular collection by removing flattening
2020-11-09 13:21:52 +01:00
Fabien Potencier
382d6fc696 Merge branch '4.4' into 5.1
* 4.4:
  Optimize circular collection by removing flattening
2020-11-09 13:21:43 +01:00
Fabien Potencier
0ae674a29a bug #39021 [DependencyInjection] Optimize circular collection by removing flattening (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

 [DependencyInjection] Optimize circular collection by removing flattening

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

Alternative to #39019

Commits
-------

e649f47726 Optimize circular collection by removing flattening
2020-11-09 13:20:23 +01:00
Jérémy Derussé
e649f47726
Optimize circular collection by removing flattening 2020-11-09 12:28:57 +01:00
Fabien Potencier
47c2764064 Merge branch '5.1' into 5.x
* 5.1:
  also reset id readers
  Fix LDAP pagination
2020-11-09 11:58:06 +01:00
Fabien Potencier
64089870ce Merge branch '4.4' into 5.1
* 4.4:
  also reset id readers
  Fix LDAP pagination
2020-11-09 11:57:52 +01:00
Fabien Potencier
dfe60bb8a4 minor #39029 Adds constants for YamlEncoder options (dbrumann)
This PR was merged into the 5.2-dev branch.

Discussion
----------

Adds constants for YamlEncoder options

| Q             | A
| ------------- | ---
| Branch?       | 5.x
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| License       | MIT

As I understand it encoders and normalizers use (public) constants for context keys so IDEs can help by providing autocomplete. I added these constants for the YamlEncoder where they are missing right now. For reference see other encoders like CsvEncoder or XmlEncoder.

Commits
-------

6ebf7e164e Adds constants for YamlEncoder options
2020-11-09 11:52:36 +01:00
Denis Brumann
6ebf7e164e
Adds constants for YamlEncoder options 2020-11-08 12:35:30 +01:00
Alexander M. Turek
441c80603e [Validator] Allow load mappings from attributes without doctrine/annotations. 2020-11-07 22:48:53 +01:00
Jérémy Derussé
4fe0a6f2b9
Fix LDAP pagination 2020-11-07 21:18:28 +01:00
Maxime Steinhausser
50c7c3d364 bug #39002 [Validator] Override the default option of the choice constraint (benji07)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Validator] Override the default option of the choice constraint

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

We have a bundle that run test against the last version of symfony and we detect BC Break when passing a string as the first argument of the class Choice

Our code extends the Choice class and change the defaultOption.

I saw that others constraints class had new construct signature (for php8 attributes), but only some of them kept the array options as their first arguments. Why ?

ping @ogizanagi @derrabus

https://travis-ci.com/github/Elao/PhpEnums/jobs/410045368
```
1) Elao\Enum\Tests\Unit\Bridge\Symfony\Validator\Constraint\EnumTest::testDefaultValueIsEnumClass
Symfony\Component\Validator\Exception\MissingOptionsException: The options "class" must be set for constraint "Elao\Enum\Bridge\Symfony\Validator\Constraint\Enum".
/home/travis/build/Elao/PhpEnums/vendor/symfony/symfony/src/Symfony/Component/Validator/Constraint.php:171
/home/travis/build/Elao/PhpEnums/vendor/symfony/symfony/src/Symfony/Component/Validator/Constraint.php:110
/home/travis/build/Elao/PhpEnums/vendor/symfony/symfony/src/Symfony/Component/Validator/Constraints/Choice.php:75
/home/travis/build/Elao/PhpEnums/src/Bridge/Symfony/Validator/Constraint/Enum.php:39
/home/travis/build/Elao/PhpEnums/tests/Unit/Bridge/Symfony/Validator/Constraint/EnumTest.php:22
```

Commits
-------

d553750054 Allow user to override default options when extending the Choice Constraint
2020-11-07 17:47:31 +01:00
Robin Chalas
f226d981af Merge branch '5.1' into 5.x
* 5.1:
  [Messenger] Fix DBAL deprecations in PostgreSQLConnection
  [DoctrineBridge] Fix DBAL deprecations in middlewares.
2020-11-07 17:24:48 +01:00
Benjamin Lévêque
d553750054 Allow user to override default options when extending the Choice Constraint
Co-authored-by: Maxime Steinhausser <maxime.steinhausser@gmail.com>
2020-11-07 17:03:44 +01:00
Robin Chalas
bc42cf604e [Messenger] Fix DBAL deprecations in PostgreSQLConnection 2020-11-07 15:49:46 +01:00
Alexander M. Turek
5c5b8d61ee Merge branch '5.1' into 5.x 2020-11-07 14:01:53 +01:00
Alexander M. Turek
8c81f33840 Merge branch '4.4' into 5.1 2020-11-07 14:01:26 +01:00
Nyholm
0ab3032c52
[CI] Fixed invalid doctrine parameter syntax 2020-11-05 21:54:48 +01:00
Robin Chalas
2c39acd159 fix merge 2020-11-05 21:41:09 +01:00
Alexander M. Turek
5f25a6f980 Merge branch '5.1' into 5.x 2020-11-05 21:05:54 +01:00
Alexander M. Turek
2081035295 Merge branch '4.4' into 5.1 2020-11-05 20:04:46 +01:00
Robin Chalas
75f8ac1e9b bug #38991 [Console] Fix ANSI when stdErr is not a tty (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[Console] Fix ANSI when stdErr is not a tty

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

Taking the @wouterj 's comment into account (https://github.com/symfony/symfony/issues/38981#issuecomment-721915428)

This PR prevents using the same Formatter for stdOut and stdErr when possible.

When user send a custom formatter (or call `setFormatter`) the previous logic is kept.
Otherwise, symfony is asked to create the Formatter, and thus is able to clone the formatter.

In a future PR targeting 5.3, we could improve the constructor to let people inject 2 distinguished formatters

Commits
-------

f3a398b5af Fix ANSI when stdErr is not a tty
2020-11-05 16:22:05 +01:00