Commit Graph

16655 Commits

Author SHA1 Message Date
Nicolas Grekas
d6141930e8 minor #20968 [DI] Fix DefinitionDecorator existency for composer authoritative+IDEs (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DI] Fix DefinitionDecorator existency for composer authoritative+IDEs

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

So that the class is defined for naive parser (e.g. IDEs & composer class map generator).
Fixes autoloading in authoritative mode.

Commits
-------

9c3f755 [DI] Fix DefinitionDecorator existency for composer authoritative+IDEs
2016-12-17 11:48:33 +01:00
Nicolas Grekas
c885d23a39 Merge branch '3.2'
* 3.2:
  [Security] Fix test
  [Validator] phpize default option values
  test for the Validator component to be present
  [Serializer] Fix MaxDepth annotation exceptions
  [DependencyInjection] Fix on-invalid attribute type in xsd
  [FrameworkBundle] Fix PHP form templates on translatable attributes
  [VarDumper] Fix dumping by-ref variadics
  [Validator] add Indonesian translation
  fixed CS
  [config] Fix issue when key removed and left value only
  [HttpFoundation] Fix cookie to string conversion for raw cookies
  Fix misresolved parameters in debug:config on 3.2
  [Console] fixed BC issue with static closures
  [TwigBundle] Config is now a hard dependency
  [FrameworkBundle] framework.annotations default should be true only if doctrine/annotations is installed
  [Security] AbstractVoter method supportsAttribute gives false positive if attribute is zero (0)
2016-12-17 11:47:22 +01:00
Nicolas Grekas
b9a74f35ba Merge branch '3.1' into 3.2
* 3.1:
  [Security] Fix test
  [Validator] phpize default option values
  test for the Validator component to be present
  [Serializer] Fix MaxDepth annotation exceptions
  [DependencyInjection] Fix on-invalid attribute type in xsd
  [FrameworkBundle] Fix PHP form templates on translatable attributes
  [VarDumper] Fix dumping by-ref variadics
  [Validator] add Indonesian translation
  fixed CS
  [config] Fix issue when key removed and left value only
  [HttpFoundation] Fix cookie to string conversion for raw cookies
  [Console] fixed BC issue with static closures
  [Security] AbstractVoter method supportsAttribute gives false positive if attribute is zero (0)
2016-12-17 11:46:44 +01:00
Nicolas Grekas
f4b3b87ef7 Merge branch '2.8' into 3.1
* 2.8:
  [Security] Fix test
  [Validator] phpize default option values
  test for the Validator component to be present
  [DependencyInjection] Fix on-invalid attribute type in xsd
  [FrameworkBundle] Fix PHP form templates on translatable attributes
  [VarDumper] Fix dumping by-ref variadics
  [Validator] add Indonesian translation
  fixed CS
  [config] Fix issue when key removed and left value only
  [Console] fixed BC issue with static closures
  [Security] AbstractVoter method supportsAttribute gives false positive if attribute is zero (0)
2016-12-17 11:46:00 +01:00
Nicolas Grekas
55da229acb Merge branch '2.7' into 2.8
* 2.7:
  [Validator] phpize default option values
  test for the Validator component to be present
  [DependencyInjection] Fix on-invalid attribute type in xsd
  [FrameworkBundle] Fix PHP form templates on translatable attributes
  [VarDumper] Fix dumping by-ref variadics
2016-12-17 11:44:20 +01:00
Nicolas Grekas
8aeed88179 [Security] Fix test 2016-12-17 11:40:05 +01:00
Nicolas Grekas
9c3f755994 [DI] Fix DefinitionDecorator existency for composer authoritative+IDEs 2016-12-17 11:29:12 +01:00
Nicolas Grekas
14c65e3814 [DI] Fix DefinitionDecorator deprecation layer 2016-12-17 10:57:51 +01:00
Fabien Potencier
4a597bdb37 feature #20618 [DI] Make ContainerBuilder::resolveEnvPlaceholders() able to inline the values of referenced env vars. (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DI] Make ContainerBuilder::resolveEnvPlaceholders() able to inline the values of referenced env vars.

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

Being able to resolve environment variables at compile time as a replacement for `SYMFONY__` special env vars, unlocking their deprecation (see #20100).

Commits
-------

713b081 [DI] Make ContainerBuilder::resolveEnvPlaceholders() able to inline the values of referenced env vars.
2016-12-17 09:53:28 +01:00
Fabien Potencier
3eab98dab3 minor #20647 [VarDumper] word-break: break-all for long string dumps (ro0NL)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[VarDumper] word-break: break-all for long string dumps

| Q             | A
| ------------- | ---
| Branch?       | "master"
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

Before

![image](https://cloud.githubusercontent.com/assets/1047696/20641702/50000ee8-b3fe-11e6-8390-a6ba3dae5c56.png)

After

![image](https://cloud.githubusercontent.com/assets/1047696/20641724/76671d56-b3fe-11e6-8fa0-4c00801b3069.png)

Commits
-------

bd4c430 [VarDumper] Break all words in long string dump
2016-12-17 09:26:53 +01:00
Fabien Potencier
4009280802 feature #20962 Request exceptions (thewilkybarkid, fabpot)
This PR was merged into the 3.3-dev branch.

Discussion
----------

Request exceptions

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

Replaces #20389 and #20662. The idea is to generically manage 400 responses when an exception implements `RequestExceptionInterface`.

The "weird" caches on the request for the host and the clients IPs allows to correctly manage exceptions in an exception listener/controller (as we are duplicating the request there, but we don't want to throw an exception there).

Commits
-------

32ec288 [HttpFoundation] refactored Request exceptions
d876809 Return a 400 response for suspicious operations
2016-12-17 09:24:59 +01:00
Fabien Potencier
db9a008d50 bug #20944 [HttpKernel] Fix Bundle name regression (ogizanagi)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[HttpKernel] Fix Bundle name regression

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

The bundle name can be set manually instead of being guessed from the class name, as the property is protected.
However, a regression prevents this name to be used, as calling `Bundle::getNamespace()` recomputes the bundle name from class instead.

The ability to name explicitly bundles is appreciable when dealing with "virtual" ones, or when providing bundles in a library under a `Vendor\MyPackage\Bridge\Symfony\Bundle` namespace. No need to rename the bundle class `VendorMyPackageBundle` which will make the instantiation in `Kernel::registerBundle()` quite ugly:

```diff
- new Vendor\MyPackage\Bridge\Symfony\Bundle\VendorMyPackageBundle()
+ new Vendor\MyPackage\Bridge\Symfony\Bundle\Bundle()
```

What about removing `Bundle::parseClassName()` and processing the namespace and bundle name separately, but keeping the `namespace` property introduced in #20117?

Commits
-------

3b5127d [HttpKernel] Fix Bundle name regression
2016-12-17 08:58:15 +01:00
Fabien Potencier
32ec28857a [HttpFoundation] refactored Request exceptions 2016-12-16 17:05:39 +01:00
Christian Flothmann
d65679b302 [Validator] phpize default option values
This makes the behavior for default constraints inline with the behavior
when the option is given explicitly.
2016-12-16 16:54:54 +01:00
Maxime Steinhausser
3b5127dbe9 [HttpKernel] Fix Bundle name regression 2016-12-16 09:46:20 +01:00
Maxime Steinhausser
999f769ba5 [Serializer] Fix MaxDepth annotation exceptions 2016-12-15 20:58:01 +01:00
Maxime Steinhausser
e66d3da91a [DependencyInjection] Fix on-invalid attribute type in xsd 2016-12-15 15:48:03 +01:00
Nicolas Grekas
28ec36140d [VarDumper] Fix dumping by-ref variadics 2016-12-15 08:56:57 +01:00
Roland Franssen
8c28317f7e [HttpFoundation] Compute cookie max-age attribute 2016-12-14 18:36:42 +00:00
Roland Franssen
bd4c4302f7 [VarDumper] Break all words in long string dump 2016-12-14 18:12:29 +00:00
Chris Wilkinson
d876809cec Return a 400 response for suspicious operations 2016-12-14 09:46:25 +01:00
Fabien Potencier
839c0836ee Merge branch '2.7' into 2.8
* 2.7:
  [Validator] add Indonesian translation
  fixed CS
  [config] Fix issue when key removed and left value only
  [Security] AbstractVoter method supportsAttribute gives false positive if attribute is zero (0)
2016-12-14 09:13:10 +01:00
Indra Gunawan
ca4c35164f [Validator] add Indonesian translation 2016-12-14 09:12:43 +01:00
Fabien Potencier
482e9edc50 bug #20734 [Security] AbstractVoter->supportsAttribute gives false positive if attribute is zero (0) (martynas-foodpanda)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] AbstractVoter->supportsAttribute gives false positive if attribute is zero (0)

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

Issue is easy to reproduce with test giving negative data set.
0 should not pass as supported attribute for any set of attributes but it does as in_array in the method does not use flag 'strict' set to true.

As this is abstract voter and is used by users with their code flag 'strict' should be set to true.
Since is there in 2.7 and 2.8 (LTS) IMHO it should be fixed.

Commits
-------

8306530 [Security] AbstractVoter method supportsAttribute gives false positive if attribute is zero (0)
2016-12-14 09:11:55 +01:00
Fabien Potencier
92423e77ac fixed CS 2016-12-14 09:03:29 +01:00
Michael Lee
b587a7294f [config] Fix issue when key removed and left value only
When a key attribute is mapped and the key is removed from the value array, if
only 'value' element is left in the array, it should replace its wrapper
array.

Assume the original value array is as follows (key attribute is 'id').

```php
array(
    'things' => array(
        array('id' => 'option1', 'value' => 'value1'),
        array('id' => 'option2', 'value' => 'value2')
    )
)
```

After normalized, the above shall be converted to the following array.

```php
array(
    'things' => array(
        'option1' => 'value1',
        'option2' => 'value2'
    )
)
```

It's also possible to mix 'value-only' and 'none-value-only' elements in
the array:

```php
array(
    'things' => array(
        array('id' => 'option1', 'value' => 'value1'),
        array('id' => 'option2', 'value' => 'value2', 'foo' => 'foo2')
    )
)
```

The above shall be converted to the following array.
```php
array(
    'things' => array(
        'option1' => 'value1',
        'option2' => array('value' => 'value2','foo' => 'foo2')
    )
)
```

The 'value' element can also be array:

```php
array(
    'things' => array(
        array(
            'id' => 'option1',
            'value' => array('foo'=>'foo1', 'bar' => 'bar1')
        )
    )
)
```
The above shall be converted to the following array.
```php
array(
    'things' => array(
        'option1' => array('foo' => 'foo1', 'bar' => 'bar1')
    )
)
```

When using VariableNode for value element, it's also possible to mix
different types of value elements:
```php
array(
    'things' => array(
        array('id' => 'option1', 'value' => array('foo'=>'foo1', 'bar' => 'bar1')),
        array('id' => 'option2', 'value' => 'value2')
    )
)
```

The above shall be converted to the following array.
```php
array(
    'things' => array(
        'option1' => array('foo'=>'foo1', 'bar' => 'bar1'),
        'option2' => 'value2'
    )
)
```

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #15270
| License       | MIT
| Doc PR        | n/a
2016-12-14 09:02:51 +01:00
Roland Franssen
5e899cd2a7 [HttpFoundation] Fix cookie to string conversion for raw cookies 2016-12-14 08:17:13 +01:00
Fabien Potencier
917eacac25 bug #20847 [Console] fixed BC issue with static closures (araines)
This PR was squashed before being merged into the 2.8 branch (closes #20847).

Discussion
----------

[Console] fixed BC issue with static closures

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

Static closures were unable to be used in Command::setCode since #14431.  This change fixes the BC break and ensures static closures can still be used.

Edit: It seems the inability to bind static closures was considered a feature in PHP5 but was considered a bug by PHP7.  As such, the tests need to work around this fact - but the code can remain the same.  This code change can be tidied/removed once Symfony is PHP7+ only.

Discussion here:
https://bugs.php.net/bug.php?id=64761
https://bugs.php.net/bug.php?id=68792

Commits
-------

3247308 [Console] fixed BC issue with static closures
2016-12-13 18:12:26 +01:00
Andy Raines
3247308c50 [Console] fixed BC issue with static closures 2016-12-13 18:12:25 +01:00
Fabien Potencier
69dcf41a3c feature #20167 [DependencyInjection] Make method (setter) autowiring configurable (dunglas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DependencyInjection] Make method (setter) autowiring configurable

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

Follow up of #19631. Implements https://github.com/symfony/symfony/pull/19631#issuecomment-240646169:

Edit: the last supported format:

``` yaml
services:
    foo:
        class: Foo
        autowire: ['__construct', 'set*'] # Autowire constructor and all setters
        autowire: true # Converted by loaders in `autowire: ['__construct']` for BC
        autowire: ['foo', 'bar'] # Autowire only `foo` and `bar` methods
```

Outdated:

``` yaml
autowire: true # constructor autowiring
autowire: [__construct, setFoo, setBar] # autowire whitelisted methods only
autowire: '*' # autowire constructor + every setters (following existing rules for setters autowiring)
```
- [x] Allow to specify the list of methods in the XML loader
- [x] Add tests for the YAML loader

Commits
-------

6dd53c7 [DependencyInjection] Introduce method injection for autowiring
2016-12-13 16:48:43 +01:00
Fabien Potencier
a3577eb5b0 Merge branch '3.2'
* 3.2:
  [Console] Review Application docblocks
  [Cache] Improve performances into foreach (PhpFilesAdapter)
  bumped Symfony version to 3.2.2
  updated VERSION for 3.2.1
  updated CHANGELOG for 3.2.1
  bumped Symfony version to 3.1.9
  updated VERSION for 3.1.8
  updated CHANGELOG for 3.1.8
  Add support for REDIS_URL environment variables.
  bumped Symfony version to 2.8.16
  updated VERSION for 2.8.15
  updated CHANGELOG for 2.8.15
  bumped Symfony version to 2.7.23
  updated VERSION for 2.7.22
  update CONTRIBUTORS for 2.7.22
  updated CHANGELOG for 2.7.22
  Update PHP CS Fixer config file
2016-12-13 16:32:21 +01:00
Fabien Potencier
6f46d5d776 Merge branch '3.1' into 3.2
* 3.1:
  [Console] Review Application docblocks
  bumped Symfony version to 3.1.9
  updated VERSION for 3.1.8
  updated CHANGELOG for 3.1.8
  bumped Symfony version to 2.8.16
  updated VERSION for 2.8.15
  updated CHANGELOG for 2.8.15
  bumped Symfony version to 2.7.23
  updated VERSION for 2.7.22
  update CONTRIBUTORS for 2.7.22
  updated CHANGELOG for 2.7.22
  Update PHP CS Fixer config file
2016-12-13 16:32:03 +01:00
Fabien Potencier
298452da31 Merge branch '2.8' into 3.1
* 2.8:
  [Console] Review Application docblocks
  bumped Symfony version to 2.8.16
  updated VERSION for 2.8.15
  updated CHANGELOG for 2.8.15
  bumped Symfony version to 2.7.23
  updated VERSION for 2.7.22
  update CONTRIBUTORS for 2.7.22
  updated CHANGELOG for 2.7.22
  Update PHP CS Fixer config file
2016-12-13 16:31:15 +01:00
Fabien Potencier
e221ac9df7 Merge branch '2.7' into 2.8
* 2.7:
  [Console] Review Application docblocks
  bumped Symfony version to 2.7.23
  updated VERSION for 2.7.22
  update CONTRIBUTORS for 2.7.22
  updated CHANGELOG for 2.7.22
  Update PHP CS Fixer config file
2016-12-13 16:30:11 +01:00
Fabien Potencier
7f85f6dc1e minor #20813 [Console] Review Application docblocks (ogizanagi)
This PR was squashed before being merged into the 2.7 branch (closes #20813).

Discussion
----------

[Console] Review Application docblocks

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

~I know there must be a lot of other places in the core where there is some repeated or useless informations in docblocks, but everytime I dig into the `Application` class, I see this, and I don't want to repeat things for consistency when adding new methods 😅  (for instance in #20808, the `setCatchThrowables / areThrowablesCaught ` methods do not need a docblock description IMHO).~

~This PR adapts docblocks where:~

- ~A docblock description is not required, as everything can be expressed in the `@return / @param` argument (the case mentioned above)~
- ~Information is redundant between description and tags, and the context does not have to be reminded again:~

```diff

    /**
     * Adds an array of command objects.
     *
     * If a Command is not enabled it will not be added.
     *
-     * @param Command[] $commands An array of commands
+     * @param Command[] $commands
     */
    public function addCommands(array $commands)
    {
        foreach ($commands as $command) {
            $this->add($command);
        }
    }
```

Commits
-------

d8c18cc [Console] Review Application docblocks
2016-12-13 16:27:53 +01:00
Maxime STEINHAUSSER
d8c18cc3cd [Console] Review Application docblocks 2016-12-13 16:27:52 +01:00
Vincent HADJEDJ
7e4573bcfb [Cache] Improve performances into foreach (PhpFilesAdapter) 2016-12-13 16:09:48 +01:00
Fabien Potencier
d27d445959 feature #20663 [DependencyInjection] replace DefinitionDecorator by ChildDefinition (xabbuh)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DependencyInjection] replace DefinitionDecorator by ChildDefinition

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

The DefinitionDecorator class does not deal with decorated services. It reflects a parent-child-relationship between definitions instead. To avoid confusion, this commit deprecates the existing DefinitionDecorator class and introduces a new DefinitionExtension class as replacement.

Commits
-------

184f7ff replace DefinitionDecorator with ChildDefinition
2016-12-13 15:10:41 +01:00
Fabien Potencier
c41cfcb897 bumped Symfony version to 3.2.2 2016-12-13 14:40:27 +01:00
Fabien Potencier
d884a521f3 updated VERSION for 3.2.1 2016-12-13 14:19:46 +01:00
Fabien Potencier
8bf83cc0b0 bumped Symfony version to 3.1.9 2016-12-13 14:18:12 +01:00
Fabien Potencier
25b40ff90c updated VERSION for 3.1.8 2016-12-13 13:52:10 +01:00
Robin Chalas
bd59d75d8c [HttpKernel] Require psr/cache in dev 2016-12-13 13:46:54 +01:00
Fabien Potencier
a163a16554 bumped Symfony version to 2.8.16 2016-12-13 13:44:14 +01:00
Fabien Potencier
5b5311c130 updated VERSION for 2.8.15 2016-12-13 13:16:15 +01:00
Fabien Potencier
f22a505629 bumped Symfony version to 2.7.23 2016-12-13 13:12:22 +01:00
Christian Flothmann
184f7ff125 replace DefinitionDecorator with ChildDefinition
The DefinitionDecorator class does not deal with decorated services. It
reflects a parent-child-relationship between definitions instead. To
avoid confusion, this commit deprecates the existing DefinitionDecorator
class and introduces a new ChildDefinition class as replacement.
2016-12-13 12:26:14 +01:00
Fabien Potencier
bdb6bf985f updated VERSION for 2.7.22 2016-12-13 11:53:27 +01:00
Fabien Potencier
40280f203c Merge branch '3.2'
* 3.2:
  [WebProfilerBundle] Fix AJAX panel with fetch requests
  Don’t compile when Opcache is not enabled on CLI
  DateIntervalType: 'invert' should not inherit the 'required' option
  [Form] DateIntervalType: Do not try to translate choices
  [TwigBridge] fix constructor args check
  Allow simple-phpunit to be used with an HTTP proxy
  Minor fixes for 3.2
  Fix a web profiler form issue with fields added to the form after the form was built
  do not trigger deprecations for valid YAML
  Write an exception message in a one heading line
  [Workflow] Added missing docblock
  [Finder] Refine phpdoc about argument for NumberComparator
  Fixed max width from ajax request url element (td)
  Fix unresolved parameters from default bundle configs in debug:config
  [github] Tweak PR template
  [Serializer] Optimize max depth checking
2016-12-13 10:39:51 +01:00
Fabien Potencier
1943c26d47 Merge branch '3.1' into 3.2
* 3.1:
  Write an exception message in a one heading line
  [Finder] Refine phpdoc about argument for NumberComparator
  Fixed max width from ajax request url element (td)
  Fix unresolved parameters from default bundle configs in debug:config
  [github] Tweak PR template
  [Serializer] Optimize max depth checking
2016-12-13 10:39:43 +01:00
Fabien Potencier
ed73b0c629 Merge branch '2.8' into 3.1
* 2.8:
  Write an exception message in a one heading line
  [Finder] Refine phpdoc about argument for NumberComparator
  Fix unresolved parameters from default bundle configs in debug:config
  [github] Tweak PR template
2016-12-13 10:38:21 +01:00
Fabien Potencier
c9d08b61c3 Merge branch '2.7' into 2.8
* 2.7:
  Write an exception message in a one heading line
  [Finder] Refine phpdoc about argument for NumberComparator
  Fix unresolved parameters from default bundle configs in debug:config
  [github] Tweak PR template
2016-12-13 10:38:12 +01:00
Fabien Potencier
90df4793cf feature #20487 [Console] Disallow inheritance from ProgressBar (a-ast)
This PR was squashed before being merged into the 3.3-dev branch (closes #20487).

Discussion
----------

[Console] Disallow inheritance from ProgressBar

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

Changed `ProgressBar` to `final`, fixed tests.
As explained below, this modification doesn't break BC because inheritance from `ProgressBar` was not possible anyway.
See: https://github.com/symfony/symfony/issues/20427

Commits
-------

a2668f6 [Console] Disallow inheritance from ProgressBar
2016-12-13 10:20:34 +01:00
Andrey Astakhov
a2668f6abe [Console] Disallow inheritance from ProgressBar 2016-12-13 10:20:32 +01:00
Fabien Potencier
e55f79b5c6 minor #20529 [Serializer] Optimize max depth checking (dunglas)
This PR was merged into the 3.1 branch.

Discussion
----------

[Serializer] Optimize max depth checking

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

Avoid to call the metadata factory for each attribute when max depth checking is enabled.
Prepare the code for the "serialized name" feature (that also requires metadata) in Symfony 3.3.

Commits
-------

bb3ee76 [Serializer] Optimize max depth checking
2016-12-13 10:15:55 +01:00
Fabien Potencier
902d9edacd feature #20651 [DependencyInjection] Added Yaml syntax shortcut for name-only tags (wouterj)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DependencyInjection] Added Yaml syntax shortcut for name-only tags

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

This PR adds a little shorcut for tags without any attributes. There are increasingly more name-only tags in Symfony and having to do `{ name: twig.extension }` for these seems way too verbose to me.

**Before**
```yaml
services:
    app.twig_extension:
        class: AppBundle\Twig\AppExtension
        tags:
            - { name: twig.extension }
```

**After**
```yaml
services:
    app.twig_extension:
        class: AppBundle\Twig\AppExtension
        tags: [twig.extension]
        # or
        #    - twig.extension
```

This of course means we introduce a new format to achieve the same goal. I believe this isn't a big problem as the decision is distinctive and simple: If you configure tag attributes, use the long format, otherwise use the short format.

Backwards compatibility
---

In this PR, an exception was removed to allow this new shortcut format. The BC promise doesn't cover exceptions and I think removing the exception here should cause anything to break:

 * Applications shouldn't rely on exceptions
 * If code was triggering this exception before, it would not cause any behaviour change after this PR: The service just retrieves an unused tag, which is simply ignored by the container.

Commits
-------

7fa8c8a Added Yaml syntax shortcut for name-only tags
2016-12-13 10:04:41 +01:00
Fabien Potencier
22586ca996 feature #20648 [DependencyInjection] Added a shortcut method for autowired definitions (wouterj)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DependencyInjection] Added a shortcut method for autowired definitions

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

This is a simple proposal to make adding autowired definitions to the `ContainerBuilder` a little easier. Registering autowired services in PHP code was quite verbose at the moment, while the whole point of autowiring is quick service registration.

**Before**
```php
$container->register('app.twig_extension', AppExtension::class)
    ->setAutowired(true)
    ->addTag('twig.extension')
;
```

**After**
```php
$container->autowire('app.twig_extension', AppExtension::class)
    ->addTag('twig.extension')
;
```

With https://github.com/symfony/symfony/pull/20264, this will be even nicer:
```php
$container->autowire(AppExtension::class)
    ->addTag('twig.extension')
;
```

Commits
-------

6ef4ce8 Added a shortcut method for autowired definitions
2016-12-13 10:00:08 +01:00
Fabien Potencier
f437d85c28 feature #20697 Updated the "PHP config" panel in the profiler (javiereguiluz)
This PR was squashed before being merged into the 3.3-dev branch (closes #20697).

Discussion
----------

Updated the "PHP config" panel in the 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        | -

I propose to update this panel taking some of the ideas introduced by @ro0NL in #20126:

* Adding more info that helps debugging problems (like 32/64 bits, the locale and the timezone)
* Removing anything related to PHP acceleration that is not OPcache or APC

### Before

![php-config-before](https://cloud.githubusercontent.com/assets/73419/20751739/b557ca9a-b6fd-11e6-98c4-49e80b16d424.png)

### After

![php-config-after](https://cloud.githubusercontent.com/assets/73419/20751740/b7da5c38-b6fd-11e6-8619-3d3b5f477887.png)

Commits
-------

531053b Updated the "PHP config" panel in the profiler
2016-12-13 09:53:31 +01:00
Javier Eguiluz
531053b7a2 Updated the "PHP config" panel in the profiler 2016-12-13 09:53:29 +01:00
Fabien Potencier
708b9a2214 minor #20729 [Finder] Refine phpdoc about argument for NumberComparator (vlakoff)
This PR was merged into the 2.7 branch.

Discussion
----------

[Finder] Refine phpdoc about argument for NumberComparator

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

The most important being the addition of "string" to `Finder::depth()`.

Commits
-------

9b9d339 [Finder] Refine phpdoc about argument for NumberComparator
2016-12-13 09:47:45 +01:00
Fabien Potencier
86e19d5b1f minor #20783 [Workflow] Added missing docblock (Padam87)
This PR was merged into the 3.2 branch.

Discussion
----------

[Workflow] Added missing docblock

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

Commits
-------

8fe144e [Workflow] Added missing docblock
2016-12-13 09:37:11 +01:00
Fabien Potencier
95ba10d1e0 feature #20866 [Console] Improve markdown format (ro0NL)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Console] Improve markdown format

| Q             | A
| ------------- | ---
| Branch?       | "master"
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | not sure?
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

This improves the markdown description for a console application. To make the ouput read more friendly and intuitively (less bloated IMHO).

Before:

Markdown files in https://github.com/symfony/symfony/tree/master/src/Symfony/Component/Console/Tests/Fixtures

After:

Markdown files in https://github.com/ro0NL/symfony/tree/console/markdown/src/Symfony/Component/Console/Tests/Fixtures

Commits
-------

302a19d [Console] Improve markdown format
2016-12-13 09:29:27 +01:00
Fabien Potencier
7e657b8b01 feature #20867 [Console] Include application name/version in JSON descriptions (ro0NL)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Console] Include application name/version in JSON descriptions

| Q             | A
| ------------- | ---
| Branch?       | "master"
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

To be consistent with other formats.

Commits
-------

a43e040 [Console] Include application name/version in JSON descriptions
2016-12-13 09:27:32 +01:00
Fabien Potencier
60f74845af bug #20883 Don’t compile when Opcache is not enabled on CLI (ruudk)
This PR was squashed before being merged into the 3.2 branch (closes #20883).

Discussion
----------

Don’t compile when Opcache is not enabled on CLI

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

This should fix #20878 "Zend OPcache seems to be disabled, can't compile file" when Opcache is enabled, but `opcache.enable_cli` is turned off.

Commits
-------

5222643 Don’t compile when Opcache is not enabled on CLI
2016-12-13 09:25:01 +01:00
Ruud Kamphuis
52226438c4 Don’t compile when Opcache is not enabled on CLI 2016-12-13 09:24:57 +01:00
Fabien Potencier
462a02b3c6 feature #20869 [Console] Improve UX on not found namespace/command (Seldaek)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Console] Improve UX on not found namespace/command

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

This improves the DX/UX when you don't remember what a command is called.. Traditionally you get this message saying "command x is ambiguous (Y, Z or 6 more)" and if the one you are looking for is in the 6 more you are out of luck. You then have to run the console without arg again, get 50 commands displayed, then have to scroll up to find which one it is you meant.

With this patch you get all suggestions always, even with description, so you can make an informed decision right away. See before/after on the screenshot below.

![image](https://cloud.githubusercontent.com/assets/183678/21080350/c3d446ea-bfac-11e6-934b-ba3d7c3dd34d.png)

Commits
-------

aae5fb1 Improve UX on not found namespace/command
2016-12-13 09:06:17 +01:00
Fabien Potencier
0daa64f008 bug #20877 DateIntervalType: 'invert' should not inherit the 'required' option (galeaspablo)
This PR was squashed before being merged into the 3.2 branch (closes #20877).

Discussion
----------

DateIntervalType: 'invert' should not inherit the 'required' option

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

As explained in #20876,

> In the DateIntervalType, there is a field, called 'invert', that allows for negative intervals. This is outputted as a checkbox. Which is fine, but it shouldn't be required.

Commits
-------

b1597f1 DateIntervalType: 'invert' should not inherit the 'required' option
2016-12-13 09:00:09 +01:00
Luis Galeas
b1597f17c2 DateIntervalType: 'invert' should not inherit the 'required' option 2016-12-13 08:59:28 +01:00
Fabien Potencier
795a240c04 minor #20884 [Finder] Deprecate ExceptionInterface (ogizanagi)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Finder] Deprecate ExceptionInterface

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

This interface was missed in https://github.com/symfony/symfony/pull/15805, and should have been removed in 3.0.

Ideally, the component should have such an interface, though, as other components does. But the only domain exception in this component is an `AccessDeniedException` used by the `RecursiveDirectoryIterator`. So it isn't worth it right now.

I think this interface was almost internal actually, but anyway the `\Symfony\Component\Finder\Adapter\AdapterInterface` interface does not exist anymore. So the `ExceptionInterface::getAdapter()` signature cannot be satisfied anyway. I guess anyone relying on this interface in any way should have notice that and removed anything related to Symfony Finder's adapters when upgrading to 3.0.
Should we consider removing it directly in the 3.1 branch instead?

Commits
-------

1b600b0 [Finder] Deprecate ExceptionInterface
2016-12-13 08:56:51 +01:00
Fabien Potencier
51d13cc73a fixed CS 2016-12-13 08:55:20 +01:00
Fabien Potencier
b79c716147 feature #20858 [Cache] Simple Memcached Adapter (robfrawley)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Cache] Simple Memcached Adapter

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |
| Related PRs | #20863, ~~#20752~~

Commits
-------

12de2ae memcached cache pool adapter
2016-12-13 08:54:28 +01:00
Fabien Potencier
e1e9479356 bug #20886 [Form] DateIntervalType: Do not try to translate choices (ogizanagi)
This PR was merged into the 3.2 branch.

Discussion
----------

[Form] DateIntervalType: Do not try to translate choices

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

When using choice widgets, the form type should not try to translate each options, otherwise, you'll get something like this:

<img width="150" alt="screenshot 2016-12-12 a 23 37 09" src="https://cloud.githubusercontent.com/assets/2211145/21119721/25411620-c0c4-11e6-9848-95393d1d21c4.PNG">
<img width="1075" alt="screenshot 2016-12-12 a 23 37 23" src="https://cloud.githubusercontent.com/assets/2211145/21119722/2543ccf8-c0c4-11e6-9842-ae84dc895a0b.PNG">

Commits
-------

b6831d2 [Form] DateIntervalType: Do not try to translate choices
2016-12-13 08:46:35 +01:00
Fabien Potencier
a1a058b7fb bug #20855 [Yaml] do not trigger deprecations for valid YAML (xabbuh)
This PR was merged into the 3.2 branch.

Discussion
----------

[Yaml] do not trigger deprecations for valid YAML

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

Commits
-------

1436349 do not trigger deprecations for valid YAML
2016-12-13 08:43:57 +01:00
Nicolas Grekas
61cce2a679 [VarDumper] Add SymfonyCaster::castRequest() 2016-12-13 08:26:08 +01:00
Maxime Steinhausser
b6831d2ab2 [Form] DateIntervalType: Do not try to translate choices 2016-12-12 23:36:40 +01:00
Maxime Steinhausser
1b600b0c94 [Finder] Deprecate ExceptionInterface 2016-12-12 21:19:41 +01:00
Rob Frawley 2nd
12de2aeb33
memcached cache pool adapter 2016-12-12 13:09:49 -05:00
Jordi Boggiano
aae5fb15ec Improve UX on not found namespace/command 2016-12-12 14:58:39 +01:00
Nicolas Grekas
d93024b6a5 minor #20870 Minor fixes for 3.2 (ogizanagi)
This PR was merged into the 3.2 branch.

Discussion
----------

Minor fixes for 3.2

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

This only fix minor issues in the codebase introduced in 3.2.

Refs:

- YamlEncoder 9366a7dc77

- File helper: d9a84990cf

- VarDumper ClassStub: 788f7e84b0

- Cache tag based invalidation 19764af74f

- CacheWarmer for Serializer: 810f4694af

- SymfonyStyle simplified test: 85e5060fa1

- Workflow Definition builder: ffaeba39fc

---

There are other issues in older branches, but I guess it's not worth it for them, as it'll only add more conflicts. But for 3.2, it should be feasible.

Commits
-------

7bdfc84 Minor fixes for 3.2
2016-12-12 12:53:05 +01:00
Maxime Steinhausser
7bdfc84ef8 Minor fixes for 3.2 2016-12-11 15:34:22 +01:00
Denis Brumann
660d79a186
Deprecates ClassCache-cache warmer. 2016-12-11 13:00:40 +01:00
Roland Franssen
302a19d779 [Console] Improve markdown format 2016-12-11 11:55:57 +00:00
Roland Franssen
a43e04053c [Console] Include application name/version in JSON descriptions 2016-12-11 11:54:02 +00:00
WouterJ
94253e8a23 Only count on arrays or countables to avoid warnings in PHP 7.2 2016-12-10 19:18:03 +01:00
Fabien Potencier
51bc35cc84 Merge branch '3.2'
* 3.2:
  [Routing] Mention minor BC break about UrlGenerator & query strings
  fixed composer.json
  fixed composer.json
  Skip test when iconv extension is missing
  Fix upgrade notes
  [Config] fix dev dependencies
  Fix bundle commands are not available via find()
2016-12-10 15:25:01 +01:00
Fabien Potencier
fef1546a7e Merge branch '3.1' into 3.2
* 3.1:
  Skip test when iconv extension is missing
  Fix bundle commands are not available via find()
2016-12-10 15:24:53 +01:00
Fabien Potencier
3ff118af87 Merge branch '2.8' into 3.1
* 2.8:
  Skip test when iconv extension is missing
  Fix bundle commands are not available via find()
2016-12-10 15:24:45 +01:00
Fabien Potencier
8f2ea7a5b0 Merge branch '2.7' into 2.8
* 2.7:
  Skip test when iconv extension is missing
  Fix bundle commands are not available via find()
2016-12-10 15:24:35 +01:00
Fabien Potencier
3113f3f93f minor #20852 Skip test when iconv extension is missing (julienfalque)
This PR was merged into the 2.7 branch.

Discussion
----------

Skip test when iconv extension is missing

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

Commits
-------

ae7377d Skip test when iconv extension is missing
2016-12-10 15:23:12 +01:00
Robin Chalas
b71df3f295
[FrameworkBundle] Allow clearing private cache pools 2016-12-10 11:52:34 +01:00
Christian Flothmann
1436349111 do not trigger deprecations for valid YAML 2016-12-10 11:07:06 +01:00
Fabien Potencier
99ebb8a8a3 fixed composer.json 2016-12-10 09:22:22 +01:00
Fabien Potencier
dca5c3ced1 Merge branch '2.8' into 3.1
* 2.8:
  fixed composer.json
  [Config] fix dev dependencies
2016-12-10 09:21:59 +01:00
Fabien Potencier
003e9b0fdf fixed composer.json 2016-12-10 09:21:45 +01:00
Fabien Potencier
13fa45d169 Merge branch '2.7' into 2.8
* 2.7:
  [Config] fix dev dependencies
2016-12-10 09:21:29 +01:00
Julien Falque
ae7377d128
Skip test when iconv extension is missing 2016-12-09 19:19:27 +01:00
Nicolas Grekas
713b0813bc [DI] Make ContainerBuilder::resolveEnvPlaceholders() able to inline the values of referenced env vars. 2016-12-09 11:57:39 +01:00
Christian Flothmann
292ae7c3eb [Config] fix dev dependencies 2016-12-09 09:40:53 +01:00
Fabien Potencier
045ca6aaee Merge branch '3.2'
* 3.2:
  add dependency on Twig
  [Config] Do not skip YamlReferenceDumperTest entirely
  [Config] Fix YamlReferenceDumper extra space
2016-12-09 08:45:54 +01:00
Fabien Potencier
c41904164c Merge branch '3.1' into 3.2
* 3.1:
  add dependency on Twig
  [Config] Do not skip YamlReferenceDumperTest entirely
  [Config] Fix YamlReferenceDumper extra space
2016-12-09 08:45:17 +01:00
Fabien Potencier
9369b4df83 Merge branch '2.8' into 3.1
* 2.8:
  add dependency on Twig
  [Config] Do not skip YamlReferenceDumperTest entirely
  [Config] Fix YamlReferenceDumper extra space
2016-12-09 08:41:06 +01:00
Fabien Potencier
04595dc707 Merge branch '2.7' into 2.8
* 2.7:
  add dependency on Twig
  [Config] Do not skip YamlReferenceDumperTest entirely
  [Config] Fix YamlReferenceDumper extra space
2016-12-09 08:40:14 +01:00
Fabien Potencier
be72520fc3 minor #20827 [Config] Do not skip YamlReferenceDumperTest entirely (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Config] Do not skip YamlReferenceDumperTest entirely

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

The test is now completed in 3.2, but for older branch, any changes in the `YamlReferenceDumper` is not tested on travis and requires to test it manually or comment the `markTestIncomplete` line.

`assertEquals` should still be used on 3.2.

Commits
-------

1ed9335 [Config] Do not skip YamlReferenceDumperTest entirely
2016-12-09 08:38:58 +01:00
Fabien Potencier
42929dde2b minor #20826 [Config] Fix YamlReferenceDumper extra space (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Config] Fix YamlReferenceDumper extra space

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes (minor rendering issue)
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | N/A
| License       | MIT
| Doc PR        | N/A

Simply fixes a minor rendering issue when using the `YamlReferenceDumper`.

<details>
<summary>For reference, see the difference with this fix on the framework configuration</summary>

```diff
diff --git a/framework_before.yml b/framework_after.yml
index f28ffd0..0486709 100644
--- a/framework1.txt
+++ b/framework2.txt
@@ -3,7 +3,7 @@ framework:
     secret:               ~

     # Set true to enable support for the '_method' request parameter to determine the intended HTTP method on POST requests. Note: When using the HttpCache, you need to call the method in your front controller instead
-    http_method_override:  true
+    http_method_override: true
     trusted_proxies:      []
     ide:                  null
     test:                 ~
@@ -37,7 +37,7 @@ framework:
         enabled:              false
         collect:              true
         only_exceptions:      false
-        only_master_requests:  false
+        only_master_requests: false
         dsn:                  'file:%kernel.cache_dir%/profiler'
         matcher:
             enabled:              false
@@ -97,7 +97,7 @@ framework:
         save_path:            '%kernel.cache_dir%/sessions'

         # seconds to wait between 2 session metadata updates, it will also prevent the session handler to write if the session has not changed
-        metadata_update_threshold:  '0'
+        metadata_update_threshold: '0'

     # request configuration
     request:
@@ -110,7 +110,7 @@ framework:
     # templating configuration
     templating:
         enabled:              false
-        hinclude_default_template:  null
+        hinclude_default_template: null
         cache:                ~
         form:
             resources:
@@ -180,7 +180,7 @@ framework:
     # Property access configuration
     property_access:
         magic_call:           false
-        throw_exception_on_invalid_index:  false
+        throw_exception_on_invalid_index: false

     # Property info configuration
     property_info:
@@ -198,9 +198,9 @@ framework:
         # System related cache pools configuration
         system:               cache.adapter.system
         directory:            '%kernel.cache_dir%/pools'
-        default_doctrine_provider:  ~
-        default_psr6_provider:  ~
-        default_redis_provider:  'redis://localhost'
+        default_doctrine_provider: ~
+        default_psr6_provider: ~
+        default_redis_provider: 'redis://localhost'
         pools:

             # Prototype
```
</details>

---

(tests failures are unrelated)

Commits
-------

685a9b9 [Config] Fix YamlReferenceDumper extra space
2016-12-09 08:35:05 +01:00
Nicolas Grekas
3165e134de Merge branch '3.2'
* 3.2:
  [WebProfilerBundle] Fix whitespace control in layout.html.twig
  [HttpKernel] Fix open_basedir compat in DataCollector
  [Validator] Fix init of YamlFileLoader::$classes for empty files
2016-12-08 17:03:21 +01:00
Nicolas Grekas
c90dcdd0b0 bug #20833 [HttpKernel] Fix open_basedir compat in DataCollector (nicolas-grekas)
This PR was merged into the 3.2 branch.

Discussion
----------

[HttpKernel] Fix open_basedir compat in DataCollector

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

Commits
-------

84ad8eb [HttpKernel] Fix open_basedir compat in DataCollector
2016-12-08 17:02:49 +01:00
Nicolas Grekas
205f2356fe Merge branch '3.1' into 3.2
* 3.1:
  [WebProfilerBundle] Fix whitespace control in layout.html.twig
  [Validator] Fix init of YamlFileLoader::$classes for empty files
2016-12-08 17:02:17 +01:00
Nicolas Grekas
904dcfc733 Merge branch '2.8' into 3.1
* 2.8:
  [WebProfilerBundle] Fix whitespace control in layout.html.twig
  [Validator] Fix init of YamlFileLoader::$classes for empty files
2016-12-08 16:59:55 +01:00
Nicolas Grekas
aa7d6a28a4 Merge branch '2.7' into 2.8
* 2.7:
  [WebProfilerBundle] Fix whitespace control in layout.html.twig
  [Validator] Fix init of YamlFileLoader::$classes for empty files
2016-12-08 16:59:39 +01:00
Nicolas Grekas
0aa80f25d7 bug #20828 [Validator] Fix init of YamlFileLoader::$classes for empty files (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] Fix init of YamlFileLoader::$classes for empty files

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

Commits
-------

073a1da [Validator] Fix init of YamlFileLoader::$classes for empty files
2016-12-08 16:57:04 +01:00
Nicolas Grekas
84ad8ebe38 [HttpKernel] Fix open_basedir compat in DataCollector 2016-12-08 16:46:00 +01:00
Nicolas Grekas
726ad262ef Merge branch '3.2'
* 3.2: (51 commits)
  [FrameworkBundle] [Workflow] Fix service marking store configuration
  Fix merge
  [Validator] add class name to the cache key
  [Serializer] Remove AbstractObjectNormalizer::isAttributeToNormalize
  Throw less misleading exception when property access not found
  [Twig] Fix deprecations with Twig 1.29
  [FrameworkBundle] Fix validation cache warmer with failing or missing classes
  Fixed typo
  [FrameworkBundle] Removed the kernel.debug parameter from the cache pool namespace seed
  Fix email address
  fix the docblock in regard to the role argument
  [Bridge\Twig] Trigger deprecation when using FormExtension::$renderer
  Don't use the "app" global variable in the profiler
  [VarDumper] fix tests when xdebug is enabled
  Fix merge
  FIXED NON EXISTING TYPE DECLARATION
  [Form] Add failing test for data collector bug
  [Cache] Fix dumping SplDoublyLinkedList iter mode
  [Form] Fix FormDataCollector
  Ignore missing 'debug.file_link_formatter' service in Debug and Twig bundles
  ...
2016-12-08 16:31:48 +01:00
Nicolas Grekas
8e6023b882 bug #20688 [FrameworkBundle] Resolve env params in debug:config command (nicolas-grekas)
This PR was merged into the 3.2 branch.

Discussion
----------

[FrameworkBundle] Resolve env params in debug:config command

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

Displays e.g. `url: '%env(DATABASE_URL)%'`
instead of `url: env_DATABASE_URL_b188317b1d181eca5f0be35aefdae9c4`
when doing `bin/console debug:config doctrine`

Commits
-------

695d100 [FrameworkBundle] Resolve env params in debug:config command
2016-12-08 16:27:33 +01:00
Nicolas Grekas
a7b5080806 bug #20725 [HttpKernel] Fix annotation cache warmer with failing or missing classes (nicolas-grekas)
This PR was merged into the 3.2 branch.

Discussion
----------

[HttpKernel] Fix annotation cache warmer with failing or missing classes

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

Commits
-------

dcf9fbb [HttpKernel] Fix annotation cache warmer with failing or missing classes
2016-12-08 16:22:53 +01:00
Nicolas Grekas
a28c522790 Merge branch '3.1' into 3.2
* 3.1: (28 commits)
  Fix merge
  [Validator] add class name to the cache key
  [Serializer] Remove AbstractObjectNormalizer::isAttributeToNormalize
  Throw less misleading exception when property access not found
  [Twig] Fix deprecations with Twig 1.29
  Fixed typo
  [FrameworkBundle] Removed the kernel.debug parameter from the cache pool namespace seed
  Fix email address
  fix the docblock in regard to the role argument
  Don't use the "app" global variable in the profiler
  [VarDumper] fix tests when xdebug is enabled
  Fix merge
  FIXED NON EXISTING TYPE DECLARATION
  [Cache] Fix dumping SplDoublyLinkedList iter mode
  [Console] fixed PHP7 Errors when not using Dispatcher
  Regression test for missing controller arguments (3.1)
  Regression test for missing controller arguments
  fix a test checking for a value
  [Form][DX] FileType "multiple" fixes
  fixed CS
  ...
2016-12-08 16:18:22 +01:00
Nicolas Grekas
59d04447b8 Fix merge 2016-12-08 16:16:50 +01:00
Nicolas Grekas
bf9f5f0a25 bug #20745 [Validator] add class name to the cache key (Simperfit)
This PR was squashed before being merged into the 3.1 branch (closes #20745).

Discussion
----------

[Validator] add class name to the cache key

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

Adding the class name to the cache key to avoid collision

Commits
-------

1681fc9 [Validator] add class name to the cache key
2016-12-08 16:05:14 +01:00
Amrouche Hamza
1681fc9c58 [Validator] add class name to the cache key 2016-12-08 16:05:12 +01:00
Nicolas Grekas
971e6e30b4 bug #20530 [Serializer] Remove AbstractObjectNormalizer::isAttributeToNormalize (dunglas)
This PR was squashed before being merged into the 3.1 branch (closes #20530).

Discussion
----------

[Serializer] Remove AbstractObjectNormalizer::isAttributeToNormalize

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

I've introduced this method by error in #17113. It has been forgotten during a refactoring. It has always been unused, is not covered by our test suite and has never been documented.

Technically it's a BC break (because this is a protected method), but I think that it's better to remove it has it has never be intended to be used, it's just a miss. An alternative is to deprecate it and remove it in v4.

Commits
-------

fea18aa [Serializer] Remove AbstractObjectNormalizer::isAttributeToNormalize
2016-12-08 16:02:43 +01:00
Kévin Dunglas
fea18aae41 [Serializer] Remove AbstractObjectNormalizer::isAttributeToNormalize 2016-12-08 16:02:32 +01:00
Nicolas Grekas
1cd63e779d bug #19141 Throw less misleading exception when property access not found (bramtweedegolf)
This PR was submitted for the master branch but it was merged into the 3.1 branch instead (closes #19141).

Discussion
----------

Throw less misleading exception when property access not found

Prevent throwing a NoSuchPropertyException with a somewhat misleading message "Neither the property "X" nor one of the methods "addX()"/"removeX()", "setX()", "x()", "__set()" or "__call()" exist and have public access in class when the access cannot be determined, for instance if the doctrine schema is not up to date.

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

Commits
-------

ec28da4 Throw less misleading exception when property access not found
2016-12-08 16:01:35 +01:00
Bram Tweedegolf
ec28da42ae Throw less misleading exception when property access not found 2016-12-08 16:00:09 +01:00
Nicolas Grekas
73099f3555 Merge branch '2.8' into 3.1
* 2.8:
  [Twig] Fix deprecations with Twig 1.29
  Fixed typo
  Fix email address
  fix the docblock in regard to the role argument
  [VarDumper] fix tests when xdebug is enabled
  Fix merge
  [Cache] Fix dumping SplDoublyLinkedList iter mode
  [Console] fixed PHP7 Errors when not using Dispatcher
  Regression test for missing controller arguments
  fix a test checking for a value
  [Form][DX] FileType "multiple" fixes
  fixed CS
  [TwigBundle] Fix twig loader registered twice
  [WebProfilerBundle] Fix dump block is unfairly restrained
  [Console] Fix wrong handling of multiline arg/opt descriptions
  [DependencyInjection] PhpDumper.php: hasReference() should not search references in lazy service arguments.
  [Form] fixed "empty_value" option deprecation
  Cast result to int before adding to it
2016-12-08 15:58:14 +01:00
Nicolas Grekas
7f633d143c Merge branch '2.7' into 2.8
* 2.7:
  [Twig] Fix deprecations with Twig 1.29
  fix the docblock in regard to the role argument
  Cast result to int before adding to it
2016-12-08 15:41:31 +01:00
Nicolas Grekas
28a0be8a4f bug #20539 Cast result to int before adding to it (alcaeus)
This PR was merged into the 2.7 branch.

Discussion
----------

Cast result to int before adding to it

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

This fixes the occasional warning about non-numeric values when using PHP 7.1.

Commits
-------

70c42f2 Cast result to int before adding to it
2016-12-08 15:35:57 +01:00
Nicolas Grekas
073a1dae13 [Validator] Fix init of YamlFileLoader::$classes for empty files 2016-12-08 13:07:24 +01:00
Maxime STEINHAUSSER
1ed9335e88 [Config] Do not skip YamlReferenceDumperTest entirely 2016-12-08 11:59:24 +01:00
Maxime STEINHAUSSER
685a9b9d9a [Config] Fix YamlReferenceDumper extra space 2016-12-08 11:42:33 +01:00
Fabien Potencier
9091a82b66 feature #20801 [Security] deprecate the RoleInterface (xabbuh)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Security] deprecate the RoleInterface

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

Commits
-------

0393724 [Security] deprecate the RoleInterface
2016-12-08 08:44:08 +01:00
Fabien Potencier
3188b0e49c minor #20818 [Yaml] Small optimization of the parser (GuilhemN)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Yaml] Small optimization of the parser

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

Very small optimization in the Yaml parser but as it is executed often, there are performance gains (I used [this benchmark](https://gist.github.com/GuilhemN/364c4ddcc8349eaa080054d5f8ef8685); you can see the [comparison master / this PR](https://blackfire.io/profiles/compare/0f4e5497-d410-4c76-83e9-d8fa8e46ce18/graph)).

Commits
-------

5fc8e86 [Yaml] Small optimization of the parser
2016-12-08 08:40:02 +01:00
Guilhem N
5fc8e865ce
[Yaml] Small optimization of the parser 2016-12-07 17:45:19 +01:00
Victor Bocharsky
ad477e705e Fix email address 2016-12-07 13:56:23 +02:00
Christian Flothmann
0393724fd0 [Security] deprecate the RoleInterface 2016-12-07 09:55:32 +01:00
Fabien Potencier
7a07c1b464 minor #20800 [Security] fix the docblock in regard to the role argument (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] fix the docblock in regard to the role argument

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

Makes the docblocks consistent with the `UserInterface` since #17525.

Commits
-------

4e563ae fix the docblock in regard to the role argument
2016-12-07 09:06:36 +01:00
Christian Flothmann
4e563aee02 fix the docblock in regard to the role argument 2016-12-06 21:51:50 +01:00
Adam Prager
8fe144e86a [Workflow] Added missing docblock 2016-12-06 21:30:46 +01:00
Nicolas Grekas
fb4a583bc8 Merge branch '2.7' into 2.8
* 2.7:
  [VarDumper] fix tests when xdebug is enabled
2016-12-06 17:05:07 +01:00
ShinDarth
488ebbfe5d [VarDumper] fix tests when xdebug is enabled 2016-12-06 17:03:37 +01:00
Nicolas Grekas
182f90638d Fix merge 2016-12-06 15:06:08 +01:00
Fabien Potencier
9f475f8fed feature #20777 [ClassLoader] Deprecate Apc/WinCache/Xcache class loaders (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[ClassLoader] Deprecate Apc/WinCache/Xcache class loaders

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

See https://github.com/composer/composer/pull/5559

Commits
-------

fa36e1d [ClassLoader] Deprecate Apc/WinCache/Xcache class loaders
2016-12-06 14:31:11 +01:00
Kévin Dunglas
4644ee91e8
feature #20524 [Serializer][XmlEncoder] Allow removing empty tags in generated XML (amoiraud)
This PR was squashed before being merged into the 3.3-dev branch (closes #20524).

Discussion
----------

[Serializer][XmlEncoder] Allow removing empty tags in generated XML

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

Allow a new option in $context of XmlEncoder.php to remove empty tags if $context['remove_empty_tags'] setted to true, changing this :

```xml
    <node>
         <subnode>Value</subnode>
         <emptysubnode/>
    </node>
```

To this :

```xml
    <node>
         <subnode>Value</subnode>
    </node>
```

Commits
-------

0cb4d8e [Serializer][XmlEncoder] Allow removing empty tags in generated XML
2016-12-06 13:59:23 +01:00
Adrien Moiruad
0cb4d8e681
[Serializer][XmlEncoder] Allow removing empty tags in generated XML 2016-12-06 13:58:29 +01:00
Nicolas Grekas
cffa826146 Merge branch '2.7' into 2.8
* 2.7:
  [Cache] Fix dumping SplDoublyLinkedList iter mode
  [Console] fixed PHP7 Errors when not using Dispatcher
2016-12-06 12:59:35 +01:00
Kévin Dunglas
16cea37359
bug #20690 [Serializer] Fix argument object denormalization (ogizanagi)
This PR was merged into the 3.2 branch.

Discussion
----------

[Serializer] Fix argument object denormalization

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

Fixes #20670. I've seen https://github.com/symfony/symfony/pull/19277#discussion-diff-69389638 so I think it's the right thing to do, but I didn't follow the thread at the time, so I may have missed something.

Ping @theofidry, @dunglas.

Commits
-------

27de65a [Serializer] Fix argument object denormalization
2016-12-06 12:12:10 +01:00
Nicolas Grekas
fa36e1d377 [ClassLoader] Deprecate Apc/WinCache/Xcache class loaders 2016-12-06 11:57:32 +01:00
Fabien Potencier
63087e515e bug #20762 [Form] Fix FormDataCollector (nicolas-grekas, Padam87)
This PR was merged into the 3.2 branch.

Discussion
----------

[Form] Fix FormDataCollector

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

Alternative to #20707

Commits
-------

50400c4 [Form] Add failing test for data collector bug
164a20c [Form] Fix FormDataCollector
2016-12-06 11:23:23 +01:00
Edwin Hageman
d99234a930 FIXED NON EXISTING TYPE DECLARATION 2016-12-05 19:31:46 +01:00
Adam Prager
50400c45ee [Form] Add failing test for data collector bug 2016-12-05 18:46:26 +01:00
Nicolas Grekas
bfe149fdc6 [Cache] Fix dumping SplDoublyLinkedList iter mode 2016-12-05 18:21:04 +01:00
Nicolas Grekas
164a20c852 [Form] Fix FormDataCollector 2016-12-05 16:02:54 +01:00
Gabriel Moreira
adc4a26971 [HttpKernel] Fixed RequestDataCollector handling of null header values. 2016-12-05 14:20:31 +01:00
Fabien Potencier
f9bceb832f bug #20736 [Console] fixed PHP7 Errors when not using Dispatcher (keradus)
This PR was squashed before being merged into the 2.7 branch (closes #20736).

Discussion
----------

[Console] fixed PHP7 Errors when not using Dispatcher

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #17257, #20110, #20111
| License       | MIT
| Doc PR        | n/a

Original fix, #19813, works only when there is event dispatcher available.
This PR fix the issue also for scenario without event dispatcher.

Closes #20110 issue and #20111 PR connected to it.
Closing #17257 , as everywhere the error is converted to exception and it should be handled

Commits
-------

899fa79 [Console] fixed PHP7 Errors when not using Dispatcher
2016-12-05 14:00:59 +01:00
Dariusz Ruminski
899fa7936b [Console] fixed PHP7 Errors when not using Dispatcher 2016-12-05 14:00:57 +01:00
Kévin Dunglas
24d8135f17
feature #19958 [Serializer] Throw exception when extra attributes are used during an object denor… (juliendidier)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Serializer] Throw exception when extra attributes are used during an object denor…

| Q | A |
| --- | --- |
| Branch? | "master" |
| Bug fix? | no |
| New feature? | yes |
| BC breaks? | no |
| Deprecations? | no |
| Tests pass? | yes |
| Fixed tickets | #19948 |
| License | MIT |
| Doc PR | [#6975](https://github.com/symfony/symfony-docs/pull/6975) |

I will update the doc if you're ok with this PR.

Commits
-------

565a984 throw exception when extra attributes are used during an object denormalization
2016-12-05 13:56:10 +01:00
Fabien Potencier
1188b4d6f4 Merge branch '2.7' into 2.8
* 2.7:
  Regression test for missing controller arguments
  fix a test checking for a value
  [Form][DX] FileType "multiple" fixes
  fixed CS
  [TwigBundle] Fix twig loader registered twice
  [Console] Fix wrong handling of multiline arg/opt descriptions
  [DependencyInjection] PhpDumper.php: hasReference() should not search references in lazy service arguments.
  [Form] fixed "empty_value" option deprecation
2016-12-05 09:41:28 +01:00
Iltar van der Berg
9e588b8d96 Regression test for missing controller arguments (3.1) 2016-12-05 09:10:32 +01:00
Iltar van der Berg
d1a7164626 Regression test for missing controller arguments 2016-12-05 08:37:23 +01:00
Fabien Potencier
60b4dd0514 feature #20310 [Ldap] Allow search scoping (xunto)
This PR was squashed before being merged into the 3.3-dev branch (closes #20310).

Discussion
----------

[Ldap] Allow search scoping

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

Quite trivial, PR adds "scope" attribute to the query options. For example:

```php
    public function ldapAction()
    {
        $ldap = $this->get("app.ldap");
        $dn = $this->getParameter("dn");

        $results = $ldap->query($dn, "(objectClass=*)", [
            "scope" => Query::SCOPE_ONELEVEL
        ])->execute();

        foreach ($results as $entry) {
            var_dump($entry->getDn()); echo "<br/>";
        }

        return new Response("");
    }
```

SCOPE_BASE: http://php.net/manual/ru/function.ldap-read.php
SCOPE_ONELEVEL: http://php.net/manual/ru/function.ldap-list.php
SCOPE_SUBTREE: http://php.net/manual/ru/function.ldap-search.php

Commits
-------

83c7915 [Ldap] Allow search scoping
2016-12-04 14:44:28 +01:00
orlovv
83c79156a5 [Ldap] Allow search scoping 2016-12-04 14:44:26 +01:00
Martynas Narbutas
8306530e60 [Security] AbstractVoter method supportsAttribute gives false positive if attribute is zero (0) 2016-12-03 15:43:25 +01:00
Christian Flothmann
aea0478451 fix a test checking for a value 2016-12-03 14:58:39 +01:00
Fabien Potencier
7ef0951daf bug #20418 [Form][DX] FileType "multiple" fixes (yceruto)
This PR was squashed before being merged into the 2.7 branch (closes #20418).

Discussion
----------

[Form][DX] FileType "multiple" fixes

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

# (1st) Derive "data_class" option from passed "multiple" option

Information
-------------

Following this tutorial ["How to Upload Files"][1] but storing many `brochures` instead of one, i.e.:

```php
// src/AppBundle/Entity/Product.php

class Product
{
    /**
     * @var string[]
     *
     * @ORM\Column(type="array")
     */
    private $brochures;

    //...
}
```

```php
//src/AppBundle/Form/ProductType.php

$builder->add('brochures', FileType::class, array(
    'label' => 'Brochures (PDF files)',
    'multiple' => true,
));
```

The Problem
--------------

I found a pain point here when the form is loaded again after save some brochures (Exception):

> The form's view data is expected to be an instance of class Symfony\Component\HttpFoundation\File\File, but is a(n) array. You can avoid this error by setting the "data_class" option to null or by adding a view transformer that transforms a(n) array to an instance of Symfony\Component\HttpFoundation\File\File.

The message is very clear, but counter-intuitive in this case, because the form field (`FileType`) was configured with `multiple = true`, so IMHO it shouldn't expect a `File` instance but an array of them at all events.

The PR's effect
---------------

**Before:**

```php
$form = $this->createFormBuilder($product)
    ->add('brochures', FileType::class, [
        'multiple' => true,
	'data_class' => null, // <---- mandatory
    ])
    ->getForm();
```

**After:**

```php
$form = $this->createFormBuilder($product)
    ->add('brochures', FileType::class, [
        'multiple' => true,
    ])
    ->getForm();
```

# (2nd) Return empty `array()` at submit no file

Information
-------------

Based on the same information before, but adding some constraints:

```php
// src/AppBundle/Entity/Product.php

use Symfony\Component\Validator\Constraints as Assert;

class Product
{
    /**
     * @var string[]
     *
     * @ORM\Column(type="array")
     *
     * @Assert\Count(min="1") // or @Assert\NotBlank()
     * @Assert\All({
     *     @Assert\File(mimeTypes = {"application/pdf", "application/x-pdf"})
     * })
     *
     */
    private $brochures;
}
```

This should require at least one file to be stored.

The Problem
--------------

But, when no file is uploaded at submit the form, it's valid completely. The submitted data for this field was `array(null)` so the constraints pass without any problem:

* `@Assert\Count(min="1")` pass! because contains at least one element (No matter what)
* `@Assert\NotBlank()` it could pass! because no `false` and no `empty()`
* `@Assert\File()` pass! because the element is `null`

Apart from that really we expecting an empty array instead.

The PR's effect
----------------

**Before:**

```php
// src/AppBundle/Entity/Product.php

use Symfony\Component\Validator\Constraints as Assert;

class Product
{
    /**
     * @var string[]
     *
     * @ORM\Column(type="array")
     *
     * @Assert\All({
     *     @Assert\NotBlank,
     *     @Assert\File(mimeTypes = {"application/pdf", "application/x-pdf"})
     * })
     *
     */
    private $brochures;
}
```

**After:**

```php
// src/AppBundle/Entity/Product.php

use Symfony\Component\Validator\Constraints as Assert;

class Product
{
    /**
     * @var string[]
     *
     * @ORM\Column(type="array")
     *
     * @Assert\Count(min="1") // or @Assert\NotBlank
     * @Assert\All({
     *     @Assert\File(mimeTypes = {"application/pdf", "application/x-pdf"})
     * })
     *
     */
    private $brochures;
}
```

  [1]: http://symfony.com/doc/current/controller/upload_file.html

Commits
-------

36b7ba6 [Form][DX] FileType "multiple" fixes
2016-12-03 12:33:29 +01:00
Yonel Ceruto
36b7ba64f4 [Form][DX] FileType "multiple" fixes 2016-12-03 12:33:12 +01:00
Fabien Potencier
d6e8937e69 feature #18952 [Security] Add a JSON authentication listener (dunglas)
This PR was squashed before being merged into the 3.3-dev branch (closes #18952).

Discussion
----------

[Security] Add a JSON authentication listener

| 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 | symfony/symfony-docs#7081 |

Add a new authentication listener allowing to login by sending a JSON document like:

 `{"_username": "dunglas", "_password": "foo"}`.

It is similar to the traditional form login (but take a JSON document as entry) and is convenient for APIs, especially used in combination with JWT.

See https://github.com/api-platform/core/issues/563 and https://github.com/lexik/LexikJWTAuthenticationBundle/issues/123#issuecomment-173860682 for previous discussions.
- [x] Add functional tests in security bundle

Commits
-------

02178bc [Security] Add a JSON authentication listener
2016-12-03 12:13:37 +01:00
Kévin Dunglas
02178bc12f [Security] Add a JSON authentication listener 2016-12-03 12:13:36 +01:00
Fabien Potencier
fe15381a45 minor #20425 [Form] fixed "empty_value" option deprecation (HeahDude)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] fixed "empty_value" option deprecation

| Q             | A
| ------------- | ---
| Branch?       | 2.x only
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/15945#r86547326
| License       | MIT
| Doc PR        | ~

I didn't make any profiling but a resolver instance is passed to `configureOptions()` creating locale variables including those exceptions for each field using one of the patched form types, so I guess the memory usage can grow really fast.

Commits
-------

7e84907 [Form] fixed "empty_value" option deprecation
2016-12-03 11:52:40 +01:00
Fabien Potencier
5f62f01943 fixed CS 2016-12-03 11:50:08 +01:00
Fabien Potencier
4a7fbdde5a bug #19902 [DependencyInjection] PhpDumper.php: hasReference() shouldn't search references in lazy service. (antanas-arvasevicius)
This PR was merged into the 2.7 branch.

Discussion
----------

[DependencyInjection] PhpDumper.php: hasReference() shouldn't search references in lazy service.

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

more info:
https://github.com/symfony/symfony/issues/19901

Commits
-------

595a978 [DependencyInjection] PhpDumper.php: hasReference() should not search references in lazy service arguments.
2016-12-03 11:48:01 +01:00
Christian Flothmann
5269796448 fix the inline level for dumped multi-line strings 2016-12-03 11:04:08 +01:00
vlakoff
9b9d33959c [Finder] Refine phpdoc about argument for NumberComparator 2016-12-03 06:31:03 +01:00
Nicolas Grekas
dcf9fbb18c [HttpKernel] Fix annotation cache warmer with failing or missing classes 2016-12-02 15:52:29 +01:00
Fabien Potencier
122fae8757 feature #20467 [DomCrawler] Add support for formaction and formmethod attributes (stof)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DomCrawler] Add support for formaction and formmethod attributes

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

This adds supports for the ``formaction`` and ``formmethod`` of submit elements, which override the values defined on the ``<form>`` element.
This works only when you call ``$crawler->form()`` on a Crawler containing a button, not when it contains the ``<form>`` itself of course (as the button override is applied only when using this button to submit, not when using another way).

Other button-level overrides are not implemented:
- ``formtarget`` is useless as we don't implement ``target`` either (the Crawler does not deal with frame-based pages anyway)
- ``formnovalidate`` is ignored, as we don't automatically disable the form validation on ``novalidate`` either, but we require an explicit disabling instead (this might be subject to a separate PR though, as it could make sense)
- ``formenctype`` is ignored as we also ignore ``enctype`` (we always submit file fields, even when missing the proper enctype)

Commits
-------

717cf8a [DomCrawler] Add support for formaction and formmethod attributes
2016-12-02 13:07:28 +01:00
Fabien Potencier
fe454e42e1 feature #20509 [Serializer] Allow to specify a single value in @Groups (dunglas)
This PR was squashed before being merged into the 3.3-dev branch (closes #20509).

Discussion
----------

[Serializer] Allow to specify a single value in @Groups

| 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/pull/19374#issuecomment-256688002
| License       | MIT
| Doc PR        | todo

Tiny DX improvement:

Before:

```php
use Symfony\Component\Serializer\Annotation\Groups;

class Product
{
    /**
     * @Groups({"admins"})
     */
    public $itemsSold;
}
```

Now allowed:

```php
use Symfony\Component\Serializer\Annotation\Groups;

class Product
{
    /**
     * @Groups("admins")
     */
    public $itemsSold;
}
```

Commits
-------

926aa48 [Serializer] Allow to specify a single value in @Groups
2016-12-02 12:58:15 +01:00
Kévin Dunglas
926aa480b2 [Serializer] Allow to specify a single value in @Groups 2016-12-02 12:58:14 +01:00
Maxime Steinhausser
27de65aa14 [Serializer] Fix argument object denormalization 2016-12-02 12:48:35 +01:00
Fabien Potencier
f8b2a18451 bug #20700 [WebProfilerBundle][Translator] Fix TranslationDataCollector should use cloneVar (ogizanagi)
This PR was merged into the 3.2 branch.

Discussion
----------

[WebProfilerBundle][Translator] Fix TranslationDataCollector should use cloneVar

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

Was missed in #19614 ?

### Before

![capture d ecran 2016-11-30 a 15 45 33](https://cloud.githubusercontent.com/assets/2211145/20756865/9a416934-b714-11e6-9cb5-890a6222b6fa.png)

### After

![capture d ecran 2016-11-30 a 15 43 58](https://cloud.githubusercontent.com/assets/2211145/20756877/9efaccae-b714-11e6-9523-b3f8f2e4bd8c.png)

Commits
-------

07cdfd5 [WebProfiler][Translator] Fix TranslationDataCollector should use cloneVar
2016-12-02 12:45:34 +01:00
Javier Eguiluz
0e454f3021 Updated the "Symfony Config" panel in the profiler 2016-12-02 12:40:47 +01:00
Maxime Steinhausser
070800359e [Form] Remove unused var cloner property 2016-12-02 09:52:50 +01:00
Kévin Dunglas
6dd53c7209
[DependencyInjection] Introduce method injection for autowiring 2016-12-02 09:49:57 +01:00
Maxime Steinhausser
18fc6b54da [Console] Fix wrong handling of multiline arg/opt descriptions 2016-11-30 19:39:48 +01:00
Nicolas Grekas
695d10071b [FrameworkBundle] Resolve env params in debug:config command 2016-11-30 16:21:24 +01:00
Maxime STEINHAUSSER
07cdfd533d [WebProfiler][Translator] Fix TranslationDataCollector should use cloneVar 2016-11-30 15:40:17 +01:00
Fabien Potencier
b5520e92c9 bumped Symfony version to 3.2.1 2016-11-30 10:16:00 +01:00
Fabien Potencier
df8b30b813 updated VERSION for 3.2.0 2016-11-30 09:46:02 +01:00
Nicolas Grekas
e765849215 Merge branch '3.2'
* 3.2:
  Switch to NoRFCWarningsValidation
2016-11-29 14:39:51 +01:00
Nicolas Grekas
0e12427838 bug #20607 [Validator] Bring egulias/email-validator ~2.0 to parity with ~1.2 (Lctrs)
This PR was merged into the 3.2 branch.

Discussion
----------

[Validator] Bring egulias/email-validator ~2.0 to parity with ~1.2

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

When using egulias/email-validator ~1.2, we make a strict check of the email, which means that emails with RFC warnings will fail validation.
Currently with egulias/email-validator ~2.0, emails with warnings are considerate valids.

This pull request make EmailValidator with egulias/email-validator ~2.0 behave as with egulias/email-validator ~1.2.

Commits
-------

01b2f66 Switch to NoRFCWarningsValidation
2016-11-29 14:39:34 +01:00
Nicolas Grekas
2cdc6d2a07 Merge branch '3.2'
* 3.2:
  [Config] ConfigCache::isFresh() should return false on __PHP_Incomplete_Class
  [VarDumper] Use default color for ellipsed namespaces/paths
  mark alias as private during creation
  [Serializer] Remove unused GetSetMethodNormalizer::denormalize
2016-11-29 12:12:53 +01:00
Nicolas Grekas
bd5af67f08 Merge branch '3.1' into 3.2
* 3.1:
  [Config] ConfigCache::isFresh() should return false on __PHP_Incomplete_Class
  mark alias as private during creation
  [Serializer] Remove unused GetSetMethodNormalizer::denormalize
2016-11-29 12:12:32 +01:00
Nicolas Grekas
b9ed4bfacc Merge branch '2.8' into 3.1
* 2.8:
  [Config] ConfigCache::isFresh() should return false on __PHP_Incomplete_Class
2016-11-29 12:09:13 +01:00
Nicolas Grekas
25fa4a0ddf Merge branch '2.7' into 2.8
* 2.7:
  [Config] ConfigCache::isFresh() should return false on __PHP_Incomplete_Class
2016-11-29 12:08:50 +01:00
Nicolas Grekas
c360a222ef bug #20671 [Config] ConfigCache::isFresh() should return false when unserialize() fails (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Config] ConfigCache::isFresh() should return false when unserialize() fails

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

Removes some `Warning: Class __PHP_Incomplete_Class has no unserializer` failures when clearing the cache.

Commits
-------

609245e [Config] ConfigCache::isFresh() should return false on __PHP_Incomplete_Class
2016-11-29 11:51:46 +01:00
Nicolas Grekas
609245e953 [Config] ConfigCache::isFresh() should return false on __PHP_Incomplete_Class 2016-11-29 11:39:48 +01:00
Nicolas Grekas
726c781b11 bug #20679 [VarDumper] Use default color for ellipsed namespaces/paths (nicolas-grekas)
This PR was merged into the 3.2 branch.

Discussion
----------

[VarDumper] Use default color for ellipsed namespaces/paths

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

Eases readability by helping the eye to focus more quickly on the class name and less on its namespace.
And let' disable ellipses on the profiler panels, fixing #20669 meanwhile.

![capture du 2016-11-29 11-00-00](https://cloud.githubusercontent.com/assets/243674/20705475/5d512c9a-b623-11e6-881d-04ae58453824.png)

Commits
-------

ebc23cf [VarDumper] Use default color for ellipsed namespaces/paths
2016-11-29 11:33:09 +01:00
Nicolas Grekas
ebc23cf222 [VarDumper] Use default color for ellipsed namespaces/paths 2016-11-29 11:23:40 +01:00
Fabien Potencier
8835522120 Merge branch '3.2'
* 3.2:
  [ClassLoader] Use only forward slashes in generated class map
  [VarDumper][HttpKernel] Enhance perf of ExceptionCaster & DataCollector
  ensure the proper context for nested validations
  bug #20653 [WebProfilerBundle] Profiler includes ghost panels
  Fixed getRouteParams() when no parameters are available
  bumped Symfony version to 3.2.0
  updated VERSION for 3.2.0-RC2
  updated CHANGELOG for 3.2.0-RC2
2016-11-29 09:26:23 +01:00
Fabien Potencier
d5624a61c3 Merge branch '2.8' into 3.2
* 2.8:
  [ClassLoader] Use only forward slashes in generated class map
  ensure the proper context for nested validations
  bug #20653 [WebProfilerBundle] Profiler includes ghost panels
2016-11-29 09:26:13 +01:00
Fabien Potencier
27e2b9d957 Merge branch '2.8' into 3.1
* 2.8:
  [ClassLoader] Use only forward slashes in generated class map
  ensure the proper context for nested validations
  bug #20653 [WebProfilerBundle] Profiler includes ghost panels
2016-11-29 09:26:03 +01:00
Fabien Potencier
d3014e4695 Merge branch '2.7' into 2.8
* 2.7:
  [ClassLoader] Use only forward slashes in generated class map
  ensure the proper context for nested validations
  bug #20653 [WebProfilerBundle] Profiler includes ghost panels
2016-11-29 09:25:54 +01:00
Nicolas Grekas
6d1f1b5d4a [ClassLoader] Use only forward slashes in generated class map 2016-11-29 09:16:08 +01:00
Fabien Potencier
ec937cbcd9 bug #20664 [Validator] ensure the proper context for nested validations (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] ensure the proper context for nested validations

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

Commits
-------

56c8ff8 ensure the proper context for nested validations
2016-11-29 09:13:44 +01:00
Fabien Potencier
64593496ed minor #20623 [Serializer] Remove unused GetSetMethodNormalizer::denormalize (dunglas)
This PR was merged into the 3.1 branch.

Discussion
----------

[Serializer] Remove unused GetSetMethodNormalizer::denormalize

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

Commits
-------

0896b02 [Serializer] Remove unused GetSetMethodNormalizer::denormalize
2016-11-29 09:09:40 +01:00
Nicolas Grekas
be2b7df5c5 [VarDumper][HttpKernel] Enhance perf of ExceptionCaster & DataCollector 2016-11-28 21:08:24 +01:00
Antanas Arvasevicius
595a9781e2 [DependencyInjection] PhpDumper.php: hasReference() should not search references in lazy service arguments. 2016-11-28 16:07:09 +02:00
Christian Flothmann
56c8ff8b21 ensure the proper context for nested validations 2016-11-28 10:01:58 +01:00
WouterJ
040da8116e Fixed getRouteParams() when no parameters are available 2016-11-27 12:45:23 +01:00
WouterJ
7fa8c8a704 Added Yaml syntax shortcut for name-only tags 2016-11-27 12:17:06 +01:00
Fabien Potencier
02dc4be9e4 bumped Symfony version to 3.2.0 2016-11-26 21:16:08 -08:00
Fabien Potencier
42d6eac045 updated VERSION for 3.2.0-RC2 2016-11-26 20:46:10 -08:00
Fabien Potencier
ea7e2452bd Merge branch '3.2'
* 3.2:
  Fix tests that do not trigger any depreciation
  [HttpFoundation] Fix test ensuring isMethodSafe() checks cacheable
  [Cache] Mark FilesystemAdapterTrait as internal
  [FrameworkBundle] Dont rely on any parent definition for "cache.annotations"
2016-11-26 20:22:04 -08:00
Fabien Potencier
a8c279d7a8 Merge branch '3.1' into 3.2
* 3.1:
  [HttpFoundation] Fix test ensuring isMethodSafe() checks cacheable
2016-11-26 20:21:38 -08:00
Fabien Potencier
401396ac12 Merge branch '2.8' into 3.1
* 2.8:
  [HttpFoundation] Fix test ensuring isMethodSafe() checks cacheable
2016-11-26 20:21:07 -08:00
Fabien Potencier
cae4755096 Merge branch '2.7' into 2.8
* 2.7:
  [HttpFoundation] Fix test ensuring isMethodSafe() checks cacheable
2016-11-26 20:20:28 -08:00
Wouter J
6ef4ce8329 Added a shortcut method for autowired definitions 2016-11-26 18:01:32 +01:00
Robin Chalas
2699009770
[HttpFoundation] Fix test ensuring isMethodSafe() checks cacheable 2016-11-25 23:28:18 +01:00
Nicolas Grekas
62a1958849 [Cache] Mark FilesystemAdapterTrait as internal 2016-11-25 21:20:19 +01:00
Jules Pietri
7e8490715c [Form] fixed "empty_value" option deprecation 2016-11-25 20:10:28 +01:00
Andreas Braun
70c42f2676
Cast result to int before adding to it
This fixes the occasional warning about non-numeric values when using PHP 7.1
2016-11-25 15:42:00 +01:00
Nicolas Grekas
13265aece3 Merge branch '3.2'
* 3.2:
  [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name
  [FrameworkBundle] Improve performance of ControllerNameParser
  Update documentation link to the component
  [HttpFoundation] Add links to RFC-7231
  [DI] Initialize properties before method calls
  [Bridge/Doctrine] Use cache.prefix.seed parameter for generating cache namespace
  Tag missing internals
  Add missing example for 'path' argument in debug:config
  [WebProfilerBundle] Dont use request attributes in RouterController
  Fix complete config tests
2016-11-25 13:33:00 +01:00
Nicolas Grekas
5461c1ed53 Merge branch '3.1' into 3.2
* 3.1:
  [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name
  [FrameworkBundle] Improve performance of ControllerNameParser
  Update documentation link to the component
  [HttpFoundation] Add links to RFC-7231
  [DI] Initialize properties before method calls
  Tag missing internals
  [WebProfilerBundle] Dont use request attributes in RouterController
  Fix complete config tests
2016-11-25 13:32:42 +01:00
Nicolas Grekas
966d45f889 Merge branch '2.8' into 3.1
* 2.8:
  [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name
  [FrameworkBundle] Improve performance of ControllerNameParser
  Update documentation link to the component
  [HttpFoundation] Add links to RFC-7231
  [DI] Initialize properties before method calls
  Tag missing internals
  [WebProfilerBundle] Dont use request attributes in RouterController
  Fix complete config tests
2016-11-25 13:27:14 +01:00
Nicolas Grekas
4d04c40ae3 Merge branch '2.7' into 2.8
* 2.7:
  [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name
  [FrameworkBundle] Improve performance of ControllerNameParser
  Update documentation link to the component
  [HttpFoundation] Add links to RFC-7231
  [DI] Initialize properties before method calls
  Tag missing internals
  [WebProfilerBundle] Dont use request attributes in RouterController
  Fix complete config tests
2016-11-25 13:26:42 +01:00
Nicolas Grekas
8c2a77bbca bug #20474 [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name (fancyweb)
This PR was squashed before being merged into the 2.7 branch (closes #20474).

Discussion
----------

[Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name

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

This is a follow up PR to https://github.com/symfony/symfony/pull/20327.

I also decided to improve the current `is_numeric()` check that is done by a truer one. The current limitation is that a PCRE subpattern name must not start with a digit which is different.

Commits
-------

73fbd08 [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name
2016-11-25 13:07:11 +01:00
Thomas Calvet
73fbd085f1 [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name 2016-11-25 13:06:46 +01:00
Alexandru Bucur
25a629419a Update documentation link to the component
Update documentation link to the component since it has standalone examples
2016-11-25 11:12:25 +01:00
Nicolas Grekas
bbddeec6d9 minor #20630 [HttpFoundation] Add links to RFC-7231 (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpFoundation] Add links to RFC-7231

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

ping @xabbuh

Commits
-------

c17a85b [HttpFoundation] Add links to RFC-7231
2016-11-25 11:09:18 +01:00
Nicolas Grekas
7b33c0906b minor #20626 Tag missing internals (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

Tag missing internals

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

Commits
-------

97e94b4 Tag missing internals
2016-11-25 11:02:25 +01:00
Nicolas Grekas
c17a85beff [HttpFoundation] Add links to RFC-7231 2016-11-25 10:58:59 +01:00
Nicolas Grekas
e62a390ff5 bug #20566 [DI] Initialize properties before method calls (ro0NL)
This PR was squashed before being merged into the 2.7 branch (closes #20566).

Discussion
----------

[DI] Initialize properties before method calls

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes-ish
| New feature?  | no
| BC breaks?    | not sure
| Deprecations? | no
| Tests pass?   | not yet (only dumps seem to fail)
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

Given

```yml
services:
    handler:
        class: AppBundle\Handler
        properties:
            debug: '%kernel.debug%'
        calls:
            - [handle]
```

I totally expected `Handler::$debug` to be set before `Handler::handle` is called. It was not..  and it's really annoying :)

Commits
-------

0af433b [DI] Initialize properties before method calls
2016-11-25 10:44:34 +01:00
Roland Franssen
0af433b01f [DI] Initialize properties before method calls 2016-11-25 10:44:31 +01:00
Maxime Steinhausser
97e94b4019 Tag missing internals 2016-11-25 08:43:06 +01:00
Fabien Potencier
d23fabfdc7 Merge branch '3.2'
* 3.2:
  [Workflow] Fixed graphviz dumper for state machine
  [HttpKernel] Fix exception when serializing request attributes
2016-11-24 13:23:15 -08:00
Grégoire Pineau
330c069604 [Workflow] Fixed graphviz dumper for state machine 2016-11-24 13:22:36 -08:00
Kévin Dunglas
0896b02be0
[Serializer] Remove unused GetSetMethodNormalizer::denormalize 2016-11-24 20:49:36 +01:00
Nicolas Grekas
2e404d0702 [HttpKernel] Fix exception when serializing request attributes 2016-11-24 18:21:54 +01:00
Nicolas Grekas
9361c5eacf Merge branch '3.2'
* 3.2:
  Fix merge
  [DI] Fixed custom services definition BC break introduced in ec7e70fb…
  [HttpKernel] Deprecate checking for cacheable HTTP methods in Request::isMethodSafe()
  [Process] Fix kill process on reached timeout using getIterator()
  [DI] Aliases should preserve the aliased invalid behavior
2016-11-24 11:43:03 +01:00
Nicolas Grekas
1df5e7fb9a Fix merge 2016-11-24 11:42:22 +01:00
Nicolas Grekas
e67e47dd7b Merge branch '3.1' into 3.2
* 3.1:
  [DI] Fixed custom services definition BC break introduced in ec7e70fb…
  [Process] Fix kill process on reached timeout using getIterator()
  [DI] Aliases should preserve the aliased invalid behavior
2016-11-24 11:40:28 +01:00
Nicolas Grekas
3918fff3d9 Merge branch '2.8' into 3.1
* 2.8:
  [DI] Fixed custom services definition BC break introduced in ec7e70fb…
  [DI] Aliases should preserve the aliased invalid behavior
2016-11-24 11:40:06 +01:00
Nicolas Grekas
b928133bbe Merge branch '2.7' into 2.8
* 2.7:
  [DI] Fixed custom services definition BC break introduced in ec7e70fb…
  [DI] Aliases should preserve the aliased invalid behavior
2016-11-24 11:38:47 +01:00
Nicolas Grekas
3eb8a342f5 bug #20609 [DI] Fixed custom services definition BC break introduced in ec7e70fb… (kiler129)
This PR was squashed before being merged into the 2.7 branch (closes #20609).

Discussion
----------

[DI] Fixed custom services definition BC break introduced in ec7e70fb…

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no, fixes previous BC
| Deprecations? | no
| Tests pass?   | yes (verified on Win only)
| Fixed tickets | #20608
| License       | MIT
| Doc PR        | -

Commits
-------

7a5e11e [DI] Fixed custom services definition BC break introduced in ec7e70fb…
2016-11-24 11:37:50 +01:00
kiler129
7a5e11eb12 [DI] Fixed custom services definition BC break introduced in ec7e70fb… 2016-11-24 11:34:23 +01:00
Fabien Potencier
af9c279e23 bug #20598 [DI] Aliases should preserve the aliased invalid behavior (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[DI] Aliases should preserve the aliased invalid behavior

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

Commits
-------

7752308 [DI] Aliases should preserve the aliased invalid behavior
2016-11-23 17:13:15 -08:00
Fabien Potencier
ed3fc9f106 bug #20600 [Process] Fix process continuing after reached timeout using getIterator() (chalasr)
This PR was merged into the 3.1 branch.

Discussion
----------

[Process] Fix process continuing after reached timeout using getIterator()

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

Commits
-------

10992cd [Process] Fix kill process on reached timeout using getIterator()
2016-11-23 17:08:05 -08:00
Fabien Potencier
85033ff719 bug #20603 [HttpKernel] Deprecate checking for cacheable HTTP methods in Request::isMethodSafe() (nicolas-grekas)
This PR was merged into the 3.2 branch.

Discussion
----------

[HttpKernel] Deprecate checking for cacheable HTTP methods in Request::isMethodSafe()

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

Late deprecation for 3.2, see #20602.

Commits
-------

34e7b95 [HttpKernel] Deprecate checking for cacheable HTTP methods in Request::isMethodSafe()
2016-11-23 16:48:12 -08:00
Fabien Potencier
df7f83ca6d Merge branch '3.2'
* 3.2: (24 commits)
  [Filesystem] Remove extra argv in dumpFile() tests
  [DI] minor FileLoaders tests update
  [FrameworkBundle] Add framework.cache.prefix_seed for predictible cache key prefixes
  [SecurityBundle] Remove FirewallContext mandatory FirewallConfig argument deprecation
  [HttpKernel] Revert BC breaking change of Request::isMethodSafe()
  [DI] Allow null as default env value
  [WebProfilerBundle] Fix deprecated uses of profiler_dump
  [SecurityBundle] Fix FirewallConfig nullable arguments
  [FrameworkBundle] Avoid warming up the validator cache for non-existent classes
  [DOMCrawler] Bug fixed
  [FrameworkBundle] Mark cache.default_*_provider services private
  [Process] Do feat test before enabling TTY mode
  bumped Symfony version to 3.1.8
  updated VERSION for 3.1.7
  updated CHANGELOG for 3.1.7
  bumped Symfony version to 2.8.15
  updated VERSION for 2.8.14
  updated CHANGELOG for 2.8.14
  bumped Symfony version to 2.7.22
  updated VERSION for 2.7.21
  ...
2016-11-23 16:46:49 -08:00
Fabien Potencier
02b1e75757 Merge branch '3.1' into 3.2
* 3.1:
  [Filesystem] Remove extra argv in dumpFile() tests
  [DI] minor FileLoaders tests update
  [HttpKernel] Revert BC breaking change of Request::isMethodSafe()
  [DOMCrawler] Bug fixed
  [FrameworkBundle] Mark cache.default_*_provider services private
  [Process] Do feat test before enabling TTY mode
  bumped Symfony version to 3.1.8
  updated VERSION for 3.1.7
  updated CHANGELOG for 3.1.7
  bumped Symfony version to 2.8.15
  updated VERSION for 2.8.14
  updated CHANGELOG for 2.8.14
  bumped Symfony version to 2.7.22
  updated VERSION for 2.7.21
  update CONTRIBUTORS for 2.7.21
  updated CHANGELOG for 2.7.21
  Fix annotation type for $context
  [Doctrine][Form] support large integers
2016-11-23 16:46:43 -08:00
Fabien Potencier
08c869e8fe Merge branch '2.8' into 3.1
* 2.8:
  [DI] minor FileLoaders tests update
  [HttpKernel] Revert BC breaking change of Request::isMethodSafe()
  [DOMCrawler] Bug fixed
  [Process] Do feat test before enabling TTY mode
  bumped Symfony version to 2.8.15
  updated VERSION for 2.8.14
  updated CHANGELOG for 2.8.14
  bumped Symfony version to 2.7.22
  updated VERSION for 2.7.21
  update CONTRIBUTORS for 2.7.21
  updated CHANGELOG for 2.7.21
  Fix annotation type for $context
  [Doctrine][Form] support large integers
2016-11-23 16:46:24 -08:00
Fabien Potencier
5912413a39 Merge branch '2.7' into 2.8
* 2.7:
  [DI] minor FileLoaders tests update
  [HttpKernel] Revert BC breaking change of Request::isMethodSafe()
  [DOMCrawler] Bug fixed
  [Process] Do feat test before enabling TTY mode
  bumped Symfony version to 2.7.22
  updated VERSION for 2.7.21
  update CONTRIBUTORS for 2.7.21
  updated CHANGELOG for 2.7.21
  [Doctrine][Form] support large integers
2016-11-23 16:43:03 -08:00
Fabien Potencier
34b9fd681e bug #20602 [HttpKernel] Revert BC breaking change of Request::isMethodSafe() (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] Revert BC breaking change of Request::isMethodSafe()

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | yes (reverting a previous BC break)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #20562
| License       | MIT
| Doc PR        | -

As spotted in #20562, we should not have broken a minor version. Instead, we should have deprecated the bad behavior. This is done in #20603.

Commits
-------

0c3b7d7 [HttpKernel] Revert BC breaking change of Request::isMethodSafe()
2016-11-23 16:42:12 -08:00
Robin Chalas
1b298e5622 [Filesystem] Remove extra argv in dumpFile() tests 2016-11-23 16:33:22 -08:00