Commit Graph

42644 Commits

Author SHA1 Message Date
Thomas Calvet
0185527297 [Debug][DebugClassLoader] Don't check class if the included file don't exist 2019-07-12 10:40:08 +02:00
Fabien Potencier
370fe9c47f minor #32510 [Validator] Added the Spanish translation for the new Range validator (javiereguiluz)
This PR was submitted for the 4.4 branch but it was merged into the 3.4 branch instead (closes #32510).

Discussion
----------

[Validator] Added the Spanish translation for the new Range validator

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

Translation for #32435.

Commits
-------

41f51fd7c1 [Validator] Added the Spanish translation for the new Range validator
2019-07-12 11:27:34 +03: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
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
ee5e5de9e0 fixed CS 2019-07-12 08:50:39 +03:00
Fabien Potencier
70c7424019 bug #32501 [FrameworkBundle] Fix descriptor of routes described as callable array (ribeiropaulor)
This PR was merged into the 4.3 branch.

Discussion
----------

[FrameworkBundle] Fix descriptor of routes described as callable array

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

The recent changes introduced a bug when routes are defined as callable array. Even statically is possible to see that the previous code was broken. I did not introduced any new tests. The current test case already does not test describing route collection that has fileLinkFormatter defined.

Commits
-------

c5ee4bedc2 [FrameworkBundle] Fix descriptor of routes described as callable array
2019-07-12 08:22:26 +03:00
Fabien Potencier
91f4752b30 bug #32500 [Debug][DebugClassLoader] Include found files instead of requiring them (fancyweb)
This PR was merged into the 3.4 branch.

Discussion
----------

[Debug][DebugClassLoader] Include found files instead of requiring them

| 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/32499
| License       | MIT
| Doc PR        | no

It fixes https://github.com/symfony/symfony/issues/32499 + it makes the `DebugClassLoader` behaves like composer `ClassLoader` that is very likely the wrapped class loader.

Commits
-------

c7141c82d1 [Debug][DebugClassLoader] Include found files instead of requiring them
2019-07-12 07:52:14 +03:00
Paulo Ribeiro
c5ee4bedc2 [FrameworkBundle] Fix descriptor of routes described as callable array 2019-07-11 16:09:41 -03:00
Thomas Calvet
c7141c82d1 [Debug][DebugClassLoader] Include found files instead of requiring them 2019-07-11 20:09:53 +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
2846089d04 minor #32494 [HttpKernel] fix tests (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] fix tests

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

This part of https://github.com/symfony/symfony/pull/32428 is for 3.4

Commits
-------

6eee2a8144 [HttpKernel] fix tests
2019-07-11 12:25:42 +02:00
Nicolas Grekas
6eee2a8144 [HttpKernel] fix tests 2019-07-11 12:21:37 +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
Fabien Potencier
0349294175 bug #32464 [WebProfilerBundle] Fix Twig 1.x compatibility (yceruto)
This PR was merged into the 3.4 branch.

Discussion
----------

[WebProfilerBundle] Fix Twig 1.x compatibility

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

Commits
-------

a9a6eb5c58 Fix Twig 1.x compatibility
2019-07-09 20:26:56 +02:00
Yonel Ceruto
a9a6eb5c58 Fix Twig 1.x compatibility 2019-07-09 11:57:56 -04:00
Fabien Potencier
bf466b1d6e minor #32457 [Translator] Improve farsi(persian) translations for Form (Amin-Hosseini)
This PR was squashed before being merged into the 3.4 branch (closes #32457).

Discussion
----------

[Translator] Improve farsi(persian) translations for Form

| Q             | A
| ------------- | ---
| Branch?       | 3.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 | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

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

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

Commits
-------

346ce8811e [Translator] Improve farsi(persian) translations for Form
2019-07-09 13:51:02 +02:00
Amin-Hosseini
346ce8811e [Translator] Improve farsi(persian) translations for Form 2019-07-09 13:50:53 +02:00
Fabien Potencier
e69d1cb38d minor #32441 [PHPUnit Bridge] Spell "triggering" properly (greg0ire)
This PR was merged into the 4.3 branch.

Discussion
----------

[PHPUnit Bridge] Spell "triggering" properly

As a side effect, the property name matches the one in the declaration,
which was correct.

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

Commits
-------

cad5f9a106 Spell "triggering" properly
2019-07-09 09:10:48 +02:00
Fabien Potencier
5e839f401f minor #32448 [Translator] Improve fa translations (Arman-Hosseini)
This PR was submitted for the 4.4 branch but it was merged into the 3.4 branch instead (closes #32448).

Discussion
----------

[Translator] Improve fa translations

| 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 | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

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

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

Commits
-------

e9abc7d654 Improve fa translations
2019-07-09 08:19:34 +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
Ryan Weaver
90d1b059fd Adding missing event_dispatcher wiring for messenger.middleware.send_message 2019-07-08 13:53:30 -04:00
Grégoire Paris
cad5f9a106
Spell "triggering" properly
As a side effect, the property name matches the one in the declaration,
which was correct.
2019-07-08 19:17:40 +02:00
Maxime Steinhausser
c1bfaa1de4 [Serializer] XmlEncoder: don't cast padded strings 2019-07-08 17:39:29 +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
5328c4b552 fixed tests on old PHP versions 2019-07-08 14:55:32 +02:00
Fabien Potencier
fea98a8473 bug #31620 [FrameworkBundle] Inform the user when save_path will be ignored (gnat42)
This PR was squashed before being merged into the 3.4 branch (closes #31620).

Discussion
----------

[FrameworkBundle] Inform the user when save_path will be ignored

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

When a project is created, framework.yaml or config.yml has handler_id set to ~. This uses the native php SessionHandler object which is instantiated with the save_path setting from php.ini or php-fpm.d/www.conf. If you set a save_path, it is silently ignored. When using mod_php for apache or php-fpm running as apache/nginx this is typically not a big deal (except your session files are stored someplace other than you actually wanted). However if using php-fpm and running as a non-standard user for the distro, it will fail silently. Sessions won't be saved because the setting has no effect. This throws a warning in those cases to inform the user.

_It could be a BC because it changes the default configuration however fixes a 'long standing bug' if you will. Not sure what you want to do about that part._

Commits
-------

a0901294d4 [FrameworkBundle] Inform the user when save_path will be ignored
2019-07-08 14:54:13 +02:00
Nathanael d. Noblet
a0901294d4 [FrameworkBundle] Inform the user when save_path will be ignored 2019-07-08 14:54:05 +02: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
98bbc57e95 bug #31820 [SecurityBundle] Fix profiler dump for non-invokable security listeners (chalasr)
This PR was merged into the 4.3 branch.

Discussion
----------

[SecurityBundle] Fix profiler dump for non-invokable security listeners

| 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

Listeners can be any callable since 4.3.

Commits
-------

f7738d934b [SecurityBundle] Fix profiler dump for non-invokable security listeners
2019-07-08 13:31:38 +02:00
Robin Chalas
f7738d934b [SecurityBundle] Fix profiler dump for non-invokable security listeners 2019-07-08 12:43:35 +02:00
Fabien Potencier
853e032c19 fixed CS 2019-07-08 11:24:04 +02:00
Fabien Potencier
94db7d4c3f bug #32392 [Messenger] Doctrine Transport: Support setting auto_setup from DSN (bendavies)
This PR was squashed before being merged into the 4.3 branch (closes #32392).

Discussion
----------

[Messenger] Doctrine Transport: Support setting auto_setup from DSN

| 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        |  <!-- required for new features -->

It was not possible to set `auto_setup` via the dsn, as the result would always be a string, resulting in setup always being performed because a bool is required.
The same was true if `auto_setup` was provided in `options` as a string.

I've fixed ensuring that the final configuration contains a bool for `auto_setup`.

Additionally, constructing the `configuration` was overly complex and hard to grok, so I've hopefully simplified it as part of this PR.

As an aside the three transports all do configuration construction in different ways with varying styles. It would be nice to neaten them up.

Commits
-------

213dfd1492 [Messenger] Doctrine Transport: Support setting auto_setup from DSN
2019-07-08 11:23:24 +02:00
Ben Davies
213dfd1492 [Messenger] Doctrine Transport: Support setting auto_setup from DSN 2019-07-08 11:23:12 +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
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
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
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
d92c9b8568 bug #32421 [EventDispatcher] Add tag kernel.rest on 'debug.event_dispatcher' service (lyrixx)
This PR was submitted for the 4.4 branch but it was merged into the 3.4 branch instead (closes #32421).

Discussion
----------

[EventDispatcher] Add tag kernel.rest on 'debug.event_dispatcher' service

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

In CLI, Symfony leaks because it uses the TraceableEventDispatcher.
Let's make this service resetable.

This PR is related to #32418

---

Side note: Forcing user to use the `ServicesResetter` is IMHO bad for
the DX. I prefer to have something that does not leak by default.
More over, the TraceableEventDispatcher stores some informations for the
profiler. But in CLI it does not make sens, since the tooling does not
exist. I have already fixed such issue for monolog in #30339. I think we
should do the same for the TraceableEventDispatcher.

---

Note: When using #32418 + this PR and with the following code, it does not leak **at all**

<details>
<summary>code</summary>

```php
<?php

namespace App\Command;

use Psr\Log\LoggerInterface;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle;
use Symfony\Component\EventDispatcher\Event;
use Symfony\Component\HttpKernel\DependencyInjection\ServicesResetter;
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;

class LeakCommand extends Command
{
    protected static $defaultName = 'leak';

    private $dispatcher;
    private $resetter;
    private $logger;

    public function __construct(EventDispatcherInterface $dispatcher, ServicesResetter $resetter, LoggerInterface $logger)
    {
        $this->dispatcher = $dispatcher;
        $this->resetter = $resetter;
        $this->logger = $logger;

        parent::__construct();
    }

    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $this->dispatcher->addListener(MyEvent::class, function ($e) {

        });
        for ($i=0; $i < INF; $i++) {
            $output->writeln(memory_get_usage());

            $this->dispatcher->dispatch(new MyEvent());
            $this->logger->debug('some log');

            // if ($i > 2000) {
            //     meminfo_dump(fopen('/tmp/my_dump_file.json', 'w'));
            //     die;
            // }

            usleep(100);
            $this->resetter->reset();
        }
    }
}

class MyEvent {}

```
</detail>

Commits
-------

5249eaf9d5 [EventDispatcher] Add tag kernel.rest on 'debug.event_dispatcher' service
2019-07-08 08:06:18 +02:00
Grégoire Pineau
5249eaf9d5 [EventDispatcher] Add tag kernel.rest on 'debug.event_dispatcher' service 2019-07-08 08:06:11 +02:00