Commit Graph

43679 Commits

Author SHA1 Message Date
Nicolas Grekas b628210df7 Merge branch '3.4' into 4.3
* 3.4:
  Sync Twig templateExists behaviors
  Fix the :only-of-type pseudo class selector
  [Serializer] Add CsvEncoder tests for PHP 7.4
  Copy phpunit.xsd to a predictable path
  [Security/Http] fix parsing X509 emailAddress
  [Serializer] fix denormalization of string-arrays with only one element #33731
  [Cache] fix known tag versions ttl check
2019-10-02 10:36:26 +02:00
Nicolas Grekas ff194d9844 minor #33792 Sync Twig templateExists behaviors (fancyweb)
This PR was merged into the 3.4 branch.

Discussion
----------

Sync Twig templateExists behaviors

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

There are 5 places in the code that does the same check, but they are not consistent. The difficulty here is to support Twig 1, 2 & 3. I think relying on `Environment::MAJOR_VERSION` is OK. `method_exists` are useless IMO. The proof is that they are currenty missing in some of them.

Basically if Twig >= 2 -> the method `exists` exists on the loader so just call it.

For Twig 1, check `ExistsLoaderInterface`, then check for `SourceContextLoaderInterface`, then call `getSource()`.

Commits
-------

d7682fee6c Sync Twig templateExists behaviors
2019-10-02 10:32:14 +02:00
Nicolas Grekas 9a48def0c0 [DI] add tests loading calls with returns-clone 2019-10-02 10:03:02 +02:00
Alexander M. Turek 8e8a6ed99b [EventDispatcher] Added tests for aliased events. 2019-10-01 18:40:32 +02:00
Thomas Calvet d7682fee6c Sync Twig templateExists behaviors 2019-10-01 17:13:36 +02:00
Fabien Potencier d2b66ff592 bug #33777 Fix the :only-of-type pseudo class selector (jakzal)
This PR was squashed before being merged into the 3.4 branch (closes #33777).

Discussion
----------

Fix the :only-of-type pseudo class selector

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

Commits
-------

c2a9bf08f1 Fix the :only-of-type pseudo class selector
2019-10-01 13:57:42 +02:00
Jakub Zalas c2a9bf08f1 Fix the :only-of-type pseudo class selector 2019-10-01 13:57:37 +02:00
Fabien Potencier 871e8e9158 bug #32051 [Serializer] Add CsvEncoder tests for PHP 7.4 (ro0NL)
This PR was squashed before being merged into the 3.4 branch (closes #32051).

Discussion
----------

[Serializer] Add CsvEncoder tests for PHP 7.4

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? |no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Some CSV encoder tests to show the broken behavior of a trailing slash. Spotted in #31867, not sure what to do with it :)

Commits
-------

760354d533 [Serializer] Add CsvEncoder tests for PHP 7.4
2019-10-01 01:11:46 +02:00
Roland Franssen 760354d533 [Serializer] Add CsvEncoder tests for PHP 7.4 2019-10-01 01:11:32 +02:00
Fabien Potencier befa5c69c2 feature #33776 Copy phpunit.xsd to a predictable path (julienfalque)
This PR was merged into the 3.4 branch.

Discussion
----------

Copy phpunit.xsd to a predictable path

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | yes-ish
| Deprecations? | no
| Tickets       | https://github.com/symfony/recipes/pull/652#discussion_r329446277
| License       | MIT
| Doc PR        | -

In symfony/recipes#652 I would like to make Flex create the `phpunit.xml.dist` file with a local URI for the `phpunit.xsd`. This is doable when using `phpunit/phpunit` standalone because the path to the XSD file is known. This PR aims to allow doing this when using the PHPUnit Bridge, which installs PHPUnit in a path that might change.

Is is simple `@copy()` call ok? Should I add some error handling?

Commits
-------

233dcb4b75 Copy phpunit.xsd to a predictable path
2019-10-01 01:07:55 +02:00
Fabien Potencier a824e08314 bug #33759 [Security/Http] fix parsing X509 emailAddress (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security/Http] fix parsing X509 emailAddress

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

Commits
-------

fceb86bde6 [Security/Http] fix parsing X509 emailAddress
2019-10-01 01:01:20 +02:00
Julien Falque 233dcb4b75
Copy phpunit.xsd to a predictable path 2019-09-30 22:33:19 +02:00
Nicolas Grekas a2cd56c12f bug #33733 [Serializer] fix denormalization of string-arrays with only one element (mkrauser)
This PR was merged into the 3.4 branch.

Discussion
----------

[Serializer] fix denormalization of string-arrays with only one element

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

This PR does almost the same as ac70edf8cd, just not only for arrays of objects.

Commits
-------

8814751b96 [Serializer] fix denormalization of string-arrays with only one element #33731
2019-09-30 16:55:04 +02:00
Nicolas Grekas fceb86bde6 [Security/Http] fix parsing X509 emailAddress 2019-09-30 14:24:32 +02:00
Matthias Krauser 8814751b96 [Serializer] fix denormalization of string-arrays with only one element #33731 2019-09-30 12:45:58 +02:00
Nicolas Grekas 03f2adcb4e bug #33754 [Cache] fix known tag versions ttl check (SwenVanZanten)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] fix known tag versions ttl check

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

The introduced changes from PR #27007 came with a knownTagVersionTtl property defaulted to 0.15 microseconds. The if statement defined on line 353 checks if the ttl is higher then the already known tag versions. This results in the opposite of the wanted behavior. Instead of waiting for the ttl to expire the if statement is only true if the known versions are lower than the version ttl.

So if this Adapter stays in memory the tag versions are never checked again if the ttl is already lower then the passed time.

The unit test I've added tests once if the version is changed and another time it doesn't get checked cause the ttl hasn't been expired yet.

Commits
-------

205abf3435 [Cache] fix known tag versions ttl check
2019-09-30 12:02:01 +02:00
Swen van Zanten 205abf3435
[Cache] fix known tag versions ttl check 2019-09-29 23:19:44 +02:00
Nicolas Grekas e96add4787 [Crawler] document $default as string|null 2019-09-28 23:25:05 +02:00
Nicolas Grekas d8a026bcad Merge branch '3.4' into 4.3
* 3.4:
  sync phpunit script with master
2019-09-28 18:12:55 +02:00
Nicolas Grekas fda5b20c39 sync phpunit script with master 2019-09-28 18:12:11 +02:00
Nicolas Grekas 241e2f7fb7 Merge branch '3.4' into 4.3
* 3.4:
  [HttpFoundation] allow additinal characters in not raw cookies
2019-09-28 17:12:15 +02:00
Nicolas Grekas ca253960d8 bug #33646 [HttpFoundation] allow additinal characters in not raw cookies (marie)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] allow additinal characters in not raw cookies

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| Tickets       | Fix #33619
| License     | MIT

> **Description**
> When creating a non-raw Cookie, it is impossible to provide a name that contains characters matching the regex class [=,; \t\r\n\013\014]

**Solution**: Check with this regex only raw cookie

Commits
-------

4db1402770 [HttpFoundation] allow additinal characters in not raw cookies
2019-09-28 17:10:09 +02:00
marie 4db1402770 [HttpFoundation] allow additinal characters in not raw cookies 2019-09-28 17:09:56 +02:00
Nicolas Grekas 8033fc5a1d Merge branch '3.4' into 4.3
* 3.4:
  Do not include hidden commands in suggested alternatives
  [DependencyInjection] Fix wrong exception when service is synthetic
2019-09-28 16:55:46 +02:00
Nicolas Grekas 944cda7969 bug #33748 [Console] Do not include hidden commands in suggested alternatives (m-vo)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Do not include hidden commands in suggested alternatives

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

Partially backports #33412 on 3.4, avoids leaking the names of hidden commands in suggested alternatives on command not found.

Commits
-------

8a9d173c36 Do not include hidden commands in suggested alternatives
2019-09-28 16:54:55 +02:00
M. Vondano 8a9d173c36 Do not include hidden commands in suggested alternatives 2019-09-28 16:39:43 +02:00
Roland Franssen 82f341864c [DI] Add CSV env var processor tests 2019-09-28 11:59:10 +02:00
Nicolas Grekas 293a22a433 bug #33625 [DependencyInjection] Fix wrong exception when service is synthetic (k0d3r1s)
This PR was squashed before being merged into the 3.4 branch (closes #33625).

Discussion
----------

[DependencyInjection] Fix wrong exception when service is synthetic

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

This fixes wrongfully thrown exception when service is defined as synthetic and some arguments are binded in _defaults

Commits
-------

152dec95bc [DependencyInjection] Fix wrong exception when service is synthetic
2019-09-27 17:48:09 +02:00
k0d3r1s 152dec95bc [DependencyInjection] Fix wrong exception when service is synthetic 2019-09-27 17:47:48 +02:00
Nicolas Grekas fbfdebc487 fix merge (bis) 2019-09-27 16:39:13 +02:00
Nicolas Grekas d4d81be289 fix merge 2019-09-27 16:37:39 +02:00
Nicolas Grekas 7bb421bd45 Merge branch '3.4' into 4.3
* 3.4:
  [Form][Validator][Intl] Fix tests
  [Validator] Accept underscores in the URL validator as the URL will resolve correctly
  [Translation] Collect original locale in case of fallback translation
  Fix toolbar load when GET params are present in "_wdt" route
2019-09-27 16:21:32 +02:00
Nicolas Grekas 82a62d2bd6 minor #33739 [Form][Validator][Intl] Fix tests (ro0NL)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form][Validator][Intl] Fix tests

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix https://github.com/symfony/symfony/pull/33148#issuecomment-535929906
| 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/roadmap):
 - 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 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

e648a91259 [Form][Validator][Intl] Fix tests
2019-09-27 16:04:35 +02:00
Roland Franssen e648a91259 [Form][Validator][Intl] Fix tests 2019-09-27 16:00:26 +02:00
Tobias Schultze abf11d8ba8 bug #32979 [Messenger] return empty envelopes when RetryableException occurs (surikman)
This PR was squashed before being merged into the 4.3 branch (closes #32979).

Discussion
----------

[Messenger] return empty envelopes when RetryableException occurs

| Q             | A
| ------------- | ---
| Branch?       |  3.4 or 4.3 for bug fixes <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| License       | MIT
| ~~Doc PR~~ | ~~symfony/symfony-docs#12109~~

<!--
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/roadmap):
 - 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 4.4.
 - Legacy code removals go to the master branch.
-->

Problem occurs when you are using more than 1 worker with Doctrine Transport.

`Symfony\Component\Messenger\Transport\Doctrine\Connection::get` does a query `SELECT ... FOR UPDATE` and this locking query could lock table and workers stops. But using locks can result in dead locks or lock timeouts. Doctrine renders these SQL errors as RetryableExceptions. These exceptions are often normal if you are in a high concurrency environment. They can happen very often and your application should handle them properly.

Commits
-------

9add32a9ca [Messenger] return empty envelopes when RetryableException occurs
2019-09-27 13:21:51 +02:00
SuRiKmAn 9add32a9ca [Messenger] return empty envelopes when RetryableException occurs 2019-09-27 13:21:34 +02:00
Fabien Potencier ad89564ebf bug #32522 [Validator] Accept underscores in the URL validator, as the URL will load (battye)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] Accept underscores in the URL validator, as the URL will load

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #32506
| License       | MIT
| Doc PR        | -

As @javiereguiluz mentioned, regardless of convention a URL with an underscore in it will load perfectly fine - so in that respect it must be valid.

Commits
-------

c9c7a1118c [Validator] Accept underscores in the URL validator as the URL will resolve correctly
2019-09-27 09:08:14 +02:00
battye c9c7a1118c [Validator] Accept underscores in the URL validator as the URL will resolve correctly 2019-09-27 08:53:48 +02:00
Fabien Potencier 8dc0814e79 bug #32437 Fix toolbar load when GET params are present in "_wdt" route (Molkobain)
This PR was merged into the 3.4 branch.

Discussion
----------

Fix toolbar load when GET params are present in "_wdt" route

When using a custom router that inject GET parameters, eg:

```
# services.yaml
parameters:
    # Replace default url generator service
    router.options.generator_base_class: Combodo\iTop\Portal\Routing\UrlGenerator
```

The path generated by the toolbar JS is HTML entity encoded which breaks the JS call (`&` becomes `&amp;`).

| Q             | A
| ------------- | ---
| Branch?       | 4.4 for features / 3.4, 4.2 or 4.3 for bug fixes <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #...   <!-- #-prefixed issue number(s), 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/roadmap):
 - 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 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

5309e64949 Fix toolbar load when GET params are present in "_wdt" route
2019-09-27 08:10:02 +02:00
Fabien Potencier 650f179c2f bug #32925 [Translation] Collect original locale in case of fallback translation (digilist)
This PR was squashed before being merged into the 3.4 branch (closes #32925).

Discussion
----------

[Translation] Collect original locale in case of fallback translation

Before, it collected the fallback locale that was used to translate a key. But this information is confusing, as it does not reveal which translation key is missing in the requested language.

So I'd like to propose to track the "requested" locale instead, so that the Symfony profiler gives me the information in which locale the key is missing instead of which locale was used as a fallback.

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | yes?
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

In principle, this change is a BC break, but imho also a bug. It's really confusing when the Profiler tells you that it uses a translation fallback for an ID and locale that is actually translated. Took some debugging so recognize that this fallback came from another locale. If you think it's better to target 5.0, I'll update the PR.

Commits
-------

5564e149cb [Translation] Collect original locale in case of fallback translation
2019-09-27 07:57:25 +02:00
Markus Fasselt 5564e149cb [Translation] Collect original locale in case of fallback translation 2019-09-27 07:57:18 +02:00
Nicolas Grekas dff71cef48 bug #33691 [HttpClient] fix race condition when reading response with informational status (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] fix race condition when reading response with informational status

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

Spotted by some transiently failing jobs on Travis.

Commits
-------

450c3c4998 [HttpClient] fix race condition when reading response with informational status
2019-09-26 23:20:52 +02:00
Nicolas Grekas c8dbd1ad75 bug #33727 [HttpClient] workaround bad Content-Length sent by old libcurl (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] workaround bad Content-Length sent by old libcurl

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

Issue described in https://curl.haxx.se/mail/lib-2014-01/0106.html, happens with curl 7.29 at least.

Commits
-------

b8d2496979 [HttpClient] workaround bad Content-Length sent by old libcurl
2019-09-26 23:18:02 +02:00
Nicolas Grekas 0d05f3e765 Merge branch '3.4' into 4.3
* 3.4:
  [FrameworkBundle] Fix framework bundle lock configuration not working as expected
  [Validator] Add the missing translations for the Azerbaijani locale
  [Cache] dont override native Memcached options
  Fix return type of Process::restart().
2019-09-26 23:17:10 +02:00
Nicolas Grekas 4b2019db78 bug #31198 [FrameworkBundle] Fix framework bundle lock configuration not working as expected (HypeMC)
This PR was squashed before being merged into the 3.4 branch (closes #31198).

Discussion
----------

[FrameworkBundle] Fix framework bundle lock configuration not working as expected

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #31197
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/11465 & https://github.com/symfony/symfony-docs/pull/11466

This fixes #31197 and makes the lock configuration work with installations that are not full stack ones and configurations that use xml files.

Commits
-------

c7af2df340 [FrameworkBundle] Fix framework bundle lock configuration not working as expected
2019-09-26 22:59:16 +02:00
HypeMC c7af2df340 [FrameworkBundle] Fix framework bundle lock configuration not working as expected 2019-09-26 22:59:09 +02:00
Nicolas Grekas ad66a160b1 bug #33719 [Cache] dont override native Memcached options (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] dont override native Memcached options

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

Commits
-------

894a78e812 [Cache] dont override native Memcached options
2019-09-26 22:41:00 +02:00
Fabien Potencier bb96c34b97 minor #33728 [Validator] Add the missing translations for the Azerbaijani locale (seferov)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] Add the missing translations for the Azerbaijani locale

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #30150
| License       | MIT

Commits
-------

dde0256e63 [Validator] Add the missing translations for the Azerbaijani locale
2019-09-26 22:19:54 +02:00
Farhad Safarov dde0256e63 [Validator] Add the missing translations for the Azerbaijani locale 2019-09-26 23:00:18 +03:00
Nicolas Grekas b8d2496979 [HttpClient] workaround bad Content-Length sent by old libcurl 2019-09-26 21:42:07 +02:00