Commit Graph

34838 Commits

Author SHA1 Message Date
Nicolas Grekas
561ad17d16 minor #32074 Add BC layer for updated constructor types (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

Add BC layer for updated constructor types

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

Reverts some CS changes done in #32066 + replaces its BC breaks by a BC layer.
Our CI is too good, it bites us hard when we break our own rules :)

Commits
-------

c34fcd91d1 Add BC layer for updated constructor types
2019-06-17 21:43:44 +02:00
Nicolas Grekas
67f99ce226 Merge branch '4.3' into 4.4
* 4.3:
  Fix PDO prune not called
  Fix Expiring lock in PDO and ZooKeeper
  [Lock] fix bad merge
2019-06-17 21:43:06 +02:00
Nicolas Grekas
5af1e9e1a5 minor #32075 [Lock] Fix expired lock not cleaned in ZooKeeper (jderusse)
This PR was merged into the 4.3 branch.

Discussion
----------

[Lock] Fix expired lock not cleaned in ZooKeeper

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

Following #32071 for 4.3 branch

context:
When a lock is acquired BUT not as fast as expected, a LockExpiredException is thrown.
Issue is, that the lock is not removed which avoid other process to acquire that lock.

This PR clean state of store when a LockExpiredException is triggered in PDO and ZooKeepeer.

Commits
-------

4f808ef4f4 Fix Expiring lock in PDO and ZooKeeper
2019-06-17 21:42:39 +02:00
Nicolas Grekas
15652e3373 Merge branch '4.2' into 4.3
* 4.2:
  Fix PDO prune not called
2019-06-17 21:41:54 +02:00
Jérémy Derussé
fc2dc14924
Fix PDO prune not called 2019-06-17 21:38:43 +02:00
Jérémy Derussé
4f808ef4f4
Fix Expiring lock in PDO and ZooKeeper 2019-06-17 21:08:41 +02:00
Nicolas Grekas
c34fcd91d1 Add BC layer for updated constructor types 2019-06-17 20:49:26 +02:00
Nicolas Grekas
1337dbff81 Merge branch '4.2' into 4.3
* 4.2:
  [Lock] fix bad merge
2019-06-17 20:45:40 +02:00
Nicolas Grekas
432c21f83c [Lock] fix bad merge 2019-06-17 20:45:27 +02:00
Nicolas Grekas
651de173df Merge branch '4.3' into 4.4
* 4.3:
  [Cache] replace getNsSeparator by NS_SEPARATOR on AbstractTrait
  [Cache] fix versioning with SimpleCacheAdapter
  [Messenger] fix AMQP delay queue to be per exchange
  Fix expired lock not cleaned
  [HttpClient] throw DecodingExceptionInterface when toArray() fails because of content-type error
  [HttpFoundation] Fix SA/phpdoc JsonResponse
  [DI] Show the right class autowired when providing a non-existing class in constructor
  SimpleCacheAdapter fails to cache any item if a namespace is used
  validate composite constraints in all groups
  [Serializer] Handle true and false appropriately in CSV encoder
  [Messenger] improve logs
  [Messenger] fix delay delivery for non-fanout exchanges
  Parameterize Mailgun's region
  Fix binary operation `+`, `-` or `*` on string
  [VarDumper] fix dumping objects that implement __debugInfo()
  [HttpClient] Don't use CurlHttpClient on Windows when curl.cainfo is not set
  Add statement to fileLink to ignore href code when no fileLink.
  [Routing] fix absolute url generation when scheme is not known
2019-06-17 19:38:10 +02:00
Nicolas Grekas
953ac3e77f Merge branch '4.2' into 4.3
* 4.2:
  [Cache] replace getNsSeparator by NS_SEPARATOR on AbstractTrait
  [Cache] fix versioning with SimpleCacheAdapter
  Fix expired lock not cleaned
  [HttpFoundation] Fix SA/phpdoc JsonResponse
  SimpleCacheAdapter fails to cache any item if a namespace is used
  validate composite constraints in all groups
  [Serializer] Handle true and false appropriately in CSV encoder
  Fix binary operation `+`, `-` or `*` on string
  [VarDumper] fix dumping objects that implement __debugInfo()
  [Routing] fix absolute url generation when scheme is not known
2019-06-17 19:37:00 +02:00
Nicolas Grekas
6b61439fb9 Merge branch '3.4' into 4.2
* 3.4:
  [Cache] replace getNsSeparator by NS_SEPARATOR on AbstractTrait
  [Cache] fix versioning with SimpleCacheAdapter
2019-06-17 19:31:01 +02:00
Nicolas Grekas
2bf5da51da [Cache] replace getNsSeparator by NS_SEPARATOR on AbstractTrait 2019-06-17 19:26:15 +02:00
Nicolas Grekas
02a6f248b5 [Cache] fix versioning with SimpleCacheAdapter 2019-06-17 19:18:24 +02:00
Nicolas Grekas
06c17cdaa9 Merge branch '3.4' into 4.2
* 3.4:
  Fix expired lock not cleaned
  [HttpFoundation] Fix SA/phpdoc JsonResponse
  SimpleCacheAdapter fails to cache any item if a namespace is used
  validate composite constraints in all groups
  [Serializer] Handle true and false appropriately in CSV encoder
  Fix binary operation `+`, `-` or `*` on string
  [VarDumper] fix dumping objects that implement __debugInfo()
  [Routing] fix absolute url generation when scheme is not known
2019-06-17 19:15:38 +02:00
Fabien Potencier
12b852f7ab bug #32052 [Messenger] fix AMQP delay queue to be per exchange (Tobion)
This PR was squashed before being merged into the 4.3 branch (closes #32052).

Discussion
----------

[Messenger] fix AMQP delay queue to be per exchange

| 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 | #32050
| License       | MIT
| Doc PR        |

this makes the delay/retry work when having several exchanges or renaming your exchange.

also the delay setup did not declare the target exchange. so if you only do delayed messages for a connection, auto-setup forgot to actually create the target exchange.

Commits
-------

5bc3364167 [Messenger] fix AMQP delay queue to be per exchange
2019-06-17 18:44:05 +02:00
Tobias Schultze
5bc3364167 [Messenger] fix AMQP delay queue to be per exchange 2019-06-17 18:43:56 +02:00
Fabien Potencier
6ee3efac79 minor #32066 Fine tune constructor types (Tobion)
This PR was merged into the 4.4 branch.

Discussion
----------

Fine tune constructor types

| 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        | symfony/symfony-docs#... <!-- required for new features -->

Fine tunes some constructor types that have been added in #24722

Form names as integer was only a workaround as forms names are used as array keys which get transformed to int. So it was added as a workaround in https://github.com/symfony/symfony/pull/6355#discussion_r2422205
With typehints added in #24722 those were mostly auto-cast anyway, e.g. in FormBuilder. There are only a few integer form names remaining documented, in the main entry points of the Form component (`\Symfony\Component\Form\FormInterface::add`). Internally it's always a string now. So I could remove some int docs which also fixes #30032 what @xabbuh tried to do.

Some of these changes we're just not done before because of broken tests. It's mainly a missing explicit mock for `TranslationInterface::trans` which returned null. If we had return types hints in interfaces, this wouldn't happen.

Commits
-------

507794a575 Fine tune constructor types
2019-06-17 18:40:55 +02:00
Fabien Potencier
99c44a3836 bug #32065 [HttpClient] throw DecodingExceptionInterface when toArray() fails because of content-type error (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] throw DecodingExceptionInterface when toArray() fails because of content-type error

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

As spotted in the linked issue, we are missing this type of exception. It's a bug at the contracts level.

Commits
-------

3f167417fb [HttpClient] throw DecodingExceptionInterface when toArray() fails because of content-type error
2019-06-17 18:35:34 +02:00
Jérémy Derussé
9f960f34e7
Fix expired lock not cleaned 2019-06-17 16:13:35 +02:00
Nicolas Grekas
a0aa94114a minor #32054 Prepare for PHP 7.4 preload (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

Prepare for PHP 7.4 preload

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

PHP 7.4 preloading is not compatible with declaring the same class twice in if/else blocks.
Let's split the ones we have in several files.

Commits
-------

7cf3fb4a21 Prepare for PHP 7.4 preload
2019-06-17 13:50:38 +02:00
Tobias Schultze
507794a575 Fine tune constructor types 2019-06-17 02:42:58 +01:00
Nicolas Grekas
3f167417fb [HttpClient] throw DecodingExceptionInterface when toArray() fails because of content-type error 2019-06-16 20:17:37 +02:00
Roland Franssen
270f10cc81 [HttpFoundation] Fix SA/phpdoc JsonResponse 2019-06-16 13:18:06 +02:00
Roland Franssen
5491d5347c [PhpUnitBridge] Bump PHPUnit 7+8 2019-06-16 13:16:20 +02:00
Fabien Potencier
db1543514e bug #32040 [DI] Show the right class autowired when providing a non-existing class (Simperfit)
This PR was merged into the 4.3 branch.

Discussion
----------

[DI] Show the right class autowired when providing a non-existing class

| 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 | #31997   <!-- #-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.
-->

This gets the last current id before the error and pass it to the callback in order to get the right error message.

Commits
-------

fbda90af6e [DI] Show the right class autowired when providing a non-existing class in constructor
2019-06-16 13:15:10 +02:00
Amrouche Hamza
fbda90af6e
[DI] Show the right class autowired when providing a non-existing class in constructor 2019-06-15 06:08:07 +02:00
Nicolas Grekas
7cf3fb4a21 Prepare for PHP 7.4 preload 2019-06-15 00:30:02 +02:00
Tobias Schultze
0034dee641 [Messenger] make retry logic work without SentStamp 2019-06-14 23:41:22 +02:00
Tobias Schultze
a9bcdcc936 bug #32035 [Messenger] fix delay delivery for non-fanout exchanges (Tobion)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] fix delay delivery for non-fanout exchanges

| 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        | symfony/symfony-docs#... <!-- required for new features -->

Fixes two bugs and outdated phpdoc:
1. When your exchange is not of type fanout, but direct for example, then delivery of delayed (retrying) messages does not work. This is because the delay logics adds a routing key to message. It was fixed if you have a custom routing key in #31355. But if you have no routing key, it still changed the routing key which means the message will not be delivery from your direct exchange to your queue anymore after being in the delay exchange. For fanout, which is the default, it does not matter because the routing key is ignored.
2. also fix dsn parsing of plain `amqp://` which is a valid URI that parse_url cannot handle when you want to pass all parameters as options

Commits
-------

0f15306d61 [Messenger] fix delay delivery for non-fanout exchanges
2019-06-14 19:11:46 +02:00
Christian Flothmann
ecded5ed03 prevent double deprecation message 2019-06-14 16:37:07 +02:00
Maxime Steinhausser
c7cc780373 [FrameworkBundle] Unconditionally register the DateIntervalNormalizer 2019-06-14 15:17:07 +02:00
Fabien Potencier
cfbb5b50b1 bug #32025 SimpleCacheAdapter fails to cache any item if a namespace is used (moufmouf)
This PR was squashed before being merged into the 3.4 branch (closes #32025).

Discussion
----------

SimpleCacheAdapter fails to cache any item if a namespace is used

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

This is a backport of #32019

The SimpleCacheAdapter extends AdapterTestCase.
When adding a namespace, the AdapterTestCase adds ":" after the namespace:

https://github.com/symfony/symfony/blob/v4.3.1/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php#L37

The namespace is prepended to the cache key.
But in PSR-16, the ":" is a forbidden character.

As a result, the cache key is invalid and cache is not persisted. If you use Psr16Adapter + a namespace, the cache simply does not work.

As per @nicolas-grekas advices, a NS_SEPARATOR const is added to change the namespace separator for the `SimpleCacheAdapter` to "_" (that is compatible with PSR-16).

The first commit of this PR starts with an additional test and no fix (to showcase the problem).

Commits
-------

ffd3469ddf SimpleCacheAdapter fails to cache any item if a namespace is used
2019-06-14 13:16:09 +02:00
David Négrier
ffd3469ddf SimpleCacheAdapter fails to cache any item if a namespace is used 2019-06-14 13:16:02 +02:00
Maxime Steinhausser
0c0978cd47 [Validator] Deprecate unused arg in ExpressionValidator 2019-06-14 10:40:37 +02:00
Fabien Potencier
6b50c89d76 bug #32022 [HttpClient] Don't use CurlHttpClient on Windows when curl.cainfo is not set (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] Don't use CurlHttpClient on Windows when curl.cainfo is not set

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

On Windows, curl has no cabundle configured by default.

Commits
-------

a2960a3318 [HttpClient] Don't use CurlHttpClient on Windows when curl.cainfo is not set
2019-06-14 10:02:21 +02:00
Fabien Potencier
50c62d7704 feature #31287 [Config] Introduce find method in ArrayNodeDefinition to ease configuration tree manipulation (jschaedl)
This PR was squashed before being merged into the 4.4 branch (closes #31287).

Discussion
----------

[Config] Introduce find method in ArrayNodeDefinition to ease configuration tree manipulation

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #27534   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | tbd.

### Description

This PR introduces a new `find(string $nodePath)`method in the `ArrayNodeDefinition` class, which helps you finding the right node to prepend configuration to ease configuration tree manipulation.

### How to use it
```php
class Configuration implements ConfigurationInterface
{
    public function getConfigTreeBuilder()
    {
        ...

        $rootNode
            ->children()
                ->arrayNode('social_media_channels')
                    ->children()
                        ->booleanNode('enable')->end()
                        ->arrayNode('twitter')->end()
                        ->arrayNode('facebook')->end()
                        ->arrayNode('instagram')->end()
                    ->end()
                ->end()
            ->end()
        ;

        $this->changeSocialMediaChannelConfiguration($rootNode->find('social_media_channels.enable'));
        $this->addTwitterConfiguration($rootNode->find('social_media_channels.twitter'));
        $this->addFacebookConfiguration($rootNode->find('social_media_channels.facebook'));
        $this->addInstagramConfiguration($rootNode->find('social_media_channels.instagram'));

        return $treeBuilder;
    }

    private function changeSocialMediaChannelConfiguration(NodeDefinition $node)
    {
        $node
            ->defaultTrue()
        ;
    }

    private function addTwitterConfiguration(NodeDefinition $node)
    {
        $node
            ->children()
                ->integerNode('client_id')->end()
                ->scalarNode('client_secret')->end()
            ->end()
        ;
    }

    private function addFacebookConfiguration(NodeDefinition $node)
    {
        $node
            ->children()
                ->integerNode('client_id')->end()
                ->scalarNode('client_secret')->end()
            ->end()
        ;
    }

    private function addInstagramConfiguration(NodeDefinition $node)
    {
        $node
            ->children()
                ->integerNode('client_id')->end()
                ->scalarNode('client_secret')->end()
            ->end()
        ;
    }
}

```

Commits
-------

e3b248aee0 [Config] Introduce find method in ArrayNodeDefinition to ease configuration tree manipulation
2019-06-14 09:59:19 +02:00
Jan Schädlich
e3b248aee0 [Config] Introduce find method in ArrayNodeDefinition to ease configuration tree manipulation 2019-06-14 09:59:12 +02:00
Christian Flothmann
94ded00216 validate composite constraints in all groups 2019-06-14 09:34:46 +02:00
Fabien Potencier
b8978bd9ff bug #32007 [Serializer] Handle true and false appropriately in CSV encoder (battye)
This PR was squashed before being merged into the 3.4 branch (closes #32007).

Discussion
----------

[Serializer] Handle true and false appropriately in CSV encoder

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

Previously, if `true` was passed in as a value to the CSV encoder then `fputcsv()` would correctly treat it as 1. However, if `false` was passed in, it would be treated as a blank value. `null` would also be treated as a blank value.

This fix makes it consistent so that true and false will map to 1 and 0, while null maps to an empty string.

Commits
-------

89cba00c68 [Serializer] Handle true and false appropriately in CSV encoder
2019-06-14 07:50:06 +02:00
battye
89cba00c68 [Serializer] Handle true and false appropriately in CSV encoder 2019-06-14 07:49:57 +02:00
Fabien Potencier
f06a35b974 feature #31959 [DomCrawler][Feature][DX] Add Form::getName() method (JustBlackBird)
This PR was squashed before being merged into the 4.4 branch (closes #31959).

Discussion
----------

[DomCrawler][Feature][DX] Add Form::getName() method

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

The PR adds `Symfony\Component\DomCrawler\Form::getName` method.

The method is actually a syntax sugar but can improve DX when dealing with tests. For example, in the snippet

```php
$client = static::createClient();
$crawler = $client->request('GET', '/post/hello-world');
$form = $crawler->selectButton('submit')->form();

$form['my_form[name]'] = 'Fabien';
$form['my_form[subject]'] = 'Symfony rocks!';
```
the prefix in field name (`my_form`) is form name, which is generated by Symfony automatically. The method, added in the PR helps to get that name in a most obvious way.

Commits
-------

ff53cb462a [DomCrawler][Feature][DX] Add Form::getName() method
2019-06-14 07:15:47 +02:00
Dmitry Simushev
ff53cb462a [DomCrawler][Feature][DX] Add Form::getName() method 2019-06-14 07:15:39 +02:00
Fabien Potencier
e02da2ab35 bug #32036 [Messenger] improve logs (Tobion)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] improve logs

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

The logs are currently very confusing and duplicated:

- When handled sync the uncaught error it logged and displayed by the console / http error handler anyway. Currently it the warning is duplicated and useless:

```
14:26:11 WARNING   [messenger] An exception occurred while handling message "{class}": OUCH, THAT HURTS! GO TO MOM!
14:26:11 ERROR     [console] Error thrown while running command "{class}". Message: "OUCH, THAT HURTS! GO TO MOM!"

In HandleMessageMiddleware.php line 82:

  [Symfony\Component\Messenger\Exception\HandlerFailedException]
  OUCH, THAT HURTS! GO TO MOM!
```

- When handling async is was even confusing because the actual error was logged as warning and the retry (which is a good thing) was the error.

```
13:48:15 WARNING   [messenger] An exception occurred while handling message "{class}": OUCH, THAT HURTS! GO TO MOM!
13:48:15 ERROR     [messenger] Retrying {class} - retry #1.
```

Now it's must clearer and adds even context like the delay:

```
16:20:11 ERROR     [messenger] Error thrown while handling message {class}. Dispatching for retry #3 using 4000 ms delay. Error: "OUCH, THAT HURTS! GO TO MOM!"
...
16:20:15 CRITICAL  [messenger] Error thrown while handling message {class}. Removing from transport after 3 retries. Error: "OUCH, THAT HURTS! GO TO MOM!"
```

Commits
-------

2ac7027b71 [Messenger] improve logs
2019-06-14 07:10:33 +02:00
Tobias Schultze
2ac7027b71 [Messenger] improve logs 2019-06-14 05:35:37 +02:00
Tobias Schultze
0f15306d61 [Messenger] fix delay delivery for non-fanout exchanges
also fix dsn parsing of plain amqp:// uri
2019-06-14 02:31:20 +02:00
Jérémy Derussé
7439c8de55
Parameterize Mailgun's region 2019-06-13 19:53:12 +02:00
Fabien Potencier
bd9d0a4793 bug #32000 [Routing] fix absolute url generation when scheme is not known (Tobion)
This PR was merged into the 3.4 branch.

Discussion
----------

[Routing] fix absolute url generation when scheme is not known

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| 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 | #25491
| License       | MIT
| Doc PR        |

This fixes two edge cases in the url generator:
1. when the context scheme is not known (empty) generating an absolute url would return an invalid url starting with `://host/path`. #25491 handled the case when the host is unknown which makes sense. but the way it was done, created this new problem.
2. non-http(s) urls do not require a host. e.g. typical `file:///path` urls. url generator is fixed to be in line with rfc3986

Commits
-------

8e04222976 [Routing] fix absolute url generation when scheme is not known
2019-06-13 18:44:13 +02:00
Fabien Potencier
9865988ac2 bug #32012 Add statement to fileLink to ignore href code when no fileLink. (bmxmale)
This PR was merged into the 4.3 branch.

Discussion
----------

Add statement to fileLink to ignore href code when no fileLink.

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

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

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->
This fix add statement to `\Symfony\Bundle\FrameworkBundle\Console\Descriptor\TextDescriptor::formatControllerLink` to fix display bug.

**Before**

![image](https://user-images.githubusercontent.com/23213308/59355771-ed8a1000-8d27-11e9-998f-fa2fc34edd62.png)

**After**

![image](https://user-images.githubusercontent.com/23213308/59355785-f2e75a80-8d27-11e9-953b-7523e0c9ad35.png)

Commits
-------

b9eab42823 Add statement to fileLink to ignore href code when no fileLink.
2019-06-13 18:41:02 +02:00
Fabien Potencier
bad18dc4ac feature #32026 [VarDumper] caster for HttpClient's response dumps all info (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[VarDumper] caster for HttpClient's response dumps all info

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

No need to dump the internal structure for responses IMHO, here is a caster that dumps the info instead:

![image](https://user-images.githubusercontent.com/243674/59434490-efb5a280-8deb-11e9-8714-5f1ccbc208b1.png)

Commits
-------

2b268379f5 [VarDumper] caster for HttpClient's response dumps all info
2019-06-13 18:38:05 +02:00
Nicolas Grekas
2b268379f5 [VarDumper] caster for HttpClient's response dumps all info 2019-06-13 18:29:46 +02:00
Fabien Potencier
faf7b305f9 bug #32024 [VarDumper] fix dumping objects that implement __debugInfo() (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[VarDumper] fix dumping objects that implement __debugInfo()

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

Right now it fails if the return value is not an array + it doesn't dump the original details from the object's internals.

Commits
-------

a9d0038ec0 [VarDumper] fix dumping objects that implement __debugInfo()
2019-06-13 18:26:35 +02:00
Stefano Degenkamp
d445465ef4 Fix binary operation +, - or * on string
By type casting to integer.
2019-06-13 17:39:17 +02:00
Nicolas Grekas
567cb27a1d [Security] minor improvement 2019-06-13 16:09:13 +02:00
Nicolas Grekas
7a1e6f732e Merge branch '4.3' into 4.4
* 4.3:
  fix merge
2019-06-13 16:07:54 +02:00
Nicolas Grekas
648aa67eca fix merge 2019-06-13 16:07:09 +02:00
Tobias Nyholm
91f1680b3f
[Messenger] Remove DispatchAfterCurrentBusStamp when message is put on internal queue 2019-06-13 15:04:56 +02:00
Nicolas Grekas
a9d0038ec0 [VarDumper] fix dumping objects that implement __debugInfo() 2019-06-13 14:39:23 +02:00
Nicolas Grekas
a2960a3318 [HttpClient] Don't use CurlHttpClient on Windows when curl.cainfo is not set 2019-06-13 14:16:31 +02:00
Fabien Potencier
fa38497957 fixed CS 2019-06-13 13:06:22 +02:00
Fabien Potencier
8787bbc94a Merge branch '4.3' into 4.4
* 4.3:
  fixed CS
  fixed CS
  fixed CS
  Do not log or call the proxy function when the locale is the same
  Added missing required dependencies on psr/cache and psr/container in symfony/cache-contracts and symfony/service-contracts respectively.
  [HttpClient] fix closing debug stream prematurely
  [Mailer] made code more robust
  Restore compatibility with php 5.5
  fixed sender/recipients in SMTP Envelope
  collect called listeners information only once
  [HttpKernel] Remove TestEventDispatcher.
2019-06-13 13:05:05 +02:00
Fabien Potencier
9526988eca fixed CS 2019-06-13 13:03:18 +02:00
Fabien Potencier
84bc7aba91 Merge branch '4.2' into 4.3
* 4.2:
  fixed CS
  fixed CS
  [HttpKernel] Remove TestEventDispatcher.
2019-06-13 13:01:17 +02:00
Fabien Potencier
37fa45bbd1 fixed CS 2019-06-13 12:57:15 +02:00
Fabien Potencier
0f958aabfa Merge branch '3.4' into 4.2
* 3.4:
  fixed CS
  [HttpKernel] Remove TestEventDispatcher.
2019-06-13 12:50:42 +02:00
Fabien Potencier
106b348d3d fixed CS 2019-06-13 12:34:15 +02:00
Fabien Potencier
dab7a554ae bug #32014 Do not log or call the proxy function when the locale is the same (gmponos)
This PR was squashed before being merged into the 4.3 branch (closes #32014).

Discussion
----------

Do not log or call the proxy function when the locale is the same

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

I was the one creating the PR for logging the change of the locale but ATM I am filled with logs of translator about switching the locale from "en" to "en".. Not sure why.

Commits
-------

31bdfb372c Do not log or call the proxy function when the locale is the same
2019-06-13 11:55:06 +02:00
Mponos George
31bdfb372c Do not log or call the proxy function when the locale is the same 2019-06-13 11:54:55 +02:00
Fabien Potencier
e63577500c bug #32011 [HttpClient] fix closing debug stream prematurely (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] fix closing debug stream prematurely

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

@ElGecko76 can you please confirm this fixes the issue for you?
I'm not able to reproduce so I can't myself. Thanks.

Commits
-------

21857a1edb [HttpClient] fix closing debug stream prematurely
2019-06-13 11:48:41 +02:00
Michael Bessolov
9cbeb63613
Added missing required dependencies on psr/cache and psr/container
in symfony/cache-contracts and symfony/service-contracts respectively.
2019-06-12 23:16:15 -07:00
Fabien Potencier
1c1d6d9edf bug #31992 Fix sender/recipients in SMTP Envelope (fabpot)
This PR was merged into the 4.3 branch.

Discussion
----------

Fix sender/recipients in SMTP Envelope

| 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 | #31986
| License       | MIT
| Doc PR        | n/a

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

7a2f9bf134 fixed sender/recipients in SMTP Envelope
2019-06-12 18:30:49 +02:00
Fabien Potencier
41ff9d31d4 minor #32002 [Mailer] made code more robust (fabpot)
This PR was merged into the 4.3 branch.

Discussion
----------

[Mailer] made code more robust

| 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 | n/a
| License       | MIT
| Doc PR        | n/a

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

8bdc6596ef [Mailer] made code more robust
2019-06-12 16:08:31 +02:00
Nicolas Grekas
21857a1edb [HttpClient] fix closing debug stream prematurely 2019-06-12 15:33:27 +02:00
Mateusz Lerczak
b9eab42823
Add statement to fileLink to ignore href code when no fileLink. 2019-06-12 12:36:09 +02:00
Fabien Potencier
8bdc6596ef [Mailer] made code more robust 2019-06-12 06:54:21 +02:00
Tomas
a9705a0143 Fix AuthenticationException::getToken typehint 2019-06-12 07:10:29 +03:00
Tobias Schultze
8e04222976 [Routing] fix absolute url generation when scheme is not known 2019-06-12 03:24:15 +02:00
Grégoire Paris
496c118c3a
Restore compatibility with php 5.5
The ARRAY_FILTER_USE_KEY constant was introduced in php 5.6, let us
avoid it for now.
See https://www.php.net/manual/en/function.array-filter.php#refsect1-function.array-filter-changelog
2019-06-11 23:50:05 +02:00
Fabien Potencier
7a2f9bf134 fixed sender/recipients in SMTP Envelope 2019-06-11 21:40:57 +02:00
Christian Flothmann
284262a219 collect called listeners information only once 2019-06-11 20:36:39 +02:00
Nicolas Grekas
28674b1e30 [HttpClient] add HttplugClient for compat with libs that need httplug v1 or v2 2019-06-11 17:49:07 +02:00
Nicolas Grekas
e54b62c1e2 Merge branch '4.3' into 4.4
* 4.3:
  add back possibility to use form themes without translations
  [HttpClient] fix Psr18Client handling of non-200 response codes
  [WebProfilerBundle] fix FC with HttpFoundation v5
  [OptionsResolver] fix adding $triggerDeprecation to Options::offsetGet()
  [Form] test case is not legacy
  Fix reporting unsilenced deprecations from insulated tests
  fix handling nested embeddables
  Added FormInterface to @return Form::getClickedButton docblock
2019-06-11 17:42:17 +02:00
Nicolas Grekas
bde8204da3 Merge branch '4.2' into 4.3
* 4.2:
  [WebProfilerBundle] fix FC with HttpFoundation v5
  [OptionsResolver] fix adding $triggerDeprecation to Options::offsetGet()
  [Form] test case is not legacy
  Fix reporting unsilenced deprecations from insulated tests
  Added FormInterface to @return Form::getClickedButton docblock
2019-06-11 17:41:59 +02:00
Nicolas Grekas
b856ab5aa2 Merge branch '3.4' into 4.2
* 3.4:
  [WebProfilerBundle] fix FC with HttpFoundation v5
  [Form] test case is not legacy
  Fix reporting unsilenced deprecations from insulated tests
  Added FormInterface to @return Form::getClickedButton docblock
2019-06-11 17:21:32 +02:00
Alexander M. Turek
3eba36c088 [Mailer] Catch missing scheme in DSN. 2019-06-11 14:30:26 +02:00
Fabien Potencier
8bdd25b7fc bug #31988 [TwigBridge] add back possibility to use form themes without translations (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[TwigBridge] add back possibility to use form themes without translations

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

Commits
-------

87c1d19e72 add back possibility to use form themes without translations
2019-06-11 13:40:09 +02:00
Alexander M. Turek
48be09f37e [HttpKernel] Remove TestEventDispatcher. 2019-06-11 12:48:01 +02:00
Fabien Potencier
dc7f6f79e8 feature #31956 [Mailer] Changed EventDispatcherInterface dependency from Component to Contracts (Koc)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Changed EventDispatcherInterface dependency from Component to Contracts

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

Follow up of https://github.com/symfony/symfony/pull/31946#discussion_r291795454 . I hope this kind of changes are allowed for experimental components.

BTW, @nicolas-grekas , why Psr14 interface is optional for Contract's `EventDispatcherInterface https://github.com/symfony/symfony/blob/4.4/src/Symfony/Contracts/EventDispatcher/EventDispatcherInterface.php#L16 ?

Commits
-------

bdb6217b15 Changed EventDispatcherInterface dependency from Component to Contracts
2019-06-11 12:40:22 +02:00
Fabien Potencier
2f4f8c05d7 bug #31982 [HttpClient] fix Psr18Client handling of non-200 response codes (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] fix Psr18Client handling of non-200 response codes

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

Commits
-------

4a7989456b [HttpClient] fix Psr18Client handling of non-200 response codes
2019-06-11 12:37:06 +02:00
Fabien Potencier
71731c6342 feature #31980 [HttpClient] make Psr18Client implement relevant PSR-17 factories (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] make Psr18Client implement relevant PSR-17 factories

| 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 should help use the component with libs that consume only PSR-18.

Commits
-------

1c0baf689d [HttpClient] make Psr18Client implement relevant PSR-17 factories
2019-06-11 12:35:03 +02:00
Christian Flothmann
87c1d19e72 add back possibility to use form themes without translations 2019-06-11 11:05:48 +02:00
Fabien Potencier
cc1fc5bc81 feature #31919 [WebProfilerBundle] Select default theme based on user preferences (javiereguiluz)
This PR was merged into the 4.4 branch.

Discussion
----------

[WebProfilerBundle] Select default theme based on user preferences

| 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 | -
| License       | MIT
| Doc PR        | (not needed)

This is the same we recently added to symfony.com website. It works on latest versions of Firefox and Safari only (Chrome will add support soon).

Commits
-------

0fc0a348b8 [WebProfilerBundle] Select default theme based on user preferences
2019-06-11 10:38:12 +02:00
Christian Flothmann
776ab628f6 minor #31963 [Form] test case is not legacy (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] test case is not legacy

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

At least it's green.
/cc @xabbuh @HeahDude

Commits
-------

9ad324ba29 [Form] test case is not legacy
2019-06-11 09:20:04 +02:00
Fabien Potencier
c33f69c5d9 feature #31451 [FrameworkBundle] Allow dots in translation domains (jschaedl)
This PR was merged into the 4.4 branch.

Discussion
----------

[FrameworkBundle] Allow dots in translation domains

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

### Description

With this fix it is now possible to have `.` in translation domains like `app.security.en.yaml`.

### Todo

- [x] add a test case

Commits
-------

4b593b08d1 [FrameworkBundle] Allow dots in translation domains
2019-06-11 08:42:31 +02:00
Nicolas Grekas
4a7989456b [HttpClient] fix Psr18Client handling of non-200 response codes 2019-06-10 19:33:33 +02:00
Nicolas Grekas
1c0baf689d [HttpClient] make Psr18Client implement relevant PSR-17 factories 2019-06-10 18:43:03 +02:00
Alexandre Segura
ff5517e554 Add missing rendering of form help block. 2019-06-10 10:21:04 +02:00
Timo Bakx
3aec2acce5 [Messenger] Doctrine Connection find and findAll now correctly decode headers 2019-06-09 22:48:04 +02:00
Nicolas Grekas
1872a5af39 [WebProfilerBundle] fix FC with HttpFoundation v5 2019-06-09 18:36:33 +02:00
Nicolas Grekas
adc7e6ab7c [OptionsResolver] fix adding $triggerDeprecation to Options::offsetGet() 2019-06-09 18:15:03 +02:00
Nicolas Grekas
7f39f36379 feature #31321 [DI] deprecates tag !tagged in favor of !tagged_iterator (jschaedl)
This PR was squashed before being merged into the 4.4 branch (closes #31321).

Discussion
----------

[DI] deprecates tag !tagged in favor of !tagged_iterator

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

### Todo

- [x] fix tests

Commits
-------

ab8fb1868f [DI] deprecates tag !tagged in favor of !tagged_iterator
2019-06-09 18:06:29 +02:00
Jan Schädlich
ab8fb1868f [DI] deprecates tag !tagged in favor of !tagged_iterator 2019-06-09 18:06:22 +02:00
Nicolas Grekas
9ad324ba29 [Form] test case is not legacy 2019-06-09 16:44:28 +02:00
Nicolas Grekas
48093f4a13 Fix reporting unsilenced deprecations from insulated tests 2019-06-09 16:27:26 +02:00
Konstantin Myakshin
bdb6217b15 Changed EventDispatcherInterface dependency from Component to Contracts 2019-06-09 11:03:37 +03:00
Nicolas Grekas
cdaa4d69e9 [FrameworkBundle] remove dead code 2019-06-08 16:18:47 +02:00
Nicolas Grekas
82d5ff075a [TwigBundle] fix FC with DI v5 2019-06-08 12:47:47 +02:00
Nicolas Grekas
ac95704a20 [FrameworkBundle] fix FC with DI v5 2019-06-08 12:35:19 +02:00
Nicolas Grekas
1dce522b9a [Config] decouple tests from DI 2019-06-08 12:17:01 +02:00
Christian Flothmann
db91042f6b minor #31222 [Form] Add Button type back to Form::getClickedButton docblock (Bill Hance)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] Add Button type back to Form::getClickedButton docblock

| 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 commit 56429a6f08 the `Button` type was removed from the return doc block.

I suspect this was an oversight because, AFAIK, the [recommended way](https://symfony.com/doc/current/form/multiple_buttons.html) to check the name of a clicked button would require a return type of `Button` or `SubmitButton`.

The effect is that our static analysis checks are failing.
```
Call to an undefined method
Symfony\Component\Form\ClickableInterface::getName().
```

Commits
-------

b71d589071 Added FormInterface to @return Form::getClickedButton docblock
2019-06-08 11:35:31 +02:00
Christian Flothmann
37efa4bb8c fix handling nested embeddables 2019-06-08 11:24:26 +02:00
Nicolas Grekas
e8975e2dfe Merge branch '4.3' into 4.4
* 4.3:
  [Serializer] add missing "internal" annotation
  [DI] Fix suspicious test
  [SecurityBundle] add missing contraint for symfony/config dep
2019-06-08 08:36:25 +02:00
Nicolas Grekas
2b8e44164e [Serializer] add missing "internal" annotation 2019-06-08 08:34:08 +02:00
Nicolas Grekas
b5306d2e81 Merge branch '4.2' into 4.3
* 4.2:
  [DI] Fix suspicious test
  [SecurityBundle] add missing contraint for symfony/config dep
2019-06-08 08:33:08 +02:00
Roland Franssen
25b961aadc [DI] Fix suspicious test 2019-06-08 08:01:32 +02:00
Nicolas Grekas
07ca9f4831 [SecurityBundle] add missing contraint for symfony/config dep 2019-06-07 22:39:07 +02:00
Nicolas Grekas
02a792a313 minor #31938 [FrameworkBundle] fix FC with HttpKernel v5 (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[FrameworkBundle] fix FC with HttpKernel v5

| 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 class is deprecated and is thus not enough a reason to conflict with http-kernel v5

Should unlock #31918

Commits
-------

6c109c71a9 [FrameworkBundle] fix FC with HttpKernel v5
2019-06-07 20:31:13 +02:00
Nicolas Grekas
3bef037b7b Merge branch '4.3' into 4.4
* 4.3:
  Fixing bug where PropertyInfoLoader tried to add validation to non-existent properties
  [TwigBundle] fix tests
  [travis] increase concurrency
2019-06-07 20:28:30 +02:00
Nicolas Grekas
bc7e7bbb3b minor #31941 [TwigBundle] fix tests (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[TwigBundle] fix tests

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

Should make master back to green.

Commits
-------

5b29918043 [TwigBundle] fix tests
2019-06-07 20:28:14 +02:00
Ryan Weaver
b702598b0b Fixing bug where PropertyInfoLoader tried to add validation to non-existent properties 2019-06-07 14:22:04 -04:00
Nicolas Grekas
5b29918043 [TwigBundle] fix tests 2019-06-07 20:15:33 +02:00
Nicolas Grekas
6c109c71a9 [FrameworkBundle] fix FC with HttpKernel v5 2019-06-07 18:47:40 +02:00
Nicolas Grekas
c5a29278e2 [Validator] relax low dep 2019-06-07 16:50:21 +02:00
Nicolas Grekas
0ebc425221 [Validator] fix conflict rule 2019-06-07 16:48:04 +02:00
Nicolas Grekas
3d9e884642 Merge branch '4.3' into 4.4
* 4.3:
  [Serializer] Fix DataUriNormalizer deprecation (MIME type guesser is optional)
  [DependencyInjection] fix the ValidateEnvPlaceHolderPassTest that was using a deprecated path for TreeBuilder
  avoid service id conflicts with Swiftmailer
  [Form] fix usage of legacy TranslatorInterface
  [Serializer] Fix DataUriNormalizer docblock & composer suggest section
2019-06-07 16:37:08 +02:00
Nicolas Grekas
4f714a63bb Merge branch '4.2' into 4.3
* 4.2:
  [DependencyInjection] fix the ValidateEnvPlaceHolderPassTest that was using a deprecated path for TreeBuilder
2019-06-07 16:28:03 +02:00
Nicolas Grekas
7054a385b9 minor #31933 [DependencyInjection] fix the ValidateEnvPlaceHolderPassTest that was using a deprecated path for TreeBuilder (Simperfit)
This PR was merged into the 4.2 branch.

Discussion
----------

[DependencyInjection] fix the ValidateEnvPlaceHolderPassTest that was using a deprecated path for TreeBuilder

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

This should be fixed in 4.2 because the deprecation has been introduced in 4.2 as said by @stof in https://github.com/symfony/symfony/pull/31932/files#r291600094

Commits
-------

caabd92f89 [DependencyInjection] fix the ValidateEnvPlaceHolderPassTest that was using a deprecated path for TreeBuilder
2019-06-07 16:24:06 +02:00
Maxime Steinhausser
2740bd1a9d [Serializer] Fix DataUriNormalizer deprecation (MIME type guesser is optional) 2019-06-07 16:06:48 +02:00
Amrouche Hamza
caabd92f89
[DependencyInjection] fix the ValidateEnvPlaceHolderPassTest that was using a deprecated path for TreeBuilder 2019-06-07 16:04:41 +02:00
Nicolas Grekas
3b90c98e04 bug #31928 [FrameworkBundle] avoid service id conflicts with Swiftmailer (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[FrameworkBundle] avoid service id conflicts with Swiftmailer

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

Commits
-------

5ce0edeb12 avoid service id conflicts with Swiftmailer
2019-06-07 16:01:38 +02:00
Nicolas Grekas
770162af05 Merge branch '4.2' into 4.3
* 4.2:
  [Form] fix usage of legacy TranslatorInterface
  [Serializer] Fix DataUriNormalizer docblock & composer suggest section
2019-06-07 15:58:47 +02:00
Nicolas Grekas
0364135989 bug #31925 [Form] fix usage of legacy TranslatorInterface (nicolas-grekas)
This PR was merged into the 4.2 branch.

Discussion
----------

[Form] fix usage of legacy TranslatorInterface

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

Commits
-------

0fbfefe869 [Form] fix usage of legacy TranslatorInterface
2019-06-07 15:57:04 +02:00
Nicolas Grekas
51299b4472 Merge branch '3.4' into 4.2
* 3.4:
  [Serializer] Fix DataUriNormalizer docblock & composer suggest section
2019-06-07 15:56:41 +02:00
Christian Flothmann
5ce0edeb12 avoid service id conflicts with Swiftmailer 2019-06-07 12:57:51 +02:00
Nicolas Grekas
0fbfefe869 [Form] fix usage of legacy TranslatorInterface 2019-06-07 11:33:39 +02:00
Maxime Steinhausser
51b6bd886a [Serializer] Fix DataUriNormalizer docblock & composer suggest section 2019-06-07 10:45:31 +02:00
Javier Eguiluz
0fc0a348b8 [WebProfilerBundle] Select default theme based on user preferences 2019-06-07 09:48:55 +02:00
Nicolas Grekas
482c357104 [Validator] v4 conflicts with translation v5 2019-06-07 09:41:00 +02:00
Nicolas Grekas
c8c159a755 Merge branch '4.3' into 4.4
* 4.3:
  [Validator] fix deprecation layer of ValidatorBuilder
  [HttpKernel] Fix missing use for request and response classes
  bumped Symfony version to 4.3.2
  updated VERSION for 4.3.1
  updated CHANGELOG for 4.3.1
2019-06-06 20:30:43 +02:00
Nicolas Grekas
5c7b4a0fef Merge branch '4.2' into 4.3
* 4.2:
  [Validator] fix deprecation layer of ValidatorBuilder
2019-06-06 20:29:58 +02:00
Amrouche Hamza
a0e4ad3086
Several components are incompatible with HttpKernel 5.0 2019-06-06 20:23:06 +02:00
Nicolas Grekas
154ce81519 [Validator] fix deprecation layer of ValidatorBuilder 2019-06-06 19:07:55 +02:00
Nicolas Grekas
c289687599 fix typo 2019-06-06 18:44:02 +02:00
Nicolas Grekas
92aa6eed97 [FrameworkBundle] fix compat with some SF5 components 2019-06-06 18:11:34 +02:00
Andrii Dembitskyi
0041cd9828
[HttpKernel] Fix missing use for request and response classes 2019-06-06 17:13:36 +03:00
Fabien Potencier
07800fc3e4 bumped Symfony version to 4.3.2 2019-06-06 15:31:25 +02:00
Fabien Potencier
31e678cd31 updated VERSION for 4.3.1 2019-06-06 15:23:34 +02:00
Fabien Potencier
6dd72dedaa Merge branch '4.3' into 4.4
* 4.3:
  Fix wrong requirements for ocramius/proxy-manager in root composer.json
  Change IntlTimeZone to DateTimeZone
2019-06-06 15:01:21 +02:00
Fabien Potencier
495f6a3b0b Merge branch '4.2' into 4.3
* 4.2:
  Fix wrong requirements for ocramius/proxy-manager in root composer.json
  Change IntlTimeZone to DateTimeZone
2019-06-06 15:00:51 +02:00
Fabien Potencier
9c37d18719 Merge branch '3.4' into 4.2
* 3.4:
  Change IntlTimeZone to DateTimeZone
2019-06-06 14:59:36 +02:00
Fabien Potencier
9691519ca4 bug #31865 [Form] Fix wrong DateTime on outdated ICU library (aweelex)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] Fix wrong DateTime on outdated ICU library

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

There is a problem, when server uses outdated version of ICU (php-intl).

It throws no exeption or debug message on unexisting Timezone. So sometimes you can get wrong DateTime in Forms, because Intl uses 'Etc/Unknown' (UTC+0) instead correct Timezone. And it happens very unobvious.

I added `\IntlExeption` for that cases.

Commits
-------

a6025ab5ee Change IntlTimeZone to DateTimeZone
2019-06-06 14:47:09 +02:00
Александр Ли
a6025ab5ee Change IntlTimeZone to DateTimeZone 2019-06-06 15:54:42 +05:00
Nicolas Grekas
3c8d4c2842 Merge branch '4.3' into 4.4
* 4.3:
  [HttpKernel] fix link to source generation
  [Doctrine Bridge] Check field type before adding Length constraint
  [FrameworkBundle] fix BC-breaking property in WebTestAssertionsTrait
  [Cache] Pass  arg to get callback everywhere
  Fix DoctrineBridge upgrade 5.0
  [FramworkBundle][HttpKernel] fix KernelBrowser BC layer
  Add a missing quote in getValue() DocBlock
  [Messenger] Add runtime check for ext redis version
  [HttpFoundation] Fixed case-sensitive handling of cache-control header in RedirectResponse constructor.
  minor: ChoiceType callable deprecation after/before seems wrong
2019-06-06 12:05:19 +02:00
Nicolas Grekas
fa07177838 Merge branch '4.2' into 4.3
* 4.2:
  [Cache] Pass  arg to get callback everywhere
  Add a missing quote in getValue() DocBlock
  [HttpFoundation] Fixed case-sensitive handling of cache-control header in RedirectResponse constructor.
  minor: ChoiceType callable deprecation after/before seems wrong
2019-06-06 12:05:02 +02:00
Nicolas Grekas
05eb388c26 Merge branch '3.4' into 4.2
* 3.4:
  Add a missing quote in getValue() DocBlock
  [HttpFoundation] Fixed case-sensitive handling of cache-control header in RedirectResponse constructor.
  minor: ChoiceType callable deprecation after/before seems wrong
2019-06-06 12:03:46 +02:00
Nicolas Grekas
4a4b62bf4d [HttpKernel] fix link to source generation 2019-06-06 11:21:46 +02:00
Fabien Potencier
965ed1634e bug #31880 [FrameworkBundle] fix BC-breaking property in WebTestAssertionsTrait (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[FrameworkBundle] fix BC-breaking property in WebTestAssertionsTrait

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

No properties should be exposed.

Commits
-------

625392669a [FrameworkBundle] fix BC-breaking property in WebTestAssertionsTrait
2019-06-06 10:35:06 +02:00
Fabien Potencier
92f333b848 bug #31881 [FramworkBundle][HttpKernel] fix KernelBrowser BC layer (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[FramworkBundle][HttpKernel] fix KernelBrowser BC layer

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

Swap the order of inheritance to preserve BC with legacy `Client` type hints.
From #30541

Commits
-------

1a4c2548d5 [FramworkBundle][HttpKernel] fix KernelBrowser BC layer
2019-06-06 10:33:46 +02:00
Nicolas Grekas
687f775223 bug #31879 [Cache] Pass arg to get callback everywhere (fancyweb)
This PR was merged into the 4.2 branch.

Discussion
----------

[Cache] Pass  arg to get callback everywhere

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

Some adapters does not pass an useless "save" bool arg. However, that makes a `CallbackInterface` callable unusable with them since the arg is required in the interface.

Commits
-------

d03eb033bb [Cache] Pass  arg to get callback everywhere
2019-06-06 09:46:35 +02:00
Christian Flothmann
9c8a6f96a1 bug #31874 [Doctrine Bridge] Check field type before adding Length constraint (belinde)
This PR was squashed before being merged into the 4.3 branch (closes #31874).

Discussion
----------

[Doctrine Bridge] Check field type before adding Length constraint

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

Validator\DoctrineLoader now add a Length constraint only on field of type string, text and guid; for any other type the mapping length is just ignored

Commits
-------

35e6df6bac [Doctrine Bridge] Check field type before adding Length constraint
2019-06-06 09:45:49 +02:00
Franco Traversaro
35e6df6bac [Doctrine Bridge] Check field type before adding Length constraint 2019-06-06 09:45:42 +02:00
Nicolas Grekas
625392669a [FrameworkBundle] fix BC-breaking property in WebTestAssertionsTrait 2019-06-06 08:55:06 +02:00
Thomas Calvet
d03eb033bb [Cache] Pass arg to get callback everywhere 2019-06-06 08:05:05 +02:00
Nicolas Grekas
1a4c2548d5 [FramworkBundle][HttpKernel] fix KernelBrowser BC layer 2019-06-05 18:18:19 +02:00
Julien Manganne
fd17ff005d
Add a missing quote in getValue() DocBlock 2019-06-05 17:56:22 +02:00
Fabien Potencier
a6b306d4f8 bug #31872 [Messenger] Add missing runtime check for ext redis version (chalasr)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Add missing runtime check for ext redis version

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

Lower versions lead to segmentation faults.

Commits
-------

07603da06c [Messenger] Add runtime check for ext redis version
2019-06-05 17:22:22 +02:00
Nicolas Grekas
d3055814ad Merge branch '4.3' into 4.4
* 4.3:
  [Cache] Fixed undefined variable in ArrayTrait
  [HttpClient] revert bad logic around JSON_THROW_ON_ERROR
  [HttpKernel] Fix handling non-catchable fatal errors
  Fix json-encoding when JSON_THROW_ON_ERROR is used
  [HttpFoundation] work around PHP 7.3 bug related to json_encode()
  [HttpClient] add $response->cancel()
  [Security] added support for updated \"distinguished name\" format in x509 authentication
2019-06-05 15:27:25 +02:00
Nicolas Grekas
e901494262 bug #31864 [Cache] Fixed undefined variable in ArrayTrait (eXtreme)
This PR was squashed before being merged into the 4.3 branch (closes #31864).

Discussion
----------

[Cache] Fixed undefined variable in ArrayTrait

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

So once again (see https://github.com/symfony/symfony/pull/29591) my test suite managed to find an error in ArrayTrait in cache. This time it was this PR: https://github.com/symfony/symfony/pull/31395 later improved by https://github.com/symfony/symfony/pull/31590 that introduced `$id` to logging, which I guess should be `$key`? So this PR changes it to `$key`, ~but my tests **still fail** as there is no `$this->namespace` in `ArrayAdapter` (is this the only class that uses this ArrayTrait?). But I don't know what to do about it. Maybe @nicolas-grekas has some answers?~

Commits
-------

8568923491 [Cache] Fixed undefined variable in ArrayTrait
2019-06-05 15:26:52 +02:00
Jacek Jędrzejewski
8568923491 [Cache] Fixed undefined variable in ArrayTrait 2019-06-05 15:26:46 +02:00
Nicolas Grekas
fc7ed49c78 Merge branch '4.2' into 4.3
* 4.2:
  [HttpKernel] Fix handling non-catchable fatal errors
  Fix json-encoding when JSON_THROW_ON_ERROR is used
  [HttpFoundation] work around PHP 7.3 bug related to json_encode()
  [Security] added support for updated \"distinguished name\" format in x509 authentication
2019-06-05 15:25:51 +02:00
Fabien Potencier
11f04abcd4 bug #31863 [HttpFoundation] Fixed case-sensitive handling of cache-control header in RedirectResponse constructor (Ivo)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] Fixed case-sensitive handling of cache-control header in RedirectResponse constructor

…r in RedirectResponse constructor.

| Q             | A
| ------------- | ---
| Branch?       |  3.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 | #31862  <!-- #-prefixed issue number(s), if any -->
| License       | MIT

Perform a case-insensitive check on `$headers` in \Symfony\Component\HttpFoundation\RedirectResponse::__construct()

Commits
-------

b5e6c99a3b [HttpFoundation] Fixed case-sensitive handling of cache-control header in RedirectResponse constructor.
2019-06-05 15:24:38 +02:00
Nicolas Grekas
eb41911d88 Merge branch '3.4' into 4.2
* 3.4:
  Fix json-encoding when JSON_THROW_ON_ERROR is used
  [HttpFoundation] work around PHP 7.3 bug related to json_encode()
  [Security] added support for updated \"distinguished name\" format in x509 authentication
2019-06-05 15:22:46 +02:00
Fabien Potencier
e5b082acee bug #31850 [HttpClient] add $response->cancel() (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] add $response->cancel()

| 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        | https://github.com/symfony/symfony-docs/pull/11668

An alternative to #31845 and #31842.
Same as  #31831 but considered as a bug fix (at the Contracts level), thus for 4.3.
I think we're early enough since 4.3/1.1 to do it.
That will save us some headaches in the short term.

Commits
-------

c402418723 [HttpClient] add $response->cancel()
2019-06-05 15:19:12 +02:00
Robin Chalas
07603da06c [Messenger] Add runtime check for ext redis version 2019-06-05 15:18:57 +02:00
Fabien Potencier
28fbf160ae bug #31871 [HttpClient] revert bad logic around JSON_THROW_ON_ERROR (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] revert bad logic around JSON_THROW_ON_ERROR

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

Same as #31869, reverts #31861

Commits
-------

846116edab [HttpClient] revert bad logic around JSON_THROW_ON_ERROR
2019-06-05 15:18:34 +02:00
Fabien Potencier
a80483cdb7 bug #31868 [HttpKernel] Fix handling non-catchable fatal errors (nicolas-grekas)
This PR was merged into the 4.2 branch.

Discussion
----------

[HttpKernel] Fix handling non-catchable fatal errors

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

This reverts PR #27519 this commit 18c2dde08e,
reversing changes made to ac1189a61e.

Right now, the listener is skipped on fatal errors.

Commits
-------

a1619ccb95 [HttpKernel] Fix handling non-catchable fatal errors
2019-06-05 15:12:48 +02:00
Nicolas Grekas
846116edab [HttpClient] revert bad logic around JSON_THROW_ON_ERROR 2019-06-05 13:58:47 +02:00
Tobias Schultze
a24f4db689 Merge branch '4.3' into 4.4 2019-06-05 13:37:18 +02:00
Nicolas Grekas
a1619ccb95 [HttpKernel] Fix handling non-catchable fatal errors
This reverts PR #27519 this commit 18c2dde08e,
reversing changes made to ac1189a61e.
2019-06-05 13:34:39 +02:00
Nicolas Grekas
d18f42c409 Fix json-encoding when JSON_THROW_ON_ERROR is used 2019-06-05 13:33:52 +02:00
Tobias Schultze
d32a29527b [Routing] revert deprecation of Serializable in routing
we still need to implement Serializable as long as we support PHP < 7.4. otherwise serialized data in php 7.2 would not work anymore when people upgrade to php 7.4
2019-06-05 11:16:20 +02:00
Ivo
b5e6c99a3b [HttpFoundation] Fixed case-sensitive handling of cache-control header in RedirectResponse constructor. 2019-06-05 10:24:41 +02:00
Amrouche Hamza
8f182d811e
[Console] allow answer to be trimmed by adding a flag 2019-06-05 07:34:14 +02:00
Fabien Potencier
7207849037 Merge branch '4.3' into 4.4
* 4.3:
  [Console] Add check for Konsole/Yakuake to disable hyperlinks
  [HttpClient] work around PHP 7.3 bug related to json_encode()
  [VarDumper] fix dumping the cloner itself
  Rename the Symfony Mailer service config to avoid conflict with SwitMailer
  Set default crypto method - Fix #31105
  [Form] add missing symfony/service-contracts dependency
  [HttpClient] Don't throw InvalidArgumentException on bad Location header
2019-06-05 04:26:21 +02:00
Fabien Potencier
d90dd8da98 bug #31834 [HttpClient] Don't throw InvalidArgumentException on bad Location header (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] Don't throw InvalidArgumentException on bad Location header

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

Instead, just stop following redirections and throw a `RedirectionExceptionInterface` as usual when throwing is not disabled.

Commits
-------

4acca42330 [HttpClient] Don't throw InvalidArgumentException on bad Location header
2019-06-05 04:18:50 +02:00
Fabien Potencier
036d7b69a4 bug #31846 [Mailer] Set default crypto method (bpolaszek)
This PR was merged into the 4.3 branch.

Discussion
----------

[Mailer] Set default crypto method

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

This PR fixes #31105 by providing `STREAM_CRYPTO_METHOD_TLS_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT` as  default crypto method when none is defined in user options and TLS is enabled.

Commits
-------

4f0ad25fab Set default crypto method - Fix #31105
2019-06-05 04:15:36 +02:00
Fabien Potencier
ed59830f55 bug #31849 [Console] Add check for Konsole/Yakuake to disable hyperlinks (belinde)
This PR was squashed before being merged into the 4.3 branch (closes #31849).

Discussion
----------

[Console] Add check for Konsole/Yakuake to disable hyperlinks

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

Added check for environment variable set by Konsole and other relateds terminal emulators.

A ticket has been opened to Konsole team to support this feature someday: https://bugs.kde.org/show_bug.cgi?id=408288

Commits
-------

14b27b7d02 [Console] Add check for Konsole/Yakuake to disable hyperlinks
2019-06-05 04:08:12 +02:00
Franco Traversaro
14b27b7d02 [Console] Add check for Konsole/Yakuake to disable hyperlinks 2019-06-05 04:08:03 +02:00
Fabien Potencier
e6e63c7d32 bug #31854 Rename the Symfony Mailer service implementation to avoid conflict with SwitMailer (tgalopin)
This PR was merged into the 4.3 branch.

Discussion
----------

Rename the Symfony Mailer service implementation to avoid conflict with SwitMailer

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

When you install Symfony Mailer as well as SwitMailer and try to typehint MailerInterface, the autowiring alias is aliased to the "mailer" service which is overriden by SwitMailer, thus making the injection fail.

Commits
-------

e7c96d3b43 Rename the Symfony Mailer service config to avoid conflict with SwitMailer
2019-06-05 04:04:45 +02:00
Fabien Potencier
a8aad15639 bug #31856 [VarDumper] fix dumping the cloner itself (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[VarDumper] fix dumping the cloner itself

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

Having PHP references inside the cloner badly breaks it when it finds itself in the dumped graph.
Let's remove this optimization, and skip dumping cloners by default as a bonus.

Commits
-------

3cd56cb018 [VarDumper] fix dumping the cloner itself
2019-06-05 04:03:00 +02:00
Fabien Potencier
4f7c614ef0 bug #31861 [HttpClient] work around PHP 7.3 bug related to json_encode() (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] work around PHP 7.3 bug related to json_encode()

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

This is the remaining of ##31860 for upper branches.

Commits
-------

42904e34e6 [HttpClient] work around PHP 7.3 bug related to json_encode()
2019-06-05 04:00:18 +02:00
Fabien Potencier
5c8fb7b33c feature #31658 [HTTP Foundation] Deprecate passing argument to method Request::isMethodSafe() (dFayet)
This PR was squashed before being merged into the 4.4 branch (closes #31658).

Discussion
----------

[HTTP Foundation] Deprecate passing argument to method Request::isMethodSafe()

| 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? | yes <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #31323    <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        |  <!-- required for new features -->

Passing argument to `Request::isMethodSafe()` should have been deprecated in 4.1. As mentionned there:  https://github.com/symfony/http-foundation/blob/master/Request.php#L1435-L1452

We also remove Exceptions throwed when you call `Request::isMethodSafe()`  or `Request::isMethodSafe(true)`

Commits
-------

59fa1bd127 [HTTP Foundation] Deprecate passing argument to method Request::isMethodSafe()
2019-06-05 03:45:34 +02:00
dFayet
59fa1bd127 [HTTP Foundation] Deprecate passing argument to method Request::isMethodSafe() 2019-06-05 03:45:23 +02:00
Nicolas Grekas
42904e34e6 [HttpClient] work around PHP 7.3 bug related to json_encode() 2019-06-04 21:00:49 +02:00
Nicolas Grekas
e6e63017f0 [HttpFoundation] work around PHP 7.3 bug related to json_encode() 2019-06-04 20:52:06 +02:00
Nicolas Grekas
3cd56cb018 [VarDumper] fix dumping the cloner itself 2019-06-04 19:28:31 +02:00
Titouan Galopin
e7c96d3b43 Rename the Symfony Mailer service config to avoid conflict with SwitMailer 2019-06-04 17:17:31 +02:00
Beno!t POLASZEK
4f0ad25fab Set default crypto method - Fix #31105 2019-06-04 15:59:49 +02:00
Fabien Potencier
04e2026b98 bug #31852 [Form] add missing symfony/service-contracts dependency (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[Form] add missing symfony/service-contracts dependency

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

`ResetInterface` is needed by `CachingFactoryDecorator`, which is used in `CoreExtension`, so this is a mandatory dep.

Commits
-------

8639bcca3d [Form] add missing symfony/service-contracts dependency
2019-06-04 15:54:26 +02:00
Nicolas Grekas
8639bcca3d [Form] add missing symfony/service-contracts dependency 2019-06-04 15:28:20 +02:00
Fabien Potencier
926ded8ea5 Merge branch '4.3' into 4.4
* 4.3:
  Fix inconsistency in json format regarding DST value
  changed type hints
  do not process private properties from parent class
  [HttpClient] fix unregistering the debug buffer when using curl
  don't add embedded properties to wrapping class metadata
  [Messenger] set amqp content_type based on serialization format
  [Mailer] fixed the possibility to set a From header from MessageListener
2019-06-04 14:24:01 +02:00
Fabien Potencier
33f3933a90 Merge branch '4.2' into 4.3
* 4.2:
  Fix inconsistency in json format regarding DST value
2019-06-04 14:23:51 +02:00
mmokhi
38a5b2c943 Fix inconsistency in json format regarding DST value
The `$expected` template seems not to be consistent.
It will change when the DST value is 0 (it'll not have `dst_savings` for
example)

This patch takes care of the issue, by adding proper condition.

Sponsored-by: Platform.sh
2019-06-04 13:59:41 +02:00
Nicolas Grekas
c402418723 [HttpClient] add $response->cancel() 2019-06-04 13:36:30 +02:00
Fabien Potencier
40076b98bf bug #31836 [DoctrineBridge] do not process private properties from parent class (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[DoctrineBridge] do not process private properties from parent class

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

Commits
-------

adfa1ef3ce do not process private properties from parent class
2019-06-04 12:24:01 +02:00
Fabien Potencier
22e5f32e5f bug #31790 [Messenger] set amqp content_type based on serialization format (Tobion)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] set amqp content_type based on serialization format

| 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 | #31736
| License       | MIT
| Doc PR        |

Commits
-------

dee077016d [Messenger] set amqp content_type based on serialization format
2019-06-04 12:22:38 +02:00
Fabien Potencier
d56ae06ca3 changed type hints 2019-06-04 11:22:54 +02:00
Christian Flothmann
be82b987bf conflict with HttpKernel component 5.0 2019-06-04 11:08:45 +02:00
Christian Flothmann
adfa1ef3ce do not process private properties from parent class 2019-06-04 10:43:25 +02:00
Nicolas Grekas
4acca42330 [HttpClient] Don't throw InvalidArgumentException on bad Location header 2019-06-04 10:32:15 +02:00
Fabien Potencier
ec9159e074 feature #31597 [Security] add MigratingPasswordEncoder (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] add MigratingPasswordEncoder

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

Split from #31153: the proposed `MigratingPasswordEncoder` is able to validate password using a chain of encoders, and encodes new them using the best-provided algorithm.

This chained encoder is used when the "auto" algorithm is configured. This is seamless for 4.3 app.

Commits
-------

765f14c80e [Security] add MigratingPasswordEncoder
2019-06-04 09:35:52 +02:00
Fabien Potencier
8d359b2525 feature #31351 [Validator] Improve TypeValidator to handle array of types (jschaedl)
This PR was merged into the 4.4 branch.

Discussion
----------

[Validator] Improve TypeValidator to handle array of types

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

The `@Type` constraint is now able to handle multiple types:

```php
/**
 * @var string|array
 * @Assert\Type(type={"string", "array"})
 */
 private $name;
```

and will pass when `$name` is either of type `string` or `array`.

Commits
-------

c8100f34f8 [Validator] Improve TypeValidator to handle array of types
2019-06-04 09:08:54 +02:00
Fabien Potencier
5d261bceb0 minor #31633 [Messenger][DoctrineBridge] Extract Abstract Doctrine Middleware (Koc)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger][DoctrineBridge] Extract Abstract Doctrine Middleware

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

Just a minior refactoring to prevent code duplicate.

Commits
-------

184ce667d3 Extract Abstract Doctrine Middleware
2019-06-04 09:05:15 +02:00
Robert Kopera
bdbac2c6e6 [Security] added support for updated \"distinguished name\" format in x509 authentication 2019-06-04 09:01:11 +02:00
Fabien Potencier
129bf7376b feature #31526 [Validator] Add compared value path to violation parameters (ogizanagi)
This PR was merged into the 4.4 branch.

Discussion
----------

[Validator] Add compared value path to violation parameters

| 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

While it's not really useful to use as a placeholder in the violation message template (compared to hard-coding it into the message. Nor it is really user-friendly),
it becomes handy in conjunction with #29130 for any mapping logic on client-side.

Commits
-------

2da226a57f [Validator] Add compared value path to violation parameters
2019-06-04 08:40:18 +02:00
Nicolas Grekas
4fce813ed0 [HttpClient] fix unregistering the debug buffer when using curl 2019-06-04 08:38:41 +02:00
Fabien Potencier
6f9d0f0a09 feature #31514 Add exception as HTML comment to beginning and end of exception_full.html.twig (ruudk)
This PR was merged into the 4.4 branch.

Discussion
----------

Add exception as HTML comment to beginning and end of `exception_full.html.twig`

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

## Description

Every now and then you are confronted with an exception in Symfony's debug mode. Sometimes, you will see this in your browser console or terminal. To make it easier to easily see what's going on, this change adds a HTML comment on 2 locations:
- between the `<html>` and `<head>` tag;
- between the `</body>` and `</html>` tag.

This way, you don't have to scan the very verbose HTML that Symfony generates. You can quickly glance at the end or the beginning.

## How does it look?

```html
<!-- Notice: Undefined index: payouts in /Volumes/CS/www/src/Generated/GraphQL/Query/TransactionList/Data.php line 33 (500 Internal Server Error) -->
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="robots" content="noindex,nofollow">
        <meta name="viewport" content="width=device-width,initial-scale=1">
        <title>    Notice: Undefined index: payouts in /Volumes/CS/www/src/Generated/GraphQL/Query/TransactionList/Data.php line 33 (500 Internal Server Error)
</title>
        <link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAgCAYAAAABtRhCAAADVUlEQVRIx82XX0jTURTHLYPyqZdefQx66CEo80+aYpoIkqzUikz6Z5klQoWUWYRIJYEUGpQ+lIr9U5dOTLdCtkmWZis3rbnC5fw/neYW002307mX/cZvP3/7o1PwwOdh95x7vnf39zvnd29AgBer2xO6DclAXiMqZAqxIiNIN/IYSUS2BPhjmGATchUxI+ADWiRhpWK7HKuHFVBFdmU5YvnI4grFGCaReF/EBH4KsZlGgj2JBTuCYBWRIYF8YoEOJ6wBt/gEs7mBbyOjQXruPLSdOgPCiEiPSUUHDoL8Ug5IUo9B/d5wrt+G7OAKNrODPuVdB6vRCIzN6SdBlpW9RIgk/1FeAXabzRlrUPVCS/JhbmwudztnGeeH9AyXBIwtmM3wLinZJZHifjHw2V+NBoRh+9ixQrbgbnaSIcl7cGea6hoXQbNe7za241oeO5Z0p42M4BV2EqP2D50wo+6HzvwC6C4sApNOR8cmOrtcnhtj2kYRyC9eBvXzKrBZrXSs72kFd1t3MoKVbMekQkEnSNKOO8fac3LpmK6l1TlGtsxmsdKFsecPYgwxst0cwROMYDXboSotg0WLBRqjY51jLYcENElXwW2XJKPydvoI2GN9T8rBtrAArYIUruBJXkFheCQYlCpQP6uk5dAQFQNaUROMSGVQFxLmkoQsxDJrhLbTZ+nvVsERME9MgPJRKV/58AsyomTSzE813WLFvWK++qI0xSfQl8k8Pg46sYRuv5t6dS+4RqxDwaa4BGjYH+NTQvKScIp9+YL/hoZh3jDtLRHtt2C3g6bmhX+CpsFBWg7ilDSPgj0lD2ncr5ev/BP8VvyAJhqVyZeUhPOrEhEFxgEtjft846Z/guQTNT89Q5P9flMLoth4F7808wKtWWKzAwNQHxrh/1vaid2F+XpYTSbQf1XA2McOmOpROnvpvMEA4tSjq1cW0sws2gCYxswY6TKkvzYnJq1NHZLnRU4BX+4U0uburvusu8Kv8iHY7qefkM4IFngJHEOUXmLEPgiGsI8YnlZILit3vSSLRTQe/MPIZva5pshNIEmyFQlCvruJKXPkCEfmePzkphXHdzZNQdoRI9KPlBAxlj/I8U97ERPS5bjGbWDFbEdqHVe5caTBeZZx2H/IMvzeN15yoQAAAABJRU5ErkJggg==%0A">

       <!-- ... clip ... -->

    Sfjs.addEventListener(document, 'DOMContentLoaded', function() {
        Sfjs.createTabs();
        Sfjs.createToggles();
        Sfjs.createFilters();
    });

/*]]>*/</script>

    </body>
</html>
<!-- Notice: Undefined index: payouts in /Volumes/CS/www/src/Generated/GraphQL/Query/TransactionList/Data.php line 33 (500 Internal Server Error) -->
```

Commits
-------

11c8b4531f Add exception as HTML comment to beginning and end of `exception_full.html.twig`
2019-06-04 08:32:40 +02:00
Nicolas Grekas
765f14c80e [Security] add MigratingPasswordEncoder 2019-06-04 08:31:08 +02:00
Fabien Potencier
2438b1422a bug #31774 [Mailer] Fix the possibility to set a From header from MessageListener (fabpot)
This PR was merged into the 4.3 branch.

Discussion
----------

[Mailer] Fix the possibility to set a From header from MessageListener

| 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 | #31733
| License       | MIT
| Doc PR        | n/a

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

f4254e6f5e [Mailer] fixed the possibility to set a From header from MessageListener
2019-06-04 08:18:12 +02:00
Fabien Potencier
66b87abcfc bug #31811 [DoctrineBridge] don't add embedded properties to wrapping class metadata (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[DoctrineBridge] don't add embedded properties to wrapping class metadata

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

Commits
-------

56fe02512c don't add embedded properties to wrapping class metadata
2019-06-04 08:16:02 +02:00
Konstantin Myakshin
184ce667d3 Extract Abstract Doctrine Middleware 2019-06-04 09:11:04 +03:00
Fabien Potencier
05d6d31794 minor #31661 [Translation] refactor ArrayLoader::flatten (azjezz)
This PR was squashed before being merged into the 4.4 branch (closes #31661).

Discussion
----------

[Translation] refactor ArrayLoader::flatten

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

Commits
-------

5b0544691e [Translation] refactor ArrayLoader::flatten
2019-06-04 08:11:00 +02:00
Saif Eddin G
5b0544691e [Translation] refactor ArrayLoader::flatten 2019-06-04 08:10:51 +02:00
Fabien Potencier
a2b79e15e1 feature #31739 [FrameworkBundle] Add missing BC layer for deprecated ControllerNameParser injections (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[FrameworkBundle] Add missing BC layer for deprecated ControllerNameParser injections

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

Allows removing the `ControllerNameParser` class and corresponding `controller_name_converter` service in 5.0.
Should have been done in 4.1, better late than never.

Commits
-------

1f37275a72 [FrameworkBundle] Add missing BC layer for deprecated ControllerNameParser injections
2019-06-04 07:54:11 +02:00
Fabien Potencier
852fb36101 feature #31831 [HttpClient] add $response->cancel() (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] add $response->cancel()

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

(BC break allowed by the `@experimental` annotation)

Canceling a response is already possible but requires registering a progress function and throwing an exception from it. This new method aims at making this much simpler.

/cc @jderusse as we discussed this on Slack.

Commits
-------

549930e820 [HttpClient] add $response->cancel()
2019-06-04 07:48:40 +02:00
Fabien Potencier
9ce3ff3c64 minor #31827 [Form][DX] Improved error message on create a form builder with invalid options (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[Form][DX] Improved error message on create a form builder with invalid options

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

**before**
> The required option "class" is missing.

**after**
> An error has occurred resolving the options of the form "App\Form\MyEntityType": The required option "class" is missing.

Commits
-------

37c7a2bf09 Improved error message on create a form builder with invalid options
2019-06-04 07:44:20 +02:00
Fabien Potencier
be7b7fea60 feature #31334 [Messenger] Add clear Entity Manager middleware (Koc)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] Add clear Entity Manager middleware

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

General purpose of this middleware:
* avoid memory leaks during messages handling
* prevent unexpected side effects when entities that already stored in identity map not refreshed between messages

Commits
-------

6e690a6078 Add clear Entity Manager middleware (closes #29662)
2019-06-04 07:41:58 +02:00
Fabien Potencier
957a0b82cb minor #31828 [TwigBundle] mark TemplateIterator as internal (Tobion)
This PR was merged into the 4.4 branch.

Discussion
----------

[TwigBundle] mark TemplateIterator as internal

| 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        | symfony/symfony-docs#... <!-- required for new features -->

This class is an implementation detail and should not be relied on as an extension point. This is also why TemplateCacheWarmer does not typhint this class but iterable. By making it internal we can remove the rootDir argument in #31823

Commits
-------

9b46c17911 [TwigBundle] mark TemplateIterator as internal
2019-06-04 07:02:12 +02:00
Robin Chalas
1768c9365c feature #31594 [Security] add PasswordEncoderInterface::needsRehash() (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] add PasswordEncoderInterface::needsRehash()

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

Split from #31153, with tests.

Commits
-------

50590dce81 [Security] add PasswordEncoderInterface::needsRehash()
2019-06-04 05:02:33 +02:00
Tobias Schultze
9b46c17911 [TwigBundle] mark TemplateIterator as internal
so we can remove the rootDir argument in 5.0
2019-06-04 01:50:10 +02:00
Nicolas Grekas
0119d217ca Merge branch '4.3' into 4.4
* 4.3:
  [Translation] Fixed case sensitivity of lint:xliff command
  fix type hint for salt in PasswordEncoderInterface
  Simplify code - catch \Throwable capture all exceptions
  Collect locale details earlier in the process in TranslationDataCollector
  fix typo in PR #31802
  update italian validator translation
  Add missing translations
  [TwigBridge] suggest Translation Component when TranslationExtension is used
2019-06-03 22:28:03 +02:00
Nicolas Grekas
0a9d724d2a Merge branch '4.2' into 4.3
* 4.2:
  [Translation] Fixed case sensitivity of lint:xliff command
  fix type hint for salt in PasswordEncoderInterface
  Simplify code - catch \Throwable capture all exceptions
  fix typo in PR #31802
  update italian validator translation
  Add missing translations
2019-06-03 22:27:40 +02:00
Nicolas Grekas
9fbfc4cf06 Merge branch '3.4' into 4.2
* 3.4:
  fix type hint for salt in PasswordEncoderInterface
  fix typo in PR #31802
  update italian validator translation
  Add missing translations
2019-06-03 22:27:17 +02:00
Nicolas Grekas
54ba63a57e bug #31786 [Translation] Fixed case sensitivity of lint:xliff command (javiereguiluz)
This PR was squashed before being merged into the 4.2 branch (closes #31786).

Discussion
----------

[Translation] Fixed case sensitivity of lint:xliff command

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

I was checking some errors of `lint:xliff` (https://travis-ci.org/EasyCorp/EasyAdminBundle/jobs/540053551#L657) and saw this:

```
ERROR  in src/Resources/translations/EasyAdminBundle.sr_RS.xlf
 * There is a mismatch between the language included in the file name ("EasyAdminBundle.sr_RS.xlf") and the "sr-rs" value used in the "target-language" attribute of the file.

ERROR  in src/Resources/translations/EasyAdminBundle.zh_CN.xlf
 * There is a mismatch between the language included in the file name ("EasyAdminBundle.zh_CN.xlf") and the "zh-cn" value used in the "target-language" attribute of the file.
```

This was suspicious, so I checked the XLIFF standard and it says (http://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html#target-language):

```
target-language:
  Unlike the other XLIFF attributes, the values are not case-sensitive.
```

So, it's valid that `zh-cn` is the target language and `zh-CN` is the file extension. This PR fixes that.

Commits
-------

ec690b2145 [Translation] Fixed case sensitivity of lint:xliff command
2019-06-03 22:10:17 +02:00
Javier Eguiluz
ec690b2145 [Translation] Fixed case sensitivity of lint:xliff command 2019-06-03 22:09:57 +02:00
Nicolas Grekas
0bf50cff96 bug #31815 [Translator] Collect locale details earlier in the process (pierredup)
This PR was merged into the 4.3 branch.

Discussion
----------

[Translator] Collect locale details earlier in the process

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

The [LocaleAwareListener](https://github.com/symfony/symfony/blob/4.3/src/Symfony/Component/HttpKernel/EventListener/LocaleListener.php) class reverts the locale back to the default locale when the request has finished. But the `TranslationDataCollector` only collects the locale in `lateCollect`, which only happens when the kernel terminates. This means the locale is reverted back to the default by the time the collector runs.

The PR moves the `locale` and `fallback_locales` from `lateCollect` to `collect`, so that the information can be captured earlier, before the `LocaleAwareListener` is run.

Commits
-------

5c394eeb79 Collect locale details earlier in the process in TranslationDataCollector
2019-06-03 21:51:47 +02:00
Massimiliano Arione
0e741f9600 fix type hint for salt in PasswordEncoderInterface 2019-06-03 21:38:25 +02:00
Yonel Ceruto
37c7a2bf09 Improved error message on create a form builder with invalid options 2019-06-03 15:21:10 -04:00
Nicolas Grekas
50590dce81 [Security] add PasswordEncoderInterface::needsRehash() 2019-06-03 20:14:30 +02:00
Nicolas Grekas
549930e820 [HttpClient] add $response->cancel() 2019-06-03 20:11:29 +02:00
Fabien Potencier
061f622a61 feature #31821 [FrameworkBundle][TwigBundle] Add missing deprecations for PHP templating layer (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[FrameworkBundle][TwigBundle] Add missing deprecations for PHP templating layer

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

As part of https://github.com/symfony/symfony/pull/21035 and 7169f4d3e2

Commits
-------

61613d0bf0 Add missing deprecations for PHP templating layer
2019-06-03 19:16:59 +02:00
Yonel Ceruto
61613d0bf0 Add missing deprecations for PHP templating layer 2019-06-03 12:49:37 -04:00
Konstantin Myakshin
6e690a6078 Add clear Entity Manager middleware (closes #29662) 2019-06-03 18:44:42 +03:00
Grégoire Pineau
693cbff647 feature #31509 [Monolog] Setup the LoggerProcessor after all other processor (lyrixx)
This PR was merged into the 4.4 branch.

Discussion
----------

[Monolog] Setup the LoggerProcessor after all other processor

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

---

This is a bit strange but [`Monolog\Processor::pushProcessor()`](ebb804e432/src/Monolog/Logger.php (L224-L229))  **prepend** the processor to the stack.

Since the Compiler Pass has a low priority, the `DebugProcessor` is always
the last one to be added to the stack, so the first one in it.

Commits
-------

429307d7cf [Monolog] Setup the LoggerProcessor after all other processor
2019-06-03 17:33:39 +02:00
Grégoire Pineau
648c6949fc Simplify code - catch \Throwable capture all exceptions
This is a legacy when we did support PHP 5.X
2019-06-03 17:30:31 +02:00
Pierre du Plessis
5c394eeb79
Collect locale details earlier in the process in TranslationDataCollector 2019-06-03 16:21:58 +02:00
Robin Chalas
1f37275a72 [FrameworkBundle] Add missing BC layer for deprecated ControllerNameParser injections 2019-06-03 15:37:01 +02:00
Christian Flothmann
56fe02512c don't add embedded properties to wrapping class metadata 2019-06-03 15:22:45 +02:00
Massimiliano Arione
b37c1a818f
fix typo in PR #31802 2019-06-03 11:50:31 +02:00
Massimiliano Arione
2b95fcaa6b update italian validator translation 2019-06-03 11:16:20 +02:00
Tobias Schultze
dee077016d [Messenger] set amqp content_type based on serialization format 2019-06-02 07:04:11 +02:00
Toni Peric
e83886c811
Add missing translations 2019-06-01 15:18:31 +02:00
Robin Chalas
14093386e6 [Messenger] Deprecate passing a bus locator to ConsumeMessagesCommand constructor 2019-06-01 15:06:38 +02:00
Robin Chalas
d7753035f8 [SecurityBundled] Forbid security-http >= 5.0 2019-06-01 14:48:35 +02:00
Robin Chalas
e2c9701e22 [Security][Guard] Forbid security-http >= 5.0 2019-06-01 14:17:19 +02:00
Jan Schädlich
4b593b08d1 [FrameworkBundle] Allow dots in translation domains 2019-06-01 11:25:45 +02:00
Jan Schädlich
c8100f34f8 [Validator] Improve TypeValidator to handle array of types 2019-06-01 10:45:40 +02:00
Fabien Potencier
d8224b87c8 bug #31761 [TwigBridge] suggest Translation Component when TranslationExtension is used (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[TwigBridge] suggest Translation Component when TranslationExtension is used

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

Commits
-------

d4a9e7e639 [TwigBridge] suggest Translation Component when TranslationExtension is used
2019-06-01 11:33:08 +03:00
Fabien Potencier
f4254e6f5e [Mailer] fixed the possibility to set a From header from MessageListener 2019-06-01 11:23:43 +03:00
Nicolas Grekas
d4a9e7e639 [TwigBridge] suggest Translation Component when TranslationExtension is used 2019-06-01 09:11:44 +02:00
Robin Chalas
8e5b6573ea Merge branch '4.3' into 4.4
* 4.3:
  [Security\Core] Make SodiumPasswordEncoder validate BCrypt-ed passwords
  [Validator] Fix TimezoneValidator default option
  [Messenger] Inject RoutableMessageBus instead of bus locator
  [DomCrawler] Fix type error with null Form::$currentUri
  [Contracts] Fixed typos
  do not enable validator auto mapping by default
  [HttpClient] remove unused argument
2019-05-31 20:55:48 +02:00
Robin Chalas
2a93351bea Merge branch '4.2' into 4.3
* 4.2:
  [DomCrawler] Fix type error with null Form::$currentUri
2019-05-31 20:55:30 +02:00
Fabien Potencier
6c930029b3 bug #31748 [Messenger] Inject RoutableMessageBus instead of bus locator (chalasr)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Inject RoutableMessageBus instead of bus locator

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

Commits
-------

91817e4de0 [Messenger] Inject RoutableMessageBus instead of bus locator
2019-05-31 16:02:42 +03:00
Robin Chalas
fbdb7f68e5 [SecurityBundle][Workflow] Forbid security-core 5.x 2019-05-31 12:59:29 +02:00
Nicolas Grekas
c0fc45682a [Security\Core] Make SodiumPasswordEncoder validate BCrypt-ed passwords 2019-05-31 11:10:50 +02:00
Amrouche Hamza
9646364476
[MonologBridge] RouteProcessor class is now final to ease the the removal of deprecated event 2019-05-31 10:47:09 +02:00
Nicolas Grekas
89f423fc35 bug #31744 [Validator] Fix TimezoneValidator default option (ro0NL)
This PR was squashed before being merged into the 4.3 branch (closes #31744).

Discussion
----------

[Validator] Fix TimezoneValidator default option

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

ee71cdbae4 [Validator] Fix TimezoneValidator default option
2019-05-31 09:43:12 +02:00
Roland Franssen
ee71cdbae4 [Validator] Fix TimezoneValidator default option 2019-05-31 09:42:02 +02:00
Nicolas Grekas
d38c19a3b4 bug #31749 [DoctrineBridge][Validator] do not enable validator auto mapping by default (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[DoctrineBridge][Validator] do not enable validator auto mapping by default

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

Commits
-------

a3555fc49c do not enable validator auto mapping by default
2019-05-31 09:34:40 +02:00
Robin Chalas
91817e4de0 [Messenger] Inject RoutableMessageBus instead of bus locator 2019-05-31 02:51:53 +02:00
Robin Chalas
e48d5d07e3 [DomCrawler] Fix type error with null Form::$currentUri 2019-05-31 01:40:59 +02:00
SAMUEL NELA
0bb8ba4ea4
[Contracts] Fixed typos 2019-05-31 00:41:44 +02:00
Robin Chalas
7481db6570 [Security][Http] Forbid security-core 5.x 2019-05-30 23:24:03 +02:00
Christian Flothmann
a3555fc49c do not enable validator auto mapping by default 2019-05-30 21:25:18 +02:00
Nicolas Grekas
da85b48c32 [HttpClient] remove unused argument 2019-05-30 18:27:37 +02:00
Nicolas Grekas
c62032a730 Merge branch '4.3' into 4.4
* 4.3:
  Use willReturn() instead of will(returnValue()).
2019-05-30 18:10:19 +02:00
Nicolas Grekas
0da213711c Merge branch '4.2' into 4.3
* 4.2:
  Use willReturn() instead of will(returnValue()).
2019-05-30 18:10:05 +02:00
Nicolas Grekas
06c655251c Merge branch '3.4' into 4.2
* 3.4:
  Use willReturn() instead of will(returnValue()).
2019-05-30 18:06:08 +02:00
Alexander M. Turek
4fb67df612 Use willReturn() instead of will(returnValue()). 2019-05-30 17:47:52 +02:00
Nicolas Grekas
47fd08eb5c Merge branch '4.3' into 4.4
* 4.3:
  Add missed use class for Symfony\Bundle\FrameworkBundle\Test\WebTestCase::$client
  [HttpClient] Minor fix in an error message
  Fix parameter documentation for Inflector::pluralize() method
  Use a more appropriate group when deprecating mode
  bumped Symfony version to 4.3.1
  updated VERSION for 4.3.0
  updated CHANGELOG for 4.3.0
  [FrameworkBundle] fix test fixture using deprecated controller and add missing deprecation
  [FrameworkBundle] Add a validation on the messenger section
2019-05-30 15:50:22 +02:00
Nicolas Grekas
1203290688 feature #31732 [HttpKernel] Make DebugHandlersListener internal (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] Make DebugHandlersListener internal

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

Required to remove the legacy `Event` argument type declaration from its `configure()` method in 5.0.
Unlocks #31689

Commits
-------

1a8db293c6 [HttpKernel] Make DebugHandlersListener internal
2019-05-30 15:26:48 +02:00
Robin Chalas
1a8db293c6 [HttpKernel] Make DebugHandlersListener internal 2019-05-30 15:23:23 +02:00
Alexander M. Turek
44f326dc4c HttpKernel 4.4 is incompatible with Console 5 because of the EventDispatcher changes. 2019-05-30 14:30:19 +02:00
Nicolas Grekas
3392186e7f minor #31719 Add missed use class for Symfony\Bundle\FrameworkBundle\Test\WebTestCase::$client (andrew-demb)
This PR was squashed before being merged into the 4.3 branch (closes #31719).

Discussion
----------

Add missed use class for Symfony\Bundle\FrameworkBundle\Test\WebTestCase::$client

| 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        | symfony/symfony-docs#... <!-- required for new features -->

In `Symfony\Bundle\FrameworkBundle\Test\WebTestCase::$client` property exists phpdoc about property class, but no `use` declaration added.

As `Symfony\Bundle\FrameworkBundle\Client` deprecated, and actually this will be `Symfony\Bundle\FrameworkBundle\KernelBrowser` instance, we can put `KernelBrowser` instead `Client` (not sure about BC)
<!--
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.
-->

Commits
-------

6982025e3a Add missed use class for Symfony\Bundle\FrameworkBundle\Test\WebTestCase::$client
2019-05-30 13:26:49 +02:00
Andrii Dembitskyi
6982025e3a Add missed use class for Symfony\Bundle\FrameworkBundle\Test\WebTestCase::$client 2019-05-30 13:26:44 +02:00
Christian Flothmann
9df66b831a bump Twig bridge dependency
We need a version of the `DebugCommand` class that is compatible with
its service definition in the Twig bundle.
2019-05-30 12:28:51 +02:00
Nicolas Grekas
d690792dc7 minor #31726 [HttpClient] Minor fix in an error message (javiereguiluz)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] Minor fix in an error message

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

![image](https://user-images.githubusercontent.com/73419/58624608-e9de9e00-82d0-11e9-9558-3f52388f1531.png)

Commits
-------

2da9e3f717 [HttpClient] Minor fix in an error message
2019-05-30 12:01:41 +02:00
Nicolas Grekas
695ee319df minor #31722 Fix parameter documentation for Inflector::pluralize() method (Chi-teck)
This PR was merged into the 4.3 branch.

Discussion
----------

Fix parameter documentation for Inflector::pluralize() method

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

Commits
-------

33844376da Fix parameter documentation for Inflector::pluralize() method
2019-05-30 11:58:12 +02:00
Nicolas Grekas
b49d59fec3 minor #31712 Marked several components as incompatible with EventDispatcher 5 (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

Marked several components as incompatible with EventDispatcher 5

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

Quite a few components still use the old event class that is to be removed in Symfony 5. This PR ensures that they are only installed with EventDispatcher 4.

Follow up to #31709

Commits
-------

e6a4526fa3 Marked several components as incompatible with EventDispatcher 5.
2019-05-30 11:53:54 +02:00
Javier Eguiluz
2da9e3f717 [HttpClient] Minor fix in an error message 2019-05-30 11:47:28 +02:00
Chi-teck
33844376da Fix parameter documentation for Inflector::pluralize() method 2019-05-30 14:28:08 +05:00
Grégoire Paris
3a88f11662
Use a more appropriate group when deprecating mode
The deprecation comes from a vendor: the phpunit bridge itself, so it's
either the direct or the indirect group. And since only the end user is
supposed to set the group, then this is supposed to be a direct
deprecation.
2019-05-30 10:57:55 +02:00
Alexander M. Turek
e6a4526fa3 Marked several components as incompatible with EventDispatcher 5. 2019-05-30 09:25:19 +02:00
Fabien Potencier
f9beee7424 bumped Symfony version to 4.3.1 2019-05-30 08:26:43 +02:00
Fabien Potencier
090c029f21 updated VERSION for 4.3.0 2019-05-30 08:21:08 +02:00
Tobias Schultze
7f00a74754 [FrameworkBundle] fix test fixture using deprecated controller and add missing deprecation 2019-05-30 05:17:01 +02:00
Tobias Schultze
ea8c054971 minor #31688 [TwigBridge] Swapped $rootDir and $fileLinkFormatter arguments in DebugCommand (yceruto)
This PR was merged into the 4.4 branch.

Discussion
----------

[TwigBridge] Swapped $rootDir and $fileLinkFormatter arguments in DebugCommand

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

This is necessary to remove the `$rootDir` in 5.0, see https://github.com/symfony/symfony/pull/31667

Commits
-------

beca8642ca exchanged $rootDir and $fileLinkFormatter arguments in DebugCommand
2019-05-30 00:24:54 +02:00
Tobias Schultze
e1923c620d minor #31662 [FrameworkBundle] Add a validation on the messenger section (vincenttouzet)
This PR was merged into the 4.3 branch.

Discussion
----------

[FrameworkBundle] Add a validation on the messenger section

| Q             | A
| ------------- | ---
| Branch?       | 4.3  <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #31624    <!-- #-prefixed issue number(s), if any -->
| 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 the master branch.
-->

Commits
-------

36f16e8461 [FrameworkBundle] Add a validation on the messenger section
2019-05-30 00:23:24 +02:00
Nicolas Grekas
5af3e54d2b Merge branch '4.3' into 4.4
* 4.3:
  [Intl] Improve the error message when country code is wrong
  Fix tests
  [Intl][4.3] Cleanup internal api
  [HttpFoundation] Do not set X-Accel-Redirect for paths outside of X-Accel-Mapping
  bumped Symfony version to 4.2.10
  updated VERSION for 4.2.9
  updated CHANGELOG for 4.2.9
  Use AsserEquals for floating-point values
2019-05-29 20:10:53 +02:00
Nicolas Grekas
ac88953ef9 Merge branch '4.2' into 4.3
* 4.2:
  [HttpFoundation] Do not set X-Accel-Redirect for paths outside of X-Accel-Mapping
  bumped Symfony version to 4.2.10
  updated VERSION for 4.2.9
  updated CHANGELOG for 4.2.9
  Use AsserEquals for floating-point values
2019-05-29 20:10:42 +02:00
Nicolas Grekas
31f51ca9a5 Merge branch '3.4' into 4.2
* 3.4:
  [HttpFoundation] Do not set X-Accel-Redirect for paths outside of X-Accel-Mapping
  Use AsserEquals for floating-point values
2019-05-29 20:10:06 +02:00
Nicolas Grekas
96ecf4b7c8 minor #31685 Fix tests (ro0NL)
This PR was merged into the 4.3 branch.

Discussion
----------

Fix tests

| 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 | #31638
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Commits
-------

733f017904 Fix tests
2019-05-29 20:05:48 +02:00
Javier Eguiluz
f4ff47e47e [Intl] Improve the error message when country code is wrong 2019-05-29 20:02:35 +02:00
Yonel Ceruto
beca8642ca exchanged $rootDir and $fileLinkFormatter arguments in DebugCommand 2019-05-29 12:21:24 -04:00
Roland Franssen
733f017904 Fix tests 2019-05-29 15:02:41 +02:00
Nicolas Grekas
19811b8874 fix typo 2019-05-29 09:32:42 +02:00
Roland Franssen
6eab5d2460 [Intl][4.3] Cleanup internal api 2019-05-29 08:53:22 +02:00
Vincent Touzet
36f16e8461 [FrameworkBundle] Add a validation on the messenger section 2019-05-29 08:24:00 +02:00
Nicolas Grekas
7f40716618 [Translation] fix dep 2019-05-28 19:58:57 +02:00
Nicolas Grekas
384393cb36 Allow Symfony 5.0 2019-05-28 17:53:17 +02:00
Nicolas Grekas
94fd42c396 Merge branch '4.3' into 4.4
* 4.3:
  bumped Symfony version to 4.3.0
  updated VERSION for 4.3.0-RC1
  updated CHANGELOG for 4.3.0-RC1
  Create an abstract HTTP transport and extend it in all HTTP transports
  Updated "experimental" annotations for 4.3
2019-05-28 14:57:34 +02:00
Vilius Grigaliūnas
a662f61e08 [HttpFoundation] Do not set X-Accel-Redirect for paths outside of X-Accel-Mapping
Currently BinaryFileResponse, when configured with X-Accel-Redirect sendfile type,
will only substitute file paths specified in X-Accel-Mapping. But if the provided
file path does not have a defined prefix, then the resulting header will include
the absolute path. Nginx expects a valid URI, therefore this will result in an
issue that is very hard to detect and debug as it will not show up in error logs
and instead the request would just hang for some time and then be re-served
without query parameters(?).
2019-05-28 15:48:21 +03:00
Fabien Potencier
33e743b5f7 bumped Symfony version to 4.3.0 2019-05-28 14:37:30 +02:00
Fabien Potencier
70c35d3643 updated VERSION for 4.3.0-RC1 2019-05-28 14:33:09 +02:00
Fabien Potencier
2d72ec1a10 bumped Symfony version to 4.2.10 2019-05-28 14:11:55 +02:00
Fabien Potencier
c4462f6695 updated VERSION for 4.2.9 2019-05-28 14:07:12 +02:00
Fabien Potencier
59d5a770e0 bug #31650 Create an abstract HTTP transport and extend it in all HTTP transports (bocharsky-bw)
This PR was merged into the 4.3 branch.

Discussion
----------

Create an abstract HTTP transport and extend it in all HTTP transports

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

Right now when you try to use an HTTP transport e.g. Mailgun w/o HTTP client installed - the error message is:
> Attempted to load class "HttpClient" from namespace "Symfony\Component\HttpClient".
Did you forget a "use" statement for "Http\Client\HttpClient"?

Not clear enough about what to do. After this PR the error message will be:
> You cannot use "Symfony\Component\Mailer\Bridge\Mailgun\Http\MailgunTransport" as the HttpClient component is not installed. Try running "composer require symfony/http-client".

Actually, we already have a similar check for API:
2c9a1960a1/src/Symfony/Component/Mailer/Transport/Http/Api/AbstractApiTransport.php (L37-L44)

Commits
-------

3c8d63ca82 Create an abstract HTTP transport and extend it in all HTTP transports
2019-05-28 13:59:36 +02:00
Victor Bocharsky
3c8d63ca82 Create an abstract HTTP transport and extend it in all HTTP transports 2019-05-28 14:49:33 +03:00
Nicolas Grekas
3a508e3258 Updated "experimental" annotations for 4.3 2019-05-28 13:49:01 +02:00
mmokhi
0cef5f3ec9 Use AsserEquals for floating-point values
Use AssertEquals for these two specific case will do a better job,
since it'll convert both '0.1' and result of `getContent()` into PHP's
internal representation of floating-point and compares them and it should be fine.
Using `AssertSame` for this tests brings floating-point serialization
into consideration which of course will be php.ini specific.

In order not missing the type assertion point that `AssertSame` does,
we also perform `assertInternalType('string'...`

Sponsored-by: Platform.sh
2019-05-28 12:41:01 +02:00
Fabien Potencier
bb9a67df3b bumped Symfony version to 3.4.29 2019-05-28 11:38:37 +02:00
Fabien Potencier
af28e976df updated VERSION for 3.4.28 2019-05-28 11:24:42 +02:00
Nicolas Grekas
90167c36f8 fix tests 2019-05-28 11:19:25 +02:00
Nicolas Grekas
64c162648a Merge branch '4.3'
* 4.3:
  fix tests
  [Bridge\Twig] lazy load TranslatorTrait
2019-05-28 11:09:33 +02:00
Nicolas Grekas
38d8bdd27d Merge branch '4.2' into 4.3
* 4.2:
  fix tests
2019-05-28 11:09:27 +02:00
Nicolas Grekas
a7bfe26fcc fix tests 2019-05-28 11:07:12 +02:00
Nicolas Grekas
2ba8b8f15e [Bridge\Twig] lazy load TranslatorTrait 2019-05-28 11:03:44 +02:00
Nicolas Grekas
0b0f7bf807 fix tests 2019-05-28 10:32:53 +02:00
Nicolas Grekas
086ca1b6f5 Merge branch '4.3'
* 4.3:
  [HttpClient] make $response->getInfo('debug') return extended logs about the HTTP transaction
  fix typo
  Fixes a small doc blocks syntax error
  Small grammar mistake in documentation
  [Messenger] Use real memory usage for --memory-limit
  [Workflow] Do not trigger extra guard
2019-05-28 10:29:32 +02:00
Nicolas Grekas
7aeb6f5c24 Merge branch '4.2' into 4.3
* 4.2:
  fix typo
  Fixes a small doc blocks syntax error
  Small grammar mistake in documentation
  [Messenger] Use real memory usage for --memory-limit
  [Workflow] Do not trigger extra guard
2019-05-28 10:29:18 +02:00
Nicolas Grekas
1214609b37 [HttpClient] make $response->getInfo('debug') return extended logs about the HTTP transaction 2019-05-28 10:25:44 +02:00
Nicolas Grekas
82a1ebf57e Merge branch '3.4' into 4.2
* 3.4:
  fix typo
2019-05-28 10:20:12 +02:00
Nicolas Grekas
f0a14b1d39 Merge branch '4.3'
* 4.3:
  fix tests
  [Messenger] Use real memory usage for --memory-limit
2019-05-28 09:51:04 +02:00
Nicolas Grekas
cfeb5bee07 fix tests 2019-05-28 09:50:59 +02:00
Fabien Potencier
4bd85343e6 [Messenger] Use real memory usage for --memory-limit 2019-05-27 21:38:51 +02:00
Fabien Potencier
deb01eb349 minor #31642 FragmentListener - fix typo in annotation (henry2778)
This PR was merged into the 3.4 branch.

Discussion
----------

FragmentListener - fix typo in annotation

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

Just a small typo I've found in fragment listener :)

Commits
-------

b6ff836a49 fix typo
2019-05-27 21:37:51 +02:00
Andrii Popov
b6ff836a49 fix typo 2019-05-27 21:45:58 +03:00
Fabien Potencier
e69551f053 Merge branch '4.3'
* 4.3:
  Fix typo
2019-05-27 13:12:24 +02:00
Chris Wilkinson
b27b4199fc
Fix typo 2019-05-27 11:52:29 +01:00
Fabien Potencier
e2aae82f35 Merge branch '4.3'
* 4.3:
  Reference individual contracts packages
2019-05-27 12:42:03 +02:00
Nicolas Grekas
0a640c53cb Reference individual contracts packages 2019-05-27 10:16:38 +02:00
Fabien Potencier
97d378a3e2 Merge branch '4.3'
* 4.3:
  [Messenger] Disable the SchemaAssetsFilter when setup the transport
  [Messenger] Fix missing auto_setup for RedisTransport
  [Contracts] split in one package per sub-contracts
2019-05-27 08:43:27 +02:00
Fabien Potencier
8df4e576b0 feature #31571 [Contracts] split in one package per sub-contracts (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[Contracts] split in one package per sub-contracts

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

Commits
-------

f410691842 [Contracts] split in one package per sub-contracts
2019-05-27 08:14:12 +02:00
Fabien Potencier
e19de5455f bug #31625 [Messenger] Disable the SchemaAssetsFilter when setup the transport (vincenttouzet)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Disable the SchemaAssetsFilter when setup the transport

| 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 | #31623
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Commits
-------

8cbb8f89ad [Messenger] Disable the SchemaAssetsFilter when setup the transport
2019-05-27 08:00:16 +02:00
Fabien Potencier
4c1df8a86c bug #31621 [Messenger] Fix missing auto_setup for RedisTransport (chalasr)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Fix missing auto_setup for RedisTransport

| 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

Should be my last PR for messenger 4.3's Redis transport :)
Not having it makes it inconsistent with other transports and is especially annoying in tests.

Commits
-------

d27bc2a87d [Messenger] Fix missing auto_setup for RedisTransport
2019-05-27 07:59:06 +02:00
Fabien Potencier
2314f81891 Merge branch '3.4' into 4.2
* 3.4:
  Fixes a small doc blocks syntax error
  Small grammar mistake in documentation
  [Workflow] Do not trigger extra guard
2019-05-27 07:57:45 +02:00
Fabien Potencier
c562e71d29 bug #31584 [Workflow] Do not trigger extra guards (lyrixx)
This PR was merged into the 3.4 branch.

Discussion
----------

[Workflow] Do not trigger extra guards

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

---

With this patch, guards are executed only on wanted transitions

**Note for merger**: This is already fixed (in a different manner) in 4.2, So this patch should not be included in 4.2, instead take: #31585 or discard changes of Workflow class but keep tests

Commits
-------

ad0619748e [Workflow] Do not trigger extra guard
2019-05-27 07:53:57 +02:00
Fabien Potencier
ac4429a6aa bug #31632 [Messenger] Use "real" memory usage to honor --memory-limit (chalasr)
This PR was merged into the 4.2 branch.

Discussion
----------

[Messenger] Use "real" memory usage to honor --memory-limit

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

At least it's consistent with what other daemon-based libraries do:
https://github.com/php-enqueue/enqueue-dev/blob/master/pkg/enqueue/Consumption/Extension/LimitConsumerMemoryExtension.php#L58
https://github.com/M6Web/DaemonBundle/blob/master/src/M6Web/Bundle/DaemonBundle/Command/DaemonCommand.php#L493

Commits
-------

fbfe2dfa8a [Messenger] Use real memory usage for --memory-limit
2019-05-27 07:52:11 +02:00
Michael Käfer
34d4fa66e7 Fixes a small doc blocks syntax error 2019-05-27 07:50:24 +02:00
Michael Käfer
ec098d6c5d Small grammar mistake in documentation 2019-05-27 07:42:07 +02:00
Nicolas Grekas
b1a6ceabb2 Merge branch '4.3'
* 4.3:
  [github] Implement the new security policy.
  [Finder] fix wrong method call casing
  Make tempfile path unique
  minor: fix phpdocs in the ldap component
  [Process] Fix infinite waiting for stopped process
  Use absolute URL for when the profiler's domain differs from the controller's domain which initialises the profiler.
  fix phpdoc
  [DI] fix using bindings with locators of service subscribers
2019-05-26 22:48:03 +02:00
Nicolas Grekas
75c1d5cd7b Merge branch '4.2' into 4.3
* 4.2:
  [github] Implement the new security policy.
  [Finder] fix wrong method call casing
  Make tempfile path unique
  minor: fix phpdocs in the ldap component
  [Process] Fix infinite waiting for stopped process
  Use absolute URL for when the profiler's domain differs from the controller's domain which initialises the profiler.
  fix phpdoc
  [DI] fix using bindings with locators of service subscribers
2019-05-26 22:47:49 +02:00
Nicolas Grekas
81f6f3b6d2 Merge branch '3.4' into 4.2
* 3.4:
  [github] Implement the new security policy.
  [Finder] fix wrong method call casing
  Make tempfile path unique
  minor: fix phpdocs in the ldap component
  [Process] Fix infinite waiting for stopped process
  Use absolute URL for when the profiler's domain differs from the controller's domain which initialises the profiler.
  fix phpdoc
  [DI] fix using bindings with locators of service subscribers
2019-05-26 22:47:34 +02:00
Robin Chalas
fbfe2dfa8a [Messenger] Use real memory usage for --memory-limit 2019-05-26 22:33:59 +02:00
Vincent Touzet
8cbb8f89ad [Messenger] Disable the SchemaAssetsFilter when setup the transport 2019-05-26 17:41:06 +02:00
Grégoire Pineau
ad0619748e [Workflow] Do not trigger extra guard
With this patch, guard are executed only on wanted transitions
2019-05-26 16:07:43 +02:00
Robin Chalas
d27bc2a87d [Messenger] Fix missing auto_setup for RedisTransport 2019-05-26 15:41:31 +02:00
Fabien Potencier
5dba412d30 Merge branch '4.3'
* 4.3: (22 commits)
  [Messenger] Fix incorrect error when symfony/serializer is missing
  Allow WrappedListener to describe uncallable listeners.
  [HttpClient] fix handling exceptions thrown before first mock chunk
  [Filesystem] fix wrong method call casing
  [HttpClient] fix test
  [Translation] Fixed issue with new vs old TranslatorInterface in TranslationDataCollector
  Don't reference symfony/security
  [HttpClient] display proper error message on TransportException when curl is used
  [FrameworkBundle] fix named autowiring aliases for TagAwareCacheInterface
  [Cache] improve logged messages
  [FrameworkBundle] improve cs
  [Mime][HttpFoundation] Added mime type audio/x-hx-aac-adts
  bumped Symfony version to 4.3.0
  updated VERSION for 4.3.0-BETA2
  updated CHANGELOG for 4.3.0-BETA2
  [HttpClient] Only use CURLMOPT_MAX_HOST_CONNECTIONS & CURL_VERSION_HTTP2 if defined
  [Security] fixed a fatal error when upgrading from 4.2
  [HttpClient] Allow arrays as query parameters
  Throws UnrecoverableMessageHandlingException when passed invalid entity manager name for Doctrine middlewares
  [Messenger] Make redis Connection::get() non blocking by default
  ...
2019-05-26 11:07:14 +02:00
Fabien Potencier
a423badbe5 Merge branch '4.2' into 4.3
* 4.2:
  [Translation] Fixed issue with new vs old TranslatorInterface in TranslationDataCollector
  [FrameworkBundle] improve cs
2019-05-26 11:06:58 +02:00
Robin Chalas
4c83f11024 [Messenger] Fix incorrect error when symfony/serializer is missing 2019-05-26 02:34:38 +02:00
Fabien Potencier
24af4c5c92 feature #31539 [HttpKernel] Add lts config (noniagriconomie)
This PR was squashed before being merged into the 4.4-dev branch (closes #31539).

Discussion
----------

[HttpKernel] Add lts config

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

Hi, I was playing with data collector in a demo project, so I propose this for symfony

<img width="872" alt="symfony_lts" src="https://user-images.githubusercontent.com/13205768/57979986-1ec33900-7a25-11e9-8199-13ed45b4fa78.png">

<img width="748" alt="symfony_lts_cli" src="https://user-images.githubusercontent.com/13205768/57980004-75c90e00-7a25-11e9-8e95-edefb2b7e9d1.png">

Commits
-------

1da79ed2ec [HttpKernel] Add lts config
2019-05-25 12:10:14 +02:00
Antoine M
1da79ed2ec [HttpKernel] Add lts config 2019-05-25 12:09:58 +02:00
Fabien Potencier
6aacfea491 bug #31610 [HttpClient] fix handling exceptions thrown before first mock chunk (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] fix handling exceptions thrown before first mock chunk

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

Discovered while fixing a 60s timeout on a test case, which this fixes too.

Commits
-------

812b0172f4 [HttpClient] fix handling exceptions thrown before first mock chunk
2019-05-25 10:31:33 +02:00
Fabien Potencier
5ecf80ab3c bug #31615 Allow WrappedListener to describe uncallable listeners (derrabus)
This PR was merged into the 4.3 branch.

Discussion
----------

Allow WrappedListener to describe uncallable listeners

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

This is a follow-up to #31493. The previous PR did not fix the problem completely. We also need to make sure that a listener that is not callable is not passed to `Closure::fromCallable()`.

Note: It would probably be a good idea to give the developer a hint about uncallable listeners. Currently, such a listener causes an exception at the worst possible point of time: when collecting the profile information. This breaks the toolbar without any helpful feedback, as I've described [here](https://github.com/symfony/symfony/pull/31493#issuecomment-492921480).

This PR allows the `WrappedListener` class to describe a listener for the profiler even if the listener is not callable, which was the behavior in Symfony 4.2.

Commits
-------

bc3f598bfe Allow WrappedListener to describe uncallable listeners.
2019-05-25 10:29:54 +02:00
Alexander M. Turek
bc3f598bfe Allow WrappedListener to describe uncallable listeners. 2019-05-24 22:20:57 +02:00
Nicolas Grekas
812b0172f4 [HttpClient] fix handling exceptions thrown before first mock chunk 2019-05-24 16:45:54 +02:00
Saif Eddin G
288f2b76e3
[Filesystem] fix wrong method call casing 2019-05-24 13:50:04 +01:00
Saif Eddin G
9b558fe185
[Finder] fix wrong method call casing 2019-05-24 13:25:55 +01:00
Ruud Kamphuis
11c8b4531f
Add exception as HTML comment to beginning and end of exception_full.html.twig
Every now and then you are confronted with an exception in Symfony's debug mode. Sometimes, you will see this in your browser console or terminal. To make it easier to easily see what's going on, this change adds a HTML comment on 2 locations:
- before the `<html>` tag;
- after the `</html>` tag.

This way, you don't have to scan the very verbose HTML that Symfony generates. You can quickly glance at the end or the beginning.
2019-05-24 10:25:20 +02:00
Nicolas Grekas
ce26936730 [HttpClient] fix test 2019-05-24 10:15:37 +02:00
mmokhi
2a9816f0b6 Make tempfile path unique
The temp-file that the test currently creates is `/tmp/log`.
This may exist on many platforms already (including `platform.sh` app containers).
With the proposed patch way the collision will be less likely.

Sponsored-by: Platform.sh
2019-05-23 18:22:28 +02:00
Matthias Althaus
a1677c78a6 [Translation] Fixed issue with new vs old TranslatorInterface in TranslationDataCollector 2019-05-23 17:21:18 +02:00
Nicolas Grekas
c67632cd23 Don't reference symfony/security 2019-05-23 14:32:47 +02:00
Nicolas Grekas
6bd10a8b0a bug #31565 [Mime][HttpFoundation] Added mime type audio/x-hx-aac-adts (ifaridjalilov)
This PR was merged into the 4.3 branch.

Discussion
----------

[Mime][HttpFoundation] Added mime type audio/x-hx-aac-adts

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

Replaces #31464

Commits
-------

67fbae1dbf [Mime][HttpFoundation] Added mime type audio/x-hx-aac-adts
2019-05-23 09:03:45 +02:00
Nicolas Grekas
77153b0ca2 bug #31591 [FrameworkBundle] fix named autowiring aliases for TagAwareCacheInterface (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[FrameworkBundle] fix named autowiring aliases for TagAwareCacheInterface

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

Doing a demo today, I realized that named autowiring aliases are missing for `TagAwareCacheInterface`, and that existing ones point to the wrong service. Here is the fix.

Commits
-------

d9082c2ae4 [FrameworkBundle] fix named autowiring aliases for TagAwareCacheInterface
2019-05-23 09:02:13 +02:00
Nicolas Grekas
cf7a91c026 bug #31590 [Cache] improve logged messages (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[Cache] improve logged messages

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

This was improved already in #31395, but the patch was incomplete.
This PR fixes this.

Commits
-------

257f3f176e [Cache] improve logged messages
2019-05-23 09:01:28 +02:00
Nicolas Grekas
3273109cbe [HttpClient] display proper error message on TransportException when curl is used 2019-05-23 08:55:10 +02:00
Nicolas Grekas
d9082c2ae4 [FrameworkBundle] fix named autowiring aliases for TagAwareCacheInterface 2019-05-22 22:49:36 +02:00
Nicolas Grekas
257f3f176e [Cache] improve logged messages 2019-05-22 20:58:27 +02:00
Nicolas Grekas
93c2412652 [FrameworkBundle] improve cs 2019-05-22 20:38:35 +02:00
Amrouche Hamza
721915f8ec
minor: fix phpdocs in the ldap component 2019-05-22 18:32:44 +02:00
Amrouche Hamza
1b29cb1a5f
[Ldap] Add exception for mapping ldap errors 2019-05-22 18:30:01 +02:00
Nicolas Grekas
8a220d8225 bug #31349 [WebProfilerBundle] Use absolute URL for profiler links (Alumbrados)
This PR was merged into the 3.4 branch.

Discussion
----------

[WebProfilerBundle] Use absolute URL for profiler links

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

Generate absolute URL's so you can have a different (sub)domain for the profiler and the controller that uses it.

Also uses the link which the controller generated instead of always generating a new link in Twig. The changes shouldn't inpact normal behavior.

Commits
-------

13ee1fa2b7 Use absolute URL for when the profiler's domain differs from the controller's domain which initialises the profiler.
2019-05-22 16:37:24 +02:00
Nicolas Grekas
63d730920b feature #31437 [Cache] Add Redis Sentinel support (StephenClouse)
This PR was squashed before being merged into the 4.4-dev branch (closes #31437).

Discussion
----------

[Cache] Add Redis Sentinel support

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

This change adds support for Redis Sentinel clusters to the Cache component Redis adapter.

The DSN format is syntactically equivalent to cluster support, but adds a new parameter `redis_sentinel` that should be set to the sentinel service name.

This support requires the use of predis as the underlying connection library. The redis extension does not support sentinel at this time.

Commits
-------

80e8b21525 [Cache] Add Redis Sentinel support
2019-05-22 16:28:18 +02:00
Stephen Clouse
80e8b21525 [Cache] Add Redis Sentinel support 2019-05-22 16:28:11 +02:00
Farid Jalilov
67fbae1dbf [Mime][HttpFoundation] Added mime type audio/x-hx-aac-adts 2019-05-22 15:16:28 +02:00
Nicolas Grekas
f93e252f6a bug #31541 [DI] fix using bindings with locators of service subscribers (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] fix using bindings with locators of service subscribers

| 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 during the workshop in Sao Paulo, with @tsantos84, @andreia and others :)

Commits
-------

7146b95303 [DI] fix using bindings with locators of service subscribers
2019-05-22 15:07:19 +02:00
Nicolas Grekas
b60872b1cf bug #31568 [Process] Fix infinite waiting for stopped process (mshavliuk)
This PR was squashed before being merged into the 3.4 branch (closes #31568).

Discussion
----------

[Process] Fix infinite waiting for stopped process

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

### Description
Add a regression test `Symfony\Component\Process\Tests\ProcessTest:testWaitStoppedDeadProcess` to reproduce the related bug #31548 . It consists of one file `ErrorProcessInitiator.php`, which executes as another process because otherwise if `Process::wait()` goes in an infinite loop (which is test checks) it will be impossible to handle it and stop test correctly.

The second commit contains bug fix, which is only `$this->checkTimeout();` call, that prevents infinite loop.

Commits
-------

6b9ee1e1c5 [Process] Fix infinite waiting for stopped process
2019-05-22 14:54:17 +02:00
mshavliuk
6b9ee1e1c5 [Process] Fix infinite waiting for stopped process 2019-05-22 14:54:11 +02:00
Nicolas Grekas
52398736af feature #31543 [DI] deprecate short callables in yaml (nicolas-grekas)
This PR was merged into the 4.4-dev branch.

Discussion
----------

[DI] deprecate short callables in yaml

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

This deprecates defining factories as `foo:method` instead of `['@foo', 'method']` in yaml.

This is confusing syntax and misses the opportunity to raise an error when one does a typo and uses a single colon instead of two.

This basically reverts #19190

Commits
-------

f8a04fdda6 [DI] deprecate short callables in yaml
2019-05-22 14:51:26 +02:00
Nicolas Grekas
f8a04fdda6 [DI] deprecate short callables in yaml 2019-05-22 14:49:44 +02:00
Nicolas Grekas
f410691842 [Contracts] split in one package per sub-contracts 2019-05-22 14:23:29 +02:00
martijn
13ee1fa2b7 Use absolute URL for when the profiler's domain differs from the controller's domain which initialises the profiler. 2019-05-22 11:43:54 +02:00
Fabien Potencier
1cd99eaaa8 bumped Symfony version to 4.3.0 2019-05-22 11:41:49 +02:00
Fabien Potencier
de65819399 updated VERSION for 4.3.0-BETA2 2019-05-22 11:37:23 +02:00
Ondrej Exner
45a8f893ef
fix phpdoc 2019-05-22 09:57:24 +02:00
Gawain Lynch
4ea7283138
[HttpClient] Only use CURLMOPT_MAX_HOST_CONNECTIONS & CURL_VERSION_HTTP2 if defined
- CURLMOPT_MAX_HOST_CONNECTIONS is available since PHP 7.0.7 and cURL 7.30.0
 - CURL_VERSION_HTTP2 is available since PHP 5.5.24 and 5.6.8 and cURL 7.33.0
2019-05-22 06:50:01 +02:00
Fabien Potencier
cd63446f9b [Security] fixed a fatal error when upgrading from 4.2 2019-05-21 22:19:00 +02:00
Andriy Prokopenko
1cbefd7fca [HttpClient] Allow arrays as query parameters 2019-05-21 18:51:43 +02:00
Nicolas Grekas
aedd52eab7 minor #31553 [Ldap] add a test on parsing the rdn (Simperfit)
This PR was merged into the 4.3 branch.

Discussion
----------

[Ldap] add a test on parsing the rdn

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| 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 the master branch.
-->

One more test on the rdn directly.

- [x] When #31552 has been merged this one needs to be rebased.

Commits
-------

0abe32b085 [Ldap] add a test on parsing the rdn
2019-05-21 18:00:28 +02:00
Fabien Potencier
987e1cf525 bug #31482 [Messenger][DoctrineBridge] Throws UnrecoverableMessageHandlingException when passed invalid entity manager name (Koc)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger][DoctrineBridge] Throws UnrecoverableMessageHandlingException when passed invalid entity manager name

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

1. Throws `UnrecoverableMessageHandlingException` and do not retry messages if middlewares missconfigured
2.  `getManager()` doesn't return null. Actually [it throws](https://github.com/doctrine/persistence/blob/master/lib/Doctrine/Persistence/AbstractManagerRegistry.php#L144-L160) `\InvalidArgumentException` in requested entity manager not exists.

Not sure, should this changes considered as BC-break.

Also I can extract abstract Doctrine middleware but not sure what branch should I use for it? Master or 4.3?

Commits
-------

c4eca27149 Throws UnrecoverableMessageHandlingException when passed invalid entity manager name for Doctrine middlewares
2019-05-21 08:58:01 +02:00
Konstantin Myakshin
c4eca27149 Throws UnrecoverableMessageHandlingException when passed invalid entity manager name for Doctrine middlewares 2019-05-21 09:09:55 +03:00
Fabien Potencier
65458059d8 feature #31471 [Messenger] Add "non sendable" stamps (weaverryan)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Add "non sendable" stamps

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

Fixes a bug where Symfony serialization of the AmqpReceivedStamp sometimes caused problems.

It's still a mystery why the `AmqpReceivedStamp` caused a segfault *sometimes* when going through the Symfony serializer or the `VarDumper`. But, that stamp really didn't need to be sent on redelivery anyways.

I don't love making the removal the responsibility of the serializers, but it didn't work well anywhere else.

Cheers!

Commits
-------

34e7781c5c Adding a new NonSendableStampInterface to avoid sending certain stamps
2019-05-21 06:57:28 +02:00
Robin Chalas
229502a89a [Messenger] Make redis Connection::get() non blocking by default 2019-05-21 04:46:48 +02:00
Nicolas Grekas
beb603694d Merge branch '4.3'
* 4.3: (23 commits)
  minor: add some test in the ldap component
  [Workflow] Update MethodMarkingStore
  [Bridge\ProxyManager] isProxyCandidate() does not take into account interfaces
  adding experimental note
  [HttpClient] add missing argument check
  [Messenger] Fix undefined index on read timeout
  [Workflow] use method marking store
  [Routing][AnnotationClassLoader] fix utf-8 encoding in default route name
  fixed a phpdoc
  [Debug] Wrap call to require_once in a try/catch
  [EventDispatcher] Removed "callable" type hint from WrappedListener constructor
  prevent deprecation when filesize matches error code
  [PropertyInfo] Add missing documentation link in Readme
  Use the current working dir as default first arg in 'link' binary
  Respect parent class contract in ContainerAwareDoctrineEventManager
  [WebProfilerBundle][Form] The form data collector return serialized object when profiler bundle attends object
  [Validator] Add the missing translations for the Danish ("da") locale
  [PropertyAccess] Add missing property to PropertyAccessor
  [Cache] fix saving unrelated keys in recursive callback calls
  [Serializer] Fix denormalization of object with variadic constructor typed argument
  ...
2019-05-20 18:28:43 +02:00
Amrouche Hamza
0abe32b085
[Ldap] add a test on parsing the rdn 2019-05-20 18:28:42 +02:00
Nicolas Grekas
2ecad3ffa9 Merge branch '4.2' into 4.3
* 4.2:
  minor: add some test in the ldap component
  [Bridge\ProxyManager] isProxyCandidate() does not take into account interfaces
  [Routing][AnnotationClassLoader] fix utf-8 encoding in default route name
  fixed a phpdoc
  [Debug] Wrap call to require_once in a try/catch
  prevent deprecation when filesize matches error code
  [PropertyInfo] Add missing documentation link in Readme
  Use the current working dir as default first arg in 'link' binary
  Respect parent class contract in ContainerAwareDoctrineEventManager
  [Validator] Add the missing translations for the Danish ("da") locale
  [PropertyAccess] Add missing property to PropertyAccessor
  [Cache] fix saving unrelated keys in recursive callback calls
  [Serializer] Fix denormalization of object with variadic constructor typed argument
  Allow set 'None' on samesite cookie flag
  Making cache rebuild correctly with MessageSubscriberInterface return values
  Fix finding parent definition
2019-05-20 18:16:12 +02:00
Nicolas Grekas
48258fc12e Merge branch '3.4' into 4.2
* 3.4:
  minor: add some test in the ldap component
  [Bridge\ProxyManager] isProxyCandidate() does not take into account interfaces
  [Routing][AnnotationClassLoader] fix utf-8 encoding in default route name
  fixed a phpdoc
  [Debug] Wrap call to require_once in a try/catch
  [PropertyInfo] Add missing documentation link in Readme
  Use the current working dir as default first arg in 'link' binary
  Respect parent class contract in ContainerAwareDoctrineEventManager
  [Validator] Add the missing translations for the Danish ("da") locale
  [Serializer] Fix denormalization of object with variadic constructor typed argument
  Allow set 'None' on samesite cookie flag
2019-05-20 18:15:26 +02:00
Nicolas Grekas
9e4d5ff47d minor #31552 [Ldap] add a test to getResources and binding (Simperfit)
This PR was merged into the 3.4 branch.

Discussion
----------

[Ldap] add a test to getResources and binding

| 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 | 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 the master branch.
-->

We could add more unit tests, but this is a beginning.

Commits
-------

d08f195502 minor: add some test in the ldap component
2019-05-20 18:00:08 +02:00
Amrouche Hamza
d08f195502
minor: add some test in the ldap component 2019-05-20 14:59:43 +02:00
Nicolas Grekas
0c1a3dcdfb minor #31536 [Workflow] Update MethodMarkingStore (noniagriconomie)
This PR was squashed before being merged into the 4.3 branch (closes #31536).

Discussion
----------

[Workflow] Update MethodMarkingStore

| Q             | A
| ------------- | ---
| Branch?       | 4.3 (related to deprecation of single/multiple marking store)
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | .
| License       | MIT
| Doc PR        | already documented

Minor fix

Commits
-------

c8636523d3 [Workflow] Update MethodMarkingStore
2019-05-20 13:45:47 +02:00
Antoine Makdessi
c8636523d3 [Workflow] Update MethodMarkingStore 2019-05-20 13:45:40 +02:00
Nicolas Grekas
86bc1be2cf bug #31537 [Workflow] use method marking store (noniagriconomie)
This PR was merged into the 4.3 branch.

Discussion
----------

[Workflow] use method marking store

| Q             | A
| ------------- | ---
| Branch?       | 4.3 (related to deprecation of single/multiple marking store)
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | .
| License       | MIT
| Doc PR        | already documented

I think the deprecation of old marking store, the single one in the statemachine, was not patched here
Or did i miss something?

Thank you

Cc @lyrixx

Commits
-------

a2191678b7 [Workflow] use method marking store
2019-05-20 13:44:45 +02:00
Nicolas Grekas
8f62674c09 minor #31550 [Mailer] adding experimental disclaimer in readme (chr-hertel)
This PR was merged into the 4.3 branch.

Discussion
----------

[Mailer] adding experimental disclaimer in readme

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

Mailer Component is marked as experimental in code, but not in readme.
got confused while checking the readme files of the new components

Commits
-------

5175f6fffc adding experimental note
2019-05-20 13:39:16 +02:00
Nicolas Grekas
b5dfbef3d1 bug #31542 [HttpClient] add missing argument check (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] add missing argument check

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

Should save some time, sometimes.

Commits
-------

964acd9110 [HttpClient] add missing argument check
2019-05-20 13:13:23 +02:00
André R
e3739b1289 [Bridge\ProxyManager] isProxyCandidate() does not take into account interfaces
When using factories it's common best practice to use interface as class name, especially in cases
where you know impl can differ. Before this fix ProxyManager did not allow these to be lazy.

In our case this has lead several to hard to debug issues on classes we need to mark as lazyi
and often a need to add lazy on decorators if there are any or other workarounds.
As we have had this issue, and still have on both 2.8 and 3.4 this is opened against 2.8.
2019-05-20 13:02:42 +02:00
Christopher Hertel
5175f6fffc
adding experimental note 2019-05-20 11:28:54 +02:00
Nicolas Grekas
964acd9110 [HttpClient] add missing argument check 2019-05-19 11:37:13 -03:00
Robin Chalas
fd8d6b8187 [Messenger] Fix undefined index on read timeout 2019-05-19 16:33:13 +02:00
Nicolas Grekas
7146b95303 [DI] fix using bindings with locators of service subscribers 2019-05-19 11:11:39 -03:00
Antoine Makdessi
a2191678b7
[Workflow] use method marking store 2019-05-19 00:39:11 +02:00
Fabien Potencier
365a390e6e bug #31335 [Doctrine] Respect parent class contract in ContainerAwareEventManager (Koc)
This PR was merged into the 3.4 branch.

Discussion
----------

[Doctrine] Respect parent class contract in ContainerAwareEventManager

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

According to method signature of [original EventManager](https://github.com/doctrine/event-manager/blob/master/lib/Doctrine/Common/EventManager.php#L50) `getListeners` method should return array of initialized objects but now it returns array of strings of listener service names.

Commits
-------

42d62721fd Respect parent class contract in ContainerAwareDoctrineEventManager
2019-05-18 18:38:29 +02:00
Fabien Potencier
53556290ed bug #31421 [Routing][AnnotationClassLoader] fix utf-8 encoding in default route name (przemyslaw-bogusz)
This PR was squashed before being merged into the 3.4 branch (closes #31421).

Discussion
----------

[Routing][AnnotationClassLoader] fix utf-8 encoding in default route name

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

If controller, or one of its methods, contain a unicode character and you run:
```
./bin/console debug:router
```
you get this:
![Zrzut ekranu 2019-05-8 o 14 00 48](https://user-images.githubusercontent.com/35422131/57374545-71863080-719b-11e9-999e-fe0a5051c089.png)

This PR fixes it into this:
![Zrzut ekranu 2019-05-8 o 14 00 59](https://user-images.githubusercontent.com/35422131/57374616-92e71c80-719b-11e9-9d13-5370213c22f7.png)

Commits
-------

7ab52d3c36 [Routing][AnnotationClassLoader] fix utf-8 encoding in default route name
2019-05-18 18:36:56 +02:00
Przemysław Bogusz
7ab52d3c36 [Routing][AnnotationClassLoader] fix utf-8 encoding in default route name 2019-05-18 18:36:47 +02:00
Fabien Potencier
c866efa615 fixed a phpdoc 2019-05-18 18:33:51 +02:00
Fabien Potencier
e606ac1916 bug #31493 [EventDispatcher] Removed "callable" type hint from WrappedListener constructor (wskorodecki)
This PR was merged into the 4.3 branch.

Discussion
----------

[EventDispatcher] Removed "callable" type hint from WrappedListener constructor

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

### The problem

```php
public function __construct(callable $listener, ?string $name, Stopwatch $stopwatch, EventDispatcherInterface $dispatcher = null)
```

The *callable* type hint will cause the following exception if you register a listener class with a method, which could not be auto-guessed by the Symfony:

`Argument 1 passed to Symfony\Component\EventDispatcher\Debug\WrappedListener::__construct() must be callable, array given`

The debug toolbar will not be displayed in this case.

This is because PHP is checking the array first before making a decision if this is a valid callable or not. So if the second array element does not represent an existing method in object from the first element - PHP will treat this as a common array, not callable. Use `is_callable` method if you need a proof.

### How to reproduce

1. Register some listener with a method, which could not be auto-guessed by Symfony
2. Do not create the `__invoke` method in the listener
3. Skip the `method` attribute in the listener configuration

Example:

```php
class SomeListener
{
    public function myListenerMethod(SomeEvent $event)
    {
        // ...
    }
}
```

```yaml
App\EventListener\SomeListener:
    tags:
      -
        name: kernel.event_listener

        # Symfony will look for "onSomeEvent" method which does not exists.
        event: 'some.event'
        #method: 'myListenerMethod' # Skip this.
```

### Solution:

Removing the type hint will cause the \Closure::fromCallable() method to throw a proper exception, for example:

`Symfony\Component\Debug\Exception\FatalThrowableError(code: 0): Failed to create closure from callable: class 'App\EventListener\SomeListener' does not have a method 'onSomeEvent'`

Commits
-------

20c587fc23 [EventDispatcher] Removed "callable" type hint from WrappedListener constructor
2019-05-18 18:11:27 +02:00
Fabien Potencier
ee0cfa9311 bug #31502 [WebProfilerBundle][Form] The form data collector return serialized data (Simperfit)
This PR was merged into the 4.3 branch.

Discussion
----------

[WebProfilerBundle][Form] The form data collector return serialized data

| Q             | A
| ------------- | ---
| Branch?       | 3.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 | #31476 <!-- #-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 the master branch.
-->

This bug occurs because at some point the FormDataCollector was returning serialized data, this has been changed in the upcoming branches but it seems that the bug occurs when using different version of the form component and the WebProfilerBundle.

This bugfix add a conflict param on the WebProfilerBundle to avoid using version of the form component who still serialize the data.

Commits
-------

70fdafd79f [WebProfilerBundle][Form] The form data collector return serialized object when profiler bundle attends object
2019-05-18 18:10:32 +02:00
Grégoire Pineau
afb6e1ec9e [Debug] Wrap call to require_once in a try/catch
If the included file contains an error, it hides the real error. This
makes debugging harder.

How to reproduce:

```
composer create-project symfony/skeleton symfony-3.4 3.4
cd symfony-3.4
composer req monolog
```

Add to `monolog.yaml`:
```yaml
        elasticsearch:
            type: "elasticsearch"
            elasticsearch:
                host: 'elasticsearch'
                port: '9200'
            index: 'ep_php_logs_dev'
            level: 'debug'
            tags: 'monolog.logger'
            channels: ['!event']
```

This will fail because the the \Elastica\Client class does not exist.
But this error will be hidden by the `ClassNotFoundFatalErrorHandler`
because it will try to load the `Symfony\Component\Kernel\Client` and
this class extends `Symfony\Component\BrowserKit\Client`. The last one
is a soft dependency...

---

Before
```
Fatal error: Uncaught Error: Class 'Symfony\Component\BrowserKit\Client' not found in /tmp/symfony-3.4/vendor/symfony/http-kernel/Client.php:31
```

After:
```
Fatal error: Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "Client" from namespace "Elastica".
Did you forget a "use" statement for another namespace? in /tmp/symfony-es/var/cache/dev/ContainerWXN4mS9/srcApp_KernelDevDebugContainer.php:303
```
2019-05-18 15:32:47 +02:00
Maxime Steinhausser
2da226a57f [Validator] Add compared value path to violation parameters 2019-05-17 17:04:10 +02:00
Robin Chalas
45446e891a [FrameworkBundle] Mention that the described service has been removed in debug:container 2019-05-17 16:46:37 +02:00
Wojciech Skorodecki
20c587fc23 [EventDispatcher] Removed "callable" type hint from WrappedListener constructor 2019-05-17 15:28:19 +02:00
Christian Flothmann
d836c63b91 prevent deprecation when filesize matches error code 2019-05-17 13:55:16 +02:00
Pablo Lozano
62894ed8b9 [PropertyInfo] Add missing documentation link in Readme 2019-05-16 16:10:36 +02:00
Grégoire Pineau
429307d7cf [Monolog] Setup the LoggerProcessor after all other processor 2019-05-16 11:32:01 +02:00
Grégoire Pineau
519ba3cddb Merge remote-tracking branch 'origin/4.3'
* origin/4.3:
  deprecate calling createChildContext without the format parameter
  [EventDispatcher] Fix interface name used in error messages
  [FrameworkBundle] Add cache configuration for PropertyInfo
  Update dependencies in the main component
  Drop useless executable bit
  [Doctrine][PropertyInfo] Detect if the ID is writeable
  Add transport in subscriber's phpdoc
  [Validator] Autovalidation: skip readonly props
  [DI] default to service id - *not* FQCN - when building tagged locators
  [Cache] Log a more readable error message when saving into cache fails
  Update WorkflowEvents.php
  [Messenger] On failure retry, make message appear received from original sender
  [Messenger] remove send_and_handle option which can be achieved with SyncTransport
  Fixing tests - passing pdo is not wrapped for some reason in dbal
  Changing how RoutableMessageBus fallback bus works
  [Serializer] Fix BC break: DEPTH_KEY_PATTERN must be public
  [FrameworkBundle] Fixed issue when a parameter container a '%'
  Fix the interface incompatibility of EventDispatchers
  [TwigBundle] fixed Mailer integration in Twig
  [Form] Add intl/choice_translation_locale option to TimezoneType
2019-05-16 11:31:29 +02:00
Konstantin Myakshin
42d62721fd Respect parent class contract in ContainerAwareDoctrineEventManager 2019-05-15 21:39:23 +03:00
Amrouche Hamza
70fdafd79f
[WebProfilerBundle][Form] The form data collector return serialized object when profiler bundle attends object 2019-05-15 20:22:43 +02:00
David Buchmann
cb77902805 deprecate calling createChildContext without the format parameter 2019-05-15 11:58:03 +02:00
gauss
710f8a6367 [Validator] Add the missing translations for the Danish ("da") locale 2019-05-14 17:13:30 +03:00
Robin Chalas
38cad41a0a [EventDispatcher] Fix interface name used in error messages 2019-05-14 15:44:14 +02:00
Amrouche Hamza
3d6b30330e [Console] Optimisation on getting the command 2019-05-14 14:53:33 +02:00
Ryan Weaver
34e7781c5c Adding a new NonSendableStampInterface to avoid sending certain stamps
Fixes a bug where Symfony serialization of the AmqpReceivedStamp sometimes caused problems.
2019-05-13 09:49:50 -04:00
Fabien Potencier
4559a656cc bug #31459 Fix the interface incompatibility of EventDispatchers (keulinho)
This PR was merged into the 4.3 branch.

Discussion
----------

Fix the interface incompatibility of EventDispatchers

The `LegacyEventDispatcherProxy` now implements the full
`EventDispatcherInterface` from the `EventDispatcherBundle`.
Before it just implemented the Interface from the `Contracts` Bundle,
that made it incompatible with the `WrappedListener`.
This fixes #31457.

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

Commits
-------

bdeeae1510 Fix the interface incompatibility of EventDispatchers
2019-05-13 10:20:44 +02:00
Fabien Potencier
48233b0495 bug #31463 [DI] default to service id - *not* FQCN - when building tagged locators (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[DI] default to service id - *not* FQCN - when building tagged locators

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

While reviewing #30926 I realized that defaulting to the FQCN is a shortcut that isn't useful enough.
Defaulting to the service id provides the same experience in practice because service ids are FQCN by default.
But when they aren't, the service id is the proper index to default to when building the locator.

Commits
-------

52e827c9cf [DI] default to service id - *not* FQCN - when building tagged locators
2019-05-13 09:03:50 +02:00
Fabien Potencier
3865b787eb minor #31483 [Messenger] Add from_transport in subscriber's phpdoc (sroze)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Add `from_transport` in subscriber's phpdoc

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

Add the `from_transport` to the subscriber's phpdoc as it was missed from the original PR.

Commits
-------

6a542cd738 Add transport in subscriber's phpdoc
2019-05-13 08:55:08 +02:00
Fabien Potencier
a326acc056 feature #31294 [Form] Add intl/choice_translation_locale option to TimezoneType (ro0NL)
This PR was merged into the 4.3 branch.

Discussion
----------

[Form] Add intl/choice_translation_locale option to TimezoneType

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

final step :)

for now i think any form of grouping is a user concern (i.e. by GMT offset or area name); see #31293 + #31295

having a special built in `group_by' => 'gmt_offset'` util would be nice, and can be done in the future.

includes #31434

Commits
-------

001b930611 [Form] Add intl/choice_translation_locale option to TimezoneType
2019-05-13 08:53:52 +02:00
Fabien Potencier
3a17701343 feature #31452 [FrameworkBundle] Add cache configuration for PropertyInfo (alanpoulain)
This PR was squashed before being merged into the 4.3 branch (closes #31452).

Discussion
----------

[FrameworkBundle] Add cache configuration for PropertyInfo

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

The PropertyInfoExtractor was not cached by default but the class to do it was surprisingly here, unused.

I've added the configuration to enable it by default when it's not the development environment.

I haven't added the warmup part because there are too much arguments for the methods (class, property, context).

It will be a big boost for the performance! For this code:

```php
$book = $this->serializer->deserialize('{"id":3,"reviews":[{"id": 7, "body": "This book is fantastic!", "rating": 9, "letter": "A", "publicationDate": "2019"}],"isbn":"978-0-5533-9243-2","title":"Fool\'s Assassin","description":"A famous saga","author":"Robin Hobb","publicationDate":"2014"}', Book::class, 'json');
$this->serializer->serialize($book, 'json');
```

We obtain this:

![image](https://user-images.githubusercontent.com/10920253/57487994-2874d000-72b2-11e9-92a2-28b14a038194.png)

The Blackfire comparison is here: https://blackfire.io/profiles/compare/2c746d26-320a-4aab-80ef-7276c2e92b96/graph

Commits
-------

17f6225d0f [FrameworkBundle] Add cache configuration for PropertyInfo
2019-05-13 08:44:35 +02:00
Alan Poulain
17f6225d0f [FrameworkBundle] Add cache configuration for PropertyInfo 2019-05-13 08:44:27 +02:00
Fabien Potencier
0d196c46a5 feature #31486 [Doctrine][PropertyInfo] Detect if the ID is writeable (dunglas)
This PR was merged into the 4.3 branch.

Discussion
----------

[Doctrine][PropertyInfo] Detect if the ID is writeable

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

Companion of #31481. Allows to detect that ids with a generated value aren't writable (because the DBMS will generate the ID by itself). It could be considered as a bug fix or as a new feature. I prefer to not merge in in 3.4. However, it becomes necessary for autovalidation to work with such entities, so it should be in 4.3:

```php
/**
 * @Entity
 */
class Foo
{
    /**
     * @Id
     * @GeneratedValue(strategy="AUTO")
     * @Column(type="integer")
     */
    public $id;
}
```

Commits
-------

4598235192 [Doctrine][PropertyInfo] Detect if the ID is writeable
2019-05-13 08:41:44 +02:00
Fabien Potencier
b7cd925436 bug #31481 [Validator] Autovalidation: skip readonly props (dunglas)
This PR was merged into the 4.3 branch.

Discussion
----------

[Validator] Autovalidation: skip readonly props

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| 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 | n/a
| License       | MIT
| Doc PR        | n/a

Read-only properties (such as an autogenerated ID) must be skipped during the validation (it makes no sense to validate a RO property anyway).
This is an allowed BC break because this feature will be introduced in 4.3.

Commits
-------

e7dc5e1045 [Validator] Autovalidation: skip readonly props
2019-05-13 08:38:56 +02:00