Commit Graph

20534 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
74383b6e59 fixed some deprecation messages 2017-12-31 06:50:45 +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
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
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
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
Nicolas Grekas
324821d97c [HttpKernel] fix cleaning legacy containers 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
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
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
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
03adce239d [Process] Fix setting empty env vars 2017-12-20 17:27:40 +01:00
Romain Neutron
c2338cbd7a
[2.7][DX] Use constant message contextualisation for deprecations 2017-12-20 15:36:51 +01:00
Nicolas Grekas
0d4bce6676 [Process] Dont use getenv(), it returns arrays and can introduce subtle breaks accros PHP versions 2017-12-20 12:21:08 +01:00
Nicolas Grekas
12a269a4e0 Merge branch '4.0'
* 4.0:
  [2.7] Fix issues found by PHPStan
  [Command] Fix upgrade guide example
  Add php_unit_dedicate_assert to PHPCS
  [WebProfilerBundle] Let fetch() cast URL to string
  improve FormType::getType exception message details
  [Intl] Update ICU data to 60.2
  [Console] fix a bug when you are passing a default value and passing -n would ouput the index
  [FrameworkBundle] fix merge of 3.3 into 3.4
  bumped Symfony version to 4.0.3
  updated VERSION for 4.0.2
  updated CHANGELOG for 4.0.2
  bumped Symfony version to 3.4.3
  updated VERSION for 3.4.2
  updated CHANGELOG for 3.4.2
2017-12-20 12:11:10 +01:00
Nicolas Grekas
1a6cdfec91 Merge branch '3.4' into 4.0
* 3.4:
  [2.7] Fix issues found by PHPStan
  [Command] Fix upgrade guide example
  Add php_unit_dedicate_assert to PHPCS
  [WebProfilerBundle] Let fetch() cast URL to string
  improve FormType::getType exception message details
  [Intl] Update ICU data to 60.2
  [Console] fix a bug when you are passing a default value and passing -n would ouput the index
  [FrameworkBundle] fix merge of 3.3 into 3.4
  bumped Symfony version to 3.4.3
  updated VERSION for 3.4.2
  updated CHANGELOG for 3.4.2
2017-12-20 12:09:53 +01:00
Nicolas Grekas
a8755cc7d7 Merge branch '3.3' into 3.4
* 3.3:
  [2.7] Fix issues found by PHPStan
  Add php_unit_dedicate_assert to PHPCS
  [WebProfilerBundle] Let fetch() cast URL to string
  improve FormType::getType exception message details
  [Intl] Update ICU data to 60.2
  [Console] fix a bug when you are passing a default value and passing -n would ouput the index
2017-12-20 12:08:06 +01:00
Nicolas Grekas
d731a2748f Merge branch '2.8' into 3.3
* 2.8:
  [2.7] Fix issues found by PHPStan
  Add php_unit_dedicate_assert to PHPCS
  improve FormType::getType exception message details
  [Intl] Update ICU data to 60.2
  [Console] fix a bug when you are passing a default value and passing -n would ouput the index
2017-12-20 12:04:02 +01:00
Nicolas Grekas
44db4d1170 Merge branch '2.7' into 2.8
* 2.7:
  [2.7] Fix issues found by PHPStan
  Add php_unit_dedicate_assert to PHPCS
  [Intl] Update ICU data to 60.2
  [Console] fix a bug when you are passing a default value and passing -n would ouput the index
2017-12-20 11:59:01 +01:00
Nicolas Grekas
f6fc785262 minor #25553 Add php_unit_dedicate_assert to PHPCS (carusogabriel)
This PR was merged into the 2.7 branch.

Discussion
----------

Add php_unit_dedicate_assert to PHPCS

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

Forgot to add this in #25420 😅

Commits
-------

e913b68 Add php_unit_dedicate_assert to PHPCS
2017-12-20 11:22:17 +01:00
Dalibor Karlović
afa1f149a3 [2.7] Fix issues found by PHPStan 2017-12-20 10:28:52 +01:00
Gabriel Caruso
e913b68a08 Add php_unit_dedicate_assert to PHPCS 2017-12-19 11:13:57 -02:00
Nicolas Grekas
98bfe80408 bug #25521 [Console] fix a bug when you are passing a default value and passing -n would output the index (Simperfit)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] fix a bug when you are passing a default value and passing -n would output the index

| 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 | #25470
| License       | MIT
| Doc PR        |

We are fixing a bug when you are using a default value with -n, it would output the index instead of the value.

Simple reproducer 5079dd19d5 (diff-77efcc28bc5309e1af9ac07a1e073009R40)

Commits
-------

41ffc69 [Console] fix a bug when you are passing a default value and passing -n would ouput the index
2017-12-18 20:55:28 +01:00
Nicolas Grekas
3d9676c006 minor #25492 improve FormType::getType exception message details (Nicals)
This PR was submitted for the master branch but it was squashed and merged into the 2.8 branch instead (closes #25492).

Discussion
----------

improve FormType::getType exception message details

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

This pull request improves the exception thrown when a Type is requested from Symfony\Component\Form\FormRegistry.

The same exception message was thrown if either the Type class wasn't found or the Type class did not implement the Symfony\Component\Form\FormTypeInterface.

This pull request adds some explaination of the reason why a type could not be found and helps application developpers to find the source of the Symfony\Component\Form\Exception\InvalidArgumentException thrown when getting a Type.

Commits
-------

945f236 improve FormType::getType exception message details
2017-12-18 20:41:05 +01:00
Nicolas Appriou
945f23602b improve FormType::getType exception message details 2017-12-18 20:39:09 +01:00
Jakub Zalas
11bee7fdfd [Intl] Update ICU data to 60.2
Not much has changed in data we actually use in Symfony.
However, the extension compiled for ICU 60.2 behaves slightly differently in some cases.
This can be observed on one assertion that had to be disabled. There's no point in keeping it since the Symfony implementation does not support the behaviour.
2017-12-18 08:24:54 -08:00
Fabien Potencier
5f72ecff15 minor #25530 [Intl] Update ICU data to 60.2 (jakzal)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Intl] Update ICU data to 60.2

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

Not much has changed in data we actually use in Symfony.
However, the extension compiled for ICU 60.2 behaves slightly differently in some cases.
This can be observed on one assertion that had to be disabled. There's no point in keeping it since the Symfony implementation does not support the behaviour.

Commits
-------

9e6df740f3 [Intl] Update ICU data to 60.2
2017-12-18 08:01:48 -08:00
Jakub Zalas
9e6df740f3
[Intl] Update ICU data to 60.2
Not much has changed in data we actually use in Symfony.
However, the extension compiled for ICU 60.2 behaves slightly differently in some cases.
This can be observed on one assertion that had to be disabled. There's no point in keeping it since the Symfony implementation does not support the behaviour.
2017-12-17 18:52:57 +00:00
Gabriel Ostrolucký
b18cdcf417 [Validator] Fix access to root object when using composite constraint 2017-12-17 19:21:24 +01:00
Amrouche Hamza
41ffc69fa0
[Console] fix a bug when you are passing a default value and passing -n would ouput the index 2017-12-16 13:12:20 +01:00
Amrouche Hamza
863f632054
[Console] Commands with an alias should not be recognized as ambiguous 2017-12-16 05:47:12 +01:00
Roland Franssen
fa5b7eb95b [DI] Allow for invokable event listeners 2017-12-15 14:55:36 +01:00
Fabien Potencier
1dff784a39 bumped Symfony version to 4.0.3 2017-12-14 19:13:15 -08:00
Fabien Potencier
bca0e2fb23 updated VERSION for 4.0.2 2017-12-14 19:06:17 -08:00
Fabien Potencier
60ddf9ee7a bumped Symfony version to 3.4.3 2017-12-14 18:52:08 -08:00
Fabien Potencier
fa1546a0e7 updated VERSION for 3.4.2 2017-12-14 18:05:18 -08:00
Nicolas Grekas
b286950cc4 Merge branch '4.0'
* 4.0:
  [Routing] Fix tests
  [SecurityBundle] fix test by always disabling CSRF
  [FrameworkBundle] remove esi/ssi renderers if inactive
2017-12-14 23:39:41 +01:00
Nicolas Grekas
a6fa4a3f63 Merge branch '3.4' into 4.0
* 3.4:
  [Routing] Fix tests
  [SecurityBundle] fix test by always disabling CSRF
  [FrameworkBundle] remove esi/ssi renderers if inactive
2017-12-14 23:39:22 +01:00
Nicolas Grekas
3c67741954 [Routing] Fix tests 2017-12-14 23:37:31 +01:00
Fabien Potencier
0b1b8959d3 Merge branch '4.0'
* 4.0:
  fixed wrong merge
  Tweak message to be Flex friendly
  [Routing] fixed tests
  Fixing wrong class_exists on interface
  Preserve percent-encoding in URLs when performing redirects in the UrlMatcher
  removed FIXME
  [Console] Fix a bug when passing a letter that could be an alias
  add missing validation options to XSD file
  Take advantage of AnnotationRegistry::registerUniqueLoader
  [DI] Optimize Container::get() for perf
  fix merge
  Fix tests
  Refactoring tests.
2017-12-14 11:50:39 -08:00
Fabien Potencier
0116c32c71 Merge branch '3.4' into 4.0
* 3.4:
  fixed wrong merge
  Tweak message to be Flex friendly
  [Routing] fixed tests
  Fixing wrong class_exists on interface
  Preserve percent-encoding in URLs when performing redirects in the UrlMatcher
  [Console] Fix a bug when passing a letter that could be an alias
  add missing validation options to XSD file
  Take advantage of AnnotationRegistry::registerUniqueLoader
  [DI] Optimize Container::get() for perf
  fix merge
  Fix tests
  Refactoring tests.
2017-12-14 11:48:22 -08:00
Fabien Potencier
e7cccb0575 fixed tests 2017-12-14 11:40:10 -08:00
Fabien Potencier
f5f3dd7878 [Routing] fixed tests 2017-12-14 11:33:46 -08:00
Fabien Potencier
13f58b403c Merge branch '2.8' into 3.3
* 2.8:
  Preserve percent-encoding in URLs when performing redirects in the UrlMatcher
  [Console] Fix a bug when passing a letter that could be an alias
  add missing validation options to XSD file
2017-12-14 11:31:56 -08:00
Fabien Potencier
bdbdf73bdd Merge branch '2.7' into 2.8
* 2.7:
  Preserve percent-encoding in URLs when performing redirects in the UrlMatcher
  [Console] Fix a bug when passing a letter that could be an alias
  add missing validation options to XSD file
2017-12-14 11:27:36 -08:00
Fabien Potencier
847fba406f minor #25473 [HttpFoundation] sync upgrade and changelog files (xabbuh)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[HttpFoundation] sync upgrade and changelog files

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

Commits
-------

e54109b0a0 sync upgrade and changelog files
2017-12-14 10:50:07 -08:00
Fabien Potencier
01229fb8aa bug #25427 Preserve percent-encoding in URLs when performing redirects in the UrlMatcher (mpdude)
This PR was squashed before being merged into the 2.7 branch (closes #25427).

Discussion
----------

Preserve percent-encoding in URLs when performing redirects in the UrlMatcher

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

While investigating #25373, I found that when the *dumped* `UrlMatcher` performs redirections due to missing trailing slashes on URLs, it does so using an url*de*coded URL.

This is wrong, as it may lead to wrong interpretations of URLs upon the next request. For example, think of an URL that contains `%23` in the middle of the path info. Upon redirection, this will be turned into `#` with an obvious effect.

Commits
-------

8146510304 Preserve percent-encoding in URLs when performing redirects in the UrlMatcher
2017-12-14 10:48:49 -08:00
Matthias Pigulla
8146510304 Preserve percent-encoding in URLs when performing redirects in the UrlMatcher 2017-12-14 10:48:47 -08:00
Fabien Potencier
a19afcd68e feature #25366 [HttpKernel] Decouple exception logging from rendering (ro0NL)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[HttpKernel] Decouple exception logging from rendering

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

Given your controller throws an exception and a custom exception listener sets a response.

Before
![image](https://user-images.githubusercontent.com/1047696/33676886-46e90e0a-dab7-11e7-9a3a-24c70b23d4e0.png)

After
![image](https://user-images.githubusercontent.com/1047696/33676832-1ac4f0aa-dab7-11e7-9ac4-483fcbdc06ee.png)

;-)

edit: raising the priority for the profiler listener fixes the exception panel also.

Commits
-------

a203d31838 [HttpKernel] Decouple exception logging from rendering
2017-12-13 16:29:47 -08:00
Fabien Potencier
fa38335505 removed FIXME 2017-12-13 16:19:09 -08:00
Fabien Potencier
1cf1ae79ca feature #25450 [PropertyAccess] add more information to NoSuchPropertyException Message (Simperfit)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[PropertyAccess] add more information to NoSuchPropertyException Message

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| 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?   | no
| Fixed tickets | #24742
| License       | MIT
| Doc PR        |

Add more context to NoSuchPropertyException as discussed in the issue.

Commits
-------

dee00f8393 [PropertyAccess] add more information to NoSuchPropertyException Message
2017-12-13 16:16:10 -08:00
Amrouche Hamza
a8871de263
[Console] Fix a bug when passing a letter that could be an alias 2017-12-13 20:20:50 +01:00
Yonel Ceruto
083c8af706 Remove group options without data and fix normalization 2017-12-13 00:39:36 -05:00
Nicolas Grekas
4fe2551545 [DI] Optimize Container::get() for perf 2017-12-12 22:54:52 +01:00
Christian Flothmann
e54109b0a0 sync upgrade and changelog files 2017-12-12 20:03:06 +01:00
Nicolas Grekas
b49998ebd8 minor #25463 [HttpFoundation] Fix tests (chalasr)
This PR was merged into the 3.3 branch.

Discussion
----------

[HttpFoundation] Fix tests

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

Remains filesystem ones due to #25420, going to have a look in this PR in the next hour if nobody does before.

Commits
-------

ef6adb8 Fix tests
2017-12-12 13:02:43 +01:00
Nicolas Grekas
79b64ce328 fix merge 2017-12-12 13:01:02 +01:00
Robin Chalas
ef6adb89ef Fix tests 2017-12-12 12:55:28 +01:00
Robin Chalas
28bf816e74 Merge branch '4.0'
* 4.0:
  add missing logout_on_user_change options
  [HttpFoundation] Add immutable to setCache's PHPDoc
2017-12-12 12:47:36 +01:00
Robin Chalas
bf61b7b969 Merge branch '3.4' into 4.0
* 3.4:
  add missing logout_on_user_change options
  [HttpFoundation] Add immutable to setCache's PHPDoc
2017-12-12 12:44:17 +01:00
Nicolas Grekas
05ab1cd00d Merge branch '2.8' into 3.3
* 2.8:
  Refactoring tests.
2017-12-12 12:20:26 +01:00
Nicolas Grekas
263eda3dd6 Merge branch '2.7' into 2.8
* 2.7:
  Refactoring tests.
2017-12-12 12:12:43 +01:00
Nicolas Grekas
8151661f02 minor #25455 [HttpFoundation] Add immutable to setCache's PHPDoc (dunglas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] Add immutable to setCache's PHPDoc

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| 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 | n/a
| License       | MIT
| Doc PR        | n/a

Commits
-------

6e248ca [HttpFoundation] Add immutable to setCache's PHPDoc
2017-12-12 11:35:23 +01:00
Nicolas Grekas
72e189a356 Merge branch '4.0'
* 4.0:
  fix merge
2017-12-12 10:23:59 +01:00
Nicolas Grekas
527f7e4907 Merge branch '3.4' into 4.0
* 3.4:
  fix merge
2017-12-12 10:23:46 +01:00
Nicolas Grekas
76176d993c fix merge 2017-12-12 10:23:32 +01:00
Nicolas Grekas
7ecfc7fedc Merge branch '4.0'
* 4.0: (25 commits)
  [Form] fix how form type is referenced in test
  fix merge
  [Console] Fix console tests by adding the missing condition
  [Translation] Fix InvalidArgumentException when using untranslated plural forms from .po files
  Fixed exit code with non-integer throwable code
  [HttpFoundation] Support 0 bit netmask in IPv6 ()
  [DI] Impossible to set an environment variable and then an array as container parameter
  [Process] remove false-positive BC breaking exception on Windows
  Tweaking class not found autowiring error
  [LDAP] added missing dots at the end of some exception messages.
  [TwigBridge] Add missing dev requirement for workflow
  fixed #25440
  empty lines don't count for indent detection
  Set `width: auto` on WebProfiler toolbar's reset.
  [Lock] Fix incorrect phpdoc
  [Process] Dont rely on putenv(), it fails on ZTS PHP
  [HttpKernel] detect deprecations thrown by container initialization during tests
  [HttpKernel] Fix logging of post-terminate errors/exceptions
  [DI] Add context to service-not-found exceptions thrown by service locators
  [Debug] Fix catching fatal errors in case of nested error handlers
  ...
2017-12-12 09:59:50 +01:00
Nicolas Grekas
b23ffea41f Merge branch '3.4' into 4.0
* 3.4:
  [Form] fix how form type is referenced in test
  [Console] Fix console tests by adding the missing condition
2017-12-12 09:58:23 +01:00
Nicolas Grekas
55374b5f36 Merge branch '3.3' into 3.4
* 3.3:
  [Form] fix how form type is referenced in test
  [Console] Fix console tests by adding the missing condition
2017-12-12 09:58:07 +01:00
Nicolas Grekas
33f16981c2 Merge branch '2.8' into 3.3
* 2.8:
  [Form] fix how form type is referenced in test
2017-12-12 09:57:55 +01:00
Robin Chalas
e56c2659fa minor #25453 [Console] Fix console tests by adding the missing condition (Simperfit)
This PR was merged into the 3.3 branch.

Discussion
----------

[Console] Fix console tests by adding the missing condition

| 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?   | yes
| Fixed tickets | none
| License       | MIT
| Doc PR        |

The old conditions was testing that the exit code is different than 0. I just add this tests back since it is needed.
![resized_20171211_192030_2217](https://user-images.githubusercontent.com/3451634/33872253-5db07958-df16-11e7-85e9-4fc0cb5002ce.jpeg)

Commits
-------

57f8129 [Console] Fix console tests by adding the missing condition
2017-12-12 09:48:06 +01:00
Nicolas Grekas
15915fddf1 Merge branch '3.4' into 4.0
* 3.4: (22 commits)
  fix merge
  [Translation] Fix InvalidArgumentException when using untranslated plural forms from .po files
  Fixed exit code with non-integer throwable code
  [HttpFoundation] Support 0 bit netmask in IPv6 ()
  [DI] Impossible to set an environment variable and then an array as container parameter
  [Process] remove false-positive BC breaking exception on Windows
  Tweaking class not found autowiring error
  [LDAP] added missing dots at the end of some exception messages.
  [TwigBridge] Add missing dev requirement for workflow
  fixed #25440
  empty lines don't count for indent detection
  Set `width: auto` on WebProfiler toolbar's reset.
  [Lock] Fix incorrect phpdoc
  [Process] Dont rely on putenv(), it fails on ZTS PHP
  [HttpKernel] detect deprecations thrown by container initialization during tests
  [HttpKernel] Fix logging of post-terminate errors/exceptions
  [DI] Add context to service-not-found exceptions thrown by service locators
  [Debug] Fix catching fatal errors in case of nested error handlers
  [VarDumper] Fixed file links leave blank pages when ide is configured
  Fix hidden currency element with Bootstrap 3 theme
  ...
2017-12-12 09:41:51 +01:00
Kévin Dunglas
6e248cabe3
[HttpFoundation] Add immutable to setCache's PHPDoc 2017-12-12 09:38:51 +01:00
Christian Flothmann
f859ae9f1e [Form] fix how form type is referenced in test 2017-12-12 09:37:06 +01:00
Nicolas Grekas
6aa18bf6a8 Merge branch '3.3' into 3.4
* 3.3:
  fix merge
  [Translation] Fix InvalidArgumentException when using untranslated plural forms from .po files
  Fixed exit code with non-integer throwable code
  Add suggestions
  Added instructions to upgrade Symfony applications to 4.x
2017-12-12 09:27:14 +01:00
Nicolas Grekas
5b51491c18 Merge branch '2.8' into 3.3
* 2.8:
  fix merge
2017-12-12 09:25:59 +01:00
Nicolas Grekas
fb52f94722 fix merge 2017-12-12 09:25:42 +01:00
Amrouche Hamza
57f8129598
[Console] Fix console tests by adding the missing condition 2017-12-12 08:26:14 +01:00
Gabriel Caruso
567e0ab7e6 Refactoring tests. 2017-12-12 05:05:30 -02:00
Fabien Potencier
b4e0a45acf bug #24594 [Translation] Fix InvalidArgumentException when using untranslated plural forms from .po files (BjornTwachtmann)
This PR was squashed before being merged into the 3.3 branch (closes #24594).

Discussion
----------

[Translation] Fix InvalidArgumentException when using untranslated plural forms from .po files

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

This PR fixes the bug in #24593. It's not the absolutely ideal way to address the issue, but I don't see how else to handle it without either dropping support for pips in translation strings, or rearchitecting the code that feeds translations to the MessageSelector as pipe separated in the first place.

Commits
-------

fea815b2f5 [Translation] Fix InvalidArgumentException when using untranslated plural forms from .po files
2017-12-11 15:28:37 -08:00
Bjorn Twachtmann
fea815b2f5 [Translation] Fix InvalidArgumentException when using untranslated plural forms from .po files 2017-12-11 15:28:24 -08:00
Amrouche Hamza
dee00f8393
[PropertyAccess] add more information to NoSuchPropertyException Message 2017-12-11 23:43:31 +01:00
Wouter J
dfef227837 Fixed exit code with non-integer throwable code 2017-12-11 14:27:15 -08:00
Fabien Potencier
033e7529cc bug #24951 [Console] Fixed exit code with non-integer throwable code (wouterj)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Console] Fixed exit code with non-integer throwable code

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

The exception/error code in PHP doesn't have to be an integer:

 > Returns the exception code as integer in Exception but possibly as other type in Exception descendants (for example as string in PDOException).
> http://php.net/manual/en/exception.getcode.php#refsect1-exception.getcode-returnvalues

This means that a "Return value of Symfony\Component\Console\Event\ConsoleErrorEvent::getExitCode() must be of the type integer, string returned" error is shown when e.g. an uncatched PDOException is handled by the console error event.

Commits
-------

ca86e65da4 Fixed exit code with non-integer throwable code
2017-12-11 14:26:04 -08:00
Amrouche Hamza
d2d8049313
[Validator][HttpFoundation] fix the message test 2017-12-11 23:15:39 +01:00
Fabien Potencier
9ddf500a7a Merge branch '3.3' into 3.4
* 3.3:
  [HttpFoundation] Support 0 bit netmask in IPv6 ()
  [DI] Impossible to set an environment variable and then an array as container parameter
  [LDAP] added missing dots at the end of some exception messages.
  Set `width: auto` on WebProfiler toolbar's reset.
  [Process] Dont rely on putenv(), it fails on ZTS PHP
  [HttpKernel] detect deprecations thrown by container initialization during tests
  [HttpKernel] Fix logging of post-terminate errors/exceptions
  [Debug] Fix catching fatal errors in case of nested error handlers
  [VarDumper] Fixed file links leave blank pages when ide is configured
  Fix hidden currency element with Bootstrap 3 theme
2017-12-11 14:06:16 -08:00
Fabien Potencier
0a95168cd8 Merge branch '2.8' into 3.3
* 2.8:
  [HttpFoundation] Support 0 bit netmask in IPv6 ()
  Set `width: auto` on WebProfiler toolbar's reset.
  [HttpKernel] Fix logging of post-terminate errors/exceptions
  [Debug] Fix catching fatal errors in case of nested error handlers
  Fix hidden currency element with Bootstrap 3 theme
2017-12-11 14:02:38 -08:00
Fabien Potencier
eddd273351 Merge branch '2.7' into 2.8
* 2.7:
  [HttpFoundation] Support 0 bit netmask in IPv6 ()
  Set `width: auto` on WebProfiler toolbar's reset.
  [HttpKernel] Fix logging of post-terminate errors/exceptions
  [Debug] Fix catching fatal errors in case of nested error handlers
  Fix hidden currency element with Bootstrap 3 theme
2017-12-11 14:01:48 -08:00
Amrouche Hamza
b1363202ed
[HttpFoundation] Incorrect documentation and method name for UploadedFile::getClientSize() 2017-12-11 22:58:29 +01:00
Fabien Potencier
9ac08e8770 bug #25233 [TwigBridge][Form] Fix hidden currency element with Bootstrap 3 theme (julienfalque)
This PR was merged into the 2.7 branch.

Discussion
----------

[TwigBridge][Form] Fix hidden currency element with Bootstrap 3 theme

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

When using a `MoneyType` field, one can pass `currency=false` option to hide the currency symbol. This does not work well when using the Bootstrap 3 theme: the symbol is not displayed but HTML elements that are supposed to contain it are still rendered.

Commits
-------

c5af7fd938 Fix hidden currency element with Bootstrap 3 theme
2017-12-11 13:56:00 -08:00
Fabien Potencier
cd4c849cd9 feature #25332 [VarDumper] Allow VarDumperTestTrait expectation to be non-scalar (romainneutron)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[VarDumper] Allow VarDumperTestTrait expectation to be non-scalar

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

At the moment, when using the `VarDumperTestTrait` in unit test, expecting data object is as follow:

```php
class Toto
{
    private $foo;

    public function __construct($foo)
    {
        $this->foo = $foo;
    }
}

class MyTest extends \PHPUnit_Framework_TestCase
{
     use Symfony\Component\VarDumper\Test\VarDumperTestTrait;

    public function dummyTest()
    {
        $expected = <<<EOEXPECTED
Profiler\Tests\Model\CallGraph\Toto {
  -foo: "baz"
}
EOEXPECTED;

        $this->assertDumpEquals($expected, new Toto('baz'));
    }
}
```

The same test could be easily written like this with this change:

```php
    public function dummyTest()
    {
        $this->assertDumpEquals(new Toto('baz'), new Toto('baz'));
    }
```

Commits
-------

6b5ab90b5b [VarDumper] Allow VarDumperTestTrait expectation to be non-scalar
2017-12-11 13:48:35 -08:00
Fabien Potencier
8a12eb334a feature #25301 [Console] Add box style table (maidmaid)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Console] Add box style table

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

> Box-drawing characters, also known as line-drawing characters, are a form of semigraphics widely used in text user interfaces to draw various geometric frames and boxes. https://en.wikipedia.org/wiki/Box-drawing_character

Box-drawing characters are done for the `TableStyle`; use them!

Result:

![screenshot from 2017-12-04 17-09-56](https://user-images.githubusercontent.com/4578773/33540267-0e4052fe-d916-11e7-8401-eb3be59e8025.png)

Commits
-------

360a984b0c Add box style table
2017-12-11 13:47:21 -08:00
Fabien Potencier
d200185563 bug #25413 [HttpKernel] detect deprecations thrown by container initialization during tests (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[HttpKernel] detect deprecations thrown by container initialization during tests

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

Commits
-------

81248bc855 [HttpKernel] detect deprecations thrown by container initialization during tests
2017-12-11 13:24:42 -08:00
Fabien Potencier
891b321f6b bug #25408 [Debug] Fix catching fatal errors in case of nested error handlers (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug] Fix catching fatal errors in case of nested error handlers

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

Fixing a bug from 2013 :)

Commits
-------

27dc9a6c7c [Debug] Fix catching fatal errors in case of nested error handlers
2017-12-11 13:15:46 -08:00
Amrouche Hamza
7a64630fa6
[Validator] fix test of email deprecation 2017-12-11 22:11:45 +01:00
Fabien Potencier
0a7c6594c3 bug #25330 [HttpFoundation] Support 0 bit netmask in IPv6 (::/0) (stephank)
This PR was squashed before being merged into the 2.7 branch (closes #25330).

Discussion
----------

[HttpFoundation] Support 0 bit netmask in IPv6 (`::/0`)

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

Proxy settings allow `0.0.0.0/0` but not `::/0`. This PR adds IpUtils support for 0 masked bits in IPv6.

Tests pass in the sense that results before and after are unchanged on my local PHP 7.2 / macOS setup. The IpUtils test cases were extended for the changes in this PR.

I've rebased on 2.7, but the issue is present up to 4.0 and master.

Commits
-------

9f1c9bd964 [HttpFoundation] Support 0 bit netmask in IPv6 ()
2017-12-11 13:06:42 -08:00
Stéphan Kochen
9f1c9bd964 [HttpFoundation] Support 0 bit netmask in IPv6 () 2017-12-11 13:06:40 -08:00
Fabien Potencier
7035d012cd bug #25378 [VarDumper] Fixed file links leave blank pages when ide is configured (antalaron)
This PR was merged into the 3.3 branch.

Discussion
----------

[VarDumper] Fixed file links leave blank pages when ide is configured

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

Commits
-------

138cd09948 [VarDumper] Fixed file links leave blank pages when ide is configured
2017-12-11 13:03:56 -08:00
Fabien Potencier
9fda6af7a2 bug #25417 [Process] Dont rely on putenv(), it fails on ZTS PHP (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[Process] Dont rely on putenv(), it fails on ZTS PHP

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

`putenv()` is not thread safe, but ZTS is PHP defaults on Windows.

Commits
-------

ef632ec721 [Process] Dont rely on putenv(), it fails on ZTS PHP
2017-12-11 12:45:56 -08:00
Fabien Potencier
eff904e314 minor #25431 [Lock] Fix incorrect phpdoc (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[Lock] Fix incorrect phpdoc

| 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

Bad copy-pastes, spotted in #25421

Commits
-------

8be950f3a4 [Lock] Fix incorrect phpdoc
2017-12-11 12:43:07 -08:00
Fabien Potencier
f744236810 minor #25449 [LDAP] Add missing dots at the end of some exception messages (fabpot)
This PR was merged into the 3.3 branch.

Discussion
----------

[LDAP] Add missing dots at the end of some exception messages

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

For consistency sake.

Commits
-------

8d0b7528bc [LDAP] added missing dots at the end of some exception messages.
2017-12-11 12:40:23 -08:00
Fabien Potencier
c2266bb949 bug #25333 [DI] Impossible to set an environment variable and then an array as container parameter (Phantas0s)
This PR was squashed before being merged into the 3.3 branch (closes #25333).

Discussion
----------

[DI] Impossible to set an environment variable and then an array as container parameter

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

When an environment variables and then an array is set as container parameters, an error is thrown (Warning: stripos() expects parameter 1 to be string, array given).

You can run my test without the fix in the Container builder to see it.

Commits
-------

484a082eb1 [DI] Impossible to set an environment variable and then an array as container parameter
2017-12-11 12:39:44 -08:00
Matthieu
484a082eb1 [DI] Impossible to set an environment variable and then an array as container parameter 2017-12-11 12:39:43 -08:00
Fabien Potencier
966687672b Merge branch '3.3' into 3.4
* 3.3:
  Tweaking class not found autowiring error
  [TwigBridge] Add missing dev requirement for workflow
  fixed #25440
  empty lines don't count for indent detection
2017-12-11 12:38:23 -08:00
Fabien Potencier
f07430f9a9 bug #25447 [Process] remove false-positive BC breaking exception on Windows (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Process] remove false-positive BC breaking exception on Windows

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

Commits
-------

fe41155ea1 [Process] remove false-positive BC breaking exception on Windows
2017-12-11 12:30:22 -08:00
Nicolas Grekas
fe41155ea1 [Process] remove false-positive BC breaking exception on Windows 2017-12-11 21:29:48 +01:00
Fabien Potencier
5b66c269d2 bug #25381 [DI] Add context to service-not-found exceptions thrown by service locators (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Add context to service-not-found exceptions thrown by service locators

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes (DX)
| New feature?  | yes (...)
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #25342, #25196
| License       | MIT
| Doc PR        | -

Here hopefully is the fully-context aware message you're looking for @weaverryan @curry684.

![image](https://user-images.githubusercontent.com/243674/33726013-1db38a34-db74-11e7-91dd-ca9d53e58891.png)

Commits
-------

9512f268f4 [DI] Add context to service-not-found exceptions thrown by service locators
2017-12-11 12:28:19 -08:00
Fabien Potencier
4b95961a58 minor #24599 Tweaking class not found autowiring error (weaverryan)
This PR was squashed before being merged into the 3.3 branch (closes #24599).

Discussion
----------

Tweaking class not found autowiring error

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

A trainee in my workshop today hit this error, and it struck me as not as clear as it could be - it's really a "Class Not Found" error.

Commits
-------

48832e640a Tweaking class not found autowiring error
2017-12-11 12:15:53 -08:00
Ryan Weaver
48832e640a Tweaking class not found autowiring error 2017-12-11 12:15:52 -08:00
Fabien Potencier
8d0b7528bc [LDAP] added missing dots at the end of some exception messages. 2017-12-11 12:12:30 -08:00
Fabien Potencier
e64cbe1390 fixed CS 2017-12-11 12:07:32 -08:00
Billie Thompson
cf0410812e
[Validator] Html5 Email Validation
Currently we only support a very loose validation. There is now a
standard HTML5 element with matching regex. This will add the ability
to set a `mode` on the email validator. The mode will change the
validation that is applied to the field as a whole.

These modes are:

* loose: The pattern from previous Symfony versions (default)
* strict: Strictly matching the RFC
* html5: The regex used for the HTML5 Element

Deprecates the `strict=true` parameter in favour of `mode='strict'`
2017-12-11 19:48:55 +00:00
Paweł Tomulik
089981e40f fixed #25440 2017-12-11 18:58:44 +01:00
Christian Flothmann
eb073fa349 empty lines don't count for indent detection 2017-12-11 16:47:32 +01:00
Robin Chalas
efc19fc6d7 Merge branch '4.0'
* 4.0:
  minor #25421 grammar typo in docs (michaelKaefer)
  Extend Argon2i support check to account for sodium_compat
2017-12-11 15:33:14 +01:00
Robin Chalas
3898e8fc61 Merge branch '3.4' into 4.0
* 3.4:
  minor #25421 grammar typo in docs (michaelKaefer)
  Extend Argon2i support check to account for sodium_compat
2017-12-11 15:31:42 +01:00
Robin Chalas
8be950f3a4 [Lock] Fix incorrect phpdoc 2017-12-11 10:12:53 +01:00
Robin Chalas
d21aa19e4d minor #25421 grammar typo in docs (michaelKaefer)
This PR was merged into the 4.1-dev branch.

Discussion
----------

grammar typo in docs

| Q             | A
| ------------- | ---
| Branch?       | master for features / 2.7 up to 4.0 for bug fixes <!-- see below -->
| Bug fix?      | yes/no
| New feature?  | yes/no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | yes/no
| Deprecations? | yes/no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | yes/no
| 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.
-->

Commits
-------

d53c889 grammar typo in docs
2017-12-11 09:45:16 +01:00
Michael Käfer
d53c8893d4
grammar typo in docs 2017-12-10 19:05:22 +01:00
Michael Babker
95c1fc82bd Extend Argon2i support check to account for sodium_compat 2017-12-10 11:56:42 -06:00
Nicolas Grekas
ef632ec721 [Process] Dont rely on putenv(), it fails on ZTS PHP 2017-12-10 11:08:10 +01:00
Nicolas Grekas
81248bc855 [HttpKernel] detect deprecations thrown by container initialization during tests 2017-12-10 09:54:36 +01:00
Nicolas Grekas
e85b371d72 [HttpKernel] Fix logging of post-terminate errors/exceptions 2017-12-09 20:51:32 +01:00
Nicolas Grekas
9512f268f4 [DI] Add context to service-not-found exceptions thrown by service locators 2017-12-09 20:32:41 +01:00
Nicolas Grekas
27dc9a6c7c [Debug] Fix catching fatal errors in case of nested error handlers 2017-12-09 18:06:03 +01:00
Nicolas Grekas
7b55449990 minor #25388 [Process] add type hint and changelog entry (xabbuh)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Process] add type hint and changelog entry

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

5a1dc67 add type hint and changelog entry
2017-12-09 09:36:12 +01:00
Nicolas Grekas
68ebcf0f86 Merge branch '4.0'
* 4.0:
  [Cache] fix doctrine deprecation
  fix cs
2017-12-08 17:12:37 +01:00
Nicolas Grekas
4f9dc9d449 Merge branch '3.4' into 4.0
* 3.4:
  [Cache] fix doctrine deprecation
  fix cs
2017-12-08 17:11:45 +01:00
Nicolas Grekas
17b5a2ca65 Merge branch '3.3' into 3.4
* 3.3:
  [Cache] fix doctrine deprecation
  fix cs
2017-12-08 17:11:27 +01:00
Nicolas Grekas
50644d0d58 [Cache] fix doctrine deprecation 2017-12-08 17:10:40 +01:00
Nicolas Grekas
4ebea4e429 Merge branch '4.0'
* 4.0: (42 commits)
  fix merge
  Remove some unused variables and properties
  [appveyor] disable memory limit on composer up
  [HttpFoundation] don't prefix cookies with "Set-Cookie:"
  Remove some unused variables and properties
  [HttpFoundation] Fixed default user-agent (3.X -> 4.X)
  Fix debug:form definition
  Remove some unused variables, properties and methods
  fix some edge cases with indented blocks
  [ExpressionLanguage] Fix parse error on 5.3
  [HttpKernel] remove noisy frame in controller stack traces
  [DI] Force root-namespace for function calls in the dumper container
  [DI] Fix circular-aliases message
  register system cache clearer only if it's used
  doc : Namespace prefix must end with a "\"
  [ExpressionLanguage] throw an SyntaxError instead of letting a undefined index notice
  Prevent a loop in aliases within the `findDefinition` method
  [HttpKernel] Disable inlining on PHP 5
  Ensure that inlined services with parameterized class name can be dumped
  [DI] Fix non-string class handling in PhpDumper
  ...
2017-12-08 16:58:51 +01:00
Nicolas Grekas
1adc9e9cd8 fix merge 2017-12-08 16:54:53 +01:00
Nicolas Grekas
41e69782dc fix cs 2017-12-08 16:50:58 +01:00
Nicolas Grekas
e16caff27a bug #25392 [HttpFoundation] Fixed default user-agent (3.X -> 4.X) (lyrixx)
This PR was merged into the 4.0 branch.

Discussion
----------

[HttpFoundation] Fixed default user-agent (3.X -> 4.X)

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

Commits
-------

ac007e1 [HttpFoundation] Fixed default user-agent (3.X -> 4.X)
2017-12-08 16:48:15 +01:00
Nicolas Grekas
0002c9b76d Merge branch '3.4' into 4.0
* 3.4: (37 commits)
  Remove some unused variables and properties
  [appveyor] disable memory limit on composer up
  [HttpFoundation] don't prefix cookies with "Set-Cookie:"
  Remove some unused variables and properties
  Fix debug:form definition
  Remove some unused variables, properties and methods
  fix some edge cases with indented blocks
  [ExpressionLanguage] Fix parse error on 5.3
  [HttpKernel] remove noisy frame in controller stack traces
  [DI] Force root-namespace for function calls in the dumper container
  [DI] Fix circular-aliases message
  register system cache clearer only if it's used
  doc : Namespace prefix must end with a "\"
  [ExpressionLanguage] throw an SyntaxError instead of letting a undefined index notice
  Prevent a loop in aliases within the `findDefinition` method
  [HttpKernel] Disable inlining on PHP 5
  Ensure that inlined services with parameterized class name can be dumped
  [DI] Fix non-string class handling in PhpDumper
  Throw a sensible exception when controller has been removed
  Remove LOCK_EX That Breaks Cache Usage on NFS
  ...
2017-12-08 16:46:13 +01:00
Nicolas Grekas
8621bd2569 minor #25402 Remove some unused variables and properties (tgalopin)
This PR was merged into the 3.4 branch.

Discussion
----------

Remove some unused variables and properties

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

Analyzing symfony/symfony using https://insight.sensiolabs.com, I found several chunks of dead code. This PR removes them in the 3.4 branch.

Commits
-------

ec92d9b Remove some unused variables and properties
2017-12-08 16:26:26 +01:00
Nicolas Grekas
e9f7461ba9 Merge branch '3.3' into 3.4
* 3.3: (21 commits)
  [appveyor] disable memory limit on composer up
  Remove some unused variables and properties
  Remove some unused variables, properties and methods
  fix some edge cases with indented blocks
  [ExpressionLanguage] Fix parse error on 5.3
  [HttpKernel] remove noisy frame in controller stack traces
  [DI] Fix circular-aliases message
  [ExpressionLanguage] throw an SyntaxError instead of letting a undefined index notice
  Prevent a loop in aliases within the `findDefinition` method
  Fix php doc in Table class
  bumped Symfony version to 3.3.15
  updated VERSION for 3.3.14
  updated CHANGELOG for 3.3.14
  bumped Symfony version to 2.8.33
  updated VERSION for 2.8.32
  updated CHANGELOG for 2.8.32
  bumped Symfony version to 2.7.40
  updated VERSION for 2.7.39
  update CONTRIBUTORS for 2.7.39
  updated CHANGELOG for 2.7.39
  ...
2017-12-08 16:24:53 +01:00
Titouan Galopin
ec92d9b12e Remove some unused variables and properties 2017-12-08 16:14:47 +01:00
Nicolas Grekas
2f0e7863c2 bug #25389 [Yaml] fix some edge cases with indented blocks (xabbuh)
This PR was merged into the 3.3 branch.

Discussion
----------

[Yaml] fix some edge cases with indented blocks

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

Now that comment-like lines are no longer ignored when subparsers are
created, we need to ignore them in some functions (e.g. when detecting
the indentation depth of the next block).

Commits
-------

b201c22 fix some edge cases with indented blocks
2017-12-08 16:12:16 +01:00
Nicolas Grekas
a3b480f230 bug #25396 [Form] Fix debug:form command definition (yceruto)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] Fix debug:form command definition

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

Sadly these changes were forgotten in https://github.com/symfony/symfony/pull/25011 and the `debug:form` command does not work properly right now :(

Commits
-------

97fdf31 Fix debug:form definition
2017-12-08 15:37:50 +01:00
Nicolas Grekas
344d93501e Merge branch '2.8' into 3.3
* 2.8:
  Remove some unused variables, properties and methods
  [ExpressionLanguage] Fix parse error on 5.3
  [HttpKernel] remove noisy frame in controller stack traces
  [ExpressionLanguage] throw an SyntaxError instead of letting a undefined index notice
  Fix php doc in Table class
  bumped Symfony version to 2.8.33
  updated VERSION for 2.8.32
  updated CHANGELOG for 2.8.32
  bumped Symfony version to 2.7.40
  updated VERSION for 2.7.39
  update CONTRIBUTORS for 2.7.39
  updated CHANGELOG for 2.7.39
2017-12-08 15:18:43 +01:00
Pablo Schläpfer
a4db20fbfd [HttpFoundation] don't prefix cookies with "Set-Cookie:"
See symfony/symfony#25393
2017-12-08 14:55:06 +01:00
Titouan Galopin
8bc2fbb934 Remove some unused variables and properties 2017-12-08 14:40:37 +01:00
Grégoire Pineau
ac007e1695 [HttpFoundation] Fixed default user-agent (3.X -> 4.X) 2017-12-08 14:10:40 +01:00
Yonel Ceruto
97fdf31e09 Fix debug:form definition 2017-12-08 07:45:03 -05:00
Nicolas Grekas
b56ab7b46e feature #25288 [DI][FrameworkBundle] Add PSR-11 "ContainerBag" to access parameters as-a-service (nicolas-grekas, sroze)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[DI][FrameworkBundle] Add PSR-11 "ContainerBag" to access parameters as-a-service

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

There is one thing that prevents us from not injecting the container: access to the parameter bag.
This PR fixes this limitation by providing a PSR-11 `ContainerBagInterface` + related implementation, and wiring it as a service that ppl can then also autowire using the new interface as a type hint, or `ParameterBagInterface`.

Needed to complete e.g. #24738

Commits
-------

561cd7e Add tests on the ContainerBag
0e18d3e [DI][FrameworkBundle] Add PSR-11 "ContainerBag" to access parameters as-a-service
2017-12-08 13:39:00 +01:00
Nicolas Grekas
af81bb5e24 Merge branch '2.7' into 2.8
* 2.7:
  Remove some unused variables, properties and methods
  [ExpressionLanguage] Fix parse error on 5.3
  [HttpKernel] remove noisy frame in controller stack traces
  [ExpressionLanguage] throw an SyntaxError instead of letting a undefined index notice
  Fix php doc in Table class
  bumped Symfony version to 2.7.40
  updated VERSION for 2.7.39
  update CONTRIBUTORS for 2.7.39
  updated CHANGELOG for 2.7.39
2017-12-08 13:32:59 +01:00
Titouan Galopin
30e227392a Remove some unused variables, properties and methods 2017-12-08 13:09:58 +01:00
Antal Áron
138cd09948 [VarDumper] Fixed file links leave blank pages when ide is configured 2017-12-08 12:46:23 +01:00
Christian Flothmann
b201c22d44 fix some edge cases with indented blocks
Now that comment-like lines are no longer ignored when subparsers are
created, we need to ignore them in some functions (e.g. when detecting
the indentation depth of the next block).
2017-12-08 11:15:25 +01:00
Nicolas Grekas
5cb35fe959 minor #25382 [DI] Fix circular-aliases message (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[DI] Fix circular-aliases message

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

The missing bits in #25364

Commits
-------

f1a7b07 [DI] Fix circular-aliases message
2017-12-08 10:56:57 +01:00
Christian Flothmann
5a1dc67f25 add type hint and changelog entry 2017-12-08 08:44:44 +01:00
Fabien Potencier
ecf54d5aa0 bug #25354 [DI] Fix non-string class handling in PhpDumper (nicolas-grekas, sroze)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Fix non-string class handling in PhpDumper

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

Commits
-------

28f00866b1 Ensure that inlined services with parameterized class name can be dumped
730b156f35 [DI] Fix non-string class handling in PhpDumper
2017-12-07 18:43:43 -08:00
Fabien Potencier
6129ae221e minor #25383 [DI] Force root-namespace for function calls in the dumper container (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Force root-namespace for function calls in the dumper container

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

Was not needed before 3.4, but now that the dumped container is namespaced, it is required.

Commits
-------

f87380c22a [DI] Force root-namespace for function calls in the dumper container
2017-12-07 18:41:42 -08:00
Fabien Potencier
87c5c2c06d minor #25384 [HttpKernel] remove noisy frame in controller stack traces (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] remove noisy frame in controller stack traces

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

520cc97e18 [HttpKernel] remove noisy frame in controller stack traces
2017-12-07 18:40:29 -08:00
Fabien Potencier
d7cb006c11 bug #25340 [Serializer] Unset attributes when creating child context (dunglas)
This PR was merged into the 3.3 branch.

Discussion
----------

[Serializer] Unset attributes when creating child context

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

In some cases, the `attributes` key isn't overrode when creating the context passed to nested normalizers.
 It's definitely a bug, but an attacker cannot access to non public data (ignored attributes are checked before the `attributes` key). However some data that must be public may be missing as highlighted by the test.

I've introduced the initial bug here: https://github.com/symfony/symfony/pull/18834

Commits
-------

4ff9d99f23 [Serializer] Unset attributes when creating child context
2017-12-07 11:55:50 -08:00
Nicolas Grekas
2249f43c02 [ExpressionLanguage] Fix parse error on 5.3 2017-12-07 20:30:27 +01:00
Nicolas Grekas
520cc97e18 [HttpKernel] remove noisy frame in controller stack traces 2017-12-07 19:55:09 +01:00
Fabien Potencier
05ffb6f726 bug #25325 [Yaml] do not evaluate PHP constant names (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Yaml] do not evaluate PHP constant names

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

PHP constant identifiers must be strings anyway. Thus, we only need to
parse quoted strings, but do not have to evaluate the data types.

Commits
-------

956287be72 do not evaluate PHP constant names
2017-12-07 10:43:53 -08:00
Fabien Potencier
5d7576cf84 minor #25299 [Serializer] improved CsvEncoder::decode performance (Roman Orlov)
This PR was merged into the 3.4 branch.

Discussion
----------

[Serializer] improved CsvEncoder::decode performance

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

Improved CsvEncoder::decode performance by caching duplicate count calls.
Blackfire profiles before and after change tested on collection of 10000 elements:
[before] https://blackfire.io/profiles/9c08f789-cd29-4eae-92c8-046e3849a2b8/graph
[after] https://blackfire.io/profiles/a17bfb6b-ef82-41ee-9edd-9403f829d6ab/graph

Commits
-------

3b910a9fad [Serializer] improved CsvEncoder::decode performance by caching duplicate count calls
2017-12-07 10:36:42 -08:00
Fabien Potencier
279dc46756 feature #24375 [Serializer] Serialize and deserialize from abstract classes (sroze)
This PR was squashed before being merged into the 4.1-dev branch (closes #24375).

Discussion
----------

[Serializer] Serialize and deserialize from abstract classes

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

This PR adds a feature in the Serializer: allow to serialize and de-serialize abstract classes. Such feature is especially useful when dealing with domain objects.

# Example

Let's take the example of the following objects:
- `CodeRepository` defines a set of properties like `name` and `url`
- `GitHubCodeRepository` and `BitBucketCodeRepository` extends from the abstract `CodeRepository` class and adds a few properties.
- `Project` has a relation with a `codeRepository`, which has a type `CodeRepository`.

At the moment, the serializer can't serialize/deserialize correctly this `Project` object has it doesn't know how to deal with this `CodeRepository` abstract object.

This feature allows the serializer to deal with such situation. The `ObjectNormalizer` has now access to a `ClassDiscriminatorResolver` that knows, for a given abstract class:
- Is the "type" property it needs to read/write to uniquely identify each sub-class
- What's the name of the "type" for each sub-class mapping

# Usage without Framework Bundle

```php
$discriminatorResolver = new ClassDiscriminatorResolver();
$discriminatorResolver->addClassMapping(CodeRepository::class, new ClassDiscriminatorMapping('type', [
    'github' => GitHubCodeRepository::class,
    'bitbucket' => BitBucketCodeRepository::class,
]));

$serializer = new Serializer(array(new ObjectNormalizer(null, null, null, null, $discriminatorResolver)), array('json' => new JsonEncoder()));

$serialized = $serializer->serialize(new GitHubCodeRepository());
// {"type": "github"}

$repository = $serializer->unserialize($serialized, CodeRepository::class, 'json');
// GitHubCodeRepository

```

# Usage with the Framework Bundle

```yaml
framework:
    serializer:
        discriminator_class_mapping:
            App\CodeRepository:
                 type_property: type
                 mapping:
                    github: App\GitHubCodeRepository
                    bitbucket: App\BitBucketCodeRepository
```

# Usage with Annotations/XML/YAML

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

/**
 * @DiscriminatorMap(typeProperty="type", mapping={
 *    "first"="Symfony\Component\Serializer\Tests\Fixtures\AbstractDummyFirstChild",
 *    "second"="Symfony\Component\Serializer\Tests\Fixtures\AbstractDummySecondChild"
 * })
 */
abstract class AbstractDummy
{
    public $foo;

    public function __construct($foo = null)
    {
        $this->foo = $foo;
    }
}
```

# TODO

- [x] Working as standalone
- [x] Working with the framework bundle
- [x] Tests on mapping classes

Commits
-------

4c6e05b7ee [Serializer] Serialize and deserialize from abstract classes
2017-12-07 10:34:02 -08:00
Samuel ROZE
4c6e05b7ee [Serializer] Serialize and deserialize from abstract classes 2017-12-07 10:34:01 -08:00
Nicolas Grekas
f87380c22a [DI] Force root-namespace for function calls in the dumper container 2017-12-07 18:32:09 +01:00
Nicolas Grekas
f1a7b075a6 [DI] Fix circular-aliases message 2017-12-07 18:21:50 +01:00
Fabien Potencier
04c371277b feature #25142 [Process] Create a "isTtySupported" static method (nesk)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Process] Create a "isTtySupported" static method

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

Currently, there is no way to enable the TTY mode without risking an exception. This PR extracts the code checking for TTY support and provides it in a `isTtySupported` static method.

Now we can enable the TTY mode everywhere it's available without risking an exception:

```php
$process = (new Process)->setTty(Process::isTtySupported());
```

_Old comment_:
> I'm targeting the 2.7 branch since this is not really a new feature, just a little refactoring of the existent code, and it is fully backward compatible.

Commits
-------

a1398f6de4 Create a "isTtySupported" static method
2017-12-07 08:15:02 -08:00
Fabien Potencier
7ba6000dd5 bug #25323 [ExpressionLanguage] throw an SyntaxError instead of an undefined index notice (Simperfit)
This PR was merged into the 2.7 branch.

Discussion
----------

[ExpressionLanguage] throw an SyntaxError instead of an undefined index notice

| 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 | #25214
| License       | MIT
| Doc PR        | none

I think this is a bug when the components throws a notice instead of an exception.

it's too early and too dark to see something outside so here is my couch :
![img_2915-2](https://user-images.githubusercontent.com/3451634/33592448-6b514050-d98b-11e7-8086-bc6e6b6e6e82.jpg)

Commits
-------

78abc89648 [ExpressionLanguage] throw an SyntaxError instead of letting a undefined index notice
2017-12-07 08:13:11 -08:00
Fabien Potencier
d57303faa6 bug #25363 [HttpKernel] Disable inlining on PHP 5 (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Disable inlining on PHP 5

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

Commits
-------

950fd9916b [HttpKernel] Disable inlining on PHP 5
2017-12-07 08:10:00 -08:00
Fabien Potencier
ae3d899b08 minor #25339 [DX][HttpKernel] Throw a sensible exception when controller has been removed (sroze)
This PR was merged into the 3.4 branch.

Discussion
----------

[DX][HttpKernel] Throw a sensible exception when controller has been removed

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

Following on #25201, we need to throw the same kind of sensible exception when the controller service is not found.

Commits
-------

458d63fbb9 Throw a sensible exception when controller has been removed
2017-12-07 08:02:42 -08:00
Grégoire Pineau
7c0b1cd299 feature #24751 [Workflow] Introduce a Workflow interface (Simperfit)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Workflow] Introduce a Workflow interface

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

@chalasr I think all the points you made in 23910 has been done. Needs to update the docs too.

Commits
-------

e8351d8 [Workflow] Introduce a Workflow interface
2017-12-07 13:53:16 +01:00
Amrouche Hamza
78abc89648
[ExpressionLanguage] throw an SyntaxError instead of letting a undefined index notice 2017-12-07 10:26:22 +01:00
Roland Franssen
a203d31838 [HttpKernel] Decouple exception logging from rendering 2017-12-06 19:15:30 +01:00
Samuel ROZE
22f35239a4
Prevent a loop in aliases within the findDefinition method 2017-12-06 16:40:30 +00:00
Nicolas Grekas
950fd9916b [HttpKernel] Disable inlining on PHP 5 2017-12-06 16:28:34 +01:00
Samuel ROZE
28f00866b1
Ensure that inlined services with parameterized class name can be dumped 2017-12-06 12:35:11 +00:00
Nicolas Grekas
730b156f35 [DI] Fix non-string class handling in PhpDumper 2017-12-06 13:03:52 +01:00
Samuel ROZE
458d63fbb9
Throw a sensible exception when controller has been removed 2017-12-06 11:59:38 +00:00
Robin Chalas
32b3db58f4 minor #25352 [Console] Fix phpdoc in Table class (maidmaid)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Fix phpdoc in Table class

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

Before:
![screenshot from 2017-12-06 20-37-01](https://user-images.githubusercontent.com/4578773/33657735-eaeda05c-dac5-11e7-97da-1af0a8dc0c74.png)

After:
![screenshot from 2017-12-06 20-37-43](https://user-images.githubusercontent.com/4578773/33657737-eda77fde-dac5-11e7-83ea-7fc9bf097f17.png)

Commits
-------

a7d4489 Fix php doc in Table class
2017-12-06 11:48:25 +01:00
Brian Freytag
a7ac100c45 Remove LOCK_EX That Breaks Cache Usage on NFS
This removes the exclusive lock that was introduced in #24960.

NFS File Systems do not support exclusive locking, and generates a lot
of errors every time you try to do anything with che cache.
2017-12-05 10:17:41 -05:00
Dany Maillard
a7d44895e0 Fix php doc in Table class 2017-12-05 23:53:48 +10:00
Romain Neutron
6b5ab90b5b
[VarDumper] Allow VarDumperTestTrait expectation to be non-scalar 2017-12-05 13:52:08 +01:00
Christian Flothmann
956287be72 do not evaluate PHP constant names
PHP constant identifiers must be strings anyway. Thus, we only need to
parse quoted strings, but do not have to evaluate the data types.
2017-12-05 09:19:51 +01:00
Roman Orlov
3b910a9fad [Serializer] improved CsvEncoder::decode performance by caching duplicate count calls 2017-12-05 17:56:53 +10:00
Fabien Potencier
441cfb98d8 bumped Symfony version to 4.0.2 2017-12-04 16:25:53 -08:00
Fabien Potencier
da67aa7d67 updated VERSION for 4.0.1 2017-12-04 16:18:20 -08:00
Fabien Potencier
22a6a7e4c5 bumped Symfony version to 3.4.2 2017-12-04 16:17:08 -08:00
Fabien Potencier
3a2d88fc6a updated VERSION for 3.4.1 2017-12-04 15:05:00 -08:00
Fabien Potencier
b783602622 bumped Symfony version to 3.3.15 2017-12-04 15:02:34 -08:00
Fabien Potencier
4965ef5311 updated VERSION for 3.3.14 2017-12-04 14:26:28 -08:00
Fabien Potencier
e8b5aa1cd1 bumped Symfony version to 2.8.33 2017-12-04 14:24:43 -08:00
Fabien Potencier
525b5ff976 updated VERSION for 2.8.32 2017-12-04 14:02:14 -08:00
Fabien Potencier
2c3344b8b7 bumped Symfony version to 2.7.40 2017-12-04 13:53:49 -08:00
Fabien Potencier
c7f09523e4 updated VERSION for 2.7.39 2017-12-04 12:40:11 -08:00
Fabien Potencier
3ce9c29ae4 Merge branch '4.0'
* 4.0:
  [Bridge/PhpUnit] Prefer ['argv'] over
  [SecurityBundle] fix setLogoutOnUserChange calls for context listeners
  [SecurityBundle] add note to info text of no-op config option logout_on_user_change
  [DI] Register singly-implemented interfaces when doing PSR-4 discovery
  Fix for missing whitespace control modifier in form layout
2017-12-04 12:24:15 -08:00
Robin Chalas
fa42a0ccc2 Merge branch '3.4' into 4.0
* 3.4:
  [SecurityBundle] fix setLogoutOnUserChange calls for context listeners
  [DI] Register singly-implemented interfaces when doing PSR-4 discovery
  Fix for missing whitespace control modifier in form layout
2017-12-04 21:15:30 +01:00
Fabien Potencier
831bdc3201 bug #25282 [DI] Register singly-implemented interfaces when doing PSR-4 discovery (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Register singly-implemented interfaces when doing PSR-4 discovery

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

I'm feeling bad for not having this idea before 3.4.0 went out, therefore submitting on 3.4, despite this being a new feature, technically. On a DX pov still, this is a bugfix :) I'll let you accept the argument or not...

So, when doing PSR-4-based service registration, we keep only classes as services.
This systematically leads to the question: "But what about interfaces, shouldn't we type-hint against abstractions and not classes?!"
And the answer has invariably been: "Well, just create an alias!"
Which means doing configuration manually.

I fear that if we leave things as is, we're going to grow a "generation" of devs that will hijack autowiring and abuse hinting for classes instead of interfaces.

BUT, here is the idea implemented by this PR: let's create an alias for every singly-implemented interface we discover while looking for classes!
Plain local, simple, and obvious, isn't it?

Votes pending :)

Commits
-------

fcd4aa7807 [DI] Register singly-implemented interfaces when doing PSR-4 discovery
2017-12-04 11:20:32 -08:00
Kévin Dunglas
4ff9d99f23
[Serializer] Unset attributes when creating child context 2017-12-04 20:08:57 +01:00
Nicolas Grekas
fcd4aa7807 [DI] Register singly-implemented interfaces when doing PSR-4 discovery 2017-12-04 19:49:26 +01:00
Nicolas Grekas
19b03b5d7e Merge branch '4.0'
* 4.0:
  [DI] Fix missing unset leading to false-positive circular ref
  [DI] Fix deep-inlining of non-shared refs
  parse newlines in quoted multiline strings
  Fix collision between view properties and form fields
  Fix collision between view properties and form fields
  [SecurityBundle] Fix compat with HttpFoundation >=3.4
  [DI] turn $private to protected in dumped container, to make cache:clear BC
  Fix collision between view properties and form fields
2017-12-04 19:35:44 +01:00
Nicolas Grekas
8849fb907f Merge branch '3.4' into 4.0
* 3.4:
  [DI] Fix missing unset leading to false-positive circular ref
  [DI] Fix deep-inlining of non-shared refs
  parse newlines in quoted multiline strings
  Fix collision between view properties and form fields
  Fix collision between view properties and form fields
  [SecurityBundle] Fix compat with HttpFoundation >=3.4
  Fix collision between view properties and form fields
2017-12-04 19:34:52 +01:00
Fabien Potencier
9dff16479a Merge branch '3.3' into 3.4
* 3.3:
  [DI] Fix deep-inlining of non-shared refs
  parse newlines in quoted multiline strings
  Fix collision between view properties and form fields
2017-12-04 10:15:22 -08:00
Fabien Potencier
73ff764bd9 bug #25312 [DI] Fix deep-inlining of non-shared refs (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[DI] Fix deep-inlining of non-shared refs

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

Non-shared definitions should deep-clone their inlined non-shared definitions.

Commits
-------

eb2a15229a [DI] Fix deep-inlining of non-shared refs
2017-12-04 10:00:31 -08:00
Fabien Potencier
e566998809 feature #25293 [Routing] Parse PHP constants in YAML routing files (ostrolucky)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Routing] Parse PHP constants in YAML routing files

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

Commits
-------

6040e5f859 [Routing] Parse PHP constants in YAML routing files
2017-12-04 08:57:32 -08:00
Fabien Potencier
56d1f3ebdf feature #25295 [Translation] Parse PHP constants in YAML translation files (ostrolucky)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Translation] Parse PHP constants in YAML translation files

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

Commits
-------

d2c85328bc [Translator] Parse PHP constants in YAML translation files
2017-12-04 08:56:32 -08:00
Fabien Potencier
02521164c6 feature #25294 [Serializer] Parse PHP constants in YAML mappings (ostrolucky)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Serializer] Parse PHP constants in YAML mappings

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

Commits
-------

b82f301b05 [Serializer] Parse PHP constants in YAML mappings
2017-12-04 08:53:20 -08:00
Fabien Potencier
b95a05a8c4 bug #25268 [DI] turn $private to protected in dumped container, to make cache:clear BC (nicolas-grekas)
This PR was merged into the 4.0 branch.

Discussion
----------

[DI] turn $private to protected in dumped container, to make cache:clear BC

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

Turning this property to protected changes nothing to its visibility in practice as the class is final anyway,
but when migrating to SF4.0 from 3.4, the `cache:clear` command chokes with "Compile Error: Access level to srcDevDebugProjectContainer::$privates must be protected".

Let's make it protected to remove this WTF.

Commits
-------

c98d967b0c [DI] turn $private to protected in dumped container, to make cache:clear BC
2017-12-04 08:50:56 -08:00
Nicolas Grekas
17d84f6a87 [DI] Fix missing unset leading to false-positive circular ref 2017-12-04 17:04:41 +01:00
Nicolas Grekas
eb2a15229a [DI] Fix deep-inlining of non-shared refs 2017-12-04 16:44:12 +01:00
Amrouche Hamza
e8351d8f54
[Workflow] Introduce a Workflow interface 2017-12-04 16:23:01 +01:00
Christian Flothmann
b23b957ae9 parse newlines in quoted multiline strings 2017-12-04 15:51:35 +01:00