Commit Graph

32469 Commits

Author SHA1 Message Date
Christian Flothmann
ed97568b8a filter out invalid language values 2018-12-07 15:34:22 +00:00
Jules Pietri
b53d9112ca [Validator] Fixed grouped composite constraints 2018-12-07 14:48:19 +00:00
Nicolas Grekas
000e4aab5e [Form] Filter arrays out of scalar form types 2018-12-07 08:49:47 +00:00
Fabien Potencier
1ebca577a5 bumped Symfony version to 4.2.2 2018-12-06 17:41:46 +00:00
Fabien Potencier
267db0287c updated VERSION for 4.2.1 2018-12-06 17:39:52 +00:00
Fabien Potencier
9455c0b233 bumped Symfony version to 4.1.10 2018-12-06 17:39:00 +00:00
Fabien Potencier
c48d883794 updated VERSION for 4.1.9 2018-12-06 17:34:50 +00:00
Fabien Potencier
9e84e0ff98 bumped Symfony version to 3.4.21 2018-12-06 15:57:52 +00:00
Fabien Potencier
b09cb1e8e6 updated VERSION for 3.4.20 2018-12-06 14:59:33 +00:00
Nicolas Grekas
ee337dd761 Merge branch '4.2'
* 4.2:
  [Security\Http] detect bad redirect targets using backslashes
  [Form] Filter file uploads out of regular form types
  Fix CI
  minor #28258 [travis] fix composer.lock invalidation for deps=low (nicolas-grekas)
  [travis] fix composer.lock invalidation for PRs patching several components
  [travis] fix composer.lock invalidation for deps=low
  minor #28199 [travis][appveyor] use symfony/flex to accelerate builds (nicolas-grekas)
  [travis] ignore ordering when validating composer.lock files for deps=low
  minor #28146 [travis] cache composer.lock files for deps=low (nicolas-grekas)
  fix ci
  [travis] fix requiring mongodb/mongodb before composer up
  minor #28114 [travis] merge "same Symfony version" jobs in one (nicolas-grekas)
  [2.7] Make CI green
  updated VERSION for 2.7.49
  updated CHANGELOG for 2.7.49
  [HttpKernel] fix trusted headers management in HttpCache and InlineFragmentRenderer
  [HttpFoundation] Remove support for legacy and risky HTTP headers
  updated VERSION for 2.7.48
  update CONTRIBUTORS for 2.7.48
  updated CHANGELOG for 2.7.48
2018-12-06 11:37:20 +00:00
Nicolas Grekas
95e4edba92 Merge branch '4.1' into 4.2
* 4.1:
  [Security\Http] detect bad redirect targets using backslashes
  [Form] Filter file uploads out of regular form types
  Fix CI
  minor #28258 [travis] fix composer.lock invalidation for deps=low (nicolas-grekas)
  [travis] fix composer.lock invalidation for PRs patching several components
  [travis] fix composer.lock invalidation for deps=low
  minor #28199 [travis][appveyor] use symfony/flex to accelerate builds (nicolas-grekas)
  [travis] ignore ordering when validating composer.lock files for deps=low
  minor #28146 [travis] cache composer.lock files for deps=low (nicolas-grekas)
  fix ci
  [travis] fix requiring mongodb/mongodb before composer up
  minor #28114 [travis] merge "same Symfony version" jobs in one (nicolas-grekas)
  [2.7] Make CI green
  updated VERSION for 2.7.49
  updated CHANGELOG for 2.7.49
  [HttpKernel] fix trusted headers management in HttpCache and InlineFragmentRenderer
  [HttpFoundation] Remove support for legacy and risky HTTP headers
  updated VERSION for 2.7.48
  update CONTRIBUTORS for 2.7.48
  updated CHANGELOG for 2.7.48
2018-12-06 11:36:58 +00:00
Nicolas Grekas
34f6a4066d Merge branch '3.4' into 4.1
* 3.4:
  [Security\Http] detect bad redirect targets using backslashes
  [Form] Filter file uploads out of regular form types
  Fix CI
  minor #28258 [travis] fix composer.lock invalidation for deps=low (nicolas-grekas)
  [travis] fix composer.lock invalidation for PRs patching several components
  [travis] fix composer.lock invalidation for deps=low
  minor #28199 [travis][appveyor] use symfony/flex to accelerate builds (nicolas-grekas)
  [travis] ignore ordering when validating composer.lock files for deps=low
  minor #28146 [travis] cache composer.lock files for deps=low (nicolas-grekas)
  fix ci
  [travis] fix requiring mongodb/mongodb before composer up
  minor #28114 [travis] merge "same Symfony version" jobs in one (nicolas-grekas)
  [2.7] Make CI green
  updated VERSION for 2.7.49
  updated CHANGELOG for 2.7.49
  [HttpKernel] fix trusted headers management in HttpCache and InlineFragmentRenderer
  [HttpFoundation] Remove support for legacy and risky HTTP headers
  updated VERSION for 2.7.48
  update CONTRIBUTORS for 2.7.48
  updated CHANGELOG for 2.7.48
2018-12-06 11:26:33 +00:00
Nicolas Grekas
3aaa5aba1b Merge branch '2.8' into 3.4
* 2.8:
  [Security\Http] detect bad redirect targets using backslashes
  [Form] Filter file uploads out of regular form types
  Fix CI
  minor #28258 [travis] fix composer.lock invalidation for deps=low (nicolas-grekas)
  [travis] fix composer.lock invalidation for PRs patching several components
  [travis] fix composer.lock invalidation for deps=low
  minor #28199 [travis][appveyor] use symfony/flex to accelerate builds (nicolas-grekas)
  [travis] ignore ordering when validating composer.lock files for deps=low
  minor #28146 [travis] cache composer.lock files for deps=low (nicolas-grekas)
  fix ci
  [travis] fix requiring mongodb/mongodb before composer up
  minor #28114 [travis] merge "same Symfony version" jobs in one (nicolas-grekas)
  [2.7] Make CI green
  updated VERSION for 2.7.49
  updated CHANGELOG for 2.7.49
  [HttpKernel] fix trusted headers management in HttpCache and InlineFragmentRenderer
  [HttpFoundation] Remove support for legacy and risky HTTP headers
  updated VERSION for 2.7.48
  update CONTRIBUTORS for 2.7.48
  updated CHANGELOG for 2.7.48
2018-12-06 11:25:03 +00:00
Nicolas Grekas
410ed830c5 Merge branch '2.7' into 2.8
* 2.7:
  [Security\Http] detect bad redirect targets using backslashes
  [Form] Filter file uploads out of regular form types
  Fix CI
  minor #28258 [travis] fix composer.lock invalidation for deps=low (nicolas-grekas)
  [travis] fix composer.lock invalidation for PRs patching several components
  [travis] fix composer.lock invalidation for deps=low
  minor #28199 [travis][appveyor] use symfony/flex to accelerate builds (nicolas-grekas)
  [travis] ignore ordering when validating composer.lock files for deps=low
  minor #28146 [travis] cache composer.lock files for deps=low (nicolas-grekas)
  fix ci
  [travis] fix requiring mongodb/mongodb before composer up
  minor #28114 [travis] merge "same Symfony version" jobs in one (nicolas-grekas)
  [2.7] Make CI green
  updated VERSION for 2.7.49
  updated CHANGELOG for 2.7.49
  [HttpKernel] fix trusted headers management in HttpCache and InlineFragmentRenderer
  [HttpFoundation] Remove support for legacy and risky HTTP headers
  updated VERSION for 2.7.48
  update CONTRIBUTORS for 2.7.48
  updated CHANGELOG for 2.7.48
2018-12-06 11:12:46 +00:00
Nicolas Grekas
f27dd4b5be security #cve-2018-19790 [Security\Http] detect bad redirect targets using backslashes (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security\Http] detect bad redirect targets using backslashes

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

Commits
-------

99a0cec0a6 [Security\Http] detect bad redirect targets using backslashes
2018-12-06 11:09:35 +00:00
Nicolas Grekas
e6fa538387 Merge branch '4.2'
* 4.2:
  [TwigBridge] Deprecating legacy Twig paths in DebugCommand and simplifications
  [Cache] Fixed Memcached adapter doClear()to call flush()
  Fixes sprintf(): Too few arguments in Translator
  fix TransChoiceTokenParser deprecation message
  [DoctrineBridge] Conflict with Messenger <4.2
  [Contracts] extract LocaleAwareInterface out of TranslatorInterface
2018-12-06 11:00:21 +00:00
Nicolas Grekas
15fefd8cd5 Merge branch '4.1' into 4.2
* 4.1:
  [Cache] Fixed Memcached adapter doClear()to call flush()
2018-12-06 11:00:08 +00:00
Nicolas Grekas
5fc7d5ec81 Merge branch '3.4' into 4.1
* 3.4:
  [Cache] Fixed Memcached adapter doClear()to call flush()
2018-12-06 10:58:36 +00:00
Nicolas Grekas
8816b56559 bug #29481 [TwigBridge] Deprecating legacy Twig paths in DebugCommand and simplifications (yceruto)
This PR was squashed before being merged into the 4.2 branch (closes #29481).

Discussion
----------

[TwigBridge] Deprecating legacy Twig paths in DebugCommand and simplifications

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

I've also added some missing tests.

Commits
-------

96169b8046 [TwigBridge] Deprecating legacy Twig paths in DebugCommand and simplifications
2018-12-06 10:57:56 +00:00
Yonel Ceruto
96169b8046 [TwigBridge] Deprecating legacy Twig paths in DebugCommand and simplifications 2018-12-06 10:57:49 +00:00
Raito Akehanareru
447baacbad [Cache] Fixed Memcached adapter doClear()to call flush() 2018-12-06 10:54:02 +00:00
Nicolas Grekas
7ad8341486 minor #29464 [DoctrineBridge] Conflict with Messenger <4.2 (ogizanagi)
This PR was merged into the 4.2 branch.

Discussion
----------

[DoctrineBridge] Conflict with Messenger <4.2

| Q             | A
| ------------- | ---
| Branch?       | 4.2 <!-- see below -->
| Bug fix?      | no
| 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 | #29463   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Commits
-------

8624cde5b0 [DoctrineBridge] Conflict with Messenger <4.2
2018-12-06 10:50:02 +00:00
Nicolas Grekas
5949349480 minor #29479 Fix TransChoiceTokenParser deprecation message (fbourigault)
This PR was merged into the 4.2 branch.

Discussion
----------

Fix TransChoiceTokenParser deprecation message

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

While debugging a `cache:clear`, I found the following errors on stderr:
```
PHP Warning: sprintf(): Too few arguments in .../vendor/symfony/twig-bridge/TokenParser/TransChoiceTokenParser.php on line 43
```

This was caused by using unescaped `%` in the `sprintf` format string.

This fix the `sprintf` format string so the deprecation message will now works.

Commits
-------

3d3b3ced48 fix TransChoiceTokenParser deprecation message
2018-12-06 10:49:29 +00:00
Stéphane Delprat
109fee5709 Fixes sprintf(): Too few arguments in Translator
Similar to : https://github.com/symfony/symfony/pull/29344
2018-12-06 10:45:32 +00:00
Fabien Bourigault
3d3b3ced48 fix TransChoiceTokenParser deprecation message 2018-12-05 23:36:36 +01:00
Maxime Steinhausser
8624cde5b0 [DoctrineBridge] Conflict with Messenger <4.2 2018-12-05 09:34:58 +00:00
Nicolas Grekas
73e4a1a5ff [Contracts] extract LocaleAwareInterface out of TranslatorInterface 2018-12-05 08:06:11 +00:00
Nicolas Grekas
c7fe1b6bcb Merge branch '4.2'
* 4.2:
  [VarExporter] fix dumping private properties from abstract classes
  Fix empty output for debug:autowiring when reflection-docblock is not available
  [Workflow] Fixed BC break for Workflow metadata
  [Routing] ignore trailing slash for non-GET requests
2018-12-03 22:43:20 +00:00
Nicolas Grekas
b10e2638a4 [VarExporter] fix dumping private properties from abstract classes 2018-12-03 22:40:09 +00:00
Nicolas Grekas
4548a44a01 Merge branch '4.1' into 4.2
* 4.1:
  [Workflow] Fixed BC break for Workflow metadata
  [Routing] ignore trailing slash for non-GET requests
2018-12-03 23:08:12 +01:00
Nicolas Grekas
db2c64d580 Merge branch '3.4' into 4.1
* 3.4:
  [Routing] ignore trailing slash for non-GET requests
2018-12-03 22:38:57 +01:00
Robin Chalas
bd0dbe415f Fix empty output for debug:autowiring when reflection-docblock is not available 2018-12-03 19:37:18 +01:00
Grégoire Pineau
5691818397 [Workflow] Fixed BC break for Workflow metadata 2018-12-03 19:01:20 +01:00
Nicolas Grekas
7521af7ea0 [Routing] ignore trailing slash for non-GET requests 2018-12-03 14:20:34 +01:00
Jérôme Vasseur
5196dac7a8 Fix HeaderBag::get phpdoc
When setting $first to false, the default value is wrapped into an array
meaning you need to pass a string as the default value instead of an
array of strings.
2018-12-03 11:46:14 +01:00
Nicolas Grekas
974b98b17b Merge branch '4.2'
* 4.2:
  [DI] dont inline when lazy edges are found
2018-12-02 16:59:43 +01:00
Nicolas Grekas
cfebe0c565 Merge branch '4.1' into 4.2
* 4.1:
  [DI] dont inline when lazy edges are found
2018-12-02 16:59:36 +01:00
Nicolas Grekas
a256c6914d Merge branch '3.4' into 4.1
* 3.4:
  [DI] dont inline when lazy edges are found
2018-12-02 16:58:55 +01:00
Nicolas Grekas
484c49edb3 [DI] dont inline when lazy edges are found 2018-12-02 16:50:25 +01:00
Nicolas Grekas
79b661da9b Merge branch '4.2'
* 4.2:
  [Serializer] fixed DateTimeNormalizer to maintain microseconds when a different timezone required
  [Routing] fix taking verb into account when redirecting
  [TwigBundle] Sync tab navigation css
  [WebProfilerBundle] Fix log filter in dark mode
  [WebProfilerBundle][4.2] Deny messenger <4.2
  [DI] Fix dumping expressions accessing single-use private services
  [VarExporter] fix dumping protected property from abstract classes
  [WebProfilerBundle] Split form field heading
  Minor tweak for c3ad8a5
2018-12-02 14:25:44 +01:00
Nicolas Grekas
2c00c917db Merge branch '4.1' into 4.2
* 4.1:
  [Serializer] fixed DateTimeNormalizer to maintain microseconds when a different timezone required
  [Routing] fix taking verb into account when redirecting
  [DI] Fix dumping expressions accessing single-use private services
  [WebProfilerBundle] Split form field heading
2018-12-02 14:25:28 +01:00
Nicolas Grekas
22795af29e Merge branch '3.4' into 4.1
* 3.4:
  [Serializer] fixed DateTimeNormalizer to maintain microseconds when a different timezone required
  [Routing] fix taking verb into account when redirecting
  [WebProfilerBundle] Split form field heading
2018-12-02 14:22:14 +01:00
Nicolas Grekas
c2d2f5bd16 bug #29413 [Serializer] fixed DateTimeNormalizer to maintain microseconds when a different timezone required (rvitaliy)
This PR was squashed before being merged into the 3.4 branch (closes #29413).

Discussion
----------

[Serializer] fixed DateTimeNormalizer to maintain microseconds when a different timezone required

| Q             | A
| ------------- | ---
| Branch?       | 3.4 up to 4.2 for bug fixes
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #
| License       | MIT
| Doc PR        | none

fixed `DateTimeNormalizer::normalizer()` when `$object` is mutated internally to change timezone we lost microseconds of origina `$object`

Commits
-------

2bf8a1cae6 [Serializer] fixed DateTimeNormalizer to maintain microseconds when a different timezone required
2018-12-02 14:20:28 +01:00
Vitaliy Ryaboy
2bf8a1cae6 [Serializer] fixed DateTimeNormalizer to maintain microseconds when a different timezone required 2018-12-02 14:20:19 +01:00
Nicolas Grekas
17874f6ef2 minor #29415 [WebProfilerBundle] Split form field heading (ro0NL)
This PR was merged into the 3.4 branch.

Discussion
----------

[WebProfilerBundle] Split form field heading

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

By default the data class 9/10 breaks inline, making it harder to read. This fixes it.

Before

![image](https://user-images.githubusercontent.com/1047696/49332204-02cbf800-f5a9-11e8-8565-f0f084fa76dd.png)

After

![image](https://user-images.githubusercontent.com/1047696/49332202-f47ddc00-f5a8-11e8-8a97-80f002c9bfc2.png)

Commits
-------

3855d5af01 [WebProfilerBundle] Split form field heading
2018-12-02 14:17:24 +01:00
Nicolas Grekas
6b65fac2cf [Routing] fix taking verb into account when redirecting 2018-12-02 14:02:40 +01:00
Roland Franssen
d6704bbfb0 [TwigBundle] Sync tab navigation css 2018-12-02 11:42:21 +01:00
Nicolas Grekas
7c79dc2806 Merge branch '3.4' into 4.1
* 3.4:
  [DI] Fix dumping expressions accessing single-use private services
2018-12-02 11:06:14 +01:00
Nicolas Grekas
ce16b50c21 minor #29404 [WebProfilerBundle] Fix log filter in dark mode (ro0NL)
This PR was squashed before being merged into the 4.2 branch (closes #29404).

Discussion
----------

[WebProfilerBundle] Fix log filter in dark mode

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

Before

![image](https://user-images.githubusercontent.com/1047696/49327989-19eaf580-f569-11e8-85b5-ee0d55600966.png)

After

![image](https://user-images.githubusercontent.com/1047696/49327994-2d965c00-f569-11e8-8676-0fb406b87e93.png)

Commits
-------

b634967d46 [WebProfilerBundle] Fix log filter in dark mode
2018-12-02 10:59:10 +01:00
Roland Franssen
b634967d46 [WebProfilerBundle] Fix log filter in dark mode 2018-12-02 10:59:00 +01:00
Nicolas Grekas
47135371ab bug #29418 [VarExporter] fix dumping protected property from abstract classes (nicolas-grekas)
This PR was merged into the 4.2 branch.

Discussion
----------

[VarExporter] fix dumping protected property from abstract classes

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

Commits
-------

0132ba9dc5 [VarExporter] fix dumping protected property from abstract classes
2018-12-02 10:49:17 +01:00
Roland Franssen
b335911512
[WebProfilerBundle][4.2] Deny messenger <4.2 2018-12-02 10:37:20 +01:00
Robin Chalas
d1e84aa137 [DI] Fix dumping expressions accessing single-use private services 2018-12-02 10:33:42 +01:00
Nicolas Grekas
0132ba9dc5 [VarExporter] fix dumping protected property from abstract classes 2018-12-02 00:05:18 +01:00
Roland Franssen
3855d5af01 [WebProfilerBundle] Split form field heading 2018-12-01 20:42:50 +01:00
Maxime Steinhausser
f0635877cd Minor tweak for c3ad8a5 2018-12-01 12:13:57 +01:00
Nicolas Grekas
010556239d minor #29401 [DI] Fix deps=low (ro0NL)
This PR was squashed before being merged into the 4.3-dev branch (closes #29401).

Discussion
----------

[DI] Fix deps=low

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

 cc @nicolas-grekas

Commits
-------

e0d95029c3 [DI] Fix deps=low
2018-12-01 11:27:39 +01:00
Roland Franssen
e0d95029c3 [DI] Fix deps=low 2018-12-01 11:27:33 +01:00
Nicolas Grekas
8aee36dbd5 feature #28954 [Debug] Mark ErrorHandler and ExceptionHandler classes as final (fancyweb)
This PR was merged into the 4.3-dev branch.

Discussion
----------

[Debug] Mark ErrorHandler and ExceptionHandler classes as final

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

The goal of marking this method final is to be able to change the argument signature to `\Throwable` in Symfony 5.0

We will then be able to convert the incoming `\Throwable` to `\ErrorException` thanks to the `FatalThrowableError` class.

The use case is when you use the `ExceptionHandler::register()` method of the `Debug` component with a custom `set_error_handler()` that don't handle this conversion. This is for example the case of the `Drupal` one.

Commits
-------

2a4e2e614b [Debug] Mark the ErrorHandler and ExceptionHandler classes as final
2018-12-01 11:04:56 +01:00
Nicolas Grekas
d63b3e3ee0 fix merge 2018-12-01 10:47:14 +01:00
Nicolas Grekas
9771d8d9d1 minor #29400 Add upgrade from 4.2 to 4.3 (ro0NL)
This PR was merged into the 4.3-dev branch.

Discussion
----------

Add upgrade from 4.2 to 4.3

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

Forgotten in #28858 i guess. cc @nicolas-grekas

Commits
-------

ce6ecaf862 Add upgrade from 4.2 to 4.3
2018-12-01 10:46:14 +01:00
Nicolas Grekas
d6a594bf42 [EventDispatcher][VarDumper] optimize perf by leveraging Closure::fromCallable() 2018-12-01 10:36:31 +01:00
Nicolas Grekas
4cc14b4109 Merge branch '4.2'
* 4.2:
  [DI] fix InlineServiceDefinitionsPass' fix
  [LDAP] Add TIMEOUT Option to LDAP Connection Options
2018-12-01 10:31:01 +01:00
Nicolas Grekas
cb57f87ad1 Merge branch '4.1' into 4.2
* 4.1:
  [DI] fix InlineServiceDefinitionsPass' fix
2018-12-01 10:30:54 +01:00
Nicolas Grekas
302ff0a0ae [DI] fix InlineServiceDefinitionsPass' fix 2018-12-01 10:29:46 +01:00
Roland Franssen
ce6ecaf862 Add upgrade from 4.2 to 4.3 2018-12-01 10:28:23 +01:00
Nicolas Grekas
cc0be40e82 feature #28479 [Validator] Checking a BIC along with an IBAN (sylfabre)
This PR was merged into the 4.3-dev branch.

Discussion
----------

[Validator] Checking a BIC along with an IBAN

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

A BIC comes usually with an IBAN so it's better to check that they are associated. This PR provides an `iban` option to `Symfony\Component\Validator\Constraints\Bic` to check the BIC against an IBAN.

It also provides an `ibanPropertyPath` to retrieves the IBAN using the property accessor like with comparison constraints.

Commits
-------

bb6be1534a [Validator] Checking a BIC along with an IBAN Fix #28166
2018-12-01 10:10:40 +01:00
Lucas Matte
2d88b89b1d [LDAP] Add TIMEOUT Option to LDAP Connection Options 2018-12-01 10:06:45 +01:00
Nicolas Grekas
e6954494af feature #28858 [DI] Deprecated using env vars with cannotBeEmpty() (ro0NL)
This PR was squashed before being merged into the 4.3-dev branch (closes #28858).

Discussion
----------

[DI] Deprecated using env vars with cannotBeEmpty()

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

Continuation of #28838 for 4.2

Using environment variables for nodes marked `cannotBeEmpty()` is semantically not possible, we'll never know the value is empty yes/no during compile time. Neither we should assume one or another.

Commits
-------

397c19ee5f [DI] Deprecated using env vars with cannotBeEmpty()
2018-12-01 10:04:06 +01:00
Roland Franssen
397c19ee5f [DI] Deprecated using env vars with cannotBeEmpty() 2018-12-01 10:03:58 +01:00
Nicolas Grekas
67be665c02 feature #28976 [DI] Add a "default" EnvProcessor (jderusse)
This PR was squashed before being merged into the 4.3-dev branch (closes #28976).

Discussion
----------

[DI] Add a "default" EnvProcessor

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

This PR add a new fallback env processor in order to return a default value when the primary processor is not able to fetch a value (env variable, file or key does not exists)

```
#
default_host: localhost
host: '%env(default:default_host:OPTIONAL_ENV_VARIABLE)%"

default_secret: this secret is not secret
secret: '%env(default:default_secret:file:THIS_FILE_ONLY_EXIST_IN_PRODUCTION)%"

default_charset: utf8
charset: '%env(default:default_charset:key:charset:json:DATABASE_CONFIG)%"
```

Commits
-------

aee4e33cdb [DI] Add a \"default\" EnvProcessor
2018-12-01 10:02:00 +01:00
Jérémy Derussé
aee4e33cdb [DI] Add a \"default\" EnvProcessor 2018-12-01 10:01:52 +01:00
Nicolas Grekas
4df912bf6a feature #29127 [DomCrawler] Added return of element name in extract() method (andrey-helldar)
This PR was squashed before being merged into the 4.3-dev branch (closes #29127).

Discussion
----------

[DomCrawler] Added return of element name in `extract()` method

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| 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 -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#10646

Situation: you need to get an array of keys and values.
The current package code does not allow this to be done easily.
The changes made to the code will allow you to return the required data set.
```php
use Symfony\Component\DomCrawler\Crawler;

$crawler = new Crawler($content);

$crawler
    ->filter('ItemsList > Item')
    ->each(function (Crawler $element) {
        $data = $element
            ->children()
            ->extract(['_name', '_text']);

        var_dump($data);
    });

// Result:
array:2 [
  0 => array:2 [
    0 => "id",
    1 => "1"
  ],
  1 => array:2 [
    0 => "title",
    1 => "Foo Bar"
  ]
]
```

Commits
-------

79162c1eb5 [DomCrawler] Added return of element name in `extract()` method
2018-12-01 09:57:46 +01:00
Andrey Helldar
79162c1eb5 [DomCrawler] Added return of element name in extract() method 2018-12-01 09:57:40 +01:00
Nicolas Grekas
905119b752 feature #29145 [Workflow] Trigger entered event for subject entering in the Workflow for the first time (lyrixx)
This PR was merged into the 4.3-dev branch.

Discussion
----------

[Workflow] Trigger `entered` event for subject entering in the Workflow for the first time

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

Commits
-------

388840fd99 [Workflow] Trigger `entered` event for subject entering in the Workflow for the first time
2018-12-01 09:56:47 +01:00
Nicolas Grekas
a928d2b88d Merge branch '4.2'
* 4.2:
  fix cs
  [FrameworkBundle] define doctrine as default_pdo_provider only if the package is installed
  [Validator] Allow `ConstraintViolation::__toString()` to expose codes that are not null or emtpy strings
  Added upgrade to HandlersLocator
  fix type for $value in DocBlock
  [WebProfilerBundle] Fix title case
  [Config] fix path exclusion during glob discovery
  [FrameworkBundle][Messenger] Restore check for messenger serializer default id
  Fix wrapped loop of event listener
  [DI] fix edge case in InlineServiceDefinitionsPass
  undeprecate the single-colon notation for controllers
  Update HttpKernel.php
2018-12-01 09:53:37 +01:00
Nicolas Grekas
afb4244179 Merge branch '4.1' into 4.2
* 4.1:
  fix cs
  [Validator] Allow `ConstraintViolation::__toString()` to expose codes that are not null or emtpy strings
  fix type for $value in DocBlock
  [WebProfilerBundle] Fix title case
  Fix wrapped loop of event listener
  [DI] fix edge case in InlineServiceDefinitionsPass
  undeprecate the single-colon notation for controllers
  Update HttpKernel.php
2018-12-01 09:52:38 +01:00
Nicolas Grekas
6cea166e65 Merge branch '3.4' into 4.1
* 3.4:
  fix cs
  [Validator] Allow `ConstraintViolation::__toString()` to expose codes that are not null or emtpy strings
  fix type for $value in DocBlock
  Fix wrapped loop of event listener
  Update HttpKernel.php
2018-12-01 09:51:37 +01:00
Nicolas Grekas
51d78b5eca fix cs 2018-12-01 09:50:52 +01:00
Nicolas Grekas
cf7501299d [FrameworkBundle] define doctrine as default_pdo_provider only if the package is installed 2018-12-01 09:31:03 +01:00
Nicolas Grekas
705445db5e minor #29371 Update HttpKernel.php (shreypuranik)
This PR was merged into the 3.4 branch.

Discussion
----------

Update HttpKernel.php

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

This update adds a docblock to varToString method in HttpKernel Class

Commits
-------

3324e2a2a6 Update HttpKernel.php
2018-12-01 09:22:50 +01:00
Nicolas Grekas
1905cde840 bug #29375 [Validator] Allow ConstraintViolation::__toString() to expose codes that are not null or emtpy strings (phansys)
This PR was squashed before being merged into the 3.4 branch (closes #29375).

Discussion
----------

[Validator] Allow `ConstraintViolation::__toString()` to expose codes that are not null or emtpy strings

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

Allow to expose `0` or `"0"` validation codes.

Commits
-------

7bb0fb5cc3 [Validator] Allow `ConstraintViolation::__toString()` to expose codes that are not null or emtpy strings
2018-12-01 09:21:59 +01:00
Javier Spagnoletti
7bb0fb5cc3 [Validator] Allow ConstraintViolation::__toString() to expose codes that are not null or emtpy strings 2018-12-01 09:21:51 +01:00
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
Nicolas Grekas
eef2a948b8 bug #29386 undeprecate the single-colon notation for controllers (fbourigault)
This PR was merged into the 4.1 branch.

Discussion
----------

undeprecate the single-colon notation for controllers

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| 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 is the same as https://github.com/symfony/symfony/pull/29218 but for `Symfony\Bundle\FrameworkBundle\Routing\DelegatingLoader`.

Commits
-------

09371ad6f1 undeprecate the single-colon notation for controllers
2018-12-01 09:17:10 +01:00
Nicolas Grekas
21db588157 bug #29393 [DI] fix edge case in InlineServiceDefinitionsPass (nicolas-grekas)
This PR was merged into the 4.1 branch.

Discussion
----------

[DI] fix edge case in InlineServiceDefinitionsPass

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

Looks like this can happen - dunno how
https://stackoverflow.com/questions/53558247/autowire-services-test-yaml-there-is-no-node-with-id-service-a

Commits
-------

8bd2bbfb1c [DI] fix edge case in InlineServiceDefinitionsPass
2018-12-01 09:16:32 +01:00
Nicolas Grekas
cb507a5b05 bug #29394 [Config] fix path exclusion during glob discovery (nicolas-grekas)
This PR was merged into the 4.2 branch.

Discussion
----------

[Config] fix path exclusion during glob discovery

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

Something we missed in #28200 - reported on Slack.

Commits
-------

4ada4dca43 [Config] fix path exclusion during glob discovery
2018-12-01 09:12:16 +01:00
Nicolas Grekas
c3ad8a5c9b bug #29395 [FrameworkBundle][Messenger] Restore check for messenger serializer default id (ogizanagi)
This PR was merged into the 4.2 branch.

Discussion
----------

[FrameworkBundle][Messenger] Restore check for messenger serializer default id

| Q             | A
| ------------- | ---
| Branch?       | 4.2 <!-- see below -->
| 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 |  https://symfony-devs.slack.com/archives/C9PQ75TV3/p1543590611003500  <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

From Slack:

> @adamquaile [4:10 PM]
> So, I just updated to 4.2 today, and got this message:
> > The default Messenger serializer cannot be enabled as the Serializer support is not available. Try enabling it or running "composer require symfony/serializer-pack"
>
> In the docs it's stated:
> > In order to use Symfony's built-in AMQP transport, you will need the Serializer Component. Ensure that it is installed with:
>
>But I haven't yet configured AMQP - I'm using my own transport. Should I be getting this exception?

---
This check was removed in https://github.com/symfony/symfony/pull/28405, but is actually still necessary to not fail as soon as you can install the Messenger component without the Serializer one installed.

Commits
-------

1cf17c08e9 [FrameworkBundle][Messenger] Restore check for messenger serializer default id
2018-12-01 09:10:22 +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
Tom Newby
f10227df3d [FrameworkBundle][Controller] Use interface from Contracts to remove deprecation warnings 2018-12-01 18:04:23 +10:00
Roland Franssen
3e16e25252
[WebProfilerBundle] Fix title case 2018-12-01 07:23:04 +01:00
Nicolas Grekas
4ada4dca43 [Config] fix path exclusion during glob discovery 2018-11-30 23:21:14 +01:00
Maxime Steinhausser
1cf17c08e9 [FrameworkBundle][Messenger] Restore check for messenger serializer default id 2018-11-30 22:30:24 +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
5ba4997636 Merge branch '4.2'
* 4.2:
  [Routing] fix greediness of trailing slash
  bumped Symfony version to 4.2.1
  updated VERSION for 4.2.0
  updated CHANGELOG for 4.2.0
2018-11-30 17:32:40 +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 Bourigault
09371ad6f1 undeprecate the single-colon notation for controllers 2018-11-30 13:06:13 +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
6da7afc746 Merge branch '4.2'
* 4.2:
  typo
  [Messenger] Mention HandleTrait in UPGRADE-4.2.md file
  add a test case
  [Form] Handle all case variants of "nan" when parsing a number
2018-11-30 09:55:46 +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
cb8302cb76 Fix CI 2018-11-29 16:06:32 +01:00
Nicolas Grekas
63c423ad0f Merge branch '4.2'
* 4.2:
  [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:47 +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
e343b66301 Merge branch '4.2'
* 4.2:
  [DI] fix combinatorial explosion when analyzing the service graph
  [Debug] workaround opcache bug mutating "$this" !?!
2018-11-28 19:24:33 +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
0d35f97e9b Merge branch '4.2'
* 4.2:
  Update PR template
  Fixes sprintf(): Too few arguments in Translator
  [Cache] fix deps
  updated CHANGELOG for 4.2.0-RC1
  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:59 +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
534b83f080 updated version to 4.3 2018-11-26 17:19:01 +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
4a717266c6 fix merge 2018-11-26 12:45:21 +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
Fabien Potencier
7be8ca5079 bug #28917 [DoctrineBridge] catch errors while converting to db values in data collector (alekitto)
This PR was merged into the 2.8 branch.

Discussion
----------

[DoctrineBridge] catch errors while converting to db values in data collector

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

When the profiler is enabled and collecting doctrine queries data, if a query fails because of `ConversionException` or another error thrown while resolving parameters, the data collector is also throwing the same error.

This should fix this case. The tests for this case cannot be executed in 5.4 because Doctrine 2.5 fails with a fatal error in `DateType`.

Commits
-------

61c4531292 [DoctrineBridge] catch errors while converting to db values in data collector
2018-11-26 10:36:25 +01:00
Grégoire Pineau
1a8c844f0e [FrameworkBundle] Added ControllerTrait::isFormValid 2018-11-26 10:34:30 +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
Roland Franssen
71aade3622 [WebProfiler] Detect empty file paths in file viewer 2018-11-26 08:36:52 +01:00
Fabien Potencier
18b3a52389 fixed CS 2018-11-26 08:26:42 +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
8f2ad36ff4 bug #27314 [DoctrineBridge] fix case sensitivity issue in RememberMe\DoctrineTokenProvider (PF4Public)
This PR was merged into the 2.8 branch.

Discussion
----------

[DoctrineBridge] fix case sensitivity issue in RememberMe\DoctrineTokenProvider

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

Commits
-------

0248d4f566 [DoctrineBridge] fix case sensitivity issue in RememberMe\DoctrineTokenProvider
2018-11-26 08:16:44 +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
652c6eba89 [WebProfilerBundle] Hide messenger count if zero 2018-11-25 17:27:13 +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
Roland Franssen
69be8e649e [MonologBridge] Return empty list for unknonwn requests 2018-11-25 08:46:30 +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
Alessandro Chitolina
61c4531292
[DoctrineBridge] catch errors while converting to db values in data collector 2018-11-24 18:30:29 +01:00
pf
0248d4f566 [DoctrineBridge] fix case sensitivity issue in RememberMe\DoctrineTokenProvider 2018-11-24 18:17:47 +01: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
Roland Franssen
9ae2bb45b2 [WebProfilerBundle] Enable translation filters 2018-11-22 19:44:38 +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
Nicolas Grekas
07e2cc2858 [Contracts] clarify the README 2018-11-21 19:26:39 +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
dbb0f2ad77 [Bridge/PhpUnit] fix the fix 2018-11-20 17:47:12 +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
Nicolas Grekas
73d98049fa bug #29247 [DI] fix taking lazy services into account when dumping the container (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] fix taking lazy services into account when dumping the container

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

This PR fixes issues found while working on #29246.
It *does* fix the infinite loop, ~but replaces it by an exception (reopening #29078)~:
> ~It's a requirement to specify a Metadata Driver and pass it to Doctrine\ORM\Configuration::setMetadataDriverImpl()~

The full fix is not immediately accessible as it needs some core changes to the dumping logic. Requiring `symfony/proxy-manager-bridge` works around the issue properly.

See #29251 for 4.2

Commits
-------

67d7623e72 [DI] fix taking lazy services into account when dumping the container
2018-11-20 17:00:44 +01:00
Nicolas Grekas
d0698b2ec3 bug #29249 [Form] Fixed empty data for compound date interval (HeahDude)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] Fixed empty data for compound date interval

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

Following #29182, since this type has been introduced in Symfony 3 but with the same limitation explained in #4715.
So for consistency this needs to be fixed here as well.

Commits
-------

38a2abc790 [Form] Fixed empty data for compound date interval
2018-11-20 16:59:47 +01:00
Nicolas Grekas
e166d96cf5 bug #29265 [Bridge/PhpUnit] Use composer to download phpunit (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Bridge/PhpUnit] Use composer to download phpunit

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

Commits
-------

e823f1df31 [Bridge/PhpUnit] Use composer to download phpunit
2018-11-20 16:58:54 +01:00
Nicolas Grekas
9e0f8e7804 Merge branch '2.8' into 3.4
* 2.8:
  [cs] correct invalid @param types
2018-11-20 16:57:17 +01:00
Tomas Votruba
40f26235eb [cs] correct invalid @param types 2018-11-20 16:55:20 +01:00
Nicolas Grekas
e823f1df31 [Bridge/PhpUnit] Use composer to download phpunit 2018-11-20 16:36:32 +01:00
Nicolas Grekas
67d7623e72 [DI] fix taking lazy services into account when dumping the container 2018-11-20 15:22:20 +01:00
Grégoire Pineau
b74a086ec2 bug #28769 [FrameworkBundle] deal with explicitly enabled workflow nodes (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] deal with explicitly enabled workflow nodes

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

Commits
-------

017fd56bd8 deal with explicitly enabled workflow nodes
2018-11-19 10:38:20 +01:00
Jules Pietri
38a2abc790 [Form] Fixed empty data for compound date interval 2018-11-18 13:25:16 +01:00
Nicolas Grekas
b8100a9df0 [Cache] fix optimizing Psr6Cache for AdapterInterface pools 2018-11-16 22:18:41 +01:00
Nicolas Grekas
e7cd44f5b2 [VarDumper] add support for links in CliDumper 2018-11-16 17:01:17 +01:00
Christian Flothmann
017fd56bd8 deal with explicitly enabled workflow nodes 2018-11-16 08:38:23 +01:00
Fabien Potencier
737726516e bumped Symfony version to 4.2.0 2018-11-16 06:21:36 +01:00
Fabien Potencier
4c44f24f5c updated VERSION for 4.2.0-BETA2 2018-11-16 06:12:50 +01:00
Fabien Potencier
429f500cbc bug #29190 [Debug][HttpKernel] remove frames added by DebugClassLoader in stack traces (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Debug][HttpKernel] remove frames added by DebugClassLoader in stack traces

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

![image](https://user-images.githubusercontent.com/243674/48362054-14ee0100-e6a3-11e8-82e1-b185af45fb8b.png)

Commits
-------

76e7944460 [Debug][HttpKernel] remove frames added by DebugClassLoader in stack traces
2018-11-16 06:03:01 +01:00
Kévin Dunglas
b7e7c46f43
[FrameworkBundle] metadata_update_threshold default value must be an int 2018-11-15 18:25:12 +01:00
Nicolas Grekas
dbf053bc85 [Messenger] fix deps=low (bis) 2018-11-15 14:18:48 +01:00
Nicolas Grekas
1b96f9d121 [Messenger] fix deps=low 2018-11-15 14:12:21 +01:00
Nicolas Grekas
4efb16b5e0 bug #29226 [Messenger] Improved message when handler class does not exist (neeckeloo)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Improved message when handler class does not exist

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

**Problem:**

When defining a non existing messenger handler class in the `services.yml` config file, we encounter this confusing error message:

```
services:
    App\Handler\NonExistentHandler:
        tags: [messenger.message_handler]
```

```
PHP Fatal error:  Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Argument 1 passed to Symfony\Component\Messenger\DependencyInjection\MessengerPass::guessHandledClasses() must be an instance of ReflectionClass, null given, called in /app/vendor/symfony/messenger/DependencyInjection/MessengerPass.php on line 93 in /app/vendor/symfony/messenger/DependencyInjection/MessengerPass.php:189
Stack trace:
    #0 /app/vendor/symfony/messenger/DependencyInjection/MessengerPass.php(93): Symfony\Component\Messenger\DependencyInjection\MessengerPass->guessHandledClasses(NULL, 'App\\Application...')
    #1 /app/vendor/symfony/messenger/DependencyInjection/MessengerPass.php(74): Symfony\Component\Messenger\DependencyInjection\MessengerPass->registerHandlers(Object(Symfony\Component\DependencyInjection\ContainerBuilder), Array)
    #2 /app/vendor/symfony/dependency-injection/Compiler/Compiler.php(95): Symfony\Component\Messenger\DependencyInjection\MessengerPass->process(Object(Symfony\Component\DependencyInjection\ContainerBuilder))
    #3 / in /app/vendor/symfony/messenger/DependencyInjection/MessengerPass.php on line 189
```

**Proposal:**

We can throw a more relevant exception (RuntimeException) in this case to help the developer to have a better understanding of the issue.

```Invalid service "App\Handler\NonExistentHandler": class "App\Handler\NonExistentHandler" does not exist.```

Commits
-------

6ab9274638 Improve error message when defining messenger handler class that does not exists
2018-11-15 13:54:20 +01:00
Nicolas Grekas
ed9193ccda [Form] fix merge 2018-11-15 13:52:12 +01:00
Nicolas Grekas
d353e4f97b Merge branch '4.1'
* 4.1:
  [DI] dont fail on missing classes when resource tracking is disabled
  [Validator] Added the missing constraints instance checks
2018-11-15 13:42:54 +01:00
Nicolas Grekas
17163ab430 Merge branch '3.4' into 4.1
* 3.4:
  [DI] dont fail on missing classes when resource tracking is disabled
  [Validator] Added the missing constraints instance checks
2018-11-15 13:40:31 +01:00
Nicolas Grekas
236565c87e [DI] dont fail on missing classes when resource tracking is disabled 2018-11-15 13:37:52 +01:00
Nicolas Grekas
654dc2209b Merge branch '2.8' into 3.4
* 2.8:
  [Validator] Added the missing constraints instance checks
2018-11-15 13:34:45 +01:00
Nicolas Grekas
b11ec05282 bug #29223 [Validator] Added the missing constraints instance checks (thomasbisignani)
This PR was merged into the 2.8 branch.

Discussion
----------

[Validator] Added the missing constraints instance checks

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

This PR adds the constraints instance checks missing to limit the validators use.

This behavior is already implemented in all built-in validators, but it was missed in two validators.

Commits
-------

0ecaead015 [Validator] Added the missing constraints instance checks
2018-11-15 13:27:27 +01:00
Nicolas Grekas
d3ba3fb87d Merge branch '4.1'
* 4.1:
  Undeprecate the single-colon notation for controllers
  Command::addOption should allow int in $default
  Update symfony links to https
  [Form] Fixed keeping hash of equal \DateTimeInterface on submit
  [PhpUnitBridge] Fix typo
  [Routing] generate(null) should throw an exception
  [Form] Minor fixes in docs and cs
  [Workflow] Made code simpler
  [Config] Unset key during normalization
  [Form] Fixed empty data for compound date types
  invalidate forms on transformation failures
  [FrameworkBundle] fixed guard event names for transitions
  method buildTransitionBlockerList returns TransitionBlockerList of expected transition
  [FrameworkBundle] fixed guard event names for transitions
  [PropertyAccessor] Fix unable to write to singular property using setter while plural adder/remover exist
2018-11-15 13:17:10 +01:00
Nicolas Grekas
c8677f31bb Merge branch '3.4' into 4.1
* 3.4:
  Command::addOption should allow int in $default
  [Form] Fixed keeping hash of equal \DateTimeInterface on submit
  [PhpUnitBridge] Fix typo
  [Form] Minor fixes in docs and cs
  [Config] Unset key during normalization
  [Form] Fixed empty data for compound date types
  invalidate forms on transformation failures
  [PropertyAccessor] Fix unable to write to singular property using setter while plural adder/remover exist
2018-11-15 13:15:13 +01:00
Nicolas Grekas
4f18e76a0b Merge branch '2.8' into 3.4
* 2.8:
  Command::addOption should allow int in $default
  [Form] Minor fixes in docs and cs
  [Form] Fixed empty data for compound date types
2018-11-15 13:14:04 +01:00
Nicolas Grekas
1ac042b7b9 bug #28966 [PropertyAccessor] Fix unable to write to singular property using setter while plural adder/remover exist (karser)
This PR was merged into the 3.4 branch.

Discussion
----------

[PropertyAccessor] Fix unable to write to singular property using setter while plural adder/remover exist

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

Please take a look at the tests I added - they describe the issue. It has to do with the priorities: `findAdderAndRemover('User', 'email')` is called earlier than `$this->isMethodAccessible('User', 'setEmail', 1)`

Commits
-------

8238f167ad [PropertyAccessor] Fix unable to write to singular property using setter while plural adder/remover exist
2018-11-15 13:12:43 +01:00
Nicolas Grekas
f975be24d4 bug #29182 [Form] Fixed empty data for compound date types (HeahDude)
This PR was merged into the 2.8 branch.

Discussion
----------

[Form] Fixed empty data for compound date types

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

Commits
-------

9bab1e8aba [Form] Fixed empty data for compound date types
2018-11-15 13:10:15 +01:00
Nicolas Grekas
5dc7e0c89d bug #29224 [SecurityBundle] Fix remember-me cookie framework inheritance when session is disabled (fbourigault)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[SecurityBundle] Fix remember-me cookie framework inheritance when session is disabled

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

When `framework.session` configuration key is not an array, we ignore it.

Commits
-------

af81008cb6 [SecurityBundle] Fix remember-me cookie framework inheritance when session is disabled
2018-11-15 12:54:35 +01:00
Nicolas Grekas
ef7545444a bug #29220 [Translation] make intl+icu format seamless by handling it in MessageCatalogue (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Translation] make intl+icu format seamless by handling it in MessageCatalogue

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

Commits
-------

c71dfb9673 [Translation] make intl+icu format seamless by handling it in MessageCatalogue
2018-11-15 12:53:51 +01:00
Nicolas Grekas
88891d5e55 feature #29166 [Messenger] Add handled & sent stamps (ogizanagi)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Add handled & sent stamps

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

Based on #29159

This new feature marks sent and handled messages, so middleware can act upon these and use the handler(s) result(s).
This is also the base of a next PR (#29167), introducing a query bus built on top of the message bus.

I'm not sure yet about the best way to determine the handlers and senders names/descriptions to store in the stamps:
- Handlers are callable. I've just reused the [console text descriptor](1c1818b876/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php (L457-L491)) format for now.
- ~~Sender are `SenderInterface` instances. `\get_class` is used for now, but a single message can be sent by multiple senders, including of the same class.~~ => Updated. Yielding the sender name if provided, the FQCN otherwise.

~~Instead, what about allowing to yield names from locators, and fallback on the above strategies otherwise? So we'll use transport names from the config for senders, and pre-computed compile-time handlers descriptions?~~
=> Done. For handlers, computing it at compile time might not be straightforward. Let's compute it lazily from `HandledStamp::fromCallable()`

---

### From previous conversations:

> What about not adding HandledStamp on `null` returned from handler

IMHO, `null` still is a result. The stamps allows to identify a message as being handled regardless of the returned value, so makes sense on its own and keeping would require one less check for those wanting to consume it.

> What about adding SentStamp?

Makes sense to me and I think it was requested by @Nyholm before on Slack.
So, included in this PR.

> Should it target 4.2 or 4.3?

Targeting 4.2, because of the removal of the handler result forwarding by middleware. A userland middleware could have used this result, typically a cache middleware. Which would now require extra boring code in userland. This will simplify it and allow users to create their query bus instance until 4.3.

Commits
-------

2f5acf790a [Messenger] Add handled & sent stamps
2018-11-15 12:53:01 +01:00
Nicolas Eeckeloo
6ab9274638 Improve error message when defining messenger handler class that does not exists 2018-11-15 12:00:02 +01:00
Christophe Coevoet
453efdfe1e Undeprecate the single-colon notation for controllers
This notation is the only way to support controllers as services in the 3.4
LTS version.
This deprecation has only a very small benefit for the Symfony codebase (the
amount of code involved is very small), but has a huge cost for the community
which cannot avoid this deprecation without dropping support for the LTS or
making crazy logic to switch routing files (as they cannot switch things
inline in YAML or XML files).
This deprecation will be delayed until a future 5.x version, when the current
LTS will be 4.4 (which supports the new notation).
2018-11-15 10:34:05 +01:00
Maxime Steinhausser
2f5acf790a [Messenger] Add handled & sent stamps 2018-11-15 10:18:06 +01:00
Christian Flothmann
785fff56ce properly parse backslashes in unquoted env vars 2018-11-14 23:14:12 +01:00
Fabien Bourigault
af81008cb6 [SecurityBundle] Fix remember-me cookie framework inheritance when session is disabled 2018-11-14 20:14:06 +01:00
Nicolas Grekas
c71dfb9673 [Translation] make intl+icu format seamless by handling it in MessageCatalogue 2018-11-14 17:25:09 +01:00
Thomas Bisignani
0ecaead015 [Validator] Added the missing constraints instance checks 2018-11-14 15:06:48 +01:00
Nicolas Grekas
100f2056b7 bug #29209 [VarExporter] fix handling of __sleep() (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[VarExporter] fix handling of __sleep()

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

Commits
-------

46e2ecd5c8 [VarExporter] fix handling of __sleep()
2018-11-14 11:33:31 +01:00
Nicolas Grekas
46e2ecd5c8 [VarExporter] fix handling of __sleep() 2018-11-14 11:32:16 +01:00
Nicolas Grekas
bc03c1bebb bug #29196 [Messenger] Fix collecting messages (ro0NL)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Fix collecting messages

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no-ish
| 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 -->

In 4.2 there's always one dispatched message because we provide the template with a generator. Calling `{{ gen|length }}` always returns `1`

Before

![image](https://user-images.githubusercontent.com/1047696/48368788-f0028980-e6b4-11e8-91b0-54f755b9fb93.png)

After

![image](https://user-images.githubusercontent.com/1047696/48368817-0ad4fe00-e6b5-11e8-8215-54bfdb307c47.png)

Commits
-------

bfc7d94169 [Messenger] Fix collecting messages
2018-11-14 11:19:37 +01:00
Nicolas Grekas
8cc726791d minor #29193 [WebProfilerBundle] Remove unused data attr (ro0NL)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[WebProfilerBundle] Remove unused data attr

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

Actually spotted in #29192 when searching in master :)

The attribute is not used.

Commits
-------

7c593753ef [WebProfilerBundle] Remove unused data attr
2018-11-14 11:18:25 +01:00
Nicolas Grekas
8b36baf41e bug #29205 [Dotenv] skip loading "local" env twice (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Dotenv] skip loading "local" env twice

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

e.g. on homestead, APP_ENV defaults to "local" :)

Commits
-------

978fcfbc03 [Dotenv] skip loading "local" env twice
2018-11-14 11:17:49 +01:00
Nicolas Grekas
adb96f631c bug #29204 [FrameworkBundle][WebServerBundle] Revert deprecation of --env and --no-debug console options (chalasr)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle][WebServerBundle] Revert deprecation of --env and --no-debug console options

This reverts commit 9f60ff8a4d.
This reverts commit 31b5615b51.

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

Working on recipes with @weaverryan, we figured out that this deprecation is just making our life more difficult. Let's revert it.

Same as #29126, reverts #28745 and #28653

Commits
-------

443f8ad374 [FrameworkBundle][WebServerBundle] Revert deprecation of --env and --no-debug console options
2018-11-14 11:01:24 +01:00
Robin Chalas
c513c18fdd minor #29201 Command::addOption should allow int in $default (hultberg)
This PR was merged into the 2.8 branch.

Discussion
----------

Command::addOption should allow int in $default

| Q             | A
| ------------- | ---
| Branch?       | all
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | none
| 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.
-->

In #28714 the documentation for `$default` on `Command::addOption` was changed to specify more specifically than `mixed`. However, there is an inconsistency as `InputOption::__construct` allows int in its `$default`, but not `Command::addOption`. This PR makes fixes that inconsistency.

Commits
-------

5f8bd89 Command::addOption should allow int in $default
2018-11-14 10:59:29 +01:00
Nicolas Grekas
8ce6f5e922 minor #29210 [Messenger] Fix typos (ogizanagi)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Fix typos

| Q             | A
| ------------- | ---
| Branch?       | 4.2 <!-- see below -->
| Bug fix?      | no
| 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 | N/A   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Just small typos extracted from #29166 in case it doesn't make it to 4.2.

Commits
-------

7e763f96c1 [Messenger] Fix typos
2018-11-13 22:37:16 +01:00
Maxime Steinhausser
7e763f96c1 [Messenger] Fix typos 2018-11-13 22:34:14 +01:00
Nicolas Grekas
144a84a526 minor #29181 [Form] Minor fixes in docs and cs (HeahDude)
This PR was merged into the 2.8 branch.

Discussion
----------

[Form] Minor fixes in docs and cs

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

Commits
-------

de40f5d07b [Form] Minor fixes in docs and cs
2018-11-13 22:12:31 +01:00
Nicolas Grekas
76e7944460 [Debug][HttpKernel] remove frames added by DebugClassLoader in stack traces 2018-11-13 20:31:34 +01:00
Nicolas Grekas
978fcfbc03 [Dotenv] skip loading "local" env twice 2018-11-13 20:27:38 +01:00
Robin Chalas
443f8ad374 [FrameworkBundle][WebServerBundle] Revert deprecation of --env and --no-debug console options
This reverts commit 9f60ff8a4d.
This reverts commit 31b5615b51.
2018-11-13 20:11:56 +01:00
Nicolas Grekas
c96325ff57 bug #29191 [Routing] generate(null) should throw an exception (nicolas-grekas)
This PR was merged into the 4.1 branch.

Discussion
----------

[Routing] generate(null) should throw an exception

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

Commits
-------

710aafbc91 [Routing] generate(null) should throw an exception
2018-11-13 19:51:21 +01:00
Nicolas Grekas
da77fc2141 bug #29199 [FrameworkBundle] conflict with Dotenv <4.2 to simplify recipes (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle] conflict with Dotenv <4.2 to simplify recipes

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

In the recipe for fwb 4.2, we already assume that if dotenv is installed, it will be at v4.2 or higher.
Let's enforce this.

Commits
-------

0e80cc175f [FrameworkBundle] conflict with Dotenv <4.2 to simplify recipes
2018-11-13 19:50:56 +01:00
Nicolas Grekas
0e242ab17a bug #29197 Revert "bug #29154 [FrameworkBundle] Define APP_ENV/APP_DEBUG from argv via Application::bootstrapEnv() (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

Revert "bug #29154 [FrameworkBundle] Define APP_ENV/APP_DEBUG from argv via Application::bootstrapEnv()

This reverts commit 9253199de1, reversing
changes made to 664a032940.

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

Replaced by https://github.com/symfony/recipes/pull/491, see description there.

Commits
-------

f3c5fda379 Revert "bug #29154 [FrameworkBundle] Define APP_ENV/APP_DEBUG from argv via Application::bootstrapEnv() (chalasr)"
2018-11-13 19:50:21 +01:00
Nicolas Grekas
b6f9f8d769 Merge branch '2.8' into 3.4
* 2.8:
  [Form] Fixed keeping hash of equal \DateTimeInterface on submit
  [PhpUnitBridge] Fix typo
  [Config] Unset key during normalization
  invalidate forms on transformation failures
2018-11-13 17:52:15 +01:00
Nicolas Grekas
32c01724cd bug #29185 [Form] Fixed keeping hash of equal \DateTimeInterface on submit (HeahDude)
This PR was merged into the 2.8 branch.

Discussion
----------

[Form] Fixed keeping hash of equal \DateTimeInterface on submit

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

Commits
-------

bc2e2cb5ad [Form] Fixed keeping hash of equal \DateTimeInterface on submit
2018-11-13 17:38:43 +01:00
Nicolas Grekas
3778585210 bug #29183 [HttpKernel] Fix collecting uploaded files (ro0NL)
This PR was squashed before being merged into the 4.2-dev branch (closes #29183).

Discussion
----------

[HttpKernel] Fix collecting uploaded files

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| 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 | #29178
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Commits
-------

a439681bd4 [HttpKernel] Fix collecting uploaded files
2018-11-13 17:04:24 +01:00
Roland Franssen
a439681bd4 [HttpKernel] Fix collecting uploaded files 2018-11-13 17:04:17 +01:00
Grégoire Pineau
28cd88e261 bug #29141 [Workflow] Fixed bug of buildTransitionBlockerList when many transition are enabled (Tetragramat, lyrixx)
This PR was merged into the 4.1 branch.

Discussion
----------

[Workflow] Fixed bug of buildTransitionBlockerList when many transition are enabled

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #28429 #28432 #28493
| 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
-------

732f343572 [Workflow] Made code simpler
db69ccc185 method buildTransitionBlockerList returns TransitionBlockerList of expected transition
2018-11-13 15:27:19 +01:00
Edvin Hultberg
5f8bd898b4 Command::addOption should allow int in $default
The constructor for InputOption allows int on the $default parameter, but not Command::addOption $default parameter

fixup: apply coding standards patch
2018-11-13 15:21:37 +01:00
Grégoire Pineau
ab9b40de1c Merge branch '3.4' into 4.1
* 3.4:
  Update symfony links to https
  [FrameworkBundle] fixed guard event names for transitions
  [FrameworkBundle] fixed guard event names for transitions
2018-11-13 15:13:43 +01:00
Grégoire Pineau
8dcefc9a27 bug #29137 [Workflow][FrameworkBundle] fixed guard event names for transitions (destillat, lyrixx)
This PR was merged into the 3.4 branch.

Discussion
----------

[Workflow][FrameworkBundle] fixed guard event names for transitions

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #28018 https://github.com/symfony/symfony/pull/28007#issuecomment-40652420
| License       | MIT
| Doc PR        |

There is a bug when many transitions are defined with the same name.
I finished destillat's work and rebase against 3.4 as it's a bug fix.

There another point of failure, but it could not be fixed on 3.4. I will
be a need feature. The issue is related to `Workflow::can($subject, $transitionName)`.
Since the transitionName could be not unique, we will need to support
passing an instance of Transition. A new PR is incomming

Commits
-------

83dc473dd6 [FrameworkBundle] fixed guard event names for transitions
fb88bfc79a [FrameworkBundle] fixed guard event names for transitions
2018-11-13 15:03:53 +01:00
Roland Franssen
bea63a1399 Update symfony links to https 2018-11-13 13:17:51 +01:00
Nicolas Grekas
0e80cc175f [FrameworkBundle] conflict with Dotenv <4.2 to simplify recipes 2018-11-13 07:51:55 +01:00
Nicolas Grekas
f3c5fda379 Revert "bug #29154 [FrameworkBundle] Define APP_ENV/APP_DEBUG from argv via Application::bootstrapEnv() (chalasr)"
This reverts commit 9253199de1, reversing
changes made to 664a032940.
2018-11-12 22:28:21 +01:00
Jules Pietri
bc2e2cb5ad [Form] Fixed keeping hash of equal \DateTimeInterface on submit 2018-11-12 21:06:28 +01:00
Roland Franssen
bfc7d94169 [Messenger] Fix collecting messages 2018-11-12 20:08:31 +01:00
Roland Franssen
7c593753ef [WebProfilerBundle] Remove unused data attr 2018-11-12 19:12:31 +01:00
Roland Franssen
78e386e87f
[PhpUnitBridge] Fix typo 2018-11-12 19:05:42 +01:00
Nicolas Grekas
710aafbc91 [Routing] generate(null) should throw an exception 2018-11-12 17:52:50 +01:00
Nicolas Grekas
6eb5f93918 bug #29184 [WebProfilerBundle] Fix theme settings (ro0NL)
This PR was squashed before being merged into the 4.2-dev branch (closes #29184).

Discussion
----------

[WebProfilerBundle] Fix theme settings

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| 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 | #28932 #28935
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Commits
-------

8fbe85c50f [WebProfilerBundle] Fix theme settings
2018-11-12 17:46:27 +01:00
Roland Franssen
8fbe85c50f [WebProfilerBundle] Fix theme settings 2018-11-12 17:46:21 +01:00
Fabien Potencier
fb249f0b69 feature #29159 [Messenger] collect all stamps added on Envelope as collections (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] collect all stamps added on Envelope as collections

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

Late small BC break for Messenger:
 * `Envelope::all()` takes a new optional `$stampFqcn` argument and returns the stamps for the specified FQCN, or all stamps by their class name
 * `Envelope::get()` has been renamed `Envelope::last()`

This fixes the current behavior where we replace any previous stamp with the same type, which is unexpected to me as it silently loses data and more importantly blocks interesting use cases we're going to need in the near future.
Basically, that's the same as HTTP headers being allowed to exist several times: most of them make no sense as collections, but some are really useful as collections.

Commits
-------

2e9885922a [Messenger] collect all stamps added on Envelope as collections
2018-11-12 13:35:06 +01:00
Jules Pietri
de40f5d07b [Form] Minor fixes in docs and cs 2018-11-12 11:47:20 +01:00
Grégoire Pineau
732f343572 [Workflow] Made code simpler 2018-11-12 10:18:05 +01:00
Nicolas Grekas
e9470431d2 bug #29171 [Dotenv] load .env.dist when it exists and .env is not found (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Dotenv] load .env.dist when it exists and .env is not found

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

As illustrated in #29170, it can be useful to opt out from the `.env` convention and fall back to defining env vars in `.env.dist` instead. This PR allows that by loading `.env.dist` when it exists and `.env` is not found.

Needs https://github.com/symfony/flex/pull/434 to work seamlessly when using Flex.

Commits
-------

841185bb9f [Dotenv] load .env.dist when it exists and .env is not found
2018-11-12 10:14:20 +01:00
Nicolas Grekas
2e9885922a [Messenger] collect all stamps added on Envelope as collections 2018-11-12 08:39:23 +01:00
Fabien Potencier
893237d58f bug #28731 [Form] invalidate forms on transformation failures (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[Form] invalidate forms on transformation failures

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

Commits
-------

385d9df29c invalidate forms on transformation failures
2018-11-12 08:14:53 +01:00
Fabien Potencier
26f321cb01 bug #29152 [Config] Unset key during normalization (ro0NL)
This PR was squashed before being merged into the 2.8 branch (closes #29152).

Discussion
----------

[Config] Unset key during normalization

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

2.8 vs. 4.x :) let me know.

Commits
-------

e1402d495e [Config] Unset key during normalization
2018-11-12 08:03:10 +01:00
Roland Franssen
e1402d495e [Config] Unset key during normalization 2018-11-12 08:03:04 +01:00
Jules Pietri
9bab1e8aba [Form] Fixed empty data for compound date types 2018-11-11 23:32:26 +01:00
Nicolas Grekas
fd74951405 Merge branch '4.1'
* 4.1:
  [Form] Hardened test suite for empty data
  Bump phpunit XSD version to 5.2
  [Fwb][EventDispatcher][HttpKernel] Fix getClosureScopeClass usage to describe callables
  Add required key attribute
2018-11-11 20:52:12 +01:00
Nicolas Grekas
913781baac Merge branch '3.4' into 4.1
* 3.4:
  [Form] Hardened test suite for empty data
  Bump phpunit XSD version to 5.2
  [Fwb][EventDispatcher][HttpKernel] Fix getClosureScopeClass usage to describe callables
  Add required key attribute
2018-11-11 20:51:29 +01:00
Nicolas Grekas
e32b518818 Merge branch '2.8' into 3.4
* 2.8:
  [Form] Hardened test suite for empty data
  Bump phpunit XSD version to 5.2
  Add required key attribute
2018-11-11 20:48:54 +01:00
Nicolas Grekas
c88755899e minor #29175 Bump phpunit XSD version to 5.2 (greg0ire)
This PR was merged into the 2.8 branch.

Discussion
----------

Bump phpunit XSD version to 5.2

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

Some attributes being used in the phpunit configuration files, namely
`failOnRisky` and `failOnWarning` were introduced in phpunit 5.2.0. The
Composer configuration shows that tests should run with old versions of
phpunit, but phpunit only validates the configuration against the XSD
since phpunit 7.2.0
These changes can be tested as follows:

```
wget http://schema.phpunit.de/5.2/phpunit.xsd
xargs xmllint --schema phpunit.xsd  1>/dev/null
find src -name phpunit.xml.dist| xargs xmllint --schema phpunit.xsd  1>/dev/null
```

See 7e06a82806
See 46e3745a03/composer.json (L98)

Commits
-------

4dce4b7c30 Bump phpunit XSD version to 5.2
2018-11-11 20:39:52 +01:00
Jules Pietri
b0dab6257b [Form] Hardened test suite for empty data 2018-11-11 19:20:21 +01:00
Grégoire Paris
4dce4b7c30
Bump phpunit XSD version to 5.2
Some attributes being used in the phpunit configuration files, namely
failOnRisky and failOnWarning were introduced in phpunit 5.2.0. The
Composer configuration shows that tests should run with old versions of
phpunit, but phpunit only validates the configuration against the XSD
since phpunit 7.2.0.
These changes can be tested as follows:

wget http://schema.phpunit.de/5.2/phpunit.xsd
xargs xmllint --schema phpunit.xsd  1>/dev/null
find src -name phpunit.xml.dist| xargs xmllint --schema phpunit.xsd  1>/dev/null

See 7e06a82806
See 46e3745a03/composer.json (L98)
2018-11-11 12:18:13 +01:00
Maxime Steinhausser
61e459234b [Fwb][EventDispatcher][HttpKernel] Fix getClosureScopeClass usage to describe callables 2018-11-11 12:01:26 +01:00
Florent Mata
4677bb4e4e [SecurityBundle] unhide debug security voter services 2018-11-11 11:44:36 +01:00
Nicolas Grekas
841185bb9f [Dotenv] load .env.dist when it exists and .env is not found 2018-11-11 10:03:40 +01:00
Christian Flothmann
385d9df29c invalidate forms on transformation failures 2018-11-11 09:39:27 +01:00
Nicolas Grekas
a4204cd685 Merge branch '4.1'
* 4.1:
  [DI] align IniFileLoader to PHP bugfix #76965
  Remove unused dependency
2018-11-10 16:16:42 +01:00
Nicolas Grekas
4b67acaa71 Merge branch '3.4' into 4.1
* 3.4:
  [DI] align IniFileLoader to PHP bugfix #76965
2018-11-10 16:16:08 +01:00
Nicolas Grekas
0ab87f44e6 [DI] align IniFileLoader to PHP bugfix #76965 2018-11-10 16:03:16 +01:00
Nicolas Grekas
1b82e563fe minor #29065 [OptionsResolver] Micro optimizations and simplifications (yceruto)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[OptionsResolver] Micro optimizations and simplifications

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/issues/29055
| License       | MIT
| Doc PR        | -

As we know, this component has a big impact on the workflow of the `Form` component. I'm a newcomer in Blackfire, so there could be other optimizations that I can't able to see, but here we go.

For now, we've less code to maintain ![commit-changes](https://user-images.githubusercontent.com/2028198/47917083-c3619d00-de7e-11e8-826a-0c3009948d93.png) and a micro-optimizacion of performance. It'd be great if someone could try these changes in a real project to see their real value.

![orbf](https://user-images.githubusercontent.com/2028198/47915644-e2116500-de79-11e8-8648-a5e619fcd3eb.png)
![metrics](https://user-images.githubusercontent.com/2028198/47917598-61a23280-de80-11e8-9153-3ea60317f1a5.png)

https://blackfire.io/profiles/compare/a04a13d3-7f60-4434-a2b8-0762efb8fbd6/graph
https://github.com/yceruto/orbf The sample takes into account only the core extensions.

Cheers!

Commits
-------

24c2213b3d Optimizations and simplifications OMG Blackfire!
2018-11-10 11:18:01 +01:00
Vladimir Reznichenko
dc1b24a8eb SCA: use 'yield from' where it does make sense 2018-11-10 11:03:47 +01:00
Robin Chalas
bbd5682c2b [FrameworkBundle] Define APP_ENV/APP_DEBUG from argv via Application::bootstrapEnv() 2018-11-10 04:07:36 +01:00
Nicolas Grekas
664a032940 bug #29129 [Dotenv] add loadEnv(), a smoother alternative to loadForEnv() (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Dotenv] add loadEnv(), a smoother alternative to loadForEnv()

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

This PR replaces the `loadForEnv()` method introduced in #28533 by a new `loadEnv()` method.
- It accepts only one mandatory argument: `$path`, which is the path to the `.env` file.
- The 2nd argument is optional and defines the name of the environment variable that defines the Symfony env. This plays better with the current practice of defining the env in `.env` (`loadForEnv()` requires knowing the env before being called, leading to a chicken-n-egg situation that `loadEnv()` avoids.)
- the possibility to load several files at once is removed. We don't have a use case for it and those who do can call `loadEnv()` in a loop anyway.

In addition to $path (.env), the following files are loaded, the latter taking precedence in this order:
.env < env.local < .env.$env < .env.$env.local

Note that `loadForEnv()` used to give higher precedence to .env.local vs .env.$env.
The new behavior is aligned with [the order used by create-react-app](https://github.com/facebook/create-react-app/blob/master/docusaurus/docs/adding-custom-environment-variables.md#what-other-env-files-can-be-used). It also allows overriding the env in .env.local, which should be convenient for DX.

Last but not least, the "test" env has this special behaviors:
- `.env.local` file is skipped for the "test" env (same as before and as in create-react-app)
- ~vars defined in .env files **override** real env vars (similar to what Rails' dotenv does: you don't want your tests to randomly fail because of some real env vars)~.

Commits
-------

0cf9acb70f [Dotenv] add loadEnv(), a smoother alternative to loadForEnv()
2018-11-09 09:14:35 +01:00
Gonzalo Vilaseca
aea5ca2788 Remove unused dependency 2018-11-08 23:19:15 +01:00
Nicolas Grekas
99856a9b08 Merge branch '4.1'
* 4.1:
  fix merge
2018-11-08 23:17:22 +01:00
Nicolas Grekas
67f3a35870 fix merge 2018-11-08 23:17:11 +01:00
Nicolas Grekas
626a61093e bug #29113 [Routing] fix dumping conditions that use the request (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Routing] fix dumping conditions that use the request

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

Commits
-------

09d5be8dac [Routing] fix dumping conditions that use the request
2018-11-08 23:02:36 +01:00
Nicolas Grekas
0aa4273b39 Merge branch '4.1'
* 4.1:
  Change button_widget class to btn-primary
  [Serializer] Allow null values when denormalizing with constructor missing data
  [Dotenv] dont use getenv() to read SYMFONY_DOTENV_VARS
  [HttpFoundation] Fixed PHP doc of ParameterBag::getBoolean
  [HttpFoundation] replace any preexisting Content-Type headers
2018-11-08 23:01:02 +01:00
Nicolas Grekas
f45252a155 Merge branch '3.4' into 4.1
* 3.4:
  Change button_widget class to btn-primary
  [Dotenv] dont use getenv() to read SYMFONY_DOTENV_VARS
  [HttpFoundation] Fixed PHP doc of ParameterBag::getBoolean
  [HttpFoundation] replace any preexisting Content-Type headers
2018-11-08 22:56:36 +01:00
neFAST
59003bf27a Change button_widget class to btn-primary 2018-11-08 22:50:22 +01:00
Nicolas Grekas
d74a4eb2fa bug #29131 [Dotenv] dont use getenv() to read SYMFONY_DOTENV_VARS (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Dotenv] dont use getenv() to read SYMFONY_DOTENV_VARS

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

Since using it is not thread safe, let's not rely on it (already done in other places.)

Commits
-------

21a909a189 [Dotenv] dont use getenv() to read SYMFONY_DOTENV_VARS
2018-11-08 22:48:38 +01:00
Nicolas Grekas
a141ab0105 Merge branch '2.8' into 3.4
* 2.8:
  [HttpFoundation] Fixed PHP doc of ParameterBag::getBoolean
  [HttpFoundation] replace any preexisting Content-Type headers
2018-11-08 22:47:40 +01:00
Grégoire Pineau
83dc473dd6 [FrameworkBundle] fixed guard event names for transitions 2018-11-08 22:39:37 +01:00
Nicolas Grekas
46e3745a03 bug #29057 [HttpFoundation] replace any preexisting Content-Type headers (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[HttpFoundation] replace any preexisting Content-Type headers

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

Commits
-------

de2ce58a4f [HttpFoundation] replace any preexisting Content-Type headers
2018-11-08 22:38:31 +01:00
Kévin Dunglas
ca5b64d0e0
bug #29076 [Serializer] Allow null values when denormalizing with constructor missing data (danut007ro)
This PR was squashed before being merged into the 4.1 branch (closes #29076).

Discussion
----------

[Serializer] Allow null values when denormalizing with constructor missing data

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

When using `default_constructor_arguments` to denormalize objects, `null` values for a parameter weren't processed, so instantiating was failing.

Commits
-------

5fd0f3f453 [Serializer] Allow null values when denormalizing with constructor missing data
2018-11-08 22:02:02 +01:00
Daniel Gorgan
5fd0f3f453
[Serializer] Allow null values when denormalizing with constructor missing data 2018-11-08 22:01:52 +01:00
Nicolas Grekas
21a909a189 [Dotenv] dont use getenv() to read SYMFONY_DOTENV_VARS 2018-11-08 18:00:24 +01:00
Grégoire Pineau
388840fd99 [Workflow] Trigger entered event for subject entering in the Workflow for the first time 2018-11-08 16:47:13 +01:00
Lukas Mencl
db69ccc185 method buildTransitionBlockerList returns TransitionBlockerList of expected transition 2018-11-08 15:58:58 +01:00
Nicolas Grekas
0cf9acb70f [Dotenv] add loadEnv(), a smoother alternative to loadForEnv() 2018-11-08 12:51:43 +01:00
Ivan Nikolaev
fb88bfc79a [FrameworkBundle] fixed guard event names for transitions 2018-11-08 11:46:13 +01:00
Yonel Ceruto
dfc7dcc00b Also fix a bug for --all option 2018-11-07 13:41:09 -05:00
Yonel Ceruto
3cbefd838f Cleaning translation commands 2018-11-07 11:54:53 -05:00
Nicolas Grekas
09d5be8dac [Routing] fix dumping conditions that use the request 2018-11-06 21:24:23 +01:00
Nicolas Grekas
3b3a1bd3cc [DI] compute autowiring error messages lazily 2018-11-06 20:03:07 +01:00
Grégoire Pineau
1fa5a9a0bd [HttpFoundation] Fixed PHP doc of ParameterBag::getBoolean
Since the method should return a bool, then the default value should be
a bool too
2018-11-06 18:42:22 +01:00
Nicolas Grekas
8d277ce3e5 Merge branch '4.1'
* 4.1:
  [VarDumper] fix dump of closures created from callables
  [DI] fix dumping inlined services
  Add framework asset changes to upgrade 3.0 guide
  [Travis] Bump ext-mongodb to 1.5.2 on Travis
  [DI] dont track classes/interfaces used to compute autowiring error messages
  [DI] fix GraphvizDumper ignoring inline definitions
  bumped Symfony version to 4.1.8
  updated VERSION for 4.1.7
  updated CHANGELOG for 4.1.7
  bumped Symfony version to 3.4.19
  updated VERSION for 3.4.18
  updated CHANGELOG for 3.4.18
  bumped Symfony version to 2.8.48
  updated VERSION for 2.8.47
  update CONTRIBUTORS for 2.8.47
  updated CHANGELOG for 2.8.47
  Fix ini_get() for boolean values
2018-11-06 18:10:56 +01:00
Nicolas Grekas
097963fbaf Merge branch '3.4' into 4.1
* 3.4:
  [VarDumper] fix dump of closures created from callables
  [DI] fix dumping inlined services
  Add framework asset changes to upgrade 3.0 guide
  [Travis] Bump ext-mongodb to 1.5.2 on Travis
  [DI] dont track classes/interfaces used to compute autowiring error messages
  [DI] fix GraphvizDumper ignoring inline definitions
  bumped Symfony version to 3.4.19
  updated VERSION for 3.4.18
  updated CHANGELOG for 3.4.18
  bumped Symfony version to 2.8.48
  updated VERSION for 2.8.47
  update CONTRIBUTORS for 2.8.47
  updated CHANGELOG for 2.8.47
  Fix ini_get() for boolean values
2018-11-06 17:43:48 +01:00
Nicolas Grekas
6006448997 bug #29104 [DI] fix dumping inlined services (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] fix dumping inlined services

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

Same as #29103 but for 3.4.

This PR dump inline services using the call-stack to sort the code for instantiating them.
This makes easier to follow and matches the behavior one would expect (and has when using `ContainerBuiler` directly to create services.)

Commits
-------

a97606d58a [DI] fix dumping inlined services
2018-11-06 17:31:32 +01:00
Nicolas Grekas
41eaba5af5 bug #29054 [VarDumper] fix dump of closures created from callables (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[VarDumper] fix dump of closures created from callables

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

We are missing displaying full information about closures created using `ReflectionMethod::getClosure()` or `Closure::fromCallable()`.

This PR fixes it. For VarDumper but also other places where we have logic to display them.

Commits
-------

1c1818b876 [VarDumper] fix dump of closures created from callables
2018-11-06 17:26:47 +01:00
Yonel Ceruto
24c2213b3d Optimizations and simplifications OMG Blackfire! 2018-11-06 11:20:24 -05:00
Nicolas Grekas
1c1818b876 [VarDumper] fix dump of closures created from callables 2018-11-06 17:20:05 +01:00
Nicolas Grekas
a97606d58a [DI] fix dumping inlined services 2018-11-06 17:06:23 +01:00
Nicolas Grekas
69ae468351 bug #29102 [DI] fix GraphvizDumper ignoring inline definitions (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] fix GraphvizDumper ignoring inline definitions

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

Since SF3, inline definitions are first class citizen. I noticed that the GraphvizDumper does not inspect them. Here is the fix.

Commits
-------

ebe6265504 [DI] fix GraphvizDumper ignoring inline definitions
2018-11-06 17:03:43 +01:00
Nicolas Grekas
6cfd3de7bf minor #29041 Fix ini_get() for boolean values (deguif)
This PR was merged into the 3.4 branch.

Discussion
----------

Fix ini_get() for boolean values

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

This follows #29020 for branch 3.4

Commits
-------

65b34cb53c Fix ini_get() for boolean values
2018-11-06 17:00:34 +01:00
Nicolas Grekas
ef3be0b244 bug #29090 LoggingTranslator should implement Symfony\Contracts\Translation\TranslatorInterface (desmax)
This PR was merged into the 4.2-dev branch.

Discussion
----------

LoggingTranslator should implement Symfony\Contracts\Translation\TranslatorInterface

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

While autowiring Translator using `Symfony\Contracts\Translation\TranslatorInterface` symfony complains that wrong service was injected, because LoggingTranslator does not implement new interface.

Commits
-------

65f321f6c9 LoggingTranslator should implement Symfony\Contracts\Translation\TranslatorInterface
2018-11-06 16:56:30 +01:00
Nicolas Grekas
f9198c2aa7 bug #29095 [TwigBridge] require the needed symfony/contracts package (xabbuh)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[TwigBridge] require the needed symfony/contracts package

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

Commits
-------

4400776140 require the needed symfony/contracts package
2018-11-06 16:55:41 +01:00
Nicolas Grekas
2b7985d5e6 minor #29068 Remove unused variable (jschaedl)
This PR was merged into the 4.2-dev branch.

Discussion
----------

Remove unused variable

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

Commits
-------

246b3bf757 Remove unused variable
2018-11-06 16:44:47 +01:00
Nicolas Grekas
8cd0538a7f bug #29094 Add samesite attribute to session cookie after session migration (rpkamp)
This PR was merged into the 4.2-dev branch.

Discussion
----------

Add samesite attribute to session cookie after session migration

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

Commits
-------

df903005c1 Add samesite attribute to session cookie after session migration
2018-11-06 16:33:07 +01:00
Nicolas Grekas
23a0b2dcda minor #29100 [Messenger] Cleaning after new changes (yceruto)
This PR was squashed before being merged into the 4.2-dev branch (closes #29100).

Discussion
----------

[Messenger] Cleaning after new changes

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

See topic per commit

Commits
-------

3d31772949 [Messenger] Cleaning after new changes
2018-11-06 16:29:10 +01:00
Yonel Ceruto
3d31772949 [Messenger] Cleaning after new changes 2018-11-06 16:29:01 +01:00
Nicolas Grekas
09a0c23668 [DI] dont track classes/interfaces used to compute autowiring error messages 2018-11-06 14:23:35 +01:00
Nicolas Grekas
ebe6265504 [DI] fix GraphvizDumper ignoring inline definitions 2018-11-06 10:26:47 +01:00
Remon van de Kamp
f77970b950
Clarify deprecation of Email constraint without egulias/email-validator 2018-11-05 21:30:49 +01:00
Sylvain Fabre
bb6be1534a [Validator] Checking a BIC along with an IBAN
Fix #28166
2018-11-05 13:47:32 +01:00
Christian Flothmann
4400776140 require the needed symfony/contracts package 2018-11-05 11:24:20 +01:00
Remon van de Kamp
df903005c1
Add samesite attribute to session cookie after session migration 2018-11-05 10:25:33 +01:00
Maxim Pustynnikov
65f321f6c9 LoggingTranslator should implement Symfony\Contracts\Translation\TranslatorInterface 2018-11-05 14:48:19 +08:00
Fabien Potencier
4bc1cc7e43 bug #29080 [FrameworkBundle][4.2] fix deps (ro0NL)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle][4.2] fix deps

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

The bundle requires the `MetadataAwareNameConverter` added in 4.2

1fc577f2c7/src/Symfony/Bundle/FrameworkBundle/Resources/config/serializer.xml (L122-L124)

This PR fixes

```
Attempted to load interface "AdvancedNameConverterInterface" from namespace "Symfony\Component\Serializer\NameConverter".
Did you forget a "use" statement for another namespace?
```

Commits
-------

71fe97a7ab [FrameworkBundle][4.2] fix deps
2018-11-04 20:05:04 +01:00
Maxime Steinhausser
3136611d1e
[Messenger] The component is still experimental 2018-11-04 20:00:43 +01:00
Roland Franssen
71fe97a7ab
[FrameworkBundle][4.2] fix deps 2018-11-04 14:52:16 +01:00
Fabien Potencier
1fc577f2c7 bumped Symfony version to 4.2.0 2018-11-03 14:17:14 +01:00
Fabien Potencier
91957aa4cc updated VERSION for 4.2.0-BETA1 2018-11-03 13:37:30 +01:00
Fabien Potencier
0615759e7c bumped Symfony version to 4.1.8 2018-11-03 12:15:06 +01:00
Fabien Potencier
78e1def253 updated VERSION for 4.1.7 2018-11-03 12:11:23 +01:00
Fabien Potencier
3ed98de837 bumped Symfony version to 3.4.19 2018-11-03 12:10:01 +01:00
Fabien Potencier
b22cad3743 updated VERSION for 3.4.18 2018-11-03 11:03:02 +01:00
Fabien Potencier
d1ca2ac4af bumped Symfony version to 2.8.48 2018-11-03 11:02:24 +01:00
Fabien Potencier
6f9c358e5d updated VERSION for 2.8.47 2018-11-03 10:53:57 +01:00
Jan Schädlich
246b3bf757
Remove unused variable 2018-11-03 08:39:20 +01:00
Roland Franssen
52f15f75a5 [DI] Fix EOL replacement 2018-11-02 13:47:27 +01:00
Nicolas Grekas
1736df735f bug #29062 Fix GlobResource serialization (alexismarquis)
This PR was squashed before being merged into the 4.2-dev branch (closes #29062).

Discussion
----------

Fix GlobResource serialization

| Q             | A
| ------------- | ---
| Branch?       | master <!-- see below -->
| 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?   | no    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #28200   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | <!-- required for new features -->

Since @gonzalovilaseca improvement in PR #28200, I noticed that the container is being compiled systematically. This is caused by the two added properties (`forExclusion`, `excludedPrefixes`) not being serialized, and lead to wrong hash computing. I updated the `serialize` and `unserialize` methods in this PR.

ping @nicolas-grekas

Commits
-------

6ce7f07439 Fix GlobResource serialization
2018-11-02 12:14:24 +01:00
Alexis MARQUIS
6ce7f07439 Fix GlobResource serialization 2018-11-02 12:14:17 +01:00
Nicolas Grekas
79bbee2e56 feature #28622 [VarDumper] add caster for Memcached (jschaedl)
This PR was squashed before being merged into the 4.2-dev branch (closes #28622).

Discussion
----------

[VarDumper] add caster for Memcached

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

Commits
-------

f95d943cc4 [VarDumper] add caster for Memcached
2018-11-02 12:05:12 +01:00
Jan Schädlich
f95d943cc4 [VarDumper] add caster for Memcached 2018-11-02 12:04:59 +01:00
Nicolas Grekas
ce53261323 [DI] use filter_var() instead of XmlUtils::phpize() in EnvVarProcessor 2018-11-02 08:25:53 +01:00
Nicolas Grekas
de2ce58a4f [HttpFoundation] replace any preexisting Content-Type headers 2018-11-01 18:15:47 +01:00
Tobias Schultze
2bfcaeb31f minor #29052 [Messenger] make senders/handlers locator accept envelopes (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] make senders/handlers locator accept envelopes

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

As suggested by @Tobion in https://github.com/symfony/symfony/pull/29045#issuecomment-434906250 - works for me also.

Commits
-------

9cd88b0dc5 [Messenger] make senders/handlers locator accept envelopes
2018-11-01 14:33:33 +01:00
Nicolas Grekas
90ac841404 minor #29051 [Messenger] extract stamp header prefix into private const (Tobion)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] extract stamp header prefix into private const

| Q             | A
| ------------- | ---
| Branch?       | master f
| Bug fix?      | no
| 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        |

Commits
-------

564cf3d156 [Messenger] extract stamp header prefix into private const
2018-11-01 10:57:18 +01:00
Nicolas Grekas
0d60ebac42 feature #29047 Revert "[HttpFoundation] Adds getAcceptableFormats() method for Request" (Tobion)
This PR was merged into the 4.2-dev branch.

Discussion
----------

Revert "[HttpFoundation] Adds getAcceptableFormats() method for Request"

This reverts commit 8a127ea34a.

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| 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 | #26486
| License       | MIT
| Doc PR        |

As I said in https://github.com/symfony/symfony/pull/26486#discussion_r228697658 and people wonder in https://symfony.com/blog/new-in-symfony-4-2-acceptable-request-formats#comment-22747, I don't think this method clear and generic enough to be added to the core.
I can't see where I would possibly use this method. What would be useful is a similar method that accepts formats as argument and would return the ones that are acceptable according to the accept header. This would then allow to make use of `*/*` and this is what people usually need in REST APIs etc.
But for now, we should revert it before it gets released like this.

Commits
-------

397ed83c3c Revert "[HttpFoundation] Adds getAcceptableFormats() method for Request"
2018-11-01 10:55:14 +01:00
Nicolas Grekas
9cd88b0dc5 [Messenger] make senders/handlers locator accept envelopes 2018-11-01 10:43:31 +01:00
Tobias Schultze
564cf3d156 [Messenger] extract stamp header prefix into private const 2018-11-01 03:41:35 +01:00
Tobias Schultze
397ed83c3c Revert "[HttpFoundation] Adds getAcceptableFormats() method for Request"
This reverts commit 8a127ea34a.
2018-10-31 18:20:23 +01:00
Nicolas Grekas
385856413c [Bridge/Doctrine] remove workarounds from the past 2018-10-31 18:17:13 +01:00
François-Xavier de Guillebon
65b34cb53c
Fix ini_get() for boolean values 2018-10-31 14:11:30 +01:00
Nicolas Grekas
78192e776c Merge branch '4.1'
* 4.1:
  [DependencyInjection] Fix tags on multiple decorated service
  fix merge
  SCA: reverted code style changes
  SCA: reverted code style changes
  SCA: applied requested code style changes
  SCA: simplify some ifs in favour of null coalescing operator
2018-10-31 11:56:31 +01:00
Nicolas Grekas
25c2975cd4 Merge branch '3.4' into 4.1
* 3.4:
  [DependencyInjection] Fix tags on multiple decorated service
2018-10-31 11:54:16 +01:00
Nicolas Grekas
5d1120593c bug #28820 [DependencyInjection] Fix tags on multiple decorated service (Soner Sayakci)
This PR was merged into the 3.4 branch.

Discussion
----------

[DependencyInjection] Fix tags on multiple decorated service

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

After the first run in the loop with the same decorated service it goes only in the hasAlias condition. The tags will be not set here, so the `ResolveTaggedIteratorArgumentPass` will handle only the first decoration.

Commits
-------

90f8df2830 [DependencyInjection] Fix tags on multiple decorated service
2018-10-31 11:49:51 +01:00
Soner Sayakci
90f8df2830 [DependencyInjection] Fix tags on multiple decorated service 2018-10-31 11:41:01 +01:00
Nicolas Grekas
d9b4872454 minor #29009 SCA: simplify some ifs in favour of null coalescing operator (kalessil, vladimir.reznichenko)
This PR was merged into the 4.1 branch.

Discussion
----------

SCA: simplify some ifs in favour of null coalescing operator

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

Some of ifs were replaced with null coalescing operator in order to simplify control flow.

Commits
-------

636a872389 SCA: reverted code style changes
c926b1abd3 SCA: reverted code style changes
300b31fa75 SCA: applied requested code style changes
0180cb936f SCA: simplify some ifs in favour of null coalescing operator
2018-10-31 10:30:44 +01:00
Nicolas Grekas
bcc4454079 fix merge 2018-10-31 10:26:14 +01:00
Nicolas Grekas
448da09fe9 fix merge 2018-10-31 10:23:48 +01:00
Nicolas Grekas
c6e8a657ec Merge branch '4.1'
* 4.1:
  Fixed typo
  Fix ini_get() for boolean values
  SCA: fixed broken tests
  SCA: applied code style as per guidelines
  SCA: minor code tweaks
2018-10-31 10:23:02 +01:00
Nicolas Grekas
3e8a423047 Merge branch '3.4' into 4.1
* 3.4:
  Fixed typo
  Fix ini_get() for boolean values
  SCA: fixed broken tests
  SCA: applied code style as per guidelines
  SCA: minor code tweaks
2018-10-31 10:09:42 +01:00
Nicolas Grekas
63c74f7c29 Merge branch '2.8' into 3.4
* 2.8:
  Fixed typo
  Fix ini_get() for boolean values
2018-10-31 10:06:03 +01:00
Nicolas Grekas
555f2d922e minor #28994 SCA: minor code tweaks (vladimir.reznichenko, kalessil)
This PR was merged into the 3.4 branch.

Discussion
----------

SCA: minor code tweaks

| 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

Following tweaks included:
- repetitive method calls
- greedy regex
- unnecessary function calls (simplifications)

Commits
-------

b12c89d481 SCA: fixed broken tests
42e96ff7a2 SCA: applied code style as per guidelines
8dbd927a33 SCA: minor code tweaks
2018-10-31 09:57:11 +01:00
Nicolas Grekas
92f5747e38 feature #29022 [Cache] allow to skip saving the computed value when using CacheInterface::get() (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Cache] allow to skip saving the computed value when using CacheInterface::get()

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

While trying to play with using Messenger and Cache together, I spotted a few issues related to the new `CacheInterface::get()` method:
- there must be a way to skip saving the computed value in the pool. This is needed in my (still local WIP) use case - and is also needed for `LockRegistry`: processes that wait for the lock to be released should not write the value back when the lock is over. This is addressed by adding a 2nd `bool &$save` argument to the computing callback. When the callback sets this reference to true, the returned value should not be written to the pool.
- in order to better document the signature of this callback, a new `CallbackInterface` is added in the `Contracts\Cache` namespace. This will help autocompletion and implementations.
- `ContractsTrait` was writing twice the value to the pool - now fixed
- `LockRegistry` did not retry locking when a waiting process wasn't able to fetch the fresh value - now fixed.

Commits
-------

321d7f4be0 [Cache] allow to skip saving the computed value when using CacheInterface::get()
2018-10-31 09:48:12 +01:00
Nicolas Grekas
321d7f4be0 [Cache] allow to skip saving the computed value when using CacheInterface::get() 2018-10-31 09:00:32 +01:00
Nicolas Grekas
1e7af4d35e [Messenger] make senders and handlers subscribing to parent interfaces receive *all* matching messages, wildcard included 2018-10-31 08:48:19 +01:00
Fabien Potencier
5a2969cf68 bug #29020 Fix ini_get() for boolean values (deguif)
This PR was merged into the 2.8 branch.

Discussion
----------

Fix ini_get() for boolean values

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

Currently setting `false` or `off`, ... value to configure some PHP ini directives will make this evaluated to `true` as this is equal to a non empty string.

Commits
-------

a1538696c3 Fix ini_get() for boolean values
2018-10-31 06:52:40 +01:00
Fabien Potencier
7cb99fa665 [Messenger] marked the component as experimental for 4.2 2018-10-31 06:40:28 +01:00
Jérôme Vasseur
872a772f33 Fix BC break in Kernel name 2018-10-30 21:45:30 +01:00
Nicolas Grekas
0970b09796 Merge branch '4.1'
* 4.1:
  SCA: removed unused variables
  Remove duplicate condition
  fix useless space in docblock
  remove unneeded tearDown method
  [Intl] Update the ICU data to 63.1
  [FrameworkBundle] Fix broken exception message
  [Messenger] send using the routing_key for AMQP transport
  also clean away the NO_AUTO_CACHE_CONTROL_HEADER if we have no session
  [TwigBundle] Fix usage of TwigBundle without FrameworkBundle
  Revert "fixed CS"
  [Serializer] Reduce class discriminator overhead
  Skip empty proxy code
  [Security] Fix "exclude-from-classmap"
  [Security] Removed unsed trait import
  [Config] Fix @method annotation
  add missing double-quotes to extra_fields output message
  [DI] Default undefined env to empty string during compile
  Convert InsufficientAuthenticationException to HttpException
2018-10-30 18:11:56 +01:00
Nicolas Grekas
96fca34f42 minor #29031 SCA: minor code tweaks (kalessil)
This PR was merged into the 4.1 branch.

Discussion
----------

SCA: minor code tweaks

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

Removed unused variables

Commits
-------

e4466bf4f0 SCA: removed unused variables
2018-10-30 18:03:27 +01:00
Nicolas Grekas
4b1db0d32c Merge branch '3.4' into 4.1
* 3.4:
  Remove duplicate condition
  fix useless space in docblock
  remove unneeded tearDown method
  [Intl] Update the ICU data to 63.1
  [FrameworkBundle] Fix broken exception message
  [TwigBundle] Fix usage of TwigBundle without FrameworkBundle
  Revert "fixed CS"
  Skip empty proxy code
  [Security] Fix "exclude-from-classmap"
  add missing double-quotes to extra_fields output message
  Convert InsufficientAuthenticationException to HttpException
2018-10-30 18:00:46 +01:00
Nicolas Grekas
faec03105f Merge branch '2.8' into 3.4
* 2.8:
  Remove duplicate condition
  fix useless space in docblock
  remove unneeded tearDown method
  [FrameworkBundle] Fix broken exception message
  Revert "fixed CS"
  Skip empty proxy code
  [Security] Fix "exclude-from-classmap"
  add missing double-quotes to extra_fields output message
  Convert InsufficientAuthenticationException to HttpException
2018-10-30 17:50:50 +01:00
Nicolas Grekas
0c6f671e8c minor #28938 Revert "fixed CS" (keradus)
This PR was merged into the 2.8 branch.

Discussion
----------

Revert "fixed CS"

This reverts commit d48a3776fe.

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

This PR reverts #28814 , that was caused as a bug of PHP CS Fixer fixed in https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/4027

After fix on PHP CS Fixer side, the rule is passing now at Symfony's codebase.

This PR only reverts wrong chances done by PHP CS Fixer,
it does not apply new rule requested in #28817 ( https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/4045 )

Commits
-------

6f83d9f9a3 Revert "fixed CS"
2018-10-30 17:42:45 +01:00
Vladimir Reznichenko
e4466bf4f0 SCA: removed unused variables 2018-10-30 17:39:32 +01:00
François-Xavier de Guillebon
a1538696c3
Fix ini_get() for boolean values 2018-10-30 17:24:01 +01:00
Nguyen Xuan Quynh
925842af60 Remove duplicate condition 2018-10-30 15:26:34 +01:00
Nicolas Grekas
2cd1e11847 feature #29006 [Messenger] make TraceableMiddleware decorate a StackInterface instead of each middleware to free the callstack from noisy frames (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] make TraceableMiddleware decorate a StackInterface instead of each middleware to free the callstack from noisy frames

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

Right now, `TraceableMiddleware` works as a middleware decorator for the "handle" method. It means that *each middleware* frame in the call stack is wrapped between two noisy extra frames.
This is something we can remove by decorating the StackInterface instead: let's just stop/start events when the next middleware is fetched.
Thanks to this, only one frame *per bus* is added to measure middleware timings.

Commits
-------

73c8c23c79 [Messenger] make TraceableMiddleware decorate a StackInterface instead of each middleware to free the callstack from noisy frames
2018-10-30 15:13:15 +01:00
vladimir.reznichenko
636a872389 SCA: reverted code style changes 2018-10-30 14:18:25 +01:00
vladimir.reznichenko
c926b1abd3 SCA: reverted code style changes 2018-10-30 14:12:48 +01:00
Nicolas Grekas
73c8c23c79 [Messenger] make TraceableMiddleware decorate a StackInterface instead of each middleware to free the callstack from noisy frames 2018-10-29 21:18:59 +01:00
Nicolas Grekas
c2e55ff3f4 [DI] minor fix 2018-10-29 18:21:05 +01:00
Nicolas Grekas
9075d2e64e minor #29013 [HTTP Foundtation] Fix useless space in docblock (ismail1432)
This PR was merged into the 2.8 branch.

Discussion
----------

[HTTP Foundtation] Fix useless space in docblock

I Just removed a useless space in PHP Doc, I don't know if target the 2.8 branch is enough to others SF versions

Commits
-------

6ba75734d6 fix useless space in docblock
2018-10-29 12:11:57 +01:00
Nicolas Grekas
41f57edf97 minor #29015 [Process] fix transient test (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Process] fix transient test

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

Commits
-------

2f736a07fc [Process] fix transient test
2018-10-29 12:09:57 +01:00
Nicolas Grekas
f5d390800b minor #29016 [VarExporter] Cleanup unused var (ro0NL)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[VarExporter] Cleanup unused var

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

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

d254004c26 [VarExporter] Cleanup unused var
2018-10-29 12:06:16 +01:00
Roland Franssen
d254004c26 [VarExporter] Cleanup unused var 2018-10-29 11:58:48 +01:00
Nicolas Grekas
2f736a07fc [Process] fix transient test 2018-10-29 10:58:56 +01:00
Nicolas Grekas
3263175b9e feature #28970 [FrameworkBundle] make debug:autowiring list useful services and their description (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle] make debug:autowiring list useful services and their description

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

This PR closes #27207: we don't need "semantics" anymore. 4.2 has everything already to allow us to separate useful services from the other ones: any autowireable *alias* **is** a useful service!
Add autowiring by type + parameter name (#28234) and the story is done: we can easily hint people about which features their bundles provide, without being polluted by for-wiring-only services.

Here is a screenshot running this command(before I excluded the aliases for $cacheApp and $cacheSystem):
![image 3](https://user-images.githubusercontent.com/243674/47437006-f41f4380-d7a7-11e8-9f76-7f23e9193ce8.png)

ping @weaverryan as we drafted that together.
Fixes a few issues found meanwhile.
That should definitely go in 4.2.

Commits
-------

56aab09b01 [FrameworkBundle] make debug:autowiring list useful services and their description
2018-10-29 10:47:30 +01:00
Smaine Milianni
6ba75734d6 fix useless space in docblock 2018-10-29 08:56:04 +01:00
Kévin Dunglas
c10710c01e
[DotEnv] Fix loadForEnv PHPDoc 2018-10-29 08:11:34 +01:00
Nicolas Grekas
56aab09b01 [FrameworkBundle] make debug:autowiring list useful services and their description 2018-10-28 22:46:57 +01:00
Vladimir Reznichenko
300b31fa75 SCA: applied requested code style changes 2018-10-28 19:42:32 +01:00
Vladimir Reznichenko
0180cb936f SCA: simplify some ifs in favour of null coalescing operator 2018-10-28 19:38:52 +01:00
Fabien Potencier
084fa5433b feature #28952 [Translation] allow using the ICU message format using domains with the "+intl-icu" suffix (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Translation] allow using the ICU message format using domains with the "+intl-icu" suffix

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

This PR replaces the `FallbackFormatter` logic by explicit opt-in.
This allows triggering accurate exceptions when one wants to use the ICU message format but the extension (or the polyfill) is missing.
The way to opt-in is to put messages in a domain with the `+intl-icu` suffix *at loading/declaration time*.
E.g. translations in `messages+intl-icu.en.yaml` will be read as part of the `messages` domain , but will be parsed by intl's `MessageFormatter` instead of the default Symfony one.
To make it seamless to adopt the ICU format, `%`s are trimmed from parameter keys (idea borrowed from https://github.com/webfactory/WebfactoryIcuTranslationBundle)

This is for 4.2 as it changes a feature that is not released yet.
ping @Nyholm - we drafted this together.

Commits
-------

d95cc4d4c6 [Translation] allow using the ICU message format using domains with the "+intl-icu" suffix
2018-10-28 19:21:04 +01:00
Laurent VOULLEMIER
8abb05607b [Security][SecurityBundle] Add voter individual decisions to profiler 2018-10-28 18:49:26 +01:00
Fabien Potencier
edcd627230 bug #29004 [BrowserKit] Remove undefined variable $str (samnela)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[BrowserKit] Remove undefined variable $str

| Q             | A
| ------------- | ---
| Branch?       | master  <!-- see below -->
| 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 | no   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | no <!-- 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.
-->

Commits
-------

4b3fdd60d1 [BrowserKit] Remove undefined variable
2018-10-28 16:36:26 +01:00
Robin Chalas
a40048e740 [FrameworkBundle] Display a proper warning for deprecated --env and --no-debug options 2018-10-28 16:28:09 +01:00
Samuel NELA
4b3fdd60d1 [BrowserKit] Remove undefined variable 2018-10-28 13:36:14 +01:00
Darryl Hein
feba3816dc
remove unneeded tearDown method 2018-10-27 15:32:49 -06:00
Fabien Potencier
b6758e9614 feature #28985 [Messenger] Move MiddlewareTestCase in Test ns (ogizanagi)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Move MiddlewareTestCase in Test ns

| Q             | A
| ------------- | ---
| Branch?       | master <!-- 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 (AppVeyor failure unrelated)    <!-- please add some, will be required by reviewers -->
| Fixed tickets | N/A   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Just a quick suggestion after #28943 being merged. Wouldn't it make sense to move this in `Test` namespace to be used by anyone wanting to unit test their middleware?

Commits
-------

215c895a55 [Messenger] Move MiddlewareTestCase in Test ns
2018-10-27 20:08:52 +02:00
Maxime Steinhausser
215c895a55 [Messenger] Move MiddlewareTestCase in Test ns 2018-10-27 18:09:57 +02:00
Fabien Potencier
a33725f6ef feature #28892 [FrameworkBundle] Deprecate support for legacy directories in Translation comands (chalasr)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle] Deprecate support for legacy directories in Translation comands

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

Commits
-------

a7a8aad46f [FrameworkBundle] Deprecate support for legacy translations and views directories
2018-10-27 18:04:48 +02:00
Fabien Potencier
9bb60c9642 feature #28854 [VarDumper] Scroll into view when searching (ro0NL)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[VarDumper] Scroll into view when searching

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| 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 -->

This jumps to the found element when using the javascript widget for searching HTML dumps. Inspired by Ctrl+F in Chrome :)

It's super convenient with long dumps, however i wasnt able to position the search input on the right in a fixed manner... because CSS 😓 i was hoping @ogizanagi could add a patch for it.

Also see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView

Commits
-------

647a937abc [VarDumper] Scroll into view when searching
2018-10-27 18:01:10 +02:00
Jakub Zalas
76bc6f0f28 [Intl] Update the ICU data to 63.1 2018-10-27 17:56:20 +02:00
Robin Chalas
a7a8aad46f [FrameworkBundle] Deprecate support for legacy translations and views directories 2018-10-27 16:37:38 +02:00
Fabien Potencier
c11fe350a8 bug #28999 [Messenger] Fix DoctrineTransactionMiddleware after MiddlewareInterface bc-break (skalpa)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Fix DoctrineTransactionMiddleware after MiddlewareInterface bc-break

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

Fixes `DoctrineTransactionMiddleware` that got broken by #28983, and adds tests.

Commits
-------

378ca065d6 Fix DoctrineTransactionMiddleware after MiddlewareInterface bc-break
2018-10-27 08:55:40 +02:00
Pascal Luna
378ca065d6 Fix DoctrineTransactionMiddleware after MiddlewareInterface bc-break 2018-10-27 04:46:27 +01:00
Yonel Ceruto
acdece7005 Deprecating support for legacy translations directory 2018-10-26 17:45:01 -04:00
Robin Chalas
8e9860ca8b [FrameworkBundle] Fix broken exception message 2018-10-26 23:18:28 +02:00
Vladimir Reznichenko
b12c89d481 SCA: fixed broken tests 2018-10-26 17:01:50 +02:00
vladimir.reznichenko
42e96ff7a2 SCA: applied code style as per guidelines 2018-10-26 15:43:57 +02:00
vladimir.reznichenko
8dbd927a33 SCA: minor code tweaks 2018-10-26 15:40:38 +02:00
Fabien Potencier
031762e191 minor #28988 Remove reference to http digest authentication (SamFleming)
This PR was merged into the 4.2-dev branch.

Discussion
----------

Remove reference to http digest authentication

| Q             | A
| ------------- | ---
| Branch?       | master
| 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        | <!-- 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.
-->
Seeing as HTTP Digest has been deprecated / removed, the README shouldn't be advertising it as a feature.

This is especially important seeing as sites such as packagist display the README to advertise the features/usage of a package. See https://packagist.org/packages/symfony/security

Commits
-------

9702a212e2 Remove reference to http digest authentication
2018-10-26 10:51:06 +02:00
Sam Fleming
9702a212e2
Remove reference to http digest authentication
Seeing as HTTP Digest has been deprecated / removed, the README shouldn't be advertising it as a feature.
2018-10-26 09:20:42 +01:00
Nicolas Grekas
4b0e015402 [Messenger] make dispatch(), handle() and send() methods return Envelope 2018-10-26 10:10:48 +02:00
Fabien Potencier
08eaf18d99 feature #28533 [DotEnv] Add a new loadForEnv() method mimicking Ruby's dotenv behavior (dunglas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[DotEnv] Add a new loadForEnv() method mimicking Ruby's dotenv behavior

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| 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 | helps for symfony/recipes#465, symfony/recipes#408
| License       | MIT
| Doc PR        | todo

This PR adds a new `loadForEnv()` method that mimics the behavior of [Create React App](https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#what-other-env-files-can-be-used), [Rails' DotEnv](https://github.com/bkeepers/dotenv#what-other-env-files-can-i-use) and probably some other libs:

`DotEnv::loadForEnv()` will load the following files, starting from the bottom. The first value set (or those already defined in the environment) take precedence:

- `.env` - The Original®
- `.env.dev`, `.env.test`, `.env.prod`... - Environment-specific settings.
- `.env.local` - Local overrides. This file is loaded for all environments _except_ `test`.
- `.env.dev.local`, `.env.test.local`, `.env.prod.local`... - Local overrides of environment-specific settings.

The plan is to use this method in the default SF installation (symfony/recipes#466).

Commits
-------

774a78c8de [DotEnv] Add a new loadForEnv() method mimicking Ruby's dotenv behavior
2018-10-26 08:39:44 +02:00
Samuel ROZE
61ec2814f3 feature #28943 [Messenger] Add StackInterface, allowing to unstack the call stack (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Add `StackInterface`, allowing to unstack the call stack

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

At the moment, debugging an exception coming from a middleware is not as friendly as it could: each middleware is preceded by a noisy frame added by the `$next` callable indirection.

This PR allows removing this frame by using `$next()->handle($envelope, $next);` instead of `$next($envelope);` in a middleware. Note that this is optional so that the later continues to work. But if one wants to opt-in for the former, then the stack trace of exceptions will be freed from `$next`.

All core middleware should do this, so here they are, updated.

Commits
-------

2bc7d11ad3 [Messenger] Add `StackInterface`, allowing to unstack the call stack
2018-10-25 18:53:20 +02:00
Nicolas Grekas
2bc7d11ad3 [Messenger] Add StackInterface, allowing to unstack the call stack 2018-10-25 18:34:40 +02:00
Fabien Potencier
dd31ca8984 bug #28967 [TwigBridge] Remove $rootDir argument in CodeExtension (ro0NL)
This PR was merged into the 4.2-dev branch.

Discussion
----------

 [TwigBridge] Remove $rootDir argument in CodeExtension

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | https://github.com/symfony/symfony-docs/pull/10547#issuecomment-432608538
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Forgotten in #28890

cc @javiereguiluz

Commits
-------

f8947242a9 [TwigBridge] Remove $rootDir argument in CodeExtension
2018-10-25 17:01:28 +02:00
Nicolas Grekas
9c8d0999b3 minor #28980 [Messenger] If framework.messenger.buses.X.middleware is empty, it will be null (sroze)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] If `framework.messenger.buses.X.middleware` is empty, it will be `null`

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

Otherwise, it would fail with the following configuration:
```yaml
framework:
    messenger:
        buses:
            events_bus:
                middleware:
#                    - 'some_commented_middleware'
```

Commits
-------

91a70fcd6f If `framework.messenger.buses.X.middleware` is empty, it will be `null`
2018-10-25 15:39:52 +02:00
Fabien Potencier
b01ea272ce feature #28860 [Form] Deprecate TimezoneType regions option (ro0NL)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Form] Deprecate TimezoneType regions option

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

I know i've added this option myself in 4.1, but given my recent development for #28624 i realized it's an opinionated feaure, which can/should be solved on user-side (`choice_filter/choice_loader` and/or `group_by`).

- blocks translations as we dont have them (see #28831)
- blocks possibility of switching to Intl zones which doesnt really have this filter feature (see #28836)

~While at it, i solved a few issues with `OptionsResolver` that is able to deprecate options as of 4.2 also.~ Fixed in #28878

- when resolved trigger the deprecation
- allow to opt-out from triggering the deprecation
- dont trigger deprecation for default values (only given ones)

Commits
-------

5cb532d2de [Form] Deprecate TimezoneType regions option
2018-10-25 15:13:24 +02:00
Samuel ROZE
91a70fcd6f If framework.messenger.buses.X.middleware is empty, it will be null 2018-10-25 11:45:27 +02:00
Nicolas Grekas
666d2d962b [Messenger] send using the routing_key for AMQP transport 2018-10-25 11:24:34 +02:00
Nicolas Grekas
aedb281b76 [Messenger] remove AllowNoHandlerMiddleware in favor of a constructor argument on HandleMessageMiddleware 2018-10-25 11:11:58 +02:00
Samuel ROZE
2b7ac81d9b feature #28947 [Messenger] remove classifying sub-namespaces in favor of semantic ones (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] remove classifying sub-namespaces in favor of semantic ones

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

While working on the component, I found it hard to discover the meaning of the `Asynchronous` and `Enhancers` sub-namespaces. Now that I know the component better, I understand they're only classifying namespaces with no specific technical semantics.

I'd like to remove them to make the component easier to discover.
This PR introduces a few new semantic sub-namespaces instead.

From the changelog:
  * Classes in the `Middleware\Enhancers` sub-namespace have been moved to the `Middleware` one
 * Classes in the `Asynchronous\Routing` sub-namespace have been moved to the `Transport\Sender\Locator` sub-namespace
 * The `Asynchronous/Middleware/SendMessageMiddleware` class has been moved to the `Middleware` namespace
 * `SenderInterface` and `ChainSender` classes have been moved to the `Transport\Sender` sub-namespace
 * `ReceiverInterface` and its implementations have been moved to the `Transport\Receiver` sub-namespace

Commits
-------

16afb5e2b4 [Messenger] remove classifying sub-namespaces in favor of semantic ones
2018-10-25 11:05:42 +02:00
Roland Franssen
5cb532d2de [Form] Deprecate TimezoneType regions option 2018-10-25 10:54:23 +02:00
Nicolas Grekas
16afb5e2b4 [Messenger] remove classifying sub-namespaces in favor of semantic ones 2018-10-25 09:48:15 +02:00
Roland Franssen
f8947242a9 [TwigBridge] Remove $rootDir argument in CodeExtension 2018-10-25 08:59:49 +02:00
Yonel Ceruto
8398947c9c Fixed explicitly ignores a depreciation 2018-10-24 08:06:04 -04:00
Nicolas Grekas
d95cc4d4c6 [Translation] allow using the ICU message format using domains with the "+intl-icu" suffix 2018-10-24 12:49:53 +02:00
karser
8238f167ad [PropertyAccessor] Fix unable to write to singular property using setter while plural adder/remover exist 2018-10-24 13:47:17 +03:00
Nicolas Grekas
8c24c35fe8 minor #28965 [Process] pass all output to the wait-until callback (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Process] pass all output to the wait-until callback

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

Introduced yesterday, my bad.
Should make appveyor green hopefully.

Commits
-------

a320133b1d [Process] pass all output to the wait-until callback
2018-10-24 12:37:43 +02:00
Nicolas Grekas
a320133b1d [Process] pass all output to the wait-until callback 2018-10-24 12:10:48 +02:00
Kévin Dunglas
774a78c8de [DotEnv] Add a new loadForEnv() method mimicking Ruby's dotenv behavior 2018-10-24 11:38:56 +02:00
Christian Flothmann
fa3586029f catch any UnexpectedValueException on validation 2018-10-24 09:52:19 +02:00
Fabien Potencier
b452c015cc feature #28875 [FWBundle] Add a new method AbstractController::addLink() (dunglas)
This PR was squashed before being merged into the 4.2-dev branch (closes #28875).

Discussion
----------

[FWBundle] Add a new method AbstractController::addLink()

| Q             | A
| ------------- | ---
| Branch?       | master
| 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        | todo

This provides a convenient method to add `Link` headers to the current `Response` directly from the `Request` object.
It improves the developer experience and the discoverability of [the WebLink component](https://github.com/symfony/symfony-docs/pull/10309).

Usage:

```php
namespace App\Controller;

use Fig\Link\Link;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;

class MyAction extends AbstractController
{
    public function __invoke(Request $request): Response
    {
        $this->addLink($request, new Link('mercure', 'https://demo.mercure.rocks'));

        return $this->json(['foo' => 'bar']);
    }
}
```

Commits
-------

4d20c39f70 [FWBundle] Add a new method AbstractController::addLink()
2018-10-24 05:28:52 +02:00
Kévin Dunglas
4d20c39f70 [FWBundle] Add a new method AbstractController::addLink() 2018-10-24 05:28:45 +02:00
Fabien Potencier
9d3621eadb bug #28878 [OptionsResolver] Trigger deprecation only if the option is used (yceruto)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[OptionsResolver] Trigger deprecation only if the option is used

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

It's true that showing a deprecation message when the option is not used is a bit annoying and it would be heavy to get rid of it.

Now, a deprecated option is triggered only when it's provided by the user or each time is being called from a lazy evaluation (except for deprecations based on the value, they're triggered only when provided by the user).

Commits
-------

1af23c9a74 [OptionsResolver] Trigger deprecation only if the option is used
2018-10-24 05:25:07 +02:00
Yonel Ceruto
1af23c9a74 [OptionsResolver] Trigger deprecation only if the option is used 2018-10-24 05:23:30 +02:00
Fabien Potencier
01dfca1590 feature #28934 [WebProfilerBundle] Add channel log filter (ro0NL)
This PR was squashed before being merged into the 4.2-dev branch (closes #28934).

Discussion
----------

[WebProfilerBundle] Add channel log filter

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| 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 -->

Continuation of #28906

The JS is revised to be more generic;

- support 2 filter types: `level` and `choice` (respectively `Log level` and `Log channel` here)
- remove default filter value support (not used yet, but opportunity kept open) - it requires a bit more work to genericify it.
- filters refines the resultset (e.g. show all logs in the app channel with priority higher than alert)

![image](https://user-images.githubusercontent.com/1047696/47257162-b01bfe00-d48a-11e8-8364-d1eca69c9182.png)

Level filter (works the same as shown in #28906 )

![image](https://user-images.githubusercontent.com/1047696/47257699-78648480-d491-11e8-8c55-1dccda980de4.png)

Choice filter

![image](https://user-images.githubusercontent.com/1047696/47257205-3c2e2580-d48b-11e8-821b-e95bfed36331.png)

![image](https://user-images.githubusercontent.com/1047696/47257209-4bad6e80-d48b-11e8-8fcc-e868aa556ff8.png)

We forgot to update TwigBundle previously, that's still needed after review here.

Commits
-------

e1bd82e89c [WebProfilerBundle] Add channel log filter
2018-10-24 05:22:28 +02:00
Roland Franssen
e1bd82e89c [WebProfilerBundle] Add channel log filter 2018-10-24 05:22:15 +02:00
David Buchmann
28d9f0c84c also clean away the NO_AUTO_CACHE_CONTROL_HEADER if we have no session 2018-10-23 16:30:58 +02:00
Fabien Potencier
e0c6049777 bug #28942 [WebProfilerBundle] Disable messenger panel if needed (ro0NL)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[WebProfilerBundle] Disable messenger panel if needed

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

Before:

![image](https://user-images.githubusercontent.com/1047696/47267243-94bffa00-d541-11e8-9a77-ca93d57629f3.png)

After

![image](https://user-images.githubusercontent.com/1047696/47267248-a4d7d980-d541-11e8-81d2-20e5957970ba.png)

Commits
-------

2c4cb06f0e [WebProfilerBundle] Disable messenger panel if needed
2018-10-23 15:27:42 +02:00
Roland Franssen
f5c355e1ba [WebProfilerBundle] Remove application name 2018-10-23 14:46:28 +02:00
Thomas Calvet
2a4e2e614b [Debug] Mark the ErrorHandler and ExceptionHandler classes as final 2018-10-23 11:56:45 +02:00
Nicolas Grekas
946d278d7d [Process] fix waitUntil+add tests 2018-10-23 11:03:43 +02:00
Nicolas Grekas
9d9bd2d162 bug #28953 [WebProfilerBundle] Reword referer link (ro0NL)
This PR was squashed before being merged into the 4.2-dev branch (closes #28953).

Discussion
----------

[WebProfilerBundle] Reword referer link

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| 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 | https://github.com/symfony/symfony/pull/28936#issuecomment-431679873, https://github.com/symfony/symfony/pull/28936#discussion_r226956445
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

![image](https://user-images.githubusercontent.com/1047696/47310273-e6967c00-d636-11e8-827a-72f8f4ca894b.png)

Commits
-------

a5313ab2e6 [WebProfilerBundle] Reword referer link
2018-10-23 09:41:11 +02:00
Roland Franssen
a5313ab2e6 [WebProfilerBundle] Reword referer link 2018-10-23 09:40:59 +02:00
Nicolas Grekas
fc7aeb95e0 bug #28940 [Process] Adds usleep(1000) to ease CPU usage. (miniyarov)
This PR was squashed before being merged into the 4.2-dev branch (closes #28940).

Discussion
----------

[Process] Adds usleep(1000) to ease CPU usage.

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

Commits
-------

9d1416ad82 [Process] Adds usleep(1000) to ease CPU usage.
2018-10-23 09:28:42 +02:00
Ulugbek Miniyarov
9d1416ad82 [Process] Adds usleep(1000) to ease CPU usage. 2018-10-23 09:28:33 +02:00
Nicolas Grekas
717ff2dd68 minor #28737 [DependencyInjection] Optimize exporting variables (Sander van der Vlugt)
This PR was squashed before being merged into the 4.2-dev branch (closes #28737).

Discussion
----------

[DependencyInjection] Optimize exporting variables

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

Store previously resolved variables so that the relatively expensive function [resolveEnvPlaceholders](3e7b029524/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php (L1776)) is not called unnecessarily.

The effect on running ```bin/console``` with an empty cache in a big application (200+ env variables) in seconds:

| Before     | After      |
|------------|------------|
| 24.1       | 15.8       |
| 24.5       | 16.0       |
| 24.7       | 16.3       |
| 24.2       | 16.0       |
|  Avg: 24.4 | Avg:16.0   |

Commits
-------

768de2f7d9 [DependencyInjection] Optimize exporting variables
2018-10-23 09:21:59 +02:00
Sander van der Vlugt
768de2f7d9 [DependencyInjection] Optimize exporting variables 2018-10-23 09:21:50 +02:00
Nicolas Grekas
60394bc348 minor #28200 [Config] Fix slow service discovery for large excluded directories (gonzalovilaseca)
This PR was squashed before being merged into the 4.2-dev branch (closes #28200).

Discussion
----------

[Config] Fix slow service discovery for large excluded directories

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

Not sure if this is a bug fix or not, is more an improvement.
Please for all detail follow the conversation here:
https://github.com/symfony/symfony/issues/26736

Commits
-------

fa731e53e9 [Config] Fix slow service discovery for large excluded directories
2018-10-23 09:19:46 +02:00
Gonzalo Vilaseca
fa731e53e9 [Config] Fix slow service discovery for large excluded directories 2018-10-23 09:19:36 +02:00
Kévin Dunglas
426cf81c16
feature #28709 [Serializer] Refactor and uniformize the config by introducing a default context (dunglas)
This PR was squashed before being merged into the 4.2-dev branch (closes #28709).

Discussion
----------

[Serializer] Refactor and uniformize the config by introducing a default context

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

This PR uniformizes how the Serializer's configuration is handled:

* As currently, configuration options can be set using the context (options that weren't configurable using the context have been refactored to leverage it)
* Normalizers and encoders' constructors now accept a "default context"
* All existing global configuration flags (constructor parameters) have been deprecated in favor of this new default context
* the stateless context is always tried first, then is the default context

Some examples:

```php
// Configuring groups globally
// Before: not possible
// After
$normalizer = new ObjectNormalizer(/* deps */, ['groups' => 'the_default_group']);

// Escaping Excel-like formulas in CSV files
// Before
$encoder = new CsvEncoder(',', '"', '\\', '.', true);
// After
$encoder = new CsvEncoder(['csv_escape_formulas' => true]);
$encoder->normalize($data, 'csv', ['csv_escape_formulas' => false]); // Override for this call only
```

Benefits:

* The DX is dramatically improved, configuration is always handled in similar way
* The serializer can be used in fully stateless way
* Every options can be configured globally
* Classes that had constructors with a lot of parameters (like `CsvEncoder`) are now much easier to use
* We'll be able to improve the documentation by adding a dictionary of all available context options for the whole component
* Everything can be configured the same way

TODO in subsequent PRs:

* Add a new option in framework bundle to configure the context globally
* Uniformize the constants name (sometimes the name if `FOO`, sometimes `FOO_KEY`)
* Fix the "bug" regarding the format configuration in `DateTimeNormalizer::denormalize()`  (see comments)
* Maybe: move `$defaultContext` as the first parameter (before required services?)
* Make `XmlEncoder` stateless

Commits
-------

52b186a210 [Serializer] Refactor and uniformize the config by introducing a default context
2018-10-23 08:24:58 +02:00
Kévin Dunglas
52b186a210
[Serializer] Refactor and uniformize the config by introducing a default context 2018-10-23 08:24:47 +02:00
Nicolas Grekas
a0cbcacef4 minor #28951 [HttpFoundation] Merging arrays in a loop is slow and causes high CPU usage (zholus)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[HttpFoundation] Merging arrays in a loop is slow and causes high CPU usage

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

As described here, https://github.com/kalessil/phpinspectionsea/blob/master/docs/performance.md#slow-array-function-used-in-loop, merging arrays in a loop is slow and causes high CPU usage (benchmarks are also on the link), this pull request solves this problem

Commits
-------

3db84789f2 Merging arrays in a loop is slow and causes high CPU usage
2018-10-22 22:12:42 +02:00
Nicolas Grekas
414416ab95 bug #28941 [TwigBundle] Right trim plain text traces (ro0NL)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[TwigBundle] Right trim plain text traces

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| 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 -->

Just polishing now :)

Before:

![image](https://user-images.githubusercontent.com/1047696/47265096-e6a55780-d522-11e8-99ae-5ae5cfa32dd5.png)

After:

![image](https://user-images.githubusercontent.com/1047696/47265091-db522c00-d522-11e8-942b-98c8821793b3.png)

Commits
-------

11dbd1d40e [TwigBundle] Right trim plain text traces
2018-10-22 22:11:03 +02:00
alex
3db84789f2 Merging arrays in a loop is slow and causes high CPU usage 2018-10-22 18:12:06 +02:00
Samuel ROZE
9aaec948d5 minor #28908 [Messenger] internal cleanups (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] internal cleanups

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

From the updated changelog:
 * `MessengerDataCollector::getMessages()` returns an iterable, not just an array anymore
 * `AbstractHandlerLocator` is now internal
 * `HandlerLocatorInterface::resolve()` has been replaced by `getHandler(Envelope $envelope)`
 * `SenderLocatorInterface::getSenderForMessage()` has been replaced by `getSender(Envelope $envelope)`
 * `SenderInterface::send()` returns `void`

+ some internal simplifications

Commits
-------

4a3edd0b37 [Messenger] internal cleanups
2018-10-21 16:29:45 +01:00
Nicolas Grekas
4a3edd0b37 [Messenger] internal cleanups 2018-10-21 16:46:18 +02:00
Nicolas Grekas
6a5d7a1aac [Messenger] make middlewares truly lazy on a bus 2018-10-21 15:50:49 +02:00
Roland Franssen
2c4cb06f0e [WebProfilerBundle] Disable messenger panel if needed 2018-10-21 14:56:03 +02:00
Nicolas Grekas
ae46a436e7 [Messenger] make Envelope first class citizen for middleware handlers 2018-10-21 14:43:41 +02:00
Samuel ROZE
d901c6d846 feature #28909 [Messenger] made dispatch() and handle() return void (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] made dispatch() and handle() return void

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

Middlewares and dispatchers should not return any value. Forwarding back the results from handlers breaks the scope of the component. The canonical example of some bad design this can lead to is `ChainHandler`: how can the caller know that there is one in the chain and that it should expect an array as a return value? More generally, how can a caller know what to expect back from a call to dispatch()? I think we should not allow such broken designs.

Instead, we should favor east-oriented design: if one needs a command bus, one would have to dispatch a proper command object - and if a result is expected back, it should be done via a setter on the dispatched command - or better, a callback set on the command object. This way we play *by the rules* of the type-system, not against.

Commits
-------

f942ffcb1b [Messenger] made dispatch() and handle() return void
2018-10-21 13:42:19 +01:00
Roland Franssen
11dbd1d40e [TwigBundle] Right trim plain text traces 2018-10-21 11:14:09 +02:00
Fabien Potencier
316e95c06c feature #28936 [WebProfilerBundle] Replay referer URL (ro0NL)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[WebProfilerBundle] Replay referer URL

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

For non GET/HEAD requests (e.g. POST) that have a referer URL; allow to replay it. And thereby fix the missing navigation piece to get back to your application.

Default

![image](https://user-images.githubusercontent.com/1047696/47259042-3c86ea80-d4a4-11e8-99f7-c3941beaa72c.png)

On hover

![image](https://user-images.githubusercontent.com/1047696/47259048-54f70500-d4a4-11e8-9e44-e20121f5b04f.png)

Commits
-------

9020d49765 [WebProfilerBundle] Replay referer URL
2018-10-21 08:57:01 +02:00
Fabien Potencier
efa4f16ed1 bug #28913 Fix debug:container which crash when the service class has no doc comment (l-vo)
This PR was merged into the 4.2-dev branch.

Discussion
----------

Fix debug:container which crash when the service class has no doc comment

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

The console command container:debug have now the ability to display service description, based on phpdoc comments of the service class. But the command currently crash when selecting a service with a class without phpdoc description.

This PR fixes this issue.

Commits
-------

aed0a5a38a [FrameworkBundle] Fix debug:container which crash when the service class has no doc comment
2018-10-21 08:53:32 +02:00
Titouan Galopin
246a905f93 [TwigBundle] Fix usage of TwigBundle without FrameworkBundle 2018-10-21 08:50:17 +02:00