Commit Graph

47219 Commits

Author SHA1 Message Date
Christian Flothmann
6fa19242ed fix PropertyAccess version constraints 2020-07-10 10:02:08 +02:00
Nicolas Grekas
ecb5f7c875 Merge branch '3.4' into 4.4
* 3.4:
  cs fix
  add german translation of the html5 color validation
  sync translations from master branch
  silently ignore uninitialized properties when mapping data to forms
2020-07-09 18:43:26 +02:00
Nicolas Grekas
6bfdb92736 bug #37520 [Form] silently ignore uninitialized properties when mapping data to forms (ph-fritsche)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] silently ignore uninitialized properties when mapping data to forms

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

Commits
-------

b4616c810c silently ignore uninitialized properties when mapping data to forms
2020-07-09 18:41:59 +02:00
Nicolas Grekas
87e28f77b9 minor #37524 [Form] sync translations from master branch (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] sync translations from master branch

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

Commits
-------

d962202c5f sync translations from master branch
2020-07-09 18:41:07 +02:00
Nicolas Grekas
3a4303d303 cs fix 2020-07-09 18:40:43 +02:00
Christian Flothmann
f49e8b5071 minor #37536 [Form] add german translation of the html5 color validation (ABSAhmad)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] add german translation of the html5 color validation

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

Commits
-------

f41c03b8aa add german translation of the html5 color validation
2020-07-09 10:59:31 +02:00
Ahmad El-Bardan
f41c03b8aa add german translation of the html5 color validation 2020-07-09 10:22:35 +02:00
Christian Flothmann
ab81cb4b6a Merge branch '3.4' into 4.4
* 3.4:
  clean up HHVM instructions
2020-07-08 19:40:58 +02:00
Christian Flothmann
d0428bae0a minor #37528 clean up HHVM instructions (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

clean up HHVM instructions

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

Commits
-------

81a4baf4ba clean up HHVM instructions
2020-07-08 19:38:59 +02:00
Nicolas Grekas
07c11399ae Merge branch '3.4' into 4.4
* 3.4:
  Fix PHP 8 deprecations
  ensure compatibility with PHP 8 stack traces
2020-07-08 19:09:45 +02:00
Nicolas Grekas
3db0684037 Fix PHP 8 deprecations 2020-07-08 19:07:26 +02:00
Nicolas Grekas
207b0b5996 bug #37526 [Cache][Config] ensure compatibility with PHP 8 stack traces (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache][Config] ensure compatibility with PHP 8 stack traces

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

Commits
-------

8ba34dafd3 ensure compatibility with PHP 8 stack traces
2020-07-08 18:59:51 +02:00
Christian Flothmann
8ba34dafd3 ensure compatibility with PHP 8 stack traces 2020-07-08 18:57:10 +02:00
Christian Flothmann
81a4baf4ba clean up HHVM instructions 2020-07-08 16:52:52 +02:00
Christian Flothmann
d962202c5f sync translations from master branch 2020-07-08 15:48:29 +02:00
Philipp Fritsche
b4616c810c silently ignore uninitialized properties when mapping data to forms 2020-07-08 12:40:29 +02:00
Nicolas Grekas
ddf795390a Merge branch '3.4' into 4.4
* 3.4:
  [Cache] Fix compat wth DBAL v3
2020-07-08 10:03:32 +02:00
Nicolas Grekas
c702af419b bug #37513 [PhpUnitBridge] ExcludeList usage for PHPUnit 9.4 (gennadigennadigennadi)
This PR was merged into the 4.4 branch.

Discussion
----------

[PhpUnitBridge] ExcludeList usage for PHPUnit 9.4

| Q             | A
| ------------- | ---
| Branch?       |  4.4 <!-- 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       | #37344 <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License       | MIT

Added: ExcludeList usage for PHPUnit >= 9.3

Commits
-------

f59915d905 Add: ExcludeList usage for PHPUnit 9.4
2020-07-08 09:59:28 +02:00
Gennadi Janzen
f59915d905 Add: ExcludeList usage for PHPUnit 9.4 2020-07-08 09:59:12 +02:00
Nicolas Grekas
13982b5809 minor #37516 [Cache] Fix compat wth DBAL v3 (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] Fix compat wth DBAL v3

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

Follows https://github.com/doctrine/dbal/pull/4152

Commits
-------

d08524330a [Cache] Fix compat wth DBAL v3
2020-07-08 09:44:11 +02:00
Nicolas Grekas
d08524330a [Cache] Fix compat wth DBAL v3 2020-07-08 09:40:56 +02:00
Nicolas Grekas
6c9a25cccc [Contracts] update changelog 2020-07-06 15:39:06 +02:00
Nicolas Grekas
eb9aa24cc3 minor #37121 [Contracts] Add missing "extra.thanks" entries in composer.json (nicolas-grekas)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Contracts] Add missing "extra.thanks" entries in composer.json

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

Something we forgot and that might help give some more visibility to symfony/contracts.

Commits
-------

bd04f0cce6 [Contracts] Add missing "extra.thanks" entries in composer.json
2020-07-06 15:19:58 +02:00
Nicolas Grekas
2f65991a9d Merge branch '3.4' into 4.4
* 3.4:
  [Process] Fix Permission Denied error when writing sf_proc_00 lock files on Windows
  fix handling null as empty data
  No need to create an issue when creating a PR
  [Console] Fixes question input encoding on Windows
2020-07-06 15:18:39 +02:00
Nicolas Grekas
c0181c7667 bug #37461 [Process] Fix Permission Denied error when writing sf_proc_00 lock files on Windows (JasonStephensTAMU)
This PR was merged into the 3.4 branch.

Discussion
----------

[Process] Fix Permission Denied error when writing sf_proc_00 lock files on Windows

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

Passes current Process unit tests.

On Windows systems, a new set of sf_proc_## files are generated in the system temp directory for each WindowsPipes object. These files are removed when the WindowsPipes object is destroyed.

This avoids receiving a permission denied error when attempting to write to sf_proc_## files between multiple sites running as different users, when the users do not have permissions to modify each others files.

Changes
- [Process] WindowsPipes always creates new sf_proc_## files in constructor
- [Process] WindowsPipes removes its sf_proc_## files in destructor

Commits
-------

220be89f5c [Process] Fix Permission Denied error when writing sf_proc_00 lock files on Windows
2020-07-06 15:15:39 +02:00
Jason Stephens
220be89f5c [Process] Fix Permission Denied error when writing sf_proc_00 lock files on Windows 2020-07-06 15:15:13 +02:00
Nicolas Grekas
091fd5016d bug #37505 [Form] fix handling null as empty data (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] fix handling null as empty data

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

Commits
-------

b5aa55dab9 fix handling null as empty data
2020-07-06 15:09:26 +02:00
Christian Flothmann
b5aa55dab9 fix handling null as empty data 2020-07-06 14:28:35 +02:00
Robin Chalas
4297897869 bug #37385 [Console] Fixes question input encoding on Windows (YaFou)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Fixes question input encoding on Windows

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- 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 #35842, Fix #36324, Fix #37495 and Fix #37278 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | no <!-- 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.
-->

To ask a question to a user, the [QuestionHelper](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Console/Helper/QuestionHelper.php) use [`fgets`](https://www.php.net/manual/en/function.fgets.php). However, special characters are not supported on Windows with this function (like accents: `é`, `à`, `ö`). The solution is to set a special encoding with [`sapi_windows_cp_get`](https://www.php.net/manual/en/function.sapi-windows-cp-get).

> Before
```php
$stream = fopen('php://stdin', 'r');
$input = fgets($stream);
echo $input;

// input: "Bonjour à tous"
// output: 'Bonjour \ tous" or "Bonjour   tous"
```

> After
```php
// Check if the function exists because it only exists on Windows
if(function_exists('sapi_windows_cp_set')) {
    sapi_windows_cp_get(437);
}

$stream = fopen('php://stdin', 'r');
$input = fgets($stream);
echo $input;

// input: "Bonjour à tous"
// output: 'Bonjour à tous"
```

*Thanks to @bnjmnfnk for the solution 😉*

Commits
-------

4288df4f74 [Console] Fixes question input encoding on Windows
2020-07-06 10:57:31 +02:00
Fabien Potencier
c6eb79a514 minor #37497 No need to create an issue when creating a PR (fabpot)
This PR was merged into the 3.4 branch.

Discussion
----------

No need to create an issue when creating a PR

| Q             | A
| ------------- | ---
| Branch?       | 3.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       | n/a <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | n/a

No need to create an issue before creating a PR.

Commits
-------

b5b146de2c No need to create an issue when creating a PR
2020-07-06 09:04:10 +02:00
Fabien Potencier
b5b146de2c No need to create an issue when creating a PR 2020-07-05 15:36:44 +02:00
Nicolas Grekas
3b1e34bdb6 minor #37494 Use ">=" for the "php" requirement (alexpott)
This PR was merged into the 4.4 branch.

Discussion
----------

Use ">=" for the "php" requirement

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | kinda - prevents projects from installing on PHP 8.0 unnecessarily.
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #... <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Making the same change as f8aa0873cf but for a couple of places where it seems to have been missed.

Commits
-------

4a360766cc Use ">=" for the "php" requirement
2020-07-05 11:39:43 +02:00
Alex Pott
4a360766cc Use ">=" for the "php" requirement 2020-07-05 11:39:30 +02:00
Nicolas Grekas
32707260f9 bug #37491 [HttpClient] Fix promise behavior in HttplugClient (brentybh)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[HttpClient] Fix promise behavior in HttplugClient

| Q             | A
| ------------- | ---
| Branch?       | 4.4 & up <!-- 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 #37488 <!-- 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.
-->

## The Problem
Promises have 2 important methods: `then` and `wait`.
To implement Httplug's promise interface, we built `HttplugPromise` on top of Guzzle promise.
However, when an error occurred (Httplug `NetworkException` thrown) while init the request/before actually sending the request,
`HttplugClient::sendAsyncRequest` will return a `Http\Promise\RejectedPromise`, which is a dummy implementation.

If the `then` callable returns a promise-like object, `Http\Promise\RejectedPromise` will treat it as plain value.
Guzzle promise will try to resolve the promise-like value, which is an object that has `then` method on it.

bbf3b200bc/src/Promise.php (L116)

To fix this, I edited `src/Symfony/Component/HttpClient/HttplugClient.php`.

Next, let me explain why to edit `src/Symfony/Component/HttpClient/Response/HttplugPromise.php`.
After the previous fix, when a Guzzle promise returned by the `then` callable, things will work.
However, If I return a `HttplugPromiseInterface`, it doesn't work, because Guzzle promise `wait` the return value (result)
only if it's a Guzzle promise.

bbf3b200bc/src/Promise.php (L63)

To fix this, I referenced the `wait` code of Guzzle promise and edited our `HttplugPromise`.

## How this fix make sense

So, why to return a promise from the `then` callable?
This let us change the promise chain according to current promise's result (fulfilled/rejected).

For example, we can retry an HTTP request if it failed.
Please take a look at my test code.

Commits
-------

147b6adc39 [HttpClient] Fix promise behavior in HttplugClient
2020-07-04 11:37:25 +02:00
Bohan Yang
147b6adc39 [HttpClient] Fix promise behavior in HttplugClient 2020-07-04 11:37:14 +02:00
Nicolas Grekas
5da153603b [Console] fix reading from STDIN 2020-07-04 11:30:27 +02:00
Nicolas Grekas
fec23313e7 bug #37469 [Console] always use stty when possible to ask hidden questions (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Console] always use stty when possible to ask hidden questions

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

The current code doesn't make much sense: we check `hasSttyAvailable()`, and if the answer is `false`, we still use `stty` directly.

This PR relies on `stream_isatty` and equivalent fallback checks to decide if the password can be hidden or not.

Best reviewed [ignoring whitespaces](https://github.com/symfony/symfony/pull/37469/files?w=1).

Commits
-------

055b605e30 [Console] always use stty when possible to ask hidden questions
2020-07-03 20:04:21 +02:00
Nicolas Grekas
ee0e37b47d bug #37486 [HttpClient] fix parsing response headers in CurlResponse (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] fix parsing response headers in CurlResponse

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

This fixes rare notices that look like:
`Argument 2 passed to Symfony\Component\HttpClient\Chunk\DataChunk::__construct() must be of the type string, null given`

I'm unable to provide a test case since I'm unable to provide a simple reproducer.

It happens that curl can call the header-function with multiple lines at once apparently, while most of the time it does so with one at a time.

Commits
-------

eb70fb2f26 [HttpClient] fix parsing response headers in CurlResponse
2020-07-03 14:36:03 +02:00
Nicolas Grekas
f0243822cb bug #37484 [HttpClient][CurlHttpClient] Fix http_version option usage (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient][CurlHttpClient] Fix http_version option usage

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

Ref https://github.com/symfony/symfony/pull/36422

If the scheme is https, we should only set http version 2.0 if the http_version is not specified.

Commits
-------

2676902a77 [HttpClient][CurlHttpClient] Fix http_version option usage
2020-07-03 13:44:51 +02:00
Thomas Calvet
2676902a77 [HttpClient][CurlHttpClient] Fix http_version option usage 2020-07-03 13:44:40 +02:00
Nicolas Grekas
eb70fb2f26 [HttpClient] fix parsing response headers in CurlResponse 2020-07-03 13:27:27 +02:00
Nicolas Grekas
659699b9ce Merge branch '3.4' into 4.4
* 3.4:
  [Console] Do not check for "stty" using "exec" if that function is disabled
2020-07-01 19:14:21 +02:00
Nicolas Grekas
9f6acd549c minor #37466 [Console] Do not check for "stty" using "exec" if that function is disabled (mvorisek)
This PR was squashed before being merged into the 3.4 branch.

Discussion
----------

[Console] Do not check for "stty" using "exec" if that function is disabled

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

fixes https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/5030

Commits
-------

02124b6b3b [Console] Do not check for "stty" using "exec" if that function is disabled
2020-07-01 19:13:59 +02:00
Michael Voříšek
02124b6b3b [Console] Do not check for "stty" using "exec" if that function is disabled 2020-07-01 19:13:52 +02:00
Nicolas Grekas
055b605e30 [Console] always use stty when possible to ask hidden questions 2020-07-01 17:27:01 +02:00
YaFou
4288df4f74
[Console] Fixes question input encoding on Windows 2020-07-01 11:10:10 +02:00
Nicolas Grekas
b9354dc62f Merge branch '3.4' into 4.4
* 3.4:
  [Bridge/Twig] Relax tests
2020-06-30 19:59:39 +02:00
Nicolas Grekas
91f30e0b62 [Bridge/Twig] Relax tests 2020-06-30 19:58:38 +02:00
Nicolas Grekas
450034c986 Merge branch '3.4' into 4.4
* 3.4:
  [ErrorHandler] fix throwing from __toString()
  Removed comments and requirements relative to php <5.5 (not supported anymore)
  fix validating lazy properties that evaluate to null
2020-06-30 19:40:09 +02:00
Nicolas Grekas
52ddce1a74 bug #37447 [Validator] fix validating lazy properties that evaluate to null (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] fix validating lazy properties that evaluate to null

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

Commits
-------

776daf28b4 fix validating lazy properties that evaluate to null
2020-06-30 19:35:43 +02:00