Commit Graph

31322 Commits

Author SHA1 Message Date
Fabien Potencier
e5bb5e24bd removed usage of backticks in exception messages 2018-09-10 09:26:34 +02:00
Fabien Potencier
2d55ae5212 [Messenger] changed AmqpExt classes constructor signature 2018-09-10 08:21:34 +02:00
Pierre du Plessis
bd3a66bc59
Register the messenger data collector only when the profiler is enabled 2018-09-10 08:11:11 +02:00
Fabien Potencier
0cd1da66d7 feature #28405 [Messenger] Uses a messenger serializer, not an individual encoder/decoder (sroze)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Uses a messenger serializer, not an individual encoder/decoder

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

Makes the component-based even simpler.

**Before**
```php
        $encoderDecoder = Serializer::create();
        $middleware = [new SendMessageMiddleware(new SenderLocator([
            Message::class => new AmqpTransport($encoderDecoder, $encoderDecoder, $connection),
        ]))];
```

**After**
```php
       $middleware = [new SendMessageMiddleware(new SenderLocator([
            Message::class => new AmqpTransport(Serializer::create(), $connection),
        ]))];
```

Commits
-------

5b93f5f45e Uses a messenger serializer, not an individual encoder/decoder
2018-09-10 08:01:02 +02:00
Nicolas Grekas
2c428d130d [FrameworkBundle] bind "ContainerInterface $parameterBag" arguments to the "parameter_bag" service 2018-09-09 21:29:59 +02:00
kevin.nadin
f75fffa997 Trigger deprecation notices when inherited class calls parent method but misses adding new arguments 2018-09-09 20:06:02 +02:00
Nicolas Grekas
a5bf9b0445 [VarExporter] fix exporting final serializable classes extending internal ones 2018-09-09 17:25:49 +02:00
Vlad Gregurco
e2e4049721 [Intl] Blacklist Eurozone and United Nations in Region Data Generator 2018-09-09 13:16:33 +02:00
Samuel ROZE
5b93f5f45e Uses a messenger serializer, not an individual encoder/decoder 2018-09-09 11:28:13 +01:00
Nicolas Grekas
1a46605746 feature #28298 [WebServerBundle] Add support for Xdebug's Profiler (maidmaid)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[WebServerBundle] Add support for Xdebug's Profiler

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

> Xdebug's Profiler is a powerful tool that gives you the ability to analyze your PHP code and determine bottlenecks or generally see which parts of your code are slow and could use a speed boost.

https://xdebug.org/docs/profiler

When we run/start the web server, it would be useful to enable the trigger for the Xdebug's Profiler. That means we could easily trigger the creation of a Xdebug profile and analysing it [thanks to PhpStorm](https://www.jetbrains.com/help/phpstorm/analyzing-xdebug-profiling-data.html) which provides an **Execution Statistics** panel (examine the summary information about execution metrics of every called function) and a **Call Tree** panel (explore the execution paths of all called functions). You can see these two panels in action [here](https://youtu.be/_ua_O01IICg?t=1m22s) for a better understanding.

Commits
-------

0f4c0a6eaf Add support for Xdebug Profiler
2018-09-09 11:51:19 +02:00
Dany Maillard
0f4c0a6eaf Add support for Xdebug Profiler 2018-09-09 11:48:27 +02:00
Nicolas Grekas
d4e1cd9869 Merge branch '4.1'
* 4.1:
  [Debug] fix detecting overriden final/internal methods implemented using traits
  [Controller][ServiceValueResolver] Making method access case insensitive
2018-09-09 11:23:23 +02:00
Nicolas Grekas
92a22b02d3 Merge branch '3.4' into 4.1
* 3.4:
  [Debug] fix detecting overriden final/internal methods implemented using traits
  [Controller][ServiceValueResolver] Making method access case insensitive
2018-09-09 11:23:09 +02:00
Nicolas Grekas
90e79450d3 bug #28411 [Debug] fix detecting overriden final/internal methods implemented using traits (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Debug] fix detecting overriden final/internal methods implemented using traits

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

Commits
-------

d638237f09 [Debug] fix detecting overriden final/internal methods implemented using traits
2018-09-09 11:20:33 +02:00
Nicolas Grekas
be05bbf4b7 bug #28404 [Controller][ServiceValueResolver] Making method access case insensitive (nicoweb)
This PR was merged into the 3.4 branch.

Discussion
----------

[Controller][ServiceValueResolver] Making method access case insensitive

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

Fix #28254 by making the method access insensitive in `ServiceValueResolver`.

Commits
-------

cc6f82769b [Controller][ServiceValueResolver] Making method access case insensitive
2018-09-09 11:18:43 +02:00
Nicolas Grekas
d638237f09 [Debug] fix detecting overriden final/internal methods implemented using traits 2018-09-09 11:07:24 +02:00
Robin Chalas
344b8cee42 Merge branch '4.1'
* 4.1:
  [Console] Fix SymfonyQuestionHelper::askQuestion() with choice value as default
2018-09-08 21:04:21 +02:00
Robin Chalas
492eb5fe24 Merge branch '3.4' into 4.1
* 3.4:
  [Console] Fix SymfonyQuestionHelper::askQuestion() with choice value as default
2018-09-08 21:04:07 +02:00
Robin Chalas
49992c5dfb Merge branch '2.8' into 3.4
* 2.8:
  [Console] Fix SymfonyQuestionHelper::askQuestion() with choice value as default
2018-09-08 21:02:09 +02:00
Robin Chalas
d32d7685c2 bug #28401 [Console] Fix SymfonyQuestionHelper::askQuestion() with choice value as default (chalasr)
This PR was merged into the 2.8 branch.

Discussion
----------

[Console] Fix SymfonyQuestionHelper::askQuestion() with choice value as default

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

There is an inconsistency between `SymfonyStyle::askQuestion(new ChoiceQuestion(...))` and `SymfonyStyle::choice(...)`, the former does not support to have a choice value as default instead of a choice key while the latter handles both.
This is causing an `undefined index` notice breaking interactive command testing, fixed here.

Commits
-------

c51dda0 [Console] Fix SymfonyQuestionHelper::askQuestion() with choice value as default
2018-09-08 20:52:26 +02:00
Nicolas Grekas
4cf1ae4e07 [VarExporter] minor CS tweak 2018-09-08 20:19:57 +02:00
Nicolas Grekas
4a16b6ca65 [VarExporter] fix exporting instances of final classes that extend internal ones 2018-09-08 19:59:25 +02:00
nicoweb
cc6f82769b [Controller][ServiceValueResolver] Making method access case insensitive 2018-09-08 16:49:17 +02:00
Nicolas Grekas
004c315b0c Merge branch '4.1'
* 4.1:
  [DI] configure inlined services before injecting them when dumping the container
  Consistently throw exceptions on a single line
  fix fopen calls
  Update .editorconfig
2018-09-08 15:42:43 +02:00
Nicolas Grekas
6fec32c0d0 Merge branch '3.4' into 4.1
* 3.4:
  [DI] configure inlined services before injecting them when dumping the container
  Consistently throw exceptions on a single line
  fix fopen calls
  Update .editorconfig
2018-09-08 15:24:10 +02:00
Nicolas Grekas
8bc014c211 Merge branch '2.8' into 3.4
* 2.8:
  Consistently throw exceptions on a single line
  fix fopen calls
  Update .editorconfig
2018-09-08 15:15:14 +02:00
Samuel ROZE
d16277b560 Remove the experimental annotations 2018-09-08 14:04:14 +01:00
Nicolas Grekas
e5c54053c4 [DI] configure inlined services before injecting them when dumping the container 2018-09-08 14:51:51 +02:00
Nicolas Grekas
721dc8661f Consistently throw exceptions on a single line 2018-09-08 14:44:02 +02:00
Fabien Potencier
e980ce40e2 feature #28399 [Messenger] Add a SenderLocator decoupled from ContainerInterface (fabpot)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Add a SenderLocator decoupled from ContainerInterface

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

For handler locators, we have a generic `HandlerLocator` class that takes a simple mapping instead of a service locator. The same did not exist for sender locators. So, this PR adds this possibility as well. That allows for something like this:

```php
new MessageBus([
    new SendMessageMiddleware(new SenderLocator([
        Message::class => new AmqpTransport($encoderDecoder, $encoderDecoder, $connection),
    ])),
    new HandleMessageMiddleware(new HandlerLocator([
        Message::class => new MessageHandler(),
    ])),
]);
```

Commits
-------

e658e155aa [Messenger] added a SenderLocator decoupled from ContainerInterface
2018-09-08 14:31:58 +02:00
Fabien Potencier
7bbe78bc72 minor #28402 [TwigBundle] Using Twig template name syntax in form_theme example (yceruto)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[TwigBundle] Using Twig template name syntax in form_theme example

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

Minor tweak to remove the `symfony/templating` syntax.

Commits
-------

ce653f274b Using Twig template name syntax in form_theme example
2018-09-08 14:27:18 +02:00
Fabien Potencier
e658e155aa [Messenger] added a SenderLocator decoupled from ContainerInterface 2018-09-08 14:26:08 +02:00
Fabien Potencier
cd39b51189 feature #27321 [Messenger][Profiler] Trace middleware execution (ogizanagi)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger][Profiler] Trace middleware execution

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

This is a start for #27262 with:
- traceable Messenger middlewares
- ~~a dedicated category for http kernel controller args resolvers~~ => See #28387

<img width="1071" alt="screenshot 2018-05-20 a 12 23 55" src="https://user-images.githubusercontent.com/2211145/40278071-98c04924-5c2a-11e8-9770-d78ac62d2c16.PNG">

Messenger middleware are traced, with bus info (if not shared accros buses):

<img width="1069" alt="screenshot 2018-05-20 a 12 28 15" src="https://user-images.githubusercontent.com/2211145/40278073-9e6979f4-5c2a-11e8-9657-ee3aa057a5be.PNG">

Another possibility is to use the middleware id instead of the class (with or without extra bus info?):

<img width="1074" alt="screenshot 2018-05-20 a 12 32 24" src="https://user-images.githubusercontent.com/2211145/40278074-9e85f43a-5c2a-11e8-9f13-ad41de342079.PNG">

(_of course, collected times are faked here using `usleep` in the traceable middleware_)

Commits
-------

e974f67b1f [Messenger][Profiler] Trace middleware execution
2018-09-08 14:24:37 +02:00
Fabien Potencier
f27c15a493 [Messenger] added a simple serializer 2018-09-08 14:14:59 +02:00
Yonel Ceruto
ce653f274b Using Twig template name syntax in form_theme example 2018-09-08 08:05:32 -04:00
Fabien Potencier
a480dc6a85 feature #28397 [Messenger] Change exceptions to use component's one (fabpot)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Change exceptions to use component's one

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

4e0e5e5fdb [Messenger] changed exceptions to use component's one
2018-09-08 13:58:28 +02:00
Yonel Ceruto
83a75f4313 Caching missed templates on cache warmup 2018-09-08 07:39:36 -04:00
Robin Chalas
c51dda0fe1 [Console] Fix SymfonyQuestionHelper::askQuestion() with choice value as default 2018-09-08 13:31:39 +02:00
Fabien Potencier
f6b4dc94d1 feature #28387 [HttpKernel][Profiler] Add arg value resolver category in performances panel (ogizanagi)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[HttpKernel][Profiler] Add arg value resolver category in performances panel

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

Extracted from https://github.com/symfony/symfony/pull/27321

<img width="1071" alt="screenshot 2018-05-20 a 12 23 55" src="https://user-images.githubusercontent.com/2211145/40278071-98c04924-5c2a-11e8-9770-d78ac62d2c16.PNG">

Commits
-------

b24e0543e0 [HttpKernel][Profiler] Add arg value resolver category in performances panel
2018-09-08 09:28:50 +02:00
Roland Franssen
5454e6fc1d [Validator] Deprecate validating DateTimeInterface in Date|Time|DateTime constraints 2018-09-08 08:57:33 +02:00
Fabien Potencier
4e0e5e5fdb [Messenger] changed exceptions to use component's one 2018-09-08 08:36:06 +02:00
Maxime Steinhausser
e974f67b1f [Messenger][Profiler] Trace middleware execution 2018-09-08 06:30:21 +02:00
Fabien Potencier
963fde9fb1 [Messenger] added interfaces to be type-hinted even when not using a Container 2018-09-07 22:30:04 +02:00
Franz Wilding
253d0a683b [Form] Fix DateTimeType html5 input format 2018-09-07 16:52:44 +03:00
Nicolas Grekas
373dad371a bug #28371 [VarExporter] fix exporting objects that mutate on __sleep() (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[VarExporter] fix exporting objects that mutate on __sleep()

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

Commits
-------

36e412fdfc [VarExporter] fix exporting objects that mutate on __sleep()
2018-09-07 14:21:30 +02:00
Maxime Steinhausser
b24e0543e0 [HttpKernel][Profiler] Add arg value resolver category in performances panel 2018-09-07 12:37:30 +02:00
SpacePossum
6d155ed059 fix fopen calls 2018-09-06 19:11:15 +02:00
me_shaon
b9681fe83b Fix #28370: First time dump() method call not working issue 2018-09-06 23:01:56 +06:00
Nicolas Grekas
55def78682 [Finder] fix merge 2018-09-05 19:51:25 +02:00
Nicolas Grekas
36e412fdfc [VarExporter] fix exporting objects that mutate on __sleep() 2018-09-05 15:34:16 +02:00
Nicolas Grekas
e4d7c74845 Merge branch '4.1'
* 4.1:
  [appveyor] fix
  [DI] Fix dumping some complex service graphs
  Revert "minor #28321 [Routing] Fixed the interface description of the url generator interface (Toflar)"
  Fixed caching of templates in default path on cache warmup
  added missing LICENSE file
  remove cache warmers when Twig cache is disabled
  [Workflow] Make sure we do not run the next transition on an updated state
  change baseUrl to basePath to fix wrong profiler url
  [HttpKernel][FrameworkBundle] Fix escaping of serialized payloads passed to test clients
  chore: rename Appveyor filename
  Fixed the interface description of the url generator interface
  Format file size in validation message according to binaryFormat option
2018-09-05 14:00:05 +02:00
Nicolas Grekas
432487f577 Merge branch '3.4' into 4.1
* 3.4:
  [appveyor] fix
  Revert "minor #28321 [Routing] Fixed the interface description of the url generator interface (Toflar)"
  Fixed caching of templates in default path on cache warmup
  remove cache warmers when Twig cache is disabled
  [HttpKernel][FrameworkBundle] Fix escaping of serialized payloads passed to test clients
  chore: rename Appveyor filename
  Fixed the interface description of the url generator interface
  Format file size in validation message according to binaryFormat option
2018-09-05 13:58:22 +02:00
Nicolas Grekas
5632dc7c7a Merge branch '2.8' into 3.4
* 2.8:
  [appveyor] fix
  Revert "minor #28321 [Routing] Fixed the interface description of the url generator interface (Toflar)"
  remove cache warmers when Twig cache is disabled
  [HttpKernel][FrameworkBundle] Fix escaping of serialized payloads passed to test clients
  chore: rename Appveyor filename
  Fixed the interface description of the url generator interface
  Format file size in validation message according to binaryFormat option
2018-09-05 13:56:21 +02:00
Nicolas Grekas
545c360453 [FrameworkBundle] fix test when intl is disabled 2018-09-05 11:38:07 +02:00
Nicolas Grekas
5557e38e2d [PropertyInfo] fix BC break in PropertyInfoPass 2018-09-05 11:02:25 +02:00
Fabien Potencier
0bd1f7538e minor #28367 [DI] Forward Container::reset() to services implementing ResetInterface (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[DI] Forward Container::reset() to services implementing ResetInterface

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

Should help the garbage collector during tests.

Commits
-------

5d26ba1fd6 [DI] Forward Container::reset() to services implementing ResetInterface
2018-09-05 10:58:51 +02:00
Fabien Potencier
14fa58e215 minor #28359 [Dotenv] use array instead of variadic in Dotenv::doLoad() (fmata)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Dotenv] use array instead of variadic in Dotenv::doLoad()

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

According to comments done after merge in #26859.

Commits
-------

f3af2421f4 [Dotenv] use array instead of variadic in Dotenv::doLoad()
2018-09-05 10:57:29 +02:00
Nicolas Grekas
5d26ba1fd6 [DI] Forward Container::reset() to services implementing ResetInterface 2018-09-05 10:53:48 +02:00
Fabien Potencier
eaeb124093 bug #27764 [TwigBundle] Fixed caching of templates in default path on cache warmup (yceruto)
This PR was merged into the 3.4 branch.

Discussion
----------

[TwigBundle] Fixed caching of templates in default path on cache warmup

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

**Reproducer**
```bash
$ git clone https://github.com/symfony/demo && cd demo
$ bin/console cache:clear
$ find var/cache/dev/twig -printf "%y\n" | awk '/f/{f++}/d/{d++}END{printf "%d directories, %d files\n", d, f}'
...
```
**Before:**
```bash
...
131 directories, 167 files
```
Twig `paths` config:
44ce4dd625/src/Symfony/Bundle/TwigBundle/DependencyInjection/TwigExtension.php (L104)
`%kernel.root_dir%/Resources/views`:
2b01d59481/src/Symfony/Bundle/TwigBundle/TemplateIterator.php (L50)
**After:**
```bash
...
141 directories, 193 files
```
Adding `%twig.default_path%`.

Commits
-------

245c860ab4 Fixed caching of templates in default path on cache warmup
2018-09-05 10:48:23 +02:00
Fabien Potencier
e54dd4e600 feature #27981 [TwigBridge] Added template "name" argument to debug:twig command to find their paths (yceruto)
This PR was squashed before being merged into the 4.2-dev branch (closes #27981).

Discussion
----------

[TwigBridge] Added template "name" argument to debug:twig command to find their paths

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

Find the template file (to load by Twig) from a given template name (useful to know which file will be loaded exactly and which ones don't):
![debug-twig-loader-overridden](https://user-images.githubusercontent.com/2028198/42849959-81a8c49a-89f3-11e8-8d93-21581fe606a9.png)
This will also show the overridden files if they exist and the paths corresponding to their namespace.

In addition, the command suggests alternatives if you made a typo (this way you can check your template name quickly):

| namespace typo | template name typo |
| --- | --- |
| ![debug-twig-loader-ns-typo-alt](https://user-images.githubusercontent.com/2028198/42850624-81803e3c-89f6-11e8-8a92-11f09c99d13c.png) | ![debug-twig-loader-typo-alt](https://user-images.githubusercontent.com/2028198/42850644-99571238-89f6-11e8-9cf7-ed9b880f3d81.png) |

<details>
<summary><strong>Other outputs</strong></summary>

Discovering more alternatives:
![debug-twig-loader-not-found-many-alt](https://user-images.githubusercontent.com/2028198/42850815-82a30eb0-89f7-11e8-8d23-530f8ff325bc.png)

Unknown template name:
![debug-twig-loader-not-found](https://user-images.githubusercontent.com/2028198/42850882-d647aad0-89f7-11e8-9735-94149895437f.png)
</details>

## Update
The feature was introduced into `debug:twig` command and the `filter` argument was converted to `--filter` option. The `name` argument is now the first one of the command.

Commits
-------

7ef3d39a4c [TwigBridge] Added template \"name\" argument to debug:twig command to find their paths
2018-09-05 10:33:33 +02:00
Yonel Ceruto
7ef3d39a4c [TwigBridge] Added template \"name\" argument to debug:twig command to find their paths 2018-09-05 10:33:27 +02:00
Fabien Potencier
4ad01a95af feature #28207 [DI] leverage Contracts\Service (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[DI] leverage Contracts\Service

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

Embedding #28206 for now.
This deprecates some generic interfaces from the DI component in favor of the similar ones proposed for `Contracts\Service`.

Commits
-------

87392ab30d [DI] leverage Contracts\Service
2018-09-05 10:20:06 +02:00
Nicolas Grekas
cba6421b2b Merge branch '3.4' into 4.1
* 3.4:
  [DI] Fix dumping some complex service graphs
  change baseUrl to basePath to fix wrong profiler url
2018-09-05 09:26:50 +02:00
Nicolas Grekas
769fd4be0e [DI] Fix dumping some complex service graphs 2018-09-05 08:48:52 +02:00
Fabien Potencier
90494c20cc Revert "minor #28321 [Routing] Fixed the interface description of the url generator interface (Toflar)"
This reverts commit 487f8acde5, reversing
changes made to cf359c2e79.
2018-09-05 07:00:57 +02:00
Robin Chalas
c3fd60df2c feature #22225 [Console] Support formatted text cutting (ro0NL)
This PR was squashed before being merged into the 4.2-dev branch (closes #22225).

Discussion
----------

[Console] Support formatted text cutting

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes/no
| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

allows cutting a formatted text to a certain width. Actually needed if we want to support max. column widths in tables (see #22156)

```php
$text = 'pre <error>foo bar baz</error> post';
dump('BEFORE');
$output->writeln(wordwrap($output->getFormatter()->format($text), 3, "\n", true), OutputInterface::OUTPUT_RAW);
dump('AFTER');
$output->writeln($output->getFormatter()->format($text, 3), OutputInterface::OUTPUT_RAW);
```
![image](https://cloud.githubusercontent.com/assets/1047696/24519346/19c9b0ca-1585-11e7-8437-0bcfb6fab63e.png)

Commits
-------

09f8ad9 [Console] Support formatted text cutting
2018-09-04 22:10:18 +02:00
Roland Franssen
09f8ad935d [Console] Support formatted text cutting 2018-09-04 22:10:01 +02:00
Fabien Potencier
a159638233 bug #27970 [FileValidator] Format file size in validation message according to binaryFormat option (jfredon)
This PR was merged into the 2.8 branch.

Discussion
----------

[FileValidator] Format file size in validation message according to binaryFormat option

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

The binaryFormat option of the constraint is not taken into account if the maxsize limit is defined by the php configuration files.
This patch correct this inconsistent behavior.

If the binaryOption is not set, the unit of measurement used remains in binary because it’s the unit used in php configuration files.

Commits
-------

0edbbd3fea Format file size in validation message according to binaryFormat option
2018-09-04 19:17:48 +02:00
Nicolas Grekas
87392ab30d [DI] leverage Contracts\Service 2018-09-04 19:12:10 +02:00
Fabien Potencier
25ca59d5e7 feature #28206 [Contracts] Add traits+interfaces from the DI component (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Contracts] Add traits+interfaces from the DI component

| 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 `Service\ServiceSubscriberInterface` to declare the dependencies of a class that consumes a service locator
 * added `Service\ServiceSubscriberTrait` to implement `Service\ServiceSubscriberInterface` using methods' return types
 * added `Service\ServiceLocatorTrait` to help implement PSR-11 service locators

Commits
-------

675abdcfee [Contracts] Add traits+interfaces from the DI component
2018-09-04 19:05:44 +02:00
Fabien Potencier
7c394e3daa minor #28307 Mark ExceptionInterfaces throwable #2 (ostrolucky)
This PR was merged into the 4.2-dev branch.

Discussion
----------

Mark ExceptionInterfaces throwable #2

| 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 has been reverted in beta of 4.1 because of lack of support in prophecy, which has been fixed since then (incl. release). Can be merged again.

References:
https://github.com/symfony/symfony/pull/26702
https://github.com/symfony/symfony/pull/27420
https://github.com/symfony/symfony/issues/27419
https://github.com/phpspec/prophecy/pull/412

ping @dunglas @ciaranmcnulty @dkarlovi @Wirone @teohhanhui @stof @nicolas-grekas @ondrejmirtes

Commits
-------

17c3675226 Mark ExceptionInterfaces throwable
2018-09-04 18:55:13 +02:00
Fabien Potencier
b5d4eafa54 fixed CS 2018-09-04 18:54:09 +02:00
Fabien Potencier
78ecaf381d feature #27456 [LOCK] Add a PdoStore (jderusse)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[LOCK] Add a PdoStore

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

This is an alternative to #25578

Commits
-------

46fe1b0712 Add a PdoStore in lock
2018-09-04 18:52:43 +02:00
Yonel Ceruto
245c860ab4 Fixed caching of templates in default path on cache warmup 2018-09-04 12:49:36 -04:00
Ilija Tovilo
524bc4b039 Feature/doctrine type guesser simple json array support 2018-09-04 18:48:51 +02:00
Florent Mata
f3af2421f4 [Dotenv] use array instead of variadic in Dotenv::doLoad() 2018-09-04 17:52:49 +02:00
Fabien Potencier
8f5229f768 feature #26859 [Dotenv] add a flag to allow env vars override (fmata)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Dotenv] add a flag to allow env vars override

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

I choose to use a new parameter in the constructor instead of `populate()` to not add boilerplate code to them who want allow overriding in their current setup. It's just a parameter to add in `Dotenv` creation instead of change or customize the loading of different .env files.

I targeted 4.1 despite the feature freeze because it's a small change but if you don't agree I can change to 4.2.

~~If you accept this PR I will do the doc PR then.~~
doc ready

Commits
-------

228b220495 [Dotenv] add Dotenv::overload() to allow env vars override
2018-09-04 17:26:33 +02:00
Fabien Potencier
4401f2f63b feature #26997 [PropertyInfo] Add an extractor to guess if a property is initializable (dunglas)
This PR was squashed before being merged into the 4.2-dev branch (closes #26997).

Discussion
----------

[PropertyInfo] Add an extractor to guess if a property is initializable

| 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 | n/a   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | todo

When dealing with value objects, being able to detect if a property can be initialized using the constructor is a very valuable information. It's mandatory to add a proper value object support in API Platform and in the Serializer component.

See api-platform/core#1749 and api-platform/core#1843 for the related discussions, extended use cases and proof of concepts.

This PR adds a new interface to guess if a property can be initialized through the constructor, and an implementation using the reflection (in `ReflectionExtractor`).

Commits
-------

9d2ab9e348 [PropertyInfo] Add an extractor to guess if a property is initializable
2018-09-04 17:17:59 +02:00
Kévin Dunglas
9d2ab9e348 [PropertyInfo] Add an extractor to guess if a property is initializable 2018-09-04 17:17:49 +02:00
Fabien Potencier
bc419fa4c8 feature #27667 [Form][OptionsResolver] Show deprecated options definition on debug:form command (yceruto)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Form][OptionsResolver] Show deprecated options definition on debug:form command

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

Next move after https://github.com/symfony/symfony/pull/27277.

It will look like this:

Use `--show-deprecated` option to show form types with deprecated options (example):
![debug_types_with_deprecated_options](https://user-images.githubusercontent.com/2028198/41823977-970c7c98-77d6-11e8-9e97-30dcedc316ac.png)

Use `--show-deprecated` option to show deprecated options of the given form type (example):
![debug_deprecated_options_from_type](https://user-images.githubusercontent.com/2028198/41823980-a4d6bd8e-77d6-11e8-95ed-39926ffd6235.png)

Deprecated option (example):
![debug_deprecated_option_text](https://user-images.githubusercontent.com/2028198/41689091-04e6b7dc-74bd-11e8-87d0-90729eac4bb3.png)

![debug_deprecated_option_json](https://user-images.githubusercontent.com/2028198/41689105-142b5c5c-74bd-11e8-9232-1f30237bcf69.png)

Commits
-------

87c209d741 Show deprecated options definition on debug:form command
2018-09-04 17:16:00 +02:00
Yonel Ceruto
87c209d741 Show deprecated options definition on debug:form command 2018-09-04 09:37:57 -04:00
Kévin Dunglas
57fe0178c4 [Serializer] Allow to access extra infos in name converters 2018-09-04 15:36:54 +02:00
Christophe Coevoet
150bd841a3 minor #28356 Add missing LICENSE file (fabpot)
This PR was merged into the 4.1 branch.

Discussion
----------

Add missing LICENSE file

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| 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 | #28353
| 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
-------

6484ef8258 added missing LICENSE file
2018-09-04 15:15:54 +02:00
Fabien Potencier
6484ef8258 added missing LICENSE file 2018-09-04 15:11:50 +02:00
Fabien Potencier
9ad492f312 feature #26923 [FrameworkBundle] Allow user to specify folder for flock (MaksSlesarenko)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle] Allow user to specify folder for flock

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

In case multiple applications running on same server allow user to specify folder for flock
example:
```

framework:
   lock:` 'flock://var/flock' # var/flock will be provided as path to flock constructor
   lock: 'flock:///var/flock' # /var/flock will be provided as path to flock constructor
   lock: flock # works as usual, null is provided to constructor and system temp folder is used

```

Commits
-------

244d762400 added ability to specify folder for flock
2018-09-04 12:23:36 +02:00
Fabien Potencier
a37bca4417 feature #25125 [VarDumper] New env var to select the dump format (dunglas)
This PR was squashed before being merged into the 4.2-dev branch (closes #25125).

Discussion
----------

[VarDumper] New env var to select the dump format

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      |  no
| New feature?  |  yes <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | todo

This PR introduces a new environment variable that can be used to force `dump()` to generate HTML even in CLI, or CLI even in a web context.
It allows to dump large objects when debugging a command, to open the resulting HTML in a browser, and to benefit of the nice JS UI (folded by default, search engine...).

Example usage:

    VAR_DUMPER_FORMAT=html vendor/bin/behat > tmp.html; open -a firefox tmp.html
    VAR_DUMPER_FORMAT=cli vendor/bin/behat > tmp.txt

Commits
-------

536125ac3c [VarDumper] New env var to select the dump format
2018-09-04 11:14:51 +02:00
Kévin Dunglas
536125ac3c [VarDumper] New env var to select the dump format 2018-09-04 11:11:07 +02:00
Christian Flothmann
ef1f7ff0bb remove cache warmers when Twig cache is disabled 2018-09-04 10:49:33 +02:00
Fabien Potencier
617c56bf27 fixed CS 2018-09-04 10:45:51 +02:00
Fabien Potencier
8cf28e65b2 feature #28117 [FrameworkBundle] add class description to debug:container command (gimler)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle] add class description to debug:container command

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Our developer finds it useful when the `console debug:container <service>` command print out the class description.

![bildschirmfoto vom 2018-08-02 14-22-17](https://user-images.githubusercontent.com/200904/43583449-d4bf74e4-965f-11e8-8e88-0db8017c5a90.png)

* [x] json
* [x] txt
* [x] xml
* [x] md

Commits
-------

5fc6155225 [FrameworkBundle] add class description to debug:container command
2018-09-04 10:44:47 +02:00
Fabien Potencier
5a63f19bad feature #28270 [Messenger] Uses Symfony Serializer by default for envelope items (sroze)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Uses Symfony Serializer by default for envelope items

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

The original approach was to use `serialize`/`unserialize` for envelope items. It turns out it has limitations (see #28247) and reduces the compatibility with 3rd party systems (see #28164). This pull-request changes the existing mechanism by using Symfony Serializer by default.

It keeps the `serialize`/`unserialize` mechanism to allow users of the experimental component to keep using it in 4.2 and allow to have a non-disruptive upgrade to 4.2.

Commits
-------

9b575ab263 Uses Symfony Serializer by default for envelope items
2018-09-04 10:43:45 +02:00
Fabien Potencier
b91effa619 feature #27935 [FrameworkBundle] [Command] TranslationUpdate change default output to xlf (Alexis BOYER)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle] [Command] TranslationUpdate change default output to xlf

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

Simple modification on the default output for the translation: update command to XLIFF (xlf)
It's to be in agreement with the documentation

![image](https://user-images.githubusercontent.com/2004449/42637935-a91dcabc-85ec-11e8-86db-9c8bea5e710b.png)

Link to the documentation :
https://symfony.com/doc/master/translation.html#translation-resource-file-names-and-locations

Commits
-------

137593ec80 [FrameworkBundle] Cmd TranslationUpdate change default output to xlf
2018-09-04 10:41:38 +02:00
Fabien Potencier
a27288a598 fixed CS 2018-09-04 10:29:18 +02:00
Fabien Potencier
7be3bb2d8f feature #28168 Add SameSite cookies to FrameWorkBundle (rpkamp)
This PR was merged into the 4.2-dev branch.

Discussion
----------

Add SameSite cookies to FrameWorkBundle

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes, and added to changelog https://github.com/symfony/symfony/pull/28168/files#diff-276f5b13978c2ce3f555b9603f44801aR21
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #27631
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/10202

Uses `session.cookie_samesite` for PHP >= 7.3. For PHP < 7.3 it first
does a session_start(), find the emitted header, changes it, and emits
it again with the value for SameSite added.

I also tried it in a minimal Symfony 4.1 app, and works there too:

![screenshot from 2018-08-08 21-39-10](https://user-images.githubusercontent.com/1059790/43864708-b7437978-9b60-11e8-81dd-b41f1a5afb52.png)

Commits
-------

4091feb693 Add SameSite cookies to FrameWorkBundle
2018-09-04 10:27:39 +02:00
Samuel ROZE
9b575ab263 Uses Symfony Serializer by default for envelope items 2018-09-04 09:24:55 +01:00
Fabien Potencier
2738d00e32 feature #28303 [Process] Add relative path support for PHP_BINARY env var of PhpExecutableFinder (maidmaid)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Process] Add relative path support for PHP_BINARY env var of PhpExecutableFinder

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

At the moment, only the absolute path for PHP_BINARY env var works, for instance :

```
$ PHP_BINARY=/usr/bin/php7.2 php bin/console server:run
[OK] Server listening on http://127.0.0.1:8000

$ PHP_BINARY=php7.2 php bin/console server:run
[ERROR] Unable to find the PHP binary.
```

This PR makes possible the second command.

Commits
-------

52ed9889af Add relative path support for PHP_BINARY env var of PhpExecutableFinder
2018-09-04 10:22:54 +02:00
Fabien Potencier
824dbbdd8f bug #28322 [Workflow] Make sure we do not run the next transition on an updated state (Nyholm)
This PR was squashed before being merged into the 4.1 branch (closes #28322).

Discussion
----------

[Workflow] Make sure we do not run the next transition on an updated state

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

When you have a workflow like this, where all transitions are named the same.

![php](https://user-images.githubusercontent.com/1275206/44908106-87914680-ad1a-11e8-9c6f-e58de4b255e8.png)

The current behavior on `$stateMachine->apply($object, 'next')` is that it will go to "done".

It will do this because it checks the current "froms" at each iteration in the loop in `apply()`. It should check the valid transition before it actually apply them.

Commits
-------

d9dda76d8a [Workflow] Make sure we do not run the next transition on an updated state
2018-09-04 10:20:17 +02:00
Nyholm
d9dda76d8a [Workflow] Make sure we do not run the next transition on an updated state 2018-09-04 10:20:06 +02:00
Nicolas Grekas
675abdcfee [Contracts] Add traits+interfaces from the DI component 2018-09-04 10:20:02 +02:00
Fabien Potencier
487f8acde5 minor #28321 [Routing] Fixed the interface description of the url generator interface (Toflar)
This PR was merged into the 2.8 branch.

Discussion
----------

[Routing] Fixed the interface description of the url generator interface

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

The `UrlGenerator` has always been able to return `null`. Many tests assert this for many years but the interface actually always only allowed a `string` return.

Examples for tests:

- https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php#L206
- https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php#L217
- https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php#L471

So I think I would not consider this change as a BC break but rather a doc fix because it seems like `null` has always been an accepted return value.

Commits
-------

d2e9e0bcf3 Fixed the interface description of the url generator interface
2018-09-04 10:17:45 +02:00
Fabien Potencier
cf359c2e79 bug #28344 [HttpKernel][FrameworkBundle] Fix escaping of serialized payloads passed to test clients (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[HttpKernel][FrameworkBundle] Fix escaping of serialized payloads passed to test clients

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

Commits
-------

255455430a [HttpKernel][FrameworkBundle] Fix escaping of serialized payloads passed to test clients
2018-09-04 10:15:22 +02:00
Nicolas Grekas
0a1220fd96 [Cache] leverage Contracts\Cache 2018-09-04 09:24:06 +02:00
Fabien Potencier
09786044c4 feature #28096 [Contracts] Add Cache contract to extend PSR-6 with tag invalidation, callback-based computation and stampede protection (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Contracts] Add Cache contract to extend PSR-6 with tag invalidation, callback-based computation and stampede protection

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

Let's separate the useful interfaces of the Cache component in Contracts.
This does not include `PruneableInterface`, `MarshallerInterface` nor `*AdapterInterface` because they are too specific to the component.

But `CacheInterface`, `TawAwareCacheInterface` and `ItemInterface` form a nice consistent set of features on top of PSR-6.

Updating the Cache component to use these interfaces will be done in a separate PR so that we can focus on the contract itself here.

Commits
-------

ca6478bbbb [Contracts] Add Cache contract to extend PSR-6 with tag invalidation, callback-based computation and stampede protection
2018-09-04 09:22:33 +02:00
Smaine Milianni
897615ee0d change baseUrl to basePath to fix wrong profiler url 2018-09-04 09:18:01 +02:00
Nicolas Grekas
ca6478bbbb [Contracts] Add Cache contract to extend PSR-6 with tag invalidation, callback-based computation and stampede protection 2018-09-04 09:16:03 +02:00
Fabien Potencier
baad3321f4 feature #27399 [Translation] Added intl message formatter. (aitboudad, Nyholm)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Translation] Added intl message formatter.

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

This PR will replace #20007 and continue the work from the original author.

I've have tried to address all comments made in the original PR.

Commits
-------

2a90931e52 cs
fb30c77659 Be more specific with what exception we catch
b1aa0047fd Only use the default translator if intl extension is loaded
f88153fa22 Updates according to feedback
597a15d7f7 Use FallbackFormatter instead of support for multiple formatters
2aa7181e15 Fixes according to feedback
a325a443ed Allow config for different domain specific formatters
b43fe21997 Add support for multiple formatters
c2b3dc0a90 [Translation] Added intl message formatter.
19e8e69979 use error
940d440e87 Make it a warning
2018-09-04 09:03:37 +02:00
Tobias Nyholm
2a90931e52
cs 2018-09-04 08:58:25 +02:00
Tobias Nyholm
fb30c77659
Be more specific with what exception we catch 2018-09-04 08:42:35 +02:00
Fabien Potencier
68a910f528 feature #28315 [DI] Trigger exception when using '@id' name in parent option (Seb33300)
This PR was squashed before being merged into the 4.2-dev branch (closes #28315).

Discussion
----------

[DI] Trigger exception when using '@id' name in parent option

Same exception [already triggered](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php#L505) on the `decorates` option.

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

Note sure if I should submit this change for master or previous branches...

Commits
-------

1f67db626e [DI] Trigger exception when using '@id' name in parent option
2018-09-04 08:40:05 +02:00
Sébastien ALFAIATE
1f67db626e [DI] Trigger exception when using '@id' name in parent option 2018-09-04 08:39:56 +02:00
Nicolas Grekas
255455430a [HttpKernel][FrameworkBundle] Fix escaping of serialized payloads passed to test clients 2018-09-04 08:39:37 +02:00
Fabien Potencier
cabbf51af4 minor #28295 [VarExporter] optimize dumped code in time and space (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[VarExporter] optimize dumped code in time and space

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

Let's squeeze some more µs when running exported code.
On a simple case run 100k times with a few objects, I go from 1.8s to 1.5s.
The generated exports are also a bit smaller if it matters.

This works by:
- using local variables instead of manually dealing with a stack
- creating more optimized object hydrators for internal classes

This PR also fixes handling of hard references that are bound to external variables.

Commits
-------

07e90d71d8 [VarExporter] optimize dumped code in time and space
2018-09-04 08:34:59 +02:00
Fabien Potencier
a82b2a78c6 Merge branch '4.1'
* 4.1:
  fixed usage of setUp in tests
  fixed usage of setUp in tests
  fixed usage of setUp in tests
  [travis] minor fix (quater)
2018-09-04 08:30:07 +02:00
Fabien Potencier
1c3d3db496 minor #28349 Fix usage of setUp in tests (4.1) (fabpot)
This PR was merged into the 4.1 branch.

Discussion
----------

Fix usage of setUp in tests (4.1)

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| 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 -->
| License       | MIT

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

d8ba2cd703 fixed usage of setUp in tests
2018-09-04 08:29:30 +02:00
Fabien Potencier
525c98b224 Merge branch '3.4' into 4.1
* 3.4:
  fixed usage of setUp in tests
  fixed usage of setUp in tests
  [travis] minor fix (quater)
2018-09-04 08:28:44 +02:00
Fabien Potencier
9a97ea819a minor #28348 Fix usage of setUp in tests (3.4) (fabpot)
This PR was merged into the 3.4 branch.

Discussion
----------

Fix usage of setUp in tests (3.4)

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

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

298782841c fixed usage of setUp in tests
2018-09-04 08:28:11 +02:00
Fabien Potencier
fcc31cb6dd Merge branch '2.8' into 3.4
* 2.8:
  fixed usage of setUp in tests
  [travis] minor fix (quater)
2018-09-04 08:27:33 +02:00
Fabien Potencier
d8ba2cd703 fixed usage of setUp in tests 2018-09-04 08:24:48 +02:00
Fabien Potencier
298782841c fixed usage of setUp in tests 2018-09-04 08:21:44 +02:00
Nyholm
b1aa0047fd Only use the default translator if intl extension is loaded 2018-09-04 07:44:12 +02:00
Fabien Potencier
62e620843e fixed usage of setUp in tests 2018-09-04 07:42:16 +02:00
Nyholm
f88153fa22 Updates according to feedback 2018-09-04 07:36:39 +02:00
Nyholm
597a15d7f7 Use FallbackFormatter instead of support for multiple formatters 2018-09-04 00:13:52 +02:00
Nyholm
2aa7181e15 Fixes according to feedback 2018-09-04 00:13:51 +02:00
Nyholm
a325a443ed Allow config for different domain specific formatters 2018-09-04 00:13:51 +02:00
Nyholm
b43fe21997 Add support for multiple formatters 2018-09-03 23:02:48 +02:00
Abdellatif Ait boudad
c2b3dc0a90 [Translation] Added intl message formatter. 2018-09-03 23:02:14 +02:00
Nyholm
19e8e69979 use error 2018-09-03 23:02:14 +02:00
Nyholm
940d440e87 Make it a warning 2018-09-03 23:02:14 +02:00
Fabien Potencier
59fad59886 feature #28210 [Contracts] Add Translation\TranslatorInterface + decouple symfony/validator from symfony/translation (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Contracts] Add Translation\TranslatorInterface + decouple symfony/validator from symfony/translation

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

Let's decouple Validator from Translation component \o/!

TODO:
- [x] add `TranslatorInterface`, deprecate it from Translation
- [x] add `TranslatorTrait`, deprecating `MessageSelector`, `Internal` and `PluralizationRules`
- [x] deprecate `ValidatorBuilderInterface(LegacyTranslatorInterface)`
- [x] inject a new `identity_translator` into `translator.formatter.default`, deprecate `translator.selector`
- [x] copy tests in the Contracts namespace to ensure the `TranslatorTrait` behaves properly
- [x] figure out a way to keep throwing `InvalidArgumentException` from the component
- [x] update UPGRADING and CHANGELOG files
- [x] polish the deprecation layer (ensure all needed runtime deprecations are here)

Reviews welcome already.

Commits
-------

064e369e06 [Contracts] Add Translation\TranslatorInterface + decouple symfony/validator from symfony/translation
2018-09-03 22:20:47 +02:00
Fabien Potencier
19e5218c0b feature #28331 [FrameworkBundle] Don't populate fallback cache on warmup (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle] Don't populate fallback cache on warmup

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

Since we populate the front PhpArrayCache, there is no need to also populate its fallback pool, since it will never be hit for the warmed up values.
This saves creating a myriad of small cache files and some MB.

Commits
-------

c857ba5ded [FrameworkBundle] Don't populate fallback cache on warmup
2018-09-03 22:16:15 +02:00
Nicolas Grekas
064e369e06 [Contracts] Add Translation\TranslatorInterface + decouple symfony/validator from symfony/translation 2018-09-03 15:19:33 +02:00
Nicolas Grekas
07e90d71d8 [VarExporter] optimize dumped code in time and space 2018-09-03 11:21:37 +02:00
Nicolas Grekas
428c25f73b Merge branch '4.1'
* 4.1:
  Fix appveyor
2018-09-03 10:43:47 +02:00
Nicolas Grekas
95e6052074 Merge branch '3.4' into 4.1
* 3.4:
  Fix appveyor
2018-09-03 10:41:44 +02:00
Nicolas Grekas
7a4d7b5f10 Merge branch '2.8' into 3.4
* 2.8:
  Fix appveyor
2018-09-03 10:40:31 +02:00
Nicolas Grekas
599de83b33 Fix appveyor 2018-09-03 10:32:25 +02:00
Samuel ROZE
6b8e6ce73a Merge branch '4.1'
* 4.1:
  Use the real image URL for the filesystem tests
  [Finder] Update PHPdoc append()
  [DI] Fix phpdoc
  Fix code examples in PHPDoc
  [HttpKernel] Fix inheritdocs
  bumped Symfony version to 3.4.16
  updated VERSION for 3.4.15
  updated CHANGELOG for 3.4.15
2018-09-02 18:48:09 +01:00
Samuel ROZE
e2107d24e2 Merge branch '3.4' into 4.1
* 3.4:
  Use the real image URL for the filesystem tests
  [Finder] Update PHPdoc append()
  [DI] Fix phpdoc
  Fix code examples in PHPDoc
  [HttpKernel] Fix inheritdocs
  bumped Symfony version to 3.4.16
  updated VERSION for 3.4.15
  updated CHANGELOG for 3.4.15
2018-09-02 18:33:37 +01:00
Nicolas Grekas
aa13bfdde0 Merge branch '2.8' into 3.4
* 2.8:
  Use the real image URL for the filesystem tests
  [Finder] Update PHPdoc append()
  [DI] Fix phpdoc
  Fix code examples in PHPDoc
  [HttpKernel] Fix inheritdocs
2018-09-02 19:11:59 +02:00
Samuel ROZE
886f7390b8 Use the real image URL for the filesystem tests 2018-09-02 18:03:13 +01:00
Samuel ROZE
ba6248546a Ensure the tests and implementation matches the merged #28190 PR 2018-09-02 17:36:27 +01:00
Samuel ROZE
1ba2d57bf5 Merge branch '4.1'
* 4.1:
  FrameworkBundle 4.1 == Messenger 4.1
  Revert "Move commands-specifics to a compiler pass in FWB"
2018-09-02 17:22:25 +01:00
Samuel ROZE
aaada7bf55 FrameworkBundle 4.1 == Messenger 4.1 2018-09-02 16:47:21 +01:00
Samuel ROZE
fb3f729d64 Revert "Move commands-specifics to a compiler pass in FWB"
This reverts commit b5415ead46.
2018-09-02 16:06:12 +01:00
Florent Mata
228b220495 [Dotenv] add Dotenv::overload() to allow env vars override 2018-09-02 11:15:13 +02:00
Nicolas Grekas
c5904be45d [ProxyManager] fix tests 2018-09-02 06:58:46 +02:00
Samuel ROZE
604c68999e Fix typo in the method name 2018-09-01 19:21:31 +01:00
Samuel ROZE
08be233ca5 Remove the consume command tweaks as they are now done by the compiler pass in FWB 2018-09-01 19:17:50 +01:00
Samuel ROZE
37920e1499 Change the moved pass to match the expected arguments 2018-09-01 18:54:58 +01:00
Samuel ROZE
3833f8816d Merge branch '4.1'
* 4.1:
  Move commands-specifics to a compiler pass in FWB
  bumped Symfony version to 4.1.5
  updated VERSION for 4.1.4
  updated CHANGELOG for 4.1.4
  [travis] disable symfony/flex during phpunit install
2018-09-01 18:54:47 +01:00
Samuel ROZE
b5415ead46 Move commands-specifics to a compiler pass in FWB 2018-09-01 18:39:06 +01:00
Nicolas Grekas
3d5629a6cf [ProxyManager] fix tests 2018-09-01 19:22:02 +02:00
Nicolas Grekas
29b81f6e68 [VarDumper] fix CS 2018-09-01 18:47:25 +02:00
Nicolas Grekas
c857ba5ded [FrameworkBundle] Don't populate fallback cache on warmup 2018-09-01 18:33:14 +02:00
Nicolas Grekas
bc45a0ed82 feature #28264 [VarDumper] make RedisCaster handle RedisCluster and dump all options on all drivers (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[VarDumper] make RedisCaster handle RedisCluster and dump all options on all drivers

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

e.g.

<img src="https://user-images.githubusercontent.com/243674/44622234-0e769700-a8b5-11e8-8235-f42dadcd2092.png" width="300"/>

Commits
-------

466d1ab328 [VarDumper] make RedisCaster handle RedisCluster and dump all options on all drivers
2018-08-31 13:04:13 +02:00
Nicolas Grekas
c3ec061fd0 minor #28269 [Cache] improve perf when using RedisCluster by reducing roundtrips to the servers (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Cache] improve perf when using RedisCluster by reducing roundtrips to the servers

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

Improves perf when using RedisCluster by:
- disabling versioning and replacing by per-master clear/flush
- grouping multiple "get" in one "mget"
- enabling pipelining in PredisCluster mode

~Might need adjustment depending on the answer to https://github.com/nrk/predis/issues/520~

Commits
-------

5155f48029 [Cache] improve perf when using RedisCluster by reducing roundtrips to the servers
2018-08-31 10:58:45 +02:00
Yanick Witschi
d2e9e0bcf3 Fixed the interface description of the url generator interface 2018-08-31 10:56:24 +02:00
Nicolas Grekas
5155f48029 [Cache] improve perf when using RedisCluster by reducing roundtrips to the servers 2018-08-31 10:53:30 +02:00
Fabien Potencier
501212b934 feature #28289 [Serializer] Add support for ignoring comments while XML encoding (maidmaid)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Serializer] Add support for ignoring comments while XML encoding

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

In addition to https://github.com/symfony/symfony/pull/27926 which allowed to ignore XML processing instructions, this PR allows to ignore the XML comments while encoding.

Commits
-------

8f8230ac3a Add support for ignoring comments while XML encoding
2018-08-30 18:33:29 +02:00
Fabien Potencier
fb9ccc0fec minor #28301 Fix code examples in PHPDoc (maidmaid)
This PR was merged into the 2.8 branch.

Discussion
----------

Fix code examples in PHPDoc

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

This PR properly indents the code examples in PHPDoc for a clean render.

Commits
-------

1afb043dc5 Fix code examples in PHPDoc
2018-08-30 18:22:36 +02:00
Nicolas Grekas
592c4afd22 minor #28310 [Finder] Update PHPdoc append() (ro0NL)
This PR was squashed before being merged into the 2.8 branch (closes #28310).

Discussion
----------

[Finder] Update PHPdoc append()

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

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

Commits
-------

111d9bc6f5 [Finder] Update PHPdoc append()
2018-08-30 17:33:00 +02:00
Roland Franssen
111d9bc6f5 [Finder] Update PHPdoc append() 2018-08-30 17:32:53 +02:00
Martin Hasoň
f1d594b732
[DI] Fix phpdoc 2018-08-30 11:30:49 +02:00
Gabriel Ostrolucký
17c3675226 Mark ExceptionInterfaces throwable 2018-08-29 17:58:00 +02:00
Dany Maillard
52ed9889af Add relative path support for PHP_BINARY env var of PhpExecutableFinder 2018-08-29 15:53:54 +02:00
Dany Maillard
1afb043dc5 Fix code examples in PHPDoc 2018-08-29 15:11:53 +02:00
Fabien Potencier
8651758fc1 feature #28294 [Messenger] Remove the "obscure" message subscriber configuration (sroze)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Remove the "obscure" message subscriber configuration

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

As described in #28275, all of the configuration can be done using yield and that we could remove the support for other ways (especially the obscure return `[['method', -10]]` syntax) as I believe this would clarify the configuration a lot.

Commits
-------

cf2ad861f5 Remove the "obscure" message subscriber configuration
2018-08-29 15:11:20 +02:00
Roland Franssen
b04ef43d22 [HttpKernel] Fix inheritdocs 2018-08-29 14:45:36 +02:00
Fabien Potencier
7504535464 feature #28271 [Messenger] Allow interfaces to be type-hinted as well (sroze)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Allow interfaces to be type-hinted as well

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

Interfaces can be type-hinted as well for the message handlers.

Commits
-------

2dbbfbda4e Allow interfaces to be type-hinted as well
2018-08-29 11:11:23 +02:00
Fabien Potencier
6c539e1408 feature #28190 [Messenger] Add a --bus option to the messenger:consume-messages command (chalasr, sroze)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Add a --bus option to the messenger:consume-messages command

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

Making it compatible with the multi-bus feature.

Commits
-------

e3f1eecbc1 Bus argument is a required option when multiple buses are defined
539cb62ffe [Messenger] Add a --bus option to the messenger:consume-messages command
2018-08-29 11:09:36 +02:00
Remon van de Kamp
4091feb693
Add SameSite cookies to FrameWorkBundle
Uses `session.cookie_samesite` for PHP >= 7.3. For PHP < 7.3 it first
does a session_start(), find the emitted header, changes it, and emits
it again with the value for SameSite added.
2018-08-28 20:18:28 +02:00
Samuel ROZE
cf2ad861f5 Remove the "obscure" message subscriber configuration 2018-08-28 13:58:44 +01:00
Samuel ROZE
bedd7aa19a feature #28275 [Messenger] Only subscribe to a given bus from the MessageSubscriber (sroze)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Only subscribe to a given bus from the MessageSubscriber

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | ø

#27275 introduced the ability to listen to only a few buses from the handler tag. This adds that ability directly from the message subscriber.

It has also highlighted to me that most of the configuration can be done using `yield` (like the example I've added in this PR's tests) and that we could remove the support for other ways (especially the obscure `return [['method', -10]]` syntax) but I believe this should be done **in another pull-request** (that I'm happy to do after this one).

Commits
-------

f60e409011 Only subscribe to a given bus from the MessageSubscriber
2018-08-28 13:42:55 +01:00
Samuel ROZE
e3f1eecbc1 Bus argument is a required option when multiple buses are defined 2018-08-28 11:10:33 +02:00
Robin Chalas
539cb62ffe [Messenger] Add a --bus option to the messenger:consume-messages command 2018-08-28 11:09:59 +02:00
Fabien Potencier
4edbd60bbb feature #28243 [FrameworkBundle] Deprecate Symfony\Bundle\FrameworkBundle\Controller\Controller (sroze)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle] Deprecate `Symfony\Bundle\FrameworkBundle\Controller\Controller`

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

Time to deprecate `Controller`, youpi !! 🎉

Commits
-------

a7e319d9e1 Deprecate `Symfony\Bundle\FrameworkBundle\Controller\Controller`
2018-08-28 08:35:15 +02:00
Fabien Potencier
9cc80ecd75 feature #28070 [Translator] Use ICU parent locales as fallback locales (thewilkybarkid)
This PR was squashed before being merged into the 4.2-dev branch (closes #28070).

Discussion
----------

[Translator] Use ICU parent locales as fallback locales

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

Currently the `Translator` fall backs based on the locale separator (eg `es_AR` to `es`), but the ICU data contains parent locales (eg `es_AR` is a child of `es_419`, as is `es_BO`, `es_EC` etc).

This makes use of the ICU data to add add in these fallbacks. This means the specific locales can be used, but the translations can stored in these groupings (eg `es_419` for Latin American Spanish), as well as adding other sensible fallbacks (eg Cape Verdean Portuguese to `pt_PT`).

Commits
-------

e0f402fc29 [Translator] Use ICU parent locales as fallback locales
2018-08-28 08:30:53 +02:00
Chris Wilkinson
e0f402fc29 [Translator] Use ICU parent locales as fallback locales 2018-08-28 08:30:46 +02:00
Fabien Potencier
30de3b8ef2 bumped Symfony version to 4.1.5 2018-08-28 08:19:34 +02:00
Fabien Potencier
f1f6062a64 updated VERSION for 4.1.4 2018-08-28 08:17:42 +02:00
Fabien Potencier
b61480f10b bumped Symfony version to 3.4.16 2018-08-28 08:16:34 +02:00
Fabien Potencier
1735abb8a0 updated VERSION for 3.4.15 2018-08-28 08:06:12 +02:00
Dany Maillard
8f8230ac3a Add support for ignoring comments while XML encoding 2018-08-28 00:11:30 +02:00
Gordon Franke
5fc6155225 [FrameworkBundle] add class description to debug:container command 2018-08-27 21:17:33 +02:00
Samuel ROZE
a7e319d9e1 Deprecate Symfony\Bundle\FrameworkBundle\Controller\Controller 2018-08-27 19:13:10 +01:00
Fabien Potencier
a1aee05bc1 Merge branch '4.1'
* 4.1:
  bumped Symfony version to 2.8.46
  updated VERSION for 2.8.45
  update CONTRIBUTORS for 2.8.45
  updated CHANGELOG for 2.8.45
  [PhpUnitBridge] keep compat with composer 1.0
  Instantiate $offset and $maxlen at definition
  [Cache] minor code update to leverage PHP 7.1
2018-08-27 19:47:18 +02:00
Fabien Potencier
2c3c5c23b1 Merge branch '3.4' into 4.1
* 3.4:
  bumped Symfony version to 2.8.46
  updated VERSION for 2.8.45
  update CONTRIBUTORS for 2.8.45
  updated CHANGELOG for 2.8.45
  [PhpUnitBridge] keep compat with composer 1.0
  Instantiate $offset and $maxlen at definition
2018-08-27 19:47:02 +02:00
Fabien Potencier
05dccf88d0 Merge branch '2.8' into 3.4
* 2.8:
  bumped Symfony version to 2.8.46
  updated VERSION for 2.8.45
  update CONTRIBUTORS for 2.8.45
  updated CHANGELOG for 2.8.45
  Instantiate $offset and $maxlen at definition
2018-08-27 19:45:33 +02:00
Fabien Potencier
a8b16054e7 bumped Symfony version to 2.8.46 2018-08-27 19:44:28 +02:00
Fabien Potencier
7e0a16cf2f updated VERSION for 2.8.45 2018-08-27 19:33:38 +02:00
Fabien Potencier
da0ef24744 feature #28231 [VarExporter] a new component to serialize values to plain PHP code (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[VarExporter] a new component to serialize values to plain PHP code

| 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 proposes moving what is currently the `PhpMarshaller` class in the Cache component to a separate component.

This component would provide only one public static method:
`VarExporter::export($value, bool &$isStaticValue = null): string`.

This method returns `$value` serialized as plain PHP code. Running this code creates the same exact data structure that `$value` contained. This is exactly like `serialize()` and `unserialize()`, from which all semantics are preserved (`__sleep`, `__wakeup` and `Serializable`).

The reason to use this method *vs* `serialize()` or even igbinary is performance: thanks to OPcache, the resulting code is significantly faster and more memory efficient than using `unserialize()` or `igbinary_unserialize()`.

Unlike `var_export()`, this works on any serializable PHP value.

It also provides a few improvements over `var_export()`/`serialize()`:
- the output is PSR-2 compatible
- the output can be re-indented without messing up with any `\r` or `\n` in the data
- missing classes throw a `ReflectionException` instead of being unserialized to a `PHP_Incomplete_Class` object
- references involving `SplObjectStorage`, `ArrayObject` or `ArrayIterator` instances are preserved
- `Reflection*`, `IteratorIterator` and `RecursiveIteratorIterator` classes throw an exception when being serialized (their unserialized version is broken anyway, see  https://bugs.php.net/76737.)

Commits
-------

7831ad75e5 [VarExporter] a new component to serialize values to plain PHP code
2018-08-27 18:42:24 +02:00
Nicolas Grekas
7831ad75e5 [VarExporter] a new component to serialize values to plain PHP code 2018-08-27 18:34:07 +02:00
Fabien Potencier
ecff692f8e minor #28222 [WebProfilerBundle] Limit width of toolbar item (ostrolucky)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[WebProfilerBundle] Limit width of toolbar item

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

before
![screenshot from 2018-08-17 22-06-46](https://user-images.githubusercontent.com/496233/44287443-2d4dab80-a26d-11e8-9e28-e4f7764ed428.png)
after:
![screenshot from 2018-08-17 22-07-04](https://user-images.githubusercontent.com/496233/44287452-33438c80-a26d-11e8-8efe-539f7a1dae8d.png)

Tested on master and 2.8.
IMO should be treated as bug fix, there are no conflicts.

Commits
-------

097c3f82a7 [WebProfilerBundle] Limit width of toolbar item
2018-08-27 18:25:07 +02:00
Fabien Potencier
74461cc2db feature #28244 [FrameworkBundle] Added new "auto" mode for framework.session.cookie_secure to turn it on when https is used (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle] Added new "auto" mode for `framework.session.cookie_secure` to turn it on when https is used

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

I'm pretty sure we're many forgetting to make session cookies "secure".
Here is an "auto" mode that makes them secure automatically when the session is started on requests with the "https" scheme.

Commits
-------

4f7b41a83d [FrameworkBundle] Added new "auto" mode for `framework.session.cookie_secure` to turn it on when https is used
2018-08-27 18:19:09 +02:00
Nicolas Grekas
4f7b41a83d [FrameworkBundle] Added new "auto" mode for framework.session.cookie_secure to turn it on when https is used 2018-08-27 18:13:55 +02:00
Fabien Potencier
53ffa6674a feature #28277 [Serializer] AbstractObjectNormalizer improve performance (martiis)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Serializer] AbstractObjectNormalizer improve performance

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

Check ticket for description

Commits
-------

4224145a69 [Serializer] AbstractObjectNormalizer improve perf when checking types
2018-08-27 17:56:01 +02:00
Fabien Potencier
b547855b23 bug #28278 [HttpFoundation] Fix unprepared BinaryFileResponse sends empty file (wackymole)
This PR was merged into the 2.8 branch.

Discussion
----------

[HttpFoundation] Fix unprepared BinaryFileResponse sends empty file

| Q             | A
| ------------- | ---
| Branch?       | 2.8
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes, with the exception of preexisting, unrelated failures
| Fixed tickets | #28237
| License       | MIT
| Doc PR        |

When you call `BinaryFileResponse#sendContent()` without first calling `prepare()` the response is sent but the contents are empty. `prepare()` properly initializes the `$maxlen` and `$offset` properties. However, `sendContent()` doesn't do any sanity checking, and so, uses the uninitialized properties. This causes `stream_copy_to_stream()` to copy empty contents and the file that is sent, to contain nothing.

This change initializes the properties at definition instead of in `prepare()`.

> Additionally:
> - Bug fixes must be submitted against the lowest branch where they apply

~I'm not sure how early this bug exists, or how far back to go. I'll check to see if 2.7 and 2.8 are affected and report back.~

Commits
-------

dba8687a5d Instantiate $offset and $maxlen at definition
2018-08-27 17:52:41 +02:00
Fabien Potencier
6cc2bd680e minor #28281 [Serializer] Update changelog about the new $encoderIgnoredNodeTypes arg in XmlEncoder contrustor (maidmaid)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Serializer] Update changelog about the new $encoderIgnoredNodeTypes arg in XmlEncoder contrustor

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

Commits
-------

49f3bfc823 Update changelog
2018-08-27 17:45:46 +02:00
Fabien Potencier
93bb665272 feature #28247 [Messenger] Don't make EnvelopeItemInterface extend Serializable (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Messenger] Don't make EnvelopeItemInterface extend Serializable

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

`Serializable` is a broken interface, see e.g. https://externals.io/message/98834
I don't think we should force ppl to implement it anywhere.
Actually, it isn't required to be able to serialize an object, and it doesn't enforce making a class serializable (as the `serialize()` method can throw).

What was the purpose of the removed logic? ping @sroze @ogizanagi

Commits
-------

2beda894f2 [Messenger] Don't make EnvelopeItemInterface extend Serializable
2018-08-27 17:40:47 +02:00
Nicolas Grekas
28492a7bb1 [PhpUnitBridge] keep compat with composer 1.0 2018-08-27 17:17:06 +02:00
Dany Maillard
49f3bfc823 Update changelog 2018-08-27 17:10:45 +02:00
Justin
dba8687a5d Instantiate $offset and $maxlen at definition 2018-08-27 09:50:38 -04:00
Samuel ROZE
2dbbfbda4e Allow interfaces to be type-hinted as well 2018-08-27 12:46:17 +01:00
Samuel ROZE
f60e409011 Only subscribe to a given bus from the MessageSubscriber 2018-08-27 12:33:54 +01:00
Nicolas Grekas
c1bf1918ec [Cache] minor code update to leverage PHP 7.1 2018-08-27 11:36:56 +02:00
Martynas Sudintas
4224145a69 [Serializer] AbstractObjectNormalizer improve perf when checking types 2018-08-26 19:46:07 +03:00
Nicolas Grekas
ff1727e2ee Merge branch '4.1'
* 4.1:
  [HttpFoundation] cleanup test case
  [HttpFoundation] Allow RedisCluster class for RedisSessionHandler
2018-08-26 10:35:20 +02:00
Nicolas Grekas
620dfdec13 [HttpFoundation] cleanup test case 2018-08-26 10:29:34 +02:00
Michaël Perrin
d2ecea0b6e [HttpFoundation] Allow RedisCluster class for RedisSessionHandler 2018-08-26 10:23:26 +02:00
Nicolas Grekas
466d1ab328 [VarDumper] make RedisCaster handle RedisCluster and dump all options on all drivers 2018-08-25 23:22:10 +02:00
Dany Maillard
2223fcc5b9 Allow to ignore PI while encoding 2018-08-24 19:15:24 +02:00
Nicolas Grekas
4e4b21668a Merge branch '4.1'
* 4.1:
  [HttpKernel] fix forwarding trusted headers as server parameters
2018-08-24 16:41:28 +02:00
Nicolas Grekas
3ac90c172a Merge branch '3.4' into 4.1
* 3.4:
  [HttpKernel] fix forwarding trusted headers as server parameters
2018-08-24 16:41:24 +02:00
Nicolas Grekas
96e0833b93 Merge branch '2.8' into 3.4
* 2.8:
  [HttpKernel] fix forwarding trusted headers as server parameters
2018-08-24 16:37:40 +02:00
Nicolas Grekas
2554ad0698 bug #28241 [HttpKernel] fix forwarding trusted headers as server parameters (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[HttpKernel] fix forwarding trusted headers as server parameters

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

Commits
-------

92953485a5 [HttpKernel] fix forwarding trusted headers as server parameters
2018-08-24 16:33:48 +02:00
Nicolas Grekas
2beda894f2 [Messenger] Don't make EnvelopeItemInterface extend Serializable 2018-08-24 15:12:11 +02:00
Nicolas Grekas
c099d8675f Merge branch '4.1'
* 4.1:
  [travis] fix composer.lock invalidation for deps=low
  fix typo
2018-08-24 14:41:40 +02:00
Nicolas Grekas
e675597d31 feature #27890 Mock date() in ClockMock (Dominic Tubach)
This PR was merged into the 4.2-dev branch.

Discussion
----------

Mock date() in ClockMock

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no (In case `date()` is mocked in some other way execution would fail because of redeclaration. Could be avoided with an extra `function_exists()` check. WDYT?)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

As to the [PHP documentation](https://secure.php.net/manual/en/function.date.php) `date()` uses the value of `time()` as timestamp if none is given. `date()` has to be mocked in ClockMock as well for this still being true, otherwise `\time()` is used as default.

BTW: The msec part of `microtime()` has 8 fractional digits on my system, ClockMock returns only 6...

Commits
-------

e8ba79adb9 [Bridge/PhpUnit] Mock date() in ClockMock
2018-08-24 14:14:29 +02:00
Nicolas Grekas
b6c2c46865 fix typo 2018-08-24 13:47:58 +02:00
Nicolas Grekas
ec51b2cc26 Merge branch '4.1'
* 4.1:
  [DoctrineBridge] support __toString as documented for UniqueEntityValidator
  [travis] enable Redis cluster
  [Cache] enable Memcached::OPT_TCP_NODELAY to fix perf of misses
  fix data mapper return type in docblock
  fix type error handling when writing values
2018-08-24 12:22:37 +02:00
Nicolas Grekas
51525e63f8 Merge branch '3.4' into 4.1
* 3.4:
  [DoctrineBridge] support __toString as documented for UniqueEntityValidator
  [travis] enable Redis cluster
  [Cache] enable Memcached::OPT_TCP_NODELAY to fix perf of misses
  fix data mapper return type in docblock
  fix type error handling when writing values
2018-08-24 12:22:26 +02:00
Nicolas Grekas
8b66cfca5a Merge branch '2.8' into 3.4
* 2.8:
  fix data mapper return type in docblock
  fix type error handling when writing values
2018-08-24 12:16:13 +02:00
Nicolas Grekas
b959d8594c feature #28218 Improve support for anonymous classes (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

Improve support for anonymous classes

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

Before:
![image](https://user-images.githubusercontent.com/243674/44276933-5c522600-a249-11e8-8bcc-6d55c9fa5a5e.png)

After:
![image](https://user-images.githubusercontent.com/243674/44276912-4cd2dd00-a249-11e8-943f-b6b0d0eb8908.png)

Same in other places, e.g. Console failures.

Commits
-------

e41ced2bfd Improve support for anonymous classes
2018-08-24 12:03:22 +02:00
Nicolas Grekas
771463123a cs fix 2018-08-24 12:01:11 +02:00
Nicolas Grekas
f03a54ed51 feature #28221 [DomCrawler] Add a way to filter direct children (Einenlum)
This PR was squashed before being merged into the 4.2-dev branch (closes #28221).

Discussion
----------

[DomCrawler] Add a way to filter direct children

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

The Dom-Crawler component only has a `filter()` method (to filter the node and all its children) and a `children()` method to return direct children.
**There is currently no way to easily filter (thanks to a selector) the direct children of a node, like jQuery allows so (with a selector passed to the `.children([selector])` method).**

**This PR adds a way to optionally filter direct children thanks to a CSS selector**. Here is an example of the usage:

```php
$html = <<<'HTML'
<html>
    <body>
        <div id="foo">
            <p class="lorem" id="p1"></p>
            <p class="lorem" id="p2"></p>
            <div id="nested">
                <p class="lorem" id="p3"></p>
            </div>
        </div>
    </body>
</html>
HTML;

$crawler = new Crawler($html);
$foo = $crawler->filter('#foo');

$foo->children() // will select `#p1`, `#p2` and `#nested`
$foo->children('p') // will select `#p1` and `p2`
$foo->children('.lorem') // will select `#p1` and `p2`
```
This PR adds only an optional parameter and adds no BC break.

Commits
-------

f634afdb6f [DomCrawler] Add a way to filter direct children
2018-08-24 12:00:10 +02:00
Einenlum
f634afdb6f [DomCrawler] Add a way to filter direct children 2018-08-24 11:59:58 +02:00
Nicolas Grekas
e18bf6eee0 bug #28220 [PropertyAccess] fix type error handling when writing values (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[PropertyAccess] fix type error handling when writing values

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

Commits
-------

45754515a5 fix type error handling when writing values
2018-08-24 11:57:25 +02:00
Nicolas Grekas
d8e2af32d8 feature #28234 [DI] Allow autowiring by type + parameter name (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[DI] Allow autowiring by type + parameter name

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

In #27165, we introduced the possibility to bind by type+name:
```yaml
bind:
    Psr\Log\LoggerInterface $myLogger: @monolog.logger.my_logger
```

But we forgot about aliases. For consistency, they could and should allow doing the same. More importantly, this will open up interesting use cases where bundles could provide default values for typed+named arguments (using the new `ContainerBuilder::registerAliasForArgument()` method). E.g:
```yaml
services:
    Psr\Cache\CacheItemPoolInterface $appCacheForecast: @app.cache.forecast
```
Works also for controller actions and service subscribers (using the real service id as the key).

Commits
-------

c0b8f53bcb [DI] Allow autowiring by type + parameter name
2018-08-24 11:56:33 +02:00
Nicolas Grekas
8860b6691c bug #28249 [Cache] enable Memcached::OPT_TCP_NODELAY to fix perf of misses (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] enable Memcached::OPT_TCP_NODELAY to fix perf of misses

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

As described in https://github.com/php-memcached-dev/php-memcached/issues/24 and because we enable the binary protocol by default.

Commits
-------

8b59d177db [Cache] enable Memcached::OPT_TCP_NODELAY to fix perf of misses
2018-08-24 11:47:29 +02:00
Nicolas Grekas
d446b6aefb bug #28252 [DoctrineBridge] support __toString as documented for UniqueEntityValidator (dmaicher)
This PR was squashed before being merged into the 3.4 branch (closes #28252).

Discussion
----------

[DoctrineBridge] support __toString as documented for UniqueEntityValidator

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

This fixes https://github.com/symfony/symfony/issues/28245.

It brings back handling `__toString` as documented for invalid values.

Commits
-------

2ac883a99b [DoctrineBridge] support __toString as documented for UniqueEntityValidator
2018-08-24 11:45:48 +02:00
David Maicher
2ac883a99b [DoctrineBridge] support __toString as documented for UniqueEntityValidator 2018-08-24 11:45:42 +02:00
Nicolas Grekas
f245df404f [travis] enable Redis cluster 2018-08-24 11:22:31 +02:00
Nicolas Grekas
8b59d177db [Cache] enable Memcached::OPT_TCP_NODELAY to fix perf of misses 2018-08-23 17:04:29 +02:00
Nicolas Grekas
c0b8f53bcb [DI] Allow autowiring by type + parameter name 2018-08-23 11:47:19 +02:00
Nicolas Grekas
92953485a5 [HttpKernel] fix forwarding trusted headers as server parameters 2018-08-22 17:45:23 +02:00
Nicolas Grekas
e41ced2bfd Improve support for anonymous classes 2018-08-21 14:03:16 +02:00
Nicolas Grekas
6a4de22787 bug #28228 [Validator] Fix precision issue regarding floats and DivisibleBy constraint (apfelbox)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Validator] Fix precision issue regarding floats and DivisibleBy constraint

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

Alternative to #28212

Commits
-------

ae04b48332 [Validator] Fix precision issue regarding floats and DivisibleBy constraint
2018-08-21 13:54:23 +02:00
Jannik Zschiesche
ae04b48332 [Validator] Fix precision issue regarding floats and DivisibleBy constraint 2018-08-20 16:30:22 +02:00
Fabien Potencier
0332f861c6 minor #28230 [Form] fix data mapper return type in docblock (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[Form] fix data mapper return type in docblock

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

Commits
-------

5bdc755d73 fix data mapper return type in docblock
2018-08-20 13:41:49 +02:00
Christian Flothmann
5bdc755d73 fix data mapper return type in docblock 2018-08-19 18:51:04 +02:00
Nicolas Grekas
2df7320c1c bug #28188 [Cache] make PhpMarshaller handle hard references (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Cache] make PhpMarshaller handle hard references

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

This PR makes the interface and behavior of `PhpMarshaller` cleaner and bullet-proof.
While a bug fix at this stage, I'd like to propose splitting it to a new `VarExporter` component all goes well.

Commits
-------

bc5d208584 [Cache] make PhpMarshaller handle hard references
2018-08-19 18:15:21 +02:00
Fabien Potencier
2d7aedba6e feature #28156 [Serializer] Fix the XML comments encoding (maidmaid)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Serializer] Fix the XML comments encoding

| 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 we decode a XML comment, we get `['#comment' => ' foo ']`. But when we encode this same content, the result is not the expected one.

```php
$encoder->encode(['#comment' => ' foo '], 'xml');
```
```
Expected:
<response>
    <!-- foo -->
</response>

Actual:
<response>
  <item key="#comment"> foo </item>
</response>
```

Commits
-------

d94a37f395 Allow to encode xml comments
2018-08-19 13:10:28 +02:00
Dany Maillard
d94a37f395 Allow to encode xml comments 2018-08-19 12:41:43 +02:00
Nicolas Grekas
3063c62bba Merge branch '4.1'
* 4.1:
  [travis] fix composer.lock invalidation for deps=low
  [Security\Http] Restore laziness of listener iterator
  Make the `message_bus` alias public
2018-08-19 10:17:45 +02:00
Nicolas Grekas
cd14b22f18 Merge branch '3.4' into 4.1
* 3.4:
  [travis] fix composer.lock invalidation for deps=low
  [Security\Http] Restore laziness of listener iterator
2018-08-19 10:16:41 +02:00
Fabien Potencier
33ce02e048 minor #28127 [WebProfilerBundle] Remove useless macro arguments (gregurco)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[WebProfilerBundle] Remove useless macro arguments

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

I was digging into the Stopwatch Component and the part of displaying timeline in WebProfilerBundle and found some useless arguments in macro. The code was changed but arguments were abandoned.

Where the problem appeared: bfcc5e7392 (diff-3651d31bd302da5c7c1ef927e8641c78L294)

Commits
-------

70498dbeae [WebProfilerBundle] remove useless macro arguments
2018-08-19 08:38:07 +02:00
Fabien Potencier
a09809b752 bug #28216 [FrameworkBundle] message_bus alias public (sroze)
This PR was merged into the 4.1 branch.

Discussion
----------

[FrameworkBundle] `message_bus` alias public

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

Because it is used in the `ControllerTrait` with `get('message_bus')`... same than for `security.csrf.token_manager` and cie, it should be public.

Commits
-------

51b6e9eb96 Make the `message_bus` alias public
2018-08-19 08:21:14 +02:00
Nicolas Grekas
2ebc75b9a1 [Security\Http] Restore laziness of listener iterator 2018-08-18 22:38:48 +02:00
Nicolas Grekas
1c248e572e Merge branch '4.1'
* 4.1:
  fix merge
  [travis][appveyor] use symfony/flex to accelerate builds
  Add missing stderr redirection
  clean up unused code
  Remove the HTML5 validation from the profiler URL search form
  [Filesystem] Add test to prevent regression when using array|resource with dumpFile
  Add help texts for checkboxes in horizontal bootstrap 4 forms
  [Security] Call AccessListener after LogoutListener
2018-08-18 18:57:16 +02:00
Nicolas Grekas
2dedacbc04 Merge branch '3.4' into 4.1
* 3.4:
  [travis][appveyor] use symfony/flex to accelerate builds
  Add missing stderr redirection
  clean up unused code
  [Filesystem] Add test to prevent regression when using array|resource with dumpFile
  [Security] Call AccessListener after LogoutListener
2018-08-18 18:52:46 +02:00
Nicolas Grekas
d351daab04 Merge branch '2.8' into 3.4
* 2.8:
  [travis][appveyor] use symfony/flex to accelerate builds
  [Security] Call AccessListener after LogoutListener
2018-08-18 18:47:20 +02:00
Gabriel Ostrolucký
097c3f82a7 [WebProfilerBundle] Limit width of toolbar item 2018-08-17 22:29:17 +02:00
Christian Flothmann
45754515a5 fix type error handling when writing values 2018-08-17 19:56:06 +02:00
Kevin Grenier
91d72a67c8 Removed dead code in Kernel 2018-08-17 19:17:32 +02:00
Samuel ROZE
51b6e9eb96 Make the message_bus alias public 2018-08-17 14:07:19 +02:00
Nicolas Grekas
f0168e3ed6 [Validator] update CHANGELOG 2018-08-15 17:46:19 +02:00
Nicolas Grekas
9f4615a7ae feature #28069 [Validator] New DivisibleBy constraint for testing divisibility (colinodell)
This PR was squashed before being merged into the 4.2-dev branch (closes #28069).

Discussion
----------

[Validator] New `DivisibleBy` constraint for testing divisibility

This introduces a new ~`MultipleOf`~ `DivisibleBy` constraint which checks whether one number is a multiple of (aka "divisible by") some other number.  Useful for enforcing specific increments on a number.

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

See https://github.com/symfony/symfony-docs/pull/10121 for examples of this constraint in action.

Commits
-------

efcfb8b22d [Validator] New `DivisibleBy` constraint for testing divisibility
2018-08-15 17:44:16 +02:00
Colin O'Dell
efcfb8b22d [Validator] New DivisibleBy constraint for testing divisibility 2018-08-15 17:44:08 +02:00
Nicolas Grekas
1757c9c71e minor #28192 [PhpUnitBridge] Add missing stderr redirection (greg0ire)
This PR was merged into the 3.4 branch.

Discussion
----------

[PhpUnitBridge] Add missing stderr redirection

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

This seems to have been overlooked in
6c0e6af47a, and results in the test suite
being polluted on machines where phpdbg is not installed.
I updated the code to mimic other occurences of exec in this file.

Commits
-------

d67b86b9e7 Add missing stderr redirection
2018-08-14 18:01:19 +02:00
Nicolas Grekas
68a9a07c98 bug #28113 [Form] Add help texts for checkboxes in horizontal bootstrap 4 forms (apfelbox)
This PR was merged into the 4.1 branch.

Discussion
----------

[Form] Add help texts for checkboxes in horizontal bootstrap 4 forms

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| 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 | —
| License       | MIT
| Doc PR        | —

Bootstrap 4 horizontal forms override the `{% block checkbox_form %}` but didn't include the help text. Regular (vertical) Bootstrap 4 are not affected, as they use the default `form_row`, which includes the `form_help()` call.

### Before
![before](https://user-images.githubusercontent.com/1032411/43576420-9a1051ee-9649-11e8-8c1e-89502e5a79bd.png)

### After
![after](https://user-images.githubusercontent.com/1032411/43576423-9dfe5620-9649-11e8-8bce-74ec82d83729.png)

Commits
-------

1483c87aab Add help texts for checkboxes in horizontal bootstrap 4 forms
2018-08-14 17:48:59 +02:00
Nicolas Grekas
0934464993 feature #28176 [DI] [FrameworkBundle] Add LoggerAwareInterface to auto configuration (GaryPEGEOT)
This PR was squashed before being merged into the 4.2-dev branch (closes #28176).

Discussion
----------

[DI] [FrameworkBundle] Add LoggerAwareInterface to auto configuration

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

Add the method call `setLogger` for every service implementing `Psr\Log\LoggerAwareInterface`

Commits
-------

afda3c8844 [DI] [FrameworkBundle] Add LoggerAwareInterface to auto configuration
2018-08-14 17:12:50 +02:00
Gary PEGEOT
afda3c8844 [DI] [FrameworkBundle] Add LoggerAwareInterface to auto configuration 2018-08-14 17:12:26 +02:00
Nicolas Grekas
37c39fb9cd minor #28187 [Yaml] clean up unused code (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Yaml] clean up unused code

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

The removed lines were added in #17159 to be able to detect comment lines without running into parse errors. Part of that was reverted in #25241 when the logic was overhauled leading to now useless initialisation of variables that are never evaluated.

Commits
-------

a7672bd187 clean up unused code
2018-08-14 17:05:37 +02:00
Nicolas Grekas
bc5d208584 [Cache] make PhpMarshaller handle hard references 2018-08-14 16:20:41 +02:00
Jérémy Derussé
46fe1b0712
Add a PdoStore in lock 2018-08-13 19:20:41 +02:00
Grégoire Paris
d67b86b9e7
Add missing stderr redirection
This seems to have been overlooked in
6c0e6af47a, and results in the test suite
being polluted on machines where phpdbg is not installed.
I updated the code to mimic other occurences of exec in this file.
2018-08-11 23:22:43 +02:00
Robin Chalas
ea0b508c8e bug #28100 [Security] Call AccessListener after LogoutListener (chalasr)
This PR was merged into the 2.8 branch.

Discussion
----------

[Security] Call AccessListener after LogoutListener

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

Commits
-------

44dbea6 [Security] Call AccessListener after LogoutListener
2018-08-11 13:15:56 +02:00
Christian Flothmann
a7672bd187 clean up unused code 2018-08-10 09:34:36 +02:00
Nicolas Grekas
e279e2a50d Merge branch '2.8' into 3.4
* 2.8:
  [Filesystem] Add test to prevent regression when using array|resource with dumpFile
2018-08-10 09:29:05 +02:00
Nicolas Grekas
f96753b9ab feature #27957 [Routing] Add fallback to cultureless locale for internationalized routes (fancyweb)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Routing] Add fallback to cultureless locale for internationalized routes

| 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/27938
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/10108

Please check the related issue for the context.

TODO :
- [x] Update CHANGELOG
- [x] Update documentation

Commits
-------

fd2e3c36fb [Routing] Add fallback to cultureless locale for internationalized routes
2018-08-10 09:25:39 +02:00
Nicolas Grekas
83a9ca6ed6 feature #28027 [Config] Rename FileLoaderLoadException to LoaderLoadException (ProgMiner)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Config] Rename FileLoaderLoadException to LoaderLoadException

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

Renamed `FileLoaderLoadException` to `LoaderLoadException`.

Commits
-------

24471a2780 [Config] Rename FileLoaderLoadException to LoaderLoadException
2018-08-10 09:17:45 +02:00
Thomas Calvet
fd2e3c36fb [Routing] Add fallback to cultureless locale for internationalized routes 2018-08-10 09:14:01 +02:00
ProgMiner
24471a2780 [Config] Rename FileLoaderLoadException to LoaderLoadException 2018-08-10 09:13:17 +02:00
Nicolas Grekas
30b24d200b minor #28019 [Filesystem] Add test to prevent regression when using array|resource with dumpFile (thePanz)
This PR was merged into the 2.8 branch.

Discussion
----------

[Filesystem] Add test to prevent regression when using array|resource with dumpFile

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

Commits
-------

db1c21c8ae [Filesystem] Add test to prevent regression when using array|resource with dumpFile
2018-08-10 08:52:30 +02:00
Nicolas Grekas
550b8b88d5 feature #28085 [Config] show proposals when unsupported option is provided (fmata)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Config] show proposals when unsupported option is provided

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

In case of proposals match with the provided option, all proposals are displayed.
In case of no pertinent proposal is available, all options are displayed in alpha order.

Commits
-------

15f69a3e81 [Config] show proposals when unsupported option is provided
2018-08-10 08:46:52 +02:00
Sullivan SENECHAL
bd8c844843 Remove the HTML5 validation from the profiler URL search form
We do not have to write a complete URL to do a search.

Only some keywords are necessary.
2018-08-09 21:58:21 +02:00
Nicolas Grekas
e17f650754 [DI] Fix dumping service locators 2018-08-09 21:20:55 +02:00
Vlad Gregurco
70498dbeae [WebProfilerBundle] remove useless macro arguments 2018-08-08 15:14:03 +03:00
Nicolas Grekas
00e8b493d1 Merge branch '4.1'
* 4.1:
  [DI] fix analyzing lazy refs involved in circular loops
  [DI] Fix autowire inner service
2018-08-08 13:50:11 +02:00
Nicolas Grekas
441322fdc7 bug #28159 [DI] Fix autowire inner service (hason)
This PR was merged into the 4.1 branch.

Discussion
----------

[DI] Fix autowire inner service

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

This PR fix multiple levels of decoration. Unfortunately, this [good question](https://github.com/symfony/symfony/pull/25631#issuecomment-364610914) in origin PR has not been heard 🎧 😄. @dunglas @chalasr

Commits
-------

b79d097c2a [DI] Fix autowire inner service
2018-08-08 13:48:58 +02:00
Nicolas Grekas
a31b5d0ee3 Merge branch '3.4' into 4.1
* 3.4:
  [DI] fix analyzing lazy refs involved in circular loops
2018-08-08 13:48:00 +02:00
Nicolas Grekas
4e92d10b40 [DI] fix analyzing lazy refs involved in circular loops 2018-08-08 13:42:34 +02:00
Martin Hasoň
b79d097c2a [DI] Fix autowire inner service 2018-08-08 13:02:30 +02:00
Nicolas Grekas
13dc341d7f feature #27806 [DI] Allow autoconfiguring bindings (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[DI] Allow autoconfiguring bindings

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

I've come up with a case where we will need to inject a different service based on which interfaces a consumer service implements: injecting a different token storage for monolog processor than for everything else. Required in #27801.

Commits
-------

7c29977037 [DI] Allow autoconfiguring bindings
2018-08-08 10:30:15 +02:00
Nicolas Grekas
568e3a4fb4 Merge branch '4.1'
* 4.1:
  [HttpFoundation] fix false-positive ConflictingHeadersException
  [DI] Fix false-positive circular ref leading to wrong exceptions or infinite loops at runtime
2018-08-08 10:28:33 +02:00
Nicolas Grekas
2130c60362 Merge branch '3.4' into 4.1
* 3.4:
  [HttpFoundation] fix false-positive ConflictingHeadersException
  [DI] Fix false-positive circular ref leading to wrong exceptions or infinite loops at runtime
2018-08-08 10:25:44 +02:00
Nicolas Grekas
ba31bab47a bug #28060 [DI] Fix false-positive circular ref leading to wrong exceptions or infinite loops at runtime (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Fix false-positive circular ref leading to wrong exceptions or infinite loops at runtime

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

When circular loops involve references in properties, method calls or configurators, it is possible to properly instantiate the related services.

The current logic is broken: `ContainerBuilder` considers some of these loops as self-referencing circular references, leading to a runtime exception, and in similar situations, `PhpDumper` generates code that turns to infinite loops at runtime 💥. These badly handled situations happen with inlined definitions.

This PR fixes both classes by making them track which references are really part of the constructors' chain, including inline definitions.

It also fixes dumping infinite loops when dumping circular loops involving lazy services while proxy-manager-bridge is not installed.

Commits
-------

e843bb86c8 [DI] Fix false-positive circular ref leading to wrong exceptions or infinite loops at runtime
2018-08-08 10:12:29 +02:00
Nicolas Grekas
2bae1832c7 Merge branch '2.8' into 3.4
* 2.8:
  [HttpFoundation] fix false-positive ConflictingHeadersException
2018-08-08 10:11:13 +02:00
Nicolas Grekas
74a4ceaad6 bug #28144 [HttpFoundation] fix false-positive ConflictingHeadersException (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[HttpFoundation] fix false-positive ConflictingHeadersException

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

Fixes https://jira.ez.no/browse/EZP-29492 & https://jira.ez.no/browse/EZP-29497
Ping @andrerom

Commits
-------

6089290543 [HttpFoundation] fix false-positive ConflictingHeadersException
2018-08-08 10:05:06 +02:00
Nicolas Grekas
e0a8a7f631 Merge branch '4.1'
* 4.1:
  [Config] minor fix that removes a PHP 7.3 deprecation
  [Translation] fix perf of lint:xliff command
2018-08-08 09:59:30 +02:00
Nicolas Grekas
bf5704559d minor #28151 [Translation] dedup XSD files (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Translation] dedup XSD files

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

Commits
-------

645090d0ae [Translation] dedup XSD files
2018-08-08 09:57:37 +02:00
Nicolas Grekas
9fae8f4609 bug #28152 [Translation] fix perf of lint:xliff command (nicolas-grekas)
This PR was merged into the 4.1 branch.

Discussion
----------

[Translation] fix perf of lint:xliff command

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

#27653 has been merged on master as an improvement, but the perf issue is a killer.
Our CI spends 1 minutes on just a few translation test cases.
Only 4.1 has this behavior. That's a bug.

Commits
-------

02c69b1658 [Translation] fix perf of lint:xliff command
2018-08-08 09:54:59 +02:00
Nicolas Grekas
6b413ab49d [Config] minor fix that removes a PHP 7.3 deprecation 2018-08-08 08:37:38 +02:00
Florent Mata
15f69a3e81 [Config] show proposals when unsupported option is provided 2018-08-07 18:38:04 +02:00
Nicolas Grekas
c1983b203f [ProxyManagerBridge] conflict with zendframework/zend-eventmanager v2.6.0 because of bad "require" 2018-08-07 16:43:33 +02:00
Nicolas Grekas
02c69b1658 [Translation] fix perf of lint:xliff command 2018-08-07 14:45:11 +02:00
Nicolas Grekas
645090d0ae [Translation] dedup XSD files 2018-08-07 14:26:01 +02:00
Nicolas Grekas
4ebecdbc05 Merge branch '4.1'
* 4.1:
  [travis] cache composer.lock files for deps=low
  [Security] Remove wrong sentence about ACL
  Update validators.nl.xlf
  [Routing] Fixed scheme redirecting for root path
  [Form] Remove extra .form-group wrapper around file widget in bootstrap 4
2018-08-07 11:35:17 +02:00
Nicolas Grekas
9654de3527 Merge branch '3.4' into 4.1
* 3.4:
  [travis] cache composer.lock files for deps=low
  [Security] Remove wrong sentence about ACL
  Update validators.nl.xlf
2018-08-07 11:35:05 +02:00