Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Routing] allow using compiled matchers and generators without dumping PHP code #28865

Merged
merged 1 commit into from Jan 26, 2019

Conversation

Projects
None yet
8 participants
@nicolas-grekas
Copy link
Member

commented Oct 14, 2018

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

This is a resurrection of #25909 to make matcher+generator dumpers output PHP arrays instead of PHP code.
Don't be fooled by the diff stats, it's mostly fixtures.

This PR should contribute to making the Routing component easier to use standalone.

On the way back from SFLive USA.

image

@nicolas-grekas nicolas-grekas force-pushed the nicolas-grekas:route-static branch 4 times, most recently from f26ec0e to 51cdea8 Oct 15, 2018

@nicolas-grekas

This comment has been minimized.

Copy link
Member Author

commented Oct 16, 2018

Ready, failure unrelated. As is, this PR will enable the much faster CompiledUrlMatcher/Generator by default, even when using a non-dumped one.

@nicolas-grekas nicolas-grekas force-pushed the nicolas-grekas:route-static branch from 51cdea8 to 46819ec Oct 17, 2018

@stof

stof approved these changes Oct 17, 2018

@javiereguiluz
Copy link
Member

left a comment

Thanks for this! In order to be mergeable, could you please update the PR description to add a simple example that uses this feature? I guess this is only for the stand-alone component, not full Symfony apps. Thanks!

Note: I'm "blocking" this PR with a "Request Changes" review as suggested by the Symfony community on Symfony Slack. Some people suggested to "block" features until they are documented ... so I'm trying that to see how it goes. Thanks!

@nicolas-grekas

This comment has been minimized.

Copy link
Member Author

commented Dec 17, 2018

Doc PR submitted and linked in the description.

Status: needs review

@nicolas-grekas nicolas-grekas force-pushed the nicolas-grekas:route-static branch from 80c6d28 to d5be794 Dec 17, 2018

@chiqui3d

This comment has been minimized.

Copy link

commented Jan 9, 2019

Hello and excuse me, but don't forget this. Thank you.

@nicolas-grekas

This comment has been minimized.

Copy link
Member Author

commented Jan 22, 2019

Without more feedback, I'm going to merge this PR this week.

@fabpot

This comment has been minimized.

Copy link
Member

commented Jan 23, 2019

Can you rebase please?

@nicolas-grekas nicolas-grekas force-pushed the nicolas-grekas:route-static branch from d5be794 to f0a519a Jan 23, 2019

@nicolas-grekas

This comment has been minimized.

Copy link
Member Author

commented Jan 23, 2019

rebased!

@nicolas-grekas nicolas-grekas merged commit f0a519a into symfony:master Jan 26, 2019

3 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
fabbot.io Your code looks good.
Details

nicolas-grekas added a commit that referenced this pull request Jan 26, 2019

feature #28865 [Routing] allow using compiled matchers and generators…
… without dumping PHP code (nicolas-grekas)

This PR was merged into the 4.3-dev branch.

Discussion
----------

[Routing] allow using compiled matchers and generators without dumping PHP code

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

This is a resurrection of #25909 to make matcher+generator dumpers output PHP arrays instead of PHP code.
Don't be fooled by the diff stats, it's mostly fixtures.

This PR should contribute to making the Routing component easier to use standalone.

On the way back from SFLive USA.

![image](https://user-images.githubusercontent.com/243674/46920076-784e1b80-cf9d-11e8-86e7-850fffb409de.png)

Commits
-------

f0a519a [Routing] allow using compiled matchers and generators without dumping PHP code

@nicolas-grekas nicolas-grekas deleted the nicolas-grekas:route-static branch Jan 26, 2019

javiereguiluz added a commit to symfony/symfony-docs that referenced this pull request Jan 31, 2019

minor #10790 Doc CompiledUrlMatcherDumper instead of PhpMatcherDumper…
… (nicolas-grekas)

This PR was merged into the master branch.

Discussion
----------

Doc CompiledUrlMatcherDumper instead of PhpMatcherDumper

Needed after symfony/symfony#28865

Commits
-------

8e8df56 Doc CompiledUrlMatcherDumper instead of PhpMatcherDumper
@Tobion

This comment has been minimized.

Copy link
Member

commented Feb 14, 2019

Late review:: Looks fine to me. Being able to achieve the same thing by only dumping the data structure instead of the executing code makes it a little cleaner and more flexible.

Tobion added a commit that referenced this pull request Feb 14, 2019

[Routing] fix changelog typos
Fix small typos from #28865
@Tobion

This comment has been minimized.

Copy link
Member

commented Feb 14, 2019

One thing though: We should deprecate generator_base_class, generator_cache_class, matcher_base_class and matcher_cache_class config options. Those options are useless now and unused with the compiled variants. And there is a potential BC break currently: If someone overwrote the base_class config without changing the generator_class/matcher_class, it won't work anymore because it will use the compiled class which ignores the base_class. So we should add a check if the base_class was changed before using the compiled versions.

@Tobion

This comment has been minimized.

Copy link
Member

commented Feb 14, 2019

I might be able to fix this tomorrow.

fabpot added a commit that referenced this pull request Feb 14, 2019

minor #30234 [Routing] fix changelog typo (Tobion)
This PR was merged into the 4.3-dev branch.

Discussion
----------

[Routing] fix changelog typo

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

Fix small typos from #28865

Commits
-------

37dbab2 [Routing] fix changelog typos

symfony-splitter pushed a commit to symfony/framework-bundle that referenced this pull request Feb 21, 2019

feature #30249 [Routing] deprecate some router options (Tobion)
This PR was merged into the 4.3-dev branch.

Discussion
----------

[Routing] deprecate some router options

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

<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
 - Bug fixes must be submitted against the lowest branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against the master branch.
-->

Commits
-------

bf4cd6164d [Routing] deprecate some router options

fabpot added a commit that referenced this pull request Feb 21, 2019

feature #30249 [Routing] deprecate some router options (Tobion)
This PR was merged into the 4.3-dev branch.

Discussion
----------

[Routing] deprecate some router options

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

<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
 - Bug fixes must be submitted against the lowest branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against the master branch.
-->

Commits
-------

bf4cd61 [Routing] deprecate some router options

yurii-github added a commit to yurii-github/upstreams that referenced this pull request Feb 27, 2019

Squashed commit of the following:
commit 91c5b14d8b6e9016c31d46ad8576ecf0ce836221
Merge: 5754846683 ff9e494776
Author: Fabien Potencier <fabien@potencier.org>
Date:   Tue Feb 26 12:14:15 2019 +0100

    bug #30380 [WebProfilerBundle] Fix row update on finish ajax request (yceruto)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    [WebProfilerBundle] Fix row update on finish ajax request

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

    ```
    Uncaught TypeError: Cannot read property 'setAttribute' of undefined
        at finishAjaxRequest
        at XMLHttpRequest.<anonymous>
    ```

    Continuation of https://github.com/symfony/symfony/pull/30130

    Commits
    -------

    ff9e494776 Fix row update on finish ajax request

commit 575484668388084798c2c9284c6c7f036ffafdf9
Merge: d2e9a7051f b337f7ca8b
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Tue Feb 26 09:35:29 2019 +0100

    Merge branch '4.2'

    * 4.2:
      Fix git diff marker
      Removed eval() from KernelShutdownOnTearDownTrait

commit b337f7ca8b2dacca81ef90bc3d0229765d07b7a1
Merge: e73f70aca4 d631bd96ac
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Tue Feb 26 09:35:07 2019 +0100

    minor #30382 Fix git diff marker (shyim)

    This PR was merged into the 4.2 branch.

    Discussion
    ----------

    Fix git diff marker

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

    There are some git diff marker :)

    Commits
    -------

    d631bd96ac Fix git diff marker

commit d631bd96acbaad708bcf7258367a6b9919846953
Author: Soner Sayakci <s.sayakci@shopware.com>
Date:   Tue Feb 26 09:03:39 2019 +0100

    Fix git diff marker

commit ff9e4947763b2b78378425123060aef65b5fd63f
Author: Yonel Ceruto <yonelceruto@gmail.com>
Date:   Mon Feb 25 16:12:18 2019 -0500

    Fix row update on finish ajax request

commit d2e9a7051f84f3a110ec1b5e0adc9a735f224adb
Merge: 3895acd175 d7aaa615b9
Author: Fabien Potencier <fabien@potencier.org>
Date:   Mon Feb 25 17:04:33 2019 +0100

    feature #22048 [Security] deprecate the Role and SwitchUserRole classes (xabbuh)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    [Security] deprecate the Role and SwitchUserRole classes

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

    In #20801, we deprecated the `RoleInterface`. The next logical step would be to also deprecate the `Role` class. However, we currently have the `SwitchUserRole` class (a sub-class of `Role`) that acts as an indicator to check whether or not the authenticated user switched to another user.

    This PR proposes an alternative solution to the usage of the special `SwitchUserRole` class by storing the original token inside the `UsernamePasswordToken`. This PR is not complete, but rather acts as a proof of concept of how we could get rid of the `Role` and the `SwitchUserRole` classes.

    Please share your opinions whether you think this is a valid approach and I will be happy to finalise the PR.

    Commits
    -------

    d7aaa615b9 deprecate the Role and SwitchUserRole classes

commit e73f70aca4b88189517b91875099638e93684a5e
Merge: 5b23a2b257 324b70afa3
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Sun Feb 24 15:16:37 2019 +0100

    minor #30364 [FrameworkBundle] Removed eval() from KernelShutdownOnTearDownTrait (skalpa)

    This PR was merged into the 4.2 branch.

    Discussion
    ----------

    [FrameworkBundle] Removed eval() from KernelShutdownOnTearDownTrait

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

    Apart from triggering the #30362 bug, the `eval()` block from #30124 also broke my workflow: static code analyzers don't like this, and the trait even crashes PHPStan.

    It may also bring up other compatibility issues to other people (ie: I know companies that completely disable `eval()` on their servers).

    As it was only required to keep the trait compatible with PHP 5.x, it is unnecessary on 4.x that requires PHP 7.1+, and this PR removes it on the 4.2 branch.

    Commits
    -------

    324b70afa3 Removed eval() from KernelShutdownOnTearDownTrait

commit 324b70afa31779ff5e6488a139dc57e67e77a093
Author: Pascal Luna <skalpa@zetareticuli.org>
Date:   Sun Feb 24 02:12:10 2019 +0000

    Removed eval() from KernelShutdownOnTearDownTrait

commit 3895acd17598520682468ff1aa0994b7cfc1e316
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Sat Feb 23 17:20:51 2019 +0100

    fix merge

commit 3969948cbc74b43ad68988c3e3bc7cf96230b57e
Merge: a0c566504c 5b23a2b257
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Sat Feb 23 16:42:19 2019 +0100

    Merge branch '4.2'

    * 4.2:
      fix merge

commit 5b23a2b257a0168e38d77b392318c43d437dc969
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Sat Feb 23 16:42:05 2019 +0100

    fix merge

commit a0c566504cc4fedb4785199fabfc224e41afd1b8
Merge: 2e8bf334ca 87f3c36d60
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Sat Feb 23 16:22:31 2019 +0100

    Merge branch '4.2'

    * 4.2: (26 commits)
      Apply php-cs-fixer rule for array_key_exists()
      [Cache] fix warming up cache.system and apcu
      [Security] Change FormAuthenticator if condition
      handles multi-byte characters in autocomplete
      speed up tests running them without debug flag
      [Translations] added missing Croatian validators
      Fix getItems() performance issue with RedisCluster (php-redis)
      [VarDumper] Keep a ref to objects to ensure their handle cannot be reused while cloning
      IntegerType: reject submitted non-integer numbers
      be keen to newcomers
      [HttpKernel] Fix possible infinite loop of exceptions
      fixed CS
      [Validator] Added missing translations for Afrikaans
      do not validate non-submitted form fields in PATCH requests
      Update usage example in ArrayInput doc block.
      [Console] Prevent ArgvInput::getFirstArgument() from returning an option value
      [Validator] Fixed duplicate UUID
      fixed CS
      [EventDispatcher] Fix unknown priority
      Avoid mutating the Finder when building the iterator
      ...

commit 87f3c36d6008ca0627e216c1624a610a03a9dd09
Merge: 8ac69b95ad b0a3208588
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Sat Feb 23 16:17:42 2019 +0100

    Merge branch '3.4' into 4.2

    * 3.4: (24 commits)
      Apply php-cs-fixer rule for array_key_exists()
      [Security] Change FormAuthenticator if condition
      handles multi-byte characters in autocomplete
      speed up tests running them without debug flag
      [Translations] added missing Croatian validators
      Fix getItems() performance issue with RedisCluster (php-redis)
      [VarDumper] Keep a ref to objects to ensure their handle cannot be reused while cloning
      IntegerType: reject submitted non-integer numbers
      be keen to newcomers
      [HttpKernel] Fix possible infinite loop of exceptions
      fixed CS
      [Validator] Added missing translations for Afrikaans
      do not validate non-submitted form fields in PATCH requests
      Update usage example in ArrayInput doc block.
      [Console] Prevent ArgvInput::getFirstArgument() from returning an option value
      [Validator] Fixed duplicate UUID
      fixed CS
      [EventDispatcher] Fix unknown priority
      Avoid mutating the Finder when building the iterator
      [Validator] Add the missing translations for the Greek (el) locale
      ...

commit b0a32085887d0025aa84b39d2b12a57dc71e59ae
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Sat Feb 23 16:06:07 2019 +0100

    Apply php-cs-fixer rule for array_key_exists()

commit af666411d47f2553c0c966bb8e0941fdb77f0e4f
Merge: 1aac865da7 6a43e74828
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Sat Feb 23 15:37:48 2019 +0100

    bug #30329 [Form] IntegerType: reject submitted non-integer numbers (xabbuh)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    [Form] IntegerType: reject submitted non-integer numbers

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

    Commits
    -------

    6a43e74828 IntegerType: reject submitted non-integer numbers

commit 8ac69b95adaacb7efce74c502fa97a86b9e156b5
Merge: 424773da1f b0a85ad015
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Sat Feb 23 15:36:07 2019 +0100

    bug #30331 [Cache] fix warming up cache.system and apcu (nicolas-grekas)

    This PR was merged into the 4.2 branch.

    Discussion
    ----------

    [Cache] fix warming up cache.system and apcu

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

    Commits
    -------

    b0a85ad015 [Cache] fix warming up cache.system and apcu

commit b0a85ad015ced23f66ebd6215176e2cf5161e9ca
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Thu Feb 21 14:30:53 2019 +0100

    [Cache] fix warming up cache.system and apcu

commit 1aac865da785a583798a4b714e545381fd18e49f
Merge: 173b5eaf8c 67ae121b2e
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Sat Feb 23 15:32:41 2019 +0100

    bug #30347 [Security] Change FormAuthenticator if condition (PReimers)

    This PR was squashed before being merged into the 3.4 branch (closes #30347).

    Discussion
    ----------

    [Security] Change FormAuthenticator if condition

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

    I changed the if condition in `SimpleFormAuthenticationListener` and `UsernamePasswordFormAuthenticationListener` based on the solution provided by @nikic in issue #30341

    #OpenSourceFriday

    Commits
    -------

    67ae121b2e [Security] Change FormAuthenticator if condition

commit 67ae121b2e36120133be7fd700a5fa861d4f1995
Author: Patrick Reimers <preimers@wmc.ch>
Date:   Fri Feb 22 14:56:26 2019 +0100

    [Security] Change FormAuthenticator if condition

commit 173b5eaf8c6d4d578de7c93021391f5d2b6c5a09
Merge: 4cc10062e2 47320a63e2
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Sat Feb 23 15:30:59 2019 +0100

    bug #30354 [Console] handles multi-byte characters in autocomplete (jls-esokia)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    [Console] handles multi-byte characters in autocomplete

    fixes #29966

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

    I used the `mb_ord` to detect whether the amount of bytes read is valid before proceeding.  I limit the number of bytes read to 4 before giving up because characters can use at most 4 bytes.
    The test passes with or without the fix though.

    Commits
    -------

    47320a63e2 handles multi-byte characters in autocomplete

commit 4cc10062e23acb4c745cb298ad43cc0b51674ab9
Merge: 83fec23d61 178506e72c
Author: Fabien Potencier <fabien@potencier.org>
Date:   Sat Feb 23 12:03:32 2019 +0100

    bug #30351 Fix getItems() performance issue with RedisCluster (php-redis) (andrerom)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    Fix getItems() performance issue with RedisCluster (php-redis)

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

    On any kind of multi loads, including tags loading where it's always the case, current code leads to an explosion of Redis lookups affecting performance on RedisCluster _(as it does not support pipeline)_.

    This backports the code for mget() usage from 4.x in order to fix it.
    It's done with one small improvment which would also be relevant for 4.x, only using pipeline on cluster on predis as mget is more efficient (ref redis doc).

    Commits
    -------

    178506e72c Fix getItems() performance issue with RedisCluster (php-redis)

commit 83fec23d615324b4ea8471f36175e65570531f02
Merge: 9e4ff87214 29a0683107
Author: Fabien Potencier <fabien@potencier.org>
Date:   Sat Feb 23 11:36:56 2019 +0100

    bug #30350 [VarDumper] Keep a ref to objects to ensure their handle cannot be reused while cloning (nicolas-grekas)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    [VarDumper] Keep a ref to objects to ensure their handle cannot be reused while cloning

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

    Fixes the root issue that led to https://github.com/symfony/symfony/pull/30311#issuecomment-466457434

    Commits
    -------

    29a0683107 [VarDumper] Keep a ref to objects to ensure their handle cannot be reused while cloning

commit 2e8bf334cac86325286370e80333014e37b654be
Merge: e9a2c3d753 45869ac10c
Author: Fabien Potencier <fabien@potencier.org>
Date:   Sat Feb 23 11:35:34 2019 +0100

    bug #30349 [VarDumper] fix dumping Ds maps and pairs (nicolas-grekas)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    [VarDumper] fix dumping Ds maps and pairs

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

    Fixes https://github.com/symfony/symfony/pull/30311#issuecomment-466457434

    ![image](https://user-images.githubusercontent.com/243674/53267273-41260e80-36e3-11e9-8723-a73bf0690a01.png)

    Commits
    -------

    45869ac10c [VarDumper] fix dumping Ds maps and pairs

commit 47320a63e25f87951c4990aa2c51522481015b3b
Author: Jonathan <jls@esokia-webagency.com>
Date:   Sat Feb 23 12:34:14 2019 +0400

    handles multi-byte characters in autocomplete

commit e9a2c3d7538a2700aa40b2bec15ffb31d9180096
Merge: 5f8aa34396 5e494db04c
Author: Fabien Potencier <fabien@potencier.org>
Date:   Sat Feb 23 11:19:35 2019 +0100

    feature #30345 [Monolog] Added a way to configure the ConsoleFormatter from the ConsoleHandler (lyrixx)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    [Monolog] Added a way to configure the ConsoleFormatter from the ConsoleHandler

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

    see also https://github.com/symfony/monolog-bundle/pull/297

    from that:
    ![image](https://user-images.githubusercontent.com/408368/53246085-f63ed380-36af-11e9-9bff-2e42f8af141c.png)

    to that:
    ![image](https://user-images.githubusercontent.com/408368/53246115-0787e000-36b0-11e9-93ef-e47ed058adbf.png)

    with some configuration:

    ```yaml
    diff --git a/config/packages/dev/monolog.yaml b/config/packages/dev/monolog.yaml
    index b1998da..66ae2db 100644
    --- a/config/packages/dev/monolog.yaml
    +++ b/config/packages/dev/monolog.yaml
    @@ -17,3 +17,6 @@ monolog:
                 type: console
                 process_psr_3_messages: false
                 channels: ["!event", "!doctrine", "!console"]
    +            console_formater_options:
    +                format: "%%datetime%% %%start_tag%%%%level_name%%%%end_tag%% <comment>[%%channel%%]</> %%message%%%%context%%\n"
    +                multiline: false
    ```

    Commits
    -------

    5e494db04c [Monolog] Added a way to configure the ConsoleFormatter from the ConsoleHandler

commit 9e4ff87214b7ff98faee9d4e459251adeb961916
Merge: 51499f4cec dfb924f6a9
Author: Fabien Potencier <fabien@potencier.org>
Date:   Sat Feb 23 11:17:05 2019 +0100

    minor #30356 [FrameworkBundle][SecurityBundle] speed up tests running them without debug flag (xabbuh)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    [FrameworkBundle][SecurityBundle] speed up tests running them without debug flag

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

    Commits
    -------

    dfb924f6a9 speed up tests running them without debug flag

commit 51499f4cec19aef7a880db4e2e35d0c153446dd7
Merge: 5ad1f370b0 b9ce861ff6
Author: Fabien Potencier <fabien@potencier.org>
Date:   Sat Feb 23 11:15:41 2019 +0100

    minor #30355 [Translations] added missing Croatian validators (antonioperic)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    [Translations] added missing Croatian validators

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

    [Validator] Add the missing translations for the Croatian ("hr") locale #30167

    Commits
    -------

    b9ce861ff6 [Translations] added missing Croatian validators

commit 5f8aa34396d98755fc7c6578835aa6eb9e61b8d0
Merge: b4f6c345ad 057d177378
Author: Fabien Potencier <fabien@potencier.org>
Date:   Sat Feb 23 11:12:29 2019 +0100

    feature #30357 [TwigBridge] rename parent_form() to form_parent() (xabbuh)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    [TwigBridge] rename parent_form() to form_parent()

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

    We got some feedback on the blog post that form_parent() would be better
    for consistency with all the existing form_*() functions. I think that
    user has a point about that.

    Commits
    -------

    057d177378 rename parent_form() to form_parent()

commit dfb924f6a9808b7d24cebc0c99254ec12b8d83db
Author: Christian Flothmann <christian.flothmann@sensiolabs.de>
Date:   Sat Feb 23 10:48:29 2019 +0100

    speed up tests running them without debug flag

commit 057d1773784fca7bb4883ba60a75570d7ae35ede
Author: Christian Flothmann <christian.flothmann@sensiolabs.de>
Date:   Sat Feb 23 10:52:13 2019 +0100

    rename parent_form() to form_parent()

    We got some feedback on the blog post that form_parent() would be better
    for consistency with all the existing form_*() functions. I think that
    user has a point about that.

commit b9ce861ff686b60b7dfb68f02a493f8902e8be0c
Author: Antonio Peric <antonio@locastic.com>
Date:   Sat Feb 23 10:13:05 2019 +0100

    [Translations] added missing Croatian validators

commit d7aaa615b98270ff5b5c801e8a6a82ac8f6730d8
Author: Christian Flothmann <christian.flothmann@sensiolabs.de>
Date:   Mon Mar 6 18:12:20 2017 +0100

    deprecate the Role and SwitchUserRole classes

commit 178506e72ce57c030fca3a06043666525c41bff3
Author: André R <ar@ez.no>
Date:   Fri Feb 22 22:08:54 2019 +0100

    Fix getItems() performance issue with RedisCluster (php-redis)

    On any kind of multi loads, including tags loading, current code leads to
    an explosion of Redis lookups slowing down performance.

    This backports the code for mget() usage from 4.x in order to fix it.
    It's done with one small improvment which would also be relevant for 4.x,
    only using pipeline on cluster on predis as mget is more efficient.

commit 29a06831078d7a3d6a270024e684a0b7a0d5a027
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Fri Feb 22 21:50:28 2019 +0100

    [VarDumper] Keep a ref to objects to ensure their handle cannot be reused while cloning

commit 45869ac10c659daaa9a1f43e003f78cd8ed49cc5
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Fri Feb 22 20:41:55 2019 +0100

    [VarDumper] fix dumping Ds maps and pairs

commit 5ad1f370b02c5f11bb8ed0b2b7b65a0bd68e5541
Merge: 848a83078c c008ee046a
Author: Fabien Potencier <fabien@potencier.org>
Date:   Fri Feb 22 19:41:32 2019 +0100

    minor #30344 be keen to newcomers (OskarStark)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    be keen to newcomers

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

    Commits
    -------

    c008ee046a be keen to newcomers

commit b4f6c345addc0bf82b71a22139171a642b793d08
Merge: fec0475e8c 101bfd79bf
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Fri Feb 22 15:50:40 2019 +0100

    feature #30257 [DependencyInjection] Allow to choose an index for tagged collection (deguif, XuruDragon)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    [DependencyInjection] Allow to choose an index for tagged collection

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

    This is the continuity of the PR #29598

    Add a way to specify an index based on a tag attribute when injecting a tag collection into services, but also a a way to fallback to a static method on the service class.

    ```yaml
    services:
      foo_service:
        class: Foo
        tags:
          - foo
      foo_service_tagged:
        class: Bar
        arguments:
          - !tagged
              tag: 'foo'
              index_by: 'tag_attribute_name'
              default_index_method: 'static_method'
    ```
    ```xml
    <?xml version="1.0" ?>

    <container xmlns="http://symfony.com/schema/dic/services"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
      <services>
        <service id="foo" class="Foo">
            <tag name="foo_tag" />
        </service>
        <service id="foo_tagged_iterator" class="Bar" public="true">
          <argument type="tagged" tag="foo_tag" index-by="tag_attribute_name" default-index-method="static_method" />
        </service>
      </services>
    </container>
    ```

    Tasks

    * [x]  Support PHP loader/dumper
    * [x]  Support YAML loader/dumper
    * [x]  Support XML loader/dumper (and update XSD too)
    * [x]  Add tests
    * [x]  Documentation

    Commits
    -------

    101bfd79bf [DI] change name to tag + add XMl support + adding yaml/xml tests
    845d3a681b Allow to choose an index for tagged collection

commit 6a43e74828a8ae9dcbcf178113a37c15a81ae8f3
Author: Christian Flothmann <christian.flothmann@sensiolabs.de>
Date:   Thu Feb 21 12:55:21 2019 +0100

    IntegerType: reject submitted non-integer numbers

commit c008ee046a3efc84d02ed077d5acd1b5f5a21e5b
Author: Oskar Stark <oskarstark@googlemail.com>
Date:   Fri Feb 22 14:34:02 2019 +0100

    be keen to newcomers

commit 101bfd79bfc9853e7935f2c87411516eda0a8b2f
Author: Anthony MARTIN <anthony.martin@sensiolabs.com>
Date:   Wed Feb 13 17:39:28 2019 +0100

    [DI] change name to tag + add XMl support + adding yaml/xml tests

commit 5e494db04c24ac7bdbd063fd3d2e99765e1a92cd
Author: Grégoire Pineau <lyrixx@lyrixx.info>
Date:   Fri Feb 22 14:32:09 2019 +0100

    [Monolog] Added a way to configure the ConsoleFormatter from the ConsoleHandler

commit 845d3a681b971f3e99ba434a4700c3c4665d1a3a
Author: François-Xavier de Guillebon <fx@gensdeconfiance.fr>
Date:   Thu Dec 13 17:18:52 2018 +0100

    Allow to choose an index for tagged collection

commit fec0475e8ce38ef9ef050fad06920ce83c80c61e
Merge: f7f31b2f3f eab631fc45
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Fri Feb 22 09:46:13 2019 +0100

    feature #30311 [VarDumper] Implement DsCaster (enumag)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    [VarDumper] Implement DsCaster

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

    When dumping the data structures from [Ds extension](http://php.net/manual/en/book.ds.php) Symfony only shows the class name but not the actual data. So in this PR I tried to write a Caster for these data structures.

    Map can't be simply casted to array because it can contain objects as keys so I dump the pairs instead.

    Commits
    -------

    eab631fc45 [VarDumper] Implement DsCaster

commit 848a83078cc4b3927d614c9497456193bf4f5cea
Merge: 7b4f4bfd47 3447222b68
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Fri Feb 22 09:41:30 2019 +0100

    bug #30327 [HttpKernel] Fix possible infinite loop of exceptions (enumag)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    [HttpKernel] Fix possible infinite loop of exceptions

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

    I ran into an [issue](https://github.com/php-enqueue/enqueue-dev/issues/774) in the enqueue library which copied this part of code from Symfony. I'm now starting to understand what the problem is and it should most likely be fixed in Symfony as well.

    I didn't actually run into it in Symfony itself but it seems at least hypothetically possible. Imagine if [here](https://github.com/symfony/symfony/blob/8c3dc8254a508593aa0637445659e93e39d31dca/src/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php#L77) `$e` is somehow the same (===) as `$exception`. The code [below](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php#L82-L92) will then find the last exception in the `getPrevious()` chain and assigns `$exception` as the previous. However in the off chance that `$exception` is actually `$e` (the first exception in the chain) then it creates an infinite loop of exceptions which is not good for monolog and exception handlers.

    What do you think?

    Commits
    -------

    3447222b68 [HttpKernel] Fix possible infinite loop of exceptions

commit f7f31b2f3fb0d122928b3bac63e76dec5541e652
Merge: 5a3e894203 715cf8db81
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Fri Feb 22 09:40:48 2019 +0100

    minor #30330 [FrameworkBundle] fix lowest supported Routing component version (xabbuh)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    [FrameworkBundle] fix lowest supported Routing component version

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

    Commits
    -------

    715cf8db81 fix lowest supported Routing component version

commit 715cf8db81f926437a500ee3ce7dff3a2afe2124
Author: Christian Flothmann <christian.flothmann@sensiolabs.de>
Date:   Thu Feb 21 13:15:05 2019 +0100

    fix lowest supported Routing component version

commit 3447222b68242e80a0a88fe719afab2e90205766
Author: Jáchym Toušek <enumag@gmail.com>
Date:   Thu Feb 21 12:47:58 2019 +0100

    [HttpKernel] Fix possible infinite loop of exceptions

commit 7b4f4bfd47ffcd74c1aad7a24e6b9404bd045247
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 11:18:37 2019 +0100

    fixed CS

commit 5ac4c2abf552518875a7a10f57322bfae2b93f52
Merge: 4b5661769d c474451176
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 11:17:01 2019 +0100

    bug #27601 [Routing] fix URL generation with look-around requirements (nasimnabavi)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    [Routing] fix URL generation with look-around requirements

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

    If you have a non-catchable pattern in requirements like f.e. a positive lookahead (.+(?=/foo/)), the generator will not accept the parameter as the parameter itself cannot fulfil the requirement, but only matches in the context of the entire path.
    This fix looks for lookAround in the path and ignores checking the requirements if any lookAround exists.

    Commits
    -------

    c474451176 [Routing] fix URL generation with look-around requirements

commit 5a3e8942032c1a49496fe8db61828707b45442f9
Merge: 4e1ad10d91 f6510cda40
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 11:10:14 2019 +0100

    feature #27570 [PropertyInfo] Added support for extract type from default value (tsantos84)

    This PR was squashed before being merged into the 4.3-dev branch (closes #27570).

    Discussion
    ----------

    [PropertyInfo] Added support for extract type from default value

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

    Added support for extract type from property's default value.

    ```php

    class Dummy
    {
        private $age = 30;
    }

    $types = $propertyInfo->getTypes('Dummy', 'age');

    /*
      Example Result
      --------------
      array(1) {
        [0] =>
        class Symfony\Component\PropertyInfo\Type (6) {
          private $builtinType          => string(3) "int"
          private $nullable             => bool(false)
          private $class                => 'Dummy'
          private $collection           => bool(false)
          private $collectionKeyType    => NULL
          private $collectionValueType  => NULL
        }
      }
    */
    ```

    Commits
    -------

    f6510cda40 [PropertyInfo] Added support for extract type from default value

commit f6510cda40193e9e586ca5c801594a286e3854f7
Author: tsantos <tales.augusto.santos@gmail.com>
Date:   Sat Jun 9 20:32:40 2018 -0300

    [PropertyInfo] Added support for extract type from default value

commit 4e1ad10d91144708b9f1dd777abbc15ac0179532
Merge: 93c2feb7b3 9f85103151
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 10:57:57 2019 +0100

    feature #28919 [DX][WebProfilerBundle] Add Pretty Print functionality for Request Content (SamFleming)

    This PR was squashed before being merged into the 4.3-dev branch (closes #28919).

    Discussion
    ----------

    [DX][WebProfilerBundle] Add Pretty Print functionality for Request Content

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

    ## Why?
    Quite often when attempting to debug issues with JSON requests sent to a Symfony API, I use the Web Profiler to check the request content. More often than not the request content isn't easily readable (99% of the time it's all stuck on a single line and impossible to read). I always find myself copying + pasting the content into a random online tool to have it "pretty-print" the JSON.

    Usually this isn't an issue, but can be annoying when offline. There's also the security issue of sending entire JSON payloads to a third-party server just for formatting 😳. Alternatively, maybe developers  copy+paste into their chosen editors and this PR is all a waste of time — I hope not 😛.

    ## How?
    This PR adds "Pretty-Print" JSON functionality straight into the profiler.

    We can use `collector.requestheaders` to detect if the request was JSON and conditionally show the Pretty Print button.

    When the button is clicked, we format the JSON from the "Request Content" card.

    ## What does it look like?
    Before:
    ![without-pretty-print](https://user-images.githubusercontent.com/573318/47180751-36b0ce00-d319-11e8-86ed-eb0d78ebcbe3.png)

    After:
    ![pretty](https://user-images.githubusercontent.com/573318/47180763-3c0e1880-d319-11e8-995d-eba565aad827.png)

    Non-JSON Requests (unchanged):
    ![non-json-request](https://user-images.githubusercontent.com/573318/47181080-03227380-d31a-11e8-8cf2-e8b2e8c1a21d.png)

    ## Things to consider

    - Is `JSON.stringify(JSON.parse(content));` the safest, most efficient way to do this?
    - Should the "Pretty Print" button be in-line next to the "Request Content" header? I couldn't find a pattern for this sort of thing elsewhere in the profiler.
    - Do people want JSON formatted with 4 spaces, would 2 spaces be preferred? Should this be a configuration option stored in localStorage (such as the light/dark theme configuration)?
    - Should this be a toggle? E.g. click to pretty print, then click to undo

    ## Future Improvements

    Depending on how this is received it could be extended to support formatting different request content-types (e.g. XML formatting) — I assume.

    ## Progress

    - [x] Gather feedback and decide where to perform the pretty-print: [server-side, or client-side](https://github.com/symfony/symfony/pull/28919#issuecomment-431508361).
    *It was decided server-side would be better.*

    Commits
    -------

    9f85103151 [DX][WebProfilerBundle] Add Pretty Print functionality for Request Content

commit 9f8510315135d5f131f96a0c9f5538c91bda9b5b
Author: Sam Fleming <me@sam-fleming.co.uk>
Date:   Fri Oct 19 21:49:47 2018 +0100

    [DX][WebProfilerBundle] Add Pretty Print functionality for Request Content

commit 93c2feb7b365bc6159b470ce97193f14eb471fe8
Merge: 3560cfdebe b70c1b6e0d
Author: Christian Flothmann <christian.flothmann@sensiolabs.de>
Date:   Thu Feb 21 10:41:31 2019 +0100

    feature #28723 [Form] deprecate custom formats with HTML5 widgets (xabbuh)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    [Form] deprecate custom formats with HTML5 widgets

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

    Commits
    -------

    b70c1b6e0d deprecate custom formats with HTML5 widgets

commit 3560cfdebe943fc82d95de160c5f8654daf98d2e
Merge: cbe8cff882 423a54f46e
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 10:36:22 2019 +0100

    feature #29865 [Console] Added suggestions for missing packages (przemyslaw-bogusz)

    This PR was squashed before being merged into the 4.3-dev branch (closes #29865).

    Discussion
    ----------

    [Console] Added suggestions for missing packages

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

    Currently, when someone runs one of the most common commands, e.g. `server:run`, but does not have a required package installed, they will get a general **'There are no commands defined...'** message.

    This commit adds a more useful message, informing the user about a package that might be missing and suggesting a command that should be run in order to install it, e.g. `composer require symfony/web-server-bundle --dev`.

    Commits
    -------

    423a54f46e [Console] Added suggestions for missing packages

commit 423a54f46e68e18220cd1e65959e71d8a2eca9d9
Author: Przemysław Bogusz <przemyslaw.bogusz@tubotax.pl>
Date:   Mon Jan 14 00:50:28 2019 +0100

    [Console] Added suggestions for missing packages

commit cbe8cff8826f93741f6f2589f474d45d54cd28d7
Merge: 8c3dc8254a 5fcd6b1d4e
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 10:23:57 2019 +0100

    feature #30301 [VarDumper] add link to source next to class names (nicolas-grekas)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    [VarDumper] add link to source next to class names

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

    This PR adds a `^` next to language identifiers (class and callback names) both on the Web and on the CLI. Clicking it opens the IDE to the target source code:

    Eg in the profiler:
    ![image](https://user-images.githubusercontent.com/243674/53021031-900c4380-3458-11e9-9439-260ff11f0910.png)

    And in the CLI:
    ![image](https://user-images.githubusercontent.com/243674/53021092-b16d2f80-3458-11e9-9f03-cdab59da4585.png)

    Commits
    -------

    5fcd6b1d4e [VarDumper] add link to source next to class names

commit 8c3dc8254a508593aa0637445659e93e39d31dca
Merge: ba725c2d70 51ed942ef5
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 10:03:39 2019 +0100

    minor #30326 Additional addons for the ghost (przemyslaw-bogusz)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    Additional addons for the ghost

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

    Following #30236 I've prepared two additional addons for the ghost.

    The first one will display a plus on February 29, to indicate it's a leap year.
    ![ghost-plus](https://user-images.githubusercontent.com/35422131/53133091-3730ce00-3572-11e9-89f7-44568d796f7e.png)

    The second one will display a gift on October 18, to indicate it's Symfony's birthday.
    ![ghost-gift](https://user-images.githubusercontent.com/35422131/53133127-5596c980-3572-11e9-8901-704785e235a8.png)

    I would just like to point out that the addons are purely for fun, to amuse every hardcoding Symfony developer and offer a chance to smile on these few selected occasions.

    Commits
    -------

    51ed942ef5 Additional addons for the ghost

commit 4b5661769d46662a69b3ba7cd18f1743e4a28eb9
Merge: ff4b1d4bff 8a931576d2
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 10:00:18 2019 +0100

    minor #30243 [Validator] Added missing translations for Afrikaans (Chris Tiearney)

    This PR was squashed before being merged into the 3.4 branch (closes #30243).

    Discussion
    ----------

    [Validator] Added missing translations for Afrikaans

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

    Added missing translations for Afrikaans

    Commits
    -------

    8a931576d2 [Validator] Added missing translations for Afrikaans

commit 8a931576d24f3a6e8be495da981b90678bde70f8
Author: Chris Tiearney <christ@miway.co.za>
Date:   Thu Feb 14 15:19:17 2019 +0200

    [Validator] Added missing translations for Afrikaans

commit ff4b1d4bff820720f8f95381ecc5b65c7f72340e
Merge: 68d5597125 46461e91f9
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 09:51:54 2019 +0100

    bug #30277 [Console] Prevent ArgvInput::getFirstArgument() from returning an option value (chalasr)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    [Console] Prevent ArgvInput::getFirstArgument() from returning an option value

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

    Fixes the case where the passed input string contains no command name but one or more global (i.e. application-defined) options accepting values.

    Commits
    -------

    46461e91f9 [Console] Prevent ArgvInput::getFirstArgument() from returning an option value

commit ba725c2d7029cfdcfdb7a025cf5ccc6434e51173
Merge: 2e6d0698f5 5e16053c70
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 09:34:03 2019 +0100

    feature #30225 publish message with custom queue options : flags | attributes (fedor.f, insidestyles)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    publish message with custom queue options : flags | attributes

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

    option for publish persistent message:
    `amqp://localhost/%2f/messages?queue[attributes][delivery_mode]=2&queue[flags]=1`
    or
    options:
    >queue:
    >>name: '%env(MESSENGER_QUEUE)%'
    >>routing_key: '%env(MESSENGER_ROUTING_KEY)%'
    >>attributes:
    >>>delivery_mode: 2

    >>flags: 1

    Commits
    -------

    5e16053c70 update test case for custom queue options
    4532319520 publish message with custom queue options : update ConnectionTest
    6f9fdaf7e4 publish message with custom queue options : flags | attributes

commit 68d5597125f65f733f8d5aed58c83d75bdad1a53
Merge: da16b9c49b 3a22cad29b
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 09:28:33 2019 +0100

    bug #29981 [Security] Complain about an empty decision strategy (corphi)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    [Security] Complain about an empty decision strategy

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

    When an empty string is passed (or objects with a similarly behaving `__toString()` method) to the constructor, the call to `decide` causes infinite recursion.

    Commits
    -------

    3a22cad29b Fix infinite recursion when passed an empty string

commit 2e6d0698f545e081c3c326a2483d37a8c2d66bb7
Merge: 6207f19317 bf4cd6164d
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 09:24:00 2019 +0100

    feature #30249 [Routing] deprecate some router options (Tobion)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    [Routing] deprecate some router options

    | Q             | A
    | ------------- | ---
    | Branch?       | master
    | Bug fix?      | no
    | New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
    | BC breaks?    | no     <!-- see https://symfony.com/bc -->
    | Deprecations? | yes <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
    | Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
    | Fixed tickets | https://github.com/symfony/symfony/pull/28865#issuecomment-463480970
    | License       | MIT
    | Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

    <!--
    Write a short README entry for your feature/bugfix here (replace this comment block.)
    This will help people understand your PR and can be used as a start of the Doc PR.
    Additionally:
     - Bug fixes must be submitted against the lowest branch where they apply
       (lowest branches are regularly merged to upper ones so they get the fixes too).
     - Features and deprecations must be submitted against the master branch.
    -->

    Commits
    -------

    bf4cd6164d [Routing] deprecate some router options

commit da16b9c49be170f080c9db63c165414270cbabdc
Merge: eb7a612763 9fb619ac62
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 09:22:09 2019 +0100

    bug #29822 [EventDispatcher] Fix unknown priority (ro0NL)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    [EventDispatcher] Fix unknown priority

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

    Somehow, after #29411 the profiler actually shows the security firewall `ContextListener`.

    This listener removes itself at call time, but at this point it's wrapped reference is already in the call stack; to be displayed in the profiler.

    Because the wrapped listener lazily collects its priority - it asks it from the dispatcher -  we get null; the listener was already removed.

    This causes the profiler to render `-` by default:

    ![image](https://user-images.githubusercontent.com/1047696/50850320-d5c5ee80-1379-11e9-8516-0c6bc54512ce.png)

    This fixes it by always passing the expected priority at call time.

    Commits
    -------

    9fb619ac62 [EventDispatcher] Fix unknown priority

commit 6207f193171a285f41b8985f05746013702649d5
Merge: 02d6c0f22f 42e8f5e3a2
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 09:19:09 2019 +0100

    feature #30267 [Form] add option to render NumberType as type="number" (xabbuh)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    [Form] add option to render NumberType as type="number"

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

    Commits
    -------

    42e8f5e3a2 add option to render NumberType as type="number"

commit b70c1b6e0d1b0fccd01a4ae46eb499a2e9007eda
Author: Christian Flothmann <christian.flothmann@sensiolabs.de>
Date:   Thu Oct 4 13:05:56 2018 +0200

    deprecate custom formats with HTML5 widgets

commit eb7a612763c1dbc227e2a7178783dd6587c43841
Merge: a67441ab1f 0c8d311657
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 08:45:12 2019 +0100

    minor #30319 [Console] Doc Block: More intuitive usage example in ArrayInput. (mattjanssen)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    [Console] Doc Block: More intuitive usage example in ArrayInput.

    Make the ArrayInput doc block example more self-explanatory and less misleading. Show the common use case of having `command`, and replace the confusing `name` argument with something more arbitrary.

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

    The current doc block example for `ArrayInput` seems to imply that the command name goes in as `name`, but this is actually just a random argument, named "name", in this case.
    ```php
    new ArrayInput(['name' => 'foo', '--bar' => 'foobar']);
    ```

    It might be more helpful to provide an example that works with Symfony's `Console` component out of the box, as that is a common use case:
    ```php
    new ArrayInput(['command' => 'foo:bar', 'foo' => 'bar', '--bar' => 'foobar']);
    ```

    Commits
    -------

    0c8d311657 Update usage example in ArrayInput doc block.

commit 02d6c0f22fa165b3c73cc194b8734651ada04dab
Merge: 5c7390006b 405aa548eb
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 08:40:33 2019 +0100

    feature #28969 [Form] deprecate using invalid names for buttons (xabbuh)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    [Form] deprecate using invalid names for buttons

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

    Commits
    -------

    405aa548eb deprecate using invalid names for buttons

commit a67441ab1f30dc7baf0e8acdb2a52706cacb44b1
Merge: 191403119c 0bd5dd84ef
Author: Fabien Potencier <fabien@potencier.org>
Date:   Thu Feb 21 08:36:17 2019 +0100

    bug #30324 [Validator] Fixed duplicate UUID (ralfkuehnel)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    [Validator] Fixed duplicate UUID

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

    Fixes the `TOO_HIGH_ERROR` constant had the same value in two different constraints: `LessThan` and `LessThanOrEqual`.

    Commits
    -------

    0bd5dd84ef [Validator] Fixed duplicate UUID

commit 191403119cf3c4a9c666b4393f7ba43a3bb6cf0d
Merge: c6de2dc03e a60d802619
Author: Christian Flothmann <christian.flothmann@sensiolabs.de>
Date:   Thu Feb 21 08:31:48 2019 +0100

    bug #30265 [Form] do not validate non-submitted form fields in PATCH requests (xabbuh)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    [Form] do not validate non-submitted form fields in PATCH requests

    | Q             | A
    | ------------- | ---
    | Branch?       | 3.4
    | Bug fix?      | yes
    | New feature?  | no
    | BC breaks?    | no
    | Deprecations? | no
    | Tests pass?   | yes
    | Fixed tickets | #11493, #19788, #20805, #24453, #30011
    | License       | MIT
    | Doc PR        |

    When a form field is not embedded as part of a HTTP PATCH requests, its
    validation constraints configured through the `constraints` option must
    not be evaluated. The fix from #10567 achieved this by not mapping their
    violations to the underlying form field. This however also means that
    constraint violations caused by validating the whole underlying data
    object will never cause the form to be invalid. This breaks use cases
    where some constraints may, for example, depend on the value of other
    properties that were changed by the submitted data.

    Commits
    -------

    a60d802619 do not validate non-submitted form fields in PATCH requests

commit a60d802619382e76b07d75ab4481d87d4cbc0125
Author: Christian Flothmann <christian.flothmann@sensiolabs.de>
Date:   Sat Feb 16 00:03:48 2019 +0100

    do not validate non-submitted form fields in PATCH requests

commit 42e8f5e3a240aa2d05e4a79a00df605a969f088b
Author: Christian Flothmann <christian.flothmann@sensiolabs.de>
Date:   Sat Feb 16 11:15:17 2019 +0100

    add option to render NumberType as type="number"

commit 51ed942ef5f4a902730c6617ef8e8c1aa9b04e00
Author: Przemysław Bogusz <przemyslaw.bogusz@tubotax.pl>
Date:   Thu Feb 21 00:39:50 2019 +0100

    Additional addons for the ghost

commit 0c8d31165722852049389bc0208149b8e60d980f
Author: Matt Janssen <github@mattjanssen.com>
Date:   Wed Feb 20 14:29:47 2019 +0100

    Update usage example in ArrayInput doc block.

    Make the ArrayInput doc block example more self-explanatory and less misleading. Show the common use case of having `command`, and replace the confusing `name` argument with something more arbitrary.

commit 46461e91f9643434a4f253759006d5d248ec5236
Author: Robin Chalas <robin.chalas@elao.com>
Date:   Sun Feb 17 12:40:42 2019 +0100

    [Console] Prevent ArgvInput::getFirstArgument() from returning an option value

commit 0bd5dd84ef2506b3b36891d234daedcd12140cbe
Author: Ralf Kühnel <info@rkuehnel.de>
Date:   Wed Feb 20 20:51:21 2019 +0100

    [Validator] Fixed duplicate UUID

commit c6de2dc03e731cc0c9b1906c47cb896272759365
Author: Fabien Potencier <fabien@potencier.org>
Date:   Wed Feb 20 15:47:01 2019 +0100

    fixed CS

commit eab631fc454791dc144f650c780e51c32412c165
Author: Jáchym Toušek <enumag@gmail.com>
Date:   Wed Feb 20 09:40:26 2019 +0100

    [VarDumper] Implement DsCaster

commit 9fb619ac62c2370b8377cc317ab76e56d970c2f4
Author: Roland Franssen <franssen.roland@gmail.com>
Date:   Tue Jan 8 19:04:22 2019 +0100

    [EventDispatcher] Fix unknown priority

commit 47d26f6f705537ac5592ac8c8a229c6361922027
Merge: df0fc5ee72 94989fe794
Author: Fabien Potencier <fabien@potencier.org>
Date:   Wed Feb 20 11:26:20 2019 +0100

    bug #30313 Avoid mutating the Finder when building the iterator (stof)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    Avoid mutating the Finder when building the iterator

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

    When excluding dot files or vcs files (which is done by default), the Finder object was mutated each time `searchInDirectory` was called to register the extra exclusions. This leads to registering them multiple times when the method is called multiple times (which happens either because you have multiple directories in `->in()` or because you call `getIterator` multiple times, for instance because of using `hasResults` or `count`).

    This mutation create bugs if the Finder object is reconfigured between the 2 calls to `getIterator` to disable some of these ignore rules, as they would already be registered in the other config properties. New tests have been added to reproduce these bugs and prevent regressions.

    This mutation is now avoided by using a local array for the final configuration, preserving the user configuration.

    Commits
    -------

    94989fe794 Avoid mutating the Finder when building the iterator

commit 94989fe79485a72a3707ac8c490c8a9a69cacded
Author: Christophe Coevoet <stof@notk.org>
Date:   Wed Feb 20 10:24:15 2019 +0100

    Avoid mutating the Finder when building the iterator

commit 5c7390006b650ed847ebd7780a2fd18ce9163ad0
Merge: c3cf08e238 c8240a0423
Author: Christian Flothmann <christian.flothmann@sensiolabs.de>
Date:   Wed Feb 20 08:48:20 2019 +0100

    feature #29887 [Form] Add input_format option to DateType and DateTimeType (fancyweb)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    [Form] Add input_format option to DateType and DateTimeType

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

    Add a new option to specify the date format when using the `string` input type.

    Commits
    -------

    c8240a0423 [Form] Add input_format option to DateType and DateTimeType

commit c3cf08e23821f6fbf36c1204821e93e64dd0e284
Merge: ccd4bbeb31 1a983d07db
Author: Christian Flothmann <christian.flothmann@sensiolabs.de>
Date:   Wed Feb 20 08:44:41 2019 +0100

    minor #30230 [Form] undeprecate date formats in single_text widgets (xabbuh)

    This PR was merged into the 4.3-dev branch.

    Discussion
    ----------

    [Form] undeprecate date formats in single_text widgets

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

    Commits
    -------

    1a983d07db undeprecate date formats in single_text widgets

commit 424773da1f650a003de49518ba9753cb3adaff4d
Merge: 822867d7d5 6b354cc304
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Wed Feb 20 08:36:13 2019 +0100

    bug #30294 [FrameworkBundle] Fix Descriptor throwing on non existent parent (GuilhemN)

    This PR was merged into the 4.2 branch.

    Discussion
    ----------

    [FrameworkBundle] Fix Descriptor throwing on non existent parent

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

    The Descriptor throws an exception when it encounters a class having a non existent parent, see https://github.com/nelmio/NelmioApiDocBundle/issues/1470 for the record.

    <!--
    Write a short README entry for your feature/bugfix here (replace this comment block.)
    This will help people understand your PR and can be used as a start of the Doc PR.
    Additionally:
     - Bug fixes must be submitted against the lowest branch where they apply
       (lowest branches are regularly merged to upper ones so they get the fixes too).
     - Features and deprecations must be submitted against the master branch.
    -->

    Commits
    -------

    6b354cc304 Fix Descriptor throwing on non existent parent

commit df0fc5ee72fd3156067d400a784306721b4e5cd4
Merge: 31bfded9c7 19ca344685
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Wed Feb 20 08:24:15 2019 +0100

    minor #30308 [Validator] Added missing translations pt_BR (felipyamorim)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    [Validator] Added missing translations pt_BR

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

    Added missing translations.

    Commits
    -------

    19ca344685 [Validator] Added missing translations pt_BR

commit 31bfded9c79df9a221962f03c6d759e1de5d897f
Merge: 51b72f3284 7db66b3a30
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Wed Feb 20 08:23:13 2019 +0100

    minor #30309 [Validator] Add the missing translations for the Greek (el) locale (nikossvnk)

    This PR was merged into the 3.4 branch.

    Discussion
    ----------

    [Validator] Add the missing translations for the Greek (el) locale

    | Q             | A
    | ------------- | ---
    | Branch?       | 3.4
    | Bug fix?      | no
    | New feature?  | no
    | BC breaks?    | no
    | Deprecations? | no
    | Tests pass?   | yes
    | Fixed tickets | #30158
    | License       | MIT
    | Doc PR        | n/a
    <!--
    Write a short README entry for your feature/bugfix here (replace this comment block.)
    This will help people understand your PR and can be used as a start of the Doc PR.
    Additionally:
     - Bug fixes must be submitted against the lowest branch where they apply
       (lowest branches are regularly merged to upper ones so they get the fixes too).
     - Features and deprecations must be submitted against the master branch.
    -->

    Commits
    -------

    7db66b3a30 [Validator] Add the missing translations for the Greek (el) locale

commit 7db66b3a30250ffcb9a3f0b08dc3ccaec28aa4ee
Author: nikos.sotiropoulos <nikolaos.sotiropoulos@commercetools.de>
Date:   Wed Feb 20 01:41:21 2019 +0200

    [Validator] Add the missing translations for the Greek (el) locale

    closes #30158

commit 3a22cad29b2e3fe964328ccdf2ddbb6b88630195
Author: Philipp Cordes <pc@irgendware.net>
Date:   Fri Jan 25 00:11:57 2019 +0100

    Fix infinite recursion when passed an empty string

commit 5fcd6b1d4ec5525fbd9276078b74e0b65dce559a
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Tue Feb 19 15:09:31 2019 +0100

    [VarDumper] add link to source next to class names

commit 51b72f3284a575cfc8cfe86b5a4455c61be7db9d
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Tue Feb 19 19:43:50 2019 +0100

    [Form] Relax fixture

commit ccd4bbeb31c6c4fe86a583aebc42f7bae697d68f
Merge: 374c8b0063 822867d7d5
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Tue Feb 19 19:42:38 2019 +0100

    Merge branch '4.2'

    * 4.2:
      [Form] Relax fixture

commit 822867d7d5e2fa07365b237484a1996903804138
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Tue Feb 19 19:41:56 2019 +0100

    [Form] Relax fixture

commit 374c8b006332b0a4310919ea21565d2a380094bc
Merge: 87a223b333 890c2ac9f5
Author: Nicolas Grekas <nicolas.grekas@gmail.com>
Date:   Tue Feb 19 19:29:52 2019 +0100

    Merge branch '4.2'

    * 4.2:
      [Console] Fix command testing with missing inputs
      [Validator] Sync no/nb translation files
      [Translation] Added a script to display the status of translations
      [Validator] Added missing translations for Norwegian (\"no\") locale #30179
      [Secur…

@nicolas-grekas nicolas-grekas modified the milestones: next, 4.3 Apr 30, 2019

@fabpot fabpot referenced this pull request May 9, 2019

Merged

Release v4.3.0-BETA1 #31435

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.