Commit Graph

26137 Commits

Author SHA1 Message Date
Nicolas Grekas
9ac35529b6 bug #32823 [HttpClient] Preserve the case of headers when sending them (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] Preserve the case of headers when sending them

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

Some hosts are case sensitive, let's present headers in the submitted form.

Commits
-------

9ac85d5d8b [HttpClient] Preserve the case of headers when sending them
2019-07-31 17:05:45 +02:00
Nicolas Grekas
307d172fe7 Merge branch '3.4' into 4.3
* 3.4:
  [Form] update type of form $name arguments
2019-07-31 17:03:18 +02:00
Nicolas Grekas
bcfc7a4ada minor #32828 [Form] update type of form $name arguments (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] update type of form $name arguments

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

An alternative to #32821: where a string is expected, passing an int is fine, per PHP casting rules.

Commits
-------

6d4dcadd66 [Form] update type of form $name arguments
2019-07-31 17:02:16 +02:00
Nicolas Grekas
ca7b7b629e Merge branch '4.3' into 4.4
* 4.3:
  Fix travis script
  minor fix for wrong case
  [HttpFoundation] Fix `getMaxFilesize`
  [Cache] fix warning on PHP 7.4
  [Console] fix warning on PHP 7.4
  Don't add value of (default/static) objects to the signature
  fix(yml): fix comment in milti line value
  Make sure trace_level is always defined
  Fix bindings and tagged_locator
  Recompile container when translations directory changes
2019-07-31 14:44:11 +02:00
Nicolas Grekas
3592d69afb Merge branch '3.4' into 4.3
* 3.4:
  Fix travis script
  minor fix for wrong case
  [HttpFoundation] Fix `getMaxFilesize`
  [Cache] fix warning on PHP 7.4
  [Console] fix warning on PHP 7.4
  Don't add value of (default/static) objects to the signature
  fix(yml): fix comment in milti line value
2019-07-31 14:41:55 +02:00
Nicolas Grekas
6d4dcadd66 [Form] update type of form $name arguments 2019-07-31 13:55:54 +02:00
Yonel Ceruto
e4082fa6fa minor #32826 [Debug] minor fix for wrong method name case (Tobias Weichart)
This PR was merged into the 3.4 branch.

Discussion
----------

[Debug] minor fix for wrong method name case

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

Minor replacement of wrong case for function name, needs to be fixed in 3.4 as hinten [here](https://github.com/symfony/symfony/pull/32812#discussion_r308815666).

Commits
-------

8b2d67b minor fix for wrong case
2019-07-31 07:51:26 -04:00
Nicolas Grekas
9ac85d5d8b [HttpClient] Preserve the case of headers when sending them 2019-07-31 13:44:32 +02:00
Tobias Weichart
8b2d67bb3d minor fix for wrong case 2019-07-31 08:13:25 +01:00
Nicolas Grekas
f1cb4b59b9 bug #32767 [Yaml] fix comment in multi line value (soufianZantar)
This PR was merged into the 3.4 branch.

Discussion
----------

[Yaml] fix comment in multi line value

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

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->
Comments after blank lines are read as value in yaml.

```
`$yaml = <<<YAML
parameters:
    abc

# Comment
YAML;

var_dump(Symfony\Component\Yaml\Yaml::parse($yaml));`
```

**Result before fix:**

```
array(1) {
  ["parameters"]=>
  string(13) "abc
# Comment"
}
```
**Result after fix:**

```
array(1) {
  ["parameters"]=>
  string(3) "abc"
}
```

Commits
-------

dd945e375c fix(yml): fix comment in milti line value
2019-07-30 19:38:11 +02:00
Nicolas Grekas
1143b02188 bug #32790 [HttpFoundation] Fix getMaxFilesize (bennyborn)
This PR was squashed before being merged into the 3.4 branch (closes #32790).

Discussion
----------

[HttpFoundation] Fix `getMaxFilesize`

When checking for the maximum size of an uploaded file you can't just rely on `upload_max_filesize` since the request might also exceed `post_max_size`. Also discussed in contao/contao#498

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

Commits
-------

54107bac33 [HttpFoundation] Fix `getMaxFilesize`
2019-07-30 19:35:47 +02:00
Benny Born
54107bac33 [HttpFoundation] Fix getMaxFilesize 2019-07-30 19:35:39 +02:00
Nicolas Grekas
40fe1610d2 bug #32803 [Lock] let BlockingStoreInterface extend PersistingStoreInterface (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Lock] let BlockingStoreInterface extend PersistingStoreInterface

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

Commits
-------

eaad40e500 let BlockingStoreInterface extend PersistingStoreInterface
2019-07-30 19:33:00 +02:00
Julien Pauli
3324505b51 [Cache] fix warning on PHP 7.4 2019-07-30 19:30:37 +02:00
Babichev Maxim
5f451e6f70 [Console] fix warning on PHP 7.4 2019-07-30 19:22:29 +02:00
Nicolas Grekas
5824ab8cdd bug #32703 Ensure $request->hasSession() is always checked before calling getSession() (Arman-Hosseini)
This PR was merged into the 4.4 branch.

Discussion
----------

Ensure $request->hasSession() is always checked before calling getSession()

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

Commits
-------

7b2c326719 Ensure $request->hasSession() is always checked before calling getSession()
2019-07-30 16:34:19 +02:00
Christian Flothmann
eaad40e500 let BlockingStoreInterface extend PersistingStoreInterface 2019-07-30 16:24:25 +02:00
Nicolas Grekas
79420828d2 bug #32722 [DependencyInjection] Fix bindings and tagged_locator (deguif)
This PR was merged into the 4.3 branch.

Discussion
----------

[DependencyInjection] Fix bindings and tagged_locator

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

Working `tagged_locator`

```yaml
App\XXX:
    arguments:
        $taggedLocator: !tagged_locator { tag: 'my_tag', index_by: 'my_key' }
```

Not working `tagged_locator`
```yaml
App\XXX:
    bind:
        $taggedLocator: !tagged_locator { tag: 'my_tag', index_by: 'my_key' }
```

Currently `ResolveBindingsPass` is executed after `ServiceLocatorTagPass`, which produces empty service locators when using `bind`.
I'm proposing to change the optimization passes order, so that this issue is solved.
I'm not confident with the impact, so let's discuss about it.

Commits
-------

bf4c713ad7 Fix bindings and tagged_locator
2019-07-30 15:26:51 +02:00
Arjen van der Meijden
a80e56c460 Don't add value of (default/static) objects to the signature 2019-07-30 11:52:27 +02:00
Soufian EZ ZANTAR
dd945e375c fix(yml): fix comment in milti line value 2019-07-30 10:09:15 +02:00
David Buchmann
b80e9b8474
Make sure trace_level is always defined 2019-07-29 20:53:34 +02:00
Nicolas Grekas
b2dadc110d Merge branch '4.3' into 4.4
* 4.3:
  [DI] Fix dumping Doctrine-like service graphs (bis)
  Failing test case for complex near-circular situation + lazy
2019-07-29 19:31:03 +02:00
Nicolas Grekas
5196254801 Merge branch '3.4' into 4.3
* 3.4:
  [DI] Fix dumping Doctrine-like service graphs (bis)
  Failing test case for complex near-circular situation + lazy
2019-07-29 19:30:43 +02:00
Nicolas Grekas
67631723d2 bug #30096 [DI] Fix dumping Doctrine-like service graphs (bis) (weaverryan, nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Fix dumping Doctrine-like service graphs (bis)

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

Dumping the container while accounting for circular references is hard :)

Commits
-------

a37f3e0807 [DI] Fix dumping Doctrine-like service graphs (bis)
ee491444f4 Failing test case for complex near-circular situation + lazy
2019-07-29 19:27:15 +02:00
Nicolas Grekas
a37f3e0807 [DI] Fix dumping Doctrine-like service graphs (bis) 2019-07-29 18:30:31 +02:00
Tobias Schultze
f45350338c Merge branch '4.3' into 4.4 2019-07-29 18:17:34 +02:00
Tobias Schultze
e5772264a4 Merge branch '3.4' into 4.3 2019-07-29 18:04:53 +02:00
Tobias Schultze
de490b463c bug #32799 [HttpKernel] do not stopwatch sections when profiler is disabled (Tobion)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] do not stopwatch sections when profiler is disabled

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

the toolbar and profiler panel disable to profiler which then does not set the X-Debug-Token. so when the header does not exist, do not call the stopwatch methods with `null` which violates the contract and does not make sense. found with #32242

Commits
-------

8718cd1b15 [HttpKernel] do not stopwatch sections when profiler is disabled
2019-07-29 17:57:04 +02:00
Christian Flothmann
bd45789f10 feature #32762 [Form][DX] derive default timezone from reference_date option when possible (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[Form][DX] derive default timezone from reference_date option when possible

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

Currently, when `reference_date` and `model_timezone` are provided but are not the same, we get a validation exception:
9216cb75ac/src/Symfony/Component/Form/Extension/Core/Type/TimeType.php (L48-L50)

But that happen even if the `model_timezone` is `null` !

I propose to relax this behavior by passing the time zone of the configured `reference_date` to this `model_timezone` (by default), thus avoiding annoyances.

Commits
-------

a62feea4ad [DX] derive default timezone from reference_date option when possible
2019-07-29 17:46:21 +02:00
Tobias Schultze
8718cd1b15 [HttpKernel] do not stopwatch sections when profiler is disabled
the toolbar and profiler panel disable to profiler which then does not set the X-Debug-Token. so when the header does not exist, do not call the stopwatch methods with null which violates the contract and does not make sense
2019-07-29 16:31:29 +02:00
Tobias Schultze
66dc9069aa [Stopwatch] fix some phpdocs 2019-07-29 15:17:57 +02:00
Robin Chalas
489f36daa2 [Lock] Add return type to the new LockFactory 2019-07-29 14:27:17 +02:00
Yonel Ceruto
a62feea4ad [DX] derive default timezone from reference_date option when possible 2019-07-28 17:39:10 -04:00
Arman Hosseini
7b2c326719 Ensure $request->hasSession() is always checked before calling getSession() 2019-07-28 18:57:16 +02:00
Ryan Weaver
ee491444f4 Failing test case for complex near-circular situation + lazy 2019-07-28 17:16:57 +02:00
Tobias Schultze
d7d6d923ef bug #32631 [Messenger] expire delay queue and fix auto_setup logic (Tobion)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] expire delay queue and fix auto_setup logic

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

Tested successfully

Commits
-------

7aee83a71f [Messenger] expire delay queue and fix auto_setup logic
2019-07-28 16:14:21 +02:00
Tobias Schultze
6003608d2c bug #32641 [Messenger] Retrieve table default options from the SchemaManager (vincenttouzet)
This PR was squashed before being merged into the 4.3 branch (closes #32641).

Discussion
----------

[Messenger] Retrieve table default options from the SchemaManager

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #32321    <!-- #-prefixed issue number(s), if any -->
| License       | MIT

This PR modify the Connection of the Doctrine Transport. It is now possible to specify a `SchemaConfig` that will be used when generating tables.

If Doctrine is configured as the following :
```yml
# config/packages/doctrine.yaml
doctrine:
    dbal:
        default_table_options:
            charset: 'utf8mb4'
            collate: 'utf8mb4_unicode_ci'
```

Then those options are used to create the table.

ping @weaverryan 😉

Commits
-------

93d0dc825e [Messenger] Retrieve table default options from the SchemaManager
2019-07-28 16:12:58 +02:00
Vincent Touzet
93d0dc825e [Messenger] Retrieve table default options from the SchemaManager 2019-07-28 16:12:48 +02:00
Fabien Potencier
a3cfa3605a bumped Symfony version to 4.3.4 2019-07-28 09:13:29 +02:00
Fabien Potencier
3bb74242c4 updated VERSION for 4.3.3 2019-07-28 09:10:23 +02:00
Fabien Potencier
43e5e97989 bumped Symfony version to 3.4.31 2019-07-27 20:27:05 +02:00
Fabien Potencier
dc59b6f158 updated VERSION for 3.4.30 2019-07-27 19:14:06 +02:00
Fabien Potencier
90c6482b7e bug #32726 [Messenger] Fix redis last error not cleared between calls (chalasr)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Fix redis last error not cleared between calls

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

Not clearing it gives misleading errors coming from previous calls which makes debugging hard.
@alexander-schranz FYI

Commits
-------

9c263ffca8 [Messenger] Fix redis last error not cleared between calls
2019-07-27 19:04:32 +02:00
Robin Chalas
44ee0569bb [Console] Fix disabling ChoiceQuestion answer trimming 2019-07-27 14:53:28 +02:00
Fabien Potencier
bba623028e [Messenger] fixed tests 2019-07-27 09:15:41 +02:00
Fabien Potencier
a12edecf77 Merge branch '4.3' into 4.4
* 4.3:
  add parameter type declarations to private methods
  add missing changelog entry
  clarify error handler restoring process
  [VarDumper] cs fix
  [DI] fix perf issue with lazy autowire error messages
  Fix pluralizing "season"
2019-07-27 08:43:05 +02:00
Fabien Potencier
3e8eaebe23 Merge branch '4.2' into 4.3
* 4.2:
  add parameter type declarations to private methods
  add missing changelog entry
  clarify error handler restoring process
  [VarDumper] cs fix
2019-07-27 08:42:46 +02:00
Fabien Potencier
826a66228b Merge branch '3.4' into 4.2
* 3.4:
  [VarDumper] cs fix
2019-07-27 08:42:33 +02:00
Fabien Potencier
9595503b8f feature #32745 [Messenger][Profiler] Attempt to give more useful source info when using HandleTrait (ogizanagi)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger][Profiler] Attempt to give more useful source info when using HandleTrait

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

### Before

<img width="1052" alt="Capture d’écran 2019-07-25 à 15 02 03" src="https://user-images.githubusercontent.com/2211145/61883193-3e318300-aefa-11e9-9179-a40c7c5aac93.png">

### After

<img width="1054" alt="Capture d’écran 2019-07-25 à 14 59 27" src="https://user-images.githubusercontent.com/2211145/61883192-3d98ec80-aefa-11e9-8f29-df9c417e8025.png">

which works for both examples using the trait in https://symfony.com/doc/current/messenger/handler_results.html

Commits
-------

9ac7e4223c [Messenger][Profiler] Attempt to give more useful source info when using HandleTrait
2019-07-27 08:27:28 +02:00
Fabien Potencier
6aec1297ca feature #32680 [Messenger][Profiler] Collect the stamps at the end of dispatch (ogizanagi)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger][Profiler] Collect the stamps at the end of dispatch

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

Currently, only the stamps added before dispatching the message are shown in the profiler.
This PR adds a section to show stamps after dispatch (`HandledStamp`, `SentStamp`, ...).

![Capture d’écran 2019-07-23 à 15 44 04](https://user-images.githubusercontent.com/2211145/61717102-bb28f500-ad60-11e9-93ec-bb2875d176ce.png)

Commits
-------

ee68b1dfa7 [Messenger][Profiler] Collect the stamps at the end of dispatch
2019-07-27 08:22:04 +02:00
Fabien Potencier
65f0d6f6a2 feature #32683 [VarDumper] added support for Imagine/Image (lyrixx)
This PR was merged into the 4.4 branch.

Discussion
----------

[VarDumper] added support for Imagine/Image

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

---

![image](https://user-images.githubusercontent.com/408368/61811135-19c5a000-ae41-11e9-88f1-9f5823e9ca80.png)

Commits
-------

c8d420ddff [VarDumper] added support for Imagine/Image
2019-07-27 08:16:32 +02:00
Fabien Potencier
9d6ca0de01 bug #32730 [Inflector] Fix pluralizing words ending with "son" (norkunas)
This PR was merged into the 4.3 branch.

Discussion
----------

[Inflector] Fix pluralizing words ending with "son"

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

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

bf608aaf3c Fix pluralizing "season"
2019-07-27 08:15:15 +02:00
Cyril PASCAL
47ffbad82d Avoid using huge amount of memory when formatting long exception 2019-07-27 05:02:41 +02:00
Grégoire Pineau
c8d420ddff [VarDumper] added support for Imagine/Image 2019-07-26 17:55:43 +02:00
Christian Flothmann
c1349d1434 clarify error handler restoring process 2019-07-26 15:02:58 +02:00
Maxime Steinhausser
9ac7e4223c [Messenger][Profiler] Attempt to give more useful source info when using HandleTrait 2019-07-26 14:03:54 +02:00
Nicolas Grekas
5dc8bc0520 [VarDumper] cs fix 2019-07-26 13:29:23 +02:00
Tobias Schultze
61b0f7934d bug #32715 [DI] fix perf issue with lazy autowire error messages (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[DI] fix perf issue with lazy autowire error messages

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

See linked issue.

Commits
-------

3c3bda5423 [DI] fix perf issue with lazy autowire error messages
2019-07-26 12:17:52 +02:00
Fabien Potencier
9216cb75ac feature #32749 [Mailer] Make transport factory test case public (Koc)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Make transport factory test case public

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes, failures looks like irrelevant
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

`TransportFactoryTestCase` could be useful when you adding custom transport and need cover their transport factory with tests.

Commits
-------

5d64009ae0 [Mailer] Make transport factory test case public
2019-07-26 09:06:55 +02:00
Nicolas Grekas
3c3bda5423 [DI] fix perf issue with lazy autowire error messages 2019-07-26 09:03:43 +02:00
Maxime Steinhausser
ee68b1dfa7 [Messenger][Profiler] Collect the stamps at the end of dispatch 2019-07-26 08:01:28 +02:00
Maxime Steinhausser
9282f4fd93 [VarDumper] Add missing changelog entry for VarDumperTestTrait::setUpVarDumper() 2019-07-26 07:53:10 +02:00
Konstantin Myakshin
5d64009ae0 [Mailer] Make transport factory test case public 2019-07-25 22:12:48 +03:00
Oskar Stark
784d1d0ca0
Typo in variable name 2019-07-25 19:14:17 +02:00
Fabien Potencier
86440a4b77 feature #32718 [Form] use a reference date to handle times during DST (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Form] use a reference date to handle times during DST

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

Commits
-------

39c98b9a08 use a reference date to handle times during DST
2019-07-25 17:17:00 +02:00
Tobias Schultze
7aee83a71f [Messenger] expire delay queue and fix auto_setup logic 2019-07-25 17:10:14 +02:00
Tomas
bf608aaf3c Fix pluralizing "season" 2019-07-25 13:54:24 +03:00
Fabien Potencier
f6e93de5cf feature #32637 [ErrorHandler] Decouple from ErrorRenderer component (yceruto)
This PR was squashed before being merged into the 4.4 branch (closes #32637).

Discussion
----------

[ErrorHandler] Decouple from ErrorRenderer component

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

built on top of https://github.com/symfony/symfony/pull/32636 (See 2nd commit only)

Commits
-------

8f13fc013d [ErrorHandler] Decouple from ErrorRenderer component
2019-07-25 11:38:56 +02:00
Yonel Ceruto
8f13fc013d [ErrorHandler] Decouple from ErrorRenderer component 2019-07-25 11:38:42 +02:00
Konstantin Myakshin
eda4f01e0e [Mailer][DX][RFC] Rename mailer bridge transport classes 2019-07-25 11:34:25 +02:00
François-Xavier de Guillebon
bf4c713ad7
Fix bindings and tagged_locator 2019-07-25 08:48:18 +02:00
Christian Flothmann
a86cdb5535 minor #32725 [Form] skip updated ChoiceType tests on older versions (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Form] skip updated ChoiceType tests on older versions

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

Commits
-------

3304e57233 skip updated ChoiceType tests on older versions
2019-07-24 21:02:50 +02:00
Christian Flothmann
39c98b9a08 use a reference date to handle times during DST 2019-07-24 20:59:43 +02:00
Christian Flothmann
3304e57233 skip updated ChoiceType tests on older versions 2019-07-24 20:32:36 +02:00
Robin Chalas
9c263ffca8 [Messenger] Fix redis last error not cleared between calls 2019-07-24 20:00:42 +02:00
Christian Flothmann
4260c3ba7d Merge branch '4.3' into 4.4
* 4.3:
  make tests forward compatible with DI 4.4
  fix test
  Fix multiSelect ChoiceQuestion when answers have spaces
2019-07-24 19:14:38 +02:00
Christian Flothmann
d320cbfdc4 Merge branch '4.2' into 4.3
* 4.2:
  make tests forward compatible with DI 4.4
  Fix multiSelect ChoiceQuestion when answers have spaces
2019-07-24 19:13:59 +02:00
Christian Flothmann
6181df9a2d Merge branch '3.4' into 4.2
* 3.4:
  make tests forward compatible with DI 4.4
  Fix multiSelect ChoiceQuestion when answers have spaces
2019-07-24 19:13:20 +02:00
Christian Flothmann
16fc81fbe5 fix test 2019-07-24 18:24:16 +02:00
Christian Flothmann
ce6187908c fix expected exception message regex 2019-07-24 17:40:38 +02:00
Nicolas Grekas
5db58f6d37 Merge branch '4.3' into 4.4
* 4.3:
  [Security/Core] align defaults for sodium with PHP 7.4
  fix inline handling when dumping tagged values
  [HttpClient] fix canceling responses in a streaming loop
  [Messenger] Flatten collection of stamps collected by the traceable middleware
  [PropertyAccess] Fix PropertyAccessorCollectionTest
  [HttpClient] rewind stream when using Psr18Client
  Typo in web profiler
  [4.3] Remove dead test fixtures
  [Routing] Fix CHANGELOG
  relax some date parser patterns
  Avoid getting right to left style
2019-07-24 16:49:41 +02:00
Nicolas Grekas
a07d6a2d53 Merge branch '4.2' into 4.3
* 4.2:
  fix inline handling when dumping tagged values
  [Messenger] Flatten collection of stamps collected by the traceable middleware
  [PropertyAccess] Fix PropertyAccessorCollectionTest
  Typo in web profiler
  relax some date parser patterns
  Avoid getting right to left style
2019-07-24 16:47:54 +02:00
Nicolas Grekas
f7d8f1b478 Merge branch '3.4' into 4.2
* 3.4:
  fix inline handling when dumping tagged values
  [PropertyAccess] Fix PropertyAccessorCollectionTest
  Typo in web profiler
  relax some date parser patterns
  Avoid getting right to left style
2019-07-24 16:47:26 +02:00
IceMaD
9104ef1d74 Fix multiSelect ChoiceQuestion when answers have spaces 2019-07-24 16:46:41 +02:00
Nicolas Grekas
71687e03fb feature #32587 [Form][Validator] Generate accept attribute with file constraint and mime types option (Coosos)
This PR was squashed before being merged into the 4.4 branch (closes #32587).

Discussion
----------

[Form][Validator] Generate accept attribute with file constraint and mime types option

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes
| Fixed tickets | #29327
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Generate the html `accept` attribute based on the file constraint and mime types option.

Is it necessary to add this feature in the documentation ?

Made with @Timherlaud

_Sorry I have recreated this pull request because I missed my rebase_

Commits
-------

5a7b737ea3 [Form][Validator] Generate accept attribute with file constraint and mime types option
2019-07-24 16:41:38 +02:00
Rémy LESCALLIER
5a7b737ea3 [Form][Validator] Generate accept attribute with file constraint and mime types option 2019-07-24 16:41:28 +02:00
Nicolas Grekas
5af1a90d94 feature #32658 [Form] repeat preferred choices in list of all choices (Seb33300, xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Form] repeat preferred choices in list of all choices

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

Commits
-------

475c7a469a adapt tests
b946b11d5a [Form] Repeat preferred choices in the main list
2019-07-24 16:40:02 +02:00
Nicolas Grekas
639041cefd bug #32688 [Yaml] fix inline handling when dumping tagged values (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Yaml] fix inline handling when dumping tagged values

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

Commits
-------

07590aeb95 fix inline handling when dumping tagged values
2019-07-24 16:39:08 +02:00
Nicolas Grekas
6f648c9360 minor #32681 [Messenger][Profiler] Remove cutting caster to dump full objects (ogizanagi)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger][Profiler] Remove cutting caster to dump full objects

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

Obviously, not the ideal solution, but might open the discussion. Not being able to inspect more than 1 level deep in the profiler when dealing with DTOs and VOs in your messages is a pain 😕. You can't either access the `HandledStamp` `result` for instance.

This caster truncating collectors data was originally added in #23465 to mitigate performances issues, especially with the Form profiler. But actually a lot of useful information are now hidden to the developper.
Opting-out per collector might be a start. Either allowing to do it through config, or directly in code where sensible.

Commits
-------

e4fc5c07ab [Messenger][Profiler] Remove cutting caster to dump full objects
2019-07-24 16:34:17 +02:00
Nicolas Grekas
df7afa00ee [Security/Core] align defaults for sodium with PHP 7.4 2019-07-24 15:33:23 +02:00
Christian Flothmann
07590aeb95 fix inline handling when dumping tagged values 2019-07-24 15:01:31 +02:00
Fabien Potencier
fad4104cf3 bug #32691 [HttpClient] rewind streams created from strings (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] rewind streams created from strings

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

Follow up of #32689 for 4.4

Commits
-------

33ed4e43c4 [HttpClient] rewind streams created from strings
2019-07-24 12:20:39 +02:00
Fabien Potencier
1fc080b8aa bug #32689 [HttpClient] rewind stream when using Psr18Client (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] rewind stream when using Psr18Client

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

This is not a bug fix technically but just how PSR-7 works.
I'm glad we did not make it a first-class thing in Symfony.
This makes it a bit more practicable if it can be...

Commits
-------

7f4362bd46 [HttpClient] rewind stream when using Psr18Client
2019-07-24 12:16:23 +02:00
Fabien Potencier
280fd7d73c bug #32699 [HttpClient] fix canceling responses in a streaming loop (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] fix canceling responses in a streaming loop

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

Commits
-------

c5c67d913d [HttpClient] fix canceling responses in a streaming loop
2019-07-24 12:09:27 +02:00
Nicolas Grekas
c5c67d913d [HttpClient] fix canceling responses in a streaming loop 2019-07-24 09:56:35 +02:00
Maxime Steinhausser
015fca7405 [Messenger] Flatten collection of stamps collected by the traceable middleware 2019-07-24 09:56:23 +02:00
Maxime Steinhausser
e4fc5c07ab [Messenger][Profiler] Remove cutting caster to dump full objects 2019-07-24 09:21:53 +02:00
Tobias Schultze
eab5d4fa0a minor #32690 [PropertyAccess] Fix PropertyAccessorCollectionTest (fancyweb)
This PR was merged into the 3.4 branch.

Discussion
----------

[PropertyAccess] Fix PropertyAccessorCollectionTest

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

In https://github.com/symfony/symfony/pull/32627, I (a script actually) removed 2 fixtures classes from this test class. They are actually used but by tests that don't fail without them 😁 (because they were mocked and it's possible to mock non existing classes).

This PR restores those 2 classes and remove the unneeded mocks so the tests use the real classes and are actually useful.

Commits
-------

a310bac624 [PropertyAccess] Fix PropertyAccessorCollectionTest
2019-07-24 07:54:16 +02:00
Gocha Ossinkine
7568d3452d [HttpFoundation] Revert getClientIp @return docblock 2019-07-24 10:24:50 +05:00
Yonel Ceruto
a6bef5eacd Allow disabling debug content in debug mode (preview mode) 2019-07-23 23:04:00 -04:00
Nicolas Grekas
33ed4e43c4 [HttpClient] rewind streams created from strings 2019-07-23 21:13:48 +02:00
Thomas Calvet
a310bac624 [PropertyAccess] Fix PropertyAccessorCollectionTest 2019-07-23 21:08:29 +02:00
Nicolas Grekas
7f4362bd46 [HttpClient] rewind stream when using Psr18Client 2019-07-23 21:01:32 +02:00
Nicolas Grekas
186cf2ddb3 minor #32684 [Routing] Fix CHANGELOG (fancyweb)
This PR was merged into the 4.3 branch.

Discussion
----------

[Routing] Fix CHANGELOG

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

Minor but cf https://github.com/symfony/symfony-docs/pull/11986 - details make perfection 😁

Commits
-------

8b1d6cd1f0 [Routing] Fix CHANGELOG
2019-07-23 19:40:07 +02:00
Thomas Calvet
653f46c725 [4.3] Remove dead test fixtures 2019-07-23 16:59:17 +02:00
Thomas Calvet
8b1d6cd1f0 [Routing] Fix CHANGELOG 2019-07-23 16:43:56 +02:00
Christian Flothmann
7d0793a944 relax some date parser patterns 2019-07-23 15:19:40 +02:00
Nicolas Grekas
a7852c0da8 Merge branch '4.3' into 4.4
* 4.3:
  fix typo
2019-07-23 14:04:21 +02:00
Nicolas Grekas
0cd17d2e90 fix typo 2019-07-23 14:04:16 +02:00
Nicolas Grekas
542f42f658 Merge branch '4.3' into 4.4
* 4.3:
  fix merge
2019-07-23 13:58:26 +02:00
Nicolas Grekas
e6bf650254 fix merge 2019-07-23 13:55:45 +02:00
Amrouche Hamza
699a88b2e7
[Lock] remove all mention to StoreInterface in comments and tests 2019-07-23 13:43:12 +02:00
Nicolas Grekas
a688787449 Merge branch '4.3' into 4.4
* 4.3:
  [FrameworkBundle] [SecurityBundle] Rename internal WebTestCase to avoid confusion
  ignore not existing translator service
  [FrameworkBundle] [SecurityBundle] Rename internal WebTestCase to avoid confusion
  revert private properties handling
  [HttpFoundation] Fix URLs
  [VarDumper] finish PHP 7.4 support and add tests
  [VarDumper] Use \ReflectionReference for determining if a key is a reference (php >= 7.4)
  Ignore missing translation dependency in FrameworkBundle
  [Security/Http] Don't mark AbstractAuthenticationListener as internal
  Remove dead tests fixtures
  Remove more dead tests fixtures
  [Mime] Add missing changelog entry for BC-break
  [Messenger] fix transport_name option not passing validation
  Remove dead tests fixtures
  [Debug][ExceptionHandler] Add tests for custom handlers
2019-07-23 13:21:51 +02:00
Nicolas Grekas
80570e9c69 Merge branch '4.2' into 4.3
* 4.2:
  [FrameworkBundle] [SecurityBundle] Rename internal WebTestCase to avoid confusion
  ignore not existing translator service
  [FrameworkBundle] [SecurityBundle] Rename internal WebTestCase to avoid confusion
  revert private properties handling
  [HttpFoundation] Fix URLs
  [VarDumper] finish PHP 7.4 support and add tests
  [VarDumper] Use \ReflectionReference for determining if a key is a reference (php >= 7.4)
  Ignore missing translation dependency in FrameworkBundle
  Remove dead tests fixtures
  Remove more dead tests fixtures
  Remove dead tests fixtures
  [Debug][ExceptionHandler] Add tests for custom handlers
2019-07-23 13:21:36 +02:00
Nicolas Grekas
30a19863f9 Merge branch '3.4' into 4.2
* 3.4:
  [FrameworkBundle] [SecurityBundle] Rename internal WebTestCase to avoid confusion
  revert private properties handling
  [HttpFoundation] Fix URLs
  [VarDumper] finish PHP 7.4 support and add tests
  [VarDumper] Use \ReflectionReference for determining if a key is a reference (php >= 7.4)
  Ignore missing translation dependency in FrameworkBundle
  [Debug][ExceptionHandler] Add tests for custom handlers
2019-07-23 11:50:15 +02:00
Nicolas Grekas
396f4bee04 feature #32582 [Routing] Deprecate ServiceRouterLoader and ObjectRouteLoader in favor of ContainerLoader and ObjectLoader (fancyweb)
This PR was merged into the 4.4 branch.

Discussion
----------

[Routing] Deprecate ServiceRouterLoader and ObjectRouteLoader in favor of ContainerLoader and ObjectLoader

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

This PR aims at deprecating some things to have a more consistent code.

### ServiceRouterLoader

1. This class actually fetches an object from a container. In https://github.com/symfony/symfony/pull/30926#discussion_r281170917, it was suggested that it should be renamed to `ContainerRouteLoader`. Actually I think it's better to rename it to `ContainerLoader` since all others route loaders does not have "Route" in their name. Let's be consistent!

2. This class is in a `DependencyInjection` sub directory for historical reasons. Let's remove that! It accepts any PSR-11 container.

### ObjectRouteLoader

1. This class has "Route" in its name too. Let's rename it!

2. This class is supposed to be an abstract implementation for "object" loaders to reuse, but in its code it has a lot of references to "services". Let's remove those references! That means renaming some methods, altering messages, etc.. That also means removing the `supports` method from it to let extending classes implement it.

3. IMHO, this abstract implementation is useless. We sould just deprecate the whole class and move the implemention in the `ContainerLoader` class.

Commits
-------

154810119d [Routing] Deprecate ServiceRouterLoader and ObjectRouteLoader in favor of ContainerLoader and ObjectLoader
2019-07-23 11:46:29 +02:00
Nicolas Grekas
789c33048e minor #32619 [Debug][ExceptionHandler] Add tests for custom handlers (fancyweb)
This PR was merged into the 3.4 branch.

Discussion
----------

[Debug][ExceptionHandler] Add tests for custom handlers

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

In https://github.com/symfony/symfony/pull/31694 I mixed many things but the whole PR was closed. I wrote some tests for custom handlers + the handle tests don't use mock anymore

I think they are useful even if the `ExceptionHandler` will disappear in the new component because it will still exists in 4.4 for the next 3 years.

Commits
-------

c53e25332a [Debug][ExceptionHandler] Add tests for custom handlers
2019-07-23 10:39:19 +02:00
Christian Flothmann
9bad90578a revert private properties handling 2019-07-23 10:29:16 +02:00
Nicolas Grekas
2ab1521388 minor #32671 [Lock] Add missing changelog entry for Factory deprecation (Simperfit)
This PR was merged into the 4.4 branch.

Discussion
----------

[Lock] Add missing changelog entry for Factory deprecation

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

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

Add missing changelog entry for the deprecation of the Factory into LockFactory

Commits
-------

c6daa617b0 [Lock] Add missing changelog entry for Factory deprecation
2019-07-23 09:37:51 +02:00
Amrouche Hamza
c6daa617b0
[Lock] Add missing changelog entry for Factory deprecation 2019-07-23 09:12:19 +02:00
Yonel Ceruto
5d76eb7b86 [ErrorRenderer] Improving the exception page provided by HtmlErrorRenderer 2019-07-23 08:34:52 +02:00
Fabien Potencier
828ba66d4a minor #32632 [HttpFoundation] Fix URLs (Arman-Hosseini)
This PR was squashed before being merged into the 3.4 branch (closes #32632).

Discussion
----------

[HttpFoundation] Fix URLs

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

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

be53c593dc [HttpFoundation] Fix URLs
2019-07-23 08:27:59 +02:00
Arman Hosseini
be53c593dc [HttpFoundation] Fix URLs 2019-07-23 08:27:47 +02:00
Nicolas Grekas
40f24ef676 [VarDumper] finish PHP 7.4 support and add tests 2019-07-23 08:17:10 +02:00
Dorel Mardari
e99a6b85b8 [VarDumper] Use \ReflectionReference for determining if a key is a reference (php >= 7.4) 2019-07-23 08:17:09 +02:00
Tobias Schultze
759f91c565 minor #32659 [ErrorRenderer] Fixed the priority order of the error renderers registration (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[ErrorRenderer] Fixed the priority order of the error renderers registration

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

Spotted in https://github.com/symfony/symfony/pull/31398 and https://github.com/symfony/symfony/pull/32504

Commits
-------

710b51dcb1 Fixed the priority order of the error renderers registration
2019-07-22 23:36:35 +02:00
Tobias Schultze
41c530fdb8 minor #32660 [ErrorRenderer] Making debug = false by default and cleanup (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[ErrorRenderer] Making debug = false by default and cleanup

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

Consistent with other places where the default value is `false`.

Commits
-------

b28986f119 Making debug = false by default and cleanup
2019-07-22 23:28:49 +02:00
Yonel Ceruto
710b51dcb1 Fixed the priority order of the error renderers registration 2019-07-22 17:27:21 -04:00
Thomas Calvet
154810119d [Routing] Deprecate ServiceRouterLoader and ObjectRouteLoader in favor of ContainerLoader and ObjectLoader 2019-07-22 23:07:16 +02:00
Tobias Schultze
560dc8b9f7 minor #32610 [Mime] Add missing changelog entry for BC-break (Koc)
This PR was merged into the 4.3 branch.

Discussion
----------

[Mime] Add missing changelog entry for BC-break

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

Commits
-------

3a354321c8 [Mime] Add missing changelog entry for BC-break
2019-07-22 22:39:47 +02:00
Christian Flothmann
475c7a469a adapt tests 2019-07-22 22:38:49 +02:00
Sébastien ALFAIATE
b946b11d5a [Form] Repeat preferred choices in the main list 2019-07-22 22:38:49 +02:00
Nicolas Grekas
5a14b7e039 [Security/Http] Don't mark AbstractAuthenticationListener as internal 2019-07-22 19:05:35 +02:00
Yonel Ceruto
b28986f119 Making debug = false by default and cleanup 2019-07-22 11:38:55 -04:00
Gabriel Caruso
f84c71b582
Remove hack to access class scope inside closures
This is possible since 5.4
2019-07-22 17:15:39 +02:00
Fabien Potencier
7dfc97be9f minor #32608 [Mailer][DX] Improve exception message for unsupported scheme (Koc)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer][DX] Improve exception message for unsupported scheme

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

This PR improves exception message for unsupported schemes by providing list of available. Throw something like: ` 'The "foo" scheme is not supported for mailer "mailgun". Supported schemes are: "api", "http", "smtp".'`

Commits
-------

8c24a537c7 [Mailer][DX] Improve exception message for unsupported scheme
2019-07-22 11:17:59 +02:00
Arman Hosseini
4afdfd765d
Improve fa (persian) translation 2019-07-22 01:14:06 +04:30
Thomas Calvet
016a214bc5 Remove dead tests fixtures 2019-07-21 19:35:01 +02:00
Nicolas Grekas
f6d6931fff Merge branch '3.4' into 4.2
* 3.4:
  Remove more dead tests fixtures
2019-07-19 18:57:10 +02:00
Thomas Calvet
a1fb54d900 Remove more dead tests fixtures 2019-07-19 18:34:11 +02:00
Konstantin Myakshin
8c24a537c7 [Mailer][DX] Improve exception message for unsupported scheme 2019-07-19 19:29:21 +03:00
Konstantin Myakshin
3a354321c8 [Mime] Add missing changelog entry for BC-break 2019-07-19 19:21:19 +03:00
Tobias Schultze
48408e3c5b [Messenger] fix transport_name option not passing validation
the doctrine transport connection validates the options and complains about this option, so we remove it before. the purpose is for custom transport factories anyway
2019-07-19 14:27:46 +02:00
Nicolas Grekas
98cdd007a8 Merge branch '3.4' into 4.2
* 3.4:
  Remove dead tests fixtures
2019-07-19 14:05:51 +02:00
Nicolas Grekas
0bbcdc4400 minor #32623 Remove dead tests fixtures (fancyweb)
This PR was merged into the 3.4 branch.

Discussion
----------

Remove dead tests fixtures

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

Once this is merged up to 4.2, I will check 4.2.

Commits
-------

f7e24c2c80 Remove dead tests fixtures
2019-07-19 14:05:10 +02:00
Thomas Calvet
f7e24c2c80 Remove dead tests fixtures 2019-07-19 13:52:08 +02:00
Thomas Calvet
c53e25332a [Debug][ExceptionHandler] Add tests for custom handlers 2019-07-19 10:43:44 +02:00
Nicolas Grekas
0d8f5fe985 Merge branch '4.3' into 4.4
* 4.3:
  fix tests
  [Validator] Added support for validation of giga values
  Fix Debug component tests
  [Messenger] fixed UnrecoverableExceptionInterface handling in Worker (fixes #32325)
  [Messenger] pass transport name to factory
2019-07-19 10:35:48 +02:00
Nicolas Grekas
f805fe3a16 Merge branch '4.2' into 4.3
* 4.2:
  fix tests
  [Validator] Added support for validation of giga values
  Fix Debug component tests
2019-07-19 10:33:28 +02:00
Nicolas Grekas
7964eb816a Merge branch '3.4' into 4.2
* 3.4:
  fix tests
  [Validator] Added support for validation of giga values
  Fix Debug component tests
2019-07-19 10:33:10 +02:00
Nicolas Grekas
09aa53334d minor #32612 [Debug] Fix 3.4 tests (yceruto)
This PR was merged into the 3.4 branch.

Discussion
----------

[Debug] Fix 3.4 tests

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

Commits
-------

77fa283091 Fix Debug component tests
2019-07-19 10:32:24 +02:00
Fabien Potencier
aece546fc7 bug #32485 [Validator] Added support for validation of giga values (kernig)
This PR was squashed before being merged into the 3.4 branch (closes #32485).

Discussion
----------

[Validator] Added support for validation of giga values

As described in issue #32479

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | just tested on my presta and it works. if further tests are necessary, it would be great if someone could help!
| Fixed tickets | #32479
| License       | MIT
| Doc PR        |

The validation(function normalizeBinaryFormat) in symfony/src/Symfony/Component/Validator/Constraints/File.php doesn't work with gigabyte values in php.ini.
In the PHP documentation it says "PHP allows shortcuts for byte values, including K (kilo), M (mega) and G (giga). " so in my opinion these values should work.
Thanks to @kijamve for the fix.

Commits
-------

969f2c4a81 [Validator] Added support for validation of giga values
2019-07-19 09:47:22 +02:00
kernig
969f2c4a81 [Validator] Added support for validation of giga values 2019-07-19 09:47:15 +02:00
Fabien Potencier
e44eb917ce bug #32568 [Messenger] Fix UnrecoverableExceptionInterface handling (LanaiGrunt)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Fix UnrecoverableExceptionInterface handling

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

Fixed the handling of UnrecoverableExceptionInterface-Exceptions like suggested in [the issue thread](https://github.com/symfony/symfony/issues/32325#issuecomment-509351321).

Commits
-------

49bb7435f1 [Messenger] fixed UnrecoverableExceptionInterface handling in Worker (fixes #32325)
2019-07-19 09:19:36 +02:00
Yonel Ceruto
77fa283091 Fix Debug component tests 2019-07-18 18:35:50 -04:00
Nicolas Grekas
edd4a74f5c [Mailer] fix merge 2019-07-18 23:13:01 +02:00
Nicolas Grekas
d3a50d6cef Merge branch '4.3' into 4.4
* 4.3:
  Properly handle optional tag attributes for !tagged_iterator
  [Mime] rename Headers::getAll() to all()
  [Mailer] Fix phpdoc for variadic methods
  [HttpClient] fix debug output added to stderr at shutdown
2019-07-18 22:39:44 +02:00
Nicolas Grekas
3f988461d5 bug #32604 Properly handle optional tag attributes for !tagged_iterator (apfelbox)
This PR was merged into the 4.3 branch.

Discussion
----------

Properly handle optional tag attributes for !tagged_iterator

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? |no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #32603
| License       | MIT
| Doc PR        | —

Properly handles all optional array keys when using `!tagged_iterator` in YAML service definitions.
This fixes a regression and adds a test case preventing it from coming up again

Commits
-------

d1c6580192 Properly handle optional tag attributes for !tagged_iterator
2019-07-18 22:37:28 +02:00
Fabien Potencier
4d7f072546 minor #32607 [Mime] rename Headers::getAll() to all() (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[Mime] rename Headers::getAll() to all()

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

For consistency with HttpFoundation.
On 4.3 to cut spreading the previous name asap.
Allowed because the component is experimental.

Commits
-------

9252e75923 [Mime] rename Headers::getAll() to all()
2019-07-18 22:04:55 +02:00
Fabien Potencier
c9b149c917 feature #32332 [DI] Move non removing compiler passes to after removing passes (alexpott)
This PR was merged into the 4.4 branch.

Discussion
----------

[DI] Move non removing compiler passes to after removing passes

| Q             | A
| ------------- | ---
| Branch?       | Not sure - feels like something that should only change in a major version but /shrug
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | Is where each pass runs in PassConfig considered an API - not sure.
| Deprecations? | no
| Tests pass?   | yes - no tests added because this is a sort of config change
| Fixed tickets | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

At the moment PassConfig adds CheckExceptionOnInvalidReferenceBehaviorPass and ResolveHotPathPass as TYPE_REMOVE. But they don't remove services. This means that if you add a removing pass you need to run before all the other removing passes. You can use priority to do this but I think adding these passes here is logically a bit odd when TYPE_AFTER_REMOVING exists and could be leveraged.

I made this change against the master branch because maybe this is something you'd only want to change in a major version - not sure.

Commits
-------

88196ef4af [DI] Move non removing compiler passes to after removing passes
2019-07-18 22:01:52 +02:00
Jannik Zschiesche
d1c6580192
Properly handle optional tag attributes for !tagged_iterator
When using the array syntax
2019-07-18 20:14:10 +02:00
Nicolas Grekas
9252e75923 [Mime] rename Headers::getAll() to all() 2019-07-18 20:01:20 +02:00
Robin Chalas
70b85731b8 [Mailer] Fix phpdoc for variadic methods 2019-07-18 19:32:23 +02:00
Alex Pott
88196ef4af [DI] Move non removing compiler passes to after removing passes 2019-07-18 19:01:22 +02:00
Nicolas Grekas
b07933d99e feature #32475 [Process] Deprecate Process::inheritEnvironmentVariables() (ogizanagi)
This PR was merged into the 4.4 branch.

Discussion
----------

[Process] Deprecate Process::inheritEnvironmentVariables()

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

IIUC, this method was kept as a BC layer from 3.4 to 4.0 to switch to the "inherit env vars" behavior, inciting developers to opt-in in 3.4. Since 4.0, env vars are always inherited, and this method doesn't allow to opt-out. So, time to remove it?

---

refs:

- https://github.com/symfony/symfony/pull/21470
- https://github.com/symfony/symfony/pull/22836

Commits
-------

af9bad31c6 [Process] Deprecate Process::inheritEnvironmentVariables()
2019-07-18 18:52:37 +02:00
Maxime Steinhausser
af9bad31c6 [Process] Deprecate Process::inheritEnvironmentVariables() 2019-07-18 18:47:09 +02:00
Nicolas Grekas
1d3db3dd8b Merge branch '4.3' into 4.4
* 4.3:
  Mute deprecations triggered from phpunit
2019-07-18 16:18:40 +02:00
Nicolas Grekas
e80d4057f9 minor #32492 [Lock] feature: lock split interface fix post-merge review (Simperfit)
This PR was squashed before being merged into the 4.4 branch (closes #32492).

Discussion
----------

[Lock] feature: lock split interface fix post-merge review

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

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

see https://github.com/symfony/symfony/pull/32198#pullrequestreview-259854210

Commits
-------

8173c475f3 [Lock] feature: lock split interface fix post-merge review
2019-07-18 15:47:02 +02:00
Amrouche Hamza
8173c475f3 [Lock] feature: lock split interface fix post-merge review 2019-07-18 15:46:57 +02:00
Fabien Potencier
3849e1c238 feature #32583 [Mailer] Logger vs debug mailer (fabpot)
This PR was squashed before being merged into the 4.4 branch (closes #32583).

Discussion
----------

[Mailer] Logger vs debug mailer

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Currently, there is no way to get the network data for the HTTP calls done by the HTTP transports (which makes debugging harder). For SMTP, we do have the network data, but as logs (each SMTP command/response is its own log line which means that the logs are "polluted" and the data is not tied with the sent message).

This pull request adds a `getDebug()` method on `SentMessage`. That allows to get the debug data conveniently in a standardized way (for both SMTP and HTTP transports). I have moved the SMTP logs to this new mechanism and added support for HTTP transports.

Commits
-------

fded3cd68c [Mailer] added support ffor debug info when using SMTP
d2f33d2cfe [Mailer] added debug info for HTTP mailers
2019-07-18 15:39:24 +02:00
Fabien Potencier
fded3cd68c [Mailer] added support ffor debug info when using SMTP 2019-07-18 14:34:22 +02:00
Nicolas Grekas
ed0b361d6f Merge branch '4.3' into 4.4
* 4.3: (25 commits)
  fix merge
  [HttpClient] fix debug output added to stderr at shutdown
  fix cs
  Use mocks before replacing the error handler
  [Config] Do not use absolute path when computing the vendor freshness
  Bump minimum version of symfony/phpunit-bridge
  Container*::getServiceIds() should return an array of string
  [Config][ReflectionClassResource] Use ternary instead of null coaelscing operator
  [Validator] Add missing Russian and Ukrainian translations
  [Translation] Use HTTPS and fix a url
  [Config] Fix for signatures of typed properties
  [Validator] Add missing Hungarian translations
  [Validator] Add Lithuanian translation for Range validator
  Add HTTPS to a URL
  sync translation files
  PHPDoc fixes
  Add notInRange translation
  Add danish translation for Range validator
  Add german translation for Range validator
  Update validators.es.xlf
  ...
2019-07-18 12:38:27 +02:00
Nicolas Grekas
813ad248e5 fix merge 2019-07-18 12:37:37 +02:00
Nicolas Grekas
61ce400807 Merge branch '4.2' into 4.3
* 4.2: (23 commits)
  fix cs
  Use mocks before replacing the error handler
  [Config] Do not use absolute path when computing the vendor freshness
  Bump minimum version of symfony/phpunit-bridge
  Container*::getServiceIds() should return an array of string
  [Config][ReflectionClassResource] Use ternary instead of null coaelscing operator
  [Validator] Add missing Russian and Ukrainian translations
  [Translation] Use HTTPS and fix a url
  [Config] Fix for signatures of typed properties
  [Validator] Add missing Hungarian translations
  [Validator] Add Lithuanian translation for Range validator
  Add HTTPS to a URL
  sync translation files
  PHPDoc fixes
  Add notInRange translation
  Add danish translation for Range validator
  Add german translation for Range validator
  Update validators.es.xlf
  [Validator] Add missing en and fr translation ids from 4.4
  [Debug][DebugClassLoader] Don't check class if the included file don't exist
  ...
2019-07-18 12:34:59 +02:00
Nicolas Grekas
f635827002 [HttpClient] fix debug output added to stderr at shutdown 2019-07-18 12:30:42 +02:00
Nicolas Grekas
dc11777afa Merge branch '3.4' into 4.2
* 3.4: (23 commits)
  fix cs
  Use mocks before replacing the error handler
  [Config] Do not use absolute path when computing the vendor freshness
  Bump minimum version of symfony/phpunit-bridge
  Container*::getServiceIds() should return an array of string
  [Config][ReflectionClassResource] Use ternary instead of null coaelscing operator
  [Validator] Add missing Russian and Ukrainian translations
  [Translation] Use HTTPS and fix a url
  [Config] Fix for signatures of typed properties
  [Validator] Add missing Hungarian translations
  [Validator] Add Lithuanian translation for Range validator
  Add HTTPS to a URL
  sync translation files
  PHPDoc fixes
  Add notInRange translation
  Add danish translation for Range validator
  Add german translation for Range validator
  Update validators.es.xlf
  [Validator] Add missing en and fr translation ids from 4.4
  [Debug][DebugClassLoader] Don't check class if the included file don't exist
  ...
2019-07-18 12:29:22 +02:00
Nicolas Grekas
c03fff5b3e fix cs 2019-07-18 12:28:36 +02:00
Fabien Potencier
288772478c [Mailer] fixed logic 2019-07-18 10:29:30 +02:00
Fabien Potencier
d2f33d2cfe [Mailer] added debug info for HTTP mailers 2019-07-18 10:17:52 +02:00
Fabien Potencier
c8eed54684 fixed missing license 2019-07-18 10:16:25 +02:00
Fabien Potencier
6f78ad8d68 minor #32573 [Process] Path resolution for FCGI configuration (romantymoshyk)
This PR was merged into the 4.4 branch.

Discussion
----------

 [Process] Path resolution for FCGI configuration

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

This tiny improvement allows to speedup location of PHP executable if script is runned via FCGI.
PHP configured to be runned via Apache module mod_fcgid(usually on Windows), PHP_SAPI contains 'cgi-fcgi' and PHP_BINARY refer to correct PHP binary executable, same as in case of running via CLI.

Commits
-------

22150bc771  [Process] Path resolution for FCGI configuration
2019-07-18 10:00:23 +02:00
Fabien Potencier
039fd94dfd bug #32438 [Serializer] XmlEncoder: don't cast padded strings (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[Serializer] XmlEncoder: don't cast padded strings

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

This was a suggestion of @nicolas-grekas in #23122. Which seems to have been forgotten.

But shouldn't we also avoid casting something like `.18`, `+18`, `-18`?

Commits
-------

c1bfaa1de4 [Serializer] XmlEncoder: don't cast padded strings
2019-07-18 09:59:15 +02:00
Fabien Potencier
9ed1dd113c feature #32471 Add a new ErrorHandler component (mirror of the Debug component) (yceruto)
This PR was squashed before being merged into the 4.4 branch (closes #32471).

Discussion
----------

Add a new ErrorHandler component (mirror of the Debug component)

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

On top of https://github.com/symfony/symfony/pull/32470

Commits
-------

b1b6e80a3d Add a new ErrorHandler component (mirror of the Debug component)
2019-07-18 09:54:44 +02:00
Yonel Ceruto
b1b6e80a3d Add a new ErrorHandler component (mirror of the Debug component) 2019-07-18 09:54:35 +02:00
Nicolas Grekas
54c77e6a61 bug #32579 [Config] Do not use absolute path when computing the vendor freshness (lyrixx)
This PR was merged into the 3.4 branch.

Discussion
----------

[Config] Do not use absolute path when computing the vendor freshness

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

When one uses Docker with a different mounting point between CLI & FPM,
the cache keeps regenerating because the ComposerResource class see a
different path for each SAPI. For example `/home/app/app/vendor` vs
`/var/www/app/vendor`.
So if you hit FPM, then the CLI, then FPM, each time a new cache is
generated. So the application is quite slow in dev env. And for people
on MacOSX (with docker) is a big pain! And obvisouly, this never
stabilizes !

This occurs a lot when you have a worker, that crash and reboot in the
background, and you browse the web interface. Or when you have something
that hit your API every X secondes, and you are working on a worker.

Commits
-------

2d2e2742c8 [Config] Do not use absolute path when computing the vendor freshness
2019-07-18 08:47:54 +02:00
Grégoire Paris
f6e0b01f7c
Use mocks before replacing the error handler
We want the bridge to mute the deprecations triggered when building mocks.
2019-07-18 08:26:12 +02:00
Piet Steinhart
49bb7435f1 [Messenger] fixed UnrecoverableExceptionInterface handling in Worker (fixes #32325) 2019-07-17 22:40:10 +02:00
Nicolas Grekas
ba988acaec feature #32463 [VarDumper] Allow to configure VarDumperTestTrait casters & flags (ogizanagi)
This PR was merged into the 4.4 branch.

Discussion
----------

[VarDumper] Allow to configure VarDumperTestTrait casters & flags

| Q             | A
| ------------- | ---
| Branch?       | 4.4 <!-- see below -->
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | N/A   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | TODO: showcase using `setUpVarDumper` in `setUp` or in specific test cases accordingly to the use-case. `tearDownVarDumper` is automatically called after each test case.

The VarDumper component is a great tool in tests to assert objects states.
The ability to register custom casters on need is a nice way to control only the fields you're expecting, or a way to write concise test cases.
Hence this feature allowing to configure casters specifically per test class/case.

Commits
-------

613dbb267d [VarDumper] Allow to configure VarDumperTestTrait casters & flags
2019-07-17 20:27:52 +02:00
Nicolas Grekas
c893986815 [DI] Allow dumping the container in one file instead of many files 2019-07-17 19:15:20 +02:00
Grégoire Pineau
2d2e2742c8 [Config] Do not use absolute path when computing the vendor freshness
When one uses Docker with a different mounting point between CLI & FPM,
the cache keeps regenerating because the ComposerResource class see a
different path for each SAPI. For example `/home/app/app/vendor` vs
`/var/www/app/vendor`.
So if you hit FPM, then the CLI, then FPM, each time a new cache is
generated. So the application is quite slow in dev env. And for people
on MacOSX (with docker) is a big pain! And obvisouly, this never
stabilizes !

This occurs a lot when you have a worker, that crash and reboot in the
background, and you browse the web interface. Or when you have something
that hit your API every X secondes, and you are working on a worker.
2019-07-17 17:23:18 +02:00
Roman Tymoshyk
22150bc771
[Process] Path resolution for FCGI configuration 2019-07-17 15:34:41 +03:00
Fabien Potencier
25f180416e minor #32562 [Lock] remove usage of the StoreInterface (Simperfit)
This PR was merged into the 4.4 branch.

Discussion
----------

[Lock] remove usage of the StoreInterface

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

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

Followup PR according to the review of @nicolas-grekas in https://github.com/symfony/symfony/pull/32555#discussion_r303749752.

Commits
-------

9988844eb4 [Lock] remove uusage of the StoreInterface
2019-07-17 09:26:25 +02:00
Fabien Potencier
04b9ce39ad bug #32563 Container*::getServiceIds() should return strings (mathroc)
This PR was merged into the 3.4 branch.

Discussion
----------

Container*::getServiceIds() should return strings

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

Cast services ids to string in `Container*::getServiceIds()`

Commits
-------

9c88caad31 Container*::getServiceIds() should return an array of string
2019-07-17 09:04:46 +02:00
Konstantin Myakshin
5b9cded276 Add transport factories (closes #31385, closes #32523) 2019-07-16 22:15:50 +03:00
Mathieu Rochette
9c88caad31
Container*::getServiceIds() should return an array of string
see #32549
2019-07-16 20:58:26 +02:00
Amrouche Hamza
9988844eb4
[Lock] remove uusage of the StoreInterface 2019-07-16 18:53:09 +02:00
Thomas Calvet
4db953f40c [Config][ReflectionClassResource] Use ternary instead of null coaelscing operator 2019-07-16 14:34:18 +02:00
Fabien Potencier
b75a8be5e2 minor #32520 [Validator] Update Spanish translation for Range validator (plozmun)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] Update Spanish translation for Range validator

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

Commits
-------

b5a96409b7 Update validators.es.xlf
2019-07-16 13:49:35 +02:00
Nicolas Grekas
90e46ab13b [HttpClient] make toStream() throw by default 2019-07-16 08:40:46 +02:00
Fabien Potencier
52e9fb91ff Merge branch '4.3' into 4.4
* 4.3:
  added missing test
  [Mailer] Allow register mailer configuration in xml format
  fixed CS
  [FrameworkBundle] Fix descriptor of routes described as callable array
  [Debug][DebugClassLoader] Include found files instead of requiring them
  [HttpKernel] fix tests
  Adding missing event_dispatcher wiring for messenger.middleware.send_message
2019-07-16 08:12:37 +02:00
Konstantin Myakshin
fae418f7cb [Validator] Add missing Russian and Ukrainian translations 2019-07-16 00:17:21 +03:00
Maxime Steinhausser
613dbb267d [VarDumper] Allow to configure VarDumperTestTrait casters & flags 2019-07-15 16:30:54 +02:00
Nicolas Grekas
10ba0c62c3 minor #32511 [Debug][DebugClassLoader] Don't check class if the included file doesn't exist (fancyweb)
This PR was merged into the 3.4 branch.

Discussion
----------

[Debug][DebugClassLoader] Don't check class if the included file doesn't exist

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

Follow up to https://github.com/symfony/symfony/pull/32500.

If the included file doesn't exist, we need to return or the execution continues (if warnings are not thrown as exceptions) and then an invalid exception is thrown when the class is checked.

For example : "The autoloader expected class "App\Foo\Bar" to be defined in file "/var/www/html/vendor/composer/../../src/Foo/Bar.php". The file was found but the class was not in it, the class name or namespace probably has a typo".

Commits
-------

0185527297 [Debug][DebugClassLoader] Don't check class if the included file don't exist
2019-07-15 15:19:38 +02:00
Fabien Potencier
e2d71731fa minor #32536 [Translation] Use HTTPS and fix a url (Arman-Hosseini)
This PR was squashed before being merged into the 3.4 branch (closes #32536).

Discussion
----------

[Translation] Use HTTPS and fix a url

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

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

e346ee6888 [Translation] Use HTTPS and fix a url
2019-07-15 09:11:50 +02:00
Arman Hosseini
e346ee6888 [Translation] Use HTTPS and fix a url 2019-07-15 09:11:40 +02:00
Timon van der Vorm
bad2a2c87a [Config] Fix for signatures of typed properties 2019-07-15 08:55:28 +02:00
Pierre du Plessis
f90a9fd771 Improve errors when trying to find a writable property 2019-07-15 08:46:23 +02:00
Fabien Potencier
0825ea71ef minor #32530 [Validator] sync translation files (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] sync translation files

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

209226a3f6 sync translation files
2019-07-15 08:32:46 +02:00
Fabien Potencier
59c784fdb9 minor #32539 [Validator] Add missing Hungarian translations (1ed)
This PR was squashed before being merged into the 3.4 branch (closes #32539).

Discussion
----------

[Validator] Add missing Hungarian translations

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

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

It has 2 messages translated to Hungarian introduced in https://github.com/symfony/symfony/pull/27738 and https://github.com/symfony/symfony/pull/32435. AFAIK it should be based on 3.4, but tell me if I should rebase any of the commits.

Commits
-------

2fee9124ba [Validator] Add missing Hungarian translations
2019-07-15 08:30:59 +02:00
Gábor Egyed
2fee9124ba [Validator] Add missing Hungarian translations 2019-07-15 08:30:52 +02:00
Fabien Potencier
3a55814eb8 minor #32544 [Validator] Add Lithuanian translation for Range validator (norkunas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] Add Lithuanian translation for Range validator

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

Translation for #32435.

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

20ef151eb3 [Validator] Add Lithuanian translation for Range validator
2019-07-15 08:26:17 +02:00
Tomas
20ef151eb3 [Validator] Add Lithuanian translation for Range validator 2019-07-15 08:12:34 +03:00
Arman Hosseini
8a5a8fa835
Add HTTPS to a URL 2019-07-14 15:17:28 +04:30
Christian Flothmann
fa317f23f5 fix some deprecations and add upgrade instructions 2019-07-14 10:01:32 +02:00
Christian Flothmann
1bfb8106d3 minor #32400 [Form] Name related PHPDoc fixes (vudaltsov)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] Name related PHPDoc fixes

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

As I started working on #32179 in #32237, I noticed some PHPDoc inconsistencies around the form's name. I have researched the issue thoroughly and here's my proposal:

1. All "factory" methods (`FormFactory::create*`, `ResolvedFormType::createBuilder`, `FormBuilder::create|add`, `Form::add`) currently accept string and integer names. This should not be deprecated, because it's very convenient and natural to pass ints when adding children to types like `ChoiceType` or `CollectionType`.
1. None of the "factory" methods explicitly accepts `null` as a name, although passing `null` works the same as passing `''`. I consider passing `null` in this case to be ugly, so I corrected the builder's constructors mentioning `null` as a possible argument. One should pass an empty string `''` when creating such a form. We could also deprecate passing `null` in a PR targeting 4.4.
1. Currently the name becomes a string in the builder's (or config builder's) constructor. Which means that `FormConfigInterface::getName` always returns a string and thus the form's `$name` property is always a string. All related checks and PHPDocs should be corrected.
1. The "children accessors" (`Form::has|get|remove`, `FormBuilder::has|get|remove`) should accept both strings and ints because they are array-accessible by design (so it does not really matter, if the key is a string or an int). If it's valid to have `$collectionForm->add(1, ItemType::class)`, then it should be valid to do `$collectionForm->get(1)`. And it works in code, but is not mentioned in the PHPDoc.

ping @nicolas-grekas , @xabbuh , @HeahDude

Commits
-------

eae95c4e49 PHPDoc fixes
2019-07-13 13:29:38 +02:00
Christian Flothmann
209226a3f6 sync translation files 2019-07-13 12:19:24 +02:00
Christian Flothmann
24b7feff91 fix typo 2019-07-13 12:01:31 +02:00
Valentin
eae95c4e49 PHPDoc fixes 2019-07-13 00:04:51 +03:00
Ion Bazan
b35131a9bf Add notInRange translation 2019-07-12 14:10:16 +03:00
Patrick Reimers
dc2e36d7c7 Add danish translation for Range validator 2019-07-12 14:08:46 +03:00
Patrick Reimers
d392e49993 Add german translation for Range validator 2019-07-12 14:07:09 +03:00
Pablo Lozano
b5a96409b7
Update validators.es.xlf 2019-07-12 13:06:55 +02:00
Lctrs
5ba6cc9b7c [Validator] Add missing en and fr translation ids from 4.4 2019-07-12 10:45:11 +02:00
Thomas Calvet
0185527297 [Debug][DebugClassLoader] Don't check class if the included file don't exist 2019-07-12 10:40:08 +02:00
Javier Eguiluz
41f51fd7c1 [Validator] Added the Spanish translation for the new Range validator 2019-07-12 11:27:25 +03:00
JoppeDC
29ecf224a5 Added Nl translations
Added NL translations for the validator when both `min` and `max` are set.
2019-07-12 11:25:50 +03:00
JoppeDC
871ca3713a
Added Nl translations
Added NL translations for the validator when both `min` and `max` are set.
2019-07-12 10:08:35 +02:00
Fabien Potencier
03b0284810 fixed CS 2019-07-12 09:03:00 +03:00
Fabien Potencier
dcd0a64394 Merge branch '4.2' into 4.3
* 4.2:
  fixed CS
  [Debug][DebugClassLoader] Include found files instead of requiring them
2019-07-12 08:54:53 +03:00
Fabien Potencier
a8d8cf8b45 Merge branch '3.4' into 4.2
* 3.4:
  fixed CS
  [Debug][DebugClassLoader] Include found files instead of requiring them
2019-07-12 08:51:03 +03:00
Fabien Potencier
6f73e62285 minor #32476 Add missing message parameter (apfelbox)
This PR was merged into the 4.4 branch.

Discussion
----------

Add missing message parameter

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | https://github.com/symfony/symfony/pull/32231#discussion_r301943379
| License       | MIT
| Doc PR        | —

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

Add the missing parameter in the `sprintf()` call.

Found in https://github.com/symfony/symfony/pull/32231#discussion_r301943379

Commits
-------

a060642637 Replace missing message parameter
2019-07-12 08:14:53 +03:00
Fabien Potencier
fd3ad6520c feature #32435 [Validator] Add a new constraint message when there is both min and max (Lctrs)
This PR was squashed before being merged into the 4.4 branch (closes #32435).

Discussion
----------

[Validator] Add a new constraint message when there is both min and max

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | Part of #31503
| License       | MIT
| Doc PR        | to do

Currently, the failed validation messages in the `Range` constraint doesn't carry a notion of range. This can be confusing and error-prone if we report these messages to the user as-is.

This PR introduces a new message to the `Range` constraint (`This value should be between {{ min }} and {{ max }}.`) that will be displayed if both `min` and `max` are not `null`.

Commits
-------

c5488bcec1 [Validator] Add a new constraint message when there is both min and max
2019-07-12 08:12:45 +03:00
Lctrs
c5488bcec1 [Validator] Add a new constraint message when there is both min and max 2019-07-12 08:12:33 +03:00
Fabien Potencier
aefb8bdb26 minor #32447 [LDAP] add new option implemented in php 7.1 (Simperfit)
This PR was merged into the 4.4 branch.

Discussion
----------

[LDAP] add new option implemented in php 7.1

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

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

Add new options to the LDAP connection class.

Commits
-------

d1a0ca6b9a [LDAP] add new option implemented in php 7.1
2019-07-12 07:55:23 +03:00
Fabien Potencier
adcd643094 minor #32452 [Bundles] Rename getPublicPath() as getPublicDir() (javiereguiluz)
This PR was squashed before being merged into the 4.4 branch (closes #32452).

Discussion
----------

[Bundles] Rename getPublicPath() as getPublicDir()

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | -
| License       | MIT
| Doc PR        | I'll add this if approved

While documenting #31975 (see https://github.com/symfony/symfony-docs/pull/11930) I realized that the `getPublicPath()` method name is not consistent with the rest of Symfony.

In Symfony, "path" is usually associated to routes and we use "dir" for things similar to this:

* `getCacheDir()` and `getLogdir()` to override Symfony structure (https://symfony.com/doc/current/configuration/override_dir_structure.html)
* `binDir`, `configDir`, `srcDir`, `varDir`, `publicDir` in Symfony Flex recipes (https://github.com/symfony/recipes) to override the dir structure

So, this PR proposes to rename `getPublicPath()` as `getPublicDir()`

Commits
-------

4ab2f9955b [Bundles] Rename getPublicPath() as getPublicDir()
2019-07-12 07:45:48 +03:00
Javier Eguiluz
4ab2f9955b [Bundles] Rename getPublicPath() as getPublicDir() 2019-07-12 07:45:28 +03:00
Fabien Potencier
c4568d1485 minor #32478 Remove experimental notice from components (teohhanhui)
This PR was merged into the 4.4 branch.

Discussion
----------

Remove experimental notice from components

| Q             | A
| ------------- | ---
| Branch?       | 4.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

@fabpot:
> Nothing can be marked as experimental in 4.4.
>
> https://github.com/symfony/symfony/pull/32277

Commits
-------

390c9a67bf Remove experimental notice from components
2019-07-12 07:44:05 +03:00
Thomas Calvet
c7141c82d1 [Debug][DebugClassLoader] Include found files instead of requiring them 2019-07-11 20:09:53 +02:00
Christian Flothmann
d7d2eac087 remove invalid test cases 2019-07-11 14:40:03 +02:00
Bastien Clément
1f5c8a6790 Cancel delayed message if handler fails 2019-07-11 13:48:23 +02:00
Nicolas Grekas
a2dce3a6c6 Merge branch '4.2' into 4.3
* 4.2:
  [HttpKernel] fix tests
2019-07-11 12:26:11 +02:00
Nicolas Grekas
07557ec94a Merge branch '3.4' into 4.2
* 3.4:
  [HttpKernel] fix tests
2019-07-11 12:26:05 +02:00
Nicolas Grekas
6eee2a8144 [HttpKernel] fix tests 2019-07-11 12:21:37 +02:00
Teoh Han Hui
390c9a67bf
Remove experimental notice from components 2019-07-11 11:03:49 +02:00
Nicolas Grekas
4499e2a21a feature #32470 Rename ErrorCatcher to ErrorRenderer (rendering part only) (yceruto)
This PR was squashed before being merged into the 4.4 branch (closes #32470).

Discussion
----------

Rename ErrorCatcher to ErrorRenderer (rendering part only)

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

Follow up https://github.com/symfony/symfony/pull/32377

Commits
-------

fb5b0429b2 Rename ErrorCatcher to ErrorRenderer (rendering part only)
2019-07-11 10:47:06 +02:00
Yonel Ceruto
fb5b0429b2 Rename ErrorCatcher to ErrorRenderer (rendering part only) 2019-07-11 10:46:43 +02:00
Amrouche Hamza
d1a0ca6b9a
[LDAP] add new option implemented in php 7.1 2019-07-11 05:49:14 +02:00
Nicolas Grekas
2e5a8c80c6 Merge branch '4.3' into 4.4
* 4.3: (26 commits)
  Fix Twig 1.x compatibility
  [Translator] Improve farsi(persian) translations for Form
  Improve fa translations
  Spell "triggering" properly
  Added tests to cover the possibility of having scalars as services.
  fixed tests on old PHP versions
  [FrameworkBundle] Inform the user when save_path will be ignored
  fixed CS
  [SecurityBundle] Fix profiler dump for non-invokable security listeners
  fixed CS
  [Messenger] Doctrine Transport: Support setting auto_setup from DSN
  [Translator] Load plurals from po files properly
  [Serializer]: AbstractObjectNormalizer ignores the property types of discriminated classes
  [EventDispatcher] Add tag kernel.rest on 'debug.event_dispatcher' service
  [Console] Update to inherit and add licence
  Add missing test for workflow dump description
  [Intl] Remove --dev from intl compile autoloader
  [Messenger] fix publishing headers set on AmqpStamp
  Remove call to deprecated method
  [Intl] Init compile tmp volume
  ...
2019-07-10 20:47:17 +02:00
Nicolas Grekas
f884d659ec Merge branch '4.2' into 4.3
* 4.2:
  Fix Twig 1.x compatibility
  [Translator] Improve farsi(persian) translations for Form
  Improve fa translations
  Added tests to cover the possibility of having scalars as services.
  fixed tests on old PHP versions
  [FrameworkBundle] Inform the user when save_path will be ignored
  fixed CS
  [Translator] Load plurals from po files properly
  [Serializer]: AbstractObjectNormalizer ignores the property types of discriminated classes
  [EventDispatcher] Add tag kernel.rest on 'debug.event_dispatcher' service
  [Console] Update to inherit and add licence
  [Intl] Remove --dev from intl compile autoloader
  Remove call to deprecated method
  [Intl] Init compile tmp volume
  PHP 5 compat
  Add test case
  Update Request.php
  Don't assume port 0 for X-Forwarded-Port
  Load plurals from mo files properly
2019-07-10 20:43:18 +02:00
Nicolas Grekas
68d36d50ad Merge branch '3.4' into 4.2
* 3.4:
  Fix Twig 1.x compatibility
  [Translator] Improve farsi(persian) translations for Form
  Improve fa translations
  Added tests to cover the possibility of having scalars as services.
  fixed tests on old PHP versions
  [FrameworkBundle] Inform the user when save_path will be ignored
  fixed CS
  [Translator] Load plurals from po files properly
  [EventDispatcher] Add tag kernel.rest on 'debug.event_dispatcher' service
  [Console] Update to inherit and add licence
  [Intl] Remove --dev from intl compile autoloader
  [Intl] Init compile tmp volume
  PHP 5 compat
  Add test case
  Update Request.php
  Don't assume port 0 for X-Forwarded-Port
  Load plurals from mo files properly
2019-07-10 20:39:05 +02:00
Jannik Zschiesche
a060642637
Replace missing message parameter 2019-07-10 11:53:52 +02:00
Amin-Hosseini
346ce8811e [Translator] Improve farsi(persian) translations for Form 2019-07-09 13:50:53 +02:00
Lctrs
9d725054ce
[Validator] Fix Changelog for #31511 2019-07-09 09:54:33 +02:00
Amrouche Hamza
41de6333db
[Lock][Console] bump lock requirement in console 2019-07-09 09:02:15 +02:00
Nyholm
35c76a385d Added tests for #32370 2019-07-08 23:25:18 -07:00
Fabien Potencier
4078686d3e feature #32446 [Lock] rename and deprecate Factory into LockFactory (Simperfit)
This PR was merged into the 4.4 branch.

Discussion
----------

[Lock] rename and deprecate Factory into LockFactory

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

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->
As highlighted in https://github.com/symfony/symfony/pull/32198#pullrequestreview-255808664 we need to rename the factory to LockFactory for consistency and readability.

Commits
-------

fc75eb9bef [Lock] rename and deprecate Factory into LockFactory
2019-07-09 08:22:23 +02:00
Arman
e9abc7d654 Improve fa translations 2019-07-09 08:19:25 +02:00
Fabien Potencier
37756d3b22 minor #32432 [DependencyInjection] Added tests to cover the possibility of having scalars as services (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

[DependencyInjection] Added tests to cover the possibility of having scalars as services

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

Commits
-------

60939d988d Added tests to cover the possibility of having scalars as services.
2019-07-09 08:16:48 +02:00
Fabien Potencier
de710f6640 feature #31975 Dynamic bundle assets (garak)
This PR was squashed before being merged into the 4.4 branch (closes #31975).

Discussion
----------

Dynamic bundle assets

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no (new method in interface as annotation)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #29213
| License       | MIT
| Doc PR        | none (yet)

Everything is explained in linked issue

Commits
-------

c16fcc93e2 Dynamic bundle assets
2019-07-09 08:13:12 +02:00
Massimiliano Arione
c16fcc93e2 Dynamic bundle assets 2019-07-09 08:12:54 +02:00
Amrouche Hamza
fc75eb9bef
[Lock] rename and deprecate Factory into LockFactory 2019-07-09 07:41:12 +02:00
Nicolas Grekas
4a50400d3d minor #32377 [Debug] Restoring back the state of the Debug component (1st step) (yceruto)
This PR was squashed before being merged into the 4.4 branch (closes #32377).

Discussion
----------

[Debug] Restoring back the state of the Debug component (1st step)

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

After a good discussion with @nicolas-grekas, we made the decision to split the current `ErrorCatcher` component into several:
 * `ErrorHandler` it would be the Debug component before these changes https://github.com/symfony/symfony/pull/31065, with everything related to ErrorHandler, Debug, DebugClassLoader classes and change its name.
 * `ErrorDumper` it would be the current ErrorCatcher but with FlattenException + the new error renderer system only.

This is the first step, then we can deprecate everything for the Debug component in favor of the ErrorHandler and ErrorDumper components, **BUT without moving any code !!**, that would give us more freedom to do it correctly in the new components.

NOTE: For this PR I've copy the `Debug` component directory from the revision prior to merged commit  https://github.com/symfony/symfony/pull/31065 in 4.4 branch.

Commits
-------

eda49e295e [Debug] Restoring back the state of the Debug component (1st step)
2019-07-09 07:29:33 +02:00
Yonel Ceruto
eda49e295e [Debug] Restoring back the state of the Debug component (1st step) 2019-07-09 07:29:09 +02:00
Maxime Steinhausser
c1bfaa1de4 [Serializer] XmlEncoder: don't cast padded strings 2019-07-08 17:39:29 +02:00
Amrouche Hamza
2c5089b235
[Lock] Fix tests 2019-07-08 16:26:57 +02:00
Alexander M. Turek
60939d988d Added tests to cover the possibility of having scalars as services. 2019-07-08 16:11:17 +02:00
Fabien Potencier
29654a4c02 feature #32429 [VarDumper] Let browsers trigger their own search on double CMD/CTRL + F (ogizanagi)
This PR was merged into the 4.4 branch.

Discussion
----------

[VarDumper] Let browsers trigger their own search on double CMD/CTRL + F

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

Simple way to enhance DX & mitigate #29748

Commits
-------

d2430584cd [VarDumper] Let browsers trigger their own search on double CMD/CTRL + F hit
2019-07-08 15:41:43 +02:00
Fabien Potencier
d9aace2db3 fixed CS 2019-07-08 15:38:56 +02:00
Fabien Potencier
608d428160 feature #32198 [Lock] Split "StoreInterface" into multiple interfaces with less responsability (Simperfit)
This PR was squashed before being merged into the 4.4 branch (closes #32198).

Discussion
----------

[Lock] Split "StoreInterface" into multiple interfaces with less responsability

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | yes <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | Contribute to #28694 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | TODO <!-- required for new features -->

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

We are removing the StoreInterface in order to split into multiple interface, it will help reduce de responsability of the StoreInterface.

Firstly, since not all stores needs to have all the methods of the StoreInterface, we can split this like this in order to limit the methods that are needed for each store.

Secondly, we add supportsX methods in order to avoid throwing exception when a store does not supports a feature it's easier an instance of the special interface or not, and it can return true/false on the support method.

**Really big thanks to** @jderusse for working with me on this, 1-2 hours of talking together, and another 1-2 hours of pre-review :). now giving it to the whole community !

*some time has been sponsored by* @izisolutions

Commits
-------

91fcbea977 [Lock] Split \"StoreInterface\" into multiple interfaces with less responsability
2019-07-08 15:38:00 +02:00
Amrouche Hamza
91fcbea977 [Lock] Split \"StoreInterface\" into multiple interfaces with less responsability 2019-07-08 15:37:49 +02:00
Maxime Steinhausser
d2430584cd [VarDumper] Let browsers trigger their own search on double CMD/CTRL + F hit 2019-07-08 15:18:18 +02:00
Fabien Potencier
350ec6cc7e minor #32428 [Stopwatch] Fix missing deprecations (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[Stopwatch] Fix missing deprecations

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

Fix https://github.com/symfony/symfony/pull/32408

Commits
-------

527bf89a27 Fix missing deprecations
2019-07-08 15:06:45 +02:00
Fabien Potencier
e1cea970c0 feature #31511 [Validator] Allow to use property paths to get limits in range constraint (Lctrs)
This PR was squashed before being merged into the 4.4 branch (closes #31511).

Discussion
----------

[Validator] Allow to use property paths to get limits in range constraint

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

Similar as #22576, but for the `Range` constraint.

Commits
-------

2b509904c8 [Validator] Allow to use property paths to get limits in range constraint
2019-07-08 15:05:23 +02:00
Lctrs
2b509904c8 [Validator] Allow to use property paths to get limits in range constraint 2019-07-08 15:04:44 +02:00
Yonel Ceruto
527bf89a27 Fix missing deprecations 2019-07-08 08:57:32 -04:00
Fabien Potencier
bd498f2503 fixed CS 2019-07-08 13:57:06 +02:00
Fabien Potencier
931965a448 bug #32096 Don't assume port 0 for X-Forwarded-Port (alexbowers, xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

Don't assume port 0 for X-Forwarded-Port

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

If you use X-Forwarded-Host but don't provide X-Forwarded-Port, it will default to `0.0.0.0:` which then assumes port `0` instead of following its default assumption based on the scheme.

Commits
-------

adcdd938a4 PHP 5 compat
6c49a0c758 Add test case
c266d6c737 Update Request.php
23db9be884 Don't assume port 0 for X-Forwarded-Port
2019-07-08 13:55:51 +02:00
Fabien Potencier
ea0da05cd6 feature #32424 [Console] don't redraw progress bar more than every 100ms by default (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Console] don't redraw progress bar more than every 100ms by default

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

Follow up of https://github.com/symfony/symfony/pull/26339
Looks like something we can and should do on 4.4 to me.

Commits
-------

df551e945c [Console] don't redraw progress bar more than every 100ms by default
2019-07-08 12:34:39 +02:00
Nicolas Grekas
df551e945c [Console] don't redraw progress bar more than every 100ms by default 2019-07-08 12:29:08 +02:00
Grégoire Pineau
15ba5791cd [Console] Added Application::reset() 2019-07-08 11:58:42 +02:00
Fabien Potencier
87a6f04409 feature #31554 [SECURITY] AbstractAuthenticationListener.php error instead info. Rebase of #28462 (berezuev)
This PR was merged into the 4.4 branch.

Discussion
----------

[SECURITY] AbstractAuthenticationListener.php error instead info. Rebase of #28462

| Q             | A
| ------------- | ---
| Branch? | 4.4
| -- | --
| Bug fix? | yes
| New feature? | no
| BC breaks? | no I think
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ...
| License | MIT

Rebase of #28462. Origin description:
> ```
> [2018-09-13 20:43:38] security.INFO: Authentication request failed. {"exception":"[object] (Symfony\\Component\\Security\\Core\\Exception\\AuthenticationServiceException(code: 0): An exception occurred while executing
>  ...
>  Doctrine\\DBAL\\Driver\\PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 't0.phone' in 'field list' at
> ```
>
> Definitely I think this is NOT info, but error.
> And since it's info, it's not logged in production because of `fingers_crossed` with `action_level: error` - so to actually see the real error behind `Authentication request could not be processed due to a system problem.` I had to debug on production. Very bad practice IMHO.

Commits
-------

867eb78cfe [SECURITY] AbstractAuthenticationListener.php error instead info. Rebase of #28462
2019-07-08 11:56:07 +02:00
Fabien Potencier
14614bd895 feature #32284 [Cache] Add argument $prefix to AdapterInterface::clear() (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Cache] Add argument $prefix to AdapterInterface::clear()

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

This PR allows clearing `AdapterInterface` implementations by prefix of keys. The goal is to fix an edge case situation in `ProxyAdapter`: right now, when one calls `->clear()` on a proxy adapter that is configured to add a prefix to all the keys passed to the decorated pool, we clear it all; while only the subset that starts with the prefix should be.

Since `AdapterInterface` is an "internal" interface (ie its purpose is to create compatible implementations - *NOT* to be type-hinted for), this is not really a user-facing change.

/cc @Nyholm, this came out after we talked about proxified chain pools

Commits
-------

ad6f6cf900 [Cache] Add argument $prefix to AdapterInterface::clear()
2019-07-08 11:50:54 +02:00
Fabien Potencier
c202e96cd6 feature #26339 [Console] Add ProgressBar::preventRedrawFasterThan() and forceRedrawSlowerThan() methods (ostrolucky)
This PR was merged into the 4.4 branch.

Discussion
----------

[Console] Add ProgressBar::preventRedrawFasterThan() and forceRedrawSlowerThan() methods

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

The way ProgressBar redraw frequency works currently requires to know speed of progress beforehand, which is impossible to know in some situations, e.g. when showing progress of download, or I/O speed. Setting frequency too low relative to progress speed throttles I/O speed and makes progress bar flicker too much, setting it too high makes progress bar unresponsive. Current behaviour IMHO undermines usefulness of ProgressBar.

This is an attempt to replace this with more consistent experience, not requiring to know speed of progress.)

Commits
-------

83edac321e [Console] Add ProgressBar::preventRedrawFasterThan() and forceRedrawSlowerThan() methods
2019-07-08 11:29:00 +02:00
Fabien Potencier
853e032c19 fixed CS 2019-07-08 11:24:04 +02:00
Ben Davies
213dfd1492 [Messenger] Doctrine Transport: Support setting auto_setup from DSN 2019-07-08 11:23:12 +02:00
Alexey Berezuev
867eb78cfe [SECURITY] AbstractAuthenticationListener.php error instead info. Rebase of #28462 2019-07-08 12:18:00 +03:00
Stadly
dc31739288 [Translator] Dump native plural formats to po files 2019-07-08 10:26:08 +02:00
Fabien Potencier
feab919c86 bug #31267 [Translator] Load plurals from mo files properly (Stadly)
This PR was merged into the 3.4 branch.

Discussion
----------

[Translator] Load plurals from mo files properly

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

Plurals were not handled correctly when loading mo files.
```
msgid "foo"
msgid_plural "foos"
msgstr[0] "bar"
msgstr[1] "bars"
```

Before, the mo entry above was treated as two entries, which doesn't make sense:
```
'foo' => 'bar'
'foos' => '{0} bar|{1} bars'
```

With this PR, it is treated as one entry:
```
'foo|foos' => 'bar|bars'
```

This PR does the same as #31266, just for mo files instead of po files. Note, however, that the old behavior differed between po and mo files: `'foos' => 'bar|bars'` for po files and `'foos' => '{0} bar|{1} bars'` for mo files.

Commits
-------

97d28b5e4e Load plurals from mo files properly
2019-07-08 10:22:53 +02:00
Fabien Potencier
9fc8d2ec63 bug #31266 [Translator] Load plurals from po files properly (Stadly)
This PR was squashed before being merged into the 3.4 branch (closes #31266).

Discussion
----------

[Translator] Load plurals from po files properly

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

Plurals were not handled correctly when loading po files.
```
msgid "foo"
msgid_plural "foos"
msgstr[0] "bar"
msgstr[1] "bars"
```

Before, the po entry above was treated as two entries, which doesn't make sense:
```
'foo' => 'bar'
'foos' => 'bar|bars'
```

With this PR, it is treated as one entry:
```
'foo|foos' => 'bar|bars'
```

Commits
-------

6b69a99230 [Translator] Load plurals from po files properly
2019-07-08 10:21:27 +02:00
Stadly
6b69a99230 [Translator] Load plurals from po files properly 2019-07-08 10:21:19 +02:00
Amrouche Hamza
cb2d97f92b [Ldap][Security] LdapBindAuthenticationProvider does not bind before search query 2019-07-08 10:00:03 +02:00
Fabien Potencier
950db8e85b fixed CS 2019-07-08 09:52:12 +02:00
Fabien Potencier
088270ebbd feature #31626 [Console] allow answer to be trimmed by adding a flag (Simperfit)
This PR was merged into the 4.4 branch.

Discussion
----------

[Console] allow answer to be trimmed by adding a flag

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

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against the master branch.
-->

According to https://github.com/symfony/symfony/issues/23210#issuecomment-495998087 we add a new flag in the `Question` class to be able to not trim the answer.

Commits
-------

8f182d811e [Console] allow answer to be trimmed by adding a flag
2019-07-08 09:51:32 +02:00
Fabien Potencier
6b8d4aa57e bug #32383 [Serializer] AbstractObjectNormalizer ignores the property types of discriminated classes (sandergo90)
This PR was merged into the 4.2 branch.

Discussion
----------

[Serializer] AbstractObjectNormalizer ignores the property types of discriminated classes

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

As discusses in ticket #27607, when using a discriminator map and the symfony serializer, things go wrong when having two classes in the discriminator map having the same property name. When the function ```validateAndDenormalize``` is called, the function ```getTypes``` would be called with the wrong class name.

If you take a look at the ```getTypes``` function below, I'm not even sure if we still need the part of the discriminator at this place because we already passed the class name of the discriminated class.

```
    /**
     * @return Type[]|null
     */
    private function getTypes(string $currentClass, string $attribute)
    {
        if (null === $this->propertyTypeExtractor) {
            return null;
        }

        if (null !== $types = $this->propertyTypeExtractor->getTypes($currentClass, $attribute)) {
            return $types;
        }

        if (null !== $this->classDiscriminatorResolver && null !== $discriminatorMapping = $this->classDiscriminatorResolver->getMappingForClass($currentClass)) {
            if ($discriminatorMapping->getTypeProperty() === $attribute) {
                return [
                    new Type(Type::BUILTIN_TYPE_STRING),
                ];
            }

            foreach ($discriminatorMapping->getTypesMapping() as $mappedClass) {
                if (null !== $types = $this->propertyTypeExtractor->getTypes($mappedClass, $attribute)) {
                    return $types;
                }
            }
        }

        return null;
    }
```

Commits
-------

9fc56c7e28 [Serializer]: AbstractObjectNormalizer ignores the property types of discriminated classes
2019-07-08 09:44:03 +02:00
Sander
9fc56c7e28 [Serializer]: AbstractObjectNormalizer ignores the property types of discriminated classes
Add tests

Remove test group

Allow null

Add quux null attribute

Add quux value to serialize test
2019-07-08 09:31:20 +02:00
Fabien Potencier
a22eeb3fff fixed deprecation message 2019-07-08 09:23:44 +02:00
Fabien Potencier
499ad6df0d minor #32408 [Stopwatch] Deprecate passing null in Section::get() method. (jschaedl)
This PR was merged into the 4.4 branch.

Discussion
----------

[Stopwatch] Deprecate passing null in Section::get() method.

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

This PR is related to https://github.com/symfony/symfony/pull/32242

Commits
-------

ea4817677b [Stopwatch] Deprecate passing null in Section::get() method.
2019-07-08 09:21:34 +02:00
Fabien Potencier
a640c30df2 feature #32415 [Translation] deprecate passing a null locale (Simperfit)
This PR was merged into the 4.4 branch.

Discussion
----------

[Translation] deprecate passing a null locale

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | yes <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | none <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | not needed <!-- required for new features -->

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

According to the discussion in https://github.com/symfony/symfony/pull/32386#discussion_r300590343 it seems that allowing null here was not the right thing to do, so we are deprecating this behaviour.

Commits
-------

088615ddaf [Translation] deprecate passing a null locale
2019-07-08 08:50:08 +02:00
Amrouche Hamza
088615ddaf
[Translation] deprecate passing a null locale 2019-07-08 08:40:36 +02:00
Fabien Potencier
166502c714 minor #32417 [Intl] Remove --dev from intl compile autoloader (ro0NL)
This PR was merged into the 3.4 branch.

Discussion
----------

[Intl] Remove --dev from intl compile autoloader

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

Remove implicit composer default (`jakzal/php-intl` uses latest composer during compile)

Commits
-------

8ffc61692d [Intl] Remove --dev from intl compile autoloader
2019-07-08 08:36:40 +02:00
Fabien Potencier
51cf65e4ba feature #32290 [HttpClient] Add $response->toStream() to cast responses to regular PHP streams (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] Add $response->toStream() to cast responses to regular PHP streams

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

This PR adds `$response->toStream()` to cast responses to regular PHP streams, and uses the method in `Psr18Client` and `HttplugClient`.

This means `Psr18Client` and `HttplugClient` will now be lazy past response headers. I'm not sure any other PSR-18 implementation has this behavior. :)

This also adds `StreamWrapper::createResource()` to turn any `ResponseInterface` implementation into a PHP stream.

/cc @Nyholm FYI since we discussed about this recently.

Commits
-------

a59e0af24a [HttpClient] Add $response->toStream() to cast responses to regular PHP streams
2019-07-08 08:35:40 +02:00
Fabien Potencier
4ef1f2fa8d minor #32385 Fix CS regarding nullable arguments (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

Fix CS regarding nullable arguments

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

Let's keep our CS consistent.

Commits
-------

ec5d7346b3 Fix CS regarding nullable arguments
2019-07-08 08:24:29 +02:00
Fabien Potencier
bb9251a42a bug #32413 [Messenger] fix publishing headers set on AmqpStamp (Tobion)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] fix publishing headers set on AmqpStamp

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

Dispatching a message using an AmqpStamp and setting extra headers with it didn't work. We need to merge the `$attribute['headers']`, not the attributes itself as that will ignore the stamp headers because it's not recursive.
I also made the AmqpStamp a NonSendableStampInterface because it's pointless to serialize the stamp because the stamp already set's the attributes for publishing.

Commits
-------

50b3ec4dc5 [Messenger] fix publishing headers set on AmqpStamp
2019-07-08 08:20:10 +02:00
Fabien Potencier
6a1be4c3c7 minor #32401 [Intl] Init compile tmp volume (ro0NL)
This PR was merged into the 3.4 branch.

Discussion
----------

[Intl] Init compile tmp volume

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

Fixes

```
Symfony\Component\Filesystem\Exception\IOException: Failed to create "/tmp/icu-data": mkdir(): Permission denied.
```

if the initial volume does not exists docker creates it as root, but the container runs for the current user.

Commits
-------

5e26d96a6b [Intl] Init compile tmp volume
2019-07-08 08:16:38 +02:00
Fabien Potencier
a731c3b410 bug #32384 [Mime] add check for openssl when using SMime (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mime] add check for openssl when using SMime

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

Should also make tests green for the component on Windows.

Commits
-------

f33c67bfc1 [Mime] add check for openssl when using SMime
2019-07-08 08:15:12 +02:00
Fabien Potencier
c03415d4e5 feature #32402 [Intl] Exclude root language (ro0NL)
This PR was squashed before being merged into the 4.4 branch (closes #32402).

Discussion
----------

 [Intl] Exclude root language

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

Spotted in #32388

Commits
-------

089cc06c3a  [Intl] Exclude root language
2019-07-08 07:53:32 +02:00
Roland Franssen
089cc06c3a [Intl] Exclude root language 2019-07-08 07:53:15 +02:00
Amrouche Hamza
ff0c14171b
[Console] Update to inherit and add licence 2019-07-08 07:40:49 +02:00
Alexis Lefebvre
0c326d0b55 Add missing test for workflow dump description 2019-07-08 07:36:18 +02:00
Roland Franssen
8ffc61692d
[Intl] Remove --dev from intl compile autoloader 2019-07-07 09:15:14 +02:00
Tobias Schultze
50b3ec4dc5 [Messenger] fix publishing headers set on AmqpStamp 2019-07-07 01:21:29 +02:00
Tobias Schultze
52e8523f4a bug #32398 [Messenger] Removes deprecated call to ReflectionType::__toString() on MessengerPass (brunowowk)
This PR was merged into the 4.2 branch.

Discussion
----------

[Messenger] Removes deprecated call to ReflectionType::__toString() on MessengerPass

Closes #32397

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

Removes deprecated call to ReflectionType::__toString() for 7.4 support

Commits
-------

0c52a531e2 Remove call to deprecated method
2019-07-06 21:00:30 +02:00
Bruno Nogueira Nascimento Wowk
0c52a531e2 Remove call to deprecated method 2019-07-06 14:57:33 -03:00
Jan Schädlich
ea4817677b [Stopwatch] Deprecate passing null in Section::get() method. 2019-07-06 16:19:02 +02:00
Roland Franssen
5e26d96a6b [Intl] Init compile tmp volume 2019-07-06 10:17:29 +02:00
Tobias Schultze
d27c5307f0 Merge branch '4.2' into 4.3 2019-07-05 23:01:41 +02:00
Alexander M. Turek
e110603e5e Don't pass objects as class name to ContainerBuilder::register. 2019-07-05 21:20:21 +02:00
Alexander M. Turek
edfc9d6f34 Deprecated passing Parameter instances as class name to Definition. 2019-07-05 21:06:26 +02:00
Nicolas Grekas
f33c67bfc1 [Mime] add check for openssl when using SMime 2019-07-05 09:42:08 +02:00
Nicolas Grekas
ec5d7346b3 Fix CS regarding nullable arguments 2019-07-05 09:04:50 +02:00
Nicolas Grekas
b78816d647 Merge branch '4.2' into 4.3
* 4.2:
  [PhpUnitBridge] fix running simple-phpunit on Windows
  fixed phpdocs
2019-07-05 08:35:01 +02:00
Nicolas Grekas
44e82520ee Merge branch '3.4' into 4.2
* 3.4:
  [PhpUnitBridge] fix running simple-phpunit on Windows
  fixed phpdocs
2019-07-05 08:33:37 +02:00
Nicolas Grekas
a59e0af24a [HttpClient] Add $response->toStream() to cast responses to regular PHP streams 2019-07-05 07:37:18 +02:00
Fabien Potencier
77747a9472 fixed phpdocs 2019-07-05 06:54:49 +02:00
Fabien Potencier
d292b133a5 minor #32382 Fix phpdocs (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

Fix phpdocs

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Backported from #32286

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

4acddef91b fixed phpdocs
2019-07-05 06:53:43 +02:00
Fabien Potencier
4acddef91b fixed phpdocs 2019-07-05 06:51:06 +02:00
Fabien Potencier
a672bbc209 feature #32294 [FrameworkBundle] Allow creating chained cache pools by providing several adapters (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[FrameworkBundle] Allow creating chained cache pools by providing several adapters

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

Replaces #30984, follows https://github.com/symfony/symfony-docs/pull/11813

This PR allows defining several adapters for one pool. When doing so, this defines a chain pool.
The benefit is that all chained pools get automatic namespace and lifetime, so things are transparent:

```yaml
pools:
    my_chained_pool:
        default_lifetime: 12
        adapters:
          - cache.adapter.array
          - cache.adapter.filesystem
          - {name: cache.adapter.redis, provider: 'redis://foo'}
```

(see fixtures for example of PHP/XML config)

/cc @Nyholm @pborreli FYI

Commits
-------

29ba091898 [FrameworkBundle] Allow creating chained cache pools by providing several adapters
2019-07-05 06:43:41 +02:00
Yonel Ceruto
08aa16f729 minor #32369 [ErrorCatcher] Fixed some escaping in error renderers (javiereguiluz)
This PR was merged into the 4.4 branch.

Discussion
----------

[ErrorCatcher] Fixed some escaping in error renderers

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | -
| License       | MIT
| Doc PR        | not needed

Fixes this: https://github.com/symfony/symfony/pull/32364/files#r300394620

Commits
-------

1413bdc [ErrorCatcher] Fixed some escaping in XML errors
2019-07-04 17:25:02 -04:00
Javier Eguiluz
1413bdcab8 [ErrorCatcher] Fixed some escaping in XML errors 2019-07-04 17:23:09 -04:00
Christian Flothmann
adcdd938a4 PHP 5 compat 2019-07-04 23:04:55 +02:00
Nicolas Grekas
29ba091898 [FrameworkBundle] Allow creating chained cache pools by providing several adapters 2019-07-04 19:09:10 +02:00
Nicolas Grekas
6ab0488a54 [Messenger] fix missing dep 2019-07-04 18:31:08 +02:00
Yonel Ceruto
0151279cfe minor #32359 [ErrorCatcher] Pretty print JSON formatted errors (javiereguiluz)
This PR was merged into the 4.4 branch.

Discussion
----------

[ErrorCatcher] Pretty print JSON formatted errors

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | not needed

A long string with JSON contents is not very useful to quickly parse the error contents, so I propose to "pretty print" the JSON errors.

Commits
-------

ab926d2 [ErrorCatcher] Pretty print JSON formatted errors
2019-07-04 11:27:52 -04:00
Javier Eguiluz
ab926d2065 [ErrorCatcher] Pretty print JSON formatted errors 2019-07-04 11:24:36 -04:00
Nicolas Grekas
b9b03fe1d3 Merge branch '4.3' into 4.4
* 4.3:
  [DI] fix processing of regular parameter bags by MergeExtensionConfigurationPass
  [FrameworkBundle] reset cache pools between requests
2019-07-04 15:46:31 +02:00
Nicolas Grekas
f59bc48850 Merge branch '4.2' into 4.3
* 4.2:
  [DI] fix processing of regular parameter bags by MergeExtensionConfigurationPass
  [FrameworkBundle] reset cache pools between requests
2019-07-04 15:45:39 +02:00
Nicolas Grekas
e9852bd9a1 Merge branch '3.4' into 4.2
* 3.4:
  [DI] fix processing of regular parameter bags by MergeExtensionConfigurationPass
  [FrameworkBundle] reset cache pools between requests
2019-07-04 15:45:20 +02:00
Nicolas Grekas
db05791ceb bug #32365 [DI] fix processing of regular parameter bags by MergeExtensionConfigurationPass (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] fix processing of regular parameter bags by MergeExtensionConfigurationPass

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

Spotted in and needed by #32294

Commits
-------

b06d0003a3 [DI] fix processing of regular parameter bags by MergeExtensionConfigurationPass
2019-07-04 15:33:02 +02:00
Nicolas Grekas
b06d0003a3 [DI] fix processing of regular parameter bags by MergeExtensionConfigurationPass 2019-07-04 11:26:59 +02:00
Fabien Potencier
e3927b6294 minor #32354 [Messenger] Use ConnectionRegistry instead of RegistryInterface (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] Use ConnectionRegistry instead of RegistryInterface

| Q             | A
| ------------- | ---
| Branch?       | 4.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 changes the constructor type-hint on `DoctrineTransportFactory` from `Symfony\Bridge\Doctrine\RegistryInterface` to the smaller `Doctrine\Common\Persistence\ConnectionRegistry`. Since we only call the `getConnection()` method, this interface is sufficient.

This change allows to use the factory without the Doctrine bridge and makes it easier to use it stand-alone.

Commits
-------

ce6a5ad235 Use ConnectionRegistry instead of RegistryInterface.
2019-07-04 09:48:35 +02:00
Fabien Potencier
b7c9fcf7a1 bug #32348 [HttpFoundation] Accept must take the lead for Request::getPreferredFormat() (dunglas)
This PR was squashed before being merged into the 4.4 branch (closes #32348).

Discussion
----------

[HttpFoundation] Accept must take the lead for Request::getPreferredFormat()

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Follow up PR to #32344: if both `Accept` and `Content-Type` are defined, `Accept` must take the lead because it explicitly tells what format the client expect as a response.

Before:

```
$ curl -H 'Accept: application/json' -H 'Content-Type: text/xml' -i 'https://127.0.0.1:8000/userinfo'

[snip]
content-type: text/xml
```

After:

```
$ curl -H 'Accept: application/json' -H 'Content-Type: text/xml' -i 'https://127.0.0.1:8000/userinfo'

[snip]
content-type: application/json
```

Actually, I'm not sure that inferring the content type of the response using the `Content-Type` provided for the request body is a good idea. The HTTP RFC explicitly states that `Accept` must be used to hint a preferred response format (`Content-Type` on the request indicates the type of associated its the body). I would be in favor of being more conservative: use `Accept` if provided (a best practice anyway), and fallback to the default value (HTML by default) otherwise. WDYT?

Commits
-------

60d997df75 [HttpFoundation] Accept must take the lead for Request::getPreferredFormat()
2019-07-04 09:46:57 +02:00
Kévin Dunglas
60d997df75 [HttpFoundation] Accept must take the lead for Request::getPreferredFormat() 2019-07-04 09:46:50 +02:00
Kévin Dunglas
cd0341e69b [FrameworkBundle] Allow to use the BrowserKit assertions with Panther and API Platform's test client 2019-07-04 08:46:07 +02:00
Alexander M. Turek
ce6a5ad235 Use ConnectionRegistry instead of RegistryInterface. 2019-07-04 02:03:26 +02:00
Fabien Potencier
b79a1bf229 Merge branch '4.3' into 4.4
* 4.3:
  Fixes windows error
  [Messenger] Added more test for MessageBus
  fixed typo
  [Filesystem] added missing deprecations to UPGRADE-4.3.md
  Fix authentication for redis transport
  only decorate when an event dispatcher was passed
  [FrmaeworkBundle] More simplifications in the DI configuration
  Fixing validation for messenger transports retry_strategy service key
  Removed unused field.
  Remove @internal annotations for the serilize methods
  [Lock] Stores must implement `putOffExpiration`
  Annotated correct return type for getInEdges()/getOutEdges().
  deprecate the framework.templating option
2019-07-03 19:15:45 +02:00
Fabien Potencier
98c36025cd Merge branch '4.2' into 4.3
* 4.2:
  Fixes windows error
  Removed unused field.
  [Lock] Stores must implement `putOffExpiration`
  Annotated correct return type for getInEdges()/getOutEdges().
2019-07-03 19:15:34 +02:00
Fabien Potencier
02a25fe518 Merge branch '3.4' into 4.2
* 3.4:
  Fixes windows error
  Annotated correct return type for getInEdges()/getOutEdges().
2019-07-03 19:14:02 +02:00
Fabien Potencier
10449cb493 feature #32344 [HttpFoundation][HttpKernel] Improving the request/response format autodetection (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpFoundation][HttpKernel] Improving the request/response format autodetection

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

Mainly for API-based apps, currently the response header `Content-Type` (if no provided) is guessed based on the request format (`_format` attribute), falling back to `html` by default.

Especially for the new error renderer system, where any kind of error can occur and it becomes an http response, this PR improves this guesser mechanism by taking into account also the `Content-type` of the request.

Example:
```bash
$ curl -X POST -H 'Content-Type: application/json' -i 'https://127.0.0.1:8000/login'
```
**before:**
```bash
HTTP/2 500
cache-control: no-cache, private
content-type: text/html; charset=UTF-8 # <- inaccurate
...

{"title":"Internal Server Error","status":500,"detail":"Invalid credentials!"}
```
Most of the 3rd-party bundles that I know (`api-platform/core`, `FOSRestBundle`) need a dedicated listener to achieve it right.

**after:**
```bash
HTTP/2 500
cache-control: no-cache, private
content-type: application/json
...

{"title":"Internal Server Error","status":500,"detail":"Invalid credentials!"}
```
Of course, this applies to all kind of responses, as long as the `Content-Type` is not explicitly provided. So, as a last chance, the `Accept` heading of the request is also taken into account to detect the preferred format:
```bash
$ curl -H 'Accept: application/json' -i 'https://127.0.0.1:8000/userinfo'
HTTP/2 404
cache-control: no-cache, private
content-type: application/json
...

{"title":"Not Found","status":404,"detail":"No route found for \"GET \/userinfo\""}
```
They could be other places in the code where this new method could also be useful, please advise :)

WDYT?

Commits
-------

1952928471 Improving the request/response format autodetection
2019-07-03 19:09:44 +02:00
Yonel Ceruto
1952928471 Improving the request/response format autodetection 2019-07-03 12:46:41 -04:00
Fabien Potencier
c33c396a63 bug #32299 [Lock] Stores must implement putOffExpiration (jderusse)
This PR was merged into the 4.2 branch.

Discussion
----------

[Lock] Stores must implement `putOffExpiration`

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

Following https://github.com/symfony/symfony/pull/32198#pullrequestreview-256165051 every stores MUST implement the method `putOffExpiration` either by ignoring the arguments (by design they lock forever) or using a mechanism to define the expiration.

It was a mistake to add the dockblock `@throws NotSupportedException` tell me if it's a BC break, I'll create a dedicated PR for it.

Commits
-------

c986c86d1c [Lock] Stores must implement `putOffExpiration`
2019-07-03 18:27:50 +02:00
Fabien Potencier
50dfcaa8ef bug #32302 [Mime] Remove @internal annotations for the serialize methods (francoispluchino)
This PR was merged into the 4.3 branch.

Discussion
----------

[Mime] Remove @internal annotations for the serialize methods

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes (it's not really a bug)
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ~
| License       | MIT
| Doc PR        | ~

Currently, when we extend the `Symfony\Component\Mime\Message` and `Symfony\Component\Mime\MessageRaw` classes of the Mime component, we get 2 deprecation messages:

```
The "Symfony\Component\Mime\Message::__serialize()" method is considered internal. It may change without further notice. You should not extend it from "Vendor\FooMessage".
```
and
```
The "Symfony\Component\Mime\Message::__unserialize()" method is considered internal. It may change without further notice. You should not extend it from "Vendor\FooMessage".
```

However, we need to add properties to the new class, and so, we need to extend `__serialize()` and `__unserialize()` methods in the same way as `Symfony\Bridge\Twig\Mime\TemplatedEmail`, to know, retrieve the serialization of the parent class:

```php
    public function __serialize(): array
    {
        return [$this->foo, $this->bar, $this->baz, parent::__serialize()];
    }

    public function __unserialize(array $data): void
    {
        [$this->foo, $this->bar, $this->baz, $parentData] = $data;

        parent::__unserialize($parentData);
    }
```

But given that the third-party components use another namespace, we get the 2 deprecation messages, while the 2 methods must be inevitably used and extended. Of course, the methods `serialize()` and `unserialize()` are always marked by the `@internal` annotation and the `final` keyword.

This PR so deletes the 2 deprecation messages that should not be displayed.

Commits
-------

8544a35e52 Remove @internal annotations for the serilize methods
2019-07-03 18:27:00 +02:00
Fabien Potencier
f5a0633b40 minor #32338 [Messenger] Added more test for MessageBus (lyrixx)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Added more test for MessageBus

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

[This code](bed50fd542/src/Symfony/Component/Messenger/MessageBus.php (L33-L49)) is quite hard to understand. So It must be covered by tests.

More over, it will help people to understand how it works

Commits
-------

5f4ab23991 [Messenger] Added more test for MessageBus
2019-07-03 18:25:48 +02:00
Fabien Potencier
d65a5e26cf minor #32340 [Messager] Simplified MessageBus::__construct() (lyrixx)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messager] Simplified MessageBus::__construct()

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

The third path deals with generator (or other king of iterator that are

not an IteratorAggregate). It means, very few cases in practice

The previous code saved one object on the first call of `self::dispatch()`
by replacing it at runtime. More over, this object (anon. class) is very
light in memory.

The performance optimization (even if fun) is not useful here. Let's
make the code readable to everyone.

Commits
-------

6b5671f5ae [Messager] Simplified MessageBus::__construct()
2019-07-03 18:24:36 +02:00
Grégoire Pineau
6b5671f5ae [Messager] Simplified MessageBus::__construct()
The third path deals with generator (or other king of iterator that are
not an IteratorAggregate). It means, very few cases in practice

The previous code saved one object on the first call of `self::dispatch()`
by replacing it at runtime. More over, this object (anon. class) is very
light in memory.

The performance optimization (even if fun) is not useful here. Let's
make the code readable to everyone.
2019-07-03 15:46:19 +02:00
Fabien Potencier
2452ef8978 minor #32188 [PropertyInfo] add static cache to ContextFactory (bastnic)
This PR was merged into the 4.4 branch.

Discussion
----------

[PropertyInfo] add static cache to ContextFactory

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no (performance...)
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #32073, https://github.com/api-platform/api-platform/issues/1159
| License       | MIT
| Doc PR        | no

The issue is very very well described here #32073, and was also discussed a few weeks ago with @dunglas here https://github.com/api-platform/api-platform/issues/1159.

`ContextFactory::createFromReflector` is heavy, and it's called redundanlty
by `Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor` for each property
and methods. Avoid that by parsing it only once and then use static cache

This is a quite big performance problem.

![Deepin Capture-écran_zone de sélection _20190626142041](https://user-images.githubusercontent.com/84887/60179692-8471c480-981e-11e9-9e3c-3f9c0b83b01b.png)

Commits
-------

063e880861 [PropertyInfo] add static cache to ContextFactory
2019-07-03 15:36:04 +02:00
Fabien Potencier
df13b506eb feature #32231 [HttpClient] Add support for NTLM authentication (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] Add support for NTLM authentication

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

Someone mentioned NTLM auth on Twitter, so here we are, this adds support for it.
Requires curl.

Commits
-------

548f4fd0ea [HttpClient] Add support for NTLM authentication
2019-07-03 15:28:45 +02:00
Fabien Potencier
6abaa8c5a2 feature #32265 [Validator] deprecate non-string constraint violation codes (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Validator] deprecate non-string constraint violation codes

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

Commits
-------

e217729066 deprecate non-string constraint violation codes
2019-07-03 15:25:50 +02:00
Fabien Potencier
09e762e819 bug #32334 [Messenger] Fix authentication for redis transport (alexander-schranz)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Fix authentication for redis transport

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

This will implement support for password in redis stream transport.

Commits
-------

bedae5dde9 Fix authentication for redis transport
2019-07-03 15:20:24 +02:00
Fabien Potencier
927a3341c0 minor #32281 [DependencyInjection] Annotated correct return type for getInEdges()/getOutEdges() (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

[DependencyInjection] Annotated correct return type for getInEdges()/getOutEdges()

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

This changed annotation was quite helpful when analyzing `PhpDumper` for #32266.

Commits
-------

28882f52cb Annotated correct return type for getInEdges()/getOutEdges().
2019-07-03 15:17:20 +02:00
Fabien Potencier
4e32643bdf feature #31528 [Validator] Add a Length::$allowEmptyString option to reject empty strings (ogizanagi)
This PR was merged into the 4.4 branch.

Discussion
----------

[Validator] Add a Length::$allowEmptyString option to reject empty strings

| Q             | A
| ------------- | ---
| Branch?       | 4.4 <!-- see below -->
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | yes <!-- please 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 (change the warning on top of https://symfony.com/doc/current/reference/constraints/Length.html)

which defaults to `true` in 4.4 but will trigger a deprecation if not set explicitly
in order to make the default `false` in 5.0.

While it could be solved now thanks to #29641 by using both `@Length(min=1)` & `@NotBlank(allowNull=true)` constraints,
as expressed in https://github.com/symfony/symfony/issues/27876#issuecomment-403307783 and following comments, the `@Length(min=1)` behavior doesn't match our expectations when reading it: it feels logical to invalidate empty strings, but it actually doesn't.
Hence the proposal of making the behavior of rejecting empty strings the default in 5.0.

In my opinion, the flag could even be removed later.

Commits
-------

e113e7f812 [Validator] Add a Length::$allowEmptyString option to reject empty strings
2019-07-03 15:15:57 +02:00
Fabien Potencier
ea0656a4f4 minor #32305 [HttpKernel][DX] Improve the error message when not defining the controller as a service but using construct parameters (Simperfit)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel][DX] Improve the error message when not defining the controller as a service but using construct parameters

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | none   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | not needed <!-- required for new features -->

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

I'm working with newcomers to the symfony framework ATM and one of them has got stuck in this errors trying to understand why the constructor argument declared as a a service would not work and didn't check if the controller was declared as a service itself.

I feel like this could be improve to be really specific since "such" is not that specific ;).

Commits
-------

c670d5120e [HttpKernel][DX] Improve the error message when not defining the controller as a service but using contruct parameters
2019-07-03 15:05:19 +02:00
Grégoire Pineau
5f4ab23991 [Messenger] Added more test for MessageBus 2019-07-03 14:56:57 +02:00
Fabien Potencier
802dc1b1b2 minor #32315 [Filesystem] deprecate calling isAbsolutePath with a null (smoench)
This PR was merged into the 4.4 branch.

Discussion
----------

[Filesystem] deprecate calling isAbsolutePath with a null

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

This PR is a result of #32247 and deprecates calling `Filesystem::isAbsolutePath()` with a `null` value.

Commits
-------

93190182f6 [Filesystem] depreacte calling isAbsolutePath with a null
2019-07-03 14:56:33 +02:00
Fabien Potencier
c3e914c6eb minor #32316 [Ldap] Document the new exceptions thrown by the code (javiereguiluz)
This PR was merged into the 4.4 branch.

Discussion
----------

[Ldap] Document the new exceptions thrown by the code

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | -
| License       | MIT
| Doc PR        | not needed

While deciding if we should document #31547 I saw that the new exceptions weren't documented in the code. I don't know if this is the place where this should be added.

Commits
-------

0d27af93ea [Ldap] Document the new exceptions thrown by the code
2019-07-03 14:43:13 +02:00
Fabien Potencier
34c50c0963 minor #32306 [DependencyInjection] Removed unused field (derrabus)
This PR was merged into the 4.2 branch.

Discussion
----------

[DependencyInjection] Removed unused field

| 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

A minor issue I discovered while analyzing the DI component for #32238: `AnalyzeServiceReferencesPass` defines a private field `$expressionLanguage` that is not used.

Commits
-------

58651409b4 Removed unused field.
2019-07-03 14:39:02 +02:00
Fabien Potencier
e0e476da71 minor #32317 [Mime] Updated some PHPDoc contents (javiereguiluz)
This PR was squashed before being merged into the 4.4 branch (closes #32317).

Discussion
----------

[Mime] Updated some PHPDoc contents

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | -
| License       | MIT
| Doc PR        | not needed

While documenting #30981 I found some PHPDoc info not clear enough. This "improves" it, but if you don't like it, it's OK to close this. Thanks.

Commits
-------

9432f1f970 [Mime] Updated some PHPDoc contents
2019-07-03 14:35:36 +02:00
Javier Eguiluz
9432f1f970 [Mime] Updated some PHPDoc contents 2019-07-03 14:35:29 +02:00
Fabien Potencier
ec3e66dc1b minor #32269 [PropertyAccess] Adds entries to CHANGELOG and UPGRADE (jschaedl)
This PR was squashed before being merged into the 4.4 branch (closes #32269).

Discussion
----------

[PropertyAccess] Adds entries to CHANGELOG and UPGRADE

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

In PR #32241 I missed to add entries to the CHANGELOG and UPGRADE file.

Commits
-------

c4afbf376f [PropertyAccess] Adds entries to CHANGELOG and UPGRADE
2019-07-03 14:34:57 +02:00
Jan Schädlich
c4afbf376f [PropertyAccess] Adds entries to CHANGELOG and UPGRADE 2019-07-03 14:34:50 +02:00
Fabien Potencier
70318b4647 feature #32255 [HttpFoundation] Drop support for ApacheRequest (lyrixx)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpFoundation] Drop support for ApacheRequest

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

`ApacheUrlMatcher` has been [deprecated in 2.7](https://github.com/symfony/symfony/pull/12728) and removed in 3.0
I think we forgot to remove this class too.

This class in never used in symfony, and there are no more reference in
the documentation.

Commits
-------

f82e28c533 [HttpFoundation] Deprecated ApacheRequest
2019-07-03 14:15:47 +02:00
smoench
93190182f6
[Filesystem] depreacte calling isAbsolutePath with a null 2019-07-03 13:25:24 +02:00
Alexander Schranz
bedae5dde9 Fix authentication for redis transport 2019-07-03 11:22:31 +02:00
Christian Flothmann
f19f28a41d only decorate when an event dispatcher was passed 2019-07-03 09:52:02 +02:00
Samuel ROZE
7bd0a2720f feature #31825 [Messenger] Added support for auto trimming of redis streams (Toflar)
This PR was squashed before being merged into the 4.4 branch (closes #31825).

Discussion
----------

[Messenger] Added support for auto trimming of redis streams

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        | will submit if concept is okay

Right now the Redis stream will just grow indefinitely. However, there are means to have it delete old entries from time to time.
Note: I could not use the `XADD mystream MAXLEN ~ 1000 *` notation because the PHP redis extension does not support the `MAXLEN` option afaics so I went for the extra `XTRIM` command.
I explicitly enabled the approximate flag because it makes absolutely no sense to hardcode the limit for us although we could even have this configurable too (but I don't think we should).
The whole idea of this PR is to enable occasional trimming of the stream so it doesn't grow forever, so when you configure something like `20000` it may well happen that trimming only happens at `25000` depending on your settings.

Ping @soyuka @alexander-schranz @chalasr :)

Commits
-------

7fe06bc5f6 [Messenger] Added support for auto trimming of redis streams
2019-07-02 21:18:22 +01:00
Yanick Witschi
7fe06bc5f6 [Messenger] Added support for auto trimming of redis streams 2019-07-02 21:18:11 +01:00
Tobias Schultze
d97f9ab131 Merge branch '4.3' into 4.4 2019-07-02 16:37:50 +02:00
Tobias Schultze
2bc88ee744 Merge branch '4.2' into 4.3 2019-07-02 16:28:51 +02:00
Tobias Schultze
44fa22056f Merge branch '3.4' into 4.2 2019-07-02 15:59:44 +02:00
Javier Eguiluz
0d27af93ea [Ldap] Document the new exceptions thrown by the code 2019-07-02 09:12:04 +02:00
Alexander M. Turek
58651409b4 Removed unused field. 2019-07-01 14:42:30 +02:00
Amrouche Hamza
c670d5120e
[HttpKernel][DX] Improve the error message when not defining the controller as a service but using contruct parameters 2019-07-01 14:02:11 +02:00
François Pluchino
8544a35e52 Remove @internal annotations for the serilize methods 2019-07-01 10:51:14 +02:00
Grégoire Pineau
f82e28c533 [HttpFoundation] Deprecated ApacheRequest 2019-07-01 10:07:19 +02:00
Jérémy Derussé
c986c86d1c
[Lock] Stores must implement putOffExpiration 2019-07-01 09:24:46 +02:00
Maxime Steinhausser
e113e7f812 [Validator] Add a Length::$allowEmptyString option to reject empty strings
which defaults to `true` in 4.4 but will trigger a deprecation if not set explicitly
in order to make the default `false` in 5.0.
2019-07-01 09:11:48 +02:00
Alex Bowers
6c49a0c758 Add test case 2019-06-30 23:48:04 +01:00
Nicolas Grekas
ad6f6cf900 [Cache] Add argument $prefix to AdapterInterface::clear() 2019-06-30 18:22:11 +02:00
Fabien Potencier
081c601243 minor #32257 [Security] [Guard] Removed useless param annotations (thomasbisignani)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] [Guard] Removed useless param annotations

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

The PR removes useless `@param` annotation, it is linked with the https://github.com/symfony/symfony/pull/32254#issuecomment-506719957

Commits
-------

848e881d5d [Security] [Guard] Removed useless param annotations
2019-06-30 15:25:31 +02:00
Thomas Bisignani
848e881d5d [Security] [Guard] Removed useless param annotations 2019-06-30 11:22:15 +02:00
Alexander M. Turek
28882f52cb Annotated correct return type for getInEdges()/getOutEdges(). 2019-06-29 18:43:59 +02:00
Fabien Potencier
191cb52902 removed @experimental annotations 2019-06-29 18:43:50 +02:00
Sebastiaan Stok
6e70d12d3b
[Mime] Added SMimeSigner and Encryptor 2019-06-29 10:53:13 +02:00
Fabien Potencier
ca566a5110 Merge branch '4.3' into 4.4
* 4.3:
  [Workflow] Deprecated DefinitionBuilder::setInitialPlace()
2019-06-29 09:02:53 +02:00
Fabien Potencier
8dd5464c2e feature #32180 [Lock] add an InvalidTTLException to be more accurate (Simperfit)
This PR was merged into the 4.4 branch.

Discussion
----------

[Lock] add an InvalidTTLException to be more accurate

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | none   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | not needed<!-- required for new features -->

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

This adds a new exception to be more precise when using wrong ttl.

Commits
-------

37509192d8 [Lock] add an InvalidTTLException to be more accurate
2019-06-29 08:25:21 +02:00
Christian Flothmann
e217729066 deprecate non-string constraint violation codes 2019-06-28 19:01:10 +02:00
Fabien Potencier
3644b70d42 feature #32241 [PropertyAccess] Deprecate null as allowed value for defaultLifetime argument in createCache method (jschaedl)
This PR was squashed before being merged into the 4.4 branch (closes #32241).

Discussion
----------

[PropertyAccess] Deprecate null as allowed value for defaultLifetime argument in createCache method

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

This PR is related to https://github.com/symfony/symfony/pull/32234#discussion_r298415012

Commits
-------

9aac42698a [PropertyAccess] Deprecate null as allowed value for defaultLifetime argument in createCache method
2019-06-28 17:46:18 +02:00
Jan Schädlich
9aac42698a [PropertyAccess] Deprecate null as allowed value for defaultLifetime argument in createCache method 2019-06-28 17:46:08 +02:00
Amrouche Hamza
37509192d8
[Lock] add an InvalidTTLException to be more accurate 2019-06-28 17:30:17 +02:00
Grégoire Pineau
4d002e8397 [Workflow] Deprecated DefinitionBuilder::setInitialPlace()
Added missing part of #30468
2019-06-28 17:00:47 +02:00
Thomas Calvet
a751629eb1 [Debug] Fix CHANGELOG after ErrorCatcher renaming 2019-06-28 16:44:50 +02:00
Nicolas Grekas
ab1bc87e43 Merge branch '4.3' into 4.4
* 4.3:
  [HttpFoundation] Throw exception when the \"session\" extension is not loaded
  remove invalid test case
  remove invalid test cases
  [Serializer] Fixed PHP of DenormalizableInterface::denormalize
  [Cache] work aroung PHP memory leak
  [Finder] docblock fixes
  pass error code as a string
  Catch JsonException and rethrow in JsonEncode
2019-06-28 15:17:39 +02:00
Nicolas Grekas
a218efebee Merge branch '4.2' into 4.3
* 4.2:
  [HttpFoundation] Throw exception when the \"session\" extension is not loaded
  remove invalid test cases
  [Serializer] Fixed PHP of DenormalizableInterface::denormalize
  [Cache] work aroung PHP memory leak
  [Finder] docblock fixes
  pass error code as a string
  Catch JsonException and rethrow in JsonEncode
2019-06-28 15:16:30 +02:00
Nicolas Grekas
e62e2ddb38 minor #32250 [Validator] remove invalid test case (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[Validator] remove invalid test case

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

Spotted while working on #32179 for the Validator component. Using property paths for comparison when validating arrays simply does not work.

Commits
-------

9000c1eab4 remove invalid test case
2019-06-28 14:57:32 +02:00
Nicolas Grekas
b8c4809a49 Merge branch '3.4' into 4.2
* 3.4:
  [HttpFoundation] Throw exception when the \"session\" extension is not loaded
  remove invalid test cases
  [Serializer] Fixed PHP of DenormalizableInterface::denormalize
  [Finder] docblock fixes
  pass error code as a string
  Catch JsonException and rethrow in JsonEncode
2019-06-28 14:55:49 +02:00
Nicolas Grekas
3f165064eb bug #32236 [Cache] work aroung PHP memory leak (nicolas-grekas)
This PR was merged into the 4.2 branch.

Discussion
----------

[Cache] work aroung PHP memory leak

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

Works around  https://bugs.php.net/76982, as identified by @goetas in the linked issue.

Commits
-------

5d55b91fae [Cache] work aroung PHP memory leak
2019-06-28 14:49:32 +02:00
Nicolas Grekas
b6e8b17dc4 minor #32215 [HttpFoundation] Throw exception when the "session" extension is not loaded (vudaltsov)
This PR was squashed before being merged into the 3.4 branch (closes #32215).

Discussion
----------

[HttpFoundation] Throw exception when the "session" extension is not loaded

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

Should I target `3.4` or `master` instead? This change does not alter behavior, but makes the failure more clear.

Commits
-------

b0c663071b [HttpFoundation] Throw exception when the \"session\" extension is not loaded
2019-06-28 14:47:57 +02:00
Valentin Udaltsov
b0c663071b [HttpFoundation] Throw exception when the \"session\" extension is not loaded 2019-06-28 14:47:50 +02:00
Nicolas Grekas
9bc8b39709 minor #32249 [Validator] remove invalid test cases (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] remove invalid test cases

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

Spotted while working on #32179 for the Validator component. Using property paths for comparison when validating arrays simply does not work.

Commits
-------

d1261e78a4 remove invalid test cases
2019-06-28 14:46:12 +02:00
Nicolas Grekas
3f53044b42 minor #32244 [Validator] pass error code as a string (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] pass error code as a string

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

901fe0d7c5 pass error code as a string
2019-06-28 14:40:38 +02:00
Nicolas Grekas
278bfbaea0 minor #32230 [Serializer] Fixed PHP of DenormalizableInterface::denormalize (lyrixx)
This PR was merged into the 3.4 branch.

Discussion
----------

[Serializer] Fixed PHP of DenormalizableInterface::denormalize

It can return an array of objects

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

379bbee370 [Serializer] Fixed PHP of DenormalizableInterface::denormalize
2019-06-28 14:36:51 +02:00
Nicolas Grekas
a670098879 minor #32245 [Finder] docblock fixes (smoench)
This PR was merged into the 3.4 branch.

Discussion
----------

[Finder] docblock fixes

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | N/A
| License       | MIT
| Doc PR        | N/A

This PR provides some docblock fixes found in #32243

Commits
-------

02ee4d0b05 [Finder] docblock fixes
2019-06-28 14:36:03 +02:00
Bastien Jaillot
063e880861 [PropertyInfo] add static cache to ContextFactory
ContextFactory::createFromReflector is heavy, and it's called redundanlty
by Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor for each property
and methods. Avoid that by parsing it only once and then use static cache
2019-06-28 14:35:26 +02:00
Christian Flothmann
61d180e7de Merge branch '4.3' into 4.4
* 4.3:
  fix Debug component dependencies
  [travis] not all components have a master branch
  [HttpKernel] Add @method PHPDoc for getRequest and getResponse back to Client
2019-06-28 14:32:50 +02:00
Christian Flothmann
a1de01c6ff Merge branch '4.2' into 4.3
* 4.2:
  fix Debug component dependencies
  [travis] not all components have a master branch
2019-06-28 14:12:54 +02:00
Christian Flothmann
5edac837a0 Merge branch '3.4' into 4.2
* 3.4:
  fix Debug component dependencies
  [travis] not all components have a master branch
2019-06-28 14:00:38 +02:00
Nicolas Grekas
2bab37d64f bug #32206 Catch JsonException and rethrow in JsonEncode (phil-davis)
This PR was merged into the 3.4 branch.

Discussion
----------

Catch JsonException and rethrow in JsonEncode

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | adjustment to implementation of previous PRs for issue #31447
| License       | MIT
| Doc PR        | not applicable

PR #31860 provided handling of PHP  7.3 `JSON_THROW_ON_ERROR` behavior in the various `JsonEncode` and related classes/methods.

PR #31869 adjusted that. In particular, it adjusted ` src/Symfony/Component/Serializer/Encoder/JsonDecode.php` so that it catches any `JsonException` and re-throws it as `NotEncodableValueException`. That preserves the previous behavior of `JsonDecode:decode` - it always throws `NotEncodableValueException` when something goes wrong.

IMO `JsonEncode:encode` needs the same logic. At the moment, if a caller specifies `JSON_THROW_ON_ERROR` then the method can throw `JsonException`, but actually the "standard" for `JsonEncode:encode` is that it throws `NotEncodableValueException`

Adjust `JsonEncode:encode` to catch `JsonException` and rethrow it as `NotEncodableValueException`

Commits
-------

9c76790ee8 Catch JsonException and rethrow in JsonEncode
2019-06-28 13:57:22 +02:00
Nicolas Grekas
9c668d9282 minor #32213 [HttpKernel] Add @method PHPDoc for getRequest and getResponse back to Client (teohhanhui)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpKernel] Add @method PHPDoc for getRequest and getResponse back to Client

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| 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 | N/A
| License       | MIT
| Doc PR        | N/A

As the deprecated `Symfony\Component\HttpKernel\Client` does not extend `Symfony\Component\HttpKernel\HttpKernelBrowser`, it has not retained the correct PHPDoc from before.

The order of inheritance was changed in https://github.com/symfony/symfony/pull/31881, but the PHPDoc was never restored.

Commits
-------

332135186a [HttpKernel] Add @method PHPDoc for getRequest and getResponse back to Client
2019-06-28 13:56:05 +02:00
Christian Flothmann
9000c1eab4 remove invalid test case 2019-06-28 12:20:30 +02:00
Christian Flothmann
d1261e78a4 remove invalid test cases 2019-06-28 12:15:37 +02:00
Grégoire Pineau
379bbee370 [Serializer] Fixed PHP of DenormalizableInterface::denormalize
It can return an array of objects
2019-06-28 11:46:25 +02:00
Christian Flothmann
87fe077a89 fix Debug component dependencies 2019-06-28 11:18:39 +02:00
Alexander M. Turek
2a88752cd6 [Routing] Deprecate RouteCollection::addPrefix(null). 2019-06-28 10:23:33 +02:00
Nicolas Grekas
5d55b91fae [Cache] work aroung PHP memory leak 2019-06-28 10:22:31 +02:00
smoench
02ee4d0b05
[Finder] docblock fixes 2019-06-28 10:02:59 +02:00
Nicolas Grekas
548f4fd0ea [HttpClient] Add support for NTLM authentication 2019-06-28 09:49:23 +02:00
Christian Flothmann
901fe0d7c5 pass error code as a string 2019-06-28 09:33:32 +02:00
Tobias Schultze
a609f57c03 [ErrorCatcher] some cleanup and better doc 2019-06-27 22:36:35 +02:00
Fabien Potencier
f511bc5ff6 deprecated FlattenException::create() 2019-06-27 19:51:41 +02:00
Fabien Potencier
7dd9dbf28d [ErrorHandler] made IDEs and static analysis tools happy 2019-06-27 19:50:32 +02:00
Fabien Potencier
b6eac3f861 renamed the ErrorHandler component to ErrorCatcher 2019-06-27 19:38:50 +02:00
Fabien Potencier
4d8c473fd3 Merge branch '4.3' into 4.4
* 4.3:
  [Mailer] fixed tests on Windows
  [PhpUnitBridge] fix tests
  [Mailer] fixed error message when connecting to a stream raises an error before connect()
  [Mailer] fixed timeout type hint
  improve error messages in the event dispatcher
  [Security/Core] work around sodium_compat issue
  bumped Symfony version to 4.3.3
  updated VERSION for 4.3.2
  updated CHANGELOG for 4.3.2
  bumped Symfony version to 4.2.11
  updated VERSION for 4.2.10
  updated CHANGELOG for 4.2.10
  bumped Symfony version to 3.4.30
  updated VERSION for 3.4.29
  update CONTRIBUTORS for 3.4.29
  updated CHANGELOG for 3.4.29
  Fixed type annotation.
2019-06-27 18:48:03 +02:00
Fabien Potencier
90f61e9efa [Mailer] fixed tests on Windows 2019-06-27 18:29:52 +02:00
Fabien Potencier
7dd391ed97 made BuferringLogger classes internal and final 2019-06-27 15:21:55 +02:00
Fabien Potencier
13a5e2dd1f feature #31065 Add ErrorHandler component (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

Add ErrorHandler component

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

Mainly for API-based apps that don't require TwigBundle to get the correct exception response according to the request format (aka `_format` attribute).

![exception_response](https://user-images.githubusercontent.com/2028198/55509651-713dc700-562a-11e9-8b98-bef3b0229397.gif)

✔️ [RFC7807](https://tools.ietf.org/html/rfc7807) compliant for JSON and XML formats.

---

This introduce a new `ErrorRenderer` service that render a `FlattenException` into a given format:
```php
use Symfony\Component\ErrorHandler\ErrorRenderer\ErrorRenderer;
use Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer;
use Symfony\Component\ErrorHandler\ErrorRenderer\JsonErrorRenderer;

$renderers = [
    new HtmlErrorRenderer(),
    new JsonErrorRenderer(),
    // ...
];
$errorRenderer = new ErrorRenderer($renderers);

return new Response(
    $errorRenderer->render($exception, $request->getRequestFormat()),
    $exception->getStatusCode(),
    $exception->getHeaders()
);
```

The built-in error renderers are:

| Format | Class |
| --- | --- |
| html | HtmlErrorRenderer |
| json | JsonErrorRenderer |
| xml, atom | XmlErrorRenderer |
| txt | TxtErrorRenderer |

And you can add your own error renderer by implementing the `ErrorRendererInterface` and tagging it with `error_handler.renderer` in your service definition.

Creating your own error renderer for a built-in format will end up replacing the related built-in error renderer.

Demo: https://github.com/yceruto/error-handler-app ([add custom error renderer](06fc647841))

Commits
-------

7057244890 Added ErrorHandler component
2019-06-27 14:40:37 +02:00
Teoh Han Hui
332135186a
[HttpKernel] Add @method PHPDoc for getRequest and getResponse back to Client 2019-06-27 12:01:44 +02:00
Fabien Potencier
eb15bffa78 [Mailer] fixed error message when connecting to a stream raises an error before connect() 2019-06-27 11:33:25 +02:00
Fabien Potencier
0e7ed9e45c [Mailer] fixed timeout type hint 2019-06-27 10:51:02 +02:00
Fabien Potencier
e55978ada8 bug #32199 [EventDispatcher] improve error messages in the event dispatcher (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[EventDispatcher] improve error messages in the event dispatcher

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

Commits
-------

0b381dbe1d improve error messages in the event dispatcher
2019-06-27 09:31:09 +02:00
Christian Flothmann
0b381dbe1d improve error messages in the event dispatcher 2019-06-27 08:42:14 +02:00
Phil Davis
9c76790ee8 Catch JsonException and rethrow in JsonEncode 2019-06-27 10:07:28 +05:45
Nicolas Grekas
1985a5cc13 Merge branch '4.2' into 4.3
* 4.2:
  [Security/Core] work around sodium_compat issue
  bumped Symfony version to 4.2.11
  updated VERSION for 4.2.10
  updated CHANGELOG for 4.2.10
  bumped Symfony version to 3.4.30
  updated VERSION for 3.4.29
  update CONTRIBUTORS for 3.4.29
  updated CHANGELOG for 3.4.29
2019-06-26 20:29:07 +02:00
Nicolas Grekas
2fdfa1a8eb Merge branch '3.4' into 4.2
* 3.4:
  [Security/Core] work around sodium_compat issue
  bumped Symfony version to 3.4.30
  updated VERSION for 3.4.29
  update CONTRIBUTORS for 3.4.29
  updated CHANGELOG for 3.4.29
2019-06-26 20:27:58 +02:00
Nicolas Grekas
df50685abf [Security/Core] work around sodium_compat issue 2019-06-26 20:07:24 +02:00
Fabien Potencier
2afa71e0d8 bumped Symfony version to 4.3.3 2019-06-26 16:31:16 +02:00
Fabien Potencier
6314d4f9bc updated VERSION for 4.3.2 2019-06-26 16:26:16 +02:00
Fabien Potencier
a84fb88d07 bumped Symfony version to 4.2.11 2019-06-26 16:23:57 +02:00
Fabien Potencier
c8899f3704 updated VERSION for 4.2.10 2019-06-26 16:19:57 +02:00
Fabien Potencier
fe5a4ee999 bumped Symfony version to 3.4.30 2019-06-26 16:17:55 +02:00
Fabien Potencier
5296d2dfa0 updated VERSION for 3.4.29 2019-06-26 15:56:39 +02:00
Fabien Potencier
6dde428e35 Merge branch '4.2' into 4.3
* 4.2:
  Fixed type annotation.
2019-06-26 15:54:39 +02:00
Fabien Potencier
14b0409339 Merge branch '3.4' into 4.2
* 3.4:
  Fixed type annotation.
2019-06-26 15:53:23 +02:00
Alexander M. Turek
753bf7e0df Fixed type annotation. 2019-06-26 13:14:13 +02:00
Nicolas Grekas
19cfc41690 Fix typo 2019-06-26 11:36:48 +02:00
Nicolas Grekas
55c0b02587 Merge branch '4.3' into 4.4
* 4.3: (34 commits)
  [PhpunitBridge] Read environment variable from superglobals
  [Bridge/PhpUnit] Fix PHP5.5 compat
  [PhpUnitBridge] More accurate grouping
  fixed CS
  Extract unrecoverable exception to interface
  [FrameworkBundle] Fix calling Client::getProfile() before sending a request
  Fix type error
  [Security/Core] require libsodium >= 1.0.14
  [Workflow] re-add workflow.definition tag to workflow services
  [Security/Core] Don't use ParagonIE_Sodium_Compat
  revert #30525 due to performance penalty
  collect called listeners information only once
  [Lock] fix missing inherit docs in RedisStore
  [Messenger] fix retrying handlers using DoctrineTransactionMiddleware
  [Mailgun Mailer] fixed issue when using html body
  [HttpClient] fix timing measurements with NativeHttpClient
  [HttpClient] fix dealing with 1xx informational responses
  add test to avoid regressions
  fix mirroring directory into parent directory
  fix typos
  ...
2019-06-26 11:30:56 +02:00
Nicolas Grekas
2dedf38b55 Merge branch '4.2' into 4.3
* 4.2:
  [Lock] fix missing inherit docs in RedisStore
  fix accessing session bags
  Add missing rendering of form help block.
2019-06-26 11:25:00 +02:00
Nicolas Grekas
dd68ae3962 Merge branch '3.4' into 4.2
* 3.4:
  fix accessing session bags
2019-06-26 11:24:49 +02:00
Fabien Potencier
f8b0bfd332 bug #32131 [Mailgun Mailer] fixed issue when using html body (alOneh)
This PR was merged into the 4.3 branch.

Discussion
----------

[Mailgun Mailer] fixed issue when using html body

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

I tested the `symfony/mailgun-mailer` and get an issue when using the `api` scheme with a templated email cause we try to manipulate a stream whereas the `Symfony\Component\Mime\Email::getHtmlBody()` could return also a string (in my case it is one).

The issue :

```
stream_get_meta_data() expects parameter 1 to be resource, string given
```

Commits
-------

afbefe131b [Mailgun Mailer] fixed issue when using html body
2019-06-26 10:48:20 +02:00
Fabien Potencier
3cd795fdde fixed CS 2019-06-26 09:55:28 +02:00
Fabien Potencier
bd2356d8e5 bug #31966 [Messenger] Doctrine Connection find and findAll now correctly decode headers (TimoBakx)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Doctrine Connection find and findAll now correctly decode headers

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

The Doctrine transport `Connection` class methods `find` and `findAll` did not JSON-decode the headers of the envelope after retrieving it from Doctrine. The `get` method, however, did this correctly.

I added two tests to verify the results of `find` and `findAll` and then added the JSON-decoding to the `Connection` class. I moved the JSON-decoding to a separate method to avoid duplicate code.

Commits
-------

3aec2acce5 [Messenger] Doctrine Connection find and findAll now correctly decode headers
2019-06-26 09:44:37 +02:00
Fabien Potencier
bd8ad3f717 feature #32126 [Process] Allow writing portable "prepared" command lines (Simperfit)
This PR was merged into the 4.4 branch.

Discussion
----------

[Process] Allow writing portable "prepared" command lines

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

Hey here, it's me, again !

I've talked with @nicolas-grekas and he gave me a new way of writing this feature that will not be a problem for people using things like {{ toto }} since we are using the linux style of using envvar, the replaced arguments is only replaced when using windows.

This should not break anything and work as expected!

see https://github.com/symfony/symfony/pull/24763

This makes `"$FOO"` work seamlessly on Linux and on Windows to reference an env var (that can be provided when calling e.g. the "run" method)

Commits
-------

3f8354f58f [Process] Allow writing portable "prepared" command lines
2019-06-26 09:34:54 +02:00
Fabien Potencier
0219834a2d bug #32141 [HttpClient] fix dealing with 1xx informational responses (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] fix dealing with 1xx informational responses

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

I never had a look at 1xx status codes until today.
This PR fixes reading them when using curl.

If one wonders:
- `NativeHttpClient` uses `fopen()`, which skips informational parts as allowed by the HTTP spec and doesn't give any way to access their response headers.
- `CurlHttpClient` allows reading informational responses using the progress callback or via the getInfo() method. That's the way if you need to implement e.g. HTTP 103 early hints.

Commits
-------

412411d795 [HttpClient] fix dealing with 1xx informational responses
2019-06-26 09:29:23 +02:00
Fabien Potencier
c245f7c681 bug #32138 [Filesystem] fix mirroring directory into parent directory (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[Filesystem] fix mirroring directory into parent directory

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

Commits
-------

b58a806340 fix mirroring directory into parent directory
2019-06-26 09:23:20 +02:00
Fabien Potencier
f15722dd84 minor #32143 use proper return types in ErrorHandler and ArgumentResolver (Tobion)
This PR was merged into the 4.4 branch.

Discussion
----------

use proper return types in ErrorHandler and ArgumentResolver

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | tiny
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets |
| License       | MIT
| Doc PR        |

Found those things while reviewing #31996 which missed some return types due to using `return` instead of `return null`.
It's part of fixing #17201 (due to #10717). See also #30869 that somebody was stumbling over.

Commits
-------

2f9121b74d use proper return types in ErrorHandler and ArgumentResolver
2019-06-26 09:20:55 +02:00
Fabien Potencier
c042b5b6a5 bug #32137 [HttpFoundation] fix accessing session bags (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] fix accessing session bags

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

Commits
-------

7a4570dcac fix accessing session bags
2019-06-26 09:16:02 +02:00
Fabien Potencier
a59082937f bug #32147 [HttpClient] fix timing measurements with NativeHttpClient (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] fix timing measurements with NativeHttpClient

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

Align to what curl does.

Commits
-------

c5c3332400 [HttpClient] fix timing measurements with NativeHttpClient
2019-06-26 09:10:28 +02:00
Fabien Potencier
6b83861ac3 minor #32161 [Lock] fix missing inherit docs in RedisStore (Simperfit)
This PR was merged into the 4.2 branch.

Discussion
----------

[Lock] fix missing inherit docs in RedisStore

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

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

This is a missing inheritdoc in the RedisStore for the waitAndSave method.

Commits
-------

71eb8cfe99 [Lock] fix missing inherit docs in RedisStore
2019-06-26 09:07:36 +02:00
Fabien Potencier
e8c68d533d bug #32165 revert #30525 due to performance penalty (bendavies)
This PR was merged into the 4.3 branch.

Discussion
----------

revert #30525 due to performance penalty

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

This reverts #30525, because it introduced a large performance penalty.

Here is the effect of that PR when I upgrade my Api Platform project from 4.2.9 to 4.3.1:
https://blackfire.io/profiles/compare/28bfbc61-3649-4896-bd03-7201239134cd/graph?settings%5Bdimension%5D=wt&settings%5Bdisplay%5D=landscape&settings%5BtabPane%5D=nodes&selected=Symfony%5CComponent%5CVarExporter%5CInternal%5CExporter%3A%3Aexport%403&callname=main()

The reverted PR targeted master. This should go in 4.3?

Commits
-------

3d37cc98f6 revert #30525 due to performance penalty
2019-06-26 09:06:13 +02:00
Fabien Potencier
32fd8e0409 Merge branch '4.2' into 4.3
* 4.2:
  [FrameworkBundle] Fix calling Client::getProfile() before sending a request
  Fix type error
  [Security/Core] Don't use ParagonIE_Sodium_Compat
  collect called listeners information only once
  add test to avoid regressions
  fix typos
  Turkish translation added to Form Component
2019-06-26 08:50:02 +02:00
Fabien Potencier
f0acaff850 Merge branch '3.4' into 4.2
* 3.4:
  [FrameworkBundle] Fix calling Client::getProfile() before sending a request
  Fix type error
  [Security/Core] Don't use ParagonIE_Sodium_Compat
  collect called listeners information only once
  add test to avoid regressions
  fix typos
  Turkish translation added to Form Component
2019-06-26 08:46:55 +02:00
Fabien Potencier
c511e46c73 bug #32164 [EventDispatcher] collect called listeners information only once (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[EventDispatcher] collect called listeners information only once

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

Commits
-------

2ad32df6e0 collect called listeners information only once
2019-06-26 08:45:17 +02:00
Tobias Schultze
b80ce9ad18 [Form] remove comment about to-be-removed method as it is used in master by ButtonBuilder 2019-06-26 00:51:39 +02:00
Tobias Schultze
6a2f4dc67a Extract unrecoverable exception to interface 2019-06-26 00:15:30 +02:00
Nicolas Grekas
4fed5d3813 [Security/Core] require libsodium >= 1.0.14 2019-06-25 15:09:11 +02:00
Nicolas Grekas
61ea53d57f [Security/Core] Don't use ParagonIE_Sodium_Compat 2019-06-25 14:22:47 +02:00
Ben Davies
3d37cc98f6 revert #30525 due to performance penalty 2019-06-25 10:08:34 +01:00
Christian Flothmann
2ad32df6e0 collect called listeners information only once 2019-06-25 09:45:31 +02:00
Amrouche Hamza
71eb8cfe99
[Lock] fix missing inherit docs in RedisStore 2019-06-25 07:47:15 +02:00
Robin Chalas
efaa154c74 minor #32146 [Security] add return type declaration (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] add return type declaration

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

Commits
-------

9fe532d657 add return type declaration
2019-06-25 03:46:17 +02:00
Tobias Schultze
8124159052 minor #32078 [Messenger] make all stamps final and mark stamp not meant to be sent (Tobion)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] make all stamps final and mark stamp not meant to be sent

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets |
| License       | MIT
| Doc PR        |

Some newer stamps were already final. This makes all of them final. Also marks all stamps that are not meant to be sent using the new `NonSendableStampInterface`. This makes it easier to see which stamps are actually important and required to persist in a queue for certain functionality, like the `BusNameStamp` for the `RoutableMessageBus`

Commits
-------

013904b081 [Messenger] make all stamps final and mark stamp not meant to be sent
2019-06-24 23:33:22 +01:00
Tobias Schultze
67af93f3b0 bug #32053 [Messenger] No need for retry to require SentStamp (Tobion)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] No need for retry to require SentStamp

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

Fixes 2) in #32049
@weaverryan the SentStamp in the worker seems totally irrelevant. You always want to send messages back to the transport where they came from for retry. The only relevance I can potentially see is for the SyncTransport. Messages received async from worker might be routed to the SyncTransport. Using the SentStamp would redeliver the messages into the SyncTransport instead of the async. But that doesn't seem to have any use-case. I'm running the worker which handles the messages immediately. So basically there is no difference if they go to the Sync or Async transport from within the worker.

Commits
-------

0034dee641 [Messenger] make retry logic work without SentStamp
2019-06-24 23:32:13 +01:00
Hippolyte Alain
afbefe131b [Mailgun Mailer] fixed issue when using html body 2019-06-24 16:09:08 +02:00
Tobias Schultze
013904b081 [Messenger] make all stamps final and mark stamp not meant to be sent 2019-06-24 14:58:45 +01:00
Nicolas Grekas
c5c3332400 [HttpClient] fix timing measurements with NativeHttpClient 2019-06-24 10:59:29 +02:00
Christian Flothmann
9fe532d657 add return type declaration 2019-06-24 10:10:57 +02:00
Tobias Schultze
2f9121b74d use proper return types in ErrorHandler and ArgumentResolver 2019-06-24 02:04:42 +01:00
Amrouche Hamza
3f8354f58f
[Process] Allow writing portable "prepared" command lines 2019-06-23 21:19:36 +02:00
Nicolas Grekas
412411d795 [HttpClient] fix dealing with 1xx informational responses 2019-06-23 19:42:15 +02:00
Nicolas Grekas
698601140b minor #31993 [Mailer] Catch missing scheme in DSN (derrabus)
This PR was merged into the 4.3 branch.

Discussion
----------

[Mailer] Catch missing scheme in DSN

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

The `Symfony\Component\Mailer\Transport::createTransport()` method parses and validates a passed DSN. I noticed that we never check if the DSN contains a valid scheme, but we always assume that the scheme is present in then parse result. If someone passes a DSN without a scheme to that method, they would almost certainly run into a PHP notice.

This PR makes sure that a scheme is present in the URL and throws a proper exception otherwise.

Commits
-------

3eba36c088 [Mailer] Catch missing scheme in DSN.
2019-06-23 17:43:40 +02:00
Nicolas Grekas
b56591c92d bug #32083 [HttpClient] fixing passing debug info to progress callback (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] fixing passing debug info to progress callback

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

NativeHttpClient already has it.

Commits
-------

dc55cf826a [HttpClient] fixing passing debug info to progress callback
2019-06-23 17:19:50 +02:00
Nicolas Grekas
57d73fcac3 minor #32140 [Filesystem] add test to avoid regressions (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Filesystem] add test to avoid regressions

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

Commits
-------

0d7d1f81bc add test to avoid regressions
2019-06-23 17:08:29 +02:00
Christian Flothmann
0d7d1f81bc add test to avoid regressions 2019-06-23 11:29:17 +02:00
Gabriel Ostrolucký
83edac321e [Console] Add ProgressBar::preventRedrawFasterThan() and forceRedrawSlowerThan() methods 2019-06-23 11:16:35 +02:00
Christian Flothmann
b58a806340 fix mirroring directory into parent directory 2019-06-23 10:51:25 +02:00
Christian Flothmann
196ee5599d fix typos 2019-06-23 10:10:04 +02:00
Emre Akinci
a030e393c5 Turkish translation added to Form Component 2019-06-23 09:45:21 +02:00
Tobias Schultze
7822b3cbc0 bug #32027 [Messenger] Remove DispatchAfterCurrentBusStamp when message is put on internal queue (Nyholm)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Remove DispatchAfterCurrentBusStamp when message is put on internal queue

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

This will fix #32009.

Thank you @brpauwels for the report.

I consider it safe to remove the `DispatchAfterCurrentBusStamp` because its meaning disappear after we handled the "current bus".

T0: We add the stamp
T1: We put the envelope on an internal queue in `DispatchAfterCurrentBusMiddleware`
T2: We handle the current bus.
T3: We start processing our internal queue.

At T3 there we are "after current bus", that is why we dont need the stamp any more.

Commits
-------

91f1680b3f [Messenger] Remove DispatchAfterCurrentBusStamp when message is put on internal queue
2019-06-22 23:18:30 +01:00
Christian Flothmann
7a4570dcac fix accessing session bags 2019-06-22 22:10:25 +02:00
Fabien Potencier
3634390a27 Merge branch '4.2' into 4.3
* 4.2:
  Fix link to documentation
  [Validator] Use LogicException for missing Property Access Component in comparison constraints
2019-06-22 10:39:44 +02:00
Fabien Potencier
aa4385dc12 feature #31532 [Ldap] Add users extraFields in ldap component (Simperfit)
This PR was merged into the 4.4 branch.

Discussion
----------

[Ldap] Add users extraFields in ldap component

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | yes <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #28873, #19329 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | todo when validated, before merge <!-- required for new features -->

As I'm using ldap too in some personal project, It seems that this feature is a really good nice to have IMHO.

Adding the wanted field in the `user_metadata` array transform them as field -> value in the `metadata` field of the user.

Commits
-------

bcfff04797 [Ldap] Add users extra_fields in ldap component
2019-06-22 10:38:33 +02:00
Amrouche Hamza
bcfff04797
[Ldap] Add users extra_fields in ldap component 2019-06-22 10:34:40 +02:00