Commit Graph

47289 Commits

Author SHA1 Message Date
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
Nicolas Grekas 034be4415c bug #37464 [ErrorHandler] fix throwing from __toString() (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[ErrorHandler] fix throwing from __toString()

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

Commits
-------

aeb4637341 [ErrorHandler] fix throwing from __toString()
2020-06-30 19:29:43 +02:00
Nicolas Grekas aeb4637341 [ErrorHandler] fix throwing from __toString() 2020-06-30 19:28:29 +02:00
Nicolas Grekas 78e6fc4b42 bug #37449 [Translation] Fix caching of parent locales file in translator (jvasseur)
This PR was merged into the 4.4 branch.

Discussion
----------

[Translation] Fix caching of parent locales file in translator

| Q             | A
| ------------- | ---
| Branch?       | 4.4 (this is the lowest maintained branch with this code)
| 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        |

The `parentLocales` property was probably meant as a cache for the content of the `parents.json` file but instead the content is stored in a local variable and the property stays `null`. This means the file is read on each call to `computeFallbackLocales`.

This PR update the code to what was probably meant to be.

(Ref https://github.com/symfony/symfony/pull/28070)

Commits
-------

02c9ac68a4 Fix caching of parent locales file in translator
2020-06-30 15:55:33 +02:00
Nicolas Grekas 801f4cd7ac minor #37458 Removed comments and requirements relative to php <5.5 (not supported anymore) (lyrixx)
This PR was merged into the 3.4 branch.

Discussion
----------

Removed comments and requirements relative to php <5.5 (not supported anymore)

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

---

There is also https://github.com/symfony/symfony/blob/3.4/src/Symfony/Component/EventDispatcher/Tests/AbstractEventDispatcherTest.php#L270-L276 but I think we could let it in place (and this file does not exist on master)

Commits
-------

5c5ea7500e Removed comments and requirements relative to php <5.5 (not supported anymore)
2020-06-30 14:59:42 +02:00
Grégoire Pineau 5c5ea7500e Removed comments and requirements relative to php <5.5 (not supported anymore) 2020-06-30 14:50:28 +02:00
Christian Flothmann f194602c30 minor #37450 [Mime] skip test if guesser is not supported (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mime] skip test if guesser is not supported

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

fixes tests on AppVeyor

Commits
-------

3b77abea65 skip test if guesser is not supported
2020-06-29 16:24:11 +02:00
Christian Flothmann 4e16dfdb09 minor #37448 [Messenger] fix compatibility with Doctrine DBAL 3.0 (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] fix compatibility with Doctrine DBAL 3.0

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

see doctrine/dbal#4100 and doctrine/dbal#4125

Commits
-------

b17df8cdd7 fix compatibility with Doctrine DBAL 3.0
2020-06-29 16:22:04 +02:00
Christian Flothmann b17df8cdd7 fix compatibility with Doctrine DBAL 3.0 2020-06-29 15:55:34 +02:00
Christian Flothmann 3b77abea65 skip test if guesser is not supported 2020-06-29 15:46:05 +02:00
Jérôme 02c9ac68a4
Fix caching of parent locales file in translator 2020-06-29 15:31:43 +02:00
Christian Flothmann 776daf28b4 fix validating lazy properties that evaluate to null 2020-06-29 12:55:42 +02:00
Nicolas Grekas 27290714b7 Merge branch '3.4' into 4.4
* 3.4:
  Fix test that fails on old distros
2020-06-28 17:22:55 +02:00
Nicolas Grekas b344f6d7db Fix test that fails on old distros 2020-06-28 17:22:27 +02:00
Nicolas Grekas 9709500d29 bug #37418 [PhpUnitBridge] Fix compatibility with phpunit 9.3 (Gennadi Janzen)
This PR was merged into the 4.4 branch.

Discussion
----------

[PhpUnitBridge] Fix compatibility with phpunit 9.3

| Q             | A
| ------------- | ---
| Branch?       | master for features / 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       | - <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | -<!-- required for new features -->

In PHPUnit 9.3 some Classes were moved or renamed, to make the PhpunitBridge compatible with PhpUnit 9.3 it necessary to call the new Loader instead of the Registry.
<!--
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
-------

de71a12f3b Fix: compatibility with phpunit 9.3
2020-06-28 17:12:52 +02:00
Gennadi Janzen de71a12f3b Fix: compatibility with phpunit 9.3 2020-06-28 17:12:40 +02:00
Nicolas Grekas 9c6d53a78b bug #37441 [DoctrineBridge] work around Connection::ping() deprecation (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[DoctrineBridge] work around Connection::ping() deprecation

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

Follows e603a2e233

Commits
-------

9ccf043c7c [DoctrineBridge] work around Connection::ping() deprecation
2020-06-28 17:08:21 +02:00
Nicolas Grekas 2e2fac8766 Merge branch '3.4' into 4.4
* 3.4:
  [MimeType] Duplicated MimeType due to PHP Bug
  fix guessing form types for DateTime types
  fix handling typed properties as constraint options
2020-06-28 17:07:02 +02:00
Nicolas Grekas 9ccf043c7c [DoctrineBridge] work around Connection::ping() deprecation 2020-06-28 16:59:58 +02:00
Nicolas Grekas 6ef3fee863 bug #37291 [MimeType] Duplicated MimeType due to PHP Bug (juanmrad)
This PR was squashed before being merged into the 3.4 branch.

Discussion
----------

[MimeType] Duplicated MimeType due to PHP Bug

| Q             | A
| ------------- | ---
| Branch?       | 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 #... <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

## Issue:

Currently there is a PHP bug https://bugs.php.net/bug.php?id=77784 that is causing several MimeTypes to be given as duplicated:

```
application/vnd.openxmlformats-officedocument.spreadsheetml.sheetapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet
```
Instead of:
```
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
```

This Patch will fix the Issues by checking if a returned MimeType is duplicated and return appropriate MimeType.

This patch should be reverted if the PHP Bug is ever fixed.

Commits
-------

7cb29c8b4b [MimeType] Duplicated MimeType due to PHP Bug
2020-06-28 16:49:48 +02:00
Juan Mrad 7cb29c8b4b [MimeType] Duplicated MimeType due to PHP Bug 2020-06-28 16:49:36 +02:00
Fabien Potencier 36538369ca bug #37429 [DI] fix parsing of argument type=binary in xml (Tobion)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] fix parsing of argument type=binary in xml

| 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        |

Parameters and arguments can be of type="binary" since #25928. But the XSD forgot to be updated for arguments.
So if you try to run `bin/console debug:container` you'd get an error like

```
In XmlFileLoader.php line 385:

  Unable to parse file "var/cache/dev/App_KernelDevDebugContainer.xml": [ERROR 1840] Element '{ht
  tp://symfony.com/schema/dic/services}argument', attribute 'type': [facet 'enumeration'] The value 'binary' is not a
  n element of the set {'abstract', 'collection', 'service', 'expression', 'string', 'constant', 'iterator', 'service
  _locator', 'tagged', 'tagged_iterator', 'tagged_locator'}. (in /home/benny/project/ - line 505, column 0)
  [ERROR 1824] Element '{http://symfony.com/schema/dic/services}argument', attribute 'type': 'binary' is not a valid
  value of the atomic type '{http://symfony.com/schema/dic/services}argument_type'. (in /home/benny/project/ - line 5
  05, column 0)`
```

Commits
-------

70b6a00148 [DI] fix parsing of argument type=binary in xml
2020-06-28 08:59:54 +02:00
Tobias Schultze 70b6a00148 [DI] fix parsing of argument type=binary in xml 2020-06-26 19:49:20 +02:00
Fabien Potencier 9566cff6e7 bug #37425 [Form] fix guessing form types for DateTime types (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] fix guessing form types for DateTime types

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

Commits
-------

9ba90bf1f8 fix guessing form types for DateTime types
2020-06-26 18:00:04 +02:00
Christian Flothmann 9ba90bf1f8 fix guessing form types for DateTime types 2020-06-26 14:15:21 +02:00
Fabien Potencier 9660e6b1e2 bug #37392 [Validator] fix handling typed properties as constraint options (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] fix handling typed properties as constraint options

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

Commits
-------

4a66a6098f fix handling typed properties as constraint options
2020-06-25 12:06:33 +02:00
Christian Flothmann 4a66a6098f fix handling typed properties as constraint options 2020-06-25 11:23:26 +02:00
Fabien Potencier 73596ef4f7 bug #37358 Directly use the driverConnection executeUpdate method (TristanPouliquen)
This PR was merged into the 4.4 branch.

Discussion
----------

Directly use the driverConnection executeUpdate method

executeUpdate & executeQuery methods do not throw a TableNotFoundException. No need for the try/catch as it is done for executeQuery

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

As explained in https://github.com/symfony/symfony/issues/37355, when doing a write operation, one should avoid using the `executeQuery` method of a Connection, as Doctrine's MasterSlaveConnection can pick a slave instance (usually read-only) for these operations.

Commits
-------

eec12ecd23 Use the driverConnection executeUpdate method
2020-06-25 10:28:26 +02:00
Robin Chalas 2f23b01b0b fix merge 2020-06-24 17:18:50 +02:00
Fabien Potencier 550ab6fd8c Fix merge 2020-06-24 15:38:36 +02:00
Fabien Potencier 378894d64d Merge branch '3.4' into 4.4
* 3.4:
  Fixed typo in test name
  [HttpFondation] Change file extension of "audio/mpeg" from "mpga" to "mp3"
  [VarDumper] Support for cURL handler objects.
  [DI][FrameworkBundle] Remove whitelist occurrences
  Avoid accessibility errors on debug toolbar
2020-06-24 15:34:53 +02:00
Fabien Potencier 40152c37ce bug #37389 [HttpFondation] Change file extension of "audio/mpeg" from "mpga" to "mp3" (YaFou)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFondation] Change file extension of "audio/mpeg" from "mpga" to "mp3"

| 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 #36068 <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | no
<!--
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.
-->

`.mp3` files are more common than `.mpga` files.

Commits
-------

76a744ad91 [HttpFondation] Change file extension of "audio/mpeg" from "mpga" to "mp3"
2020-06-24 15:26:36 +02:00