Commit Graph

36988 Commits

Author SHA1 Message Date
Grégoire Pineau 6b76c365ea Use the current working dir as default first arg in 'link' binary 2019-05-16 11:52:39 +02:00
Fabien Potencier 01964c8570 minor #31499 [Validator] Add the missing translations for the Danish ("da") locale (gauss)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] Add the missing translations for the Danish ("da") locale

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

Addresses the missing translations listed in #30155

Commits
-------

710f8a6367 [Validator] Add the missing translations for the Danish ("da") locale
2019-05-15 07:17:01 +02:00
gauss 710f8a6367 [Validator] Add the missing translations for the Danish ("da") locale 2019-05-14 17:13:30 +03:00
Nicolas Grekas 00552848f8 bug #31438 [Serializer] Fix denormalization of object with variadic constructor typed argument (ajgarlag)
This PR was squashed before being merged into the 3.4 branch (closes #31438).

Discussion
----------

[Serializer] Fix denormalization of object with variadic constructor typed argument

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

This PR adds a test to demonstrate the bug, and a fix to squash it.

Commits
-------

c8c3c56cc8 [Serializer] Fix denormalization of object with variadic constructor typed argument
2019-05-11 11:57:45 +02:00
Antonio J. García Lagar c8c3c56cc8 [Serializer] Fix denormalization of object with variadic constructor typed argument 2019-05-11 11:57:38 +02:00
Nicolas Grekas 11f8a1e5c9 bug #31475 [HttpFoundation] Allow set 'None' on samesite cookie flag (markitosgv)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] Allow set 'None' on samesite cookie flag

Allow set samesite cookie flag to 'None' value

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

Google introduces new Chrome policy, marking all none setted samesite flag to 'Strict' by default. If you want to allow third party cookies you must set samesite flag to None.

This PR fixes #31467, allow to put samesite Cookie flag to None.

Commits
-------

8bac3d6fa3 Allow set 'None' on samesite cookie flag
2019-05-11 11:52:36 +02:00
Marcos Gómez Vilches 8bac3d6fa3
Allow set 'None' on samesite cookie flag
Allow set samesite cookie flag to 'None' value
2019-05-10 21:58:31 +02:00
Fabien Potencier c717083d84 minor #31448 [Form] Restore default locale during tests (ro0NL)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] Restore default locale during tests

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes-ish
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | https://github.com/symfony/symfony/pull/31294#issuecomment-490981860
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

This fixes the failing tests in #31294

Commits
-------

7fce86f1db [Form] Restore default locale during tests
2019-05-10 07:37:09 +02:00
Roland Franssen 7fce86f1db [Form] Restore default locale during tests 2019-05-09 19:39:59 +02:00
Nicolas Grekas fb4d92877f bug #31261 [Console] Commands with an alias should not be recognized as ambiguous when using register (Simperfit)
This PR was merged into the 3.4 branch.

Discussion
----------

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

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

I think when passing an alias, it should not be treated as a ambiguous command since it's configured to response to it.

I've [pushed a commit](2f5209a687) that reproduce the bug and with this patch it does work.

Commits
-------

ae7ee46465 [Console] Commands with an alias should not be recognized as ambiguous
2019-05-09 10:42:51 +02:00
Nicolas Grekas 284c21648a bug #31371 [DI] Removes number of elements information in debug mode (jschaedl)
This PR was squashed before being merged into the 3.4 branch (closes #31371).

Discussion
----------

[DI] Removes number of elements information in debug mode

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

With this services config:

```yaml
my_service:
    class: stdClass
    arguments: [!tagged my_tag]

my_tagged_service_1:
    class: stdClass
    tags: [my_tag]

my_tagged_service_2:
    class: stdClass
    tags: [my_tag]
```
Executing `./bin/console debug:container my_service --show-arguments --env=dev` resulted in

```bash
Information for Service "my_service"
====================================

 ---------------- -------------------------
  Option           Value
 ---------------- -------------------------
  Service ID       my_service
  Class            stdClass
  Tags             -
  Public           no
  Synthetic        no
  Lazy             no
  Shared           yes
  Abstract         no
  Autowired        yes
  Autoconfigured   yes
  Arguments        Iterator (0 element(s))
 ---------------- -------------------------
```
 With this fix the output changed to:

```bash
Information for Service "my_service"
====================================

 ---------------- ------------
  Option           Value
 ---------------- ------------
  Service ID       my_service
  Class            stdClass
  Tags             -
  Public           no
  Synthetic        no
  Lazy             no
  Shared           yes
  Abstract         no
  Autowired        yes
  Autoconfigured   yes
  Arguments        Tagged Iterator for "my_tag"
 ---------------- ------------
```

and with `./bin/console debug:container my_service --show-arguments --env=prod`

```bash
Information for Service "my_service_tagged_iterator"
====================================================

 ---------------- ---------------------------------------------
  Option           Value
 ---------------- ---------------------------------------------
  Service ID       my_service
  Class            stdClass
  Tags             -
  Public           no
  Synthetic        no
  Lazy             no
  Shared           yes
  Abstract         no
  Autowired        yes
  Autoconfigured   yes
  Arguments        Tagged Iterator for "my_tag" (2 element(s))
 ---------------- ---------------------------------------------
```

Commits
-------

0da4b83197 [DI] Removes number of elements information in debug mode
2019-05-09 10:36:03 +02:00
Jan Schädlich 0da4b83197 [DI] Removes number of elements information in debug mode 2019-05-09 10:35:56 +02:00
Nicolas Grekas 81b415767e bug #31418 [FrameworkBundle] clarify the possible class/interface of the cache (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] clarify the possible class/interface of the cache

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

When the fallback cache pool is returned (on PHP 5.6, HHVM, or when
Opcache is disabled), the configured service can be any implementation
of the CacheItemPoolInterface.

Commits
-------

40273745ce clarify the possible class/interface of the cache
2019-05-09 10:32:22 +02:00
Nicolas Grekas 9ce27da407 minor #31432 [Intl] Add FallbackTrait for data generation (ro0NL)
This PR was merged into the 3.4 branch.

Discussion
----------

[Intl] Add FallbackTrait for data generation

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

This is the last architectural change for the Intl data compilation. Promised.

It fixes de-duplicating a locale from its fallback locale. The problem is it uses a while-loop, comparing the locale to each fallback locale.

Given

- `root` (val=A)
  - `ur` (val=B)
    - `ur_IN` (val=A)

We have an edge case where a locale (ur_IN) override its fallback locale (ur), setting/restoring the value back to the root locale. This happens for the GMT format in the timezone bundle i know of ... in this case the `ur_IN` locale needs to write its own value.

The current approach is a while-loop comparing each fallback locale (ur, root) to the current locale (ur_IN). Eventually comparing `ur_IN <> root`, which causes a wrong diff, as such `ur_IN` falls back to `ur` providing the wrong value (val=B, where val=A is expected).

The new approach uses recursion so we only compare `ur <> ur_IN`, where `ur_IN` on itself is compared to `root`.

4.2) https://github.com/ro0NL/symfony/commit/e24d8e6
4.3) https://github.com/ro0NL/symfony/commit/31591d0

Commits
-------

36ddfd58b9 [Intl] Add FallbackTrait for data generation
2019-05-09 10:31:33 +02:00
Fabien Potencier 16f1418c84 minor #31439 Update PR template for 4.3 (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

Update PR template for 4.3

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

Commits
-------

1532077e91 Update PR template for 4.3
2019-05-09 09:49:28 +02:00
Nicolas Grekas 1532077e91 Update PR template for 4.3 2019-05-09 09:34:16 +02:00
Fabien Potencier b4364aa014 refactored code 2019-05-08 22:08:18 +02:00
Roland Franssen 36ddfd58b9 [Intl] Add FallbackTrait for data generation 2019-05-08 21:38:40 +02:00
Fabien Potencier b2033a14ad minor #31427 [Intl] Enable error handler during compile (ro0NL)
This PR was merged into the 3.4 branch.

Discussion
----------

[Intl] Enable error handler during compile

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

Enable PHP error logging during ICU compiliation.

I noticed it was hiding e.g. "array to string conversion" when working on timezones, only after verifying the compilation output.

Current branches (34/42/43) are error-free, so this is safe to merge upstream without any side effects.

Commits
-------

914653d866 [Intl] Enable error handler during compile
2019-05-08 21:22:19 +02:00
Roland Franssen 914653d866 [Intl] Enable error handler during compile 2019-05-08 18:03:40 +02:00
Fabien Potencier 995910ad92 minor #31424 Fix tests (fabpot)
This PR was merged into the 3.4 branch.

Discussion
----------

Fix tests

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

As per https://www.patreon.com/posts/ubuntu-14-04-lts-26560500, Ondej's PPA does not support older versions of PHP anymore and so libsodium is now installed by Ubuntu directly, but the version is too old for PHP.

To make the tests pass again, I've removed libsodium from older versions of PHP and removed HHVM in the matrix as the tests do not pass for an obscure reason (no output); don't want to investigate what it could be.

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

Commits
-------

6b6360394f fixed tests
2019-05-08 16:51:08 +02:00
Fabien Potencier 6b6360394f fixed tests 2019-05-08 16:38:54 +02:00
Amrouche Hamza ae7ee46465
[Console] Commands with an alias should not be recognized as ambiguous 2019-05-08 12:29:47 +02:00
Christian Flothmann 40273745ce clarify the possible class/interface of the cache
When the fallback cache pool is returned (on PHP 5.6, HHVM, or when
Opcache is disabled), the configured service can be any implementation
of the CacheItemPoolInterface.
2019-05-08 11:57:35 +02:00
Fabien Potencier 75d1dd45e5 bug #31411 [Intl] Fix root fallback locale (ro0NL)
This PR was merged into the 3.4 branch.

Discussion
----------

[Intl] Fix root fallback locale

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

We should never return "root" as a fallback locale for the "root" locale itself.

While at it, i realized the alias meta files are pointless :)

4.2) b9fc8b7857
4.3) https://github.com/ro0NL/symfony/commit/922a1eb

Commits
-------

11ff24a665 [Intl] Fix root fallback locale
2019-05-08 08:30:26 +02:00
Roland Franssen 11ff24a665 [Intl] Fix root fallback locale 2019-05-07 23:35:39 +02:00
Fabien Potencier 6c6f76f217 fixed CS 2019-05-07 12:18:14 +02:00
Fabien Potencier 7ae5fe033f minor #31337 [Intl] Apply localeDisplayPattern and fix locale generation (ro0NL)
This PR was squashed before being merged into the 3.4 branch (closes #31337).

Discussion
----------

[Intl] Apply localeDisplayPattern and fix locale generation

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no (few data changes)
| Deprecations? | no
| Tests pass?   | yes (including intl-data group)
| Fixed tickets | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

See e2d8530616/icu4c/source/data/lang/en.txt (L1281-L1285)

Technically, this should be applied here: 2b923a7c03/src/Symfony/Component/Intl/Data/Generator/LocaleDataGenerator.php (L211)

This PR aims to implement it, but before it got to this point i noticed a false positive during generation (AFAIK). The current state solves this issue first.

While at it, i cleaned up dead-code in `update-data.php` to reduce the noise.

Commits
-------

a20a6ccac4 recompile
29e8aba14b [Intl] Apply localeDisplayPattern and fix locale generation
2019-05-07 11:55:10 +02:00
Roland Franssen a20a6ccac4 recompile 2019-05-07 09:01:27 +02:00
Roland Franssen 29e8aba14b [Intl] Apply localeDisplayPattern and fix locale generation 2019-05-07 08:59:08 +02:00
Fabien Potencier 16c460c6d6 minor #31366 [Intl] Cleanup (ro0NL)
This PR was merged into the 3.4 branch.

Discussion
----------

[Intl] Cleanup

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

cleanup of #31365 for 3.4 + some other stuff to keep in sync across branches

Commits
-------

70a941ec0c [Intl] Cleanup
2019-05-07 07:53:33 +02:00
Fabien Potencier 60b505e88c bug #31377 [Console] Fix auto-complete for ChoiceQuestion (multi-select answers) (battye)
This PR was squashed before being merged into the 3.4 branch (closes #31377).

Discussion
----------

[Console] Fix auto-complete for ChoiceQuestion (multi-select answers)

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

Previously, a bug existed whereby for multi-select questions, the auto-complete would only work for the first answer supplied by the user. On all subsequent answers, the auto-complete would not appear.

Now it works as expected:

![screenshot](https://user-images.githubusercontent.com/2110222/57158657-8c147e80-6e16-11e9-94f7-a9bc95506545.png)

Commits
-------

59321fe031 [Console] Fix auto-complete for ChoiceQuestion (multi-select answers)
2019-05-06 11:25:23 +02:00
battye 59321fe031 [Console] Fix auto-complete for ChoiceQuestion (multi-select answers) 2019-05-06 11:25:16 +02:00
Nicolas Grekas 5453f3ea54 bug #31380 [WebProfilerBundle] Don't filter submitted IP values (javiereguiluz)
This PR was merged into the 3.4 branch.

Discussion
----------

[WebProfilerBundle] Don't filter submitted IP values

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

I don't think we need to filter the value submitted by users in this case.

Commits
-------

29bd2ad3f2 [WebProfilerBundle] Don't filter submitted IP values
2019-05-05 18:39:56 +02:00
Nicolas Grekas 7494d466bc minor #31386 Translated form, security, validators resources into Belarusian (be) (vtsykun)
This PR was submitted for the master branch but it was merged into the 3.4 branch instead (closes #31386).

Discussion
----------

Translated form, security, validators resources into Belarusian (be)

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

Commits
-------

3ae9de1ef3 Translated form, security, validators resources into Belarusian (be)
2019-05-05 18:11:13 +02:00
Uladzimir Tsykun 3ae9de1ef3 Translated form, security, validators resources into Belarusian (be) 2019-05-05 18:11:06 +02:00
Javier Eguiluz 29bd2ad3f2 [WebProfilerBundle] Don't filter submitted IP values 2019-05-04 10:57:59 +02:00
Roland Franssen 70a941ec0c [Intl] Cleanup 2019-05-02 21:34:01 +02:00
Fabien Potencier 15e9eec225 bumped Symfony version to 3.4.28 2019-05-01 15:30:28 +02:00
Fabien Potencier a9bb118215
Merge pull request #31345 from fabpot/release-3.4.27
released v3.4.27
2019-05-01 15:04:01 +02:00
Fabien Potencier 3d7ca2e596 updated VERSION for 3.4.27 2019-05-01 15:03:24 +02:00
Fabien Potencier 1611faf76b update CONTRIBUTORS for 3.4.27 2019-05-01 15:03:01 +02:00
Fabien Potencier e6c269e345 updated CHANGELOG for 3.4.27 2019-05-01 15:02:51 +02:00
Fabien Potencier e2881d178d minor #31339 Reword VarDumper description (greg0ire)
This PR was merged into the 3.4 branch.

Discussion
----------

Reword VarDumper description

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

It is hard to understand what "Built on top" refers to, and even when
knowing, the sentence looks weird.
![Untitled](https://user-images.githubusercontent.com/657779/57011659-15ebfe00-6c03-11e9-9b85-5c00cfc15026.png)

The description of [the Github repository](https://github.com/symfony/var-dumper) has the same issue and should be changed.

Commits
-------

6024e16ea1 Reword VarDumper description
2019-05-01 14:54:26 +02:00
Fabien Potencier cc480e4598 minor #31343 [Translation] Fixes typo in comment (jschaedl)
This PR was merged into the 3.4 branch.

Discussion
----------

[Translation] Fixes typo in comment

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

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

Commits
-------

e11985f001 [Translation] Fixes typo in comment
2019-05-01 14:41:24 +02:00
Jan Schädlich e11985f001 [Translation] Fixes typo in comment 2019-05-01 13:10:09 +02:00
Grégoire Paris 6024e16ea1
Reword VarDumper description
It is hard to understand what "Built on top" refers to, and even when
knowing, the sentence looks weird.
2019-05-01 11:52:10 +02:00
Fabien Potencier 904163788a bug #31338 Revert "bug #30620 [FrameworkBundle][HttpFoundation] make session service resettable (dmaicher)" (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

Revert "bug #30620 [FrameworkBundle][HttpFoundation] make session service resettable (dmaicher)"

| 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 reverts commit 029fb2e7e3, reversing
changes made to 9dad29d61c.

Reverts #30620
Replaces #31215

We don't need to solve this in 3.4
Making the session resettable should be done on master, by implementing `ResetInterface`.
On 3.4 apps, one should write a dedicated `SessionResetter` that would implement the reverted logic.

Commits
-------

4177331915 Revert "bug #30620 [FrameworkBundle][HttpFoundation] make session service resettable (dmaicher)"
2019-05-01 10:11:03 +02:00
Nicolas Grekas 4177331915 Revert "bug #30620 [FrameworkBundle][HttpFoundation] make session service resettable (dmaicher)"
This reverts commit 029fb2e7e3, reversing
changes made to 9dad29d61c.
2019-05-01 10:04:33 +02:00
Fabien Potencier e0b5fb2aa3 bug #31326 fix ConsoleFormatter - call to a member function format() on string (keksa)
This PR was merged into the 3.4 branch.

Discussion
----------

fix ConsoleFormatter - call to a member function format() on string

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

The ConsoleFormatter crashes when there is not a DateTime object in `$record['datetime']`. As this parameter is not documented anywhere (i.e. `FormatterInterface` does not say it must be a DateTime object), I think the proper fix is to check if there is DateTimeInterface object and only call the `format` method then.

We use a custom LogProcessor (https://symfony.com/doc/current/logging/processors.html) to add some extra data and format the DateTime in the `$record['datetime']`. We need to format the DateTime in the processor, because we use `JsonFormatter` in prod environment and it does not support changing the date format. We use `ConsoleFormatter` only in dev environment and as the processor is called before the formatter, we get the crash.

There were no tests whatsoever for `ConsoleFormatter`, so I've added a basic one, that passes before and after, and another one that tests the crash (failed before, passed after).

There is a theoretical BC break, as someone could have sent an object with a `format` method to the formatter and it would have worked, but I'm not sure if it's considered BC break by Symfony, please let me know, if it is.

Commits
-------

648832823f fix ConsoleFormatter - call to a member function format() on string
2019-05-01 08:30:15 +02:00