Commit Graph

51908 Commits

Author SHA1 Message Date
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
Nicolas Grekas
61b3872b65 bug #38980 [DependencyInjection] Fix circular reference with Factory + Lazy Iterrator (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] Fix circular reference with Factory + Lazy Iterrator

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

The issue, occurs when a `factory` iterates over services (think tagged iterator) that also need the `factory`.
The PhpDumper is not able to detect the loop because the TaggedService iterator is flaged as "lazy" which is ignored in the loop detection. 2d7e0b02c6/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php (L474-L476)

See test case for a reproduce case.

This PR takes into account lazy services when computing loops.

I'm not sure this is the right thing to do /cc @nicolas-grekas .
A better solution could be to do this ONLY when the service is used as a factory?

Commits
-------

51ff060603 Fix circular referene with Factory and LazyIterator
2020-11-05 12:51:33 +01:00
Jérémy Derussé
f3a398b5af
Fix ANSI when stdErr is not a tty 2020-11-05 10:51:39 +01:00
Fabien Potencier
dc0d45d31a bug #38986 [DoctrineBridge] accept converting Uid-as-strings to db-values (nicolas-grekas)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[DoctrineBridge] accept converting Uid-as-strings to db-values

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

In #38605 I made Uid types stricter by taking inspiration from native Doctrine types. But https://github.com/symfony/symfony/issues/38929#issuecomment-720108301 made me realize this doesn't work with ParamConverters. Here is the fix.

Commits
-------

20714d66c9 [DoctrineBridge] accept converting Uid-as-strings to db-values
2020-11-05 09:48:15 +01:00
Nyholm
94818d2a22
minor #38995 [Security] Fix docblock (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] Fix docblock

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

Commits
-------

60e506835a [Security] Fix docblock.
2020-11-05 09:37:17 +01:00
Alexander M. Turek
60e506835a [Security] Fix docblock. 2020-11-05 00:24:50 +01:00
Jérémy Derussé
51ff060603
Fix circular referene with Factory and LazyIterator 2020-11-04 15:21:44 +01:00
Nicolas Grekas
20714d66c9 [DoctrineBridge] accept converting Uid-as-strings to db-values 2020-11-04 12:11:20 +01:00
Fabien Potencier
57e39b41b9 feature #38850 [Messenger] Do not call getQueueUrl when the url is known in AmazonSqs transport (jderusse)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Messenger] Do not call getQueueUrl when the url is known in AmazonSqs transport

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

When user provides a DSN that looks like a queueUrl, we don't need to call the `getQueueUrl` method. This PR inject the known queueUrl and prevent performing a useless call to the API when sending a message

Commits
-------

f1f44d48e0 Do not call getQueueUrl when the url is known
2020-11-04 08:24:27 +01:00
Fabien Potencier
d2bac32525 feature #38940 [Messenger] Improve formatting of exception in failed message (Jeroen Noten)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Messenger] Improve formatting of exception in failed message

| Q             | A
| ------------- | ---
| Branch?       | 5.x
| Bug fix?      | no
| New feature?  | not really, enhancement of an existing feature
| Deprecations? | no
| Tickets       | Fix #32310
| License       | MIT

This PR improves the formatting of exception details in failed messenges when displayed using `messenger:failed:show <id> -vv`.

Before:
<img width="807" alt="Screen Shot 2020-11-01 at 1 05 24 PM" src="https://user-images.githubusercontent.com/4370753/97802602-ea593200-1c44-11eb-8bcb-7fcf2d3f1db0.png">

After:
<img width="803" alt="Screen Shot 2020-11-01 at 1 03 09 PM" src="https://user-images.githubusercontent.com/4370753/97802615-f0e7a980-1c44-11eb-8c12-46b2d4510364.png">

I created a `ThrownExceptionDetails` class which will be displayed as a normal exception when dumped with the VarDumper component. Not sure if this is the right way to do it and if the class is in the right namespace, but this is the best solution I could came up with to fix #32310. I'm open for other suggestions.

Commits
-------

2ad1adda69 [Messenger] Improve formatting of thrown exception in show failed message command
2020-11-04 08:21:06 +01:00
Fabien Potencier
6251c4ee6e feature #38954 [HttpFundation][FrameworkBundle] Deprecate the HEADER_X_FORWARDED_ALL constant (jderusse)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[HttpFundation][FrameworkBundle] Deprecate the HEADER_X_FORWARDED_ALL constant

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

The `HEADER_X_FORWARDED_ALL` implicitly trust the `x-forwarded-host` header, leading to possible host header attack (as warned in the [documentation](https://symfony.com/doc/current/reference/configuration/framework.html#trusted-hosts).)

Moreover, this `HEADER_X_FORWARDED_ALL` does not really fowards **all** headers, as ti does not supports `X-Forwarded-Prefix` headers.

This PR deprecate the constant and the new framework bundle configuration. It will be removed in 6.0. People have to use: either:
- `Request::setTrustedProxies(['1.2.3.4'], Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO);`
- `Request::setTrustedProxies(['1.2.3.4'], Request::HEADER_X_FORWARDED_TRAEFIK);`
- `framework.trusted_headers: [x-forwarded-for, x-forwarded-host, x-forwarded-port, x-forwarded-proto]`

Commits
-------

7cf4dd6917 Deprecate HEADER_X_FORWARDED_ALL constant
2020-11-04 08:16:55 +01:00
Nicolas Grekas
ff7ffdf22a bug #38977 [HttpClient] Check status code before decoding content in TraceableResponse (chalasr)
This PR was merged into the 5.1 branch.

Discussion
----------

[HttpClient] Check status code before decoding content in TraceableResponse

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

Using `toArray()` on the response of a traceable client, the status code is currently checked after json decoding, which leads to `JsonException` being thrown instead of `ClientException`.
It should be the opposite, as for non-traceable responses.

Commits
-------

e5595dae73 [HttpClient] Check status code before decoding content in TraceableResponse
2020-11-03 21:22:18 +01:00
Robin Chalas
e5595dae73 [HttpClient] Check status code before decoding content in TraceableResponse 2020-11-03 21:20:54 +01:00
Alexander M. Turek
e5ec20400c minor #38978 Rename security.pt_PT.xlf to security.pt.xlf (raziel057)
This PR was merged into the 4.4 branch.

Discussion
----------

Rename security.pt_PT.xlf to security.pt.xlf

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

Missing translations for Portuguese (pt).

As agreed in https://github.com/symfony/symfony/issues/38739#issuecomment-721210579 the common Portuguese translation file for security domain should be ``security.pt.xlf`` rather than ``security.pt_PT.xlf``

Commits
-------

3dd385f319 Rename security.pt_PT.xlf to security.pt.xlf
2020-11-03 20:16:45 +01:00
Thomas Lallement
3dd385f319
Rename security.pt_PT.xlf to security.pt.xlf 2020-11-03 17:58:31 +01:00
Jeroen Noten
2ad1adda69 [Messenger] Improve formatting of thrown exception in show failed message command 2020-11-03 13:22:22 +01:00
Nicolas Grekas
2d7e0b02c6 Merge branch '5.1' into 5.x
* 5.1:
  fix typo
2020-11-03 13:14:28 +01:00
Nicolas Grekas
4541862a12 Merge branch '4.4' into 5.1
* 4.4:
  fix typo
2020-11-03 13:14:22 +01:00
Nicolas Grekas
6fe261a7ae fix typo 2020-11-03 13:14:11 +01:00
Nicolas Grekas
1cfd3ab03a Merge branch '5.1' into 5.x
* 5.1:
  [PhpUnitBridge] fix replaying skipped tests
  Switch nightly run to 8.0snapshot
2020-11-03 12:59:38 +01:00
Nicolas Grekas
298422c844 Merge branch '4.4' into 5.1
* 4.4:
  [PhpUnitBridge] fix replaying skipped tests
  Switch nightly run to 8.0snapshot
2020-11-03 12:59:17 +01:00
Nicolas Grekas
703497dccf bug #38971 [PhpUnitBridge] fix replaying skipped tests (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[PhpUnitBridge] fix replaying skipped tests

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

Spotted while working on https://github.com/symfony/polyfill/pull/310

See also https://3v4l.org/D6Gro for the newly skipped tests in symfony/intl

Commits
-------

849d1b3845 [PhpUnitBridge] fix replaying skipped tests
2020-11-03 12:57:46 +01:00
Nicolas Grekas
849d1b3845 [PhpUnitBridge] fix replaying skipped tests 2020-11-03 12:50:26 +01:00
Fabien Potencier
e04777966a minor #38967 Switch nightly run to 8.0snapshot (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

Switch nightly run to 8.0snapshot

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

It's too early to test on php 8.1, so let's switch to 8.0 instead.

Commits
-------

b4730cbe1d Switch nightly run to 8.0snapshot
2020-11-03 07:19:11 +01:00
Jérémy Derussé
d658164b7f
minor #38941 [FrameworkBundle] Register AddErrorDetailsStampListener from the Messenger component as event subscriber (Jeroen Noten)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[FrameworkBundle] Register AddErrorDetailsStampListener from the Messenger component as event subscriber

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

This is a fix for a bug in version 5.2-BETA3.

In #32904, adding the error details to a failed message in the Messenger component was moved to a separate listener. However, this listener is not registered in the FrameworkBundle, resulting in no error details stored at all (when using the Symfony skeleton). This PR adds that missing registration.

Commits
-------

deda2ac411 [FrameworkBundle] Register AddErrorDetailsStampListener from the Messenger component as event subscriber
2020-11-03 01:02:05 +01:00
Jérémy Derussé
0dfbeb4e1e
minor #38842 [Notifier] Add unit tests for NullMessage, NullTransport and NullTransportFactory (jschaedl)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Notifier] Add unit tests for NullMessage, NullTransport and NullTransportFactory

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

Commits
-------

8a78dc2c97 [Notifier] Add unit tests for NullMessage, NullTransport and NullTransportFactory
2020-11-03 00:56:53 +01:00
Jan Schädlich
8a78dc2c97
[Notifier] Add unit tests for NullMessage, NullTransport and NullTransportFactory 2020-11-03 00:54:11 +01:00
Alexander M. Turek
b4730cbe1d Switch nightly run to 8.0snapshot 2020-11-02 22:35:35 +01:00
Jérémy Derussé
7cf4dd6917
Deprecate HEADER_X_FORWARDED_ALL constant 2020-11-02 17:16:33 +01:00
Nicolas Grekas
6ddb93df1f Merge branch '5.1' into 5.x
* 5.1:
  [HttpKernel] fix merge
2020-11-02 17:09:19 +01:00
Nicolas Grekas
f0d9eeb257 Merge branch '4.4' into 5.1
* 4.4:
  [HttpKernel] fix merge
2020-11-02 17:09:08 +01:00
Nicolas Grekas
76c19393c8 [HttpKernel] fix merge 2020-11-02 17:06:19 +01:00
Nicolas Grekas
5bf6bbe96c Merge branch '5.1' into 5.x
* 5.1:
  [Process] Dont test TTY if there is no TTY support
  Fixing some Mongolian
  translating the validators for european portuguese language
  Fix CI
  Update validators.he.xlf
  Update security.he.xlf
  Update validators.he.xlf
  Improve performances in CircualReference detection
  [PHPUnitBridge] Fixed crash on Windows with PHP 8
  Fix session called initized several time
2020-11-02 16:47:15 +01:00
Nicolas Grekas
aae9211e7c Merge branch '4.4' into 5.1
* 4.4:
  [Process] Dont test TTY if there is no TTY support
  Fixing some Mongolian
  translating the validators for european portuguese language
  Fix CI
  Update validators.he.xlf
  Update security.he.xlf
  Update validators.he.xlf
  Improve performances in CircualReference detection
  [PHPUnitBridge] Fixed crash on Windows with PHP 8
  Fix session called initized several time
2020-11-02 16:45:32 +01:00
Nicolas Grekas
5831ab2b62 bug #38910 [HttpKernel] Fix session initialized several times (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] Fix session initialized several times

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

The session injected in the request is a factory. When the request is **cloned** (ie sub-request) while the session is not yet used in the master request (the session is still a factory), both Master and Sub request will have a factory.
If both requests attempt to read the session afterward, they both triggers the factory, and both initialize the session.

It's not a dead end for the `SessionListener` because the session come from the container and is shared, but:
- the session is initialized ($storage->setOptions(['cookie_secure' => true])) twice
- if we replace the sesssion from container to a factory, it could be an issue

Commits
-------

30a3c7c87b Fix session called initized several time
2020-11-02 16:36:10 +01:00
Nicolas Grekas
8375eeef67 bug #38882 [DependencyInjection] Improve performances in CircualReference detection (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] Improve performances in CircualReference detection

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

This PR change the way circular references are detected.  And improve the project submitted in #37850 [by **86%**](https://blackfire.io/profiles/compare/cc4aa41d-5b63-4caa-9a1b-fc282dc5d64a/graph) (Build the container in 1.1 sec instead of 10)

Issue is: When a project contains a lot Circular Reference, the Dumper [spend a lot of time](https://blackfire.io/profiles/54f6eba2-b93c-4f2b-a268-1e58883faecb/graph) in merging those circular references.
note: a circular reference is not an issue when an service is not injected by constructor, but this Can not be known until all references are resolved (performed previously by connectCircularReferences)

This PR removed the connectCircularReferences and generate a flatten tree of dependencies:
 - the key is the service ID
 - the value is the list of direct **AND** indirect dependency + path to join the dependency

I also [benched the PR with a project with few references](https://blackfire.io/profiles/compare/2f9902e6-3347-40b3-8421-e1fd09c067d2/graph) and result are almost the same before/after.

Commits
-------

d4db75692b Improve performances in CircualReference detection
2020-11-02 16:10:49 +01:00
Nicolas Grekas
ed217a1435 bug #38950 [Process] Dont test TTY if there is no TTY support (Nyholm)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Process] Dont test TTY if there is no TTY support

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

Commits
-------

e918e5ab30 [Process] Dont test TTY if there is no TTY support
2020-11-02 16:10:23 +01:00
Nyholm
e918e5ab30 [Process] Dont test TTY if there is no TTY support 2020-11-02 16:10:16 +01:00
Nicolas Grekas
ca9ef822cf bug #38921 [PHPUnitBridge] Fixed crash on Windows with PHP 8 (villfa)
This PR was merged into the 4.4 branch.

Discussion
----------

[PHPUnitBridge] Fixed crash on Windows with PHP 8

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

The install command crashed with the message "The filename, directory name, or volume label syntax is incorrect.".
It happens only on Windows with PHP 8.

Probably due to https://github.com/php/php-src/blob/PHP-8.0/UPGRADING#L1121-L1123

I have a small repo to show the problem and how it is fixed: https://github.com/villfa/test-phpunit-bridge

Commits
-------

4b958917fd [PHPUnitBridge] Fixed crash on Windows with PHP 8
2020-11-02 16:07:32 +01:00
Nicolas Grekas
cd53800026 minor #38917 Fixing some Mongolian (Nyholm)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

Fixing some Mongolian

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

Hey @luffy1727, could you help me with the last two strings here?

Commits
-------

5c848d9796 Fixing some Mongolian
2020-11-02 16:02:38 +01:00
Nyholm
5c848d9796 Fixing some Mongolian 2020-11-02 16:02:29 +01:00
Nicolas Grekas
9f194355a3 minor #38930 translating the validators for european portuguese language (brunosinister)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

translating the validators for european portuguese language

| Q             | A
| ------------- | ---
| Branch?       | 5.x for features / 4.4 or 5.1 for bug fixes <!-- see below -->
| Bug fix?      | yes/no
| New feature?  | yes/no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | yes/no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | Fix #... <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| 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 5.x.
-->

Commits
-------

c0524197a0 translating the validators for european portuguese language
2020-11-02 16:00:34 +01:00
Bruno Araujo
c0524197a0 translating the validators for european portuguese language 2020-11-02 16:00:21 +01:00
Nicolas Grekas
23fe33c840 minor #38963 Update validators.he.xlf (ben29)
This PR was merged into the 4.4 branch.

Discussion
----------

Update validators.he.xlf

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

Commits
-------

b99977efce Update validators.he.xlf
2020-11-02 15:37:14 +01:00
Nicolas Grekas
e6250eabcf Merge branch '3.4' into 4.4
* 3.4:
  Fix CI
2020-11-02 15:31:22 +01:00
Nicolas Grekas
427e314212 Fix CI 2020-11-02 15:30:42 +01:00
Ben Hakim
b99977efce
Update validators.he.xlf 2020-11-02 16:11:24 +02:00
Alexander M. Turek
ba7c60b745 minor #38961 Update validators.he.xlf (ben29)
This PR was merged into the 4.4 branch.

Discussion
----------

Update validators.he.xlf

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

Commits
-------

98a7e8e150 Update validators.he.xlf
2020-11-02 15:00:41 +01:00