Commit Graph

23144 Commits

Author SHA1 Message Date
Nicolas Grekas
fb4b75db1b bug #29376 [EventDispatcher] Fix eventListener wrapper loop in TraceableEventDispatcher (jderusse)
This PR was merged into the 3.4 branch.

Discussion
----------

[EventDispatcher] Fix eventListener wrapper loop in TraceableEventDispatcher

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

The `TracableEventDispatcher` wrap decorate (in the method `preProcess`) each listeners in a `WrappedListener` before delegating the dispatch to the real dispatcher, then remove the wrapper (in the method `postProcess`.

But, if a listener triggers an exception, the `postProcess` method is not called, and the wrapper in not removed.
If the same event is triggered a second time, the listeners will be decorated twice, etc, etc..
This is an issue with php-pm where the same event is triggered hundred of times within the same process.

This PR moves the `postProcess` in a finally block in order to be called even if an exception in thrown.

Commits
-------

3830a9e376 Fix wrapped loop of event listener
2018-12-01 09:20:40 +01:00
Ryan Rud
ff2431a512 fix type for $value in DocBlock
`$value` is supposed to be a string, not an int, according to [`NumberFormatter::setTextAttribute()` documentation](https://secure.php.net/manual/en/numberformatter.settextattribute.php)
2018-12-01 09:05:41 +01:00
Nicolas Grekas
4ada4dca43 [Config] fix path exclusion during glob discovery 2018-11-30 23:21:14 +01:00
Jérémy Derussé
3830a9e376
Fix wrapped loop of event listener 2018-11-30 19:07:24 +01:00
Nicolas Grekas
8bd2bbfb1c [DI] fix edge case in InlineServiceDefinitionsPass 2018-11-30 18:04:09 +01:00
Nicolas Grekas
799ad2e57c Merge branch '4.1' into 4.2
* 4.1:
  [Routing] fix greediness of trailing slash
2018-11-30 17:30:51 +01:00
Nicolas Grekas
e955506d83 bug #29380 [Routing] fix greediness of trailing slash (nicolas-grekas)
This PR was merged into the 4.1 branch.

Discussion
----------

[Routing] fix greediness of trailing slash

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

Commits
-------

eb6aee6e1a [Routing] fix greediness of trailing slash
2018-11-30 17:24:20 +01:00
Nicolas Grekas
eb6aee6e1a [Routing] fix greediness of trailing slash 2018-11-30 17:15:04 +01:00
Fabien Potencier
0bf4225b24 bumped Symfony version to 4.2.1 2018-11-30 10:41:53 +01:00
Fabien Potencier
887b0f13d7 updated VERSION for 4.2.0 2018-11-30 10:16:14 +01:00
Nicolas Grekas
5a4efeeebd Merge branch '4.1' into 4.2
* 4.1:
  typo
  add a test case
  [Form] Handle all case variants of "nan" when parsing a number
2018-11-30 09:55:31 +01:00
Nicolas Grekas
a4bc4ac0ce Merge branch '3.4' into 4.1
* 3.4:
  typo
  add a test case
  [Form] Handle all case variants of "nan" when parsing a number
2018-11-30 09:55:04 +01:00
Nicolas Grekas
6c3c47e550 bug #29343 [Form] Handle all case variants of "nan" when parsing a number (mwhudson, xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] Handle all case variants of "nan" when parsing a number

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

NumberToLocalizedStringTransformer::reverseTransform now special cases all case variants of "NaN", not just "NaN" specifically to insulate itself from changing behaviour in ICU.

Commits
-------

85af682834 add a test case
d903dcbac5 [Form] Handle all case variants of "nan" when parsing a number
2018-11-29 17:53:21 +01:00
Nicolas Grekas
f25575ecee minor #29370 typo (OskarStark)
This PR was merged into the 3.4 branch.

Discussion
----------

typo

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to 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        |

<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
 - Bug fixes must be submitted against the lowest 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 the master branch.
-->

Commits
-------

977a007e3a typo
2018-11-29 17:50:50 +01:00
Christian Flothmann
99a0cec0a6 [Security\Http] detect bad redirect targets using backslashes 2018-11-29 16:25:45 +01:00
Nicolas Grekas
205a44ea7d [Form] Filter file uploads out of regular form types 2018-11-29 16:24:44 +01:00
Nicolas Grekas
cfc54b481a Merge branch '4.1' into 4.2
* 4.1:
  [Routing] fix trailing slash redirection
  calculate cache keys for property setters depending on the value
  updated VERSION for 2.8.48
  update CONTRIBUTORS for 2.8.48
  updated CHANGELOG for 2.8.48
2018-11-29 15:48:32 +01:00
Nicolas Grekas
bce7748a37 bug #29373 [Routing] fix trailing slash redirection (nicolas-grekas)
This PR was merged into the 4.1 branch.

Discussion
----------

[Routing] fix trailing slash redirection

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

Commits
-------

fbaba23023 [Routing] fix trailing slash redirection
2018-11-29 15:24:55 +01:00
Nicolas Grekas
7ff53ac570 Merge branch '3.4' into 4.1
* 3.4:
  calculate cache keys for property setters depending on the value
  updated VERSION for 2.8.48
  update CONTRIBUTORS for 2.8.48
  updated CHANGELOG for 2.8.48
2018-11-29 15:23:48 +01:00
Nicolas Grekas
fbaba23023 [Routing] fix trailing slash redirection 2018-11-29 14:02:10 +01:00
Nicolas Grekas
35df3b5d6d bug #29355 [PropertyAccess] calculate cache keys for property setters depending on the value (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[PropertyAccess] calculate cache keys for property setters depending on the value

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

Commits
-------

fa234378ff calculate cache keys for property setters depending on the value
2018-11-29 13:24:43 +01:00
Christian Flothmann
fa234378ff calculate cache keys for property setters depending on the value 2018-11-29 13:09:28 +01:00
Shrey Puranik
3324e2a2a6
Update HttpKernel.php
Adding docblock to varToString method in HttpKernel Class
2018-11-29 08:43:48 +00:00
Oskar Stark
977a007e3a
typo 2018-11-29 09:33:43 +01:00
Nicolas Grekas
0f65b2dcaa Merge branch '4.1' into 4.2
* 4.1:
  [DI] fix combinatorial explosion when analyzing the service graph
  [Debug] workaround opcache bug mutating "$this" !?!
2018-11-28 19:24:18 +01:00
Nicolas Grekas
bfe2357ffa Merge branch '3.4' into 4.1
* 3.4:
  [DI] fix combinatorial explosion when analyzing the service graph
  [Debug] workaround opcache bug mutating "$this" !?!
2018-11-28 19:21:59 +01:00
Nicolas Grekas
27c17be552 bug #29369 [DI] fix combinatorial explosion when analyzing the service graph (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] fix combinatorial explosion when analyzing the service graph

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

and a few minor things found meanwhile.

Commits
-------

0d0be12e07 [DI] fix combinatorial explosion when analyzing the service graph
2018-11-28 19:21:41 +01:00
Nicolas Grekas
0d0be12e07 [DI] fix combinatorial explosion when analyzing the service graph 2018-11-28 19:09:44 +01:00
Christian Flothmann
85af682834 add a test case 2018-11-28 11:23:21 +01:00
Michael Hudson-Doyle
d903dcbac5 [Form] Handle all case variants of "nan" when parsing a number
Fixes #29321
2018-11-28 11:23:21 +01:00
Nicolas Grekas
e2b4c8d3c9 [Debug] workaround opcache bug mutating "$this" !?! 2018-11-27 13:43:10 +01:00
Nicolas Grekas
5e2e3fd56a Merge branch '4.1' into 4.2
* 4.1:
  Update PR template
  bumped Symfony version to 4.1.9
  updated VERSION for 4.1.8
  updated CHANGELOG for 4.1.8
  bumped Symfony version to 3.4.20
  updated VERSION for 3.4.19
  updated CHANGELOG for 3.4.19
  [Console] Move back root exception to stack trace in verbose mode
2018-11-27 08:40:44 +01:00
Stéphane Delprat
45c3de044e Fixes sprintf(): Too few arguments in Translator
Fixes the log produced when the method is called : 

Before : "sprintf(): Too few arguments"

After : "The "Symfony\Component\Translation\Translator::transChoice()" method is deprecated since Symfony 4.2, use the trans() one instead with a "%count%" parameter."

Reference : http://php.net/manual/function.sprintf.php
2018-11-27 08:20:32 +01:00
Nicolas Grekas
069693f1fd [Cache] fix deps 2018-11-26 19:33:39 +01:00
Fabien Potencier
9fba843a2a bumped Symfony version to 4.1.9 2018-11-26 16:00:55 +01:00
Fabien Potencier
63201c518c updated VERSION for 4.1.8 2018-11-26 15:52:15 +01:00
Fabien Potencier
acce087074 bumped Symfony version to 3.4.20 2018-11-26 15:50:31 +01:00
Fabien Potencier
ecb09280ef updated VERSION for 3.4.19 2018-11-26 15:04:48 +01:00
Fabien Potencier
c16d0d98fe Merge branch '3.4' into 4.1
* 3.4:
  [Console] Move back root exception to stack trace in verbose mode
2018-11-26 15:00:40 +01:00
Fabien Potencier
d6bbde5a36 bug #29318 [Console] Move back root exception to stack trace in verbose mode (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Move back root exception to stack trace in verbose mode

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

Commits
-------

63cd219a5c [Console] Move back root exception to stack trace in verbose mode
2018-11-26 14:57:20 +01:00
Fabien Potencier
a1a21f97a2 updated VERSION for 2.8.48 2018-11-26 14:20:43 +01:00
Robin Chalas
63cd219a5c [Console] Move back root exception to stack trace in verbose mode 2018-11-26 13:48:07 +01:00
Nicolas Grekas
721304eed4 Merge branch '4.1'
* 4.1:
  [PropertyAccess] make cache keys encoding bijective
2018-11-26 13:19:54 +01:00
Nicolas Grekas
97cca73de5 Merge branch '3.4' into 4.1
* 3.4:
  [PropertyAccess] make cache keys encoding bijective
2018-11-26 13:16:25 +01:00
Nicolas Grekas
4fe566bbc6 [PropertyAccess] make cache keys encoding bijective 2018-11-26 13:13:27 +01:00
Nicolas Grekas
124d07d878 Merge branch '4.1'
* 4.1:
  fix merge
2018-11-26 12:49:31 +01:00
Nicolas Grekas
2261e72896 Merge branch '4.1'
* 4.1: (23 commits)
  [Routing] fix trailing slash redirection when using RedirectableUrlMatcher
  [PropertyAccessor] fix encoding of cache keys
  [WebProfiler] Detect empty file paths in file viewer
  fixed CS
  Changes for upcoming Travis' infra migration
  Doc fix: clarify isMethodCacheable() returns true only for GET & HEAD
  [MonologBridge] Return empty list for unknonwn requests
  [DomCrawler] exclude fields inside "template" tags
  Use XLIFF source rather than resname when there's no target
  [DoctrineBridge] catch errors while converting to db values in data collector
  [DoctrineBridge] fix case sensitivity issue in RememberMe\DoctrineTokenProvider
  [EventDispatcher] Unwrap wrapped listeners internally
  [Routing] fix trailing slash redirection when using RedirectableUrlMatcher
  Removed the return type phpdoc
  fix authorization checker variable name
  [Routing] Remove duplicate schemes and methods for invokable controllers
  Indentation error
  [HttpFoundation] Fix trailing space for mime-type with parameters
  [HttpFoundation] Fixed absolute Request URI with default port
  [Bridge/PhpUnit] fix the fix
  ...
2018-11-26 11:55:26 +01:00
Nicolas Grekas
9dc9d7e0b7 Merge branch '3.4' into 4.1
* 3.4:
  [Routing] fix trailing slash redirection when using RedirectableUrlMatcher
  [PropertyAccessor] fix encoding of cache keys
  [WebProfiler] Detect empty file paths in file viewer
  fixed CS
  Changes for upcoming Travis' infra migration
  Doc fix: clarify isMethodCacheable() returns true only for GET & HEAD
  [DomCrawler] exclude fields inside "template" tags
  Use XLIFF source rather than resname when there's no target
  [DoctrineBridge] catch errors while converting to db values in data collector
  [DoctrineBridge] fix case sensitivity issue in RememberMe\DoctrineTokenProvider
  [EventDispatcher] Unwrap wrapped listeners internally
  Indentation error
  [HttpFoundation] Fix trailing space for mime-type with parameters
  [HttpFoundation] Fixed absolute Request URI with default port
  properly parse backslashes in unquoted env vars
  Use intersection type when referring to ParentNodeDefinitionInterface
  [BrowserKit] fixed BC Break for HTTP_HOST header; implemented same behaviour for HTTPS server parameter
2018-11-26 11:26:29 +01:00
Nicolas Grekas
95ebc9f38f bug #29298 [Routing] fix trailing slash redirection when using RedirectableUrlMatcher (nicolas-grekas)
This PR was merged into the 4.1 branch.

Discussion
----------

[Routing] fix trailing slash redirection when using RedirectableUrlMatcher

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

This is #29297 for 4.1

Commits
-------

6968000a3c [Routing] fix trailing slash redirection when using RedirectableUrlMatcher
2018-11-26 11:24:14 +01:00
Nicolas Grekas
0878006e22 bug #29297 [Routing] fix trailing slash redirection when using RedirectableUrlMatcher (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Routing] fix trailing slash redirection when using RedirectableUrlMatcher

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

This fixes #29287 by considering that the behavior of the dumped matcher is the correct one: lower priority routes never impact previous ones. I think it's what makes the most sense because that's what requires the most local knowledge to understand what's going on (ie that's the less surprising behavior).

Commits
-------

dc4c3f6927 [Routing] fix trailing slash redirection when using RedirectableUrlMatcher
2018-11-26 11:22:13 +01:00
Nicolas Grekas
11053c5e86 Merge branch '2.8' into 3.4
* 2.8:
  fixed CS
  Changes for upcoming Travis' infra migration
  Doc fix: clarify isMethodCacheable() returns true only for GET & HEAD
  [DomCrawler] exclude fields inside "template" tags
  Use XLIFF source rather than resname when there's no target
  [DoctrineBridge] catch errors while converting to db values in data collector
  [DoctrineBridge] fix case sensitivity issue in RememberMe\DoctrineTokenProvider
  Indentation error
  [HttpFoundation] Fix trailing space for mime-type with parameters
  Use intersection type when referring to ParentNodeDefinitionInterface
  [BrowserKit] fixed BC Break for HTTP_HOST header; implemented same behaviour for HTTPS server parameter
2018-11-26 11:17:44 +01:00
Fabien Potencier
11fde69c4c bug #29313 [PropertyAccessor] fix encoding of cache keys (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[PropertyAccessor] fix encoding of cache keys

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

Commits
-------

4568a0c904 [PropertyAccessor] fix encoding of cache keys
2018-11-26 10:46:06 +01:00
Nicolas Grekas
e728edb7b8 bug #29328 [HttpKernel] handle anonymous classes when generating the dumped container class name (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[HttpKernel] handle anonymous classes when generating the dumped container class name

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

Commits
-------

ac84cb2fbe [HttpKernel] handle anonymous classes when generating the dumped container class name
2018-11-26 10:40:11 +01:00
Nicolas Grekas
7d99badff7 [Cache] fix typo 2018-11-26 10:38:19 +01:00
Fabien Potencier
316f96ea95 minor #28912 [Config] Use intersection type when referring to ParentNodeDefinitionInterface (thewilkybarkid)
This PR was merged into the 2.8 branch.

Discussion
----------

[Config] Use intersection type when referring to ParentNodeDefinitionInterface

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

Allows PHPStan to understand it correctly (refs https://github.com/libero/content-api-bundle/pull/2#discussion_r226237763).

PHPStorm 2018.3 will add support for it too, but to help older versions I've reversed the order (so `NodeDefinition` is recognised).

Commits
-------

e9cdabe570 Use intersection type when referring to ParentNodeDefinitionInterface
2018-11-26 10:38:12 +01:00
Nicolas Grekas
ac84cb2fbe [HttpKernel] handle anonymous classes when generating the dumped container class name 2018-11-26 10:17:19 +01:00
Nicolas Grekas
dc4c3f6927 [Routing] fix trailing slash redirection when using RedirectableUrlMatcher 2018-11-26 09:40:22 +01:00
Nicolas Grekas
4568a0c904 [PropertyAccessor] fix encoding of cache keys 2018-11-26 09:15:01 +01:00
Fabien Potencier
661225075c bug #29302 [Contracts][Cache] allow retrieving metadata of cached items (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Contracts][Cache] allow retrieving metadata of cached items

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

We added `ItemInterface::getMetadata()` because getting them in userland is useful to propagate to higher level caches (eg sending tags + remaining ttl to Varnish).
But we forgot to add a way to retrieve them when using the new `CacheInterface::get()`.
This PR fixes it by adding a 4th `&$metadata` to the method.

Commits
-------

302b8446a7 [Contracts][Cache] allow retrieving metadata of cached items
2018-11-26 08:23:01 +01:00
Fabien Potencier
14931b182f bug #29315 [DI] fix copying expression providers when analyzing the service graph (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[DI] fix copying expression providers when analyzing the service graph

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

Courtesy of @mishal, thanks for providing all the details.

Commits
-------

246164f748 [DI] fix copying expression providers when analyzing the service graph
2018-11-26 08:21:08 +01:00
Fabien Potencier
22784d7037 bug #29316 [VarDumper] Fix ClassStub ellipsis (ro0NL)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[VarDumper] Fix ClassStub ellipsis

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

Confirmed by @nicolas-grekas this is the right fix.

Before:

![image](https://user-images.githubusercontent.com/1047696/48979309-56c27280-f0b9-11e8-85f8-5ce6837b58fc.png)

After:

![image](https://user-images.githubusercontent.com/1047696/48979310-617d0780-f0b9-11e8-8c43-b12febc1c859.png)

Commits
-------

88f4ba165f [VarDumper] Fix ClassStub ellipsis
2018-11-26 08:07:42 +01:00
Fabien Potencier
4ca1fe3f1b bug #29300 [Translation] fix dumping catalogues cache (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Translation] fix dumping catalogues cache

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

Commits
-------

4aab6e72c1 [Translation] fix dumping catalogues cache
2018-11-26 08:03:05 +01:00
Fabien Potencier
c0bfdeb5c5 bug #29308 [Translation] Use XLIFF source rather than resname when there's no target (thewilkybarkid)
This PR was merged into the 2.8 branch.

Discussion
----------

[Translation] Use XLIFF source rather than resname when there's no target

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

Relates to https://github.com/symfony/symfony/issues/20076#issuecomment-251552328. If there's no `<target>` in an XLIFF but there is a `@resname` then that's used rather than the `<source>`.

If I'm using translation keys and my source locale is `en`, then it's a bit redundant to duplicate the `<source>` in the `<target>` in the `en` file (since there is no translation).

This isn't changing the behaviour when `<target>` is present but empty.

(Caveat: I'm definitely not an expert on XLIFF.)

Commits
-------

8633ebbca0 Use XLIFF source rather than resname when there's no target
2018-11-26 08:01:16 +01:00
Fabien Potencier
8a60f9870f bug #26244 [BrowserKit] fixed BC Break for HTTP_HOST header (brizzz)
This PR was merged into the 2.8 branch.

Discussion
----------

[BrowserKit] fixed BC Break for HTTP_HOST header

| Q             | A
| ------------- | ---
| Branch?       | 2.7, 2.8, 3.x, 4.x
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes/no
| Fixed tickets | #22933
| License       | MIT
| Doc PR        | n/a

The situation well described in the original issue. I will add only:

- #10549 - makes server parameters to take precedence over URI.
- #16265 - partially revererts  #10549. Makes server parameters do not affect URI. But this is only true for `Client::request()`. It is still possible to set host for URI by `Client::setServerParameters()` when URI is realative (see examples below).

I propose a compromise solution: add to HTTP_HOST header power to override URI when it is relative.

Proposed solution:
- if the request URI is relative, then use the HTTP_HOST header passed to Client::request() to generate an absolute URI
- if the request URI is absolute, then ignore the HTTP_HOST header (as it now works)
- do the same with HTTPS server parameter

Profit:
- fix BC Break
- the documentation will be correct
  - http://symfony.com/doc/2.8/routing/hostname_pattern.html#testing-your-controllers
  - https://symfony.com/doc/2.8/testing.html#testing-configuration

Before:

```
$client->setServerParameters(['HTTP_HOST' => 'example.com']);
$client->request('GET', '/');
$this->assertEquals('http://example.com/', $client->getRequest()->getUri());

$client->request('GET', '/', [], [], ['HTTP_HOST' => 'example.com']);
$this->assertEquals('http://localhost/', $client->getRequest()->getUri());
```

Fixed (see last line):

```
$client->setServerParameters(['HTTP_HOST' => 'example.com']);
$client->request('GET', '/');
$this->assertEquals('http://example.com/', $client->getRequest()->getUri());

$client->request('GET', '/', [], [], ['HTTP_HOST' => 'example.com']);
$this->assertEquals('http://example.com/', $client->getRequest()->getUri());
```

Commits
-------

8c4a59467f [BrowserKit] fixed BC Break for HTTP_HOST header; implemented same behaviour for HTTPS server parameter
2018-11-26 07:55:10 +01:00
Fabien Potencier
57c1432045 bug #28147 [DomCrawler] exclude fields inside "template" tags (Gorjunov)
This PR was merged into the 2.8 branch.

Discussion
----------

[DomCrawler] exclude fields inside "template" tags

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

Exclude fields values/files if fields are inside template tag. I think better to exclude values only instead of excluding fields at all (described in ticket #27285)

Commits
-------

19e3e154d7 [DomCrawler] exclude fields inside "template" tags
2018-11-26 07:47:09 +01:00
Roland Franssen
88f4ba165f [VarDumper] Fix ClassStub ellipsis 2018-11-25 13:50:42 +01:00
Tom Counsell
9da998005b Doc fix: clarify isMethodCacheable() returns true only for GET & HEAD
The current documentation points to https://tools.ietf.org/html/rfc7231#section-4.2.3.

The spec says: "this specification defines GET, HEAD, and POST as cacheable, although the overwhelming majority of cache implementations only support GET and HEAD.".

This fix to the documentation clarifies that Symfony follows majority (excluding POST) rather than the spec (including POST).
2018-11-25 12:27:05 +01:00
Nicolas Grekas
246164f748 [DI] fix copying expression providers when analyzing the service graph 2018-11-25 12:18:11 +01:00
Sergei Gorjunov
19e3e154d7 [DomCrawler] exclude fields inside "template" tags 2018-11-24 23:30:19 +01:00
Chris Wilkinson
8633ebbca0 Use XLIFF source rather than resname when there's no target 2018-11-24 21:16:41 +00:00
Roland Franssen
448e2e2445 [EventDispatcher] Unwrap wrapped listeners internally 2018-11-24 14:14:57 +01:00
Nicolas Grekas
f9414a8e81 bug #29260 [Lock] Fixed PdoStore::putOffExpiration(), PdoStore::getHashedKey() (PavelPrischepa)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Lock] Fixed PdoStore::putOffExpiration(), PdoStore::getHashedKey()

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

1. Fixed PDO Statement exception in PdoStore::putOffExpiration():

```
 An exception occurred while executing 'UPDATE lock_keys SET key_expiration = UNIX_TIMESTAMP() + 10, key_token = :token WHERE key_id = :id AND (key_token = :token OR key_expiration <= UNIX_TIMESTAMP())' with params ["dcfc5ff369bc1896563
  325c2e90478154eb670f6b6ebad3617e946ecb1f81517", "FRJOnftxRwPIgIRVb4EpOIVFwNjTmx0fwkBSTVJdViI="]:

  SQLSTATE[HY093]: Invalid parameter number
```

2. Added explicit casting `Key` to `string` in getHashedKey() to avoid error with `strict_types` enabled.

Commits
-------

a639301cd6 [Lock] Fixed PDOStatement exception "Invalid parameter number" in putOffExpiration()
2018-11-24 10:46:15 +01:00
Pavel Prischepa
a639301cd6 [Lock] Fixed PDOStatement exception "Invalid parameter number" in putOffExpiration() 2018-11-24 10:44:51 +01:00
Nicolas Grekas
302b8446a7 [Contracts][Cache] allow retrieving metadata of cached items 2018-11-24 10:35:08 +01:00
Nicolas Grekas
4aab6e72c1 [Translation] fix dumping catalogues cache 2018-11-24 09:35:00 +01:00
Fabien Potencier
7f310b4c77 bug #29222 [Dotenv] properly parse backslashes in unquoted env vars (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Dotenv] properly parse backslashes in unquoted env vars

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

Commits
-------

785fff56ce properly parse backslashes in unquoted env vars
2018-11-24 08:50:44 +01:00
Fabien Potencier
0f2d577ebd bug #29256 [HttpFoundation] Fixed absolute Request URI with default port (thomasbisignani)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] Fixed absolute Request URI with default port

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

This PR fixes the #29234 issue, the request URI with default port was not properly generated.

Example :

```php
$request = Request::create('http://test.com:80/foo');
$request->server->set('REQUEST_URI', 'http://test.com:80/foo');
```

Before this fix, the `$request->getUri()` method returned `http://test.com/:80/foo` :

```diff
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'http://test.com/foo'
+'http://test.com/:80/foo'
```

Commits
-------

cddce2af61 [HttpFoundation] Fixed absolute Request URI with default port
2018-11-24 08:47:43 +01:00
Fabien Potencier
b178266bcd Merge branch '3.4' into 4.1
* 3.4:
  fix authorization checker variable name
  [Routing] Remove duplicate schemes and methods for invokable controllers
  [Bridge/PhpUnit] fix the fix
2018-11-24 08:45:31 +01:00
Fabien Potencier
812a878c47 bug #29274 [Routing] Remove duplicate schemes and methods for invokable controllers (claudusd)
This PR was merged into the 3.4 branch.

Discussion
----------

[Routing] Remove duplicate schemes and methods for invokable controllers

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

This PR backport for 3.4 branch the same issue than the PR #29225.

I add a test to check the fix when annotation are on the class and rename another one when the route annotation is on the invoke method.

Commits
-------

640ccdf069 [Routing] Remove duplicate schemes and methods for invokable controllers
2018-11-24 08:36:54 +01:00
Yonel Ceruto
38692a6e5f [HttpKernel][WebProfilerBundle] Getting the cached client mime type instead of guessing it again 2018-11-24 08:32:14 +01:00
Nicolas Grekas
6968000a3c [Routing] fix trailing slash redirection when using RedirectableUrlMatcher 2018-11-23 18:35:50 +01:00
Samuel NELA
143597a2b9 Removed the return type phpdoc 2018-11-23 14:03:00 +01:00
Fabien Potencier
e4a7fd8eed bug #29271 [HttpFoundation] Fix trailing space for mime-type with parameters (Sascha Dens)
This PR was merged into the 2.8 branch.

Discussion
----------

[HttpFoundation] Fix trailing space for mime-type with parameters

| Q             | A
| ------------- | ---
| Branch?       | 2.8
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to 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 -->

<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
 - Bug fixes must be submitted against the lowest 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 the master branch.
-->
This PR fixes a minor issue that we've discovered by exposing our API towards mobile applications which where sending the header as following `content-type: application/json ;charset=UTF-8`. Request is unable to determine the `getContentType -> getFormat` as **json** due to the whitespace at the end.

```php
$request = Request::createFromGlobals();
$request->headers->set('CONTENT_TYPE', 'application/json ;charset=UTF-8'); // Forcing header for test
if ($request->getContentType() !== 'json') {
    // Return 415 (Unsupported Media Type) status code..
}
```

When checking https://tools.ietf.org/html/rfc7231#section-3.1.1.1 it seems that a space is part of the RFC spec. (Where OWS is abbreviated for Optional WhiteSpace)
```
media-type = type "/" subtype *( OWS ";" OWS parameter )
```
Current the following cases are supported:
* application/json; charset=UTF-8
* application/json;charset=UTF-8

The following are failing:
* application/json ; charset=UTF-8
* application/json ;charset=UTF-8

Commits
-------

f4866bc371 [HttpFoundation] Fix trailing space for mime-type with parameters
2018-11-22 11:33:55 +01:00
Fabien Potencier
d713671b80 minor #29278 [Workflow] fix authorization checker variable name (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Workflow] fix authorization checker variable name

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

Commits
-------

9f4032d20f fix authorization checker variable name
2018-11-22 11:26:16 +01:00
Christian Flothmann
9f4032d20f fix authorization checker variable name 2018-11-22 08:01:54 +01:00
Claude Dioudonnat
640ccdf069 [Routing] Remove duplicate schemes and methods for invokable controllers 2018-11-21 20:17:55 +01:00
ValentineBoineau
24264facaa
Indentation error 2018-11-21 15:20:20 +01:00
Sascha Dens
f4866bc371 [HttpFoundation] Fix trailing space for mime-type with parameters 2018-11-21 13:53:33 +01:00
Nicolas Grekas
227cf2cc22 feature #29167 [Messenger] Add a trait for synchronous query & command buses (ogizanagi)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Add a trait for synchronous query & command buses

| Q             | A
| ------------- | ---
| Branch?       | 4.2 <!-- see below -->
| Bug fix?      | no
| New feature?  | yes <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | N/A   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs/issues/10662

Commits
-------

6ba4e8aad5 [Messenger] Add a trait for synchronous query & command buses
2018-11-20 19:24:21 +01:00
Maxime Steinhausser
6ba4e8aad5 [Messenger] Add a trait for synchronous query & command buses 2018-11-20 19:19:09 +01:00
Thomas Bisignani
cddce2af61 [HttpFoundation] Fixed absolute Request URI with default port 2018-11-20 17:50:57 +01:00
Nicolas Grekas
ce6d918baf fix cs 2018-11-20 17:23:41 +01:00
Nicolas Grekas
b634ed564a Merge branch '4.1'
* 4.1:
  fix cs
  fix cs
  fix cs
  SCA: consolidate non empty array checks across codebase
  [cs] correct invalid @param types
  [Bridge/PhpUnit] Use composer to download phpunit
  [DI] fix taking lazy services into account when dumping the container
  [Form] Fixed empty data for compound date interval
  [Cache] fix optimizing Psr6Cache for AdapterInterface pools
  deal with explicitly enabled workflow nodes
2018-11-20 17:22:05 +01:00
Nicolas Grekas
578f847c02 fix cs 2018-11-20 17:17:28 +01:00
Nicolas Grekas
6a1701e574 fix cs 2018-11-20 17:14:23 +01:00
Nicolas Grekas
713b7986fe Merge branch '3.4' into 4.1
* 3.4:
  fix cs
  SCA: consolidate non empty array checks across codebase
  [cs] correct invalid @param types
  [Bridge/PhpUnit] Use composer to download phpunit
  [DI] fix taking lazy services into account when dumping the container
  [Form] Fixed empty data for compound date interval
  [Cache] fix optimizing Psr6Cache for AdapterInterface pools
  deal with explicitly enabled workflow nodes
2018-11-20 17:14:00 +01:00
Nicolas Grekas
f103b6b91d fix cs 2018-11-20 17:10:26 +01:00
Nicolas Grekas
36527634f2 minor #29231 SCA: consolidate non empty array checks across codebase (kalessil)
This PR was squashed before being merged into the 3.4 branch (closes #29231).

Discussion
----------

SCA: consolidate non empty array checks across codebase

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

This PR replaces `is_array(...) && count(...) > 0` with `... && is_array(...)` construct used in the codebase.

Commits
-------

2f1fd54dda SCA: consolidate non empty array checks across codebase
2018-11-20 17:02:07 +01:00
Vladimir Reznichenko
2f1fd54dda SCA: consolidate non empty array checks across codebase 2018-11-20 17:01:59 +01:00
Nicolas Grekas
ab51fa84a5 bug #29243 [Cache] fix optimizing Psr6Cache for AdapterInterface pools (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] fix optimizing Psr6Cache for AdapterInterface pools

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

As described by @Tobion in https://github.com/symfony/symfony/pull/29236/files#r234324045:
> The problem I have experienced is that in dev mode the cache is decorated with a TraceableCache. This means it loses this optimization and introduces https://github.com/symfony/symfony/issues/28918#issuecomment-432399481 again

Commits
-------

b8100a9df0 [Cache] fix optimizing Psr6Cache for AdapterInterface pools
2018-11-20 17:01:33 +01:00