Commit Graph

47092 Commits

Author SHA1 Message Date
Nicolas Grekas
7eca3a5970 Merge branch '3.4' into 4.4
* 3.4:
  [3.4] Fix support for PHP8 union types
  [PhpUnitBridge] Streamline ansi/no-ansi of composer according to phpunit --colors option
  [3.4] Small update in our internal terminology
  [Cache] fix compat with DBAL v3
  [VarDumper] Fix CliDumper coloration
  [DI] tighten detection of local dirs to prevent false positives
  [FrameworkBundle] preserve dots in query-string when redirecting
  bumped Symfony version to 3.4.43
  updated VERSION for 3.4.42
  update CONTRIBUTORS for 3.4.42
  updated CHANGELOG for 3.4.42
2020-06-18 19:51:13 +02:00
Nicolas Grekas
cf66f03337 bug #37340 [3.4] Fix support for PHP8 union types (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[3.4] Fix support for PHP8 union types

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

This fixes fatal errors on PHP 8 once union types are used. Note that this doesn't provide support for union types, eg autowiring, serializer, etc will just skip them. If another behavior is desired, that'd be for the `5.x` branch.

With PHP 8 coming, calling the `getName()` on the object returned by `ReflectionParameter::getType()` or `ReflectionFunctionAbstract::getReturnType()` might fail. The reason is that these might return a [`ReflectionUnionType`](https://wiki.php.net/rfc/union_types_v2#reflection) now, which has no `getName()` method (same for `isBuiltin() btw.)

Commits
-------

e09372bcbf [3.4] Fix support for PHP8 union types
2020-06-18 19:34:15 +02:00
Nicolas Grekas
e09372bcbf [3.4] Fix support for PHP8 union types 2020-06-18 19:32:39 +02:00
Nicolas Grekas
57251cdcdd bug #37275 [DI] tighten detection of local dirs to prevent false positives (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] tighten detection of local dirs to prevent false positives

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

Commits
-------

b746dd900c [DI] tighten detection of local dirs to prevent false positives
2020-06-18 19:13:26 +02:00
Nicolas Grekas
2290c62047 bug #37090 [PhpUnitBridge] Streamline ansi/no-ansi of composer according to phpunit --colors option (kick-the-bucket)
This PR was squashed before being merged into the 3.4 branch.

Discussion
----------

[PhpUnitBridge] Streamline ansi/no-ansi of composer according to phpunit --colors option

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

Currently the coloring of composer output is forced in some calls, forced not to be colored in one other call and left for auto in the others.

This change would make it uniform, depending on the --colors option of phpunit provided (or not provided) in the call

Commits
-------

968d6c4276 [PhpUnitBridge] Streamline ansi/no-ansi of composer according to phpunit --colors option
2020-06-18 19:09:06 +02:00
kick-the-bucket
968d6c4276 [PhpUnitBridge] Streamline ansi/no-ansi of composer according to phpunit --colors option 2020-06-18 19:08:53 +02:00
Nicolas Grekas
907ffa0701 bug #36230 [VarDumper] Fix CliDumper coloration on light arrays (l-vo)
This PR was merged into the 3.4 branch.

Discussion
----------

[VarDumper] Fix CliDumper coloration on light arrays

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

When `AbstractDumper::DUMP_LIGHT_ARRAY` is used with the `CliDumper`, the first line (opening bracket) is not colored. When an empty array is dumped (with or without  `AbstractDumper::DUMP_LIGHT_ARRAY`) the array is not colored too. This PR aims to fix that.

Commits
-------

7af3469771 [VarDumper] Fix CliDumper coloration
2020-06-18 18:42:48 +02:00
Nicolas Grekas
c16bb52252 bug #37270 [FrameworkBundle] preserve dots in query-string when redirecting (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] preserve dots in query-string when redirecting

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

Commits
-------

fcc0e2c143 [FrameworkBundle] preserve dots in query-string when redirecting
2020-06-18 18:42:05 +02:00
Nicolas Grekas
13d5e180d2 minor #37343 [3.4] Small update in our internal terminology (Nyholm)
This PR was merged into the 3.4 branch.

Discussion
----------

[3.4] Small update in our internal terminology

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

The part of #37128 that applies to 3.4.

Commits
-------

c143aacd81 [3.4] Small update in our internal terminology
2020-06-18 18:37:43 +02:00
Nyholm
c143aacd81 [3.4] Small update in our internal terminology 2020-06-18 18:35:04 +02:00
Nicolas Grekas
5fb13bf0be bug #37319 [HttpClient] Convert CurlHttpClient::handlePush() to instance method (mpesari)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] Convert CurlHttpClient::handlePush() to instance method

| Q             | A
| ------------- | ---
| Branch?       | 4.4 / 5.1
| 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 #37252  <!-- prefix each issue number with "Fix #", if any -->
| 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.
-->

Commits
-------

9497972500 [HttpClient] Convert CurlHttpClient::handlePush() to instance method
2020-06-18 18:13:35 +02:00
Nicolas Grekas
363eec265b bug #37342 [Cache] fix compat with DBAL v3 (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] fix compat with DBAL v3

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

Commits
-------

8c4b49613a [Cache] fix compat with DBAL v3
2020-06-18 18:01:11 +02:00
Nicolas Grekas
8c4b49613a [Cache] fix compat with DBAL v3 2020-06-18 17:42:01 +02:00
Mikko Pesari
9497972500 [HttpClient] Convert CurlHttpClient::handlePush() to instance method
Fix #37252
2020-06-18 00:57:36 +03:00
Nicolas Grekas
943c630a94 bug #37286 [Console] Reset question validator attempts only for actual stdin (bis) (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Console] Reset question validator attempts only for actual stdin (bis)

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

#37160 [fails](https://travis-ci.org/github/symfony/symfony/jobs/698492147), this should fix it by looking at the actual input stream.

Commits
-------

867642e337 [Console] Reset question validator attempts only for actual stdin (bis)
2020-06-15 14:58:46 +02:00
Nicolas Grekas
867642e337 [Console] Reset question validator attempts only for actual stdin (bis) 2020-06-15 14:37:55 +02:00
Laurent VOULLEMIER
7af3469771 [VarDumper] Fix CliDumper coloration
When using AbstractDumper::DUMP_LIGHT_ARRAY
2020-06-15 09:49:39 +02:00
Fabien Potencier
52612b1541 bug #37160 Reset question validator attempts only for actual stdin (ostrolucky)
This PR was merged into the 4.4 branch.

Discussion
----------

Reset question validator attempts only for actual stdin

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

Let's see what CI says. Works for me locally with phpunit and when running such command manually

Commits
-------

8fe7be4212 Reset question validator attempts only for actual stdin
2020-06-15 07:23:00 +02:00
Fabien Potencier
bb8e66bc5f bug #36975 [PropertyInfo] Make PhpDocExtractor compatible with phpDocumentor v5 (DerManoMann)
This PR was merged into the 4.4 branch.

Discussion
----------

[PropertyInfo] Make PhpDocExtractor compatible with phpDocumentor v5

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

Version 5 of phpDocumentor introduced some changes to the `getTagsByName()` method that break the `PhpDocExtractor`.

More specific, it now returns an instance of `InvalidTag` instead of `null` when parsing an invalid tag.

Commits
-------

b1f8e5a80a Make PhpDocExtractor compatible with phpDocumentor v5
2020-06-15 07:20:14 +02:00
DerManoMann
b1f8e5a80a Make PhpDocExtractor compatible with phpDocumentor v5
Version 5 of phpDocumentor introduced some changes to the
`getTagsByName()` method that break the `PhpDocExtractor`.
More specific, it now returns an instance of `InvalidTag` instead of
`null` when parsing an invalid tag.
2020-06-15 09:00:35 +12:00
Gabriel Ostrolucký
8fe7be4212 Reset question validator attempts only for actual stdin 2020-06-14 17:02:32 +02:00
Nicolas Grekas
b746dd900c [DI] tighten detection of local dirs to prevent false positives 2020-06-14 14:27:25 +02:00
Nicolas Grekas
fcc0e2c143 [FrameworkBundle] preserve dots in query-string when redirecting 2020-06-13 17:55:52 +02:00
Fabien Potencier
055dd28bb8 bumped Symfony version to 4.4.11 2020-06-12 13:19:16 +02:00
Fabien Potencier
7eef70427b
Merge pull request #37246 from fabpot/release-4.4.10
released v4.4.10
2020-06-12 13:15:53 +02:00
Fabien Potencier
e71a9ff228 updated VERSION for 4.4.10 2020-06-12 13:15:37 +02:00
Fabien Potencier
6199cf12b1 updated CHANGELOG for 4.4.10 2020-06-12 13:15:31 +02:00
Fabien Potencier
b30f4c1537 bumped Symfony version to 3.4.43 2020-06-12 13:14:22 +02:00
Fabien Potencier
79b0cc53df
Merge pull request #37244 from fabpot/release-3.4.42
released v3.4.42
2020-06-12 12:57:23 +02:00
Fabien Potencier
4d48338b6c updated VERSION for 3.4.42 2020-06-12 12:57:07 +02:00
Fabien Potencier
4a02bde238 update CONTRIBUTORS for 3.4.42 2020-06-12 12:57:05 +02:00
Fabien Potencier
ab5ac9a02d updated CHANGELOG for 3.4.42 2020-06-12 12:56:53 +02:00
Nicolas Grekas
6304b6b11a fix merge 2020-06-12 10:25:05 +02:00
Nicolas Grekas
02df1c9b53 Merge branch '3.4' into 4.4
* 3.4:
  switch the context when validating nested forms
  Fix typo
  [HttpKernel] Fix regression where Store does not return response body correctly
  rework form validator tests
  Update AbstractController.php
2020-06-12 10:10:13 +02:00
Fabien Potencier
fd51aeb20b bug #37227 [DependencyInjection][CheckTypeDeclarationsPass] Handle unresolved parameters pointing to environment variables (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection][CheckTypeDeclarationsPass] Handle unresolved parameters pointing to environment variables

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

Follow up to https://github.com/symfony/symfony/pull/37193

Unresolved parameters pointing to environment variables can be added to definitions after ResolveParameterPlaceHoldersPass execution. It is the case in the initial reported bug (RegisterListenersPass is executed after ResolveParameterPlaceHoldersPass). In this case, the parameter value is an env placeholder, so we need to try to resolve it.

Commits
-------

dac3c8fae8 [DependencyInjection][CheckTypeDeclarationsPass] Handle unresolved parameters pointing to environment variables
2020-06-12 10:01:48 +02:00
Thomas Calvet
dac3c8fae8 [DependencyInjection][CheckTypeDeclarationsPass] Handle unresolved parameters pointing to environment variables 2020-06-12 09:37:04 +02:00
Fabien Potencier
1f83212541 bug #37103 [Form] switch the context when validating nested forms (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] switch the context when validating nested forms

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

Commits
-------

38135de549 switch the context when validating nested forms
2020-06-12 09:33:15 +02:00
Christian Flothmann
38135de549 switch the context when validating nested forms 2020-06-12 09:11:17 +02:00
Fabien Potencier
f1989fe41c minor #37236 remove unused param from validator service config (Tobion)
This PR was merged into the 4.4 branch.

Discussion
----------

remove unused param from validator service config

| 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 -->
| Tickets       |
| License       | MIT
| Doc PR        |

Commits
-------

d75ec21cdb remove unused param from validator service config
2020-06-12 08:06:18 +02:00
Tobias Schultze
d75ec21cdb remove unused param from validator service config 2020-06-12 02:09:24 +02:00
Tobias Schultze
2d781ddce6 fix test checking non-existing arg 2020-06-11 23:52:31 +02:00
Fabien Potencier
51be09c13c minor #37214 Remove non-existing arg and param from serializer service config (Tobion)
This PR was merged into the 4.4 branch.

Discussion
----------

Remove non-existing arg and param from serializer service config

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| 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        |

Leftover from #22741

Commits
-------

d179d71f45 Remove non-existing arg and param from serializer service config
2020-06-11 16:32:27 +02:00
Fabien Potencier
816b6ea6f1 Fix typo 2020-06-11 15:00:25 +02:00
Fabien Potencier
54c9054ef4 bug #37182 [HttpKernel] Fix regression where Store does not return response body correctly (mpdude)
This PR was squashed before being merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Fix regression where Store does not return response body correctly

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

Since #36833, the `Store` no longer uses or trusts the `X-Content-Digest` header present on a response, since that may come (in the case of using `CachingHttpClient`) from upstream HTTP sources. Instead, the `X-Content-Digest` is re-computed every time a response is written by the `Store`.

Additionally, the `Store` is implemented in a way that when restoring responses, it does _not_ actually load the response body, but just keeps the file path to the content on disk in another internal header called `X-Body-File`. It is up to others (`HttpCache`, for example) to actually load the content from there. For reasons I could not determine, the file path is also set as the response body.

When the `HttpCache` performs revalidations, it may happen that it wants the `Store` to persist a previously restored response. In that case, the `Store` fails to honor its own `X-Body-File` header. Instead, it would compute (since #36833) the `X-Content-Digest`, which now is a hash of the cache file path.

So, we end up with a response that still carries `X-Body-File` for the original, correct response. Since the `HttpCache` honors this value, we don't immediately notice that. But inside the `Store`, the request is now associated with the _new_ (bogus) content entry.

It takes another round of looking up the content in the `Store` to now get a response where the `X-Body-File` _also_ points to the wrong content entry.

Although I feel a bit uncomfortable with trusting headers that seemingly need to be evaluated in different classes and may come from elsewhere, my suggestion is to skip the write inside `Store` if `X-Body-File` and `X-Content-Digest` are both present and consistent with each other.

Additionally, a `file_exists` check could be added to provide additional assertions, at the cost of accessing the filesystem.

Commits
-------

176e769e5f [HttpKernel] Fix regression where Store does not return response body correctly
2020-06-11 14:59:43 +02:00
Matthias Pigulla
176e769e5f [HttpKernel] Fix regression where Store does not return response body correctly 2020-06-11 14:59:37 +02:00
Fabien Potencier
b1f2a1409c bug #37193 [DependencyInjection][CheckTypeDeclarationsPass] Always resolve parameters (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection][CheckTypeDeclarationsPass] Always resolve parameters

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

> Only array parameters are not inlined when dumped.

This is true only when the XML debug container is used, not on a live container that can contain unresolved parameters in the `%my_param%` form. That was my mistake. We have to resolve to get the parameter type.

`$value = [];` was just an improvement to avoid useless parameter resolve btw.

Commits
-------

da0e2c36ef [DependencyInjection][CheckTypeDeclarationsPass] Always resolve parameters
2020-06-11 14:58:51 +02:00
Tobias Schultze
d179d71f45 Remove non-existing arg and param from serializer service config 2020-06-11 14:32:28 +02:00
Fabien Potencier
7107080675 bug #37191 [HttpClient] fix offset computation for data chunks (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] fix offset computation for data chunks

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

A minor thingy, still a bugfix.

Commits
-------

ff05be06ec [HttpClient] fix offset computation for data chunks
2020-06-11 08:13:02 +02:00
Thomas Calvet
da0e2c36ef [DependencyInjection][CheckTypeDeclarationsPass] Always resolve parameters 2020-06-10 18:12:11 +02:00
Nicolas Grekas
ff05be06ec [HttpClient] fix offset computation for data chunks 2020-06-10 17:33:47 +02:00