Commit Graph

28764 Commits

Author SHA1 Message Date
Nicolas Grekas
5e750ec4b5 [DI] Fix initialization of legacy containers by delaying include_once 2018-01-21 10:59:06 +01:00
Fabien Potencier
9312f794e8 Revert "bug #25789 Enableable ArrayNodeDefinition is disabled for empty configuration (kejwmen)"
This reverts commit 132cec44f2, reversing
changes made to d41130153e.
2018-01-21 08:24:24 +01:00
Christian Flothmann
845eb88f3b don't split lines on carriage returns when dumping 2018-01-20 16:04:53 +01:00
Christian Flothmann
5e70ee898e trim spaces from unquoted scalar values 2018-01-20 15:02:12 +01:00
Christian Flothmann
1a1aaa74d6 Revert "bug #25851 [Validator] Conflict with egulias/email-validator 2.0 (emodric)"
This reverts commit f1f18ad608, reversing
changes made to 8e8ee09747.
2018-01-20 13:12:25 +01:00
Fabien Potencier
420789c694 Merge branch '2.7' into 2.8
* 2.7:
  [Validator] Conflict with egulias/email-validator 2.0
2018-01-20 11:50:52 +01:00
Nicolas Grekas
ad8aff4203 [DI] compilation perf tweak 2018-01-20 09:34:19 +01:00
Edi Modrić
72d8e8adb0 [Validator] Conflict with egulias/email-validator 2.0 2018-01-20 00:08:53 +01:00
Fabien Potencier
2aa54b8cbd feature #25493 [Serializer] default_constructor_arguments context option for denormalization (Nek-)
This PR was squashed before being merged into the 4.1-dev branch (closes #25493).

Discussion
----------

[Serializer] `default_constructor_arguments` context option for denormalization

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | (there is no RFC for this)
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/8914

## Problems

In the case you want to deserialize value-objects, if all the data required by its constructor are **not** given as input, the serializer will throw a simple `RuntimeException` exception. This makes impossible to catch it. (as current fix on my projects I use exception message to be sure to catch the good one X.x")

The second problem is a missing feature to fill the required object with an empty one. This needs to be defined by the user because the serializer can't guess how to build it.

Here is a project that exposes the problem of the current behavior. https://github.com/Nek-/api-platform-value-object

## Solutions suggested

I suggest a solution in 2 parts because the second part is more touchy.

1. Replace the current exception by a new specific one
2. Add a new `empty_data` option to the context of deserialization so you can specify data for objects impossible to instantiate, this is great because the serializer no more throw exception and the validator can then work as expected and send violations to the user. This solution is inspired by forms solutions to fix the issue with value objects

Here is what you can do with this feature:
```php
class DummyValueObject
{
    public function __construct($foo, $bar) { $this->foo = $foo; $this->bar = $bar; }
}

$empty = new DummyValueObject('', '');
$result = $normalizer->denormalize(['foo' => 'Hello'], DummyValueObject::class, 'json', [
    'empty_data' => [
        DummyValueObject::class => $empty,
    ],
]);

// It's impossible to construct a DummyValueObject with only "foo" value. So the serializer
// will replace it with the given empty data
```

There are 2 commits so I can quickly provide you only the first point if you want. Hope you'll like this.

## Solution after discussion

1. New exception `MissingConstructorArgumentsException`
2. New context option `default_constructor_arguments`

```php
class DummyValueObject
{
    public function __construct($foo, $bar) { $this->foo = $foo; $this->bar = $bar; }
}

$result = $normalizer->denormalize(['foo' => 'Hello'], DummyValueObject::class, 'json', [
    'default_constructor_arguments' => [
        DummyValueObject::class => ['foo' => '', 'bar' => ''],
    ],
]);

// DummyValueObject is contructed with the given `foo` and empty `bar`
```

Commits
-------

1523a85542 [Serializer]  context option for denormalization
2018-01-19 13:05:43 +01:00
Maxime Veber
1523a85542 [Serializer] context option for denormalization 2018-01-19 13:05:41 +01:00
Amrouche Hamza
bcb79a39ef
[Validator] add missing parent isset and add test 2018-01-19 12:39:28 +01:00
Robin Chalas
75a4117b66 [SecurityBundle] Deprecate in_memory.user abstract service 2018-01-19 12:36:48 +01:00
Robin Chalas
9b0e73715b Merge branch '4.0'
* 4.0:
  [Serializer] fix undefined class
  [FrameworkBundle] fix DI extension tests
2018-01-19 12:32:05 +01:00
Robin Chalas
3d011e0e37 Merge branch '3.4' into 4.0
* 3.4:
  [Serializer] fix undefined class
  [FrameworkBundle] fix DI extension tests
2018-01-19 12:28:59 +01:00
Robin Chalas
bc7b5d2943 [Serializer] fix undefined class 2018-01-19 12:19:37 +01:00
Robin Chalas
f5d2d67508 Merge branch '3.3' into 3.4
* 3.3:
  [FrameworkBundle] fix DI extension tests
2018-01-19 12:19:01 +01:00
Robin Chalas
38abc7bb8f minor #25847 [FrameworkBundle] fix DI extension tests (xabbuh)
This PR was merged into the 3.3 branch.

Discussion
----------

[FrameworkBundle] fix DI extension tests

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

The failing tests relied on the assets integration being enabled. Since
we never did enable this explicitly, the assets related definitions are
removed now that #25789 was merged which fixed #25760.

Commits
-------

1cb8f69 [FrameworkBundle] fix DI extension tests
2018-01-19 12:17:11 +01:00
Christian Flothmann
1cb8f6918f [FrameworkBundle] fix DI extension tests
The failing tests relied on the assets integration being enabled. Since
we never did enable this explicitly, the assets related definitions are
removed now that #25789 was merged which fixed #25760.
2018-01-19 12:05:40 +01:00
Robin Chalas
39557e25c4 fix merge 2018-01-19 11:06:48 +01:00
Robin Chalas
1b1ed670a6 Merge branch '3.3' into 3.4
* 3.3:
  [SecurityBundle] Don't register in memory users as services
2018-01-19 11:03:45 +01:00
Robin Chalas
2c6e23cb3e Merge branch '4.0'
* 4.0:
  Fix translation test
  [SecurityBundle] Don't register in memory users as services
2018-01-19 10:39:33 +01:00
Robin Chalas
6cab776316 Fix translation test 2018-01-19 10:38:27 +01:00
Robin Chalas
34a3e25c1f Merge branch '3.3' into 4.0
* 3.3:
  [SecurityBundle] Don't register in memory users as services
2018-01-19 10:33:46 +01:00
Robin Chalas
00621d4840 Merge branch '2.8' into 3.3
* 2.8:
  [SecurityBundle] Don't register in memory users as services
2018-01-19 10:28:48 +01:00
Robin Chalas
e64cb185cb Merge branch '2.7' into 2.8
* 2.7:
  [SecurityBundle] Don't register in memory users as services
2018-01-19 10:21:47 +01:00
Fabien Potencier
a8d179bf66 fixed CS 2018-01-19 08:24:33 +01:00
Fabien Potencier
0a56a37953 feature #24392 Display orphaned events in profiler (kejwmen)
This PR was squashed before being merged into the 4.1-dev branch (closes #24392).

Discussion
----------

Display orphaned events in profiler

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

Implements #24347.

Deprecating `TraceableEventDispatcherInterface`.

Commits
-------

509f9a9233 Display orphaned events in profiler
2018-01-19 08:23:48 +01:00
Mateusz Sip
509f9a9233 Display orphaned events in profiler 2018-01-19 08:23:12 +01:00
Fabien Potencier
d6c05ccfe7 feature #25275 [DI] Allow for invokable event listeners (ro0NL)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[DI] Allow for invokable event listeners

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

Inspired by #24637 / #25259. This adds invokable support for event listeners :)

```yaml
Some\Foo:
    tags: [{ name: kernel.event_listener, event: kernel.request }]
```

```php
class Foo {
    public function __invoke(GetResponseEvent $event) { }
}
```

Commits
-------

fa5b7eb95b [DI] Allow for invokable event listeners
2018-01-19 08:19:03 +01:00
Fabien Potencier
d94fbcef46 feature #25627 [DI] Add a simple CSV env var processor (dunglas)
This PR was squashed before being merged into the 4.1-dev branch (closes #25627).

Discussion
----------

[DI] Add a simple CSV env var processor

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

Add a new environment variable processor to parse the very popular comma separated array format like `foo,bar`. As it uses the `str_getcsv`, it also support escaping and enclosure.

I'm not sure about the name, maybe `array` or `simple_array` would be better.

Commits
-------

d730209d87 [DI] Add a simple CSV env var processor
2018-01-19 08:16:51 +01:00
Kévin Dunglas
d730209d87 [DI] Add a simple CSV env var processor 2018-01-19 08:16:49 +01:00
Fabien Potencier
8e8ee09747 bug #25837 [SecurityBundle] Don't register in memory users as services (chalasr)
This PR was merged into the 2.7 branch.

Discussion
----------

[SecurityBundle] Don't register in memory users as services

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

Commits
-------

13fa0454e4 [SecurityBundle] Don't register in memory users as services
2018-01-19 08:04:55 +01:00
Nicolas Grekas
32cd453196 Merge branch '4.0'
* 4.0:
  [HttpKernel] DebugHandlersListener should always replace the existing exception handler
  fix the Composer API being used
  [Security] Notify that symfony/expression-language is not installed if ExpressionLanguage and ExpressionLanguagePrivider are used
  [Debug] Always decorate existing exception handlers to deal with fatal errors
  Enableable ArrayNodeDefinition is disabled for empty configuration
  Fixing a bug where the dump() function depended on bundle ordering
  [Cache] Fix handling of apcu_fetch() edgy behavior
  Add nn (Norwegian Nynorsk) translation files, and improve existing file
  Problem in phar see mergerequest #25579
  [Form] Disallow transform dates beyond the year 9999
  Avoid button label translation when it's set to false
  Copied NO language files to the new NB locale.
  [Serializer] DateTimeNormalizer handling of null and empty values (returning null or empty instead of new object)
  Fix options resolver with array allowed types
  [Console] Improve phpdoc on StyleInterface::ask()
  [TwigBridge][WIP] Pass the form-check-inline in parent
2018-01-18 23:19:50 +01:00
Nicolas Grekas
dd32dabd19 Merge branch '3.4' into 4.0
* 3.4:
  [HttpKernel] DebugHandlersListener should always replace the existing exception handler
  fix the Composer API being used
  [Security] Notify that symfony/expression-language is not installed if ExpressionLanguage and ExpressionLanguagePrivider are used
  [Debug] Always decorate existing exception handlers to deal with fatal errors
  Enableable ArrayNodeDefinition is disabled for empty configuration
  Fixing a bug where the dump() function depended on bundle ordering
  [Cache] Fix handling of apcu_fetch() edgy behavior
  Add nn (Norwegian Nynorsk) translation files, and improve existing file
  Problem in phar see mergerequest #25579
  [Form] Disallow transform dates beyond the year 9999
  Avoid button label translation when it's set to false
  Copied NO language files to the new NB locale.
  [Serializer] DateTimeNormalizer handling of null and empty values (returning null or empty instead of new object)
  Fix options resolver with array allowed types
  [Console] Improve phpdoc on StyleInterface::ask()
  [TwigBridge][WIP] Pass the form-check-inline in parent
2018-01-18 23:19:33 +01:00
Nicolas Grekas
5f75d43e42 Merge branch '3.3' into 3.4
* 3.3:
  [HttpKernel] DebugHandlersListener should always replace the existing exception handler
  fix the Composer API being used
  [Debug] Always decorate existing exception handlers to deal with fatal errors
  Enableable ArrayNodeDefinition is disabled for empty configuration
  Fixing a bug where the dump() function depended on bundle ordering
  [Cache] Fix handling of apcu_fetch() edgy behavior
  Add nn (Norwegian Nynorsk) translation files, and improve existing file
  Problem in phar see mergerequest #25579
  [Form] Disallow transform dates beyond the year 9999
  Copied NO language files to the new NB locale.
  [Serializer] DateTimeNormalizer handling of null and empty values (returning null or empty instead of new object)
  [Console] Improve phpdoc on StyleInterface::ask()
2018-01-18 23:16:57 +01:00
Nicolas Grekas
5d9996457b Merge branch '2.8' into 3.3
* 2.8:
  [HttpKernel] DebugHandlersListener should always replace the existing exception handler
2018-01-18 23:16:35 +01:00
Nicolas Grekas
7fc3969cd6 Merge branch '2.7' into 2.8
* 2.7:
  [HttpKernel] DebugHandlersListener should always replace the existing exception handler
2018-01-18 23:12:33 +01:00
Nicolas Grekas
a4ddcc298d [HttpKernel] DebugHandlersListener should always replace the existing exception handler 2018-01-18 23:01:50 +01:00
Nicolas Grekas
5f535581b9 [HttpKernel] Make session-related services extra-lazy 2018-01-18 18:12:09 +01:00
Robin Chalas
13fa0454e4 [SecurityBundle] Don't register in memory users as services 2018-01-18 15:57:23 +01:00
Christian Flothmann
753197f09e Merge branch '2.8' into 3.3
* 2.8:
  fix the Composer API being used
  [Debug] Always decorate existing exception handlers to deal with fatal errors
  Enableable ArrayNodeDefinition is disabled for empty configuration
  Fixing a bug where the dump() function depended on bundle ordering
  Add nn (Norwegian Nynorsk) translation files, and improve existing file
  Problem in phar see mergerequest #25579
  [Form] Disallow transform dates beyond the year 9999
  Copied NO language files to the new NB locale.
  [Console] Improve phpdoc on StyleInterface::ask()
2018-01-18 15:19:00 +01:00
Christian Flothmann
48872f3aed Merge branch '2.7' into 2.8
* 2.7:
  fix the Composer API being used
  [Debug] Always decorate existing exception handlers to deal with fatal errors
  Enableable ArrayNodeDefinition is disabled for empty configuration
  Fixing a bug where the dump() function depended on bundle ordering
  Add nn (Norwegian Nynorsk) translation files, and improve existing file
  Problem in phar see mergerequest #25579
  [Form] Disallow transform dates beyond the year 9999
  Copied NO language files to the new NB locale.
  [Console] Improve phpdoc on StyleInterface::ask()
2018-01-18 14:56:23 +01:00
Robin Chalas
6e6ac9eaee feature #25092 [Security] #25091 add target user to SwitchUserListener (jwmickey)
This PR was squashed before being merged into the 4.1-dev branch (closes #25092).

Discussion
----------

[Security] #25091 add target user to SwitchUserListener

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

This patch provides the target user to the SwitchUserListener's
accessDecisionManager->decide() call as the $object parameter to
give any registered voters extra information.

Commits
-------

5cb6f2a [Security] #25091 add target user to SwitchUserListener
2018-01-18 13:34:40 +01:00
Jody Mickey
5cb6f2abf4 [Security] #25091 add target user to SwitchUserListener 2018-01-18 13:34:36 +01:00
Fabien Potencier
78a8a63450 bug #25829 [Debug] Always decorate existing exception handlers to deal with fatal errors (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug] Always decorate existing exception handlers to deal with fatal errors

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

Decorating the exception is seamless, let's always do it and fix handling of fatal errors.
Related to #25408 also.

Commits
-------

205d7ae3f7 [Debug] Always decorate existing exception handlers to deal with fatal errors
2018-01-18 13:12:09 +01:00
Fabien Potencier
67e38797a6 bug #25823 [Security] Notify that symfony/expression-language is not installed if ExpressionLanguage is used (giovannialbero1992)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] Notify that symfony/expression-language is not installed if ExpressionLanguage is used

| Q             | A
| ------------- | ---
| Branch?       | master for features / 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #25742
| License       | MIT
| Doc PR        | not requested

Commits
-------

6aa2b7cce0 [Security] Notify that symfony/expression-language is not installed if ExpressionLanguage and ExpressionLanguagePrivider are used
2018-01-18 13:02:00 +01:00
Giovanni Albero
6aa2b7cce0 [Security] Notify that symfony/expression-language is not installed if ExpressionLanguage and ExpressionLanguagePrivider are used 2018-01-18 12:13:08 +01:00
Fabien Potencier
b84807e977 minor #25809 Norwegian Nynorsk translation (glye)
This PR was merged into the 2.7 branch.

Discussion
----------

Norwegian Nynorsk translation

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

Adds translations for `nn` (Norwegian Nynorsk) based on `no` aka. `nb` (Norwegian Bokmål).
Improves existing translations.

Commits
-------

9b4b7d0d3a Add nn (Norwegian Nynorsk) translation files, and improve existing file
2018-01-18 11:45:20 +01:00
Nicolas Grekas
205d7ae3f7 [Debug] Always decorate existing exception handlers to deal with fatal errors 2018-01-18 10:58:19 +01:00
Fabien Potencier
49f8b73369 feature #24777 [TwigBundle] Added priority to twig extensions (Brunty)
This PR was squashed before being merged into the 4.1-dev branch (closes #24777).

Discussion
----------

[TwigBundle] Added priority to twig extensions

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        | Don't merge before the docs

Added priority to twig extensions in the `TwigEnvironmentPass` to control the order in which they're registered, similar to the `TwigLoaderPass`

Though, unsure on what priority to use as a default, and will PR docs when finalised.

Commits
-------

d87af719fd [TwigBundle] Added priority to twig extensions
2018-01-17 22:17:30 +01:00
Matt Brunt
d87af719fd [TwigBundle] Added priority to twig extensions 2018-01-17 22:17:29 +01:00
Fabien Potencier
3a8f905e10 bug #25824 Fixing a bug where the dump() function depended on bundle ordering (weaverryan)
This PR was merged into the 2.7 branch.

Discussion
----------

Fixing a bug where the dump() function depended on bundle ordering

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

If DebugBundle is registered *before* TwigBundle, then the simpler `dump()` function wins over the fancy, var-dumper one from DebugBundle. In other words, you get different functionality based on the *order* in which you install libraries. To get the "bad" way, you can:

```
composer create-project symfony/skeleton show_bad_dump
cd show_bad_dump
composer require symfony/debug-bundle
composer require twig
```

Then create a Twig template with a `dump()` inside. It will use the less-fancy XDebug version.

I'm not sure if there's a more elegant fix for this or not... I have verified locally that this DOES fix the issue.

Thanks!

Commits
-------

717663aac1 Fixing a bug where the dump() function depended on bundle ordering
2018-01-17 21:43:09 +01:00
Fabien Potencier
6df7d83ec1 bug #25763 [OptionsResolver] Fix options resolver with array allowed types (mcg-web)
This PR was merged into the 3.4 branch.

Discussion
----------

[OptionsResolver] Fix options resolver with array allowed types

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

When playing a simple test:

```php
use Symfony\Component\OptionsResolver\Options;

$resolver = new OptionsResolver();
$resolver->setDefined('foo');
$resolver->setAllowedTypes('foo', 'string[]');
$options = $resolver->resolve(['foo' => ['bar', 'baz']]);
```

I get this error:

```
Symfony\Component\OptionsResolver\Exception\InvalidOptionsException: The option "foo" with value array is expected to be of type "string[]", but is of type "string[]"
```

This PR should fix this.

Commits
-------

cc215f7347 Fix options resolver with array allowed types
2018-01-17 21:41:08 +01:00
Fabien Potencier
132cec44f2 bug #25789 Enableable ArrayNodeDefinition is disabled for empty configuration (kejwmen)
This PR was squashed before being merged into the 2.7 branch (closes #25789).

Discussion
----------

 Enableable ArrayNodeDefinition is disabled for empty configuration

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

Fixes #25760.

Currently, documented behavior is not true:

70c8c2d47b/src/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.php (L207-L208)

Commits
-------

a6a330dcd9  Enableable ArrayNodeDefinition is disabled for empty configuration
2018-01-17 21:35:17 +01:00
Mateusz Sip
a6a330dcd9 Enableable ArrayNodeDefinition is disabled for empty configuration 2018-01-17 21:35:12 +01:00
Fabien Potencier
26e21d1dbb bug #25741 [Form] issue-13589: adding custom false-values to BooleanToString transformer (leberknecht)
This PR was squashed before being merged into the 4.1-dev branch (closes #25741).

Discussion
----------

[Form] issue-13589: adding custom false-values to BooleanToString transformer

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

As suggested in #13589 , this PR adds the option to specify custom false-values, so we can use the CheckBoxType to handle strings '1' / '0' and eval them to true / false. While HTTP defines that checkbox types are either submitted=true or not-submitted=false, no matter of what value was submitted, it would be nice to have this option.
Also refs (which read like "the basic idea of the feature was accepted, PR almost done, then something-happend so PR wasnt merged"..?)

https://github.com/symfony/symfony/pull/15054
https://github.com/symfony/symfony/pull/18005

Commits
-------

a3e5ac496f [Form] issue-13589: adding custom false-values to BooleanToString transformer
2018-01-17 21:10:25 +01:00
dtonder
a3e5ac496f [Form] issue-13589: adding custom false-values to BooleanToString transformer 2018-01-17 21:10:12 +01:00
Ryan Weaver
717663aac1
Fixing a bug where the dump() function depended on bundle ordering 2018-01-17 09:58:59 -08:00
Nicolas Grekas
c707c4c455 [Cache] Fix handling of apcu_fetch() edgy behavior 2018-01-17 14:30:10 +01:00
Gunnstein Lye
9b4b7d0d3a Add nn (Norwegian Nynorsk) translation files, and improve existing file 2018-01-17 11:17:32 +01:00
Fabien Potencier
d41130153e bug #25816 Problem in phar see mergerequest #25579 (betzholz)
This PR was squashed before being merged into the 2.7 branch (closes #25816).

Discussion
----------

Problem in phar see mergerequest #25579

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

If packed into phar the old version creates path like 'file:///phar%3A/'. see https://github.com/symfony/symfony/pull/25579

Commits
-------

3e0c8ffb43 Problem in phar see mergerequest #25579
2018-01-17 09:38:26 +01:00
Boris Betzholz
3e0c8ffb43 Problem in phar see mergerequest #25579 2018-01-17 09:38:23 +01:00
Fabien Potencier
e6e235b6f4 bug #25781 [Form] Disallow transform dates beyond the year 9999 (curry684)
This PR was squashed before being merged into the 2.7 branch (closes #25781).

Discussion
----------

[Form] Disallow transform dates beyond the year 9999

Fixes #14727

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | not really
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #14727
| License       | MIT

Explicitly locked out submission of dates beyond December 31st 9999 in forms as PHP is highly incapable of consistently handling such dates. Before this patch dates were randomly transformed or mangled.

Technically there is a BC break as this will now cause validation to fail on input that was *accepted* before, but it was mangled. Not my call but I prefer the rejection over data corruption:
```
// Old behavior
$transformer = new DateTimeToLocalizedStringTransformer('UTC', 'UTC', null, null, \IntlDateFormatter::GREGORIAN, 'yyyy-MM-dd');
$result = $transformer->reverseTransform('20107-03-21');

// $result is now 2007-03-21
```

Commits
-------

70cc969537 [Form] Disallow transform dates beyond the year 9999
2018-01-17 09:13:32 +01:00
Niels Keurentjes
70cc969537 [Form] Disallow transform dates beyond the year 9999 2018-01-17 09:13:31 +01:00
Fabien Potencier
65b48b5b93 bug #25287 [Serializer] DateTimeNormalizer handling of null and empty values (returning it instead of new object) (Simperfit)
This PR was merged into the 3.3 branch.

Discussion
----------

[Serializer] DateTimeNormalizer handling of null and empty values (returning it instead of new object)

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

I'm openning the disucussion on this as I think that should be returning null and not a new object.

WDYT ?

Working at home ;)
![img_2914](https://user-images.githubusercontent.com/3451634/33526107-ec2a6ce8-d83b-11e7-8949-f8d360ebb4b9.JPG)

Commits
-------

74726f3896 [Serializer] DateTimeNormalizer handling of null and empty values (returning null or empty instead of new object)
2018-01-17 09:02:20 +01:00
TeLiXj
368edd8281 Avoid button label translation when it's set to false
Improve my previous contribution to hide button label when it's set to false (#24148) because a missing translation error appear
2018-01-17 08:49:55 +01:00
Fabien Potencier
de95a37245 bug #25127 [TwigBridge] Pass the form-check-inline in parent (Simperfit)
This PR was merged into the 3.4 branch.

Discussion
----------

[TwigBridge] Pass the form-check-inline in parent

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | no
| Fixed tickets | #25099 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | none

I'm trying to find a way to be able to handle this. Will add a reproducer soon.

Commits
-------

02b7edb825 [TwigBridge][WIP] Pass the form-check-inline in parent
2018-01-17 08:22:23 +01:00
Fabien Potencier
3ed19dd040 bug #25812 Copied NO language files to the new NB locale (derrabus)
This PR was merged into the 2.7 branch.

Discussion
----------

Copied NO language files to the new NB locale

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

This PR copies all `NO` language files to a new locale `NB`. It also adds unit tests to ensure that `NB` and `NO` will always contain the same translations. This way, we allow application developers to either use the generic `NO` language code or the more precise `NB` (e.g. if they need to distinguish between the `NB` and `NN` variants of the Norwegian language).

For further details, please have a look at the discussion in #25792.

Commits
-------

aee9b1ea3e Copied NO language files to the new NB locale.
2018-01-17 08:10:53 +01:00
Nicolas Grekas
30086cc65b minor #25644 [Console] Improve phpdoc on StyleInterface::ask() (ro0NL)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Improve phpdoc on StyleInterface::ask()

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

In a CLI command i keep asking an optional question until i get an answer. So interactively it's a required question. It looks like..

```php
do {
    $value = $io->ask('Value', null, function ($value) { return $value; });
} while (null === $value);
```

Which works nice.. but SA is complaining about

```
Strict comparison using === between null and string will always evaluate to false.
```

This should fix it. The mixed API goes back to https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Console/Helper/QuestionHelper.php#L38

Commits
-------

499d04f [Console] Improve phpdoc on StyleInterface::ask()
2018-01-16 19:55:58 +01:00
Nicolas Grekas
9e73cc73e2 Merge branch '4.0'
* 4.0:
  [appveyor] set memory_limit=-1
  [Console] Keep the modified exception handler
  [Console] Fix restoring exception handler
  [Router] Skip anonymous classes when loading annotated routes
  allow dashes in cwd pathname when running the tests
  Fixed Request::__toString ignoring cookies
  Make sure we only build once and have one time the prefix when importing routes
  [Security] Fix fatal error on non string username
  [FrameworkBundle] Automatically enable the CSRF if component *+ session* are loaded
2018-01-16 19:04:31 +01:00
Nicolas Grekas
e6157aa1f7 Merge branch '3.4' into 4.0
* 3.4:
  [appveyor] set memory_limit=-1
  [Console] Keep the modified exception handler
  [Console] Fix restoring exception handler
  [Router] Skip anonymous classes when loading annotated routes
  allow dashes in cwd pathname when running the tests
  Fixed Request::__toString ignoring cookies
  Make sure we only build once and have one time the prefix when importing routes
  [Security] Fix fatal error on non string username
  [FrameworkBundle] Automatically enable the CSRF if component *+ session* are loaded
2018-01-16 19:04:12 +01:00
Nicolas Grekas
86d01b550f Merge branch '3.3' into 3.4
* 3.3:
  [appveyor] set memory_limit=-1
  [Router] Skip anonymous classes when loading annotated routes
  Fixed Request::__toString ignoring cookies
  Make sure we only build once and have one time the prefix when importing routes
  [Security] Fix fatal error on non string username
2018-01-16 19:03:57 +01:00
Nicolas Grekas
2f8e1b86ea Merge branch '2.8' into 3.3
* 2.8:
  [appveyor] set memory_limit=-1
  [Router] Skip anonymous classes when loading annotated routes
  Fixed Request::__toString ignoring cookies
  [Security] Fix fatal error on non string username
2018-01-16 19:03:02 +01:00
Nicolas Grekas
899bf99879 Merge branch '2.7' into 2.8
* 2.7:
  [appveyor] set memory_limit=-1
  [Router] Skip anonymous classes when loading annotated routes
  Fixed Request::__toString ignoring cookies
  [Security] Fix fatal error on non string username
2018-01-16 19:00:04 +01:00
Nicolas Grekas
95c619300c minor #25813 [appveyor] set memory_limit=-1 (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[appveyor] set memory_limit=-1

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

10e33ac [appveyor] set memory_limit=-1
2018-01-16 18:49:05 +01:00
Nicolas Grekas
10e33acf42 [appveyor] set memory_limit=-1 2018-01-16 18:39:46 +01:00
Nicolas Grekas
d8d85f17b5 bug #25753 [Console] Fix restoring exception handler (nicolas-grekas, fancyweb)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Fix restoring exception handler

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

Commits
-------

0096449 [Console] Keep the modified exception handler
3fa1ad9 [Console] Fix restoring exception handler
2018-01-16 18:26:02 +01:00
Thomas Calvet
00964492d2 [Console] Keep the modified exception handler 2018-01-16 18:22:49 +01:00
Nicolas Grekas
3fa1ad9c81 [Console] Fix restoring exception handler 2018-01-16 18:22:47 +01:00
Alexander M. Turek
aee9b1ea3e Copied NO language files to the new NB locale. 2018-01-16 18:12:50 +01:00
Nicolas Grekas
01de7ad684 bug #25801 [Router] Skip anonymous classes when loading annotated routes (pierredup)
This PR was squashed before being merged into the 2.7 branch (closes #25801).

Discussion
----------

[Router] Skip anonymous classes when loading annotated routes

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

Skip any usage of anonymous classes when parsing files in `AnnotationFileLoader`

Commits
-------

d76a545 [Router] Skip anonymous classes when loading annotated routes
2018-01-16 17:51:07 +01:00
Pierre du Plessis
d76a545c01 [Router] Skip anonymous classes when loading annotated routes 2018-01-16 17:51:05 +01:00
Nicolas Grekas
f3ac9f51ef bug #25508 [FrameworkBundle] Auto-enable CSRF if the component *+ session* are loaded (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] Auto-enable CSRF if the component *+ session* are loaded

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

By binding CSRF and session default state, we provide better DX, but we also provide a way for bundles to enable session on its own: they just need to require "symfony/security-csrf".
Yes, that's a side effect, but I think that's a nice one for 3.4/4.0.
Of course, we might do better in 4.1, but for bug fix only releases, LGTM.

Commits
-------

9e8231f [FrameworkBundle] Automatically enable the CSRF if component *+ session* are loaded
2018-01-16 15:44:24 +01:00
dtonder
db5f8deba9 allow dashes in cwd pathname when running the tests 2018-01-16 15:07:23 +01:00
Fabien Potencier
6c1625263e bug #25657 [Security] Fix fatal error on non string username (chalasr)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] Fix fatal error on non string username

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

That's consistent with what #22569 did for the `json_login` listener.

Commits
-------

8f095683d0 [Security] Fix fatal error on non string username
2018-01-16 08:11:36 +01:00
Fabien Potencier
663f3f09ad bug #25791 [Routing] Make sure we only build routes once (sroze)
This PR was merged into the 3.3 branch.

Discussion
----------

[Routing] Make sure we only build routes once

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

We need to build the collection(s) only once, else the prefix would be duplicated.

Commits
-------

927a75ac3e Make sure we only build once and have one time the prefix when importing routes
2018-01-16 08:08:46 +01:00
Yanick Witschi
0f79d09a10 Fixed Request::__toString ignoring cookies 2018-01-16 08:04:02 +01:00
Christian Flothmann
d81f43fc36 Merge branch '4.0'
* 4.0:
  [Console] Add placeholder for line number in console exception fixtures
  fix HHVM tests
  minor #25752 Don't right trim the deprecation message (alexpott)
2018-01-15 17:21:16 +01:00
Christian Flothmann
ce35073b62 Merge branch '3.4' into 4.0
* 3.4:
  [Console] Add placeholder for line number in console exception fixtures
  fix HHVM tests
  minor #25752 Don't right trim the deprecation message (alexpott)
2018-01-15 17:00:46 +01:00
Christian Flothmann
9e7cf69bec Merge branch '3.3' into 3.4
* 3.3:
  fix HHVM tests
  minor #25752 Don't right trim the deprecation message (alexpott)
2018-01-15 16:26:26 +01:00
Pierre du Plessis
686d4f7043 [Console] Add placeholder for line number in console exception fixtures 2018-01-15 16:23:30 +01:00
Christian Flothmann
ff40995e95 Merge branch '2.8' into 3.3
* 2.8:
  fix HHVM tests
  minor #25752 Don't right trim the deprecation message (alexpott)
2018-01-15 16:14:43 +01:00
Christian Flothmann
a920061114 Merge branch '2.7' into 2.8
* 2.7:
  fix HHVM tests
2018-01-15 16:01:15 +01:00
Christian Flothmann
da21003459 fix HHVM tests 2018-01-15 14:29:19 +01:00
Tobias Schultze
3a7099c0e2 Merge branch '3.3' into 3.4 2018-01-15 11:51:37 +01:00
Samuel ROZE
927a75ac3e
Make sure we only build once and have one time the prefix when importing routes 2018-01-15 10:37:11 +00:00
Tobias Schultze
f9785885a0 minor #25784 Remove polyfill-util dependency from fullstack and security (thewilkybarkid)
This PR was merged into the 3.3 branch.

Discussion
----------

Remove polyfill-util dependency from fullstack and security

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

Applies #22709 to the two higher-level packages. I've applied it to 3.3 as that's where that change was merged (though it was `master` as the time); these may actually apply earlier though?

(#16382 was mentioned and applied to 2.8, though is for the serializer which is unrelated? Should have been 3.0 when `StringUtils` was removed?)

Commits
-------

939efd59b9 Remove polyfill-util dependency from fullstack and security
2018-01-15 11:36:30 +01:00
Nicolas Grekas
844d81cbf5 Merge branch '2.7' into 2.8
* 2.7:
  minor #25752 Don't right trim the deprecation message (alexpott)
2018-01-14 15:14:42 +01:00
Nicolas Grekas
70c8c2d47b minor #25752 Don't right trim the deprecation message (alexpott)
This PR was submitted for the 3.4 branch but it was squashed and merged into the 3.3 branch instead (closes #25752).

Discussion
----------

Don't right trim the deprecation message

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | maybe yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

<!--
- Bug fixes must be submitted against the lowest branch where they apply
  (lowest branches are regularly merged to upper ones so they get the fixes too).
- Features and deprecations must be submitted against the master branch.
- Replace this comment by a description of what your PR is solving.
-->

The PhpUnit bridge lists deprecation messages after a test. In order to do this it outputs the message but it right trims the message - removing any fullstops. This is unexpected. It does this to add the number of time the message appears but this is not really necessary because the number of the times a deprecation message is triggered and from where is added below.

Commits
-------

0b03631 Don't right trim the deprecation message
2018-01-14 15:14:25 +01:00
Nicolas Grekas
ddb602b36b Merge branch '4.0'
* 4.0:
  fix merge
  fixed wrong description in a phpdoc
  19 digits VISA card numbers are valid
  Add missing @ in phpdoc return statement
  Don't right trim the deprecation message
  [HttpKernel] Fixed test name
  [Debug] prevent infinite loop with faulty exception handlers
  [FrameworkBundle] fix tests
  Prefer composer install instead for using Symfony Installer
  Add the missing `enabled` session attribute
  [HttpKernel] Turn bad hosts into 400 instead of 500
2018-01-13 15:06:00 +01:00
Nicolas Grekas
c8d5deed8d Merge branch '3.4' into 4.0
* 3.4:
  fix merge
  fixed wrong description in a phpdoc
  19 digits VISA card numbers are valid
  Add missing @ in phpdoc return statement
  Don't right trim the deprecation message
  [HttpKernel] Fixed test name
  [Debug] prevent infinite loop with faulty exception handlers
  [FrameworkBundle] fix tests
  Prefer composer install instead for using Symfony Installer
  Add the missing `enabled` session attribute
  [HttpKernel] Turn bad hosts into 400 instead of 500
2018-01-13 15:05:32 +01:00
Nicolas Grekas
3316e42797 Merge branch '3.3' into 3.4
* 3.3:
  fix merge
  fixed wrong description in a phpdoc
  19 digits VISA card numbers are valid
  Add missing @ in phpdoc return statement
  Don't right trim the deprecation message
  [HttpKernel] Fixed test name
  [Debug] prevent infinite loop with faulty exception handlers
  Add the missing `enabled` session attribute
  [HttpKernel] Turn bad hosts into 400 instead of 500
2018-01-13 15:04:53 +01:00
Nicolas Grekas
e9bcd217df fix merge 2018-01-13 15:03:33 +01:00
Nicolas Grekas
07b5304268 Merge branch '2.8' into 3.3
* 2.8:
  fixed wrong description in a phpdoc
  19 digits VISA card numbers are valid
  [HttpKernel] Fixed test name
  [Debug] prevent infinite loop with faulty exception handlers
  Add the missing `enabled` session attribute
  [HttpKernel] Turn bad hosts into 400 instead of 500
2018-01-13 15:02:56 +01:00
Nicolas Grekas
4a211d8332 Merge branch '2.7' into 2.8
* 2.7:
  fixed wrong description in a phpdoc
  19 digits VISA card numbers are valid
  [HttpKernel] Fixed test name
  [Debug] prevent infinite loop with faulty exception handlers
  Add the missing `enabled` session attribute
  [HttpKernel] Turn bad hosts into 400 instead of 500
2018-01-13 14:56:42 +01:00
Chris Wilkinson
939efd59b9 Remove polyfill-util dependency from fullstack and security 2018-01-13 12:56:38 +00:00
Robin Chalas
8f095683d0 [Security] Fix fatal error on non string username 2018-01-13 13:27:11 +01:00
Fabien Potencier
e52d977d12 fixed wrong description in a phpdoc 2018-01-13 10:54:37 +01:00
Fabien Potencier
3c4b34fd13 bug #25755 [Debug] prevent infinite loop with faulty exception handlers (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug] prevent infinite loop with faulty exception handlers

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

Commits
-------

5f397f8dcf [Debug] prevent infinite loop with faulty exception handlers
2018-01-13 10:40:13 +01:00
Christian Flothmann
a53cc5ce91 19 digits VISA card numbers are valid 2018-01-12 15:15:01 +01:00
Amrouche Hamza
74726f3896
[Serializer] DateTimeNormalizer handling of null and empty values (returning null or empty instead of new object) 2018-01-12 14:55:27 +01:00
Jakub Chábek
efb8fa164e Add missing @ in phpdoc return statement 2018-01-11 11:30:34 +01:00
Alex Pott
0b03631e7f Don't right trim the deprecation message 2018-01-11 10:49:26 +01:00
Grégoire Pineau
e366772c06 [HttpKernel] Fixed test name 2018-01-11 10:34:39 +01:00
Nicolas Grekas
5f397f8dcf [Debug] prevent infinite loop with faulty exception handlers 2018-01-11 09:02:09 +01:00
Jeremiah VALERIE
cc215f7347
Fix options resolver with array allowed types 2018-01-11 08:56:07 +01:00
Christian Flothmann
6088dd328d [FrameworkBundle] fix tests
Add a public alias so that we can retrieve the private aliased
annotation_reader service in an after removing compiler pass.
2018-01-10 20:10:52 +01:00
Christian Flothmann
1df45e4356 Merge branch '4.0'
* 4.0: (30 commits)
  [FrameworkBundle] fix tests
  [Serializer] Fixed throwing exception with option JSON_PARTIAL_OUTPUT_ON_ERROR
  [HttpKernel] Fix session handling: decouple "save" from setting response "private"
  swap filter/function and package names
  [HttpFoundation] Always call proxied handler::destroy() in StrictSessionHandler
  [HttpKernel] Fix compile error when a legacy container is fresh again
  Add tests for the HttpKernel request collector and redirection via cookies
  Uses cookies to track the requests redirection
  Tweaked some styles in the profiler tables
  Add type string to docblock for Process::setInput()
  [Security] Fail gracefully if the security token cannot be unserialized from the session
  [Form] AbstractLayoutTest - fix DOMDocument casing
  Run simple-phpunit with --no-suggest option
  [FrameworkBundle] Fix using "annotations.cached_reader" in after-removing passes
  bumped Symfony version to 4.0.4
  updated VERSION for 4.0.3
  updated CHANGELOG for 4.0.3
  bumped Symfony version to 3.4.4
  updated VERSION for 3.4.3
  updated CHANGELOG for 3.4.3
  ...
2018-01-10 20:03:03 +01:00
Fabien Potencier
2a9915e6da bug #25751 [FrameworkBundle] Add the missing enabled session attribute (sroze)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] Add the missing `enabled` session attribute

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

Add a missing `enabled` field in framework's `session` configuration.

Commits
-------

a3149310ac Add the missing `enabled` session attribute
2018-01-10 18:59:30 +01:00
Samuel ROZE
a3149310ac
Add the missing enabled session attribute 2018-01-10 17:16:33 +00:00
Nicolas Grekas
3e47c71028 [HttpKernel] Turn bad hosts into 400 instead of 500 2018-01-10 17:55:58 +01:00
Christian Flothmann
821ca52868 [FrameworkBundle] fix tests
Add a public alias so that we can retrieve the private aliased
annotation_reader service in an after removing compiler pass.
2018-01-10 14:30:03 +01:00
Christian Flothmann
25473724b1 Merge branch '3.4' into 4.0
* 3.4: (26 commits)
  [Serializer] Fixed throwing exception with option JSON_PARTIAL_OUTPUT_ON_ERROR
  [HttpKernel] Fix session handling: decouple "save" from setting response "private"
  swap filter/function and package names
  [HttpFoundation] Always call proxied handler::destroy() in StrictSessionHandler
  [HttpKernel] Fix compile error when a legacy container is fresh again
  Add tests for the HttpKernel request collector and redirection via cookies
  Uses cookies to track the requests redirection
  Tweaked some styles in the profiler tables
  Add type string to docblock for Process::setInput()
  [Security] Fail gracefully if the security token cannot be unserialized from the session
  [Form] AbstractLayoutTest - fix DOMDocument casing
  Run simple-phpunit with --no-suggest option
  [FrameworkBundle] Fix using "annotations.cached_reader" in after-removing passes
  bumped Symfony version to 3.4.4
  updated VERSION for 3.4.3
  updated CHANGELOG for 3.4.3
  bumped Symfony version to 3.3.16
  updated VERSION for 3.3.15
  updated CHANGELOG for 3.3.15
  bumped Symfony version to 2.8.34
  ...
2018-01-10 12:36:17 +01:00
Christian Flothmann
7625c771c6 Merge branch '3.3' into 3.4
* 3.3:
  [Serializer] Fixed throwing exception with option JSON_PARTIAL_OUTPUT_ON_ERROR
  Tweaked some styles in the profiler tables
  Add type string to docblock for Process::setInput()
  [Security] Fail gracefully if the security token cannot be unserialized from the session
  [Form] AbstractLayoutTest - fix DOMDocument casing
  Run simple-phpunit with --no-suggest option
  [FrameworkBundle] Fix using "annotations.cached_reader" in after-removing passes
  bumped Symfony version to 3.3.16
  updated VERSION for 3.3.15
  updated CHANGELOG for 3.3.15
  bumped Symfony version to 2.8.34
  updated VERSION for 2.8.33
  updated CHANGELOG for 2.8.33
  bumped Symfony version to 2.7.41
  updated VERSION for 2.7.40
  update CONTRIBUTORS for 2.7.40
  updated CHANGELOG for 2.7.40
2018-01-10 12:30:01 +01:00
Christian Flothmann
fc9236dfb1 Merge branch '2.8' into 3.3
* 2.8:
  [Serializer] Fixed throwing exception with option JSON_PARTIAL_OUTPUT_ON_ERROR
  Tweaked some styles in the profiler tables
  [Security] Fail gracefully if the security token cannot be unserialized from the session
  [Form] AbstractLayoutTest - fix DOMDocument casing
  bumped Symfony version to 2.8.34
  updated VERSION for 2.8.33
  updated CHANGELOG for 2.8.33
  bumped Symfony version to 2.7.41
  updated VERSION for 2.7.40
  update CONTRIBUTORS for 2.7.40
  updated CHANGELOG for 2.7.40
2018-01-10 12:21:25 +01:00
Christian Flothmann
eca17ec964 Merge branch '2.7' into 2.8
* 2.7:
  [Serializer] Fixed throwing exception with option JSON_PARTIAL_OUTPUT_ON_ERROR
  [Security] Fail gracefully if the security token cannot be unserialized from the session
  [Form] AbstractLayoutTest - fix DOMDocument casing
  bumped Symfony version to 2.7.41
  updated VERSION for 2.7.40
  update CONTRIBUTORS for 2.7.40
  updated CHANGELOG for 2.7.40
2018-01-10 12:05:18 +01:00
Fabien Potencier
0cbd417b5a bug #25699 [HttpKernel] Fix session handling: decouple "save" from setting response "private" (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Fix session handling: decouple "save" from setting response "private"

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

Fixes https://github.com/symfony/symfony/pull/25583#issuecomment-355717344 from @Tobion, and provides extra laziness for the "session" service, related to https://github.com/symfony/recipes/pull/333.

(deps=high failure will be fixed by merging to upper branches.)

Commits
-------

f8727b8827 [HttpKernel] Fix session handling: decouple "save" from setting response "private"
2018-01-10 10:22:55 +01:00
Nicolas Grekas
fad59b3ce7 bug #25490 [Serializer] Fixed throwing exception with option JSON_PARTIAL_OUTPUT_ON_ERROR (diversantvlz)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] Fixed throwing exception with option JSON_PARTIAL_OUTPUT_ON_ERROR

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

<!--
- Bug fixes must be submitted against the lowest branch where they apply
  (lowest branches are regularly merged to upper ones so they get the fixes too).
- Features and deprecations must be submitted against the master branch.
- Replace this comment by a description of what your PR is solving.
-->

Php function json_encode/decode with option JSON_PARTIAL_OUTPUT_ON_ERROR  return result on error, but if have is error json_last_error() always return error code even if there is a result and it is not false. Because of this is impossible set JSON_PARTIAL_OUTPUT_ON_ERROR option across variable $context.

Current fix solves this problem.

Verification on the false is completely correct, since json_encode / decode returns false only on error if not set JSON_PARTIAL_OUTPUT_ON_ERROR option.

Such have a problem e.g when encoding data is not utf-8 (emoji from facebook).

Commits
-------

e7e410b [Serializer] Fixed throwing exception with option JSON_PARTIAL_OUTPUT_ON_ERROR
2018-01-10 10:09:58 +01:00
Vacheslav Silyutin
e7e410bfeb [Serializer] Fixed throwing exception with option JSON_PARTIAL_OUTPUT_ON_ERROR 2018-01-10 10:02:39 +01:00
Nicolas Grekas
f8727b8827 [HttpKernel] Fix session handling: decouple "save" from setting response "private" 2018-01-10 09:23:11 +01:00
Fabien Potencier
bbcdbfac97 bug #25737 [TwigBridge] swap filter/function and package names (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[TwigBridge] swap filter/function and package names

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

Error message was `Did you forget to run "composer require symfony/csrf_token"? Unknown function "form" in "Security/Pages/login.html".` and will now be `Did you forget to run "composer require symfony/form"? Unknown function "csrf_token" in "Security/Pages/login.html".`

Commits
-------

9db699bd8d swap filter/function and package names
2018-01-10 08:52:17 +01:00
Christian Flothmann
9db699bd8d swap filter/function and package names 2018-01-10 08:38:05 +01:00
Fabien Potencier
8ab89ce4ef minor #25720 [HttpKernel] Add tests for request collector and cookie redirection (sroze)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Add tests for request collector and cookie redirection

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

Not that I felt bad doing a PR without tests (#25719) but this one adds tests to be sure we stabilize this cookie-based redirection.

Commits
-------

7b4f5a15e7 Add tests for the HttpKernel request collector and redirection via cookies
2018-01-10 07:34:28 +01:00
Fabien Potencier
93755abd9f bug #25731 [HttpFoundation] Always call proxied handler::destroy() in StrictSessionHandler (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] Always call proxied handler::destroy() in StrictSessionHandler

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

Noticed by @jpauli: the native file session handler needs a call to `destroy()` to remove session files, even for new empty sessions.

Commits
-------

e5e2d5ddd2 [HttpFoundation] Always call proxied handler::destroy() in StrictSessionHandler
2018-01-10 07:27:53 +01:00
Nicolas Grekas
e5e2d5ddd2 [HttpFoundation] Always call proxied handler::destroy() in StrictSessionHandler 2018-01-09 17:31:41 +01:00
Nicolas Grekas
8c3eadb1b1 [HttpKernel] Fix compile error when a legacy container is fresh again 2018-01-09 15:42:43 +01:00
Nicolas Grekas
9e8231ff0b [FrameworkBundle] Automatically enable the CSRF if component *+ session* are loaded 2018-01-09 14:58:36 +01:00
Samuel ROZE
7b4f5a15e7
Add tests for the HttpKernel request collector and redirection via cookies 2018-01-08 19:18:05 +00:00
Samuel ROZE
83f257943f
Uses cookies to track the requests redirection 2018-01-08 16:08:04 +00:00
Fabien Potencier
7085569b50 bug #25696 [FrameworkBundle] Fix using "annotations.cached_reader" in after-removing passes (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[FrameworkBundle] Fix using "annotations.cached_reader" in after-removing passes

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

When `annotation_reader` is instantiated in an after-removing pass, it gets the real cache provider, instead of the dummy one that should be provided during compilation of the container.

This situation is found in e.g. `JMS\AopBundle\DependencyInjection\Compiler\PointcutMatchingPass`.

A workaround before next release could be to "get" the `annotation_reader` service somewhere before (like in a regular compiler pass of your own.)

Commits
-------

f66f9a7b37 [FrameworkBundle] Fix using "annotations.cached_reader" in after-removing passes
2018-01-08 14:20:03 +01:00
Fabien Potencier
a97f8b7954 feature #25710 [FrameworkBundle] add cache.app.simple psr simple cache (dmaicher)
This PR was squashed before being merged into the 4.1-dev branch (closes #25710).

Discussion
----------

[FrameworkBundle] add cache.app.simple psr simple cache

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

This adds a PSR SimpleCache version of the `cache.app` service.

Should I also update the documentation somewhere? 😊

Commits
-------

1b6ec8b0ae [FrameworkBundle] add cache.app.simple psr simple cache
2018-01-08 14:16:52 +01:00
David Maicher
1b6ec8b0ae [FrameworkBundle] add cache.app.simple psr simple cache 2018-01-08 14:16:50 +01:00
Fabien Potencier
f2d687a08f feature #25669 [Security] Fail gracefully if the security token cannot be unserialized from the session (thewilkybarkid)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] Fail gracefully if the security token cannot be unserialized from the session

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

If the security token in the session can't be unserialized, an `E_NOTICE` is issued. This prevents it (and provides a better log message if it's not even a `__PHP_Incomplete_Class`).

This is similar to #24731, but I saw it triggered when changing OAuth library (https://github.com/elifesciences/journal/pull/824), so the token class itself no longer exists. (I want to avoid having to manually invalidate all sessions, as not all sessions use that token class.)

Commits
-------

053fa43add [Security] Fail gracefully if the security token cannot be unserialized from the session
2018-01-08 14:01:11 +01:00
Fabien Potencier
445ce1d437 feature #25504 [Validator] Add option to pass custom values to Expression validator (ostrolucky)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Validator] Add option to pass custom values to Expression validator

| 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 needed this in a Form. I had no way to pass things from `$options` into Expression validator.

Maybe can aid in https://github.com/symfony/symfony/pull/23134

Commits
-------

ba0565e3e8 [Validator] Add option to pass custom values to Expression validator
2018-01-08 13:57:43 +01:00
Javier Eguiluz
bc80258a1e Tweaked some styles in the profiler tables 2018-01-07 18:01:19 +01:00
Nicolas Grekas
6108a212ad minor #25585 Add type string to docblock for Process::setInput() (icanhazstring)
This PR was submitted for the 3.4 branch but it was squashed and merged into the 3.3 branch instead (closes #25585).

Discussion
----------

Add type string to docblock for Process::setInput()

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

Add `string` as valid `$input` for `Process::setInput()`. Since `getInput()` will also return as string and the internal method `ProcessUtils::validateInput()` will accept a string, this should be a viable input type.

Commits
-------

e3de68f2 Add type string to docblock for Process::setInput()
2018-01-07 10:28:20 +01:00
Andreas Frömer
e3de68f2ff Add type string to docblock for Process::setInput() 2018-01-07 10:22:45 +01:00
Chris Wilkinson
053fa43add [Security] Fail gracefully if the security token cannot be unserialized from the session 2018-01-07 10:03:03 +01:00
Tomáš Votruba
a93861fef2
[Form] AbstractLayoutTest - fix DOMDocument casing 2018-01-07 00:30:09 +01:00
Dennis Langen
e2ddc17b79 adding interface alias for reader, writer and extractor 2018-01-06 17:10:26 +01:00
Roland Franssen
499d04fa92 [Console] Improve phpdoc on StyleInterface::ask() 2018-01-06 17:08:48 +01:00
Roland Franssen
7c9a6c3864 Run simple-phpunit with --no-suggest option 2018-01-06 16:56:43 +01:00
Nicolas Grekas
f66f9a7b37 [FrameworkBundle] Fix using "annotations.cached_reader" in after-removing passes 2018-01-05 13:12:39 +01:00
Fabien Potencier
37788a4774 bumped Symfony version to 4.0.4 2018-01-05 10:03:37 +01:00
Fabien Potencier
e705386d56 updated VERSION for 4.0.3 2018-01-05 09:54:25 +01:00
Fabien Potencier
f95ac4f809 bumped Symfony version to 3.4.4 2018-01-05 09:53:28 +01:00
Fabien Potencier
c49f693830 updated VERSION for 3.4.3 2018-01-05 09:33:00 +01:00
Fabien Potencier
9419535736 bumped Symfony version to 3.3.16 2018-01-05 09:11:08 +01:00
Fabien Potencier
c04fa7bf3f updated VERSION for 3.3.15 2018-01-05 08:28:45 +01:00
Fabien Potencier
7949672e39 bumped Symfony version to 2.8.34 2018-01-05 08:16:18 +01:00
Fabien Potencier
643eb0dfdd updated VERSION for 2.8.33 2018-01-05 07:19:35 +01:00
Fabien Potencier
05adcd07bd bumped Symfony version to 2.7.41 2018-01-05 06:53:01 +01:00
Fabien Potencier
f0467eb03a updated VERSION for 2.7.40 2018-01-05 06:16:01 +01:00
Gabriel Ostrolucký
ba0565e3e8 [Validator] Add option to pass custom values to Expression validator 2018-01-04 18:52:04 +01:00
Nicolas Grekas
ebf3f0e051 Merge branch '4.0'
* 4.0:
  [Bridge/PhpUnit] Fix BC/FC of serialized deprecations
2018-01-04 18:20:19 +01:00
Nicolas Grekas
4900d80f03 Merge branch '3.4' into 4.0
* 3.4:
  [Bridge/PhpUnit] Fix BC/FC of serialized deprecations
2018-01-04 18:20:09 +01:00
Nicolas Grekas
8e473ab06d [Bridge/PhpUnit] Fix BC/FC of serialized deprecations 2018-01-04 18:19:23 +01:00
Nicolas Grekas
d275178266 Merge branch '4.0'
* 4.0:
  Use triggering file to determine weak vendors if when the test is run in a separate process
2018-01-04 18:00:53 +01:00
Nicolas Grekas
9624e449ad Merge branch '3.4' into 4.0
* 3.4:
  Use triggering file to determine weak vendors if when the test is run in a separate process
2018-01-04 18:00:39 +01:00
Nicolas Grekas
228453b33a bug #25685 Use triggering file to determine weak vendors if when the test is run in a separate process (alexpott)
This PR was squashed before being merged into the 3.4 branch (closes #25685).

Discussion
----------

Use triggering file to determine weak vendors if when the test is run in a separate process

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | I think so
| Fixed tickets | #25684
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

<!--
- Bug fixes must be submitted against the lowest branch where they apply
  (lowest branches are regularly merged to upper ones so they get the fixes too).
- Features and deprecations must be submitted against the master branch.
- Replace this comment by a description of what your PR is solving.
-->

Commits
-------

3830577 Use triggering file to determine weak vendors if when the test is run in a separate process
2018-01-04 18:00:19 +01:00
Alex Pott
38305777f1 Use triggering file to determine weak vendors if when the test is run in a separate process 2018-01-04 17:57:37 +01:00
Nicolas Grekas
34dd512092 Merge branch '4.0'
* 4.0:
  [DI] fix param name cast
  Remove randomness from dumped containers
  fixed messages to be explicit about the package needed to be installed
  [FrameworkBundle] Fix recommended composer command (add vendor)
  [WebProfilerBundle] set the var in the right scope
  [TwigBundle] fix lowest dep
  [HttpKernel] Disable CSP header on exception pages
  Use the default host even if context is empty and fallback to relative URL if empty host
  Proposing Flex-specific error messages in the controller shortcuts
2018-01-04 17:09:16 +01:00
Nicolas Grekas
dd28a3286f [DI] fix param name cast 2018-01-04 16:56:45 +01:00
Nicolas Grekas
1ff918258c Merge branch '3.4' into 4.0
* 3.4:
  Remove randomness from dumped containers
  fixed messages to be explicit about the package needed to be installed
  [FrameworkBundle] Fix recommended composer command (add vendor)
  [WebProfilerBundle] set the var in the right scope
  [TwigBundle] fix lowest dep
  [HttpKernel] Disable CSP header on exception pages
  Use the default host even if context is empty and fallback to relative URL if empty host
  Proposing Flex-specific error messages in the controller shortcuts
2018-01-04 16:52:56 +01:00
Nicolas Grekas
234129404f Merge branch '3.3' into 3.4
* 3.3:
  [HttpKernel] Disable CSP header on exception pages
2018-01-04 16:43:31 +01:00
Nicolas Grekas
d546dcf4eb Merge branch '2.8' into 3.3
* 2.8:
  [HttpKernel] Disable CSP header on exception pages
2018-01-04 16:43:12 +01:00
Nicolas Grekas
6c1a23b844 Merge branch '2.7' into 2.8
* 2.7:
  [HttpKernel] Disable CSP header on exception pages
2018-01-04 16:42:54 +01:00
Fabien Potencier
730841527a bug #25671 Remove randomness from dumped containers (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

Remove randomness from dumped containers

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

With this PR, the generated container is immutable by cache clearing: it doesn't contain any random string anymore (well, third party bundles can add random things back, but at least core doesn't).

Since the class+file name of the container is based on a hash of its content, it means that they are now stable also. This should help fix some edge cases/race conditions during cache clears/rebuilds.

(fabbot failure is false positive)

Commits
-------

14dd5d1dbd Remove randomness from dumped containers
2018-01-04 16:42:01 +01:00
Nicolas Grekas
47d486c01f minor #25682 Fix fixed messages to be explicit about the package needed to be installed (fabpot)
This PR was merged into the 3.4 branch.

Discussion
----------

Fix fixed messages to be explicit about the package needed to be installed

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

<!--
- Bug fixes must be submitted against the lowest branch where they apply
  (lowest branches are regularly merged to upper ones so they get the fixes too).
- Features and deprecations must be submitted against the master branch.
- Replace this comment by a description of what your PR is solving.
-->

Commits
-------

e8bc099 fixed messages to be explicit about the package needed to be installed
2018-01-04 16:27:33 +01:00
Nicolas Grekas
b3547a0794 Merge branch '3.3' into 3.4
* 3.3:
  Use the default host even if context is empty and fallback to relative URL if empty host
2018-01-04 16:09:34 +01:00
Nicolas Grekas
ba843c61d7 Merge branch '2.8' into 3.3
* 2.8:
  Use the default host even if context is empty and fallback to relative URL if empty host
2018-01-04 16:09:11 +01:00
Nicolas Grekas
14dd5d1dbd Remove randomness from dumped containers 2018-01-04 16:07:28 +01:00
Nicolas Grekas
8af464b888 Merge branch '2.7' into 2.8
* 2.7:
  Use the default host even if context is empty and fallback to relative URL if empty host
2018-01-04 15:58:28 +01:00
Fabien Potencier
e8bc099641 fixed messages to be explicit about the package needed to be installed 2018-01-04 14:13:45 +01:00
Tomas Kmieliauskas
f6d38b3770 [FrameworkBundle] Fix recommended composer command (add vendor)
Since running composer commands is time heavy, having a wrong one recommended to you just burns your time.
2018-01-04 14:08:31 +01:00
Javier Eguiluz
85240f2247 bug #25678 [WebProfilerBundle] set the var in the right scope (Jochen Mandl)
This PR was squashed before being merged into the 3.4 branch (closes #25678).

Discussion
----------

[WebProfilerBundle] set the var in the right scope

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

![2018-01-04 um 09 29 54](https://user-images.githubusercontent.com/1322118/34555989-de6fd11c-f134-11e7-81f7-9b840a946073.png)

This PR fixes the bug when displaying the toolbar. The variable "has_time_events" was not created in the scope of the toolbar.

Commits
-------

3e9780df59 [WebProfilerBundle] set the var in the right scope
2018-01-04 12:52:27 +01:00
Jochen Mandl
3e9780df59 [WebProfilerBundle] set the var in the right scope 2018-01-04 12:52:24 +01:00
Nicolas Grekas
837ec4df44 [TwigBundle] fix lowest dep 2018-01-04 11:29:03 +01:00
Gabriel Ostrolucký
f33a383a1a [HttpKernel] Disable CSP header on exception pages 2018-01-03 22:18:21 +01:00
Fabien Potencier
62c11e5ea8 bug #25491 [Routing] Use the default host even if context is empty (sroze)
This PR was merged into the 2.7 branch.

Discussion
----------

[Routing] Use the default host even if context is empty

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

When the host in the context is empty... we should still use the default host.

**Note:** it seems like a lot of changes but all I did was to remove the `if` and de-indent the code that was inside.

Commits
-------

8f357df75b Use the default host even if context is empty and fallback to relative URL if empty host
2018-01-03 19:00:19 +01:00
Fabien Potencier
abfa3eeca5 minor #25636 Backport Flex-specific error messages in controller shortcuts to 3.4 (weaverryan)
This PR was merged into the 3.4 branch.

Discussion
----------

Backport Flex-specific error messages in controller shortcuts to 3.4

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

Commits
-------

419e93465f Proposing Flex-specific error messages in the controller shortcuts
2018-01-03 18:28:45 +01:00
Nicolas Grekas
96e53f8837 Merge branch '4.0'
* 4.0:
  PHP CS Fixer: clean up repo and adjust config
  use interface_exists instead of class_exists
  [DX] [DI] Improve exception for invalid setter injection arguments
  Dumper shouldn't use html format for phpdbg
  [Validator] Fix access to root object when using composite constraint
2018-01-03 18:15:33 +01:00
Nicolas Grekas
dde7381c03 Merge branch '3.4' into 4.0
* 3.4:
  PHP CS Fixer: clean up repo and adjust config
  use interface_exists instead of class_exists
  [DX] [DI] Improve exception for invalid setter injection arguments
  Dumper shouldn't use html format for phpdbg
  [Validator] Fix access to root object when using composite constraint
2018-01-03 18:15:19 +01:00
Nicolas Grekas
682bf5b2ae Merge branch '3.3' into 3.4
* 3.3:
  PHP CS Fixer: clean up repo and adjust config
  use interface_exists instead of class_exists
  Dumper shouldn't use html format for phpdbg
  [Validator] Fix access to root object when using composite constraint
2018-01-03 18:14:19 +01:00
Nicolas Grekas
00e8908375 Merge branch '2.8' into 3.3
* 2.8:
  PHP CS Fixer: clean up repo and adjust config
  Dumper shouldn't use html format for phpdbg
  [Validator] Fix access to root object when using composite constraint
2018-01-03 18:13:53 +01:00
Samuel ROZE
8f357df75b
Use the default host even if context is empty and fallback to relative URL if empty host 2018-01-03 17:13:26 +00:00
Nicolas Grekas
5150086d08 Merge branch '2.7' into 2.8
* 2.7:
  PHP CS Fixer: clean up repo and adjust config
  Dumper shouldn't use html format for phpdbg
  [Validator] Fix access to root object when using composite constraint
2018-01-03 18:12:09 +01:00
Nicolas Grekas
0f884e0ae4 minor #25653 PHP CS Fixer: clean up repo and adjust config (keradus)
This PR was squashed before being merged into the 2.7 branch (closes #25653).

Discussion
----------

PHP CS Fixer: clean up repo and adjust config

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

Reason for this PR is that one want to have `php-cs-fixer fix -v` command executed without changes that shall not be applied for this repo. To achieve that, we need to groom config to exclude files that violate CS willingly, fix files that are violating CS unwillingly, and deliver missing case handling at PHP CS Fixer itself (https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/3359) (already merged!).

Commits
-------

b14cbc1 PHP CS Fixer: clean up repo and adjust config
2018-01-03 18:10:39 +01:00
Dariusz
b14cbc1845 PHP CS Fixer: clean up repo and adjust config 2018-01-03 18:10:15 +01:00
Kevin Bond
dc3a94e83a
use interface_exists instead of class_exists 2018-01-03 11:18:08 -05:00
Ryan Weaver
419e93465f Proposing Flex-specific error messages in the controller shortcuts 2018-01-03 15:34:56 +01:00
Niels Keurentjes
6850a228a7 [DX] [DI] Improve exception for invalid setter injection arguments 2018-01-03 12:24:16 +01:00
Jordan Hoff
e2b609162d Dumper shouldn't use html format for phpdbg 2018-01-03 11:33:04 +01:00
Fabien Potencier
d975ad63a0 bug #25529 [Validator] Fix access to root object when using composite constraint (ostrolucky)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] Fix access to root object when using composite constraint

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

Commits
-------

b18cdcf417 [Validator] Fix access to root object when using composite constraint
2018-01-03 09:00:37 +01:00
Fabien Potencier
f4b56b3038 fixed some deprecation messages 2018-01-03 08:40:15 +01:00
Fabien Potencier
3a7579d4b1 Merge branch '4.0'
* 4.0:
  fixed years in copyright
  fix typo
2018-01-03 08:38:11 +01:00
Fabien Potencier
bccb8b6524 Merge branch '3.4' into 4.0
* 3.4:
  fixed years in copyright
  fix typo
2018-01-03 08:38:00 +01:00
Fabien Potencier
a483d37eaf Merge branch '3.3' into 3.4
* 3.3:
  fixed years in copyright
2018-01-03 08:37:34 +01:00
Fabien Potencier
9918a66309 Merge branch '2.8' into 3.3
* 2.8:
  fixed years in copyright
2018-01-03 08:37:11 +01:00
Fabien Potencier
967066569a Merge branch '2.7' into 2.8
* 2.7:
  fixed years in copyright
2018-01-03 08:36:31 +01:00
Fabien Potencier
07a7f560cd fixed years in copyright 2018-01-03 08:23:28 +01:00
Nicolas Grekas
2ace731491 fix typo 2018-01-02 17:39:41 +01:00
Nicolas Grekas
95dfa9343c Merge branch '4.0'
* 4.0: (23 commits)
  Clean up
  Update return type in docblock.
  PHP CS Fixer: no need to exclude xml and yml files
  PHP CS Fixer: no need to exclude json file
  [#22749] fix version in changelog
  Update LICENSE year... forever
  fixed some deprecation messages
  fixed CS
  Fixes for Oracle in PdoSessionHandler
  fixed some deprecation messages
  fixed some deprecation messages
  fixed some deprecation messages
  fixed some deprecation messages
  Remove dead code
  [TwigBundle/Brige] catch missing requirements to throw meaningful exceptions
  [DI] fix CS
  [HttpKernel] Call Response->setPrivate() instead of sending raw header() when session is started
  [FrameworkBundle] Make cache:clear "atomic" and consistent with cache:warmup
  Suggest to write an implementation if the interface cannot be autowired
  [Debug] Skip DebugClassLoader checks for already parsed files
  ...
2018-01-02 17:38:14 +01:00
Nicolas Grekas
f9fdb228ce Merge branch '3.4' into 4.0
* 3.4:
  Clean up
  Update return type in docblock.
  PHP CS Fixer: no need to exclude xml and yml files
  PHP CS Fixer: no need to exclude json file
  Update LICENSE year... forever
  fixed some deprecation messages
  fixed CS
  Fixes for Oracle in PdoSessionHandler
  fixed some deprecation messages
  fixed some deprecation messages
  fixed some deprecation messages
  fixed some deprecation messages
  [TwigBundle/Brige] catch missing requirements to throw meaningful exceptions
  [HttpKernel] Call Response->setPrivate() instead of sending raw header() when session is started
  [FrameworkBundle] Make cache:clear "atomic" and consistent with cache:warmup
  Suggest to write an implementation if the interface cannot be autowired
  [Debug] Skip DebugClassLoader checks for already parsed files
  [2.7][DX] Use constant message contextualisation for deprecations
  Remove group options without data and fix normalization
  Remove redundant translation path
2018-01-02 17:33:53 +01:00
Nicolas Grekas
dd66512734 Merge branch '3.3' into 3.4
* 3.3:
  Clean up
  Update return type in docblock.
  PHP CS Fixer: no need to exclude xml and yml files
  PHP CS Fixer: no need to exclude json file
  Update LICENSE year... forever
2018-01-02 16:47:46 +01:00
Nicolas Grekas
096cbbd3cd Merge branch '2.8' into 3.3
* 2.8:
  Clean up
  Update return type in docblock.
  PHP CS Fixer: no need to exclude xml and yml files
  Update LICENSE year... forever
2018-01-02 16:47:19 +01:00
Nicolas Grekas
ae985d851a Merge branch '2.7' into 2.8
* 2.7:
  Clean up
  Update return type in docblock.
  PHP CS Fixer: no need to exclude xml and yml files
  Update LICENSE year... forever
2018-01-02 16:45:49 +01:00
Nicolas Grekas
28478374f7 minor #25646 Update LICENSE year... forever (dunglas)
This PR was merged into the 2.7 branch.

Discussion
----------

Update LICENSE year... forever

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | no
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | yes| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | n/a

By using the same trick than Facebook: https://github.com/facebook/react/blob/master/LICENSE

Commits
-------

8ce8bd5 Update LICENSE year... forever
2018-01-02 16:40:42 +01:00
Nicolas Grekas
e5772881b8 minor #25652 Clean up (carusogabriel)
This PR was squashed before being merged into the 2.7 branch (closes #25652).

Discussion
----------

Clean up

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

I've removed all white spaces and extra lines from our `markdown` files. Recently [I did it in our documentation](https://github.com/symfony/symfony-docs/pull/8944), and thought would be interesting to replicate here 😄

Commits
-------

acd0d7c Clean up
2018-01-02 16:37:25 +01:00
Gabriel Caruso
acd0d7c93f Clean up 2018-01-02 16:37:23 +01:00
ADmad
c5f0f4ce3e Update return type in docblock. 2018-01-02 16:34:25 +01:00
Christian Flothmann
546ca41926 [#22749] fix version in changelog 2018-01-01 13:55:57 +01:00
Christian Flothmann
5725e2ff7e Merge branch '3.3' into 3.4
* 3.3:
  fixed CS
  Fixes for Oracle in PdoSessionHandler
2017-12-31 15:10:23 +01:00
Christian Flothmann
b090d3deda Merge branch '2.8' into 3.3
* 2.8:
  fixed CS
  Fixes for Oracle in PdoSessionHandler
2017-12-31 14:45:46 +01:00
Christian Flothmann
2250ab1228 Merge branch '2.7' into 2.8
* 2.7:
  fixed CS
  Fixes for Oracle in PdoSessionHandler
2017-12-31 14:45:07 +01:00
Kévin Dunglas
8ce8bd5901
Update LICENSE year... forever 2017-12-31 13:13:41 +01:00
Fabien Potencier
4556996db2 bug #25404 [Form] Remove group options without data on debug:form command (yceruto)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] Remove group options without data on debug:form command

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

This also fix the normalization of the options column for text descriptor, regardless of changes in `collectOptions()` method (which is enough to fix the related bug).

@maidmaid could you confirm if these changes solve the problem?

Commits
-------

083c8af706 Remove group options without data and fix normalization
2017-12-31 08:08:29 +01:00
Fabien Potencier
3a5c8a424e fixed some deprecation messages 2017-12-31 07:59:27 +01:00
Fabien Potencier
22c0e81d79 Merge branch '3.3' into 3.4
* 3.3:
  fixed some deprecation messages
  fixed some deprecation messages
  fixed some deprecation messages
  fixed some deprecation messages
  [2.7][DX] Use constant message contextualisation for deprecations
2017-12-31 07:07:31 +01:00
Fabien Potencier
28485afd45 fixed CS 2017-12-31 07:02:56 +01:00
Fabien Potencier
891d354d19 bug #25430 Fixes for Oracle in PdoSessionHandler (elislenio)
This PR was squashed before being merged into the 2.7 branch (closes #25430).

Discussion
----------

Fixes for Oracle in PdoSessionHandler

| Q             | A
| ------------- | ---
| Branch?       | 2.7 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | #18305 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        |  <!--highly recommended for new features-->

<!--
Fixes missing session data for Oracle in PdoSessionHandler
-->

Commits
-------

e7a4002b4f Fixes for Oracle in PdoSessionHandler
2017-12-31 06:59:51 +01:00
Guido Donnari
e7a4002b4f Fixes for Oracle in PdoSessionHandler 2017-12-31 06:59:49 +01:00
Fabien Potencier
8ce9569d8a minor #25476 [FrameworkBundle] Remove redundant translation path (yceruto)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] Remove redundant translation path

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

This is only dead code, nothing change because all files are loaded from the `translations/` directory recursively and they override the ones from the bundle.

> http://symfony.com/doc/3.4/bundles/override.html#translations
> Translations are not related to bundles, but to domains. That means that you can override the translations from any translation file, as long as it is in the correct domain.

Commits
-------

16af89045a Remove redundant translation path
2017-12-31 06:54:09 +01:00
Fabien Potencier
74383b6e59 fixed some deprecation messages 2017-12-31 06:50:45 +01:00
Fabien Potencier
315180cd3b bug #25117 [FrameworkBundle] Make cache:clear "atomic" and consistent with cache:warmup (hkdobrev)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] Make cache:clear "atomic" and consistent with cache:warmup

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

Here's what happens before/after this PR on `cache:clear` and `cache:clear --no-warmup`.

### Before PR

**`cache:clear`**

1. `rm var/cache_old`
1. Clearing cache in `var/cache`    &nbsp;<i>&lt;--- This is not in line and not atomic</i>
1. `rm var/cache_warmup`
1. Warming up cache in `var/cache_warmup`
1. `mv var/cache var/cache_old`
1. `mv var/cache_warmup var/cache`
1. `rm var/cache_old`

**`cache:clear --no-warmup`**

1. `rm var/cache_old`
1. Clearing cache in `var/cache`    &nbsp;<i>&lt;--- This is not in line and not atomic</i>
1. `mv var/cache var/cache_old`    <i>&lt;--- The old cache dir is completely obsolete in this workflow</i>
1. `rm var/cache_old`

---

### After PR

**`cache:clear`**

1. `rm var/cache_old`
1. `rm var/cache_new`
1. Clearing cache in `var/cache_new`
1. Warming up cache in `var/cache_new`
1. `mv var/cache var/cache_old`
1. `mv var/cache_new var/cache`
1. `rm var/cache_old`

**`cache:clear --no-warmup`**

1. `rm var/cache_old`
1. `rm var/cache_new`
1. Clearing cache in `var/cache_new`
1. `mv var/cache var/cache_old`
1. `mv var/cache_new var/cache`
1. `rm var/cache_old`

---

The main differences:
- Unify the flows and have each distinct operation only once in the code
- Clear the cache in the new cache directory and then switch to it atomically instead of clearing in the current one.
- Always have the cache directory present in the end. It was missing after `cache:clear --no-warmup` before.

I think this brings more consistency and is aligned with the present goals of the command as well.

However, I'm not really familiar with the Symfony framework and I might have wrong assumptions.

Commits
-------

8b88d9fc36 [FrameworkBundle] Make cache:clear "atomic" and consistent with cache:warmup
2017-12-31 06:48:57 +01:00
Fabien Potencier
351b234f07 fixed some deprecation messages 2017-12-31 06:12:25 +01:00
Fabien Potencier
2dd70c8a65 Merge branch '2.7' into 2.8
* 2.7:
  fixed some deprecation messages
2017-12-31 06:04:01 +01:00
Fabien Potencier
b316e11836 fixed some deprecation messages 2017-12-31 05:55:05 +01:00
Fabien Potencier
e78ca822c4 Merge branch '2.7' into 2.8
* 2.7:
  fixed some deprecation messages
2017-12-31 05:47:31 +01:00
Fabien Potencier
170ab6340d fixed CS 2017-12-31 05:44:29 +01:00
Fabien Potencier
38b946ec86 feature #25516 [Validator] Deprecated "checkDNS" option in Url constraint (ro0NL)
This PR was squashed before being merged into the 4.1-dev branch (closes #25516).

Discussion
----------

[Validator] Deprecated "checkDNS" option in Url constraint

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

Commits
-------

70d15caf4f [Validator] Deprecated "checkDNS" option in Url constraint
2017-12-31 05:43:04 +01:00
Roland Franssen
70d15caf4f [Validator] Deprecated "checkDNS" option in Url constraint 2017-12-31 05:43:02 +01:00
Fabien Potencier
0d655bad1a minor #25568 [Debug] Skip DebugClassLoader checks for already parsed files (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Debug] Skip DebugClassLoader checks for already parsed files

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

Perf. fix for the dev mode only: I propose to run the checks done by DebugClassLoader only once, when the file is changed/parsed.

This should improve DX much, by making the dev env faster. Here is a bench on the hello world of the standard edition (class inlining by the DIC disabled, but still):

![image](https://user-images.githubusercontent.com/243674/34224242-8852ee9a-e5c2-11e7-94ae-6edc6ab41de5.png)

https://blackfire.io/profiles/compare/31ff0792-9992-4658-9707-cac87a320d1f/graph

Commits
-------

f0c12234b9 [Debug] Skip DebugClassLoader checks for already parsed files
2017-12-31 05:37:13 +01:00
Fabien Potencier
dc554562c8 fixed some deprecation messages 2017-12-31 05:27:30 +01:00
Fabien Potencier
be411de4d0 Merge branch '2.7' into 2.8
* 2.7:
  [2.7][DX] Use constant message contextualisation for deprecations
2017-12-31 05:16:51 +01:00
Fabien Potencier
7b4d519885 minor #25565 [2.7][DX] Use constant message contextualisation for deprecations (romainneutron)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7][DX] Use constant message contextualisation for deprecations

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

Since many projects are using this mechanism for deprecating feature, it is sometimes difficult to understand which vendor triggers a deprecation.
Sometimes we're using `since Symfony x.y` format, sometimes we are using `since x.y`. I propose to always use `since Symfony x.y` format.

Commits
-------

c2338cbd7a [2.7][DX] Use constant message contextualisation for deprecations
2017-12-31 05:14:56 +01:00
Fabien Potencier
8c33cd45cb feature #25588 Move SecurityUserValueResolver to security-http (chalasr)
This PR was merged into the 4.1-dev branch.

Discussion
----------

Move SecurityUserValueResolver to security-http

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

Commits
-------

30a07e7753 Move SecurityUserValueResolver to security-http
2017-12-31 04:41:12 +01:00
Fabien Potencier
88ed829a1f feature #25629 [Process] Make PhpExecutableFinder look for the PHP_BINARY env var (nicolas-grekas)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Process] Make `PhpExecutableFinder` look for the `PHP_BINARY` env var

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

I think this is enough to fix the linked issue and thus replace #23721.
ping @tomasfejfar FYI

Commits
-------

4bd01f252f [Process] Make `PhpExecutableFinder` look for the `PHP_BINARY` env var
2017-12-31 04:36:46 +01:00
Fabien Potencier
f0b1dc2f7e bug #25583 [HttpKernel] Call Response->setPrivate() instead of sending raw header() when session is started (Toflar)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Call Response->setPrivate() instead of sending raw header() when session is started

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

As described in #24988 I think the current handling of the `Cache-Control` header set by the `NativeSessionStorage` causes inconsistent behaviour.

In #24988 @nicolas-grekas states that if you start a session a response should be considered to be private. I do agree with this but up until now, nobody takes care of this on `kernel.response`.

I think we must always suppress the `NativeSessionStorage` from generating any headers by default. Otherwise the `Cache-Control` header never makes it to the `Response` instance and is thus missed by `kernel.response` listeners and for example the Symfony HttpCache. So depending on whether you use Symfony's HttpCache  or Varnish as a reverse proxy, caching would be handled differently.  Varnish would consider the response to be private if you set the php.ini setting `session.cache_limiter` to `nocache` (which is default) because it will receive the header. HttpCache would not because the `Cache-Control` header is not present on the `Response`.  That's inconsistent and may cause confusion or problems when switching proxies.

Commits
-------

dbc1c1c4b6 [HttpKernel] Call Response->setPrivate() instead of sending raw header() when session is started
2017-12-31 04:28:37 +01:00
Robin Chalas
b8006b1986 Remove dead code 2017-12-31 04:28:13 +01:00
Fabien Potencier
bbe23a79d4 bug #25601 [TwigBundle/Brige] catch missing requirements to throw meaningful exceptions (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[TwigBundle/Brige] catch missing requirements to throw meaningful exceptions

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #25256, https://github.com/symfony/webpack-encore/issues/173
| License       | MIT
| Doc PR        | -

It is possible to register a handler for undefined twig functions/filters.
IMHO, this is the hook point we should leverage to throw meaningful exception messages.

This works well on its own. We now just need to list the functions/filters with appropriate messages.

There is one case we could enhance: at warmup time, Twig exceptions are swallowed, thus not visible.
Shouldn't we make these visible instead?

ping @weaverryan since this is related to two issues of yours.

Commits
-------

ac891ac881 [TwigBundle/Brige] catch missing requirements to throw meaningful exceptions
2017-12-30 12:42:46 +01:00
Nicolas Grekas
ac891ac881 [TwigBundle/Brige] catch missing requirements to throw meaningful exceptions 2017-12-30 11:01:46 +01:00
Nicolas Grekas
042247123e bug #25547 [DX][DependencyInjection] Suggest to write an implementation if the interface cannot be autowired (sroze)
This PR was merged into the 3.4 branch.

Discussion
----------

[DX][DependencyInjection] Suggest to write an implementation if the interface cannot be autowired

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

This would add a hint for the developers when the interface cannot be wired. This suggests creating the implementation of the interface.

**Note:** this is 3.4 because I believe DX should be treated as bugs.
**Note 2:** fabbot issue is false positive

Commits
-------

961e3e7 Suggest to write an implementation if the interface cannot be autowired
2017-12-29 22:59:52 +01:00
Nicolas Grekas
3a23ec7e4a [DI] fix CS 2017-12-29 22:45:37 +01:00
Nicolas Grekas
6470380c22 Merge branch '4.0'
* 4.0:
  fix merge
2017-12-29 22:31:52 +01:00
Nicolas Grekas
fba1722262 Merge branch '3.4' into 4.0
* 3.4:
  fix merge
2017-12-29 22:31:32 +01:00
Nicolas Grekas
3b8ca1a289 fix merge 2017-12-29 22:30:41 +01:00
Nicolas Grekas
4bd01f252f [Process] Make PhpExecutableFinder look for the PHP_BINARY env var 2017-12-29 22:24:25 +01:00
Nicolas Grekas
cf898572a0 Merge branch '4.0'
* 4.0: (23 commits)
  Add application/ld+json format associated to json
  [HttpFoundation] Fix false-positive ConflictingHeadersException
  remove flex-specific suggestion on 3.4
  Add check for SecurityBundle in createAccessDeniedException
  [WebServerBundle] Fix escaping of php binary with arguments
  Error handlers' $context should be optional as it's deprecated
  [Serializer] Correct typing mistake in DocBlock
  [HttpKernel] fix cleaning legacy containers
  Display n/a for sub-requests time when Stopwatch component is not installed
  Updating message to inform the user how to install the component
  [Config] Fix closure CS
  [Console] Simplify parameters in DI
  PHP CS Fixer: use PHPUnit Migration ruleset
  [Process] Skip false-positive test on Windows/appveyor
  Update MemcachedTrait.php
  [Bridge/PhpUnit] thank phpunit/phpunit
  allow auto_wire for SessionAuthenticationStrategy class
  [Process] Fix setting empty env vars
  Fixed 'RouterInteface' typo
  [Process] Dont use getenv(), it returns arrays and can introduce subtle breaks accros PHP versions
  ...
2017-12-29 22:01:22 +01:00
Nicolas Grekas
6a69c7f0d8 Merge branch '3.4' into 4.0
* 3.4: (22 commits)
  Add application/ld+json format associated to json
  [HttpFoundation] Fix false-positive ConflictingHeadersException
  remove flex-specific suggestion on 3.4
  Add check for SecurityBundle in createAccessDeniedException
  [WebServerBundle] Fix escaping of php binary with arguments
  Error handlers' $context should be optional as it's deprecated
  [Serializer] Correct typing mistake in DocBlock
  [HttpKernel] fix cleaning legacy containers
  Display n/a for sub-requests time when Stopwatch component is not installed
  Updating message to inform the user how to install the component
  [Config] Fix closure CS
  PHP CS Fixer: use PHPUnit Migration ruleset
  [Process] Skip false-positive test on Windows/appveyor
  Update MemcachedTrait.php
  [Bridge/PhpUnit] thank phpunit/phpunit
  allow auto_wire for SessionAuthenticationStrategy class
  [Process] Fix setting empty env vars
  Fixed 'RouterInteface' typo
  [Process] Dont use getenv(), it returns arrays and can introduce subtle breaks accros PHP versions
  [WebServerBundle] fix a bug where require would not require the good file because of env
  ...
2017-12-29 22:00:20 +01:00
Nicolas Grekas
cc027a261f Merge branch '3.3' into 3.4
* 3.3:
  Add application/ld+json format associated to json
  [HttpFoundation] Fix false-positive ConflictingHeadersException
  [WebServerBundle] Fix escaping of php binary with arguments
  Error handlers' $context should be optional as it's deprecated
  [Serializer] Correct typing mistake in DocBlock
  [Config] Fix closure CS
  PHP CS Fixer: use PHPUnit Migration ruleset
  Update MemcachedTrait.php
  [Bridge/PhpUnit] thank phpunit/phpunit
  [Process] Fix setting empty env vars
  [Process] Dont use getenv(), it returns arrays and can introduce subtle breaks accros PHP versions
  [WebServerBundle] fix a bug where require would not require the good file because of env
  [Console] Commands with an alias should not be recognized as ambiguous
2017-12-29 21:55:26 +01:00
Nicolas Grekas
770e51517f Merge branch '2.8' into 3.3
* 2.8:
  Add application/ld+json format associated to json
2017-12-29 21:49:27 +01:00
Nicolas Grekas
1ff076223f Merge branch '2.7' into 2.8
* 2.7:
  Add application/ld+json format associated to json
2017-12-29 21:49:09 +01:00
Nicolas Grekas
2f2a47becc bug #25599 Add application/ld+json format associated to json (vincentchalamon)
This PR was squashed before being merged into the 2.7 branch (closes #25599).

Discussion
----------

Add application/ld+json format associated to json

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

Add `application/ld+json` Content-Type as json format in Request.

Commits
-------

0917c4c Add application/ld+json format associated to json
2017-12-29 21:47:51 +01:00
Vincent CHALAMON
0917c4c2ae Add application/ld+json format associated to json 2017-12-29 21:47:49 +01:00
Nicolas Grekas
205e8ee3d4 minor #25619 Error handlers' $context should be optional as it's deprecated (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

Error handlers' $context should be optional as it's deprecated

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

Commits
-------

f4fcbcd Error handlers' $context should be optional as it's deprecated
2017-12-29 21:46:18 +01:00
Nicolas Grekas
f6756adda8 bug #25623 [HttpFoundation] Fix false-positive ConflictingHeadersException (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[HttpFoundation] Fix false-positive ConflictingHeadersException

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

Commits
-------

e1591bd [HttpFoundation] Fix false-positive ConflictingHeadersException
2017-12-29 21:45:11 +01:00
Nicolas Grekas
e1591bdadf [HttpFoundation] Fix false-positive ConflictingHeadersException 2017-12-29 21:43:23 +01:00
Nicolas Grekas
f20515a6c2 bug #25624 [WebServerBundle] Fix escaping of php binary with arguments (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[WebServerBundle] Fix escaping of php binary with arguments

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

Not really needed in practice, yet more correct, and will open some improvements in PhpExecutableFinder for master.

Commits
-------

6629ae5 [WebServerBundle] Fix escaping of php binary with arguments
2017-12-29 21:41:06 +01:00
Robin Chalas
67ceb50b1b Merge branch '2.8' into 3.3
* 2.8:
  [Serializer] Correct typing mistake in DocBlock
  [Config] Fix closure CS
  PHP CS Fixer: use PHPUnit Migration ruleset
  [Console] Commands with an alias should not be recognized as ambiguous
2017-12-29 16:48:30 +01:00
Robin Chalas
88f7e33c91 Merge branch '2.7' into 2.8
* 2.7:
  [Serializer] Correct typing mistake in DocBlock
  [Config] Fix closure CS
  PHP CS Fixer: use PHPUnit Migration ruleset
  [Console] Commands with an alias should not be recognized as ambiguous
2017-12-29 16:41:53 +01:00
Robin Chalas
61fc5f7671 remove flex-specific suggestion on 3.4 2017-12-29 16:39:13 +01:00
Frederic G. MARAND
a013c019a7 Add check for SecurityBundle in createAccessDeniedException 2017-12-29 14:30:56 +01:00
Nicolas Grekas
6629ae535d [WebServerBundle] Fix escaping of php binary with arguments 2017-12-29 12:04:53 +01:00
Yanick Witschi
dbc1c1c4b6 [HttpKernel] Call Response->setPrivate() instead of sending raw header() when session is started 2017-12-29 11:28:36 +01:00
Nicolas Grekas
f4fcbcd3da Error handlers' $context should be optional as it's deprecated 2017-12-28 18:52:10 +01:00
Sam Anthony
29486a431c [Serializer] Correct typing mistake in DocBlock
| Q             | A
| ------------- | ---
| Branch?       | 2.1 to 4.0
| Bug fix?      | yes (comment only)
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | na
| Fixed tickets | na
| License       | MIT
| Doc PR        |

DocBlock comment referred to `NormalizableInterface` but code was using `DenormalizableInterface`
2017-12-28 12:22:04 +01:00
Nicolas Grekas
89903e10f2 bug #25591 [HttpKernel] fix cleaning legacy containers (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] fix cleaning legacy containers

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

The suffix used to be `.legacyContainer` (length=16) but we forgot to update the length when it was changed to `.legacy` (length=7).

Commits
-------

324821d [HttpKernel] fix cleaning legacy containers
2017-12-28 12:11:35 +01:00
Javier Eguiluz
ae6f66821f bug #25526 [WebProfilerBundle] Fix panel break when stopwatch component is not installed. (umulmrum, javiereguiluz)
This PR was merged into the 3.4 branch.

Discussion
----------

[WebProfilerBundle] Fix panel break when stopwatch component is not installed.

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

Fixes a crash in the time profiler panel when the stopwatch is not installed. This avoids a hard dependency like the ticket author requested, as the rest of the component can already deal with that case.

I think this is an issue in 3.4+, but I only tested against 4.0.2 locally (code in the affected file only differs in whitespace between 3.4 and 4.0).

Commits
-------

e9577cb207 Display n/a for sub-requests time when Stopwatch component is not installed
410b597393 Fix panel break when stopwatch component is not installed.
2017-12-28 12:09:31 +01:00
Nicolas Grekas
324821d97c [HttpKernel] fix cleaning legacy containers 2017-12-28 12:08:28 +01:00
Javier Eguiluz
e9577cb207
Display n/a for sub-requests time when Stopwatch component is not installed 2017-12-28 12:08:28 +01:00
Ryan Weaver
07ac535abf Updating message to inform the user how to install the component 2017-12-27 11:16:13 +01:00
Issei.M
d4a428c20d [Config] Fix closure CS 2017-12-27 11:12:35 +01:00
Haralan Dobrev
8b88d9fc36 [FrameworkBundle] Make cache:clear "atomic" and consistent with cache:warmup 2017-12-27 10:35:49 +01:00
Samuel ROZE
961e3e719c
Suggest to write an implementation if the interface cannot be autowired 2017-12-24 11:30:04 +01:00
Tobias Schultze
ae47805358 [Console] Simplify parameters in DI 2017-12-24 07:06:54 +01:00
Robin Chalas
30a07e7753 Move SecurityUserValueResolver to security-http 2017-12-23 01:50:31 +01:00
Nicolas Grekas
f0c12234b9 [Debug] Skip DebugClassLoader checks for already parsed files 2017-12-22 23:58:25 +01:00
Nicolas Grekas
cd6690dacd bug #25571 [SecurityBundle] allow auto_wire for SessionAuthenticationStrategy class (xavren)
This PR was merged into the 3.4 branch.

Discussion
----------

[SecurityBundle] allow auto_wire for SessionAuthenticationStrategy class

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

Commits
-------

b36154e allow auto_wire for SessionAuthenticationStrategy class
2017-12-22 23:39:48 +01:00
Nicolas Grekas
8a1a9f94d6 minor #25584 Update MemcachedTrait.php (T-RonX)
This PR was merged into the 3.3 branch.

Discussion
----------

Update MemcachedTrait.php

typo

Commits
-------

c1b7708 Update MemcachedTrait.php
2017-12-22 23:01:22 +01:00
Nicolas Grekas
1aa983734c [Process] Skip false-positive test on Windows/appveyor 2017-12-22 23:00:09 +01:00
Nicolas Grekas
f24a828124 bug #25567 [Process] Fix setting empty env vars (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[Process] Fix setting empty env vars

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

Commits
-------

03adce2 [Process] Fix setting empty env vars
2017-12-22 22:36:29 +01:00
Ron Gähler
c1b770889f
Update MemcachedTrait.php
typo
2017-12-22 16:05:44 +01:00
Robin Chalas
4bd9c79e93 bug #25407 [Console] Commands with an alias should not be recognized as ambiguous (Simperfit)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Commands with an alias should not be recognized as ambiguous

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | no
| Fixed tickets | no <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        |

When having two commands with the same starting name and an alias equal to the starting name, we should not have an ambiguous error because we are setting the alias.

Commits
-------

863f632 [Console] Commands with an alias should not be recognized as ambiguous
2017-12-22 03:12:01 +01:00
Nicolas Grekas
c84c928440 [Bridge/PhpUnit] thank phpunit/phpunit 2017-12-21 16:17:10 +01:00
xavren
b36154eb6c allow auto_wire for SessionAuthenticationStrategy class 2017-12-21 09:56:34 +01:00
Nicolas Grekas
03adce239d [Process] Fix setting empty env vars 2017-12-20 17:27:40 +01:00
Ion Bazan
680f85478c
Fixed 'RouterInteface' typo 2017-12-20 16:01:44 +01:00
Romain Neutron
c2338cbd7a
[2.7][DX] Use constant message contextualisation for deprecations 2017-12-20 15:36:51 +01:00
Nicolas Grekas
743be09e3d bug #25523 [WebServerBundle] fix a bug where require would not require the good file because of env (Simperfit)
This PR was merged into the 3.3 branch.

Discussion
----------

[WebServerBundle] fix a bug where require would not require the good file because of env

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

This fixes a bug with putenv that could be not working on certain version of php. (>=7.0.0).

Commits
-------

bfeee1f [WebServerBundle] fix a bug where require would not require the good file because of env
2017-12-20 15:28:41 +01:00