Commit Graph

21356 Commits

Author SHA1 Message Date
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
Nicolas Grekas
5ed5dcf994 Merge branch '4.0'
* 4.0:
  SCA with Php Inspections (EA Extended)
  Add test case for #25264
  Fixed the null value exception case.
  Remove rc/beta suffix from composer.json files
  Ensure services & aliases can be referred to with `__toString`able objects
  Throw an exception is expression language is not installed
  [DI] Cast ids to string, as done on 3.4
  Fail as early and noisily as possible
  [Console][DI] Fail gracefully
  [FrameworkBundle] Fix visibility of a test helper
  [link] clear the cache after linking
  [DI] Trigger deprecation when setting a to-be-private synthetic service
  [Intl] Correct Typehint
  [link] Prevent warnings when running link with 2.7
  [Validator] ExpressionValidator should use OBJECT_TO_STRING to allow value in message
  do not eagerly filter comment lines
  [WebProfilerBundle], [TwigBundle] Fix Profiler breaking XHTML pages (Content-Type: application/xhtml+xml)
2017-12-04 13:32:14 +01:00
Nicolas Grekas
1da85910c7 Merge branch '3.4' into 4.0
* 3.4:
  SCA with Php Inspections (EA Extended)
  Add test case for #25264
  Fixed the null value exception case.
  Remove rc/beta suffix from composer.json files
  Throw an exception is expression language is not installed
  Fail as early and noisily as possible
  [Console][DI] Fail gracefully
  [FrameworkBundle] Fix visibility of a test helper
  [link] clear the cache after linking
  [DI] Trigger deprecation when setting a to-be-private synthetic service
  [link] Prevent warnings when running link with 2.7
  [Validator] ExpressionValidator should use OBJECT_TO_STRING to allow value in message
  do not eagerly filter comment lines
  [WebProfilerBundle], [TwigBundle] Fix Profiler breaking XHTML pages (Content-Type: application/xhtml+xml)
2017-12-04 13:31:58 +01:00
Nicolas Grekas
0b0542d45e bug #25285 [DI] Throw an exception if Expression Language is not installed (sroze)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Throw an exception if Expression Language is not installed

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

The [`PhpDumper` already has this check](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php#L1688-L1690) but it is missing here.

Commits
-------

75b21e9 Throw an exception is expression language is not installed
2017-12-04 13:20:58 +01:00
Nicolas Grekas
abd76ba4c9 Merge branch '3.3' into 3.4
* 3.3:
  Fail as early and noisily as possible
  [FrameworkBundle] Fix visibility of a test helper
  [link] clear the cache after linking
  [link] Prevent warnings when running link with 2.7
  [Validator] ExpressionValidator should use OBJECT_TO_STRING to allow value in message
  do not eagerly filter comment lines
  [WebProfilerBundle], [TwigBundle] Fix Profiler breaking XHTML pages (Content-Type: application/xhtml+xml)
2017-12-04 13:17:59 +01:00
Nicolas Grekas
5b997f1f21 Merge branch '2.8' into 3.3
* 2.8:
  [FrameworkBundle] Fix visibility of a test helper
  [link] clear the cache after linking
  [link] Prevent warnings when running link with 2.7
  [Validator] ExpressionValidator should use OBJECT_TO_STRING to allow value in message
2017-12-04 13:17:10 +01:00
Nicolas Grekas
874d418a8f Merge branch '2.7' into 2.8
* 2.7:
  [FrameworkBundle] Fix visibility of a test helper
  [link] clear the cache after linking
  [link] Prevent warnings when running link with 2.7
  [Validator] ExpressionValidator should use OBJECT_TO_STRING to allow value in message
2017-12-04 13:15:49 +01:00
Nicolas Grekas
2adb67bb42 minor #24960 SCA with Php Inspections (EA Extended) (kalessil)
This PR was squashed before being merged into the 3.4 branch (closes #24960).

Discussion
----------

SCA with Php Inspections (EA Extended)

| 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

- Greedy regex characters set fixed
- Potential race-conditions fixed

Commits
-------

4d39a2d SCA with Php Inspections (EA Extended)
2017-12-04 13:09:04 +01:00
Vladimir Reznichenko
4d39a2d8dc SCA with Php Inspections (EA Extended) 2017-12-04 13:09:02 +01:00
Nicolas Grekas
86b0598810 bug #25297 [Validator] Fixed the @Valid(groups={"group"}) against null exception case (vudaltsov)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] Fixed the @Valid(groups={"group"}) against null exception case

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

When `@Valid(groups={"group"})` has non-empty groups and the value is `null`, validator throws `Cannot validate values of type "NULL" automatically. Please provide a constraint.` at `RecursiveContextualValidator:164`.

I don't really understand, why everything is okay for `@Valid()` without groups, but hope that my fix is correct anyway.

Commits
-------

56f24d0 Fixed the null value exception case.
2017-12-04 11:35:03 +01:00
Samuel ROZE
561cd7e317 Add tests on the ContainerBag 2017-12-04 10:48:22 +01:00
Alessandro Lai
93441c1a85
Add test case for #25264 2017-12-04 10:23:02 +01:00
Nicolas Grekas
0e18d3ec2b [DI][FrameworkBundle] Add PSR-11 "ContainerBag" to access parameters as-a-service 2017-12-04 09:41:54 +01:00
Dany Maillard
360a984b0c Add box style table 2017-12-04 17:06:19 +10:00
Fabien Potencier
5b8cf03dcb minor #25292 Remove rc/beta suffix from composer.json files (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

Remove rc/beta suffix from composer.json files

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

We don't need that anymore.

Commits
-------

9fb6a88580 Remove rc/beta suffix from composer.json files
2017-12-03 17:35:40 -08:00
Valentin
56f24d08c9 Fixed the null value exception case. 2017-12-04 02:10:25 +03:00
Gabriel Ostrolucký
d2c85328bc [Translator] Parse PHP constants in YAML translation files 2017-12-03 23:47:57 +01:00
Gabriel Ostrolucký
b82f301b05 [Serializer] Parse PHP constants in YAML mappings 2017-12-03 23:37:47 +01:00
Gabriel Ostrolucký
6040e5f859 [Routing] Parse PHP constants in YAML routing files 2017-12-03 23:09:33 +01:00
Nicolas Grekas
9fb6a88580 Remove rc/beta suffix from composer.json files 2017-12-03 22:15:09 +01:00
Samuel ROZE
11c6b386c6
Ensure services & aliases can be referred to with __toStringable objects 2017-12-03 13:36:40 +00:00
Nicolas Grekas
c98d967b0c [DI] turn $private to protected in dumped container, to make cache:clear BC 2017-12-03 14:10:40 +01:00
Samuel ROZE
75b21e9c86
Throw an exception is expression language is not installed 2017-12-03 13:07:37 +00:00
Nicolas Grekas
483dd134f4 [DI] Cast ids to string, as done on 3.4 2017-12-03 12:09:35 +01:00
Fabien Potencier
c927c481aa bug #25255 [Console][DI] Fail gracefully (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console][DI] Fail gracefully

| 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/flex/issues/212, #25280
| License       | MIT
| Doc PR        | -

I already experienced this issue a few times without spending time digging it:
sometimes, you call `cache:clear`, and the command quits without any output, and with 255 status code.

The reason is the `@include` in `Kernel`, which makes everything silent, especially fatal errors (thanks PHP...)
So if the to-be-removed container is broken for some fatal reason, the failure is really bad.

To fix that, here are two measures:
- use `include_once` instead of `require_once` in the dumped container: that's OK there to actually not immediately load the file, any hard failure will happen later anyway, and any soft failure will allow the `cache:clear` command to complete (like when you remove a package)
- register `Application::renderException()` as the main PHP exception handler, via `Debug::ErrorHandler` when it's available

End result when it fails:
![image](https://user-images.githubusercontent.com/243674/33494543-e1d07202-d6c3-11e7-9677-bc2ae72fbba9.png)

instead of a blank output.

Commits
-------

4a5a3f52ab [Console][DI] Fail gracefully
2017-12-02 15:04:03 -08:00
Nicolas Grekas
4a5a3f52ab [Console][DI] Fail gracefully 2017-12-02 19:20:11 +01:00
Fabien Potencier
a603ba0bee feature #25178 [Routing] Allow to set name prefixes from the configuration (sroze)
This PR was squashed before being merged into the 4.1-dev branch (closes #25178).

Discussion
----------

[Routing] Allow to set name prefixes from the configuration

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

This allows setting name prefixes to routes while importing them. Typically, we can then import multiple times a similar file. This was originally requested by 🎸 @chrisguitarguy in https://github.com/symfony/symfony/issues/19612

```yaml
app:
    resource: ../controller/routing.yml

api:
    resource: ../controller/routing.yml
    name_prefix: api_
    prefix: /api
```

```xml
<?xml version="1.0" encoding="UTF-8" ?>
<routes xmlns="http://symfony.com/schema/routing"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://symfony.com/schema/routing
        http://symfony.com/schema/routing/routing-1.0.xsd">

    <import resource="../controller/routing.xml" />
    <import resource="../controller/routing.xml" prefix="/api" name-prefix="api_" />

</routes>
```

Commits
-------

880d7e7436 [Routing] Allow to set name prefixes from the configuration
2017-12-02 08:31:40 -08:00
Samuel ROZE
880d7e7436 [Routing] Allow to set name prefixes from the configuration 2017-12-02 08:31:39 -08:00
Julien Falque
c5af7fd938
Fix hidden currency element with Bootstrap 3 theme 2017-12-02 11:52:27 +01:00
Nicolas Grekas
28175767d2 [DI] Trigger deprecation when setting a to-be-private synthetic service 2017-12-02 00:46:52 +01:00
Michael Gwynne
5377e28463 [Intl] Correct Typehint 2017-12-01 20:03:44 +00:00
Nicolas Grekas
44fcbd3489 Merge branch '4.0'
* 4.0:
  [DI] Add missing deprecation when fetching private services from ContainerBuilder
  [FrameworkBundle] Rename getDotEnvVars to getDotenvVars
  [DI] Fix false-positive circular exception
  Use a more specific file for detecting the bridge
  [HttpKernel] Fix issue when resetting DumpDataCollector
  bumped Symfony version to 4.0.1
  updated VERSION for 4.0.0
  updated CHANGELOG for 4.0.0
  bumped Symfony version to 3.4.1
  updated VERSION for 3.4.0
  updated CHANGELOG for 3.4.0
2017-12-01 20:21:14 +01:00
Nicolas Grekas
9857419f1a Merge branch '3.4' into 4.0
* 3.4:
  [DI] Add missing deprecation when fetching private services from ContainerBuilder
  [FrameworkBundle] Rename getDotEnvVars to getDotenvVars
  [DI] Fix false-positive circular exception
  Use a more specific file for detecting the bridge
  [HttpKernel] Fix issue when resetting DumpDataCollector
  bumped Symfony version to 3.4.1
  updated VERSION for 3.4.0
  updated CHANGELOG for 3.4.0
2017-12-01 20:20:47 +01:00
Fabien Potencier
5b360e2684 feature #25237 [VarDumper] add a GMP caster in order to cast GMP resources into string or integer (Simperfit)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[VarDumper] add a GMP caster in order to cast GMP resources into string or integer

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

Do you want to dump that kind of resources ? Then it means that the app you are writing is doing some math... why?! :p

It quite nice the little snow that we have in the north of france right now:
![img_2844](https://user-images.githubusercontent.com/3451634/33472917-8b48913e-d674-11e7-923f-ad951f7f2966.JPG)

Commits
-------

ed2c1af26b [VarDumper] add a GMP caster in order to cast GMP resources into string or integer
2017-12-01 09:50:06 -08:00
Fabien Potencier
2edb7faad5 feature #25166 [WebProfilerBundle] Expose dotenv variables (ro0NL)
This PR was squashed before being merged into the 4.1-dev branch (closes #25166).

Discussion
----------

[WebProfilerBundle] Expose dotenv variables

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

Variant of #23951

![image](https://user-images.githubusercontent.com/1047696/33243493-a6c94484-d2e7-11e7-9cfc-4a886d013f8b.png)

Commits
-------

de33d87abd [WebProfilerBundle] Expose dotenv variables
2017-12-01 09:42:06 -08:00
Roland Franssen
de33d87abd [WebProfilerBundle] Expose dotenv variables 2017-12-01 09:42:05 -08:00
Fabien Potencier
9401afd031 bug #25244 [DI] Add missing deprecation when fetching private services from ContainerBuilder (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Add missing deprecation when fetching private services from ContainerBuilder

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

Commits
-------

93c0b3801c [DI] Add missing deprecation when fetching private services from ContainerBuilder
2017-12-01 09:40:17 -08:00
Amrouche Hamza
7dac528a86
[Validator] ExpressionValidator should use OBJECT_TO_STRING to allow value in message 2017-12-01 18:16:29 +01:00
Amrouche Hamza
ed2c1af26b
[VarDumper] add a GMP caster in order to cast GMP resources into string or integer 2017-12-01 16:54:45 +01:00
Nicolas Grekas
93c0b3801c [DI] Add missing deprecation when fetching private services from ContainerBuilder 2017-12-01 16:10:27 +01:00
Fabien Potencier
3da36e39ec fixed CHANGELOG 2017-12-01 06:34:03 -08:00
Fabien Potencier
87f5876842 feature #24937 [DependencyInjection] Added support for variadics in named arguments (PabloKowalczyk)
This PR was squashed before being merged into the 4.1-dev branch (closes #24937).

Discussion
----------

[DependencyInjection] Added support for variadics in named arguments

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

Commits
-------

b5c0e8977c [DependencyInjection] Added support for variadics in named arguments
2017-12-01 06:31:07 -08:00
pkowalczyk
b5c0e8977c [DependencyInjection] Added support for variadics in named arguments 2017-12-01 06:31:04 -08:00
Nicolas Grekas
adf18198f6 [DI] Fix false-positive circular exception 2017-12-01 14:16:38 +01:00
Christian Flothmann
d594038ad9 do not eagerly filter comment lines
Trying to be clever by filtering commented lines inside
`getNextEmbedBlock()` does not work as expected. The `#` may as well be
part of a multi-line quoted string where it must not be treated as the
beginning of a comment. Thus, we only must ensure that a comment-like
line does not skip the process of getting the next line of the embed
block.
2017-12-01 11:59:50 +01:00
Alex Rock Ancelet
159fedcef6
[HttpKernel] Fix issue when resetting DumpDataCollector 2017-11-30 20:02:12 +01:00
Fabien Potencier
186fd5c9cf bumped Symfony version to 4.0.1 2017-11-30 09:51:21 -08:00
Fabien Potencier
ddb377e1fd updated VERSION for 4.0.0 2017-11-30 09:43:40 -08:00
Fabien Potencier
76d356f36a bumped Symfony version to 3.4.1 2017-11-30 09:39:42 -08:00
Fabien Potencier
72538ff07f updated VERSION for 3.4.0 2017-11-30 08:56:05 -08:00
Nicolas Grekas
bf4b09f9c5 Merge branch '4.0'
* 4.0:
  [HttpFoundation] Add Session::isEmpty(), fix MockFileSessionStorage to behave like the native one
  [HttpKernel] Add a better error messages when passing a private or non-tagged controller
  Test the suggestion of already registered services
  [VarDumper] Dont use empty(), it chokes on eg GMP objects
  [Dotenv] Changed preg_match flags from null to 0
  remove upgrade instructions for kernel.root_dir
  [HttpKernel] Arrays with scalar values passed to ESI fragment renderer throw deprecation notice
  [DependencyInjection] Add more information to the message when passing miss matching class.
  [HttpKernel] add a test for FilterControllerEvents
2017-11-30 16:12:01 +01:00
Nicolas Grekas
32dfdb30c6 Merge branch '3.4' into 4.0
* 3.4:
  [HttpFoundation] Add Session::isEmpty(), fix MockFileSessionStorage to behave like the native one
  [HttpKernel] Add a better error messages when passing a private or non-tagged controller
  [VarDumper] Dont use empty(), it chokes on eg GMP objects
  [Dotenv] Changed preg_match flags from null to 0
  remove upgrade instructions for kernel.root_dir
  [HttpKernel] Arrays with scalar values passed to ESI fragment renderer throw deprecation notice
  [HttpKernel] add a test for FilterControllerEvents
2017-11-30 16:11:43 +01:00
Nicolas Grekas
679eebb256 bug #25220 [HttpFoundation] Add Session::isEmpty(), fix MockFileSessionStorage to behave like the native one (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] Add Session::isEmpty(), fix MockFileSessionStorage to behave like the native one

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

MockFileSessionStorage should not create any file when the session is empty. Like the native session storage, it should ignore the metadataBag to decide if the session is empty.

And to prevent AbstractTestSessionListener from registered a wrong cookie, it must have access to this empty state, which is now possible thanks to a new `Session::isEmpty()` method. Implementing is requires access to the internal storage of bags, which is possible via an internal proxy.

Commits
-------

56846ac [HttpFoundation] Add Session::isEmpty(), fix MockFileSessionStorage to behave like the native one
2017-11-30 16:06:52 +01:00
Nicolas Grekas
7582b1a09e Merge branch '3.3' into 3.4
* 3.3:
  [VarDumper] Dont use empty(), it chokes on eg GMP objects
  [Dotenv] Changed preg_match flags from null to 0
  remove upgrade instructions for kernel.root_dir
  [HttpKernel] Arrays with scalar values passed to ESI fragment renderer throw deprecation notice
  [HttpKernel] add a test for FilterControllerEvents
2017-11-30 15:59:23 +01:00
Nicolas Grekas
56846ac6c1 [HttpFoundation] Add Session::isEmpty(), fix MockFileSessionStorage to behave like the native one 2017-11-30 15:56:21 +01:00
Nicolas Grekas
336600857b bug #25209 [VarDumper] Dont use empty(), it chokes on eg GMP objects (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[VarDumper] Dont use empty(), it chokes on eg GMP objects

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

Commits
-------

1b14173 [VarDumper] Dont use empty(), it chokes on eg GMP objects
2017-11-30 15:48:11 +01:00
Nicolas Grekas
26fb4c7055 bug #25200 [HttpKernel] Arrays with scalar values passed to ESI fragment renderer throw deprecation notice (Simperfit)
This PR was merged into the 3.3 branch.

Discussion
----------

[HttpKernel] Arrays with scalar values passed to ESI fragment renderer throw deprecation notice

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

Coding in the train to Paris !

![img_2832](https://user-images.githubusercontent.com/3451634/33361971-8aa17a70-d4da-11e7-90a0-b2f08a60d0e6.JPG)

Commits
-------

d84b47f [HttpKernel] Arrays with scalar values passed to ESI fragment renderer throw deprecation notice
2017-11-30 15:42:59 +01:00
Nicolas Grekas
ae37c7ab76 bug #25201 [HttpKernel] Add a better error messages when passing a private or non-tagged controller (Simperfit)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Add a better error messages when passing a private or non-tagged controller

| 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 | #25192 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | none

- [x] Add more tests

Commits
-------

b1173f3 [HttpKernel] Add a better error messages when passing a private or non-tagged controller
2017-11-30 15:36:25 +01:00
Nicolas Grekas
ee71106da5 bug #25155 [DependencyInjection] Detect case mismatch in autowiring (Simperfit, sroze)
This PR was merged into the 4.0 branch.

Discussion
----------

[DependencyInjection] Detect case mismatch in autowiring

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

If there is a case-sensitive typo in the service injection, this will suggest the non-typoed version.

Commits
-------

407f132 Test the suggestion of already registered services
decaf23 [DependencyInjection] Add more information to the message when passing miss matching class.
2017-11-30 15:32:51 +01:00
Amrouche Hamza
b1173f3ea7
[HttpKernel] Add a better error messages when passing a private or non-tagged controller 2017-11-30 15:23:34 +01:00
Samuel ROZE
407f132e43
Test the suggestion of already registered services 2017-11-30 11:00:15 +00:00
Nicolas Grekas
8950aada3b minor #25054 [HttpKernel] add a test for FilterControllerEvents (Simperfit)
This PR was merged into the 3.3 branch.

Discussion
----------

[HttpKernel] add a test for FilterControllerEvents

| Q             | A
| ------------- | ---
| Branch?       | 3.3
| 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?   | no
| Fixed tickets | no <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | no

Commits
-------

b746e8a [HttpKernel] add a test for FilterControllerEvents
2017-11-30 10:33:45 +01:00
Nicolas Grekas
1b141732db [VarDumper] Dont use empty(), it chokes on eg GMP objects 2017-11-30 10:28:49 +01:00
Derek Bonner
b0d297b962 [Dotenv] Changed preg_match flags from null to 0 2017-11-29 20:22:22 -08:00
Nicolas Grekas
7bab5b2656 Merge branch '4.0'
* 4.0:
  [DI] Fix circular reference when using setters
  [DI] Clear service reference graph
2017-11-29 18:00:02 +01:00
Nicolas Grekas
ff87b4c939 Merge branch '3.4' into 4.0
* 3.4:
  [DI] Fix circular reference when using setters
  [DI] Clear service reference graph
2017-11-29 17:55:50 +01:00
Nicolas Grekas
d90a3b50d4 bug #25180 [DI] Fix circular reference when using setters (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Fix circular reference when using setters

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

I did not manage to make a reproducing test case, yet @deguif provided me an app that I could play with to debug and fix.

Commits
-------

de5eecc [DI] Fix circular reference when using setters
2017-11-29 17:42:20 +01:00
Nicolas Grekas
ad3ddebf90 bug #25204 [DI] Clear service reference graph (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Clear service reference graph

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

Spotted while playing with the container: we keep this graph in memory even it its stale already.
Clearing it also leave circular refs for the php garbage collector, better clean ourselves.

Commits
-------

2744b41 [DI] Clear service reference graph
2017-11-29 17:40:14 +01:00
Nicolas Grekas
de5eecc5fa [DI] Fix circular reference when using setters 2017-11-29 15:34:00 +01:00
Christian Flothmann
ed2222bb85 Merge branch '4.0'
* 4.0:
  [HttpKernel] Fix race condition when clearing old containers
  [DI] Fix infinite loop in InlineServiceDefinitionsPass
  [HttpKernel] Keep legacy container files for concurrent requests
  Do not cache cache attributes if `attributes` is in the context
  Test that it do not remove the new flashes when displaying the existing ones
  [HttpFoundation] AutExpireFlashBag should not clear new flashes
  [FrameworkBundle][Serializer] Remove YamlEncoder definition if Yaml component isn't installed
  [DI] Fix tracking of env vars in exceptions
  [Form] Don't rely on  if http-foundation isn't in FileType
  Fix merge
  substitute aliases in inline mappings
  added ability for substitute aliases when mapping in YAML is on single line
  [Console] Fix global console flag when used in chain
2017-11-29 14:47:22 +01:00
Christian Flothmann
1897ea087a Merge branch '3.4' into 4.0
* 3.4:
  [HttpKernel] Fix race condition when clearing old containers
  [DI] Fix infinite loop in InlineServiceDefinitionsPass
  [HttpKernel] Keep legacy container files for concurrent requests
  Do not cache cache attributes if `attributes` is in the context
  Test that it do not remove the new flashes when displaying the existing ones
  [HttpFoundation] AutExpireFlashBag should not clear new flashes
  [FrameworkBundle][Serializer] Remove YamlEncoder definition if Yaml component isn't installed
  [DI] Fix tracking of env vars in exceptions
  [Form] Don't rely on  if http-foundation isn't in FileType
  Fix merge
  substitute aliases in inline mappings
  added ability for substitute aliases when mapping in YAML is on single line
  [Console] Fix global console flag when used in chain
2017-11-29 14:42:03 +01:00
Fabien Potencier
5cb6c93f5b minor #25205 [HttpKernel] Fix race condition when clearing old containers (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Fix race condition when clearing old 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        | -

Missed in #25190: when two concurrent requests create the new container concurrently, the last one would drop the old container files, because the first one just created the `*.legacyContainer` file.

Commits
-------

9d553f533f [HttpKernel] Fix race condition when clearing old containers
2017-11-29 05:36:35 -08:00
Christian Flothmann
f74ecedd0b Merge branch '3.3' into 3.4
* 3.3:
  [DI] Fix infinite loop in InlineServiceDefinitionsPass
  Do not cache cache attributes if `attributes` is in the context
  Test that it do not remove the new flashes when displaying the existing ones
  [HttpFoundation] AutExpireFlashBag should not clear new flashes
  [FrameworkBundle][Serializer] Remove YamlEncoder definition if Yaml component isn't installed
  [DI] Fix tracking of env vars in exceptions
  [Form] Don't rely on  if http-foundation isn't in FileType
  Fix merge
  substitute aliases in inline mappings
  added ability for substitute aliases when mapping in YAML is on single line
  [Console] Fix global console flag when used in chain
2017-11-29 14:28:14 +01:00
Christian Flothmann
b4afeb2e81 Merge branch '2.8' into 3.3
* 2.8:
  Test that it do not remove the new flashes when displaying the existing ones
  [HttpFoundation] AutExpireFlashBag should not clear new flashes
  [Form] Don't rely on  if http-foundation isn't in FileType
  Fix merge
  substitute aliases in inline mappings
  added ability for substitute aliases when mapping in YAML is on single line
  [Console] Fix global console flag when used in chain
2017-11-29 13:25:49 +01:00
Amrouche Hamza
d84b47fe9d
[HttpKernel] Arrays with scalar values passed to ESI fragment renderer throw deprecation notice 2017-11-29 10:42:06 +01:00
Nicolas Grekas
1941a78922 Merge branch '2.7' into 2.8
* 2.7:
  Test that it do not remove the new flashes when displaying the existing ones
  [HttpFoundation] AutExpireFlashBag should not clear new flashes
  [Form] Don't rely on  if http-foundation isn't in FileType
  substitute aliases in inline mappings
  added ability for substitute aliases when mapping in YAML is on single line
  [Console] Fix global console flag when used in chain
2017-11-29 10:33:18 +01:00
Nicolas Grekas
85223d373b bug #25203 [DI] Fix infinite loop in InlineServiceDefinitionsPass (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[DI] Fix infinite loop in InlineServiceDefinitionsPass

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

When a non-shared is involved in a setter-circular loop, the pass enters an infinite loop right now.

Commits
-------

b988aa7 [DI] Fix infinite loop in InlineServiceDefinitionsPass
2017-11-29 10:21:33 +01:00
Nicolas Grekas
9d553f533f [HttpKernel] Fix race condition when clearing old containers 2017-11-29 10:08:48 +01:00
Nicolas Grekas
2744b41c83 [DI] Clear service reference graph 2017-11-29 09:18:28 +01:00
Nicolas Grekas
b988aa7c59 [DI] Fix infinite loop in InlineServiceDefinitionsPass 2017-11-29 09:04:31 +01:00
Fabien Potencier
1f14f4d836 bug #25190 [HttpKernel] Keep legacy container files for concurrent requests (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Keep legacy container files for concurrent requests

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

Because concurrent requests might still be using them,
old container files should not be removed immediately,
but on a next dump of the container.

Commits
-------

ee3b6fe642 [HttpKernel] Keep legacy container files for concurrent requests
2017-11-28 18:27:08 -08:00
Christian Flothmann
1cada24000 Merge branch '4.0'
* 4.0:
  [HttpKernel] Better handling of legacy cache
  modify definitions only if the do exist
  [DI] Prevent a ReflectionException during cache:clear when the parent class doesn't exist
  [FrameworkBundle] Make MicroKernelTraitTest green
  don't override existing verbosity env var
  [HttpKernel] Read $_ENV when checking SHELL_VERBOSITY
  Remove unreachable code
  bumped Symfony version to 4.0.0
  Automatically enable the CSRF protection if CSRF manager exists
  updated VERSION for 4.0.0-RC2
  updated CHANGELOG for 4.0.0-RC2
  bumped Symfony version to 3.4.0
  adding checks for the expression language
  updated VERSION for 3.4.0-RC2
  updated CHANGELOG for 3.4.0-RC2
2017-11-28 23:07:16 +01:00
Christian Flothmann
d2496ab5d2 Merge branch '3.4' into 4.0
* 3.4:
  [HttpKernel] Better handling of legacy cache
  modify definitions only if the do exist
  [DI] Prevent a ReflectionException during cache:clear when the parent class doesn't exist
  [FrameworkBundle] Make MicroKernelTraitTest green
  don't override existing verbosity env var
  [HttpKernel] Read $_ENV when checking SHELL_VERBOSITY
  Remove unreachable code
  Automatically enable the CSRF protection if CSRF manager exists
  bumped Symfony version to 3.4.0
  adding checks for the expression language
  updated VERSION for 3.4.0-RC2
  updated CHANGELOG for 3.4.0-RC2
2017-11-28 23:05:27 +01:00
Nicolas Grekas
ee3b6fe642 [HttpKernel] Keep legacy container files for concurrent requests 2017-11-28 14:26:26 +01:00
Samuel ROZE
6e87382bfa
Do not cache cache attributes if attributes is in the context 2017-11-28 12:04:06 +00:00
Samuel ROZE
706201efe4
Test that it do not remove the new flashes when displaying the existing ones 2017-11-28 08:49:55 +00:00
Amrouche Hamza
7fe3fe8245
[HttpFoundation] AutExpireFlashBag should not clear new flashes 2017-11-28 06:31:17 +01:00
Fabien Potencier
3c8ff5ea83 bug #25174 [Translation] modify definitions only if the do exist (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Translation] modify definitions only if the do exist

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

If the `TranslatorPass` is used an application without the Console
component, the commands will not be registered. Thus, their service
definitions must not be modified.

Commits
-------

eab90ef1cf modify definitions only if the do exist
2017-11-27 14:17:52 -08:00
Nicolas Grekas
3a873f8877 [HttpKernel] Better handling of legacy cache 2017-11-27 16:08:42 +01:00
Christian Flothmann
eab90ef1cf modify definitions only if the do exist
If the `TranslatorPass` is used an application without the Console
component, the commands will not be registered. Thus, their service
definitions must not be modified.
2017-11-27 15:23:00 +01:00
Nicolas Grekas
a19d1e5d15 bug #25160 [DI] Prevent a ReflectionException during cache:clear when the parent class doesn't exist (dunglas)
This PR was squashed before being merged into the 3.4 branch (closes #25160).

Discussion
----------

[DI] Prevent a ReflectionException during cache:clear when the parent class doesn't exist

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

Currently, if you just run the following commands:

```
composer create-project -s beta symfony/skeleton:^3.4 test
composer req orm
```

You get the following error:

```
In UniqueEntityValidator.php line 27:

  [ReflectionException]
  Class Symfony\Component\Validator\ConstraintValidator not found
```

`UniqueEntityValidator` is in the bridge, but it's parent class is in the validator (that is not installed by default). The hot path optimization feature (enabled by default) uses reflection, and the reflection API throws an exception in this specific case.

This PR fixes the error.

Commits
-------

6e622c6 [DI] Prevent a ReflectionException during cache:clear when the parent class doesn't exist
2017-11-27 10:49:37 +01:00
Kévin Dunglas
6e622c668b [DI] Prevent a ReflectionException during cache:clear when the parent class doesn't exist 2017-11-27 10:49:34 +01:00
Nicolas Grekas
4cfd2d90a5 minor #25168 [HttpKernel] don't override existing verbosity env var (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] don't override existing verbosity env var

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

While playing with the changes from #25162 I noticed that setting the `SHELL_VERBOSITY` env var in `phpunit.xml.dist` did not work as the kernel was setting the variable before the logic in the `Logger` class was executed.

Commits
-------

df4d6d6 don't override existing verbosity env var
2017-11-27 09:12:26 +01:00
Christian Flothmann
df4d6d6e16 don't override existing verbosity env var 2017-11-26 21:27:09 +01:00
Nicolas Grekas
73f1ac5ea2 [DI] Fix tracking of env vars in exceptions 2017-11-26 20:37:03 +01:00
Fabien Potencier
a2844c04ca bug #25162 [HttpKernel] Read $_ENV when checking SHELL_VERBOSITY (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Read $_ENV when checking SHELL_VERBOSITY

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

Needed so that we can set the env var from `phpunit.xml.dist`.

Commits
-------

7de1af4d53 [HttpKernel] Read $_ENV when checking SHELL_VERBOSITY
2017-11-26 11:02:43 -08:00
Nicolas Grekas
7de1af4d53 [HttpKernel] Read $_ENV when checking SHELL_VERBOSITY 2017-11-26 18:11:23 +01:00
Fabien Potencier
7c0a59ffed bug #25158 [DI] Remove unreachable code (GawainLynch)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Remove unreachable code

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

#24033 added the ability to ignore uninitialized references, but the regex above the conditional would lead to an `InvalidArgumentException` being thrown.

Commits
-------

ced0857560 Remove unreachable code
2017-11-26 07:53:06 -08:00
Fabien Potencier
e3e239ffb4 bug #25152 [Form] Don't rely on Symfony\Component\HttpFoundation\File\File if http-foundation isn't in FileType (issei-m)
This PR was squashed before being merged into the 2.7 branch (closes #25152).

Discussion
----------

[Form] Don't rely on `Symfony\Component\HttpFoundation\File\File` if http-foundation isn't in FileType

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

Currently `FileType` may depend on `Symfony\Component\HttpFoundation\File\File` regardless `http-foundation` has been installed or not.
It leads to occur the class-not-found error.
(Attached the screen capture, please see below and I provided the representation [here](https://github.com/issei-m/form-bug-representation/issues/1) for your information)

So I ensure `Symfony\Component\HttpFoundation\File\File` does exist, and if not, we don't specify any classes for this type.
While setting no specified class to `data_class` means making [property path behavior changed](7234bfd56a/src/Symfony/Component/Form/Form.php (L229-L231)),
[NativeRequestHandler](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/NativeRequestHandler.php) which is usually expected to be used in non-full-stack env handles a pure array like `$_FILES` holds, fully intended behavior AFAIK.

![image](https://user-images.githubusercontent.com/1135118/33216654-14706a56-d178-11e7-8e4b-c38c14ec7532.png)

Commits
-------

a264238e8a [Form] Don't rely on  if http-foundation isn't in FileType
2017-11-26 07:51:04 -08:00
Issei.M
a264238e8a [Form] Don't rely on if http-foundation isn't in FileType 2017-11-26 07:51:00 -08:00
Gawain Lynch
ced0857560
Remove unreachable code 2017-11-26 14:53:48 +01:00
Robin Chalas
18dd63a4a8 feature #24819 [Console] add setInputs to ApplicationTester and share some code (Simperfit)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Console] add setInputs to ApplicationTester and share some code

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

I didn't implemented the tests because I don't know how to write them on ApplicationTester.

Commits
-------

ea86ed8 [Console] add setInputs to ApplicationTest and share some code
2017-11-26 02:09:27 +01:00
Robin Chalas
9107fb0afd bug #24987 [Console] Fix global console flag when used in chain (Simperfit)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Fix global console flag when used in chain

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

Because SymfonyCon is great we can create pull request in it ! (this was preparer in the plane and I can push it just right now ;))

Finished in the #SymfonyConHackday2017

Commits
-------

1f8db73 [Console] Fix global console flag when used in chain
2017-11-26 02:04:32 +01:00
Robin Chalas
eb8e2d3301 feature #25131 [SecurityBundle][Security][Translation] trigger some deprecations for legacy methods (xabbuh)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[SecurityBundle][Security][Translation] trigger some deprecations for legacy methods

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

Commits
-------

e3396ea trigger some deprecations for legacy methods
2017-11-26 01:59:00 +01:00
Amrouche Hamza
decaf234dd
[DependencyInjection] Add more information to the message when passing miss matching class. 2017-11-25 14:01:35 +00:00
Fabien Potencier
e251993ce2 bumped Symfony version to 4.0.0 2017-11-24 07:38:29 -08:00
Fabien Potencier
a76ef07106 updated VERSION for 4.0.0-RC2 2017-11-24 07:21:18 -08:00
Ryan Weaver
3502020834 adding checks for the expression language 2017-11-24 09:49:28 -05:00
Nicolas Grekas
7234bfd56a Merge branch '4.0'
* 4.0:
  [DI] Dont resolve envs in service ids
  Add tests proving it can load annotated files
  [WebProfilerBundle] Reset letter-spacing in toolbar
  Prefer overflow-wrap to word-break
  remove more kernel.root_dir parameter refs
  [*Bundle] Replace some kernel.root_dir by kernel.project_dir
  removed some phpdocs
  [Routing] Fix "config-file-relative" annotation loader resources
  Make search in debug:container command case-insensitive
  `resolveEnvPlaceholders` will return a mixed value
  Remove dead code, add missing test
  Update translation commands to work with default paths
  [FrameworkBundle] Fix AssetsInstallCommand
2017-11-24 15:34:34 +01:00
Nicolas Grekas
8b98282821 Merge branch '3.4' into 4.0
* 3.4:
  [DI] Dont resolve envs in service ids
  Add tests proving it can load annotated files
  [WebProfilerBundle] Reset letter-spacing in toolbar
  Prefer overflow-wrap to word-break
  remove more kernel.root_dir parameter refs
  [*Bundle] Replace some kernel.root_dir by kernel.project_dir
  removed some phpdocs
  [Routing] Fix "config-file-relative" annotation loader resources
  Make search in debug:container command case-insensitive
  `resolveEnvPlaceholders` will return a mixed value
  Update translation commands to work with default paths
  [FrameworkBundle] Fix AssetsInstallCommand
2017-11-24 15:34:08 +01:00
Nicolas Grekas
f897542cb2 Merge branch '3.3' into 3.4
* 3.3:
  [DI] Dont resolve envs in service ids
  Add tests proving it can load annotated files
  [WebProfilerBundle] Reset letter-spacing in toolbar
  Prefer overflow-wrap to word-break
  [Routing] Fix "config-file-relative" annotation loader resources
  Make search in debug:container command case-insensitive
  `resolveEnvPlaceholders` will return a mixed value
2017-11-24 15:13:49 +01:00
Nicolas Grekas
7921255faf [DI] Dont resolve envs in service ids 2017-11-24 13:44:22 +01:00
Samuel ROZE
f4999d8af0
Add tests proving it can load annotated files 2017-11-24 10:33:04 +00:00
Johann Pardanaud
a1398f6de4 Create a "isTtySupported" static method 2017-11-24 11:13:34 +01:00
Fabien Potencier
ec379e1541 bug #25065 [FrameworkBundle] Update translation commands to work with default paths (yceruto)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] Update translation commands to work with default paths

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

This should make translation commands (debug & update) work with `translator.default_path` and `twig.default_path` directories (introduced here in 3.4) and their overridden paths if available.

Would be great to include also the custom paths mapping by the user, either `translator.paths` as `twig.paths`, but I'm not sure about the right way and probably it should be implemented on another branch.

TODO
- [x]  Add some tests.

Commits
-------

dc7286625b Update translation commands to work with default paths
2017-11-23 07:48:15 -08:00
Fabien Potencier
abe6e92593 bug #25043 [Yaml] added ability for substitute aliases when mapping is on single line (Michał Strzelecki, xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Yaml] added ability for substitute aliases when mapping is on single line

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

Commits
-------

dd26c80aa9 substitute aliases in inline mappings
675a3fe7f6 added ability for substitute aliases when mapping in YAML is on single line
2017-11-23 06:55:53 -08:00
Christian Flothmann
e3396ea231 trigger some deprecations for legacy methods 2017-11-23 15:53:15 +01:00
Nicolas Grekas
5998e9d7b5 [Routing] Fix "config-file-relative" annotation loader resources 2017-11-23 14:58:49 +01:00
Nicolas Grekas
7a33b017e9 minor #25128 [SecurityBundle][Console] Remove dead code, add missing test (chalasr)
This PR was merged into the 4.0 branch.

Discussion
----------

[SecurityBundle][Console] Remove dead code, add missing test

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

Commits
-------

190df1a Remove dead code, add missing test
2017-11-23 13:16:27 +01:00
Samuel ROZE
b34d5b77a4
resolveEnvPlaceholders will return a mixed value 2017-11-23 12:10:51 +00:00
Nicolas Grekas
37baa1de51 Fix merge 2017-11-23 12:13:33 +01:00
Nicolas Grekas
cfdc145dab Merge branch '4.0'
* 4.0:
  [Form] Fixed ContextErrorException in FileType
  [DI] Fix handling of inlined definitions by ContainerBuilder
  [Security] remove unused variable
  [DI] Fix infinite loop when analyzing references
  [Lock][Process][FrameworkBundle] fix tests
  Display a nice error message if the form/serializer component is missing.
  [SecurityBundle] providerIds is undefined error when firewall provider is not specified
  [SecurityBundle] providerIds is undefined error when firewall provider is not specified
  [SecurityBundle] providerIds is undefined error when firewall provider is not specified
  Force phpunit-bridge update (bis)
  [Bridge/PhpUnit] Fix disabling global state preservation
  Incorrect dot on method loadChoices in upgrade doc
2017-11-23 12:04:09 +01:00
Nicolas Grekas
38ddcefc63 Merge branch '3.4' into 4.0
* 3.4:
  [Form] Fixed ContextErrorException in FileType
  [DI] Fix handling of inlined definitions by ContainerBuilder
  [DI] Fix infinite loop when analyzing references
2017-11-23 12:03:24 +01:00
Nicolas Grekas
6fc596754c Merge branch '3.3' into 3.4
* 3.3:
  [Form] Fixed ContextErrorException in FileType
  [DI] Fix handling of inlined definitions by ContainerBuilder
2017-11-23 12:03:08 +01:00
Nicolas Grekas
ae62e56d8a Merge branch '2.8' into 3.3
* 2.8:
  [Form] Fixed ContextErrorException in FileType
  [DI] Fix handling of inlined definitions by ContainerBuilder
2017-11-23 12:01:29 +01:00
Nicolas Grekas
10ec39e850 Merge branch '2.7' into 2.8
* 2.7:
  [Form] Fixed ContextErrorException in FileType
  [DI] Fix handling of inlined definitions by ContainerBuilder
2017-11-23 11:48:23 +01:00
Nicolas Grekas
a809ab27f6 bug #25102 [Form] Fixed ContextErrorException in FileType (chihiro-adachi)
This PR was squashed before being merged into the 2.7 branch (closes #25102).

Discussion
----------

[Form] Fixed ContextErrorException in FileType

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

Fixed an issue that ContextErrorException occurs when multiple is enabled.

Commits
-------

1b408e6 [Form] Fixed ContextErrorException in FileType
2017-11-23 11:40:42 +01:00
chihiro-adachi
1b408e692d [Form] Fixed ContextErrorException in FileType 2017-11-23 11:39:21 +01:00
Nicolas Grekas
c9c18ac7f3 [DI] Fix handling of inlined definitions by ContainerBuilder 2017-11-23 11:22:49 +01:00
Christian Flothmann
9fbcfd2413 [Security] remove unused variable 2017-11-23 11:02:03 +01:00
Robin Chalas
190df1ab4b Remove dead code, add missing test 2017-11-23 10:03:09 +01:00
Yonel Ceruto
dc7286625b Update translation commands to work with default paths 2017-11-22 13:43:08 -05:00
Nicolas Grekas
f772d2fc7c [DI] Fix infinite loop when analyzing references 2017-11-22 16:44:01 +01:00
Nicolas Grekas
ae3b5de58d Merge branch '3.4' into 4.0
* 3.4:
  [Lock][Process][FrameworkBundle] fix tests
  Display a nice error message if the form/serializer component is missing.
  [SecurityBundle] providerIds is undefined error when firewall provider is not specified
  [SecurityBundle] providerIds is undefined error when firewall provider is not specified
  [SecurityBundle] providerIds is undefined error when firewall provider is not specified
  Force phpunit-bridge update (bis)
  [Bridge/PhpUnit] Fix disabling global state preservation
  Incorrect dot on method loadChoices in upgrade doc
2017-11-22 13:29:35 +01:00
Nicolas Grekas
878b08cd46 [Lock][Process][FrameworkBundle] fix tests 2017-11-22 13:18:49 +01:00
Fabien Potencier
232df2bab5 bumped Symfony version to 3.4.0 2017-11-21 19:27:13 +01:00
Fabien Potencier
f9971c492d bumped Symfony version to 4.0.0 2017-11-21 19:23:52 +01:00
Fabien Potencier
5f1273b30d updated VERSION for 4.0.0-RC1 2017-11-21 19:15:44 +01:00
Fabien Potencier
5d27a7b11b updated VERSION for 3.4.0-RC1 2017-11-21 18:53:17 +01:00
Fabien Potencier
c37b6beb73 updated version to 4.1 2017-11-21 18:31:29 +01:00
Nicolas Grekas
fac882c2d5 Merge branch '3.4'
* 3.4:
  [HttpKernel] Disable container inlining when legacy inlining has been used
  Let getFlashes starts the session
  Update default translations path
  [FrameworkBundle] Ignore failures when removing the old cache dir
2017-11-21 18:21:10 +01:00
Nicolas Grekas
4a11683548 [HttpKernel] Disable container inlining when legacy inlining has been used 2017-11-21 16:44:44 +01:00
Nicolas Grekas
184a40ae20 bug #25022 [Filesystem] Updated Filesystem::makePathRelative (inso)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[Filesystem] Updated Filesystem::makePathRelative

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

Removed checks for absolute paths since Symfony >= 4.0 drops support for relative paths.

Commits
-------

9da7c50 removed checks for absolute paths
2017-11-21 15:14:53 +01:00
Nicolas Grekas
1193c26ce9 Merge branch '3.4'
* 3.4:
  [HttpFoundation] Fix bad merge in NativeSessionStorage
  Bump phpunit-bridge requirement to 3.4|4.0
  [Bridge/PhpUnit] Remove trailing "\n" from ClockMock::microtime(false)
  [Form] Rename `FormConfigBuilder::$nativeRequestProcessor` private variable to `::$nativeRequestHandler`
  Add a "link" script to ease debugging Flex apps
  [Form] Add phpdoc to `RequestHandlerInterface::isFileUpload()` method
2017-11-21 10:59:36 +01:00
Nicolas Grekas
2c2044b34f Merge branch '3.3' into 3.4
* 3.3:
  [HttpFoundation] Fix bad merge in NativeSessionStorage
  Bump phpunit-bridge requirement to 3.4|4.0
  [Bridge/PhpUnit] Remove trailing "\n" from ClockMock::microtime(false)
  [Form] Rename `FormConfigBuilder::$nativeRequestProcessor` private variable to `::$nativeRequestHandler`
  Add a "link" script to ease debugging Flex apps
  [Form] Add phpdoc to `RequestHandlerInterface::isFileUpload()` method
2017-11-21 10:59:09 +01:00
Nicolas Grekas
1a1079d7c4 Merge branch '2.8' into 3.3
* 2.8:
  [HttpFoundation] Fix bad merge in NativeSessionStorage
  Bump phpunit-bridge requirement to 3.4|4.0
  [Bridge/PhpUnit] Remove trailing "\n" from ClockMock::microtime(false)
  [Form] Rename `FormConfigBuilder::$nativeRequestProcessor` private variable to `::$nativeRequestHandler`
  Add a "link" script to ease debugging Flex apps
  [Form] Add phpdoc to `RequestHandlerInterface::isFileUpload()` method
2017-11-21 10:58:54 +01:00
Nicolas Grekas
8603bf1081 Merge branch '2.7' into 2.8
* 2.7:
  Bump phpunit-bridge requirement to 3.4|4.0
  [Form] Rename `FormConfigBuilder::$nativeRequestProcessor` private variable to `::$nativeRequestHandler`
  Add a "link" script to ease debugging Flex apps
  [Form] Add phpdoc to `RequestHandlerInterface::isFileUpload()` method
2017-11-21 10:57:39 +01:00
Nicolas Grekas
58d12e88b4 [HttpFoundation] Fix bad merge in NativeSessionStorage 2017-11-21 10:41:52 +01:00
Nicolas Grekas
01ff6eb46b Merge branch '3.4'
* 3.4:
  [Debug] Fix undefined variable $lightTrace
  [Bridge/PhpUnit] fix installation path
2017-11-21 10:27:49 +01:00
Nicolas Grekas
21b23431ba [Debug] Fix undefined variable $lightTrace 2017-11-21 10:01:46 +01:00
Issei.M
a35d4f88b3 [Form] Rename FormConfigBuilder::$nativeRequestProcessor private variable to ::$nativeRequestHandler 2017-11-21 10:08:49 +09:00
Nicolas Grekas
92f77f287c fix merge 2017-11-20 22:31:52 +01:00
Nicolas Grekas
5b6c1b3132 Merge branch '3.4'
* 3.4:
  [Bridge/PhpUnit] Sync the bridge version installed in vendor/ and in phpunit clone
  [DI] Analyze setter-circular deps more precisely
  fixing that PropertyNormalizer supports parent properties
  [SecurityBundle] Don't trigger auto-picking notice if provider is set per listener
  [TwigBundle][FrameworkBundle] Remove the internals from debug autowiring
  [DI] Skip hot_path tag for deprecated services as their class might also be
  [Cache] Memcached options should ignore "lazy"
  [FrameworkBundle] Dont create empty bundles directory
2017-11-20 22:12:12 +01:00
Nicolas Grekas
961981577d bug #25053 [Serializer] Fixing PropertyNormalizer supports parent properties (Christopher Hertel)
This PR was merged into the 3.4 branch.

Discussion
----------

[Serializer] Fixing PropertyNormalizer supports parent properties

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

With 5ecafc5e25 support for parent properties was added to 3.4, but supports method was not updated for child classes without properties.

Commits
-------

a879e4f fixing that PropertyNormalizer supports parent properties
2017-11-20 21:50:55 +01:00
Mathieu Lechat
57d0636299 Allow EnumNode name to be null 2017-11-20 19:22:57 +01:00
Issei.M
faf5470fd5 [Form] Add phpdoc to RequestHandlerInterface::isFileUpload() method 2017-11-20 18:59:30 +01:00
Nicolas Grekas
9cc4a213c9 [DI] Analyze setter-circular deps more precisely 2017-11-20 18:46:17 +01:00
Amrouche Hamza
b746e8a017
[HttpKernel] add a test for FilterControllerEvents 2017-11-20 17:56:59 +01:00
Christopher Hertel
a879e4f34b fixing that PropertyNormalizer supports parent properties 2017-11-20 17:26:54 +01:00
Christian Flothmann
dd26c80aa9 substitute aliases in inline mappings 2017-11-20 10:04:28 +01:00
Michał Strzelecki
675a3fe7f6 added ability for substitute aliases when mapping in YAML is on single line 2017-11-20 08:20:36 +01:00
Nicolas Grekas
1775bba68f [DI] Skip hot_path tag for deprecated services as their class might also be 2017-11-19 23:04:27 +01:00
Nicolas Grekas
de5f41d978 [Cache] Memcached options should ignore "lazy" 2017-11-19 22:17:36 +01:00
Nicolas Grekas
58aaa012ab Merge branch '3.4'
* 3.4:
  [Bridge/PhpUnit] Fix compat with phpunit 4.8 & bridge <=3.3.13
  Move deprecation under use statements
  Remove function_exists(__phpunit_run_isolated_test) checks
2017-11-19 22:10:49 +02:00
Nicolas Grekas
4baf9688a9 Merge branch '3.3' into 3.4
* 3.3:
  [Bridge/PhpUnit] Fix compat with phpunit 4.8 & bridge <=3.3.13
  Remove function_exists(__phpunit_run_isolated_test) checks
2017-11-19 22:09:36 +02:00
Nicolas Grekas
f2fc7bfccc Merge branch '2.8' into 3.3
* 2.8:
  Remove function_exists(__phpunit_run_isolated_test) checks
2017-11-19 21:07:30 +02:00
Nicolas Grekas
c23adaec43 Merge branch '2.7' into 2.8
* 2.7:
  Remove function_exists(__phpunit_run_isolated_test) checks
2017-11-19 21:05:05 +02:00
Nicolas Grekas
eb92d7ca07 bug #25014 Move deprecation under use statements (greg0ire)
This PR was squashed before being merged into the 3.4 branch (closes #25014).

Discussion
----------

Move deprecation under use statements

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

Commits
-------

0a5b016 Move deprecation under use statements
2017-11-19 20:59:05 +02:00
Grégoire Paris
0a5b016427 Move deprecation under use statements 2017-11-19 20:59:03 +02:00
Nicolas Grekas
a512217431 Remove function_exists(__phpunit_run_isolated_test) checks 2017-11-19 20:49:57 +02:00
Nicolas Grekas
a36fb5427e Merge branch '3.4'
* 3.4: (26 commits)
  [Bridge\PhpUnit] Disable broken auto-require mechanism of phpunit
  [Console] Fix disabling lazy commands
  [DI] Remove scalar typehint in class used in test case
  Remove the `server:log` command if monolog is not loaded
  [SecurityBundle] Fix syntax error in test
  [Console] Remove remaining dead code
  Throw on service:method factory notation in PHP-based DI configuration
  Test that named arguments are prioritized over typehinted
  bumped Symfony version to 3.3.14
  bumped Symfony version to 2.8.32
  bumped Symfony version to 2.7.39
  Prove that change is working with tests
  updated VERSION for 3.3.13
  updated CHANGELOG for 3.3.13
  updated VERSION for 2.8.31
  updated CHANGELOG for 2.8.31
  updated VERSION for 2.7.38
  updated CHANGELOG for 2.7.38
  Replace array|\Traversable by iterable
  [DI] Fix by-type args injection
  ...
2017-11-19 20:43:46 +02:00
Nicolas Grekas
e40905a343 Merge branch '3.3' into 3.4
* 3.3:
  [Bridge\PhpUnit] Disable broken auto-require mechanism of phpunit
  [SecurityBundle] Fix syntax error in test
  [Console] Remove remaining dead code
  bumped Symfony version to 3.3.14
  bumped Symfony version to 2.8.32
  bumped Symfony version to 2.7.39
  updated VERSION for 3.3.13
  updated CHANGELOG for 3.3.13
  updated VERSION for 2.8.31
  updated CHANGELOG for 2.8.31
  updated VERSION for 2.7.38
  updated CHANGELOG for 2.7.38
  Replace array|\Traversable by iterable
  Fix ambiguous pattern
2017-11-19 20:41:20 +02:00
Nicolas Grekas
a3d398e825 Merge branch '2.8' into 3.3
* 2.8:
  [SecurityBundle] Fix syntax error in test
  [Console] Remove remaining dead code
  bumped Symfony version to 2.8.32
  bumped Symfony version to 2.7.39
  updated VERSION for 2.8.31
  updated CHANGELOG for 2.8.31
  updated VERSION for 2.7.38
  updated CHANGELOG for 2.7.38
  Replace array|\Traversable by iterable
  Fix ambiguous pattern
2017-11-19 20:40:28 +02:00
Nicolas Grekas
7215acb66f Merge branch '2.7' into 2.8
* 2.7:
  [SecurityBundle] Fix syntax error in test
  [Console] Remove remaining dead code
  bumped Symfony version to 2.7.39
  updated VERSION for 2.7.38
  updated CHANGELOG for 2.7.38
  Replace array|\Traversable by iterable
  Fix ambiguous pattern
2017-11-19 20:39:05 +02:00
Nicolas Grekas
fa7dd8ebbe bug #25030 [Console] Fix ability to disable lazy commands (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Fix ability to disable lazy commands

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

Properly throw when running them and don't show them in the list, as for non lazy ones.

Commits
-------

6787d8e [Console] Fix disabling lazy commands
2017-11-19 20:31:47 +02:00
Robin Chalas
6787d8e5ab [Console] Fix disabling lazy commands 2017-11-19 17:18:18 +01:00
Maxime Steinhausser
5be25d55fd [DI] Remove scalar typehint in class used in test case 2017-11-19 14:43:05 +01:00
Anton Bakai
9da7c5046a removed checks for absolute paths 2017-11-19 00:56:10 +02:00
Amrouche Hamza
1f8db731a0
[Console] Fix global console flag when used in chain 2017-11-18 15:50:49 +02:00
Amrouche Hamza
62d933d00c
[HttpKernel] add type-hint for the requestType 2017-11-18 15:36:30 +02:00
Fabien Potencier
86986b41b0 minor #24969 Replace array|\Traversable by iterable (ro0NL)
This PR was merged into the 2.7 branch.

Discussion
----------

Replace array|\Traversable by iterable

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

Replace `array|\Traversable` by `iterable`, favoring pure API (or less mixed at least :)) and be clear whenever phpdoc is replaced.

https://secure.php.net/manual/en/language.types.iterable.php

Commits
-------

278088931b Replace array|\Traversable by iterable
2017-11-18 09:48:31 +02:00
Fabien Potencier
9447016979 minor #25008 [Console] Remove remaining dead code (chalasr)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Remove remaining dead code

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

Since they are always re-thrown, no need to catch `\Error` instances at all.

Commits
-------

3822c07f65 [Console] Remove remaining dead code
2017-11-18 09:40:15 +02:00
Tobias Schultze
453e7996ab [Console] remove debug dependency that was dead code 2017-11-17 16:43:27 +01:00
Christophe Coevoet
8d7f6ede84 bug #24991 [DependencyInjection] Single typed argument can be applied on multiple parameters (nicolas-grekas, sroze)
This PR was merged into the 3.4 branch.

Discussion
----------

[DependencyInjection] Single typed argument can be applied on multiple parameters

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

I'm @nicolas-grekas' test writer today. This makes the argument resolution working when injecting the same type multiple times (sub-set of PR #24978)

Commits
-------

d51265447d Test that named arguments are prioritized over typehinted
bf7eeef3fb Prove that change is working with tests
2176be74d8 [DI] Fix by-type args injection
2017-11-17 15:27:47 +01:00
Christophe Coevoet
2f19ddbd47 bug #24983 [Validator] enter the context in which to validate (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] enter the context in which to validate

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

Commits
-------

7359cbe063 [Validator] enter the context in which to validate
2017-11-17 15:23:59 +01:00
Christophe Coevoet
11d79cbb12 bug #24956 Fix ambiguous pattern (weltling)
This PR was merged into the 2.7 branch.

Discussion
----------

Fix ambiguous pattern

[Validator][Constraints][UrlValidator] Fix domain name pattern.

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

`\pS` is a unicode character class, `\pS-\.` pretends to be a range which is not. This pattern fails with PCRE2.

Thanks.

Commits
-------

059f59a106 Fix ambiguous pattern
2017-11-17 14:57:47 +01:00
Robin Chalas
3822c07f65 [Console] Remove remaining dead code 2017-11-17 13:59:02 +01:00
Valentin
49fc6778ee Throw on service:method factory notation in PHP-based DI configuration 2017-11-17 12:52:23 +03:00
Samuel ROZE
d51265447d
Test that named arguments are prioritized over typehinted 2017-11-17 10:42:21 +02:00
Fabien Potencier
3b6c22e86a bumped Symfony version to 3.3.14 2017-11-17 07:39:26 +01:00
Fabien Potencier
58352f2f02 bumped Symfony version to 2.8.32 2017-11-17 07:34:32 +01:00
Fabien Potencier
c963178206 bumped Symfony version to 2.7.39 2017-11-17 07:26:23 +01:00
Samuel ROZE
bf7eeef3fb
Prove that change is working with tests 2017-11-17 01:07:36 +02:00
Nicolas Grekas
4fadbcdc58 bug #24979 [HttpKernel] remove services resetter even when it's an alias (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] remove services resetter even when it's an alias

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

All the other places in the compiler pass do not care whether the
resetter service is aliased or not. Let's just also properly deal with
the case that the services resetter service was aliased by another
bundle.

Commits
-------

f7e634b remove services resetter even when it's an alias
2017-11-16 23:50:23 +02:00
Nicolas Grekas
a2f8c32bd3 bug #24972 [HttpKernel] Fix service arg resolver for controllers as array callables (sroze, nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Fix service arg resolver for controllers as array callables

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

Replacing #24970 as I can't push tests directly to @nicolas-grekas' PR.

> As spotted today during a Symfony 4 workshop at SymfonyCon Cluj, setting a controller as an array [SomeController::class, 'helloAction'] works, it is defined as a service, BUT the actions don't get the services as arguments. This is fixing it.

Commits
-------

fc3d3bb [HttpKernel] Fix service arg resolver for controllers as array callables
a9e9f36 Add service value resolver tests Prove that the service value resolver will not work with the array notation
2017-11-16 23:41:27 +02:00
Fabien Potencier
c41da93c91 updated VERSION for 3.3.13 2017-11-16 19:14:43 +01:00
Fabien Potencier
762b8d85f3 updated VERSION for 2.8.31 2017-11-16 18:43:55 +01:00
Fabien Potencier
330c5e5577 updated VERSION for 2.7.38 2017-11-16 17:24:22 +01:00
Nicolas Grekas
d97c1779c1 Merge branch '3.4'
* 3.4:
  fix deps=low
2017-11-16 18:23:39 +02:00
Nicolas Grekas
c5595a1f11 Merge branch '3.3' into 3.4
* 3.3:
  fix deps=low
2017-11-16 18:19:19 +02:00
Nicolas Grekas
e4f00cc6be Merge branch '2.8' into 3.3
* 2.8:
  fix deps=low
2017-11-16 18:14:18 +02:00
Nicolas Grekas
1c026e0a5b Merge branch '2.7' into 2.8
* 2.7:
  fix deps=low
2017-11-16 18:08:43 +02:00
Nicolas Grekas
7993ce57a4 fix deps=low 2017-11-16 17:51:27 +02:00
Nicolas Grekas
595a5b947f Merge branch '3.4'
* 3.4:
  fixed CS
  fixed CS
  [Security] Namespace generated CSRF tokens depending of the current scheme
  ensure that submitted data are uploaded files
  [Console] remove dead code
  bumped Symfony version to 3.3.13
  updated VERSION for 3.3.12
  updated CHANGELOG for 3.3.12
  bumped Symfony version to 2.8.31
  updated VERSION for 2.8.30
  updated CHANGELOG for 2.8.30
  bumped Symfony version to 2.7.38
  updated VERSION for 2.7.37
  updated CHANGELOG for 2.7.37
  [Security] Validate redirect targets using the session cookie domain
  prevent bundle readers from breaking out of paths
2017-11-16 17:25:49 +02:00
Nicolas Grekas
caa10ae038 Merge branch '3.3' into 3.4
* 3.3:
  fixed CS
  fixed CS
  [Security] Namespace generated CSRF tokens depending of the current scheme
  ensure that submitted data are uploaded files
  [Console] remove dead code
  bumped Symfony version to 3.3.13
  updated VERSION for 3.3.12
  updated CHANGELOG for 3.3.12
  bumped Symfony version to 2.8.31
  updated VERSION for 2.8.30
  updated CHANGELOG for 2.8.30
  bumped Symfony version to 2.7.38
  updated VERSION for 2.7.37
  updated CHANGELOG for 2.7.37
  [Security] Validate redirect targets using the session cookie domain
  prevent bundle readers from breaking out of paths
2017-11-16 17:25:26 +02:00
Nicolas Grekas
ea2447f0b8 Merge branch '2.8' into 3.3
* 2.8:
  fixed CS
  fixed CS
  [Security] Namespace generated CSRF tokens depending of the current scheme
  ensure that submitted data are uploaded files
  [Console] remove dead code
  bumped Symfony version to 2.8.31
  updated VERSION for 2.8.30
  updated CHANGELOG for 2.8.30
  bumped Symfony version to 2.7.38
  updated VERSION for 2.7.37
  updated CHANGELOG for 2.7.37
  [Security] Validate redirect targets using the session cookie domain
  prevent bundle readers from breaking out of paths
2017-11-16 17:24:32 +02:00
Nicolas Grekas
44c5d7f405 Merge branch '2.7' into 2.8
* 2.7:
  fixed CS
  fixed CS
  [Security] Namespace generated CSRF tokens depending of the current scheme
  ensure that submitted data are uploaded files
  [Console] remove dead code
  bumped Symfony version to 2.7.38
  updated VERSION for 2.7.37
  updated CHANGELOG for 2.7.37
  [Security] Validate redirect targets using the session cookie domain
  prevent bundle readers from breaking out of paths
2017-11-16 17:20:19 +02:00
Fabien Potencier
4d288439bc security #24995 Validate redirect targets using the session cookie domain (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

Validate redirect targets using the session cookie domain

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

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

Commits
-------

52b06f1c21 [Security] Validate redirect targets using the session cookie domain
2017-11-16 17:16:56 +02:00
Fabien Potencier
097ce09140 security #24994 Prevent bundle readers from breaking out of paths (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

Prevent bundle readers from breaking out of paths

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

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

Commits
-------

c8f9f916b4 prevent bundle readers from breaking out of paths
2017-11-16 17:15:44 +02:00
Fabien Potencier
0a1ea85998 security #24993 Ensure that submitted data are uploaded files (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

Ensure that submitted data are uploaded files

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

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

Commits
-------

f9e210cc7b ensure that submitted data are uploaded files
2017-11-16 17:14:44 +02:00
Fabien Potencier
07fc11cd65 fixed CS 2017-11-16 17:13:44 +02:00
Kévin Dunglas
cdb4271975
[Security] Namespace generated CSRF tokens depending of the current scheme 2017-11-16 15:51:08 +02:00
Roland Franssen
278088931b Replace array|\Traversable by iterable 2017-11-16 13:37:27 +01:00
Nicolas Grekas
2176be74d8
[DI] Fix by-type args injection 2017-11-16 13:36:51 +02:00
Christian Flothmann
f9e210cc7b ensure that submitted data are uploaded files 2017-11-16 09:58:50 +01:00
Christian Flothmann
7359cbe063 [Validator] enter the context in which to validate 2017-11-16 09:10:44 +01:00
Christian Flothmann
f7e634bc3e remove services resetter even when it's an alias
All the other places in the compiler pass do not care whether the
resetter service is aliased or not. Let's just also properly deal with
the case that the services resetter service was aliased by another
bundle.
2017-11-15 18:30:56 +01:00
Vladimir Chernyshev
e39e8c239b [DomCrawler] Fix return type Crawler:: discoverNamespace()
Based on 3.x behavior
2017-11-15 16:17:34 +02:00
Nicolas Grekas
fc3d3bbf60
[HttpKernel] Fix service arg resolver for controllers as array callables 2017-11-15 13:29:33 +02:00
Samuel ROZE
a9e9f36799
Add service value resolver tests
Prove that the service value resolver will not work with the array notation
2017-11-15 13:29:21 +02:00
Robin Chalas
2c2253df8c minor #24962 [Console] remove dead code (Tobion)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] remove dead code

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

Part of #24961 for 2.7

Commits
-------

65f2b13 [Console] remove dead code
2017-11-15 10:26:39 +01:00
Tobias Schultze
65f2b13e6b [Console] remove dead code 2017-11-13 22:35:01 +01:00
Fabien Potencier
73ef74aa8c bumped Symfony version to 3.3.13 2017-11-13 11:43:22 -08:00
Fabien Potencier
63f69f0c89 updated VERSION for 3.3.12 2017-11-13 11:37:21 -08:00
Fabien Potencier
db6da75a8d bumped Symfony version to 2.8.31 2017-11-13 11:36:26 -08:00
Fabien Potencier
42596fef66 updated VERSION for 2.8.30 2017-11-13 11:30:25 -08:00
Fabien Potencier
49fe412ccc bumped Symfony version to 2.7.38 2017-11-13 11:29:05 -08:00
Anatol Belski
059f59a106 Fix ambiguous pattern 2017-11-13 20:26:33 +01:00
Fabien Potencier
9a161068bc updated VERSION for 2.7.37 2017-11-13 10:51:22 -08:00
Nicolas Grekas
bdcc3577c0 Merge branch '3.4'
* 3.4:
  [DI] Fix dumping with custom base class
  fixed typo
  [HttpFoundation] Add test
  [HttpFoundation] Fix session-related BC break
  [Process] Workaround PHP bug #75515 in ProcessTest::testSimpleInputStream()
  [FrameworkBundle] Wire the translation.reader service instead of deprecated translation.loader in commands
  fix method name
2017-11-13 19:20:21 +01:00
Nicolas Grekas
ecad1c4b3b Merge branch '3.3' into 3.4
* 3.3:
  [DI] Fix dumping with custom base class
  [HttpFoundation] Add test
  [HttpFoundation] Fix session-related BC break
  [Process] Workaround PHP bug #75515 in ProcessTest::testSimpleInputStream()
  fix method name
2017-11-13 19:20:08 +01:00
Nicolas Grekas
772f29fd25 bug #24954 [DI] Fix dumping with custom base class (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[DI] Fix dumping with custom base class

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

ping @kbond please confirm it's OK for you

Commits
-------

2dd74ab [DI] Fix dumping with custom base class
2017-11-13 19:15:33 +01:00
Nicolas Grekas
1b44a4bf16 Merge branch '2.8' into 3.3
* 2.8:
  [HttpFoundation] Add test
  [HttpFoundation] Fix session-related BC break
  fix method name
2017-11-13 19:13:16 +01:00
Nicolas Grekas
dee37688ab Merge branch '2.7' into 2.8
* 2.7:
  [HttpFoundation] Add test
  [HttpFoundation] Fix session-related BC break
  fix method name
2017-11-13 19:11:59 +01:00
Nicolas Grekas
2dd74ab89e [DI] Fix dumping with custom base class 2017-11-13 19:10:32 +01:00
Nicolas Grekas
5fa5ef76b1 minor #24940 [Form] fix method name (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] fix method name

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

Commits
-------

b862168 fix method name
2017-11-13 19:05:48 +01:00
Samuel ROZE
38186aab2f [HttpFoundation] Add test 2017-11-13 18:34:39 +01:00
Wouter J
ca86e65da4
Fixed exit code with non-integer throwable code 2017-11-13 17:01:41 +01:00
Nicolas Grekas
3eaa18889c [HttpFoundation] Fix session-related BC break 2017-11-13 16:55:02 +01:00
Nicolas Grekas
65ebe99e78 [Process] Workaround PHP bug #75515 in ProcessTest::testSimpleInputStream() 2017-11-13 16:31:11 +01:00
Nicolas Grekas
0259fc5e17 Merge branch '3.4'
* 3.4:
  [Process] Skip ProcessTest::testSimpleInputStream() because of bug #75515 in PHP 7.2RC6
  [Filesystem] toIterable() in favor of toIterator()
2017-11-13 11:22:30 +01:00
Nicolas Grekas
e2ad89268b Merge branch '3.3' into 3.4
* 3.3:
  [Process] Skip ProcessTest::testSimpleInputStream() because of bug #75515 in PHP 7.2RC6
2017-11-13 11:20:40 +01:00
Nicolas Grekas
ce04c98101 [Process] Skip ProcessTest::testSimpleInputStream() because of bug #75515 in PHP 7.2RC6 2017-11-13 11:13:24 +01:00
Christian Flothmann
b862168cd0 fix method name 2017-11-13 06:34:51 +01:00
Nicolas Grekas
94c72d0857 fix cs 2017-11-12 23:15:07 +01:00
Fabien Potencier
9a771e69e5 minor #24928 [Filesystem] toIterable() in favor of toIterator() (ro0NL)
This PR was squashed before being merged into the 3.4 branch (closes #24928).

Discussion
----------

[Filesystem] toIterable() in favor of toIterator()

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

Enables to leverage iterable type as of 4.0, but really to avoid any useless `ArrayObject` inits.

Commits
-------

36462d678b [Filesystem] toIterable() in favor of toIterator()
2017-11-12 12:37:31 -08:00
Roland Franssen
36462d678b [Filesystem] toIterable() in favor of toIterator() 2017-11-12 12:37:29 -08:00
Fabien Potencier
b55a84d825 bumped Symfony version to 4.0.0 2017-11-12 10:15:32 -08:00
Fabien Potencier
b654e8202d updated VERSION for 4.0.0-BETA4 2017-11-12 10:08:08 -08:00
Fabien Potencier
b215ed5c23 bumped Symfony version to 3.4.0 2017-11-12 10:07:22 -08:00
Fabien Potencier
d24c43535c updated VERSION for 3.4.0-BETA4 2017-11-12 09:26:52 -08:00
Nicolas Grekas
c631745c91 Merge branch '3.4'
* 3.4:
  fix merge
2017-11-12 17:54:20 +01:00
Nicolas Grekas
261dfaebcf Merge branch '3.3' into 3.4
* 3.3:
  fix merge
2017-11-12 17:53:54 +01:00
Nicolas Grekas
239dd62171 fix merge 2017-11-12 17:53:41 +01:00
Nicolas Grekas
784186b249 Merge branch '3.4'
* 3.4:
  [TwigBridge] Fixed the .form-check-input class in the bs4 templates
  [Console] Fix traversable autocomplete values
  [SecurityBundle] Improve deprecations
  [DI] Friendlier name for generated container in "as_files" mode
  [Debug] Remove false-positive deprecation from DebugClassLoader
  [SecurityBundle] Add missing quotes in deprecation messages
  [ExpressionLanguage] Fix PhpDoc type-hints on Token value
  bumped Symfony version to 3.3.12
  Add default translations path option and convention
  updated VERSION for 3.3.11
  updated CHANGELOG for 3.3.11
  bumped Symfony version to 2.8.30
  updated VERSION for 2.8.29
  updated CHANGELOG for 2.8.29
  bumped Symfony version to 2.7.37
  updated VERSION for 2.7.36
  update CONTRIBUTORS for 2.7.36
  updated CHANGELOG for 2.7.36
2017-11-12 17:47:31 +01:00
Nicolas Grekas
2b62887f06 Merge branch '3.3' into 3.4
* 3.3:
  [Console] Fix traversable autocomplete values
  [ExpressionLanguage] Fix PhpDoc type-hints on Token value
  bumped Symfony version to 3.3.12
  updated VERSION for 3.3.11
  updated CHANGELOG for 3.3.11
  bumped Symfony version to 2.8.30
  updated VERSION for 2.8.29
  updated CHANGELOG for 2.8.29
  bumped Symfony version to 2.7.37
  updated VERSION for 2.7.36
  update CONTRIBUTORS for 2.7.36
  updated CHANGELOG for 2.7.36
2017-11-12 17:41:51 +01:00
Nicolas Grekas
4482744527 Merge branch '2.8' into 3.3
* 2.8:
  [Console] Fix traversable autocomplete values
  [ExpressionLanguage] Fix PhpDoc type-hints on Token value
  bumped Symfony version to 2.8.30
  updated VERSION for 2.8.29
  updated CHANGELOG for 2.8.29
  bumped Symfony version to 2.7.37
  updated VERSION for 2.7.36
  update CONTRIBUTORS for 2.7.36
  updated CHANGELOG for 2.7.36
2017-11-12 17:40:29 +01:00
Nicolas Grekas
9f38c69a26 Merge branch '2.7' into 2.8
* 2.7:
  [Console] Fix traversable autocomplete values
  [ExpressionLanguage] Fix PhpDoc type-hints on Token value
  bumped Symfony version to 2.7.37
  updated VERSION for 2.7.36
  update CONTRIBUTORS for 2.7.36
  updated CHANGELOG for 2.7.36
2017-11-12 17:36:54 +01:00
Fabien Potencier
6ab9129693 bug #24874 [TwigBridge] Fixed the .form-check-input class in the bs4 templates (vudaltsov)
This PR was squashed before being merged into the 3.4 branch (closes #24874).

Discussion
----------

[TwigBridge] Fixed the .form-check-input class in the bs4 templates

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

If I am not mistaken, the `form-check-input` class should always be present in inputs of checkboxes and radios

Commits
-------

95a90e4231 [TwigBridge] Fixed the .form-check-input class in the bs4 templates
2017-11-12 08:19:44 -08:00
Valentin
95a90e4231 [TwigBridge] Fixed the .form-check-input class in the bs4 templates 2017-11-12 08:19:42 -08:00
Fabien Potencier
c1dfb4d2eb minor #24922 [DI] Friendlier name for generated container in "as_files" mode (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Friendlier name for generated container in "as_files" mode

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

Noticed while looking at Blackfire profiles of a 3.4 app.
Gives friendlier profiles/stack traces.

Commits
-------

7db5d40a26 [DI] Friendlier name for generated container in "as_files" mode
2017-11-12 08:07:35 -08:00
Fabien Potencier
99f8d85116 bug #24929 [Console] Fix traversable autocomplete values (ro0NL)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Fix traversable autocomplete values

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

`Question::setAutocompleterValues` implies passing a `\Traversable` value is allowed, yet it doesnt work :) It also restricts the traversable to be countable, which is not really needed (blocking pure API / iterable type as of 4.0).

Commits
-------

965b5b5f8d [Console] Fix traversable autocomplete values
2017-11-12 08:02:36 -08:00
Amrouche Hamza
ea86ed8a0a
[Console] add setInputs to ApplicationTest and share some code 2017-11-12 07:57:03 +01:00
Roland Franssen
965b5b5f8d [Console] Fix traversable autocomplete values 2017-11-11 23:09:14 +01:00
Nicolas Grekas
7db5d40a26 [DI] Friendlier name for generated container in "as_files" mode 2017-11-11 17:18:07 +01:00
Roland Franssen
28128b60a4 [Config][4.0] Fix cannotBeEmpty() 2017-11-11 07:54:51 -08:00
Nicolas Grekas
5edd4135ca [Debug] Remove false-positive deprecation from DebugClassLoader 2017-11-11 16:39:06 +01:00
Jeremiah VALERIE
18f0fc594d
[ExpressionLanguage] Fix PhpDoc type-hints on Token value
Also added tests to cover number parser BC
2017-11-11 08:04:00 +01:00
Fabien Potencier
1f7abeaede bumped Symfony version to 3.3.12 2017-11-10 12:20:42 -08:00
Fabien Potencier
cdadc2f9e1 updated VERSION for 3.3.11 2017-11-10 12:08:13 -08:00
Fabien Potencier
f2ac69a378 bumped Symfony version to 2.8.30 2017-11-10 12:07:16 -08:00
Fabien Potencier
9f5adf0a8c updated VERSION for 2.8.29 2017-11-10 11:54:14 -08:00
Fabien Potencier
6fe8435c6f bumped Symfony version to 2.7.37 2017-11-10 11:52:56 -08:00
Fabien Potencier
12135adbd0 updated VERSION for 2.7.36 2017-11-10 11:43:01 -08:00
Nicolas Grekas
44b2f97dcd Merge branch '3.4'
* 3.4: (21 commits)
  fixed CS
  HttpCache lock update
  [Intl] Update ICU data to 60.1
  [YAML] Allow to parse custom tags when linting yaml files
  [HttpKernel][Debug] Remove noise from stack frames of deprecations
  [WebServerBundle] prevent console.terminate from being fired after stopping server
  [Validator] Fix Costa Rica IBAN format
  [Bridge/ProxyManager] Remove direct reference to value holder property
  [Validator] Add Belarus IBAN format
  [Config] Fix cannotBeEmpty()
  [Debug] More aggressively aggregate silenced notices per file+line
  [HttpFoundation] minor session-related fix
  [Cache][Lock] Add RedisProxy for lazy Redis connections
  [TwigBridge] [Bootstrap 4] Fix validation error design for expanded choiceType
  [FrameworkBundle] Specifically inject the debug dispatcher in the collector
  [WebserverBundle] fixed the bug that caused that the webserver would …
  update the pull request template
  [Stopwatch] minor fix
  Add default mapping path for validator component
  Add default mapping path for serializer component
  ...
2017-11-10 20:37:45 +01:00
Fabien Potencier
f1a11817cf fixed CS 2017-11-10 11:30:00 -08:00
Felix Marezki
8464bd0039 HttpCache lock update 2017-11-10 20:24:22 +01:00
Fabien Potencier
11aff9a071 Merge branch '3.3' into 3.4
* 3.3:
  [Intl] Update ICU data to 60.1
  [YAML] Allow to parse custom tags when linting yaml files
  [HttpKernel][Debug] Remove noise from stack frames of deprecations
  [Validator] Fix Costa Rica IBAN format
  [Bridge/ProxyManager] Remove direct reference to value holder property
  [Validator] Add Belarus IBAN format
  [FrameworkBundle] Specifically inject the debug dispatcher in the collector
  [WebserverBundle] fixed the bug that caused that the webserver would …
  update the pull request template
  [Stopwatch] minor fix
2017-11-10 11:03:56 -08:00
Fabien Potencier
e7201245cd Merge branch '2.8' into 3.3
* 2.8:
  [Intl] Update ICU data to 60.1
  [Validator] Fix Costa Rica IBAN format
  [Bridge/ProxyManager] Remove direct reference to value holder property
  [Validator] Add Belarus IBAN format
  [FrameworkBundle] Specifically inject the debug dispatcher in the collector
  update the pull request template
  [Stopwatch] minor fix
2017-11-10 11:02:53 -08:00
Fabien Potencier
e6087d6307 Merge branch '2.7' into 2.8
* 2.7:
  [Intl] Update ICU data to 60.1
  [Validator] Fix Costa Rica IBAN format
  [Bridge/ProxyManager] Remove direct reference to value holder property
  [Validator] Add Belarus IBAN format
  [FrameworkBundle] Specifically inject the debug dispatcher in the collector
  update the pull request template
  [Stopwatch] minor fix
2017-11-10 10:59:36 -08:00
Fabien Potencier
2110dc3a70 bug #24909 [Intl] Update ICU data to 60.1 (jakzal)
This PR was squashed before being merged into the 2.7 branch (closes #24909).

Discussion
----------

[Intl] Update ICU data to 60.1

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

http://site.icu-project.org/download/60

All tests are passing, including those from the intl-data group.

Commits
-------

cf04e7cefe [Intl] Update ICU data to 60.1
2017-11-10 10:28:11 -08:00
Jakub Zalas
cf04e7cefe [Intl] Update ICU data to 60.1 2017-11-10 10:28:06 -08:00
Fabien Potencier
35f300de55 bug #24870 [YAML] Allow to parse custom tags when linting yaml files (pierredup)
This PR was squashed before being merged into the 3.3 branch (closes #24870).

Discussion
----------

[YAML] Allow to parse custom tags when linting yaml files

| 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

When using custom tags in yaml, currently the `lint:yaml` command fails since the flag `Yaml::PARSE_CUSTOM_TAGS` is not passed through

Commits
-------

d8dd91d919 [YAML] Allow to parse custom tags when linting yaml files
2017-11-10 10:26:05 -08:00
Pierre du Plessis
d8dd91d919 [YAML] Allow to parse custom tags when linting yaml files 2017-11-10 10:26:04 -08:00
Nicolas Grekas
f154be3207 [HttpKernel][Debug] Remove noise from stack frames of deprecations 2017-11-10 17:38:39 +01:00
Fabien Potencier
9b3bf5d63f minor #24895 [Debug] More aggressively aggregate silenced notices per file+line (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Debug] More aggressively aggregate silenced notices per file+line

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

By aggregating silenced notices (deprecations mostly) per file+line instead of just per message, we loose some accuracy, but gain performance.

Commits
-------

9ab7559fb5 [Debug] More aggressively aggregate silenced notices per file+line
2017-11-10 08:05:54 -08:00
Fabien Potencier
bf5203102a feature #24887 [Cache][Lock] Add RedisProxy for lazy Redis connections (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache][Lock] Add RedisProxy for lazy Redis connections

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

That's the only provider that is not lazy by default, leading to bad DX (see linked issue.)
Best reviewed [ignoring whitespaces](https://github.com/symfony/symfony/pull/24887/files?w=1).

Commits
-------

1f5e3538d8 [Cache][Lock] Add RedisProxy for lazy Redis connections
2017-11-10 07:24:34 -08:00
Fabien Potencier
b1ad577263 bug #24900 [Validator] Fix Costa Rica IBAN format (Bozhidar Hristov)
This PR was squashed before being merged into the 2.7 branch (closes #24900).

Discussion
----------

[Validator] Fix Costa Rica IBAN format

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

Fix Costa Rica IBAN format: https://bank.codes/iban/structure/costa-rica/

Commits
-------

b9b5e18f8b [Validator] Fix Costa Rica IBAN format
2017-11-10 07:11:42 -08:00
Bozhidar Hristov
b9b5e18f8b [Validator] Fix Costa Rica IBAN format 2017-11-10 07:11:41 -08:00
Bozhidar Hristov
128f2fa14e [Validator] Add Belarus IBAN format 2017-11-10 14:40:09 +02:00
Roland Franssen
2269f70180 [Config] Fix cannotBeEmpty() 2017-11-10 11:31:31 +01:00
Nicolas Grekas
9ab7559fb5 [Debug] More aggressively aggregate silenced notices per file+line 2017-11-10 10:14:26 +01:00
Nicolas Grekas
cf4eb4602a [HttpFoundation] minor session-related fix 2017-11-10 08:36:19 +01:00
Nicolas Grekas
1f5e3538d8 [Cache][Lock] Add RedisProxy for lazy Redis connections 2017-11-10 08:19:32 +01:00
Nicolas Grekas
61b753443d fix merge 2017-11-09 18:34:30 +01:00
Nicolas Grekas
dd82ca8a58 Merge branch '3.4'
* 3.4:
  [DI] Add "container.hot_path" tag to flag the hot path and inline related services
  [FrameworkBundle] Fine-tune generated annotations.php cache
  [HttpFoundation] Prevent PHP from sending Last-Modified on session start
  Micro optim using explicit root namespaces
2017-11-09 18:30:28 +01:00
Fabien Potencier
a3e0e49094 minor #24872 [DI] Add "container.hot_path" tag to flag the hot path and inline related services (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Add "container.hot_path" tag to flag the hot path and inline related services

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

This PR is the result of my quest to squeeze some performance out of 3.4/4.0.

It builds on two ideas:
- a new `container.inline` tag that identifies the services that are *always* needed. This tag is only applied to a very short list of bootstrapping services (`router`, `event_dispatcher`, `http_kernel` and `request_stack` only). Then, it is propagated to all dependencies of these services, with a special case for event listeners, where only listed events are propagated to their related listeners.
- replacing the PHP autoloader by plain inlined `require_once` in generated service factories, with the benefit of completely bypassing the autoloader for services and their class hierarchy.

The end result is significant, even on a simple Hello World.
Here is the Blackfire profile, results are consistent with `ab` benchmarks:

https://blackfire.io/profiles/compare/b5fa5ef0-755c-4967-b990-572305f8f381/graph

![capture du 2017-11-08 16-54-28](https://user-images.githubusercontent.com/243674/32558666-a3f439b2-c4a5-11e7-83a3-db588c3e21e5.png)

Commits
-------

f7cb559a06 [DI] Add "container.hot_path" tag to flag the hot path and inline related services
2017-11-09 06:24:55 -08:00
Nicolas Grekas
f7cb559a06 [DI] Add "container.hot_path" tag to flag the hot path and inline related services 2017-11-09 15:14:31 +01:00
Nicolas Grekas
05681ecf87 Remove some unneeded checks/tests 2017-11-09 13:45:29 +01:00
Nicolas Grekas
2c0dc745d6 [HttpFoundation] Prevent PHP from sending Last-Modified on session start 2017-11-09 12:02:13 +01:00
Nicolas Grekas
e78d1c4551 Micro optim using explicit root namespaces 2017-11-07 21:33:43 +01:00
Nicolas Grekas
aaf2265203 Replace more docblocks by type-hints 2017-11-07 15:45:01 +01:00
Nicolas Grekas
d7547f2e95 Merge branch '3.4'
* 3.4:
  [3.4] Remove useless docblocks
  [3.3] More docblock fixes
  [2.7] More docblock fixes
  [TwigBridge] Fix BC break due required twig environment
  Random fixes
  Docblock fixes
  [DI] Fix cannot bind env var
  Fix some signatures in PHP-DSLs
  [HttpKernel] Enhance deprecation message
  bumped Symfony version to 3.4.0
  updated VERSION for 3.4.0-BETA3
  updated CHANGELOG for 3.4.0-BETA3
  [SecurityBundle] Fix the datacollector to properly support decision.object being null
2017-11-07 15:34:02 +01:00
Nicolas Grekas
82ce33d5eb [3.4] Remove useless docblocks 2017-11-07 15:28:09 +01:00
Nicolas Grekas
5420cfca36 [Stopwatch] minor fix 2017-11-07 15:25:27 +01:00
Nicolas Grekas
629895c3ef Merge branch '3.3' into 3.4
* 3.3:
  [3.3] More docblock fixes
  [2.7] More docblock fixes
2017-11-07 15:20:24 +01:00
Nicolas Grekas
7b6cabad22 [3.3] More docblock fixes 2017-11-07 15:16:22 +01:00
Nicolas Grekas
d3d32d9deb Merge branch '2.8' into 3.3
* 2.8:
  [2.7] More docblock fixes
2017-11-07 15:12:55 +01:00
Nicolas Grekas
72b92c351e Merge branch '2.7' into 2.8
* 2.7:
  [2.7] More docblock fixes
2017-11-07 15:08:47 +01:00
Nicolas Grekas
ac671ac68c [2.7] More docblock fixes 2017-11-07 15:04:08 +01:00
Nicolas Grekas
b2edd51177 bug #24850 [DI] Fix cannot bind env var (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Fix cannot bind env var

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see comment 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 | #24845 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

In #24602 we removed the processing of bindings from the `AbstractRecursivePass`. But there is actually one case where we want a recursive pass to process them: to resolve env param placeholders.

Commits
-------

f8f3a15 [DI] Fix cannot bind env var
2017-11-07 14:40:01 +01:00
Nicolas Grekas
88f228b9cd minor #24846 Fix some signatures in PHP-DSLs (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

Fix some signatures in PHP-DSLs

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

Commits
-------

af85431 Fix some signatures in PHP-DSLs
2017-11-07 13:12:57 +01:00
Nicolas Grekas
c4ae73939e Merge branch '3.3' into 3.4
* 3.3:
  Random fixes
  Docblock fixes
  [HttpKernel] Enhance deprecation message
  [SecurityBundle] Fix the datacollector to properly support decision.object being null
2017-11-07 13:10:25 +01:00
Nicolas Grekas
49e57636f2 Random fixes 2017-11-07 13:07:19 +01:00
Nicolas Grekas
39a5801fc9 Merge branch '2.8' into 3.3
* 2.8:
  Docblock fixes
2017-11-07 12:58:40 +01:00
Nicolas Grekas
96dcb10a80 Merge branch '2.7' into 2.8
* 2.7:
  Docblock fixes
2017-11-07 12:56:23 +01:00
Nicolas Grekas
b56bfe7d8a Docblock fixes 2017-11-07 12:54:30 +01:00
Maxime Steinhausser
f8f3a15b7a [DI] Fix cannot bind env var 2017-11-07 09:01:11 +01:00
Nicolas Grekas
af8543107a Fix some signatures in PHP-DSLs 2017-11-06 21:11:38 +01:00
Nicolas Grekas
52b06f1c21 [Security] Validate redirect targets using the session cookie domain 2017-11-06 18:06:45 +01:00
Samuel ROZE
b410a3662c [Process] Fix broken tests for PHP 7.2 2017-11-06 15:55:48 +01:00
Fabien Potencier
cbd42f7fa0 minor #24610 [HttpKernel] Enhance deprecation message (delboy1978uk)
This PR was squashed before being merged into the 3.3 branch (closes #24610).

Discussion
----------

[HttpKernel] Enhance deprecation message

Q | A
-- | --
Branch? | 3.4
Bug fix? | no
New feature? | no
BC breaks? | no
Deprecations? | no (Docblock with info on how to handle deprecation)
Tests pass? | yes
Fixed tickets | NA
License | MIT
Doc PR | symfony/symfony-docs#...

Commits
-------

9e9d01684e [HttpKernel] Enhance deprecation message
2017-11-06 01:12:10 -08:00
Derek Stephen McLean
9e9d01684e [HttpKernel] Enhance deprecation message 2017-11-06 01:12:09 -08:00
Fabien Potencier
682cdc3db0 bumped Symfony version to 4.0.0 2017-11-05 15:29:19 -08:00
Fabien Potencier
e0f93061e4 updated VERSION for 4.0.0-BETA3 2017-11-05 15:23:30 -08:00
Fabien Potencier
0aedd686dd bumped Symfony version to 3.4.0 2017-11-05 15:20:14 -08:00
Fabien Potencier
f317976fcf updated VERSION for 3.4.0-BETA3 2017-11-05 14:51:48 -08:00
Nicolas Grekas
8e5b3b1d79 Merge branch '3.4'
* 3.4:
  [HttpFoundation] Fix forward-compat of NativeSessionStorage with PHP 7.2
2017-11-05 20:07:35 +01:00
Nicolas Grekas
eaeb820ee2 Merge branch '3.3' into 3.4
* 3.3:
  [HttpFoundation] Fix forward-compat of NativeSessionStorage with PHP 7.2
2017-11-05 20:07:09 +01:00
Nicolas Grekas
ed52036412 Merge branch '2.8' into 3.3
* 2.8:
  [HttpFoundation] Fix forward-compat of NativeSessionStorage with PHP 7.2
2017-11-05 20:07:00 +01:00
Nicolas Grekas
9ca5069cb4 Merge branch '2.7' into 2.8
* 2.7:
  [HttpFoundation] Fix forward-compat of NativeSessionStorage with PHP 7.2
2017-11-05 20:06:07 +01:00
Samuel ROZE
00a1357d82 [HttpFoundation] Fix forward-compat of NativeSessionStorage with PHP 7.2 2017-11-05 19:48:11 +01:00
Nicolas Grekas
1c5eeb5efa Merge branch '3.4'
* 3.4:
  Remove useless phpdoc
  [DI] Fix the "almost-circular refs" fix
  [Form] Fix low deps
2017-11-05 19:15:34 +01:00
Nicolas Grekas
e7cfaa9129 Remove useless phpdoc 2017-11-05 19:13:53 +01:00
Nicolas Grekas
db12a9872d [DI] Fix the "almost-circular refs" fix 2017-11-05 19:01:07 +01:00
Nicolas Grekas
e81005ed5e [Form] Fix low deps 2017-11-05 18:23:26 +01:00
Nicolas Grekas
145587c614 Merge branch '3.4'
* 3.4:
  Fix merge
2017-11-05 18:13:32 +01:00
Nicolas Grekas
51b15695f0 Fix merge 2017-11-05 18:11:12 +01:00
Nicolas Grekas
12f6db8a9a Merge branch '3.4'
* 3.4:
  [WebProfilerBundle] add missing tests
  Fix dump panel hidden when closing a dump
  FormInterface::getPropertyPath(): PropertyPathInterface|null
  [FrameworkBundle][Routing] Remove unused logger argument
2017-11-05 18:01:13 +01:00
Nicolas Grekas
31e64bf7c5 Merge branch '3.3' into 3.4
* 3.3:
  [WebProfilerBundle] add missing tests
  Fix dump panel hidden when closing a dump
  FormInterface::getPropertyPath(): PropertyPathInterface|null
  [FrameworkBundle][Routing] Remove unused logger argument
2017-11-05 17:59:57 +01:00
Nicolas Grekas
024bfa4314 Merge branch '2.8' into 3.3
* 2.8:
  [WebProfilerBundle] add missing tests
  Fix dump panel hidden when closing a dump
  FormInterface::getPropertyPath(): PropertyPathInterface|null
  [FrameworkBundle][Routing] Remove unused logger argument
2017-11-05 17:53:00 +01:00
Nicolas Grekas
4c1de3fbff Merge branch '3.4'
* 3.4:
  [HttpFoundation] refactoring: calculate when need
  [Serializer] Fix extra attributes when no group specified
  [Intl] Make intl-data tests pass and save language aliases again
  [FrameworkBundle][Config] fix: do not add resource checkers for debug=false
  [DI] Fix "almost-circular" dependencies handling
  [Console] Fix CommandTester::setInputs() docblock
  Only enabling validation if it is present
  Fix displaying errors for bootstrap 4
  [Serializer] readd default argument value
  Fix reference dump for deprecated nodes
  [PhpUnitBridge] Fixed fatal error in CoverageListener when something goes wrong in Test::setUpBeforeClass
  [HttpKernel] Let the storage manage the session starts
  [VarDumper] fix trailling comma when dumping an exception
  [Validator] Fix TraceableValidator is reset on data collector instantiation
  Remove useless docblocks
  [FrameworkBundle] Fix docblocks
  [PropertyInfo] Remove useless docblocks
2017-11-05 17:26:21 +01:00
Fabien Potencier
d3054d6666 Merge branch '2.7' into 2.8
* 2.7:
  [WebProfilerBundle] add missing tests
  FormInterface::getPropertyPath(): PropertyPathInterface|null
  [FrameworkBundle][Routing] Remove unused logger argument
2017-11-05 08:18:41 -08:00
Fabien Potencier
4400921629 bug #24665 Fix dump panel hidden when closing a dump (julienfalque)
This PR was merged into the 2.8 branch.

Discussion
----------

Fix dump panel hidden when closing a dump

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

In the dump panel of the debug bar, when closing a dump the panel sometimes get hidden:

![before](https://user-images.githubusercontent.com/1736542/31867025-615e9c48-b788-11e7-8329-96716c211523.gif)

This is because when the size of the panel is reduced, if the mouse is not over it anymore, the `:hover` pseudo-class does not apply anymore.

I "fixed" it by setting a min-height on the panel when closing a dump. The min-height is removed when leaving the panel _on purpose_:

![after](https://user-images.githubusercontent.com/1736542/31867054-d01a01cc-b788-11e7-9ef7-8418ae2b3094.gif)

For now I only tested it on Firefox 56 on Arch Linux.

Commits
-------

2e0b263d9c Fix dump panel hidden when closing a dump
2017-11-05 08:13:31 -08:00
Nicolas Grekas
73982760f7 Merge branch '3.3' into 3.4
* 3.3:
  [Serializer] Fix extra attributes when no group specified
  [Intl] Make intl-data tests pass and save language aliases again
  [Console] Fix CommandTester::setInputs() docblock
  [Serializer] readd default argument value
  [VarDumper] fix trailling comma when dumping an exception
  Remove useless docblocks
  [FrameworkBundle] Fix docblocks
  [PropertyInfo] Remove useless docblocks
2017-11-05 17:10:10 +01:00
Julien Falque
2e0b263d9c
Fix dump panel hidden when closing a dump 2017-11-05 16:52:23 +01:00
Fabien Potencier
51cfaf86e0 minor #24740 [Form] Nullable FormInterface::getPropertyPath() (vudaltsov)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Nullable FormInterface::getPropertyPath()

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

`Symfony\Component\Form\Form::getPropertyPath()` returns `null` when the form has an empty name. It allows for unprefixed children.

```php
<?php

namespace App\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Form\Extension\Core\Type\TextType;

class IndexController extends AbstractController
{
    /**
     * @Route(name="index")
     * @Template()
     */
    public function indexAction()
    {
        $form = $this->get('form.factory')
            ->createNamedBuilder('')
            ->add('text', TextType::class)
            ->getForm();

        return [
            'form' => $form->createView(),
        ];
    }
}
```

```html
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Welcome!</title>
    </head>
    <body>
        <form name="" method="post">
            <label for="text">Text</label>
            <input type="text" id="text" name="text">
        </form>
    </body>
</html>
```

But the return type of the `Symfony\Component\Form\FormInterface::getPropertyPath()` is not nullable.

We cannot change the behaviour, obviously. At least it's useful in API controllers.

So I decided to change the doc block of the interface.

Commits
-------

d56632a45f FormInterface::getPropertyPath(): PropertyPathInterface|null
2017-11-05 07:51:20 -08:00
ReenExe
79e8f57337 [HttpFoundation] refactoring: calculate when need 2017-11-05 07:49:31 -08:00
Nicolas Grekas
b354d6ca84 Merge branch '2.8' into 3.3
* 2.8:
  [Intl] Make intl-data tests pass and save language aliases again
  Remove useless docblocks
  [PropertyInfo] Remove useless docblocks
2017-11-05 16:47:03 +01:00
Fabien Potencier
c57cb8e74b bug #24816 [Serializer] Fix extra attributes when no group specified (ogizanagi)
This PR was merged into the 3.3 branch.

Discussion
----------

[Serializer] Fix extra attributes when no group specified

| Q             | A
| ------------- | ---
| Branch?       | 3.3 <!-- see comment 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 | #24783 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

~~Two commits, for two possible solutions, but I think the last one is probably the most efficient one, as the first one will also impact normalization and systematically try to intersect allowedAttributes and extractedAttributes.~~

Commits
-------

d1b343c015 [Serializer] Fix extra attributes when no group specified
2017-11-05 07:42:45 -08:00
Fabien Potencier
15ed486ea1 bug #24822 [DI] Fix "almost-circular" dependencies handling (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Fix "almost-circular" dependencies handling

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

In a situation like the following one, we used to trigger a circular reference exception. But this was a false positive, as the reference is resolvable without hitting the circle. Fixing this exception could be considered as a new feature (because no existing config needs it, since it fails). But for 3.4, this should be considered a bug fix, as reported in #24775: not handling this situation now means creating broken service trees.

``` php
$containerBuilder = new ContainerBuilder();

$container->register('foo', FooCircular::class)->setPublic(true)
   ->addArgument(new Reference('bar'));

$container->register('bar', BarCircular::class)
    ->addMethodCall('addFoobar', array(new Reference('foobar')));

$container->register('foobar', FoobarCircular::class)
    ->addArgument(new Reference('foo'));

$foo = $containerBuilder->get('foo');
```

Commits
-------

beb4df712c [DI] Fix "almost-circular" dependencies handling
2017-11-05 07:38:28 -08:00
Nicolas Grekas
9bc9474ff0 Merge branch '2.7' into 2.8
* 2.7:
  [Intl] Make intl-data tests pass and save language aliases again
  Remove useless docblocks
2017-11-05 16:25:56 +01:00
Maxime Steinhausser
d1b343c015 [Serializer] Fix extra attributes when no group specified 2017-11-05 16:20:19 +01:00
Nicolas Grekas
5a3db6781c bug #24814 [Intl] Make intl-data tests pass and save language aliases again (jakzal)
This PR was squashed before being merged into the 2.7 branch (closes #24814).

Discussion
----------

[Intl] Make intl-data tests pass and save language aliases again

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

Due to changes in ICU 5.5 aliases were not being saved since that version.

Commits
-------

661a4b6 [Intl] Make intl-data tests pass and save language aliases again
2017-11-05 16:10:08 +01:00
Jakub Zalas
661a4b60d0 [Intl] Make intl-data tests pass and save language aliases again 2017-11-05 16:10:05 +01:00
Nicolas Grekas
49806e05fa minor #24724 Remove useless docblocks (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

Remove useless docblocks

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

2443511 Remove useless docblocks
2017-11-05 16:05:07 +01:00
David Maicher
645f712190 [FrameworkBundle][Config] fix: do not add resource checkers for debug=false 2017-11-05 14:56:21 +01:00
Nicolas Grekas
beb4df712c [DI] Fix "almost-circular" dependencies handling 2017-11-05 13:06:25 +01:00
Maxime Steinhausser
44f6e6db2c [Console] Fix CommandTester::setInputs() docblock 2017-11-05 12:28:12 +01:00
Maxime Steinhausser
daf1bc20c7 minor #24725 [PropertyInfo] Remove useless docblocks (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[PropertyInfo] Remove useless docblocks

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

Commits
-------

b58c31f2aa [PropertyInfo] Remove useless docblocks
2017-11-04 14:35:47 +01:00
Maxime Steinhausser
d483410086 minor #24726 [FrameworkBundle] Fix docblocks (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[FrameworkBundle] Fix docblocks

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

Commits
-------

3ebf6ac45b [FrameworkBundle] Fix docblocks
2017-11-04 14:34:20 +01:00
Christian Flothmann
740abbe9ec [Serializer] readd default argument value 2017-11-03 15:12:43 +01:00
Robin Chalas
188eb34a71 Fix reference dump for deprecated nodes 2017-11-03 11:37:20 +01:00
Fabien Potencier
2e3df94f3a bug #24774 [HttpKernel] Let the storage manage the session starts (sroze)
This PR was squashed before being merged into the 3.4 branch (closes #24774).

Discussion
----------

[HttpKernel] Let the storage manage the session starts

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

HttpKernel's request collector should not really care if the session has started or not, be let the storage decide. Without the session, it is not possible to track the redirected pages.

I don't think the consideration of "we should not start the session if not needed by the user's code" applies here as if this is running, that is very likely that the user is running the dev environment anyway.

Commits
-------

95d0b7235f [HttpKernel] Let the storage manage the session starts
2017-11-01 20:21:13 -07:00
Samuel ROZE
95d0b7235f [HttpKernel] Let the storage manage the session starts 2017-11-01 20:21:07 -07:00
Valentin
d56632a45f FormInterface::getPropertyPath(): PropertyPathInterface|null 2017-11-01 12:36:38 +03:00
Amrouche Hamza
fc3fe7f42e
[VarDumper] fix trailling comma when dumping an exception 2017-11-01 08:04:17 +01:00
Maxime Steinhausser
f5855fb039 [Validator] Fix TraceableValidator is reset on data collector instantiation 2017-10-31 17:02:06 +01:00
Fabien Potencier
a522e04255 Merge branch '3.4'
* 3.4:
  removed extra whitespace
  Removes \n or space when / are empty
  [HttpFoundation] add Early Hints in Reponse to fix test
  bumped Symfony version to 3.4.0
  updated VERSION for 3.4.0-BETA2
  updated CHANGELOG for 3.4.0-BETA2
  Throwing exception if redis and predis unavailable
2017-10-31 08:19:56 -07:00
Fabien Potencier
5c46e393c7 Merge branch '3.3' into 3.4
* 3.3:
  removed extra whitespace
  Removes \n or space when / are empty
  [HttpFoundation] add Early Hints in Reponse to fix test
  Throwing exception if redis and predis unavailable
2017-10-31 08:19:40 -07:00
Fabien Potencier
3b54b3dfbc Merge branch '2.8' into 3.3
* 2.8:
  [HttpFoundation] add Early Hints in Reponse to fix test
2017-10-31 08:19:30 -07:00
Fabien Potencier
f334fb5d83 Merge branch '2.7' into 2.8
* 2.7:
  [HttpFoundation] add Early Hints in Reponse to fix test
2017-10-31 08:19:21 -07:00
Amrouche Hamza
71ad77aed3
[HttpFoundation] add Early Hints in Reponse to fix test 2017-10-31 14:48:52 +01:00
Fabien Potencier
a32b130f10 bumped Symfony version to 4.0.0 2017-10-30 16:00:15 -07:00
Fabien Potencier
cfdf415b51 updated VERSION for 4.0.0-BETA2 2017-10-30 15:53:48 -07:00
Fabien Potencier
996f6ef3cb bumped Symfony version to 3.4.0 2017-10-30 15:52:56 -07:00
Fabien Potencier
33e9a13cac updated VERSION for 3.4.0-BETA2 2017-10-30 15:31:12 -07:00
Fabien Potencier
56e8183d79 Merge branch '3.4'
* 3.4:
  fixed CS
  [Bridge\Twig] fix bootstrap checkbox_row to render properly & remove spaceless
  [HttpKernel] Move services reset to Kernel
  Fix DST
2017-10-30 12:21:43 -07:00
Fabien Potencier
4ae046fd3c bug #24728 [Bridge\Twig] fix bootstrap checkbox_row to render properly & remove spaceless (arkste)
This PR was squashed before being merged into the 3.4 branch (closes #24728).

Discussion
----------

[Bridge\Twig] fix bootstrap checkbox_row to render properly & remove spaceless

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

As discussed in #24711 i reverted the change i did in `bootstrap_3_layout.html.twig` (which caused an unnecessary empty div-container in the vertical-layout), added the `checkbox_row` block to the `bootstrap_3_horizontal_layout.html.twig` and removed `spaceless` (as proposed in #24727).

since i added `{#--#}` in bootstrap 3, i did the same for the same horizontal blocks in bootstrap 4 as well.

I moved the `form_label_class` & `form_group_class` blocks to the top of `bootstrap_3_horizontal_layout.html.twig` & `bootstrap_4_horizontal_layout.html.twig`, this should improve DX as they were spreaded across the file.

#24702 affected the bootstrap 4 horizontal layout as well, so i added the `checkbox_row` block to bootstrap 4 too.

ping @fabpot @nicolas-grekas

Commits
-------

f84749f745 [Bridge\Twig] fix bootstrap checkbox_row to render properly & remove spaceless
2017-10-30 12:07:29 -07:00
Arkadius Stefanski
f84749f745 [Bridge\Twig] fix bootstrap checkbox_row to render properly & remove spaceless 2017-10-30 12:07:24 -07:00
Aaron Scherer
e664c81f12 Throwing exception if redis and predis unavailable 2017-10-30 11:07:15 -07:00
Fabien Potencier
039250acb3 bug #24709 [HttpKernel] Move services reset to Kernel::handle()+boot() (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Move services reset to Kernel::handle()+boot()

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

This is an alternative to #24697 (which uses middlewares).
This PR adds a new `services_resetter` service that the Kernel calls on 2nd root requests to reset services.
Instead of #24697 which plans for optional enabling of the services reset, this approach moves the responsibility of calling the services resetter to the core Kernel class, so that no configuration/middleware/etc. is required at all, and no overhead exists at all for regular requests.

Commits
-------

4501a3688b [HttpKernel] Move services reset to Kernel
2017-10-30 11:03:10 -07:00
Nicolas Grekas
4501a3688b [HttpKernel] Move services reset to Kernel 2017-10-30 19:01:22 +01:00
Dany Maillard
e375e9ae81 Fix DST 2017-10-30 17:32:34 +10:00
Fabien Potencier
d8ee14f9a0 Merge branch '3.4'
* 3.4:
  [TwigBridge] Bootstrap 4 form theme fixes
  [VarDumper] HtmlDumper: fix collapsing nodes with depth <= maxDepth
  Fixing a bug where non-existent classes would cause issues
  Do not activate the cache if Doctrine's cache is not present
  [SecurityBundle] hotfix: update phpdocs on logout url
  [FrameworkBundle] Do not load property_access.xml if the component isn't installed
  [HttpFoundation] Mark new methods on Response as final
  Fixed a few spelling mistakes in Luxembourgish translation
  [TwigBridge] Fix template paths in profiler
2017-10-29 14:09:05 -07:00
Fabien Potencier
b327a7c100 Merge branch '3.3' into 3.4
* 3.3:
  Fixing a bug where non-existent classes would cause issues
  [SecurityBundle] hotfix: update phpdocs on logout url
  [FrameworkBundle] Do not load property_access.xml if the component isn't installed
  Fixed a few spelling mistakes in Luxembourgish translation
2017-10-29 14:08:13 -07:00
Fabien Potencier
7031b61187 Merge branch '2.8' into 3.3
* 2.8:
  [SecurityBundle] hotfix: update phpdocs on logout url
  [FrameworkBundle] Do not load property_access.xml if the component isn't installed
  Fixed a few spelling mistakes in Luxembourgish translation
2017-10-29 14:07:11 -07:00
Fabien Potencier
4a4f4d2ca2 Merge branch '2.7' into 2.8
* 2.7:
  [FrameworkBundle] Do not load property_access.xml if the component isn't installed
  Fixed a few spelling mistakes in Luxembourgish translation
2017-10-29 14:04:14 -07:00
Fabien Potencier
e839df9e75 minor #24723 [HttpFoundation] Mark new methods on Response as final (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] Mark new methods on Response as final

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

Commits
-------

a913f70583 [HttpFoundation] Mark new methods on Response as final
2017-10-29 14:00:00 -07:00
Maxime Steinhausser
a1863c3b7c [VarDumper] HtmlDumper: fix collapsing nodes with depth <= maxDepth 2017-10-29 21:21:57 +01:00
Nicolas Grekas
2443511324 Remove useless docblocks 2017-10-29 10:49:53 +01:00
Nicolas Grekas
3ebf6ac45b [FrameworkBundle] Fix docblocks 2017-10-28 20:54:29 +02:00
Nicolas Grekas
b58c31f2aa [PropertyInfo] Remove useless docblocks 2017-10-28 20:53:30 +02:00
Nicolas Grekas
a913f70583 [HttpFoundation] Mark new methods on Response as final 2017-10-28 20:22:29 +02:00
Michel Weimerskirch
7a81576b97 Fixed a few spelling mistakes in Luxembourgish translation
Also adjusted trans-unit "51" to commit #21335
2017-10-28 19:02:43 +02:00
Nicolas Grekas
5c74f11b52 Merge branch '3.4'
* 3.4:
  Ensure DeprecationErrorHandler::collectDeprecations() is triggered
  Config: mark builder property deprecated
  fix CachePoolPrunerPass to use correct command service id
  [TwigBridge] Re-add Bootstrap 3 Checkbox Layout
  [FrameworkBundle] Allow to disable assets via framework:assets xml configuration
  fixed $_ENV/$_SERVER precedence in test framework
  [HttpFoundation] Fix FileBag issue with associative arrays
  [DI] Throw when a service name or an alias contains dynamic values (prevent an infinite loop)
  [HttpFoundation] Fix caching of session-enabled pages
  [Guard] remove invalid deprecation notice
  fix the phpdoc that is not really inherited from response
  Minor docblock cleanup
  Remove redundant sprintf arguments.
2017-10-28 18:54:10 +02:00
Nicolas Grekas
c7e59b3a5b Merge branch '3.3' into 3.4
* 3.3:
  Ensure DeprecationErrorHandler::collectDeprecations() is triggered
  [FrameworkBundle] Allow to disable assets via framework:assets xml configuration
  fixed $_ENV/$_SERVER precedence in test framework
  [HttpFoundation] Fix FileBag issue with associative arrays
  [DI] Throw when a service name or an alias contains dynamic values (prevent an infinite loop)
  fix the phpdoc that is not really inherited from response
  Minor docblock cleanup
  Remove redundant sprintf arguments.
2017-10-28 18:49:05 +02:00
Nicolas Grekas
e7b555e2c9 Merge branch '2.8' into 3.3
* 2.8:
  [HttpFoundation] Fix FileBag issue with associative arrays
  fix the phpdoc that is not really inherited from response
  Minor docblock cleanup
  Remove redundant sprintf arguments.
2017-10-28 18:47:30 +02:00
Nicolas Grekas
865622e630 Merge branch '2.7' into 2.8
* 2.7:
  [HttpFoundation] Fix FileBag issue with associative arrays
  fix the phpdoc that is not really inherited from response
  Minor docblock cleanup
  Remove redundant sprintf arguments.
2017-10-28 18:44:51 +02:00
Nicolas Grekas
7f746bd621 minor #24701 Config: mark builder property deprecated (bburnichon)
This PR was squashed before being merged into the 3.4 branch (closes #24701).

Discussion
----------

Config: mark builder property deprecated

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

`builder` protected property is not used at all in class. Mark as deprecated to enable removing asap. This is to avoid keeping dead code up to symfony `5.0` and still having this dead code in the `4.4` LTS version

Commits
-------

206fb74 Config: mark builder property deprecated
2017-10-28 18:10:23 +02:00
Benoît Burnichon
206fb74381 Config: mark builder property deprecated 2017-10-28 18:10:19 +02:00
Fabien Potencier
4910ac6fe9 bug #24686 Fix $_ENV/$_SERVER precedence in test framework (fabpot)
This PR was merged into the 3.3 branch.

Discussion
----------

Fix $_ENV/$_SERVER precedence in test framework

| 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

When defining env vars values in `phpunit.xml.dist`, we are using `<env ...>`. PHPUnit registers those env vars in `$_ENV`, but not in `$_SERVER`. This means that those values might not be used by Symfony if env vars defined in `.env` are automatically registered (which is my case).

In any case, I think it makes sense to make `$_ENV` take precedence as this is how we register them in `phpunit.xml.dist`.

Commits
-------

6ed9919d24 fixed $_ENV/$_SERVER precedence in test framework
2017-10-26 09:22:06 -07:00
Tobias Schultze
85551141a5 minor #24613 Remove redundant sprintf argument. (Aliance)
This PR was merged into the 2.7 branch.

Discussion
----------

Remove redundant sprintf argument.

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

cc @fabpot @ogizanagi

Commits
-------

c8012f0448 Remove redundant sprintf arguments.
2017-10-26 16:04:37 +02:00
Tobias Schultze
fdac9e3911 bug #24691 [HttpFoundation] Fix caching of session-enabled pages (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] Fix caching of session-enabled pages

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

Commits
-------

572e02cec5 [HttpFoundation] Fix caching of session-enabled pages
2017-10-26 12:26:53 +02:00
Tobias Schultze
beee423bc8 feature #24677 [HttpFoundation] Allow DateTimeImmutable in Response setters (derrabus)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[HttpFoundation] Allow DateTimeImmutable in Response setters

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

## Proposal

This PR adds the ability to use `DateTimeImmutable` objects instead of `DateTime` in the following setters of HttpFoundation's `Response` class.

* `setDate()`
* `setExpires()`
* `setLastModified()`

The corresponding getters are not touched, meaning they will still return good old `DateTime` instances.

## BC considerations

* Calling code using `DateTime` objects will still work as before.
* Classes derived from `Response` will break if they override one of the methods above. Since all of them are considered final in Symfony 4, none of them should be overridden, though.

Commits
-------

cc7cceef9b Allow DateTimeImmutable in Response setters.
2017-10-26 12:07:21 +02:00
Fabien Potencier
6ed9919d24 fixed $_ENV/$_SERVER precedence in test framework 2017-10-25 18:38:07 -07:00
Fabien Potencier
d744027357 bug #24606 [HttpFoundation] Fix FileBag issue with associative arrays (enumag)
This PR was squashed before being merged into the 2.7 branch (closes #24606).

Discussion
----------

[HttpFoundation] Fix FileBag issue with associative arrays

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

Commits
-------

8ea2860996 [HttpFoundation] Fix FileBag issue with associative arrays
2017-10-25 18:19:06 -07:00
Jáchym Toušek
8ea2860996 [HttpFoundation] Fix FileBag issue with associative arrays 2017-10-25 18:19:04 -07:00
Kévin Dunglas
14e30857ea [DI] Throw when a service name or an alias contains dynamic values (prevent an infinite loop) 2017-10-25 18:14:47 -07:00
Jakub Zalas
e2b4a35a72
[Intl] Allow passing null as a locale fallback
Null is passed in update-data.php to prevent falling back to English locale during icu data import.
2017-10-25 22:09:13 +01:00
Fabien Potencier
e1daff4a19 bug #24684 [Security] remove invalid deprecation notice on AbstractGuardAuthenticator::supports() (kbond)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] remove invalid deprecation notice on AbstractGuardAuthenticator::supports()

| 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/pull/16835#issuecomment-339097374
| License       | MIT
| Doc PR        | n/a

This deprecation flag causes a false positive.

Commits
-------

5fb44e767e [Guard] remove invalid deprecation notice
2017-10-25 11:28:42 -07:00
Nicolas Grekas
572e02cec5 [HttpFoundation] Fix caching of session-enabled pages 2017-10-25 18:42:56 +02:00
Nicolas Grekas
d65a7f0329 Merge branch '3.4'
* 3.4:
  [VarDumper] Fix test
2017-10-25 10:49:37 +02:00
Nicolas Grekas
b6a0a38c4d [VarDumper] Fix test 2017-10-25 10:48:42 +02:00
Kevin Bond
5fb44e767e
[Guard] remove invalid deprecation notice 2017-10-24 15:52:50 -04:00
Rudy Onfroy
7cd3049454 fix the phpdoc that is not really inherited from response 2017-10-24 20:42:41 +02:00
Alexander M. Turek
cc7cceef9b Allow DateTimeImmutable in Response setters. 2017-10-24 18:23:15 +02:00
Nicolas Grekas
9233549861 minor #24611 Remove some visual debt by adding type hints on final methods/classes (nicolas-grekas)
This PR was merged into the 4.0-dev branch.

Discussion
----------

Remove some visual debt by adding type hints on final methods/classes

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

Commits
-------

5eab353 Remove some visual debt by adding type hints on final methods/classes
2017-10-24 16:46:42 +02:00
Robin Chalas
ec0867f59d Merge branch '3.4'
* 3.4:
  fix merge
2017-10-24 16:41:02 +02:00
Robin Chalas
7f9ef83020 Merge branch '3.3' into 3.4
* 3.3:
  fix merge
2017-10-24 16:40:29 +02:00
Robin Chalas
d9746d45b1 fix merge 2017-10-24 16:40:00 +02:00
Nicolas Grekas
5eab353117 Remove some visual debt by adding type hints on final methods/classes 2017-10-24 16:36:35 +02:00
Nicolas Grekas
4058f2f284 Merge branch '3.4'
* 3.4:
  [DI] minor docblock fixes
2017-10-24 16:16:56 +02:00
Nicolas Grekas
1e1b37753c Merge branch '3.3' into 3.4
* 3.3:
  [DI] minor docblock fixes
2017-10-24 16:12:06 +02:00
Nicolas Grekas
7fb9f614ee Merge branch '2.8' into 3.3
* 2.8:
  [DI] minor docblock fixes
2017-10-24 16:05:06 +02:00
Nicolas Grekas
2b95ba3299 Merge branch '2.7' into 2.8
* 2.7:
  [DI] minor docblock fixes
2017-10-24 15:48:52 +02:00
Nicolas Grekas
962687e64f minor #24663 [DI] minor docblock fixes (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[DI] minor docblock fixes

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

As found in #24611

Commits
-------

0c9edaf [DI] minor docblock fixes
2017-10-24 15:38:54 +02:00
Nicolas Grekas
a13befe38e Merge branch '3.4'
* 3.4:
  [DI] Handle container.autowiring.strict_mode to opt-out from legacy autowiring
  [2.8] Fix some docblocks
  Escape trailing \ in QuestionHelper autocompletion
  [FrameworkBundle][Serializer] Remove outdated condition
  Add "doctrine/annotations" to top-level composer.json
  Fix phpdoc inconsistencies, simplify no-op sprintf.
  Remove inapplicable phpdoc comment
  nit: Fix phpdoc inconsistency and unreachable statement
  [DI] Register default env var provided types
  Fix phpdoc and unnecessary sprintf
  [FrameworkBundle][Workflow] Fix deprectation when checking workflow.registry service in dump command
  [Security] Fix BC layer for AbstractGuardAuthenticator subclasses
  Prefer line formatter on missing cli dumper
  [DI] Enhance service locator error message
2017-10-24 14:50:36 +02:00
Nicolas Grekas
cb5e7912c7 Merge branch '3.3' into 3.4
* 3.3:
  [2.8] Fix some docblocks
  Escape trailing \ in QuestionHelper autocompletion
  [FrameworkBundle][Serializer] Remove outdated condition
  Add "doctrine/annotations" to top-level composer.json
  Fix phpdoc inconsistencies, simplify no-op sprintf.
  Remove inapplicable phpdoc comment
  nit: Fix phpdoc inconsistency and unreachable statement
  Prefer line formatter on missing cli dumper
  [DI] Enhance service locator error message
2017-10-24 14:44:53 +02:00
Nicolas Grekas
c73ee30f6a Merge branch '2.8' into 3.3
* 2.8:
  [2.8] Fix some docblocks
  Escape trailing \ in QuestionHelper autocompletion
  Add "doctrine/annotations" to top-level composer.json
  Remove inapplicable phpdoc comment
  nit: Fix phpdoc inconsistency and unreachable statement
2017-10-24 14:44:43 +02:00
Nicolas Grekas
2627081a90 Merge branch '2.7' into 2.8
* 2.7:
  Escape trailing \ in QuestionHelper autocompletion
  Add "doctrine/annotations" to top-level composer.json
  nit: Fix phpdoc inconsistency and unreachable statement
2017-10-24 14:43:40 +02:00
Nicolas Grekas
2a5759d7b7 feature #24671 [DI] Handle container.autowiring.strict_mode to opt-out from legacy autowiring (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Handle container.autowiring.strict_mode to opt-out from legacy autowiring

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

To preserve BC, autowiring still wires things in hybrid 2.8/3.3 modes.
But 2.8 mode is really a foot gun.
I propose to add a new parameter in SF3.4, to opt-out of this 2.8 mode, and enable this strict mode for all new projects.
WDYT?
(see https://github.com/symfony/recipes/pull/221 for corresponding change on Flex recipe)

Commits
-------

a4a0ae2 [DI] Handle container.autowiring.strict_mode to opt-out from legacy autowiring
2017-10-24 14:37:11 +02:00
Nicolas Grekas
7d97133d2c bug #24624 [Security] Fix missing BC layer for AbstractGuardAuthenticator::getCredentials() (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] Fix missing BC layer for AbstractGuardAuthenticator::getCredentials()

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

If a guard authenticator extends `AbstractGuardAuthenticator` and returns `null` from `getCredentials()`, an `\UnexpectedValueException` is thrown when upgrading to 3.4 because the abstract already implements the new interface.
This triggers a deprecation notice instead.

Commits
-------

b6bb84b [Security] Fix BC layer for AbstractGuardAuthenticator subclasses
2017-10-24 14:22:34 +02:00
Nicolas Grekas
0c9edaf336 [DI] minor docblock fixes 2017-10-24 13:40:19 +02:00
Nicolas Grekas
a4a0ae20ca [DI] Handle container.autowiring.strict_mode to opt-out from legacy autowiring 2017-10-24 09:38:31 +02:00
Fabien Potencier
fe07c25cd1 bug #24635 [DI] Register default env var provided types (ro0NL)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Register default env var provided types

| 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/pull/23888#discussion_r144703581
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

cc @nicolas-grekas

Commits
-------

3cee7a65de [DI] Register default env var provided types
2017-10-23 08:26:20 -07:00
Nicolas Grekas
1cfd7de0dc [2.8] Fix some docblocks 2017-10-23 15:27:00 +02:00
Alexander Kurilo
0c0f1da67d Escape trailing \ in QuestionHelper autocompletion
Fixes symfony/symfony#24652
Trailing backslash, being unescaped, used to escape closing formatting
tag and, thus, formatting tag appeared in autocompletion
2017-10-22 14:12:24 +03:00
Tyson Andre
c9ddd68ea6 Fix phpdoc inconsistencies, simplify no-op sprintf.
(detected by static analysis)
2017-10-21 13:27:13 -07:00
Tyson Andre
44a21cd195 nit: Fix phpdoc inconsistency and unreachable statement
(detected by static analysis)
2017-10-21 13:19:30 -07:00
Shawn Iwinski
f3585335d9 [HttpKernel] Remove composer require-dev "symfony/class-loader" 2017-10-21 16:09:18 -04:00
Roland Franssen
3cee7a65de [DI] Register default env var provided types 2017-10-21 10:39:15 +02:00
Tyson Andre
e64baf5d41 Fix phpdoc and unnecessary sprintf 2017-10-20 22:45:42 -07:00
Nicolas Grekas
2b725ca200 Merge branch '3.4'
* 3.4: (26 commits)
  [Routing] Fix resource miss
  [Security] Fixed auth provider authenticate() cannot return void
  [FrameworkBundle][Serializer] Move DateIntervalNormalizer definition to xml
  declare argument type
  Improving annotation loader message
  [FrameworkBundle][Serializer] Move normalizer/encoders definitions to xml file & remove unnecessary checks
  Update UPGRADE-4.0.md
  streamed response should return $this
  $isClientIpsVali is not used
  [WebServerBundle] Prevent commands from being registered by convention
  content can be a resource
  Adding the Form default theme files to be warmed up in Twig's cache
  Remove BC Break label from `NullDumper` class
  Username and password in basic auth are allowed to contain '.'
  Remove obsolete PHPDoc from UriSigner
  [Serializer] YamlEncoder: throw if the Yaml component isn't installed
  [Serializer] ObjectNormalizer: throw if PropertyAccess isn't installed
  [PropertyInfo] Add support for the iterable type
  pdo session fix
  Fixed pathinfo calculation for requests starting with a question mark.  - fix bad conflict resolving issue  - port symfony/symfony#21968 to 3.3+
  ...
2017-10-20 12:28:39 -07:00
Nicolas Grekas
beed426e9a minor #24582 [DI] Enhance service locator error message (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[DI] Enhance service locator error message

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

See linked issue.

Commits
-------

fdb0ea9 [DI] Enhance service locator error message
2017-10-20 12:00:26 -07:00
Fabien Potencier
1376b4becd Merge branch '3.3' into 3.4
* 3.3: (22 commits)
  [Routing] Fix resource miss
  [Security] Fixed auth provider authenticate() cannot return void
  declare argument type
  [FrameworkBundle][Serializer] Move normalizer/encoders definitions to xml file & remove unnecessary checks
  streamed response should return $this
  $isClientIpsVali is not used
  content can be a resource
  Adding the Form default theme files to be warmed up in Twig's cache
  Remove BC Break label from `NullDumper` class
  Username and password in basic auth are allowed to contain '.'
  Remove obsolete PHPDoc from UriSigner
  [Serializer] YamlEncoder: throw if the Yaml component isn't installed
  [Serializer] ObjectNormalizer: throw if PropertyAccess isn't installed
  [PropertyInfo] Add support for the iterable type
  pdo session fix
  Fixed pathinfo calculation for requests starting with a question mark.  - fix bad conflict resolving issue  - port symfony/symfony#21968 to 3.3+
  Fixed unsetting from loosely equal keys OrderedHashMap
  add DOMElement as return type in Crawler::getIterator to support foreach support in ide
  Fixed mistake in exception expectation
  [Debug] Fix same vendor detection in class loader
  ...
2017-10-20 11:48:32 -07:00
Fabien Potencier
402246ebaa Merge branch '2.8' into 3.3
* 2.8:
  [Routing] Fix resource miss
  [Security] Fixed auth provider authenticate() cannot return void
  declare argument type
  streamed response should return $this
  content can be a resource
  Adding the Form default theme files to be warmed up in Twig's cache
2017-10-20 11:30:21 -07:00
Fabien Potencier
77a74df487 Merge branch '2.7' into 2.8
* 2.7:
  [Security] Fixed auth provider authenticate() cannot return void
  declare argument type
  streamed response should return $this
  content can be a resource
2017-10-20 11:30:07 -07:00
Fabien Potencier
2661da415e bug #24644 [Security] Fixed auth provider authenticate() cannot return void (glye)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] Fixed auth provider authenticate() cannot return void

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

The `AuthenticationManagerInterface` [requires](https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Security/Core/Authentication/AuthenticationManagerInterface.php#L30) that `authenticate()` must return a TokenInterface, never null. Several authentication providers are violating this. Changed to throw exception instead.

See discussion in earlier PR https://github.com/symfony/symfony/pull/24585 which was changing the docblock rather than the implementations.

Commits
-------

6e18b56b77 [Security] Fixed auth provider authenticate() cannot return void
2017-10-20 11:28:37 -07:00
Fabien Potencier
5e7a03b288 minor #24622 declare type AcceptHeaderItem for array_map (DQNEO)
This PR was merged into the 2.7 branch.

Discussion
----------

declare type AcceptHeaderItem  for array_map

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

In `array_filter` , argument type is declared.
https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/HttpFoundation/AcceptHeader.php#L133
So It's natural to do so in `array_map` too.

Commits
-------

ab8f5be40c declare argument type
2017-10-20 11:23:47 -07:00
Kévin Dunglas
6610c25cd6 [Routing] Fix resource miss 2017-10-20 11:22:06 -07:00
Gunnstein Lye
6e18b56b77 [Security] Fixed auth provider authenticate() cannot return void
The AuthenticationManagerInterface requires that authenticate() must return a TokenInterface, never null.
Several authentication providers are violating this. Changed to throw exception instead.
2017-10-20 16:23:30 +02:00
Lesnykh Ilia
c8012f0448
Remove redundant sprintf arguments. 2017-10-20 12:44:28 +03:00
DQNEO
ab8f5be40c declare argument type 2017-10-20 13:13:59 +09:00
Ryan Weaver
ce4cf471b9 Improving annotation loader message 2017-10-19 19:13:30 -04:00
Fabien Potencier
0cd875957b minor #24618 content can be a resource (DQNEO)
This PR was merged into the 2.7 branch.

Discussion
----------

content can be a resource

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

Commits
-------

c63742daef content can be a resource
2017-10-19 12:31:53 -07:00
DQNEO
058fb84554 streamed response should return $this 2017-10-19 12:17:47 -07:00
DQNEO
df086fd9b3 $isClientIpsVali is not used 2017-10-19 12:13:33 -07:00
Fabien Potencier
4c414d8136 feature #24631 [Form] Fix FormEvents::* constant and value matching (yceruto, javiereguiluz)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[Form] Fix FormEvents::* constant and value matching

| Q             | A
| ------------- | ---
| Branch?       | 4.0
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | yes (ppl rely on const value directly, very weird)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/issues/24615
| License       | MIT
| Doc PR        | -

> https://github.com/symfony/symfony/issues/24615#issuecomment-337945875 by @stof:
Yeah, I think we could change this in 4.0 without a big impact (btw, I think our BC policy even allows it for this case).
There is one case where people will use the event name rather than the constant: the kernel.event_listener tag (and recent versions can even use the constant in YAML files). But this won't be the case for this event, as form events are not dispatched in the main dispatcher anyway.

Commits
-------

944931af63 Minor reword
0ee856add1 Update UPGRADE-4.0.md
0fc2282fc2 fix the constant value to be consistent with the name
2017-10-19 11:52:46 -07:00
Fabien Potencier
10ab3a648c minor #24623 [Session] remove lazy_write polyfill for php < 7.0 (Tobion)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[Session] remove lazy_write polyfill for php < 7.0

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

Remove the session.lazy_write fallback implementation for php < 7 introduced in #24523 as we don't need it in sf 4

Commits
-------

1f84b1fd81 [Session] remove lazy_write polyfill for php < 7.0
2017-10-19 10:25:13 -07:00
Yonel Ceruto
0fc2282fc2 fix the constant value to be consistent with the name 2017-10-19 12:41:04 -04:00
Edi Modrić
c22d783696 [Form] Add useDefaultThemes flag to the interfaces 2017-10-19 17:17:33 +02:00
Robin Chalas
b6bb84b8f1 [Security] Fix BC layer for AbstractGuardAuthenticator subclasses 2017-10-19 15:33:28 +02:00
Tobias Schultze
1f84b1fd81 [Session] remove lazy_write polyfill for php < 7.0 2017-10-19 14:43:54 +02:00
DQNEO
c63742daef content can be a resource 2017-10-19 21:02:09 +09:00
Fabien Potencier
b935b93c7a bumped Symfony version to 4.0.0 2017-10-18 18:43:06 -07:00
Fabien Potencier
748338874c updated VERSION for 4.0.0-BETA1 2017-10-18 18:36:38 -07:00
Nicolas Grekas
14de848cc4 Merge branch '3.4'
* 3.4:
  bumped Symfony version to 3.4.0
  updated VERSION for 3.4.0-BETA1
  updated CHANGELOG for 3.4.0-BETA1
  Do not process bindings in AbstractRecursivePass
  don't bind scalar values to controller method arguments
  Add extra autowiring aliases
  adding AdapterInterface alias for cache.app
  Adding a new debug:autowiring command
  [HttpFoundation] Make sessions secure and lazy
  [Routing] Ensure uniqueness without repeated check
  [Console] Sync ConsoleLogger::interpolate with the one in HttpKernel
2017-10-18 17:12:27 -07:00
Fabien Potencier
d484f7282a bumped Symfony version to 3.4.0 2017-10-18 15:39:44 -07:00
Fabien Potencier
c000b454c8 updated VERSION for 3.4.0-BETA1 2017-10-18 14:45:50 -07:00
Fabien Potencier
f51d4d4c8f Merge branch '2.8' into 3.3
* 2.8:
  Username and password in basic auth are allowed to contain '.'
  Remove obsolete PHPDoc from UriSigner
  [Serializer] ObjectNormalizer: throw if PropertyAccess isn't installed
  [PropertyInfo] Add support for the iterable type
  pdo session fix
  Fixed unsetting from loosely equal keys OrderedHashMap
  [Debug] Fix same vendor detection in class loader
  Updated the source text and translation
  reject remember-me token if user check fails
2017-10-18 08:00:09 -07:00
Fabien Potencier
5f0a7047ff Merge branch '2.7' into 2.8
* 2.7:
  Username and password in basic auth are allowed to contain '.'
  Remove obsolete PHPDoc from UriSigner
  [Serializer] ObjectNormalizer: throw if PropertyAccess isn't installed
  pdo session fix
  Fixed unsetting from loosely equal keys OrderedHashMap
  [Debug] Fix same vendor detection in class loader
  Updated the source text and translation
  reject remember-me token if user check fails
2017-10-18 07:57:21 -07:00
Fabien Potencier
0ff4480e28 bug #24600 [HttpKernel] Don't bind scalar values to controller method arguments (yceruto)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Don't bind scalar values to controller method arguments

| 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/24555#issuecomment-337071029
| License       | MIT
| Doc PR        | -

See linked issue.

Let's suppose we have this configuration:
```yaml
services:
    _defaults:
        # ...
        bind:
            $foo: '%foobar%'
```
`$foo` was successfully bound to any controller constructor, but in another controller I have this edit action (nothing to do with the intention of bind such a parameter, but it has the same name):
```php
/**
 * @Route("/{foo}/edit")
 */
public function editAction(string $foo) {}
```
triggering:
> Type error: Argument 1 passed to Symfony\Component\DependencyInjection\Argument\ServiceClosureArgument::__construct() must be an instance of Symfony\Component\DependencyInjection\Reference, string given, called in /home/yceruto/github/symfony/symfony-demo/vendor/symfony/dependency-injection/Compiler/ServiceLocatorTagPass.php on line 81

or after https://github.com/symfony/symfony/pull/24582:
> Invalid service locator definition: only services can be referenced, "string" found for key "foo". Inject parameter values using constructors instead.

Commits
-------

a1df9af20f don't bind scalar values to controller method arguments
2017-10-18 07:28:24 -07:00
Fabien Potencier
2fc9b57f65 bug #24589 Username and password in basic auth are allowed to contain '.' (Richard Quadling)
This PR was merged into the 2.7 branch.

Discussion
----------

Username and password in basic auth are allowed to contain '.'

Initially reported by Fede Isas in https://github.com/beberlei/assert/pull/234

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

Commits
-------

e5d57dd050 Username and password in basic auth are allowed to contain '.'
2017-10-18 07:25:02 -07:00
Fabien Potencier
79caee2e08 bug #24602 [DI] Do not process bindings in AbstractRecursivePass (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Do not process bindings in AbstractRecursivePass

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

Commits
-------

6a6256c6a8 Do not process bindings in AbstractRecursivePass
2017-10-18 07:16:04 -07:00
Robin Chalas
6a6256c6a8 Do not process bindings in AbstractRecursivePass 2017-10-18 14:27:18 +02:00
Yonel Ceruto
a1df9af20f don't bind scalar values to controller method arguments 2017-10-18 01:50:07 -04:00
Richard Quadling
e5d57dd050 Username and password in basic auth are allowed to contain '.'
Initially reported by Fede Isas in https://github.com/beberlei/assert/pull/234
2017-10-17 13:03:20 +01:00
Edi Modrić
45ac192200 Remove obsolete PHPDoc from UriSigner 2017-10-17 12:11:27 +02:00
Fabien Potencier
45e677e562 bug #24566 Fixed unsetting from loosely equal keys OrderedHashMap (maryo)
This PR was merged into the 2.7 branch.

Discussion
----------

Fixed unsetting from loosely equal keys OrderedHashMap

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

Commits
-------

ba37cba6c2 Fixed unsetting from loosely equal keys OrderedHashMap
2017-10-16 16:28:28 -07:00
Fabien Potencier
7ac01bc723 minor #24564 add DOMElement as return type in Crawler::getIterator to support foreach support in ide (Haehnchen)
This PR was merged into the 3.3 branch.

Discussion
----------

add DOMElement as return type in Crawler::getIterator to support foreach support in ide

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

In `Crawler::getIterator` return type is missing so ide (PhpStorm) is not able to provide completion inside foreach statements. This PR adds `DOMElement[]` to it

```php
$crawler = new Crawler('foobar');
foreach($crawler->filter('a') as $link) {
   # support completion
   $link->...
}
```

Commits
-------

2350597288 add DOMElement as return type in Crawler::getIterator to support foreach support in ide
2017-10-16 16:26:23 -07:00
Fabien Potencier
ff459928c9 bug #24570 [Debug] Fix same vendor detection in class loader (Jean-Beru)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug] Fix same vendor detection in class loader

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

Fix about same vendor detection in ClassLoader. Actually, detected namespace for `Doctrine\ORM\Configuration` is `Doctrine\ORM` instead of `Doctrine\`. So deprecations are triggered for classes in same namespace.

Commits
-------

d2ab0d8019 [Debug] Fix same vendor detection in class loader
2017-10-16 16:22:53 -07:00
Fabien Potencier
1f4025a0ae feature #24523 [HttpFoundation] Make sessions secure and lazy (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] Make sessions secure and lazy

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | not yet
| Fixed tickets | #6388, #6036, #12375, #12325
| License       | MIT
| Doc PR        | -

The `SessionUpdateTimestampHandlerInterface` (new to PHP 7.0) is mostly undocumented, and just not implemented anywhere. Yet, it's required to implement session fixation preventions and lazy write in userland session handlers (there is https://wiki.php.net/rfc/session-read_only-lazy_write which describes the behavior.)

By implementing it, we would make Symfony session handling much better and stronger. Meanwhile, doing some cookie headers management, this also gives the opportunity to fix the "don't start if session is only read issue".

So, here we are for the general idea. Now needs more (and green) tests, and review of course.

Commits
-------

347939c9b3 [HttpFoundation] Make sessions secure and lazy
2017-10-16 15:59:43 -07:00
Nicolas Grekas
fdb0ea9fdd [DI] Enhance service locator error message 2017-10-17 00:51:02 +02:00
Fabien Potencier
d32ecff202 bug #24573 [3.3] Fixed pathinfo calculation for requests starting with a question mark. (syzygymsu)
This PR was merged into the 3.3 branch.

Discussion
----------

[3.3] Fixed pathinfo calculation for requests starting with a question mark.

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

Fix of bad merge conflict resolving as mentioned in #24487. Port #21968 to 3.3+

Commits
-------

c17a92259a Fixed pathinfo calculation for requests starting with a question mark.  - fix bad conflict resolving issue  - port symfony/symfony#21968 to 3.3+
2017-10-16 15:36:09 -07:00
Nicolas Grekas
347939c9b3 [HttpFoundation] Make sessions secure and lazy 2017-10-17 00:24:46 +02:00
Kévin Dunglas
7d21caf8dd [Serializer] YamlEncoder: throw if the Yaml component isn't installed 2017-10-16 15:20:00 -07:00
Fabien Potencier
7dac168800 bug #24563 [Serializer] ObjectNormalizer: throw if PropertyAccess isn't installed (dunglas)
This PR was squashed before being merged into the 2.7 branch (closes #24563).

Discussion
----------

[Serializer] ObjectNormalizer: throw if PropertyAccess isn't installed

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

Commits
-------

b5246a72ca [Serializer] ObjectNormalizer: throw if PropertyAccess isn't installed
2017-10-16 15:17:03 -07:00
Kévin Dunglas
b5246a72ca [Serializer] ObjectNormalizer: throw if PropertyAccess isn't installed 2017-10-16 15:16:57 -07:00
Kévin Dunglas
a73249db31 [PropertyInfo] Add support for the iterable type 2017-10-16 14:49:07 -07:00
Fabien Potencier
f757cd65e2 minor #24556 [Routing] Ensure uniqueness without repeated check (endroid)
This PR was squashed before being merged into the 3.4 branch (closes #24556).

Discussion
----------

[Routing] Ensure uniqueness without repeated check

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

The RouteCollection ensures uniqueness of resources by using array_unique. The current implementation suffers from the following problems.

1. The array_unique method calls __toString for every element in the array but it is very inefficient in terms of the number of calls made. I.e. if the array has 50 elements it does not do 50 __toString calls. I did some tests with Blackfire in PHP 7.1 and found the following numbers.

25 elements => 240 calls
50 elements => 607 calls
100 elements => 1382 calls
200 elements => 3333 calls

2. The array_unique function is called every time the getResources() method is called, even when the resources did not change in the mean time. Combined with the above this leads to lower performance.

Many applications have a low number of routes so this is not a big issue. But for larger applications or bundles that generate routes (i.e. for CRUD or API / doc generation) this will have a bigger impact.

Commits
-------

16f7281178 [Routing] Ensure uniqueness without repeated check
2017-10-16 13:33:36 -07:00
endroid
16f7281178 [Routing] Ensure uniqueness without repeated check 2017-10-16 13:33:34 -07:00
Fabien Potencier
60adbdd059 bug #24579 pdo session fix (mxp100)
This PR was merged into the 2.7 branch.

Discussion
----------

pdo session fix

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

Fix PDO session timestamp out of range for postgres. (branch from 2.7)
P.S. please delete this pull https://github.com/symfony/symfony/pull/24457

Commits
-------

56b29a754c pdo session fix
2017-10-16 13:29:26 -07:00
Yuriy Potemkin
56b29a754c pdo session fix 2017-10-16 20:34:10 +03:00
Anton A. Sumin
c17a92259a Fixed pathinfo calculation for requests starting with a question mark.
- fix bad conflict resolving issue
 - port symfony/symfony#21968 to 3.3+
2017-10-16 13:20:56 +03:00
maryo
ba37cba6c2 Fixed unsetting from loosely equal keys OrderedHashMap 2017-10-15 22:33:56 +02:00
Daniel Espendiller
2350597288 add DOMElement as return type in Crawler::getIterator to support foreach support in ide 2017-10-15 19:29:08 +02:00
Kévin Dunglas
8fcbc5572b
[Console] Sync ConsoleLogger::interpolate with the one in HttpKernel 2017-10-15 14:36:44 +02:00
Nicolas Grekas
4650592242 minor #24557 Fixed mistake in exception expectation (uuf6429)
This PR was merged into the 3.3 branch.

Discussion
----------

Fixed mistake in exception expectation

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

In some cases, (5 to be exact), the `expectException` is misused while attempting to provide compatibility with the older `setExpectedException` by making use of a non-existent parameter.
Firstly, this makes the tests inconsistent (old PHPUnit version test exception message, while newer one doesn't). Secondly, if PHPUnit interface suddenly starts making use of a 2nd parameter in `expectException`, the existing code might break or cause unexpected side-effects.

Original report: 87bb726712 (commitcomment-24848315)

Commits
-------

03be003 Fixed mistake in exception expectation
2017-10-14 22:45:08 +02:00
Christian Sciberras
03be003018 Fixed mistake in exception expectation 2017-10-14 03:33:35 +02:00
hubert.lenoir
d2ab0d8019 [Debug] Fix same vendor detection in class loader 2017-10-13 19:28:12 +02:00
Nicolas Grekas
e69f9dbc25 Merge branch '3.4'
* 3.4:
  Fix phpunit bridge
  [Form] [TwigBridge] Added option to disable usage of default themes when rendering a form
2017-10-13 18:40:22 +02:00
Tobias Nyholm
7da052f18f
Updated the source text and translation 2017-10-13 09:35:47 -07:00
Edi Modrić
e0681f9955 [Form] [TwigBridge] Added option to disable usage of default themes when rendering a form 2017-10-13 16:30:18 +02:00
Fabien Potencier
4ebd60f7f9 bug #24536 [Security] Reject remember-me token if UserCheckerInterface::checkPostAuth() fails (kbond)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] Reject remember-me token if UserCheckerInterface::checkPostAuth() fails

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

I think this is a security hole - a user can remain logged in with a remember me cookie even though they can no longer pass `UserCheckInterface::checkPostAuth()` (could be disabled).

This is a small BC break but shouldn't be an issue as I think it is a bug. I don't think this requires a BC layer but if so, I can add.

Commits
-------

fe190b6ee9 reject remember-me token if user check fails
2017-10-13 06:42:43 -07:00
Nicolas Grekas
4198ad3f88 Merge branch '3.4'
* 3.4:
  [TwigBridge] fix BC for FormExtension if renderer is FormRenderer
  [Form] Fix 5.5 compatibility for ResizeFormListener
  [BrowserKit] Handle deprecations triggered in insulated requests
  [Bridge\PhpUnit] Handle deprecations triggered in separate processes
  Fix LogLevel::DEBUG as min level
  [Validator] added magic method __isset()  to File Constraint class
  Support array of types in allowed type
  [DI] Fix possible incorrect php-code when dumped strings contains newlines
  [Translation] minor: remove unused variable in test
  added ability to handle parent classes for PropertyNormalizer
  replace parameters in dummy identity translator
  never match invalid IP addresses
2017-10-13 15:37:53 +02:00
Nicolas Grekas
2c18da709f Merge branch '3.3' into 3.4
* 3.3:
  [BrowserKit] Handle deprecations triggered in insulated requests
  [Bridge\PhpUnit] Handle deprecations triggered in separate processes
  [Validator] added magic method __isset()  to File Constraint class
  [DI] Fix possible incorrect php-code when dumped strings contains newlines
  [Translation] minor: remove unused variable in test
  never match invalid IP addresses
2017-10-13 15:33:47 +02:00
Nicolas Grekas
17b48edebc Merge branch '2.8' into 3.3
* 2.8:
  [Validator] added magic method __isset()  to File Constraint class
  [DI] Fix possible incorrect php-code when dumped strings contains newlines
  [Translation] minor: remove unused variable in test
  never match invalid IP addresses
2017-10-13 15:32:37 +02:00
Nicolas Grekas
d04c0ea45b Merge branch '2.7' into 2.8
* 2.7:
  [Validator] added magic method __isset()  to File Constraint class
  [DI] Fix possible incorrect php-code when dumped strings contains newlines
  [Translation] minor: remove unused variable in test
  never match invalid IP addresses
2017-10-13 15:30:20 +02:00
Fabien Potencier
f53229c236 bug #24541 [Form] Fix 5.5 compatibility for ResizeFormListener (yceruto)
This PR was squashed before being merged into the 3.4 branch (closes #24541).

Discussion
----------

[Form] Fix 5.5 compatibility for ResizeFormListener

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

531b294b21/src/Symfony/Component/Form/Extension/Core/EventListener/ResizeFormListener.php (L152-L157)

Issue description: http://php.net/manual/en/language.types.callable.php#117260 (https://3v4l.org/oOoAV)

Commits
-------

ee70361e53 [Form] Fix 5.5 compatibility for ResizeFormListener
2017-10-13 06:25:58 -07:00
Yonel Ceruto
ee70361e53 [Form] Fix 5.5 compatibility for ResizeFormListener 2017-10-13 06:25:48 -07:00
Nicolas Grekas
ca0fedd9e3 [BrowserKit] Handle deprecations triggered in insulated requests 2017-10-13 15:21:24 +02:00
den
e0d8ce4403 Fix LogLevel::DEBUG as min level 2017-10-12 15:00:23 -07:00
loru88
9efb76572a [Validator] added magic method __isset() to File Constraint class 2017-10-12 14:44:30 -07:00
den
f15da8075f Fix LogLevel::DEBUG as min level 2017-10-12 20:40:40 +03:00
Pierre du Plessis
d066a23860 Support array of types in allowed type 2017-10-12 18:27:27 +02:00
Artur Eshenbrener
345f2fc60e [DI] Fix possible incorrect php-code when dumped strings contains newlines 2017-10-12 17:34:26 +02:00
Kevin Bond
fe190b6ee9
reject remember-me token if user check fails 2017-10-12 11:00:29 -04:00
Kévin Dunglas
c6ed0e4f86
[Translation] minor: remove unused variable in test 2017-10-12 09:08:46 +02:00
Fabien Potencier
0f5e38c732 feature #24321 added ability to handle parent classes for PropertyNormalizer (ivoba)
This PR was squashed before being merged into the 3.4 branch (closes #24321).

Discussion
----------

added ability to handle parent classes for PropertyNormalizer

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | yes <!-- don't forget updating src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget updating UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | #24152 <!-- #-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 3.4,
  legacy code removals go to the master branch.
- Please fill in this template according to the PR you're about to submit.
- Replace this comment by a description of what your PR is solving.
-->

This adds the ability for PropertyNormalizer to normalize/denormalize properties from parent classes.

Commits
-------

5ecafc5e25 added ability to handle parent classes for PropertyNormalizer
2017-10-11 08:25:57 -07:00
Ivo Bathke
5ecafc5e25 added ability to handle parent classes for PropertyNormalizer 2017-10-11 08:25:53 -07:00
Nicolas Grekas
8606c155cc Merge branch '3.4'
* 3.4:
  implement reset() in DumpDataCollector
  [Console][HttpKernel] Handle new SHELL_VERBOSITY, also configures the default logger
2017-10-11 10:25:05 +02:00
Christian Flothmann
cd602d691a implement reset() in DumpDataCollector 2017-10-11 09:28:13 +02:00
Fabien Potencier
6231acc8e8 feature #24425 [Console][HttpKernel] Handle new SHELL_VERBOSITY env var, also configures the default logger (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console][HttpKernel] Handle new SHELL_VERBOSITY env var, also configures the default logger

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

On the CLI, the behavior of the new default logger is not nice: it's verbosity is controlled by `kernel.debug`, where I would expect to be able to control it by mean of verbosity.
To achieve this, I propose to handle a new `SHELL_VERBOSITY` env var, and use it to control both commands' verbosity, and the logger's log level.

Commits
-------

87bd741f2d [Console][HttpKernel] Handle new SHELL_VERBOSITY, also configures the default logger
2017-10-10 10:53:03 -07:00
Fabien Potencier
a71fadccbb feature #24503 [MonologBridge][EventDispatcher][HttpKernel] remove deprecated features (xabbuh)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[MonologBridge][EventDispatcher][HttpKernel] remove deprecated features

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

Commits
-------

d762dd1dc6 remove deprecated features
2017-10-10 10:37:27 -07:00
Fabien Potencier
da25d444e9 bug #24502 [HttpFoundation] never match invalid IP addresses (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpFoundation] never match invalid IP addresses

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

Commits
-------

8ad32f0ef5 never match invalid IP addresses
2017-10-10 10:31:42 -07:00
Nicolas Grekas
30a3edbb34 Merge branch '3.4'
* 3.4:
  fix (ter)
2017-10-10 19:28:40 +02:00
Nicolas Grekas
2e3d422c4d fix (ter) 2017-10-10 19:27:52 +02:00
Nicolas Grekas
773be7fff6 Merge branch '3.4'
* 3.4:
  fix
2017-10-10 19:20:12 +02:00
Nicolas Grekas
7b3f4e8594 fix 2017-10-10 19:19:34 +02:00
Nicolas Grekas
990917fe30 Merge branch '3.4'
* 3.4:
  Skip tests affected by PHP bug 75354
  fix deps
  fix PHP 7.2 compatibility
  [Form] Fix error message in circular reference dependencies check
2017-10-10 19:12:22 +02:00
Nicolas Grekas
7a5985526f Skip tests affected by PHP bug 75354 2017-10-10 19:08:27 +02:00
Nicolas Grekas
2ab092034b Merge branch '3.4'
* 3.4:
  fix merge
  fix merge
  [FORM] Prevent forms from extending itself as a parent
  fix merge
  Fix 7.2 compat layer
  [DI] Prefixed env vars and load time inlining are incompatible
  bug #24499 [Bridge\PhpUnit] Fix infinite loop when running isolated method (bis) (nicolas-grekas)
  Fix PHP 7.2 support
  [HttpFoundation] Add missing session.lazy_write config option
  [DI] Exclude inline services declared in XML from autowiring candidates
  [HttpFoundation] Combine Cache-Control headers
  [Form] fix parsing invalid floating point numbers
  Escape command usage when displaying it in the text descriptor
  [DI] Throw accurate failures when accessing removed services
  [DI] Turn private defs to non-public ones before removing passes
  Use for=ID on radio/checkbox label.
2017-10-10 16:32:10 +02:00
Christian Flothmann
113554c835 Merge branch '3.3' into 3.4
* 3.3:
  fix PHP 7.2 compatibility
2017-10-10 16:02:56 +02:00
Christian Flothmann
2d2022cc11 fix PHP 7.2 compatibility
* the `phpdocumentor/type-resolver` package was not PHP 7.2 compatible
  before release 0.2.1 (see see phpDocumentor/TypeResolver@e224fb2)
* the validator must not call `get_class()` if no object but a class
  name was passed to the `validatePropertyValue()` method
2017-10-10 15:45:28 +02:00
Pierre du Plessis
48eb43daed [Form] Fix error message in circular reference dependencies check 2017-10-10 13:20:13 +02:00
Christian Flothmann
d762dd1dc6 remove deprecated features 2017-10-10 13:05:33 +02:00
Nicolas Grekas
d3bc436cd2 Merge branch '3.3' into 3.4
* 3.3:
  fix merge
  fix merge
  fix merge
  Fix 7.2 compat layer
  Fix PHP 7.2 support
  [HttpFoundation] Add missing session.lazy_write config option
  [HttpFoundation] Combine Cache-Control headers
  [Form] fix parsing invalid floating point numbers
  Escape command usage when displaying it in the text descriptor
  Use for=ID on radio/checkbox label.
2017-10-10 12:38:39 +02:00
Nicolas Grekas
9719fba0ab fix merge 2017-10-10 12:34:18 +02:00
Nicolas Grekas
01c50eb070 Merge branch '2.8' into 3.3
* 2.8:
  fix merge
  Fix 7.2 compat layer
  Fix PHP 7.2 support
  [HttpFoundation] Add missing session.lazy_write config option
  [HttpFoundation] Combine Cache-Control headers
  [Form] fix parsing invalid floating point numbers
  Escape command usage when displaying it in the text descriptor
  Use for=ID on radio/checkbox label.
2017-10-10 12:12:32 +02:00
Pierre du Plessis
2ee6fd54e1 [FORM] Prevent forms from extending itself as a parent 2017-10-10 12:07:08 +02:00
Nicolas Grekas
e71c4f71f5 fix merge 2017-10-10 12:05:53 +02:00
Christian Flothmann
8ad32f0ef5 never match invalid IP addresses 2017-10-10 10:04:23 +02:00
Nicolas Grekas
d7b3a6234a Merge branch '2.7' into 2.8
* 2.7:
  Fix 7.2 compat layer
  Fix PHP 7.2 support
  [HttpFoundation] Add missing session.lazy_write config option
  [HttpFoundation] Combine Cache-Control headers
  [Form] fix parsing invalid floating point numbers
  Escape command usage when displaying it in the text descriptor
  Use for=ID on radio/checkbox label.
2017-10-10 09:42:03 +02:00
Fabien Potencier
aaa5999131 bug #24460 [Form] fix parsing invalid floating point numbers (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] fix parsing invalid floating point numbers

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

Should make AppVeyor builds pass again. Code borrowed from `NumberToLocalizedStringTransformer`.

Commits
-------

042eac4624 [Form] fix parsing invalid floating point numbers
2017-10-09 21:27:06 -07:00
Fabien Potencier
2392798ed6 bug #24490 [HttpFoundation] Combine Cache-Control headers (c960657)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpFoundation] Combine Cache-Control headers

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

If multiple `Cache-Control` headers are added to a `ResponseHeaderBag`, only the first is returned by `$bag->get('Cache-Control')`.

Commits
-------

1f76a70b6f [HttpFoundation] Combine Cache-Control headers
2017-10-09 21:24:00 -07:00
Fabien Potencier
d48bcbfcf6 feature #24484 [DI] Throw accurate failures when accessing removed services (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Throw accurate failures when accessing removed services

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

See linked issue.
This will throw a useful message when accessing a removed service.
When setting a removed service, a deprecation notice will be thrown also so that in master we can throw an exception then.

Commits
-------

fe7f26d4f3 [DI] Throw accurate failures when accessing removed services
2017-10-09 21:07:35 -07:00
Fabien Potencier
5904d34125 bug #24488 [DI] Prefixed env vars and load time inlining are incompatible (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Prefixed env vars and load time inlining are incompatible

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

That's because env var processors are not registered yet.

Commits
-------

91c9287c55 [DI] Prefixed env vars and load time inlining are incompatible
2017-10-09 21:05:35 -07:00
Fabien Potencier
7f899a965a bug #24468 [DI] Turn private defs to non-public ones before removing passes (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Turn private defs to non-public ones before removing passes

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

As spotted by @stof in https://github.com/symfony/symfony/issues/24465#issuecomment-334786670.

Commits
-------

e5d0934b87 [DI] Turn private defs to non-public ones before removing passes
2017-10-09 21:03:01 -07:00
Fabien Potencier
5fd0fe6631 bug #23711 Fix support for PHP 7.2 (Simperfit, nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

Fix support for PHP 7.2

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

There are still the deprecation problem with phpunit since it use `each()`.

There are 3 tests linked to session that I don't know how to fix / what to do, do you have any idea @nicolas-grekas ?

Commits
-------

fdf285b5c9 Fix 7.2 compat layer
e229dd0302 Fix PHP 7.2 support
2017-10-09 21:00:26 -07:00
Nicolas Grekas
fdf285b5c9 Fix 7.2 compat layer 2017-10-09 20:05:34 +02:00
Nicolas Grekas
91c9287c55 [DI] Prefixed env vars and load time inlining are incompatible 2017-10-09 19:43:01 +02:00
Fabien Potencier
592c8fe72a minor #24495 Remove unnecessary condition; (243083df)
This PR was merged into the 4.0-dev branch.

Discussion
----------

Remove unnecessary condition;

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

f09f0ae7ba Remove unnecessary condition;
2017-10-09 10:15:01 -07:00
Fabien Potencier
f756fb8b5b bug #24491 [DI] Exclude inline services declared in XML from autowiring candidates (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Exclude inline services declared in XML from autowiring candidates

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

As reported in #24311, inline services should not be candidates for autowiring.
This PR fixes the issue, but is submitted against 3.4 because there is a potential BC break here, for ppl that didn't realize they relied on this (already deprecated) behavior.
We *could* not merge this PR and consider the deprecation is fine - but in practice, the WTF is hitting several ppl already AFAIK, so we should close that door IMHO.

Commits
-------

d90e7212ea [DI] Exclude inline services declared in XML from autowiring candidates
2017-10-09 10:13:32 -07:00
Nicolas Grekas
7c63eaee5c Merge branch '3.4'
* 3.4:
  [Bridge\PhpUnit] Fix infinite loop when running isolated method
  remove unused fixtures file
  parse references on merge keys with objects
2017-10-09 16:53:01 +02:00
Nicolas Grekas
92f621fcf7 Merge branch '3.3' into 3.4
* 3.3:
  [Bridge\PhpUnit] Fix infinite loop when running isolated method
  remove unused fixtures file
  parse references on merge keys with objects
2017-10-09 16:52:13 +02:00
Amrouche Hamza
e229dd0302 Fix PHP 7.2 support 2017-10-09 12:03:31 +02:00
243083df
f09f0ae7ba Remove unnecessary condition; 2017-10-09 13:31:38 +04:00
Nicolas Grekas
dbc9a44333 [HttpFoundation] Add missing session.lazy_write config option 2017-10-09 11:21:24 +02:00
Nicolas Grekas
3c05652270 Merge branch '3.4'
* 3.4:
  Clarify the exceptions are going to be rendered just after
  [DI] Remove colon from env placeholders
  fixed CS
  [Yaml] initialize inline line numbers
  [Workflow] Added tests for the is_valid() guard expression
  [Workflow] Added guard 'is_valid()' method support
  Add & use OptionResolverIntrospector
  Add debug:form type option
2017-10-09 10:45:52 +02:00
Fabien Potencier
61cda3e6cd feature #24208 [Form] Display option definition from a given form type (yceruto, ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form] Display option definition from a given form type

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes (deps=high failure expected)
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

![debug-form-option](https://user-images.githubusercontent.com/2028198/30569305-12a30738-9ca8-11e7-98b7-6eaf78d3d5a7.png)

Show friendly message if typo:
![debug-form-not-found](https://user-images.githubusercontent.com/2028198/30450999-83d58b56-9960-11e7-8705-b60ba33baf48.png)

complement of https://github.com/symfony/symfony/pull/24185

Commits
-------

d6d187d26e Add & use OptionResolverIntrospector
8bbb5e7884 Add debug:form type option
2017-10-08 18:27:15 -07:00
Fabien Potencier
7b933ababf feature #22228 [HttpKernel] minor: add ability to construct with headers on http exceptions (gsdevme)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[HttpKernel] minor: add ability to construct with headers on http exceptions

| 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 adds the ability to set the headers for the exception within the constructor.

With alot of the following exceptions its sometimes very useful to be able to set the headers. For example with a reverse proxy cache (Varnish) if you want to match the `Retry-After` with a Varnish cache header to protect the backend.

I see that `setHeaders()` did get added 6a1080f899 but that means the exception needs to be assigned to a variable and set and then thrown, it also doesn't merge with the existing header set in some of the constructors.

~~I've chosen to `array_merge()` where key/values~~ were being set within the constructor as I think this is the most useful and 'correct' whereas `setHeaders` is explicit that its setting not amending or adding to.

Commits
-------

612fb59b32 [HttpKernel] minor: add ability to construct with headers on http exceptions
2017-10-08 16:42:21 -07:00
Nicolas Grekas
d90e7212ea [DI] Exclude inline services declared in XML from autowiring candidates 2017-10-08 16:39:03 +02:00
Christian Schmidt
1f76a70b6f [HttpFoundation] Combine Cache-Control headers 2017-10-08 16:27:20 +02:00
Christian Flothmann
042eac4624 [Form] fix parsing invalid floating point numbers 2017-10-08 14:45:17 +02:00
Samuel ROZE
2141056471
Escape command usage when displaying it in the text descriptor 2017-10-08 13:00:23 +01:00
Nicolas Grekas
dca930f579 [DI] Remove colon from env placeholders 2017-10-08 11:22:35 +02:00
243083df
79978dba05 Replace function chain to a single call. 2017-10-08 02:59:09 +04:00
Nicolas Grekas
fe7f26d4f3 [DI] Throw accurate failures when accessing removed services 2017-10-07 23:38:34 +02:00
Nicolas Grekas
e5d0934b87 [DI] Turn private defs to non-public ones before removing passes 2017-10-07 10:21:26 +02:00
Christian Flothmann
ade7c90589 drop non-existent working directory support 2017-10-06 18:19:45 +02:00
Fabien Potencier
7ffd22b050 minor #24466 [DependencyInjection] remove unused fixtures file (xabbuh)
This PR was merged into the 3.3 branch.

Discussion
----------

[DependencyInjection] remove unused fixtures file

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

I was wondering why the conflict markers in the `master` branch (see b6e9471ded/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services31.php (L43-L52)) did not cause any issues. Turned out that this fixtures file was not used anymore (it was only partially removed in #23022).

Commits
-------

3702e5ff37 remove unused fixtures file
2017-10-06 08:53:44 -07:00
Fabien Potencier
13d75a4adb feature #23499 [Workflow] add guard is_valid() method support (alain-flaus, lyrixx)
This PR was merged into the 3.4 branch.

Discussion
----------

[Workflow] add guard is_valid() method support

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

Workflow guard configuration support expression language like **is_fully_authenticated()**, **has_role()** or **is_granted()**, etc...
I would like to add the support for a new **is_valid()** expression.
Configuration allow to validate subject against specific validation groups to check if a transition can be applied.

In the next configuration exemple, my issue must validate "affectable" validation group to apply "affect" transistion:

```yaml
framework:
    workflows:
        issue:
            marking_store:
                type: single_state
                arguments:
                    - state
            supports: AppBundle\Entity\Issue
            initial_place: created
            places:
                - created
                - affected
                - closed
            transitions:
                affect:
                    guard: "is_valid(subject, ['affectable'])"
                    from: created
                    to:   affected
                close:
                    from: completed
                    to: closed
```

Commits
-------

06d8198714 [Workflow] Added tests for the is_valid() guard expression
9499bc291c [Workflow] Added guard 'is_valid()' method support
2017-10-06 08:47:04 -07:00
Christian Flothmann
3702e5ff37 remove unused fixtures file 2017-10-06 17:17:51 +02:00
Christian Flothmann
33d2aa5382 [Yaml] initialize inline line numbers
Without this change, tests from `InlineTest` cannot be executed
standalone as the parsed line number would never be initialized.
2017-10-06 08:16:57 -07:00
Christian Flothmann
45dd40cde8 remove deprecated features 2017-10-06 14:47:08 +02:00
Christian Flothmann
ce10f356a3 parse references on merge keys with objects 2017-10-06 14:26:09 +02:00
Christian Flothmann
0ab92ece1f Merge branch '3.4'
* 3.4: (26 commits)
  bumped Symfony version to 3.3.11
  updated VERSION for 3.3.10
  updated CHANGELOG for 3.3.10
  bumped Symfony version to 2.8.29
  updated VERSION for 2.8.28
  updated CHANGELOG for 2.8.28
  bumped Symfony version to 2.7.36
  updated VERSION for 2.7.35
  update CONTRIBUTORS for 2.7.35
  updated CHANGELOG for 2.7.35
  Added deprecation to cwd not existing Fixes #18249
  [Session] fix MongoDb session handler to gc all expired sessions
  Add changelog for deprecated DbalSessionHandler
  [Security] Look at headers for switch user username parameter
  Updated Test name and exception name to be more accurate
  newline at end of file
  changed exception message
  Ahh, I see.  It actually wants a newline!
  Removed newline
  Created new Exception to throw and modified tests.
  ...
2017-10-06 11:34:09 +02:00
Christian Flothmann
a165f1bc08 Merge branch '3.3' into 3.4
* 3.3: (23 commits)
  bumped Symfony version to 3.3.11
  updated VERSION for 3.3.10
  updated CHANGELOG for 3.3.10
  bumped Symfony version to 2.8.29
  updated VERSION for 2.8.28
  updated CHANGELOG for 2.8.28
  bumped Symfony version to 2.7.36
  updated VERSION for 2.7.35
  update CONTRIBUTORS for 2.7.35
  updated CHANGELOG for 2.7.35
  [Session] fix MongoDb session handler to gc all expired sessions
  Updated Test name and exception name to be more accurate
  newline at end of file
  changed exception message
  Ahh, I see.  It actually wants a newline!
  Removed newline
  Created new Exception to throw and modified tests.
  Created new Exception to throw and modified tests
  Code standard fixes
  Changed automatic token generation to throw an exception instead
  ...
2017-10-06 11:16:43 +02:00
Grégoire Pineau
06d8198714 [Workflow] Added tests for the is_valid() guard expression 2017-10-06 10:14:03 +02:00
Alain Flaus
9499bc291c [Workflow] Added guard 'is_valid()' method support 2017-10-06 10:13:24 +02:00
Fabien Potencier
bf0e6f6565 bumped Symfony version to 3.3.11 2017-10-05 17:17:10 -07:00
Fabien Potencier
8fc46c7bb3 updated VERSION for 3.3.10 2017-10-05 16:40:19 -07:00
Fabien Potencier
81517602fa bumped Symfony version to 2.8.29 2017-10-05 16:35:26 -07:00
Fabien Potencier
ebf0c076fa updated VERSION for 2.8.28 2017-10-05 16:24:02 -07:00
Fabien Potencier
307ddb92a4 Merge branch '2.8' into 3.3
* 2.8:
  bumped Symfony version to 2.7.36
  updated VERSION for 2.7.35
  update CONTRIBUTORS for 2.7.35
  updated CHANGELOG for 2.7.35
  [Session] fix MongoDb session handler to gc all expired sessions
2017-10-05 16:10:23 -07:00
Fabien Potencier
0c8043a7d6 feature #24388 [Security] Look at headers for switch_user username (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] Look at headers for switch_user username

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

Allowing `switch_user.parameter` config node to be a header name.
It's supported by SwitchUserStatelessBundle and I think it makes sense.
Forgotten in #24260 so targets 3.4 but not a blocker.

Commits
-------

3c801951c8 [Security] Look at headers for switch user username parameter
2017-10-05 16:07:43 -07:00
Fabien Potencier
c4282be820 Merge branch '2.7' into 2.8
* 2.7:
  bumped Symfony version to 2.7.36
  updated VERSION for 2.7.35
  update CONTRIBUTORS for 2.7.35
  updated CHANGELOG for 2.7.35
  [Session] fix MongoDb session handler to gc all expired sessions
2017-10-05 16:06:47 -07:00
Fabien Potencier
dd490af864 bumped Symfony version to 2.7.36 2017-10-05 16:05:57 -07:00
Fabien Potencier
2c907d5156 updated VERSION for 2.7.35 2017-10-05 15:51:51 -07:00
Fabien Potencier
9568fae01f bug #23906 Added support for guards when advancing workflow from a command (GDIBass)
This PR was merged into the 3.3 branch.

Discussion
----------

Added support for guards when advancing workflow from a command

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

Added support for advancing a workflow from the command line when the transition has guards.

Commits
-------

15fd863112 Updated Test name and exception name to be more accurate
fefc20233b newline at end of file
8f2fa6b047 changed exception message
49839e3c28 Ahh, I see.  It actually wants a newline!
2c9d1e2d42 Removed newline
92308b4815 Created new Exception to throw and modified tests.
2ebc71a616 Created new Exception to throw and modified tests
3a8b2eded1 Code standard fixes
22b44e251f Changed automatic token generation to throw an exception instead
8ab59cb1c2 Updated if statement
324c208e12 Code standards update
b044ffb4a2 Added support for guards when advancing workflow from a command
2017-10-05 15:37:15 -07:00
Fabien Potencier
e70abe8ed6 feature #24447 [Session] remove deprecated session handlers (Tobion)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[Session] remove deprecated session handlers

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

Removes deprecated session handler from #24389, #24438 and #24443

Commits
-------

0a7af3fb50 [Session] remove deprecated session handlers
2017-10-05 15:30:57 -07:00
Fabien Potencier
75fe1fc129 feature #24446 [Security] Remove GuardAuthenticatorInterface (chalasr)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[Security] Remove GuardAuthenticatorInterface

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

Removes BC layers for #16835.

Commits
-------

3408152365 [Security][Guard] Remove GuardAuthenticatorInterface
2017-10-05 15:29:17 -07:00
Fabien Potencier
87712e4006 feature #23708 Added deprecation to cwd not existing Fixes #18249 (alexbowers)
This PR was squashed before being merged into the 3.4 branch (closes #23708).

Discussion
----------

Added deprecation to cwd not existing Fixes #18249

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

Commits
-------

261eae970f Added deprecation to cwd not existing Fixes #18249
2017-10-05 15:24:36 -07:00
Alex Bowers
261eae970f Added deprecation to cwd not existing Fixes #18249 2017-10-05 15:24:30 -07:00
Tobias Schultze
e6895bfac5 [Session] fix MongoDb session handler to gc all expired sessions 2017-10-05 21:04:13 +02:00
Robin Chalas
3408152365 [Security][Guard] Remove GuardAuthenticatorInterface 2017-10-05 20:06:17 +02:00
Tobias Schultze
0a7af3fb50 [Session] remove deprecated session handlers 2017-10-05 20:06:14 +02:00
Tobias Schultze
0958fc442f Merge branch '3.4' 2017-10-05 18:58:28 +02:00
Fabien Potencier
855971a22e feature #24443 [Session] deprecate MemcacheSessionHandler (Tobion)
This PR was merged into the 3.4 branch.

Discussion
----------

[Session] deprecate MemcacheSessionHandler

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

memcache extension didn't get a release since 4.5 years and is not compatible with PHP 7. see https://pecl.php.net/package/memcache
also the cache and lock components only provide adapters for memcached as well, no memcache

Commits
-------

989326b988 [Session] deprecate MemcacheSessionHandler
2017-10-05 09:22:12 -07:00
Tobias Schultze
989326b988 [Session] deprecate MemcacheSessionHandler
memcache extension didn't get a release since 4.5 years and is not compatible with PHP 7
2017-10-05 17:58:33 +02:00
Nicolas Grekas
51a1b57c67 fix merge 2017-10-05 17:24:04 +02:00
Nicolas Grekas
522d079110 Merge branch '3.4'
* 3.4:
  [Bridge\Doctrine][FrameworkBundle] Deprecate some remaining uses of ContainerAwareTrait
  [FrameworkBundle] Fix bad interface hint in AbstractController
  [VarDumper] deprecate MongoCaster
  [HttpFoundation] deprecate using  with the legacy mongo extension; use it with the mongodb/mongodb package and ext-mongodb instead
  Fix BC layer
  Reset profiler.
  [DI] Improve some deprecation messages
  [DI] remove inheritdoc from dumped container
  [Config] Fix dumped files invalidation by OPCache
  [Security] Add Guard authenticator <supports> method
  [Cache] Fix race condition in TagAwareAdapter
  [DI] Allow setting any public non-initialized services
  [Yaml] parse references on merge keys
  treat trailing backslashes in multi-line strings
  [FrameworkBundle] Expose dotenv in bin/console about
  fix refreshing line numbers for the inline parser
  fix version in changelog
  [FrameworkBundle] Make Controller helpers final
  [DoctrineBridge] Deprecate DbalSessionHandler
2017-10-05 17:11:25 +02:00
Nicolas Grekas
c674bd7613 Merge branch '3.3' into 3.4
* 3.3:
  [FrameworkBundle] Fix bad interface hint in AbstractController
  [DI] Improve some deprecation messages
  [Cache] Fix race condition in TagAwareAdapter
  [Yaml] parse references on merge keys
  treat trailing backslashes in multi-line strings
2017-10-05 16:46:27 +02:00
Nicolas Grekas
01644c5ff3 Merge branch '2.8' into 3.3
* 2.8:
  [Yaml] parse references on merge keys
2017-10-05 16:43:42 +02:00
Nicolas Grekas
4e897a22cb Merge branch '2.7' into 2.8
* 2.7:
  [Yaml] parse references on merge keys
2017-10-05 16:38:30 +02:00
Fabien Potencier
71ed4329b1 feature #24409 [Bridge\Doctrine][FrameworkBundle] Deprecate some remaining uses of ContainerAwareTrait (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Bridge\Doctrine][FrameworkBundle] Deprecate some remaining uses of ContainerAwareTrait

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

With this PR, the last two remaining uses of ContainerAwareTrait will be `Symfony\Component\HttpKernel\Bundle\Bundle` and `Symfony\Bundle\FrameworkBundle\Controller\Controller`.
For Bundle, I think it's legitimate, for Controller, I think it's not, but that we should wait for 4.1 before considering its deprecation, alongside with `ContainerAwareCommand` (maybe).

Commits
-------

df9c8748e3 [Bridge\Doctrine][FrameworkBundle] Deprecate some remaining uses of ContainerAwareTrait
2017-10-05 07:35:32 -07:00
Nicolas Grekas
df9c8748e3 [Bridge\Doctrine][FrameworkBundle] Deprecate some remaining uses of ContainerAwareTrait 2017-10-05 16:01:01 +02:00
Fabien Potencier
ee9786ac9e feature #24438 [Session][VarDumper] Deprecate accepting legacy mongo extension (Tobion)
This PR was squashed before being merged into the 3.4 branch (closes #24438).

Discussion
----------

[Session][VarDumper] Deprecate accepting legacy mongo extension

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

The old ext-mongo is deprecated and does not work with PHP 7. See http://php.net/manual/en/mongo.setup.php
People should use mongodb/mongodb and ext-mongodb instead. This deprecates functionality using the old ext-mongo classes.

Commits
-------

d535ff60c2 [VarDumper] deprecate MongoCaster
6651af07c2 [HttpFoundation] deprecate using  with the legacy mongo extension; use it with the mongodb/mongodb package and ext-mongodb instead
2017-10-05 05:52:23 -07:00
Fabien Potencier
7c74f09adf minor #24395 [Process] Removed dead code in the start method (lyrixx)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[Process] Removed dead code in the start method

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

1eee2a461c [Process] Removed dead code in the start method
2017-10-05 05:40:59 -07:00
Fabien Potencier
fc9acad46e bug #24419 [Cache] Fix race condition in TagAwareAdapter (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[Cache] Fix race condition in TagAwareAdapter

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

This code is not needed, and might create a race condition (see linked issue). Let's drop it.
When no tags are set on an item, this stores an empty tags array, instead of deleting the tags array entry at all.

Commits
-------

fa24fa8a3c [Cache] Fix race condition in TagAwareAdapter
2017-10-05 05:37:15 -07:00
Tobias Schultze
d535ff60c2 [VarDumper] deprecate MongoCaster 2017-10-05 14:34:03 +02:00
Fabien Potencier
417ec3a49c minor #24423 [DI] Improve some deprecation messages (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[DI] Improve some deprecation messages

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

To improve DX.

Commits
-------

3e8076023d [DI] Improve some deprecation messages
2017-10-05 05:32:56 -07:00
Fabien Potencier
cb14798178 bug #24417 [Yaml] parse references on merge keys (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Yaml] parse references on merge keys

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

Commits
-------

dab72ab9a9 [Yaml] parse references on merge keys
2017-10-05 05:28:15 -07:00
Tobias Schultze
6651af07c2 [HttpFoundation] deprecate using with the legacy mongo extension; use it with the mongodb/mongodb package and ext-mongodb instead 2017-10-05 14:27:30 +02:00
Fabien Potencier
16107510cb bug #24416 [Yaml] treat trailing backslashes in multi-line strings (xabbuh)
This PR was merged into the 3.3 branch.

Discussion
----------

[Yaml] treat trailing backslashes in multi-line strings

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

Commits
-------

80af9b8562 treat trailing backslashes in multi-line strings
2017-10-05 05:22:24 -07:00
Fabien Potencier
02b77f54fb feature #16835 [Security] Add Guard authenticator <supports> method (Amo, chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] Add Guard authenticator <supports> method

This method will be called before starting an authentication against a guard authenticator.
The authentication will be tried only if the supports method returned `true`
This improves understanding of code, increase consistency and removes responsability for `getCredentials` method to decide if the current request should be supported or not.

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

Commits
-------

78eecba780 Fix BC layer
a7a6f8a678 [Security] Add Guard authenticator <supports> method
2017-10-05 05:19:50 -07:00
Robin Chalas
78eecba780 Fix BC layer 2017-10-05 13:44:36 +02:00
Alexander M. Turek
8c39bf7845 Reset profiler. 2017-10-05 12:20:28 +02:00
Fabien Potencier
d6b68e19e5 Merge branch '3.3' into 3.4
* 3.3:
  [Config] Fix dumped files invalidation by OPCache
  [DI] Allow setting any public non-initialized services
2017-10-04 11:58:07 -07:00
Fabien Potencier
0a963d2b4e Merge branch '2.8' into 3.3
* 2.8:
  [Config] Fix dumped files invalidation by OPCache
2017-10-04 11:56:58 -07:00
Fabien Potencier
8f41e336f2 Merge branch '2.7' into 2.8
* 2.7:
  [Config] Fix dumped files invalidation by OPCache
2017-10-04 11:56:36 -07:00
Nicolas Grekas
87bd741f2d [Console][HttpKernel] Handle new SHELL_VERBOSITY, also configures the default logger 2017-10-04 19:17:25 +02:00
Nicolas Grekas
3e8076023d [DI] Improve some deprecation messages 2017-10-04 19:15:30 +02:00
Tobias Schultze
d779845c3b [DI] remove inheritdoc from dumped container 2017-10-04 18:30:17 +02:00
Nicolas Grekas
b1290da21b [Config] Fix dumped files invalidation by OPCache 2017-10-04 11:33:55 +02:00
Amaury Leroux de Lens
a7a6f8a678 [Security] Add Guard authenticator <supports> method
This method will be called before starting an authentication against a guard authhenticator.
The authentication will be tried only if the supports method returned <true>
This improves understanding of code, increase consistency and removes responsability for <getCredentials> method
To decide if the current request should be supported or not.
2017-10-04 11:30:31 +02:00
Nicolas Grekas
fa24fa8a3c [Cache] Fix race condition in TagAwareAdapter 2017-10-04 09:58:49 +02:00
Nicolas Grekas
d314b1ff62 [DI] Allow setting any public non-initialized services 2017-10-04 09:45:46 +02:00
Christian Flothmann
dab72ab9a9 [Yaml] parse references on merge keys 2017-10-04 00:19:48 +02:00
Christian Flothmann
80af9b8562 treat trailing backslashes in multi-line strings 2017-10-03 23:07:44 +02:00
Fabien Potencier
0082981e41 bug #24405 [Intl] fix return type value (xabbuh)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[Intl] fix return type value

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

Commits
-------

0e1ce34102 [Intl] fix return type value
2017-10-03 11:15:26 -07:00
Fabien Potencier
c66ed68a4c bug #24410 [Yaml] fix refreshing line numbers for the inline parser (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Yaml] fix refreshing line numbers for the inline parser

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

Commits
-------

5518896c26 fix refreshing line numbers for the inline parser
2017-10-03 11:12:48 -07:00
Christian Flothmann
5518896c26 fix refreshing line numbers for the inline parser 2017-10-03 17:01:31 +02:00
Christian Flothmann
ed57e748dc fix version in changelog 2017-10-03 15:54:22 +02:00
Maxime Steinhausser
d6d187d26e Add & use OptionResolverIntrospector 2017-10-03 15:38:46 +02:00
Christian Flothmann
ddd6e69e54 Merge branch '3.4'
* 3.4:
  Show welcome message if no routing configuration could be found
  fix tests
2017-10-03 15:36:01 +02:00
Christian Flothmann
cfbe2ffec0 Merge branch '3.3' into 3.4
* 3.3:
  fix tests
2017-10-03 15:34:05 +02:00
Christian Flothmann
b87a395025 Merge branch '2.8' into 3.3
* 2.8:
  fix tests
2017-10-03 15:33:10 +02:00
Christian Flothmann
0e1ce34102 [Intl] fix return type value 2017-10-03 13:02:27 +02:00
Yonel Ceruto
8bbb5e7884 Add debug:form type option 2017-10-03 06:15:18 -04:00
Yonel Ceruto
e097ab3141 Show welcome message if no routing configuration could be found 2017-10-02 19:25:29 -04:00
Maxime Steinhausser
2ada55878a [DI] Remove AutowireExceptionPass 2017-10-02 18:13:45 +02:00
Nicolas Grekas
f2594d246b Merge branch '3.4'
* 3.4:
  [DI] Fix missing CHANGELOG update + typo
2017-10-02 16:55:52 +02:00
Nicolas Grekas
5e2f869033 minor #24399 [DI] Fix missing CHANGELOG update + typo (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Fix missing CHANGELOG update + typo

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see comment below -->
| 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 | #24290 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Commits
-------

f9aeee5 [DI] Fix missing CHANGELOG update + typo
2017-10-02 16:55:08 +02:00
Nicolas Grekas
70b8a8c38e Merge branch '3.4'
* 3.4:
  [Form] Add tel and color types
2017-10-02 15:01:28 +02:00
apetitpa
5b07ca7f2f [Form] Add tel and color types 2017-10-02 14:59:30 +02:00
Maxime Steinhausser
f9aeee5e63 [DI] Fix missing CHANGELOG update + typo 2017-10-02 14:00:46 +02:00
Grégoire Pineau
1eee2a461c [Process] Removed dead code in the start method 2017-10-02 11:26:59 +02:00
Nicolas Grekas
7d85ff27bd fix merge 2017-10-02 10:49:00 +02:00
Nicolas Grekas
fc6b9ec67e Merge branch '2.7' into 2.8
* 2.7:
  fix tests
2017-10-02 10:46:46 +02:00
Nicolas Grekas
817f594f48 fix tests 2017-10-02 10:43:16 +02:00
Nicolas Grekas
8b29dacc7f Merge branch '3.4'
* 3.4:
  fix tests
2017-10-02 09:56:19 +02:00
Nicolas Grekas
f86b4c43a3 fix tests 2017-10-02 09:56:07 +02:00
Nicolas Grekas
deee45ab4e Merge branch '3.4'
* 3.4:
  fix merge
  fix merge
  fix merge
  Fix in simple-phpunit script
2017-10-02 09:25:49 +02:00
Nicolas Grekas
7fa94dc846 fix merge 2017-10-02 09:25:00 +02:00
Nicolas Grekas
d6972d4233 Merge branch '3.3' into 3.4
* 3.3:
  fix merge
  Fix in simple-phpunit script
2017-10-02 09:23:43 +02:00
Nicolas Grekas
e36a69710e Merge branch '2.8' into 3.3
* 2.8:
  fix merge
2017-10-02 09:18:51 +02:00
Nicolas Grekas
ef4f532395 fix merge 2017-10-02 09:17:52 +02:00
Nicolas Grekas
90986f4502 fix merge 2017-10-02 09:00:01 +02:00
Nicolas Grekas
d3f3721715 Merge branch '3.4'
* 3.4: (33 commits)
  Remove remaining `@experimental` annotations
  Tests and fix for issue in array model data in EntityType field with multiple=true
  [Validator] Add unique entity violation cause
  [Lock] Automaticaly release lock when user forget it
  [Form] Fixed PercentToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible
  fixed CS
  [FrameworkBundle] Don't clear app pools on cache:clear
  Hide label button when its setted to false
  removed useless PHPDoc
  [HttpFoundation] Return instance in StreamedResponse
  [Form] Fix FormInterface::submit() annotation
  [PHPUnitBridge] don't remove when set to  empty string
  PdoSessionHandler: fix advisory lock for pgsql when session.sid_bits_per_character > 4
  HttpCache does not consider ESI resources in HEAD requests
  Fix translation for "This field was not expected"
  [Routing] Enhance Route(Collection) docblocks
  Added improvement for accuracy in MoneyToLocalizedStringTransformer.
  Removed unused private property
  Use correct verb form in the pull request template
  Use PHP_MAXPATHLEN in Filesystem.
  ...
2017-10-02 08:59:24 +02:00
Nicolas Grekas
fedcc91c8d Merge branch '3.3' into 3.4
* 3.3: (23 commits)
  Tests and fix for issue in array model data in EntityType field with multiple=true
  [Form] Fixed PercentToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible
  removed useless PHPDoc
  [Form] Fix FormInterface::submit() annotation
  [PHPUnitBridge] don't remove when set to  empty string
  PdoSessionHandler: fix advisory lock for pgsql when session.sid_bits_per_character > 4
  HttpCache does not consider ESI resources in HEAD requests
  Fix translation for "This field was not expected"
  [Routing] Enhance Route(Collection) docblocks
  Added improvement for accuracy in MoneyToLocalizedStringTransformer.
  Removed unused private property
  Use correct verb form in the pull request template
  Use PHP_MAXPATHLEN in Filesystem.
  Added null as explicit return type (?TokenInterface)
  [FrameworkBundle] Fix Routing\DelegatingLoader
  Render all line breaks according to the exception message
  [Form] Fix phpdoc
  [DI] remove confusing code
  [Form] Fixed GroupSequence with "constraints" option
  [Validator] Clarify UUID validator behavior
  ...
2017-10-02 08:49:52 +02:00
Nicolas Grekas
a707bbf090 Merge branch '2.8' into 3.3
* 2.8: (22 commits)
  Tests and fix for issue in array model data in EntityType field with multiple=true
  [Form] Fixed PercentToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible
  removed useless PHPDoc
  [Form] Fix FormInterface::submit() annotation
  PdoSessionHandler: fix advisory lock for pgsql when session.sid_bits_per_character > 4
  HttpCache does not consider ESI resources in HEAD requests
  Fix translation for "This field was not expected"
  [Routing] Enhance Route(Collection) docblocks
  Added improvement for accuracy in MoneyToLocalizedStringTransformer.
  Removed unused private property
  Use correct verb form in the pull request template
  Use PHP_MAXPATHLEN in Filesystem.
  Added null as explicit return type (?TokenInterface)
  [FrameworkBundle] Fix Routing\DelegatingLoader
  Render all line breaks according to the exception message
  [Form] Fix phpdoc
  [DI] remove confusing code
  [Form] Fixed GroupSequence with "constraints" option
  [Validator] Clarify UUID validator behavior
  [Filesystem] Fixed makePathRelative
  ...
2017-10-02 08:42:24 +02:00
Nicolas Grekas
d4cbc70c50 Merge branch '2.7' into 2.8
* 2.7: (22 commits)
  Tests and fix for issue in array model data in EntityType field with multiple=true
  [Form] Fixed PercentToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible
  removed useless PHPDoc
  [Form] Fix FormInterface::submit() annotation
  PdoSessionHandler: fix advisory lock for pgsql when session.sid_bits_per_character > 4
  HttpCache does not consider ESI resources in HEAD requests
  Fix translation for "This field was not expected"
  [Routing] Enhance Route(Collection) docblocks
  Added improvement for accuracy in MoneyToLocalizedStringTransformer.
  Removed unused private property
  Use correct verb form in the pull request template
  Use PHP_MAXPATHLEN in Filesystem.
  Added null as explicit return type (?TokenInterface)
  [FrameworkBundle] Fix Routing\DelegatingLoader
  Render all line breaks according to the exception message
  [Form] Fix phpdoc
  [DI] remove confusing code
  [Form] Fixed GroupSequence with "constraints" option
  [Validator] Clarify UUID validator behavior
  [Filesystem] Fixed makePathRelative
  ...
2017-10-01 23:00:16 +02:00
Nicolas Grekas
17a413876a Remove remaining @experimental annotations 2017-10-01 22:19:08 +02:00
Fabien Potencier
a11589f45c bug #23980 Tests and fix for issue in array model data in EntityType field with multiple=true (stoccc)
This PR was squashed before being merged into the 2.7 branch (closes #23980).

Discussion
----------

Tests and fix for issue in array model data in EntityType field with multiple=true

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

Provided some tests and the fix for #23927.
Rebased to 2.7, replaces #23930

Commits
-------

aaba6b4c2b Tests and fix for issue in array model data in EntityType field with multiple=true
2017-10-01 11:10:38 -07:00
stoccc
aaba6b4c2b Tests and fix for issue in array model data in EntityType field with multiple=true 2017-10-01 11:10:36 -07:00
Fabien Potencier
af384aeee0 feature #22132 [Lock] Automaticaly release lock when user forget it (jderusse)
This PR was squashed before being merged into the 3.4 branch (closes #22132).

Discussion
----------

[Lock] Automaticaly release lock when user forget it

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

The objective of this PR is to automatically release the Lock when the user forget to call the `release` method (like the `fclose` function does in, php core).
The implementation is comparable to #22115 but the purpose is not the same.

I create a new PR to not mix things.

Commits
-------

2eedc1fd37 [Lock] Automaticaly release lock when user forget it
2017-10-01 11:03:21 -07:00
Jérémy Derussé
2eedc1fd37 [Lock] Automaticaly release lock when user forget it 2017-10-01 11:03:19 -07:00
Fabien Potencier
a8d5359408 bug #22586 [Form] Fixed PercentToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible (aaa2000)
This PR was squashed before being merged into the 2.7 branch (closes #22586).

Discussion
----------

[Form] Fixed PercentToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible

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

<!--
- 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.
- Please fill in this template according to the PR you're about to submit.
- Replace this comment by a description of what your PR is solving.
-->

Implements the same behaviour that `NumberToLocalizedStringTransformer` in order to accept both comma and dot implemented in #5941

Commits
-------

f96a7f81b8 [Form] Fixed PercentToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible
2017-10-01 10:48:22 -07:00
adev
f96a7f81b8 [Form] Fixed PercentToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible 2017-10-01 10:48:20 -07:00
Fabien Potencier
8c35d91e7d feature #21751 Bootstrap4 support for Twig form theme (hiddewie, javiereguiluz)
This PR was merged into the 3.4 branch.

Discussion
----------

Bootstrap4 support for Twig form theme

**This PR is a followup from #19648. That PR was closed because GitHub thought my branch contained no commits after a force push...**

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

I have made a port of the Twig form theming code for Bootstrap 3 to the α-5 version of Bootstrap 4.
- The (inheritance) structure of the form theming files has changed because a number of blocks are the same between BS 3 and 4. They have been migrated to `bootstrap_base_layout.html.twig`.
  The new tree is as follows:

```
bootstrap_base_layout.html.twig
|-- bootstrap_3_layout.html.twig
|   `-- bootstrap_3_horizontal_layout.html.twig
`-- bootstrap_4_layout.html.twig
    `-- bootstrap_4_horizontal_layout.html.twig
```
- Any occurances of `.form-horizontal` have been removed from the BS 4 code.
- Checkboxes and radio buttons have been stacked using the `.form-check`, `.form-check-label` and `.form-check-input` classes. There is now no distinction between checkboxes and radio buttons in the markdown.
- All layout tests have been added and updated for BS4. The inheritance tree is as follows:

```
AbstractLayoutTest
`-- AbstractBootstrap3LayoutTest
    |-- AbstractBootstrap3HorizontalLayoutTest
    `-- AbstractBootstrap4LayoutTest
        `-- AbstractBootstrap4HorizontalLayoutTest
```

All tests pass. The classes `FormExtensionBootstrap4LayoutTest` and `FormExtensionBootstrap4HorizontalLayoutTest` have been created similarly to the BS 3 versions.
- ~~The label coloring on an validation is not correct. I've made an issue (twbs/bootstrap#20535) of the problem.~~
- No [custom form elements](http://v4-alpha.getbootstrap.com/components/forms/#custom-forms) have been used.
- A docs PR can be created if this PR is accepted.
- The new code might have to be updated if large changes occur in the BS 4 α.

Screenshot of BS3 and 4 comparison for the same form:

![1](https://cloud.githubusercontent.com/assets/1073881/17732594/dfcb50d6-6472-11e6-8e96-c46987809322.PNG)

Commits
-------

f12e5887ff Removed unneeded wrapping quotes around a Twig key
709f134dc8 Removed unneeded wrapping quotes around a Twig key
4222d54a53 Initial commit for Bootstrap 4 form theme, based on Bootstrap 3 form theme
2017-10-01 10:10:24 -07:00
Robin Chalas
3c801951c8 [Security] Look at headers for switch user username parameter 2017-10-01 13:42:23 +02:00
Fabien Potencier
f73d8d26b0 bug #24157 [Intl] Fixed support of Locale::getFallback (lyrixx)
This PR was merged into the 2.7 branch.

Discussion
----------

[Intl] Fixed support of Locale::getFallback

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

Commits
-------

256055218e [Intl] Fixed support of Locale::getFallback
2017-09-30 07:22:16 -07:00
Fabien Potencier
166f64efb1 bug #24198 [HttpFoundation] Fix file upload multiple with no files (enumag)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpFoundation] Fix file upload multiple with no files

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

```php
<form method="post" enctype="multipart/form-data">
<input type="file" multiple name="img[]">
<input type="submit">
</form>

<?php

$loader = require __DIR__ . '/../app/autoload.php';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $request = \Symfony\Component\HttpFoundation\Request::createFromGlobals();
    var_export($request->files->all()['img']);
}
```

Expected result when I send the form without any files:

```
array ()
```

Actual result:

```
array ( 0 => NULL, )
```

This causes a problem later when using FileType with multiple option - if no files are sent the form data are `[0 => '']` instead of `[]`.

Of course I need to add a test for this.

Commits
-------

d4f6039dcd [HttpFoundation] Fix file upload multiple with no files
2017-09-30 07:18:14 -07:00
Fabien Potencier
72cc5df5fc minor #24342 removed useless PHPDoc (OskarStark)
This PR was squashed before being merged into the 2.7 branch (closes #24342).

Discussion
----------

removed useless PHPDoc

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

Commits
-------

5ee9043d8b removed useless PHPDoc
2017-09-30 07:00:25 -07:00
Oskar Stark
5ee9043d8b removed useless PHPDoc 2017-09-30 07:00:23 -07:00
Fabien Potencier
77998813fe minor #24374 [HttpFoundation] Return instance in StreamedResponse (abellion)
This PR was squashed before being merged into the 3.4 branch (closes #24374).

Discussion
----------

[HttpFoundation] Return instance in StreamedResponse

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

<!--
- 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 3.4,
  legacy code removals go to the master branch.
- Please fill in this template according to the PR you're about to submit.
- Replace this comment by a description of what your PR is solving.
-->

Commits
-------

2080582a75 [HttpFoundation] Return instance in StreamedResponse
2017-09-30 06:57:21 -07:00
Antoine Bellion
2080582a75 [HttpFoundation] Return instance in StreamedResponse 2017-09-30 06:57:19 -07:00
Fabien Potencier
bc4a69225f Merge branch '3.4'
* 3.4:
  [FrameworkBundle] Register a NullLogger from test kernels
  [SecurityBundle] Deprecate auto picking the first provider
  [Security] Add user impersonation support for stateless authentication
2017-09-30 06:47:08 -07:00
Robin Chalas
e7a5803e2e [Security] Add user impersonation support for stateless authentication 2017-09-30 13:13:18 +02:00
Jáchym Toušek
c6c09e4f28 [Form] Fix FormInterface::submit() annotation 2017-09-29 22:09:03 +02:00
Fabien Potencier
9c1ba5a541 Merge branch '3.4'
* 3.4:
  [HttpKernel][FrameworkBundle] Add a minimalist default PSR-3 logger
2017-09-29 12:17:13 -07:00
Fabien Potencier
09afa64909 feature #24300 [HttpKernel][FrameworkBundle] Add a minimalist default PSR-3 logger (dunglas)
This PR was squashed before being merged into the 3.4 branch (closes #24300).

Discussion
----------

[HttpKernel][FrameworkBundle] Add a minimalist default PSR-3 logger

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

This PR provides a minimalist PSR-3 logger that is always available when FrameworkBundle is installed.
By default, it writes errors on `stderr`, regular logs on `stdout` and discards debug data (this is configurable).

This approach has several benefits:

- It's what expect from an app logging systems of major containerization and orchestration tools including [Docker](https://docs.docker.com/engine/admin/logging/view_container_logs/) and [Kubernetes](https://kubernetes.io/docs/concepts/cluster-administration/logging/), as well as most cloud providers such as [Heroku](https://devcenter.heroku.com/articles/logging#writing-to-your-log) and [Google Container Engine](https://kubernetes.io/docs/tasks/debug-application-cluster/logging-stackdriver/). If the app follows this standard (and it's not currently the case with Symfony by default) logs will be automatically collected, aggregated and stored.
- It's in sync with the "back to Unix roots" philosophy of Flex
- Logs are directly displayed in the console when running the integrated PHP web server (`bin/console server:start` or Flex's `make serve`), Create React App also do that for instance.
- It fixes a common problem when installing Flex recipes: many bundles expect a logger service but currently there is none available by default, and you usually get a `"logger" service not found error` (because packages depend of the PSR, but the PSR doesn't provide a logger service).

Commits
-------

9a06513ec7 [HttpKernel][FrameworkBundle] Add a minimalist default PSR-3 logger
2017-09-29 10:02:07 -07:00
Kévin Dunglas
9a06513ec7 [HttpKernel][FrameworkBundle] Add a minimalist default PSR-3 logger 2017-09-29 09:59:44 -07:00
Fabien Potencier
59c272b312 bug #24036 [Form] Fix precision of MoneyToLocalizedStringTransformer's divisions and multiplications (Rubinum)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fix precision of MoneyToLocalizedStringTransformer's divisions and multiplications

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

There is a [PHP Bug](https://bugs.php.net/bug.php?id=75004) with the accuracy of divisions and multiplications when `/=` and `*=` are used.
Here is the proof: https://3v4l.org/u1DkX
It would be better to use `bcmul()` and `bcdiv()` in the `MoneyToLocalizedStringTransformer.php` to prevent this bug.

Commits
-------

ab47c7878e Added improvement for accuracy in MoneyToLocalizedStringTransformer.
2017-09-29 09:36:28 -07:00
Nicolas Grekas
6a1e2b81ef Merge branch '3.4'
* 3.4:
  Argon2i Password Encoder
  [DI] EnvVarProcessorInterface: fix missing use
  [FrameworkBundle] Use PhpExtractor from Translation
  [DowCrawler] Default to UTF-8 when possible
2017-09-29 16:45:23 +02:00
Fabien Potencier
1b300985ff feature #21604 [Security] Argon2i Password Encoder (zanbaldwin)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] Argon2i Password Encoder

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

Since the [libsodium RFC](https://wiki.php.net/rfc/libsodium) passed with flying colours, I'd like to kick start a discussion about adding Argon2i as a password encoder to the security component. The initial code proposal in this PR supports both the upcoming public API confirmed for PHP 7.2, and the [libsodium PECL extension](https://pecl.php.net/package/libsodium) for those below 7.2 (available for PHP 5.4+).

#### Concerns

- Should the test cover hash length? At the moment the result of Argon2i is 96 characters, but because the hashing parameters are included in the result (`$argon2i$v=19$m=32768,t=4,p=1$...`) this is not guaranteed.
- I've used one password encoder class because the result *should* be the same whether running natively in 7.2 or from the PECL extension, but should the logic be split out into separate private methods (like `Argon2iPasswordEncoder::encodePassword()`) or not (like in `Argon2iPasswordEncoder::isPasswordValid()`)? Since I can't really find anything concrete on Symfony choosing one way over another I'm assuming it's down to personal preference?

#### The Future

Whilst the libsodium RFC has been approved and the public API confirmed, there has been no confirmation of Argon2i becoming an official algorithm for `passhword_hash()`. If that is confirmed, then the implementation should *absolutely* use the native `password_*` functions since the `sodium_*` functions do not have an equivalent to the `password_needs_rehash()` function.

Any feedback would be greatly appreciated 😃

Commits
-------

be093dd79a Argon2i Password Encoder
2017-09-29 07:04:03 -07:00
Fabien Potencier
c10baf9e9f feature #24372 [DowCrawler] Default to UTF-8 when possible (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DowCrawler] Default to UTF-8 when possible

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

This can't be ambiguous, let's use UTF-8 when possible.

Commits
-------

73eda66b99 [DowCrawler] Default to UTF-8 when possible
2017-09-29 06:59:44 -07:00
Zan Baldwin
be093dd79a Argon2i Password Encoder
Add the Argon2i hashing algorithm provided by libsodium as a core encoder in the Security component, and enable it in the SecurityBundle.
Credit to @chalasr for help with unit tests.
2017-09-29 14:21:29 +01:00
Maxime Steinhausser
260d2f02d8 [DI] EnvVarProcessorInterface: fix missing use 2017-09-29 13:52:29 +02:00
Christian Flothmann
97fb5f7c58 Merge branch '3.4'
* 3.4:
  include file and line number in deprecation
  parse merge keys with PARSE_OBJECT_FOR_MAP flag
2017-09-29 13:32:05 +02:00
Christian Flothmann
ee545bf8d4 Merge branch '3.3' into 3.4
* 3.3:
  include file and line number in deprecation
  parse merge keys with PARSE_OBJECT_FOR_MAP flag
2017-09-29 13:19:35 +02:00
Nicolas Grekas
6f596f27ce Merge branch '3.4'
* 3.4:
  Fix conflicts between Bridge/PhpUnit and Debug fixtures
  [DI] Fix typehint
  [PhpUnitBridge] Make CoverageListenerTest more robust when xdebug is not available
2017-09-29 13:00:16 +02:00
Nicolas Grekas
73eda66b99 [DowCrawler] Default to UTF-8 when possible 2017-09-29 12:22:06 +02:00
Simon Mönch
1c0701ab85 [DI] Fix typehint 2017-09-29 12:03:48 +02:00
Nicolas Grekas
006380034e bug #24191 [DependencyInjection] include file and line number in deprecation (xabbuh)
This PR was merged into the 3.3 branch.

Discussion
----------

[DependencyInjection] include file and line number in deprecation

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

In #23108 we removed line numbers from deprecation messages created by the YAML parser because those numbers were quite useless without the file being parsed. I suggest to revert this change and add the file being parsed to the deprecation message.

Commits
-------

cf03552 include file and line number in deprecation
2017-09-29 11:52:28 +02:00
Nicolas Grekas
f46ab8e6e3 Merge branch '3.4'
* 3.4:
  doc fixes
2017-09-29 11:42:39 +02:00
Nicolas Grekas
f18a47bef7 doc fixes 2017-09-29 11:41:38 +02:00
Nicolas Grekas
58be176371 Merge branch '3.4'
* 3.4:
  Moved PhpExtractor and PhpStringTokenParser to Translation component
  [Asset] Provide default context
  [HttpKernel] Deprecate some compiler passes in favor of tagged iterator args
  Add exclusive Twig namespace for bundles path
  Share connection factories between cache and lock
2017-09-29 11:39:35 +02:00
Tobias Nyholm
eca2f8e587 Moved PhpExtractor and PhpStringTokenParser to Translation component 2017-09-29 01:37:07 +02:00
Fabien Potencier
a442e378e1 feature #24362 [HttpKernel] Deprecate some compiler passes in favor of tagged iterator args (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Deprecate some compiler passes in favor of tagged iterator args

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

More code that we can drop :)

Commits
-------

fa62e5068e [HttpKernel] Deprecate some compiler passes in favor of tagged iterator args
2017-09-28 16:21:02 -07:00
Fabien Potencier
537c496dfe minor #24366 [Lock] Use cache connection factories in lock (jderusse)
This PR was merged into the 3.4 branch.

Discussion
----------

[Lock] Use cache connection factories in lock

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

An alternative to https://github.com/symfony/symfony/pull/24267 to share code between cache and lock.

Commits
-------

95358ac98f Share connection factories between cache and lock
2017-09-28 16:19:46 -07:00
Fabien Potencier
c7f664c5e0 feature #21027 [Asset] Provide default context (ro0NL)
This PR was squashed before being merged into the 3.4 branch (closes #21027).

Discussion
----------

[Asset] Provide default context

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #19396
| License       | MIT
| Doc PR        | should be noted somewhere, ill create an issue

Allows configuring the default asset context to make things works on CLI for example. Same approach as the routing component.

Introduces
```yaml
# parameters.yml
asset.request_context.base_path: '/base/path'
asset.request_context.secure: false
```

Commits
-------

9137d57ecd [Asset] Provide default context
2017-09-28 15:56:48 -07:00
Roland Franssen
9137d57ecd [Asset] Provide default context 2017-09-28 15:56:45 -07:00
Nicolas Grekas
fa62e5068e [HttpKernel] Deprecate some compiler passes in favor of tagged iterator args 2017-09-29 00:01:08 +02:00
Tobias Schultze
0f0a6e85e3 PdoSessionHandler: fix advisory lock for pgsql when session.sid_bits_per_character > 4 2017-09-28 20:22:10 +02:00
Jérémy Derussé
95358ac98f
Share connection factories between cache and lock 2017-09-28 19:35:07 +02:00
Christian Flothmann
08deb372f1 [DependencyInjection] fix tests 2017-09-28 19:06:05 +02:00
Nicolas Grekas
3fde0f0644 Merge branch '3.4'
* 3.4:
  Adding a shortcuts for the main security functionality
  [DI] Reference tagged services in config
2017-09-28 17:44:33 +02:00
Nicolas Grekas
648a8953dd feature #22200 [DI] Reference tagged services in config (ro0NL)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Reference tagged services in config

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

This is a proof of concept to reference a sequence of tagged services.

The problem bugs me for some time, and at first i thought the solution was to have some super generic compiler pass. If it could replace a lot of compilers in core.. perhaps worth it, but eventually each tag comes with it's own logic, including how to deal with tag attributes.

However, writing the passes over and over again becomes tedious for the most basic usecase. So given the recent developments, this idea came to mind.

```yml
services:
    a:
        class: stdClass
        properties: { a: true }
        tags: [foo]

    b:
        class: stdClass
        properties: { b: true }
        tags: [foo]

    c:
        class: stdClass
        properties:
            #stds: !tagged_services foo (see #22198)
            stds: !tagged_services
                foo
```

```
dump(iterator_to_array($this->get('c')->stds));
```

```
array:2 [▼
  0 => {#5052 ▼
    +"a": true
  }
  1 => {#4667 ▼
    +"b": true
  }
]
```

Given the _basic_ example at https://symfony.com/doc/current/service_container/tags.html, this could replace that.

Any thoughts?

Commits
-------

979e58f [DI] Reference tagged services in config
2017-09-28 17:24:12 +02:00
Robin Chalas
3b5742e6b5 feature #24337 Adding a shortcuts for the main security functionality (weaverryan, javiereguiluz)
This PR was squashed before being merged into the 3.4 branch (closes #24337).

Discussion
----------

Adding a shortcuts for the main security functionality

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

I'd like one class that I can inject (especially with autowiring) to get access to the User and `isGranted()` methods. This is *really* important... because to get the User currently, you need to type-hint `TokenStorageInterface`... and there are *two*! That's really bad DX!

Questions:

A) I hi-jacked the existing `Security` class... I wanted a simple class called Security
B) I called the service `security.helper`... for lack of a better id.
C) I did not make `Security` implement the 2 other interfaces (`TokenStorageInterface`, `AuthorizationCheckerInterface`... but I suppose we could?)

Cheers!

Commits
-------

0851189 Adding a shortcuts for the main security functionality
2017-09-28 17:13:14 +02:00
Ryan Weaver
0851189daa Adding a shortcuts for the main security functionality 2017-09-28 17:13:10 +02:00
Christian Flothmann
cf03552033 include file and line number in deprecation 2017-09-28 16:22:01 +02:00
Nicolas Grekas
1c8b65000e fix merge 2017-09-28 16:19:20 +02:00
Christian Flothmann
b667f973af Merge branch '3.4'
* 3.4:
  register an identity translator as fallback
  include file and line no in deprecation message
  register class metadata factory alias
2017-09-28 16:12:58 +02:00
Roland Franssen
979e58f370 [DI] Reference tagged services in config 2017-09-28 16:10:08 +02:00
Fabien Potencier
112cca7e06 feature #24357 [Yaml] include file and line no in deprecation message (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Yaml] include file and line no in deprecation message

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

Now that we know the filename being parsed we can improve deprecation messages which is especially useful when trying to find the DI config file that triggers a particular deprecation.

Commits
-------

f618e43234 include file and line no in deprecation message
2017-09-28 06:23:13 -07:00
Fabien Potencier
e4d9bfd245 minor #24353 [Validator] minor translation text fix (darnel)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] minor translation text fix

Update validators.cs.xlf - Fix czech translation for "This field was not expected"

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

This commit fixes grammatical issue for czech translation only.

Commits
-------

fbe7148000 Fix translation for "This field was not expected"
2017-09-28 06:20:28 -07:00
Christian Flothmann
1e46891f55 Merge branch '3.4'
* 3.4:
  [DI] Fix missing use + minor tweaks
  [Routing] Enhance PHP DSL traits docblocks
  Fix AclSchemaListener deprecation
  Set a NullLogger in ApcuAdapter when Apcu is disabled in CLI
  Minor reword
  [HttpKernel] Make array vs "::" controller definitions consistent
  Fix tests
  [TwigBundle] Remove profiler related scripting
  [TwigBundle][WebProfilerBundle] Switch to DOMContentLoaded event
  [WebProfilerBundle] Hide inactive tabs from CSS
  [TwigBundle] Make deprecations scream in logs
  [TwigBundle] Hide logs if unavailable, i.e. webprofiler
  [TwigBundle] Break long lines in exceptions
  [WebProfilerBundle] Added missing link to profile token
  [DI] Fix decorated service merge in ResolveInstanceofConditionalsPass
  Preserve URI fragment in HttpUtils::generateUri()
  [PhpUnitBridge] do not require an error context
2017-09-28 15:19:12 +02:00
Christian Flothmann
b7d0b09f31 Merge branch '3.3' into 3.4
* 3.3:
  Set a NullLogger in ApcuAdapter when Apcu is disabled in CLI
  Minor reword
  [HttpKernel] Make array vs "::" controller definitions consistent
  Fix tests
  [TwigBundle] Remove profiler related scripting
  [TwigBundle][WebProfilerBundle] Switch to DOMContentLoaded event
  [WebProfilerBundle] Hide inactive tabs from CSS
  [TwigBundle] Make deprecations scream in logs
  [TwigBundle] Hide logs if unavailable, i.e. webprofiler
  [TwigBundle] Break long lines in exceptions
  [WebProfilerBundle] Added missing link to profile token
  [DI] Fix decorated service merge in ResolveInstanceofConditionalsPass
  Preserve URI fragment in HttpUtils::generateUri()
  [PhpUnitBridge] do not require an error context
2017-09-28 15:03:46 +02:00
Christian Flothmann
534eaed7ae parse merge keys with PARSE_OBJECT_FOR_MAP flag 2017-09-28 14:42:08 +02:00
Fabien Potencier
d178a9b2c5 bug #24243 HttpCache does not consider ESI resources in HEAD requests (mpdude)
This PR was squashed before being merged into the 2.7 branch (closes #24243).

Discussion
----------

HttpCache does not consider ESI resources in HEAD requests

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

Due to this shortcut:
3b42d8859e/src/Symfony/Component/HttpKernel/HttpCache/HttpCache.php (L634-L642)
... the `HttpCache` never looks at the response body for `HEAD` requests. This makes it completely miss ESI-related tweaks like computing the correct TTL, removing validation headers or updating the `Content-Length`.

From RFC2616 (https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.4):

> The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. The metainformation contained in the HTTP headers in response to a HEAD request SHOULD be identical to the information sent in response to a GET request.

Although it says "SHOULD", I think it can be misleading at best when HEAD requests do, for example, return different (greater) `s-maxage` values than a corresponding GET request.

Commits
-------

4dd0e53171 HttpCache does not consider ESI resources in HEAD requests
2017-09-28 05:20:58 -07:00
Matthias Pigulla
4dd0e53171 HttpCache does not consider ESI resources in HEAD requests 2017-09-28 05:20:56 -07:00
Christian Flothmann
f618e43234 include file and line no in deprecation message 2017-09-28 12:55:42 +02:00
Nicolas Grekas
bd3bc69036 minor #24345 [Routing] Enhance PHP DSL traits docblocks (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[Routing] Enhance PHP DSL traits docblocks

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

Commits
-------

7d749bf [Routing] Enhance PHP DSL traits docblocks
2017-09-28 10:15:16 +02:00
Nicolas Grekas
890f25a6c9 bug #24346 [DI] Fix missing use + minor tweaks (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Fix missing use + minor tweaks

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

Commits
-------

0a7e5b0 [DI] Fix missing use + minor tweaks
2017-09-28 10:14:02 +02:00
Christophe Coevoet
9ed6dd4391 minor #24351 [Routing] Enhance Route(Collection) docblocks (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Routing] Enhance Route(Collection) docblocks

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

Commits
-------

5b4308e9e1 [Routing] Enhance Route(Collection) docblocks
2017-09-28 10:05:10 +02:00
Maxime Steinhausser
0a7e5b0d09 [DI] Fix missing use + minor tweaks 2017-09-28 09:59:26 +02:00
darnel
fbe7148000 Fix translation for "This field was not expected"
Update validators.cs.xlf - Fix czech translation for "This field was not expected"
2017-09-28 08:55:08 +02:00
Maxime Steinhausser
7d749bfb77 [Routing] Enhance PHP DSL traits docblocks 2017-09-28 08:00:01 +02:00
Fabien Potencier
ac579ea463 Merge branch '3.4'
* 3.4:
  [SecurityBundle] Add missing AclSchemaListener deprecation
  deprecate relative paths in makePathRelative()
2017-09-27 14:28:40 -07:00
Maxime Steinhausser
5b4308e9e1 [Routing] Enhance Route(Collection) docblocks 2017-09-27 23:22:30 +02:00
Fabien Potencier
7269013ff3 feature #24202 [Filesystem] deprecate relative paths in makePathRelative() (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Filesystem] deprecate relative paths in makePathRelative()

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

Commits
-------

893df5804e deprecate relative paths in makePathRelative()
2017-09-27 12:24:44 -07:00
Maxime Steinhausser
c88158a6da Merge branch '3.4'
* 3.4:
  fixed CS
  [Serializer] Add Support for  in CustomNormalizer
  Remove Validator\TypeTestCase and add validator logic to base TypeTestCase
  [Lock] Include lock component in framework bundle
  [WebProfilerBundle] Render file links for twig templates
  CsvEncoder handling variable structures and custom header order
  Saltless Encoder Interface
  [Serializer] throw more specific exceptions

# Conflicts:
#	src/Symfony/Bundle/FrameworkBundle/composer.json
#	src/Symfony/Bundle/SecurityBundle/Command/UserPasswordEncoderCommand.php
#	src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
#	src/Symfony/Component/Serializer/Normalizer/AbstractNormalizer.php
#	src/Symfony/Component/Serializer/Serializer.php
2017-09-27 20:38:05 +02:00
Fabien Potencier
f7eb7972ff fixed CS 2017-09-27 10:32:40 -07:00
Fabien Potencier
94aef22fec feature #21716 [Serializer] Add Support for object_to_populate in CustomNormalizer (chrisguitarguy)
This PR was squashed before being merged into the 3.4 branch (closes #21716).

Discussion
----------

[Serializer] Add Support for `object_to_populate` in CustomNormalizer

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

This pulls a trait out of `AbstractNormalizer` with a method to extract the object to populate and adds some tests for it. Then uses that trait in both `AbstractNormalizer` and `CustomNormalizer` so both can support the `object_to_populate` key.

Commits
-------

ec9242d1ee [Serializer] Add Support for  in CustomNormalizer
2017-09-27 10:32:13 -07:00
Christopher Davis
ec9242d1ee [Serializer] Add Support for in CustomNormalizer 2017-09-27 10:32:12 -07:00
Fabien Potencier
f56f28b0f3 feature #21960 Remove Validator\TypeTestCase and add validator logic to base TypeTestCase (pierredup)
This PR was squashed before being merged into the 3.4 branch (closes #21960).

Discussion
----------

Remove Validator\TypeTestCase and add validator logic to base TypeTestCase

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

Based on a discussion in the docs, users should not really extend classes in the `Tests` namespace. This means that if you want to unit test forms, you need to extend the `Test\TypeTestCase` class which doesn't have the validation logic (Not adding the validator extension gives an error if you use the `constraints` option in your forms).
So I propose to remove the `Validator\TypeTestCase` class (or it can possibly be deprecated if it is wrongly used by someone), and add the validator extension logic to the base `TypTestCase` class.

The benefit is that there is only one class to extend (both for internal or userland tests), and it makes it easy to add more core extensions if necessary.

The one part that I don't like too much at the moment, is keeping the extension in the `getExtensions` method. This means that you extend the class and need to register custom extensions, that you would need to do `return array_merge(parent::getExtensions(), ... ` (only in the case when you want core extensions enabled). So I don't know if we rather want to add a private method like `getCoreExtensions`?

Commits
-------

5ab50103ae Remove Validator\TypeTestCase and add validator logic to base TypeTestCase
2017-09-27 09:12:49 -07:00
Pierre du Plessis
5ab50103ae Remove Validator\TypeTestCase and add validator logic to base TypeTestCase 2017-09-27 09:12:32 -07:00
Fabien Potencier
e5ddd14b1d feature #22113 [Lock] Include lock component in framework bundle (jderusse)
This PR was squashed before being merged into the 3.4 branch (closes #22113).

Discussion
----------

[Lock] Include lock component in framework bundle

| 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        | https://github.com/symfony/symfony-docs/pull/8066

## Usage

use the best available "out of box" store (semaphore if available, filesyste otherwise)
```yml
framework:
    lock: ~
    # lock: true
```

```php
$this->get('lock')->acquire();
$this->get('lock.factory')->createLock('my resource')->acquire();
```

use a specific store
```yml
framework:
    lock: flock
    # lock: semaphore
    # lock: redis://localhost
    # lock: "%env(MEMCACHED_DSN)%"
    # lock: ["%env(REDIS_DSN_1)%", "%env(REDIS_DSN_2)%"]
```

```php
$this->get('lock')->acquire();
$this->get('lock.factory')->createLock('my resource')->acquire();
```

use a named lock
```yml
framework:
    lock:
        foo: flock
        bar: redis://localhost
```

```php
$this->get('lock.foo')->acquire();
$this->get('lock.bar.factory')->createLock('my resource')->acquire();
```

factory usage

```xml
        <service id="acme" class="AppBundle\Acme">
            <argument type="service">
                <service class="Symfony\Component\Lock\Lock">
                    <factory service="lock.foo.factory" method="createLock" />
                    <argument>my resource</argument>
                    <argument>30</argument> <!-- optional TTL -->
                </service>
            </argument>
        </service>
```

* [x] Tests

Commits
-------

b4b00c9c6f [Lock] Include lock component in framework bundle
2017-09-27 08:10:57 -07:00
Jérémy Derussé
b4b00c9c6f [Lock] Include lock component in framework bundle 2017-09-27 08:10:55 -07:00
Fabien Potencier
9f56a9efa7 feature #21239 [Serializer] throw more specific exceptions (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Serializer] throw more specific exceptions

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

Commits
-------

aa30d04243 [Serializer] throw more specific exceptions
2017-09-27 07:28:41 -07:00
Fabien Potencier
65872e8c3a feature #24256 CsvEncoder handling variable structures and custom header order (Oliver Hoff)
This PR was squashed before being merged into the 3.4 branch (closes #24256).

Discussion
----------

CsvEncoder handling variable structures and custom header order

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

This PR improves the CsvEncoder to handle variable nesting structures and adds a context option that allows custom csv header order.

Commits
-------

d173494e48 CsvEncoder handling variable structures and custom header order
2017-09-27 07:20:06 -07:00
Oliver Hoff
d173494e48 CsvEncoder handling variable structures and custom header order 2017-09-27 07:19:39 -07:00
Christophe Coevoet
250d56b8d7 minor #21620 [Security] Saltless Encoder Interface (zanbaldwin)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] Saltless Encoder Interface

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

A new interface for encoders that do not require a user-generated salt (generate their own built-in) as suggested by @stof ([comment](https://github.com/symfony/symfony/pull/21604/files#r101225470)), this will become useful as more password encoders are added in the future (such as symfony/symfony#21604).

Commits
-------

7c4aa0bccb Saltless Encoder Interface
2017-09-27 15:29:25 +02:00
Zan Baldwin
7c4aa0bccb Saltless Encoder Interface
A new interface for all encoders that do not require a user-generated salt.
2017-09-27 12:53:10 +01:00
Christian Flothmann
aa30d04243 [Serializer] throw more specific exceptions 2017-09-27 11:03:29 +02:00
Alexandru Furculita
37d1a212f9 Removed compatibility layer for PHP <5.4 sessions
Signed-off-by: Alexandru Furculita <alex@furculita.net>
2017-09-27 11:58:25 +03:00
Robin Chalas
bad858e380 Merge branch '3.4'
* 3.4:
  [PhpUnitBridge] Added a CoverageListener to enhance the code coverage report
  Add a method to check if any results were found
  [SecurityBundle] Deprecate ACL related code
  [FrameworkBundle] Enable assets with templates only if the Asset component is installed
2017-09-27 09:49:38 +02:00
Fabien Potencier
eb1183111a feature #23471 [Finder] Add a method to check if any results were found (duncan3dc)
This PR was merged into the 3.4 branch.

Discussion
----------

[Finder] Add a method to check if any results were found

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

If I want to know if any results were found, but I don't want to start trawling through them, I have to do the rather ugly:
```php
$found = false;
foreach ($finder as $thing) {
    $found = true;
    break;
}
if ($found) {
```
This PR enables the much more readable:
```php
if ($finder->found()) {
```

This seemed like an obvious thing to me, so I suspect there might be a reason this doesn't exist already, but I couldn't find any previous discussion. If it'll be accepted then I'll glady create a docs PR

Commits
-------

24dcb5202c Add a method to check if any results were found
2017-09-26 16:22:45 -07:00
Fabien Potencier
a8a0a21049 [HttpKernel] removed bundle inheritance 2017-09-26 16:00:30 -07:00
Fabien Potencier
4cdfebdc4a Merge branch 'pull/24336'
* pull/24336:
  [Security][SecurityBundle] Remove the HTTP digest auth
2017-09-26 15:55:38 -07:00
Maxime Steinhausser
8ff716b1f3 [Security][SecurityBundle] Remove the HTTP digest auth 2017-09-26 15:54:19 -07:00
Fabien Potencier
5d57a42985 Merge branch '3.4'
* 3.4:
  Passing the newly generated security token to the event during user switching.
  Fix changelog and minor tweak for #23485
  [Config] extracted the xml parsing from XmlUtils::loadFile into XmlUtils::parse
  [Security][SecurityBundle] Deprecate the HTTP digest auth
  add ability to configure catching exceptions
  Extract method refactoring for ResourceCheckerConfigCache
2017-09-26 15:53:13 -07:00
Fabien Potencier
b5103a261f feature #24335 [Security][SecurityBundle] Deprecate the HTTP digest auth (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security][SecurityBundle] Deprecate the HTTP digest auth

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

See https://github.com/symfony/symfony/pull/24336 for the removal PR on master.

Commits
-------

11fe79d77f [Security][SecurityBundle] Deprecate the HTTP digest auth
2017-09-26 15:51:56 -07:00
Robin Chalas
084e49f2ef feature #21951 [Security][Firewall] Passing the newly generated security token to the event during user switching (klandaika)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security][Firewall] Passing the newly generated security token to the event during user switching

Event allows listeners to easily switch out the token if custom token updates are required

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

Updated SwitchUserEvent to include the generated security Token. Allows the listeners to replace the token with their own (in case an application has some custom logic for token generation). The SwitchUserListener will now use the token returned by the event, so if token was not changed the self generated token will be used. If token was changed in the event then the new token would get used.

Reasons for this feature
--------------------------

In our current project users can have different Role sets depending on which organization they switch to. Our `User->getRoles()` always returns ["ROLE_USER"] and after login user is presented with choice of organizations they want to work in. Based on selected organization roles get updated with then stored token.

Without the change proposed in this PR. The only way we can setup the proper roles during user switch is by replacing `security.authentication.switchuser_listener` service with our own implementation of the listener.

With the proposed change, we can replace the security token with the one having all the roles we require directly inside our listener for `security.switch_user` event that gets thrown by Symfony's `SwitchUserListener`

Commits
-------

4205f1b Passing the newly generated security token to the event during user switching.
2017-09-26 22:15:35 +02:00
VJ
4205f1bc68 Passing the newly generated security token to the event during user switching.
Event allows listeners to easily switch out the token if custom token updates are required
2017-09-26 16:04:50 -04:00
Maxime Steinhausser
6fcb075683 Fix changelog and minor tweak for #23485 2017-09-26 22:01:10 +02:00
Ole Rößner
7473981c14 [Config] extracted the xml parsing from XmlUtils::loadFile into XmlUtils::parse 2017-09-26 21:48:48 +02:00
Maxime Steinhausser
11fe79d77f [Security][SecurityBundle] Deprecate the HTTP digest auth 2017-09-26 20:29:06 +02:00
Maxime Steinhausser
ec8edeeb29 feature #22890 [HttpKernel] Add ability to configure catching exceptions for Client (kbond)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Add ability to configure catching exceptions for Client

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

Debugging exceptions in functional tests is difficult as you need to look at the logs to see which exception was thrown. Disabling catching of exceptions in the client would allow the exception to bubble up to phpunit  and make it easier to see what exception was thrown.

Commits
-------

4812e60 add ability to configure catching exceptions
2017-09-26 17:48:51 +02:00
Tim Jabs
ab47c7878e Added improvement for accuracy in MoneyToLocalizedStringTransformer. 2017-09-26 17:19:17 +02:00
Craig Duncan
24dcb5202c Add a method to check if any results were found 2017-09-26 15:59:44 +01:00
Kevin Bond
4812e6054c
add ability to configure catching exceptions 2017-09-26 10:46:55 -04:00
Nicolas Grekas
07f79737bc minor #22589 Extract method refactoring for ResourceCheckerConfigCache (mpdude)
This PR was squashed before being merged into the 3.4 branch (closes #22589).

Discussion
----------

Extract method refactoring for ResourceCheckerConfigCache

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

Improves code readability.

Commits
-------

685c353 Extract method refactoring for ResourceCheckerConfigCache
2017-09-26 16:36:06 +02:00
Matthias Pigulla
685c3538fb Extract method refactoring for ResourceCheckerConfigCache 2017-09-26 16:36:04 +02:00
Tobias Schultze
d40820b32f Merge branch '3.4' 2017-09-26 14:31:37 +02:00
Tobias Schultze
bc8430418b feature #24239 [HttpFoundation] Deprecate compatibility with PHP <5.4 sessions (afurculita)
This PR was squashed before being merged into the 3.4 branch (closes #24239).

Discussion
----------

[HttpFoundation] Deprecate compatibility with PHP <5.4 sessions

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

This PR removes functionality added in Symfony 2.1 as a compatibility layer with sessions from PHP <5.4.

- [x] Fix tests

Commits
-------

3deb3940ab [HttpFoundation] Deprecate compatibility with PHP <5.4 sessions
2017-09-26 14:23:54 +02:00
Alexandru Furculita
3deb3940ab [HttpFoundation] Deprecate compatibility with PHP <5.4 sessions 2017-09-26 14:23:43 +02:00
Robin Chalas
477a24dff9 feature #23882 [Security] Deprecated not being logged out after user change (iltar)
This PR was squashed before being merged into the 3.4 branch (closes #23882).

Discussion
----------

[Security] Deprecated not being logged out after user change

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

This PR is an alternative approach to #19033. Due to a behavioral change that could break a lot of applications and websites, I've decided to trigger a deprecation instead of actually changing the behavior as that can be done for 4.0.

Whenever a user object is considered changed (`AbstractToken::hasUserChanged`) when setting a new user object after refreshing, it will now throw a deprecation, paving the way for a behavioral change in 4.0. The idea is that in 4.0 Symfony will simply trigger a logout when this case is encountered.

Commits
-------

22f525b [Security] Deprecated not being logged out after user change
2017-09-26 13:05:27 +02:00
Iltar van der Berg
22f525b01f [Security] Deprecated not being logged out after user change 2017-09-26 13:05:21 +02:00
iamluc
4a01cd85bc Set a NullLogger in ApcuAdapter when Apcu is disabled in CLI
Same check as in https://github.com/symfony/symfony/pull/23390/files#diff-a5185cd58702e8e073786794a423cb27R112
2017-09-26 12:11:06 +02:00
Iltar van der Berg
6522c05876 Removed unused private property 2017-09-26 12:02:43 +02:00
Nicolas Grekas
b90ce05c24 minor #24316 Added null as explicit return type (?TokenInterface) (iltar)
This PR was merged into the 2.7 branch.

Discussion
----------

Added null as explicit return type (?TokenInterface)

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

This fixes the returntype in the `ContextListener` so it can be merged upwards.

/cc @chalasr

Commits
-------

1ba4dd9 Added null as explicit return type (?TokenInterface)
2017-09-26 12:00:14 +02:00
Nicolas Grekas
5dcd573ecf bug #24313 [DI] Fix tracking of bound arguments when using autoconfiguration (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Fix tracking of bound arguments when using autoconfiguration

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

An exception is currently thrown when using arguments bindings on an autoconfigured controller action.
This fixes the issue.

Commits
-------

091f943 [DI] Fix tracking of bound arguments when using autoconfiguration
2017-09-26 11:47:50 +02:00
Nicolas Grekas
091f943900 [DI] Fix tracking of bound arguments when using autoconfiguration 2017-09-26 11:38:39 +02:00
Qingshan Luo
7a475595e2 Use PHP_MAXPATHLEN in Filesystem. 2017-09-26 11:21:42 +02:00
Maxime Steinhausser
af9e2534df Fix merge 2017-09-26 08:23:35 +02:00
Maxime Steinhausser
3640585bfd Merge branch '3.4'
* 3.4:
  use the parseFile() method of the YAML parser
  [Yaml] support parsing files
  Adding Definition::addError() and a compiler pass to throw errors as exceptions
  [DI] Add AutowireRequiredMethodsPass to fix bindings for `@required` methods
  [Cache] Add ResettableInterface to allow resetting any pool's local state
  [DI][DX] Throw exception on some ContainerBuilder methods used from extensions
  added missing @author tag for new class
  allow forms without translations and validator
  [VarDumper] Make `dump()` a little bit more easier to use
  [Form] Add ambiguous & exception debug:form tests
  Reset the authentication token between requests.
  [Serializer] Getter for extra attributes in ExtraAttributesException
  [DI] Dont use JSON_BIGINT_AS_STRING

# Conflicts:
#	src/Symfony/Component/Routing/composer.json
#	src/Symfony/Component/Translation/composer.json
#	src/Symfony/Component/Yaml/Inline.php
#	src/Symfony/Component/Yaml/Tests/ParserTest.php
#	src/Symfony/Component/Yaml/Yaml.php
2017-09-26 08:12:47 +02:00
Maxime Steinhausser
55aa662480 feature #24295 [DI][DX] Throw exception on some ContainerBuilder methods used from extensions (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI][DX] Throw exception on some ContainerBuilder methods used from extensions

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | yes <!-- don't forget updating src/**/CHANGELOG.md files -->
| BC breaks?    | no (unlikely, that would mean there already was an issue in userland code)
| Deprecations? | no <!-- don't forget updating UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | #24282 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Commits
-------

88549fff5b [DI][DX] Throw exception on some ContainerBuilder methods used from extensions
2017-09-26 07:54:41 +02:00
Fabien Potencier
2a07f4b51f minor #24312 [Lock] Add missing methods in LockInterface (jderusse)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[Lock] Add missing methods in LockInterface

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no (because 3.4 is not yet released)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | /
| License       | MIT
| Doc PR        | /

Add methods to the LockInterface

Commits
-------

e66e5381d3 Add missing methods in LockInterface
2017-09-26 04:37:47 +02:00
Christian Flothmann
8bf465f48d use the parseFile() method of the YAML parser 2017-09-25 21:59:34 +02:00
Christian Flothmann
1b4d2b246d feature #24253 [Yaml] support parsing files (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Yaml] support parsing files

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

This PR adds a new flag `PARSE_FILE` which can be passed to the YAML parser. When given, the input will be interpreted as a filename whose contents will then be parsed. We already supported passing filenames in the past. Back then the features was not deterministic as it just relied on the string being an existing file or not. Now that we are able to control the behaviour of the parser by passing flags this can be done in a much cleaner way and allows to properly deal with errors (i.e. non existent or unreadable files).

This change will also allow to improve error/deprecation messages to include the filename being parsed and thus showing more descriptive error messages when people are using the YAML parser with a bunch of files (e.g. as part of the DependencyInjection or Routing component).

Commits
-------

9becb8a [Yaml] support parsing files
2017-09-25 21:34:08 +02:00
Christian Flothmann
9becb8ae34 [Yaml] support parsing files 2017-09-25 20:23:20 +01:00
Nicolas Grekas
8136fa5050 feature #24290 Adding Definition::addError() and a compiler pass to throw errors as exceptions (weaverryan)
This PR was squashed before being merged into the 3.4 branch (closes #24290).

Discussion
----------

Adding Definition::addError() and a compiler pass to throw errors as exceptions

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes & no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes (very minor)
| Tests pass?   | yes
| Fixed tickets | #23606
| License       | MIT
| Doc PR        | Not needed

Hi guys!

Very simple: when there is an error with a Definition, we can now call `Definition::addError()` instead of throwing an exception. Then, a new compiler pass (after removal) actually throws an exception. The advantage is that we can avoid throwing exceptions for services that are ultimately removed from the container. That's important for auto-registration, where we commonly register all services in `src/`... but then many of them are removed later.

A few interesting notes:
- We can probably convert more things from exceptions to `Definition::addError()`. I've only converted autowiring errors and things in `CheckArgumentsValidityPass` (that was necessary because it was throwing exceptions in some cases due to autowiring failing... which was the true error)
- `Definition` can hold multiple errors, but I'm only showing the first error in the exception message. The reason is clarity: I think usually the first error is the most (or only) important. But having `Definition::addError()` avoids the possibility of a later error overriding an earlier one

Cheers!

Commits
-------

a85b37a Adding Definition::addError() and a compiler pass to throw errors as exceptions
2017-09-25 11:29:01 +02:00
Ryan Weaver
a85b37a0e6 Adding Definition::addError() and a compiler pass to throw errors as exceptions 2017-09-25 11:28:57 +02:00
Nicolas Grekas
ec111877fa feature #24301 [DI] Add AutowireRequiredMethodsPass to fix bindings for @required methods (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Add AutowireRequiredMethodsPass to fix bindings for `@required` methods

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

Spotted while doing a SF4 workshop :)

Discovery of `@required` methods should be split from AutowirePass so that bindings can apply to these methods also when autowiring is enabled.

Commits
-------

dc55dd2 [DI] Add AutowireRequiredMethodsPass to fix bindings for `@required` methods
2017-09-25 11:24:50 +02:00
Nicolas Grekas
0c0a0525a1 feature #24226 [Cache] Add ResettableInterface to allow resetting any pool's local state (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] Add ResettableInterface to allow resetting any pool's local state

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

To allow pools to leverage #24155 so that they can be used in multi-request loops.

Commits
-------

14c91f2 [Cache] Add ResettableInterface to allow resetting any pool's local state
2017-09-25 11:23:16 +02:00
Nicolas Grekas
dc55dd2c99 [DI] Add AutowireRequiredMethodsPass to fix bindings for @required methods 2017-09-25 10:48:11 +02:00
Nicolas Grekas
14c91f2bc9 [Cache] Add ResettableInterface to allow resetting any pool's local state 2017-09-25 10:20:08 +02:00
Iltar van der Berg
1ba4dd9b44 Added null as explicit return type (?TokenInterface) 2017-09-25 09:46:32 +02:00
Maxime Steinhausser
88549fff5b [DI][DX] Throw exception on some ContainerBuilder methods used from extensions 2017-09-24 17:28:40 +02:00
Jérémy Derussé
e66e5381d3
Add missing methods in LockInterface 2017-09-24 17:01:32 +02:00
Oskar Stark
e17426c65c added missing @author tag for new class 2017-09-24 15:33:47 +02:00
Nicolas Grekas
f0f9a6691c [HttpKernel] Make array vs "::" controller definitions consistent 2017-09-24 15:32:05 +02:00
Nicolas Grekas
e84d2d0943 feature #24280 [VarDumper] Make dump() a little bit more easier to use (freekmurze)
This PR was submitted for the master branch but it was squashed and merged into the 3.4 branch instead (closes #24280).

Discussion
----------

[VarDumper] Make `dump()` a little bit more easier to use

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

Imagine you have this code:

```php
$object->method();
```

If you want to dump the object, this is currently the way to do that:

```php
dump($object);

$object->method();
```

This PR makes adding (and removing) the `dump` function easier. When using one argument is used, that argument is returned.

```php
dump($object)->method();
```

When dumping multiple things, they all get returned. So you can to this:

```php
$object->someMethod(...dump($arg1, $arg2, $arg3));
```

Commits
-------

42f0984 [VarDumper] Make `dump()` a little bit more easier to use
2017-09-23 16:36:46 +01:00
Freek Van der Herten
42f0984e71 [VarDumper] Make dump() a little bit more easier to use 2017-09-23 16:34:50 +01:00
Maxime Steinhausser
35f9c0ba2d [Form] Add ambiguous & exception debug:form tests 2017-09-23 00:36:11 +02:00
Maxime Steinhausser
2e0cb6055f feature #24277 [Serializer] Getter for extra attributes in ExtraAttributesException (mdeboer)
This PR was squashed before being merged into the 3.4 branch (closes #24277).

Discussion
----------

[Serializer] Getter for extra attributes in ExtraAttributesException

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

This PR adds a public getter for the extra attributes in `ExtraAttributesException` and makes it easier to create custom exception messages (e.g. JSON formatted).

Commits
-------

cb935e7 [Serializer] Getter for extra attributes in ExtraAttributesException
2017-09-22 15:07:49 +02:00
Maarten de Boer
cb935e789e [Serializer] Getter for extra attributes in ExtraAttributesException 2017-09-22 15:07:13 +02:00
Nicolas Grekas
830f286464 [DI] Dont use JSON_BIGINT_AS_STRING 2017-09-22 11:57:45 +01:00
Nicolas Grekas
7a9eb2c654 Merge branch '3.4'
* 3.4:
  [HttpKernel][DI] Enable Kernel to implement CompilerPassInterface
  [DI] Add "PHP fluent format" for configuring the container
  [Routing] Add PHP fluent DSL for configuring routes
  [Bridge\Doctrine] Add "DoctrineType::reset()" method
  [Serializer] Add local cache to normalizers
2017-09-20 15:30:08 +02:00
Nicolas Grekas
701d41cc33 feature #24257 [HttpKernel][DI] Enable Kernel to implement CompilerPassInterface (nicolas-grekas)
This PR was squashed before being merged into the 3.4 branch (closes #24257).

Discussion
----------

[HttpKernel][DI] Enable Kernel to implement CompilerPassInterface

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

In the same spirit as #13761 that allowed DI exts to be also compiler passes, and as #23812 that allowed the kernel to listen to events, in our new bundle-less world, should we allow the kernel to register itself as a compiler pass? That would make some scenario possible (like having a `TestKernel` that turns some services public.)

Commits
-------

6973a1a [HttpKernel][DI] Enable Kernel to implement CompilerPassInterface
2017-09-20 15:13:22 +02:00
Nicolas Grekas
6973a1ae3b [HttpKernel][DI] Enable Kernel to implement CompilerPassInterface 2017-09-20 15:13:20 +02:00
Nicolas Grekas
2f86474267 feature #23834 [DI] Add "PHP fluent format" for configuring the container (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Add "PHP fluent format" for configuring the container

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

This PR allows one to write DI configuration using just PHP, with full IDE auto-completion.
Example:
```php

namespace Symfony\Component\DependencyInjection\Loader\Configurator;

use Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\Foo;

return function (ContainerConfigurator $c) {

    $c->import('basic.php');

    $s = $c->services()->defaults()
        ->public()
        ->private()
        ->autoconfigure()
        ->autowire()
        ->tag('t', array('a' => 'b'))
        ->bind(Foo::class, ref('bar'))
        ->private();

    $s->set(Foo::class)->args([ref('bar')])->public();
    $s->set('bar', Foo::class)->call('setFoo')->autoconfigure(false);

};
```

Commits
-------

814cc31 [DI] Add "PHP fluent format" for configuring the container
2017-09-20 15:06:57 +02:00
Nicolas Grekas
20ecf91d52 feature #24180 [Routing] Add PHP fluent DSL for configuring routes (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Routing] Add PHP fluent DSL for configuring routes

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

If we add a PHP DSL for DI config (#23834), we must have a similar one for routing. Here it is. See fixtures.

So, you always start with a `RoutingConfigurator $routes`, which allows you to:
```php
$routes->add($name, $path); // adds a route
$routes->import($resource, $type = null, $ignoreErrors = false); // imports routes
$routes->collection($name = ''); // starts a collection, all *names* might be prefixed
```

then
- for "import" and "collection", you can `->prefix($path)`;
- for "add" and "collection", you can fluently "add" several times;
- for "collection" you add sub"`->collection()`";
- and on all, you can configure the route(s) with:
```php
->defaults(array $defaults)
->requirements(array $requirements)
->options(array $options)
->condition($condition)
->host($pattern)
->schemes(array $schemes)
->methods(array $methods)
->controller($controller)
```

Commits
-------

f433c9a [Routing] Add PHP fluent DSL for configuring routes
2017-09-20 15:01:12 +02:00
Robin Chalas
a40c94d8e3 bug #24219 [Console] Preserving line breaks between sentences according to the exception message (yceruto)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Preserving line breaks between sentences according to the exception message

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

Commits
-------

e2d4904 Render all line breaks according to the exception message
2017-09-20 15:00:12 +02:00
Nicolas Grekas
814cc31e57 [DI] Add "PHP fluent format" for configuring the container 2017-09-20 09:09:19 +02:00
Nicolas Grekas
f433c9a79d [Routing] Add PHP fluent DSL for configuring routes 2017-09-20 08:48:50 +02:00
Nicolas Grekas
aad62c427c minor #24228 [Serializer] Add local cache to normalizers (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Serializer] Add local cache to normalizers

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

Should help making the Serializer a bit faster.

Commits
-------

b0c5cf0 [Serializer] Add local cache to normalizers
2017-09-20 07:22:30 +02:00
Nicolas Grekas
cc2abd9d1c fix merge 2017-09-20 06:13:06 +02:00
Nicolas Grekas
8bf85c1edc Merge branch '3.4'
* 3.4:
  [DI] Fix private-by-default BC layer
2017-09-19 23:35:23 +02:00
Nicolas Grekas
ff2ab5831a [DI] Fix private-by-default BC layer 2017-09-19 23:28:23 +02:00
Yonel Ceruto
e2d4904a84 Render all line breaks according to the exception message 2017-09-19 16:27:25 -04:00
Nicolas Grekas
e266fedfe0 Merge branch '3.4'
* 3.4:
  [DI] Turn services and aliases private by default, with BC layer
  [WebProfiler] Fix z-index for pinned AJAX block
  Require v3.4+ of the var-dumper component
2017-09-19 21:46:02 +02:00
Martin Hasoň
f13081d12c [Form] Fix phpdoc 2017-09-19 13:52:15 +02:00
Nicolas Grekas
9948b09c6d [DI] Turn services and aliases private by default, with BC layer 2017-09-19 11:28:48 +02:00
Maxime Steinhausser
a6f01a38eb minor #24249 [DI] remove confusing code (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[DI] remove confusing code

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

This code is a no-op. I guess the intention was to resolve a parametrized alias target, yet this never worked and we don't want to make it work.

Commits
-------

3da645efed [DI] remove confusing code
2017-09-18 19:54:25 +02:00
Nicolas Grekas
3da645efed [DI] remove confusing code 2017-09-18 17:50:14 +02:00
HeahDude
e39e7a4fa9 [Form] Fixed GroupSequence with "constraints" option 2017-09-18 17:33:18 +02:00
Nicolas Grekas
2bf56296bf minor #24230 [Validator] Clarify UUID validator behavior (ro0NL)
This PR was squashed before being merged into the 2.7 branch (closes #24230).

Discussion
----------

[Validator] Clarify UUID validator behavior

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

TLDR; after some investigation this is now a doc update.

This fixes the variant detection of a UUID, in strict validation, as described by https://tools.ietf.org/html/rfc4122#section-4.1.1

Tested variant UUID's taken from [ramsey/uuid](https://github.com/ramsey/uuid/blob/master/tests/UuidTest.php#L506). I cannot produce an invalid variant UUID anymore, as i believe by now anything would be variant 3 (future reserved).

/cc @backbone87

Commits
-------

cde5a47 [Validator] Clarify UUID validator behavior
2017-09-18 16:27:31 +02:00
Roland Franssen
cde5a47e8f [Validator] Clarify UUID validator behavior 2017-09-18 16:27:30 +02:00
Christian Flothmann
893df5804e deprecate relative paths in makePathRelative() 2017-09-18 10:06:42 +02:00
Maxime Steinhausser
47993a8abd [Form] Remove deprecated ChoiceLoaderInterface implementation in TimezoneType 2017-09-17 20:01:07 +02:00
Maxime Steinhausser
14005260be Merge branch '3.4'
* 3.4:
  CS fixes
  [Form] Add input  + regions options to TimezoneType

# Conflicts:
#	src/Symfony/Component/Form/Extension/Core/Type/TimezoneType.php
2017-09-17 19:52:58 +02:00
Fabien Potencier
3b42d8859e bug #22321 [Filesystem] Fixed makePathRelative (ausi)
This PR was squashed before being merged into the 2.7 branch (closes #22321).

Discussion
----------

[Filesystem] Fixed makePathRelative

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

Updating to Symfony 3.2.7 @agoat noticed a bug with `Filesystem::makePathRelative()` in contao/core-bundle#751:

- In Symfony 3.2.6 `makePathRelative('aa/cc', 'bb/cc')` returned correctly `../../aa/cc`
- In Symfony 3.2.7 the same method call returns `./`

I think this issue was introduced with #22133.

While working on the fix I noticed some other issues too:

- An unnecessary if construct that did nothing, fc745f45949fdb8d5aa590618ec73537721f99b4
- Missing normalization of `./` path segments, 15982d4b083723555cfa149368eaaae9609d0e22
- `../` got ignored at the beginning of relative paths, 9586e880d69f613b10e23dd53cea877e622b221a
- The documentation of the method only allowed absolute paths, but there are already unit tests ([FilesystemTest.php:1097](ab93feae3f/src/Symfony/Component/Filesystem/Tests/FilesystemTest.php (L1097))) that test the behavior of relative paths, cec473eeb099c074b5883e7187f74663402f9d87

This pull request fixes all these issues and adds tests for them.

Commits
-------

2bc11505f4 [Filesystem] Fixed makePathRelative
2017-09-17 08:14:54 -07:00
Martin Auswöger
2bc11505f4 [Filesystem] Fixed makePathRelative 2017-09-17 08:14:49 -07:00
Fabien Potencier
857ae7a4f6 bug #24234 [DI] Fix decorated service merge in ResolveInstanceofConditionalsPass (dunglas)
This PR was merged into the 3.3 branch.

Discussion
----------

[DI] Fix decorated service merge in ResolveInstanceofConditionalsPass

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

Follows #24229. It's [the patch](https://github.com/symfony/symfony/pull/24229#issuecomment-329972812) proposed by @nicolas-grekas + a test.

Commits
-------

2a30908bcd [DI] Fix decorated service merge in ResolveInstanceofConditionalsPass
2017-09-17 08:02:32 -07:00
Robin Chalas
f049dd0fba bug #24203 [Security] Preserve URI fragment in HttpUtils::generateUri() (chalasr)
This PR was merged into the 3.3 branch.

Discussion
----------

[Security] Preserve URI fragment in HttpUtils::generateUri()

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

Commits
-------

4dd2e3e Preserve URI fragment in HttpUtils::generateUri()
2017-09-17 15:45:14 +02:00
Nicolas Grekas
c4159b12c7 Merge branch '3.3' into 3.4
* 3.3:
  CS fixes
2017-09-17 12:10:45 +02:00
Nicolas Grekas
d94b9ac308 CS fixes 2017-09-17 12:10:12 +02:00
Kévin Dunglas
2a30908bcd
[DI] Fix decorated service merge in ResolveInstanceofConditionalsPass 2017-09-16 20:21:20 +02:00
Nicolas Grekas
b0c5cf0d9d [Serializer] Add local cache to normalizers 2017-09-16 12:19:29 +02:00
Roland Franssen
183307b741 [Form] Add input + regions options to TimezoneType 2017-09-16 10:56:09 +02:00
Fabien Potencier
7c160a176c Merge branch '3.4'
* 3.4:
  Display form defaults on debug:form
  [Serializer][FrameworkBundle] Add a DateInterval normalizer
  fix merge
  CS: recover no_break_comment
  [DI] Fix non-instantiables auto-discovery
2017-09-15 10:31:55 -07:00
Fabien Potencier
40a3466268 Merge branch '3.3' into 3.4
* 3.3:
  CS: recover no_break_comment
  [DI] Fix non-instantiables auto-discovery
2017-09-15 10:11:35 -07:00
Fabien Potencier
e48617b467 Merge branch '2.8' into 3.3
* 2.8:
  CS: recover no_break_comment
2017-09-15 10:08:21 -07:00
Fabien Potencier
6edfa4b2df Merge branch '2.7' into 2.8
* 2.7:
  CS: recover no_break_comment
2017-09-15 09:59:28 -07:00
GDIBass
15fd863112 Updated Test name and exception name to be more accurate 2017-09-15 09:32:24 -07:00
Yonel Ceruto
12d1a7f810 Display form defaults on debug:form 2017-09-15 18:14:52 +02:00
Maxime Steinhausser
c7e84ccfee feature #23747 [Serializer][FrameworkBundle] Add a DateInterval normalizer (Lctrs)
This PR was squashed before being merged into the 3.4 branch (closes #23747).

Discussion
----------

[Serializer][FrameworkBundle] Add a DateInterval normalizer

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

Could be useful for API needing to submit a duration.

Most code have been adapted from @MisatoTremor's DateInterval form type. Credits to him.

Commits
-------

6185cb1991 [Serializer][FrameworkBundle] Add a DateInterval normalizer
2017-09-15 18:08:41 +02:00
Jérôme Parmentier
6185cb1991 [Serializer][FrameworkBundle] Add a DateInterval normalizer 2017-09-15 18:08:37 +02:00
Nicolas Grekas
46811fdd01 bug #24199 [DI] Fix non-instantiables auto-discovery (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[DI] Fix non-instantiables auto-discovery

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

Commits
-------

8b7c7c1 [DI] Fix non-instantiables auto-discovery
2017-09-15 15:18:29 +02:00
Robin Chalas
4dd2e3e837 Preserve URI fragment in HttpUtils::generateUri() 2017-09-15 15:18:09 +02:00
Nicolas Grekas
e3fa71c9f5 Merge branch '3.3' into 3.4
* 3.3:
  fix merge
2017-09-15 12:58:45 +02:00
Nicolas Grekas
cdb53266b3 fix merge 2017-09-15 12:58:39 +02:00
Dariusz
4e9d1600ee CS: recover no_break_comment 2017-09-15 12:36:22 +02:00
Nicolas Grekas
c1d8833a88 Merge branch '3.4'
* 3.4:
  [CS][2.7] yoda_style, no_unneeded_curly_braces, no_unneeded_final_method, semicolon_after_instruction
  Reset stopwatch.
  [Filesystem] mirror - fix copying content with same name as source/target.
  Removed unnecessary getDefinition() call.
  .php_cs.dist - simplify config
  [WebProfilerBundle] fixed TemplateManager when using Twig 2 without compat interfaces
2017-09-15 12:16:43 +02:00
Nicolas Grekas
4b31b47f08 Merge branch '3.3' into 3.4
* 3.3:
  [CS][2.7] yoda_style, no_unneeded_curly_braces, no_unneeded_final_method, semicolon_after_instruction
  [Filesystem] mirror - fix copying content with same name as source/target.
  Removed unnecessary getDefinition() call.
  .php_cs.dist - simplify config
  [WebProfilerBundle] fixed TemplateManager when using Twig 2 without compat interfaces
2017-09-15 12:12:22 +02:00
Nicolas Grekas
ebbcb7b1be Merge branch '2.8' into 3.3
* 2.8:
  [CS][2.7] yoda_style, no_unneeded_curly_braces, no_unneeded_final_method, semicolon_after_instruction
  [Filesystem] mirror - fix copying content with same name as source/target.
  .php_cs.dist - simplify config
  [WebProfilerBundle] fixed TemplateManager when using Twig 2 without compat interfaces
2017-09-15 12:08:59 +02:00
Nicolas Grekas
6f924755a6 Merge branch '2.7' into 2.8
* 2.7:
  [CS][2.7] yoda_style, no_unneeded_curly_braces, no_unneeded_final_method, semicolon_after_instruction
2017-09-15 11:59:38 +02:00
SpacePossum
3e90138214 [CS][2.7] yoda_style, no_unneeded_curly_braces, no_unneeded_final_method, semicolon_after_instruction 2017-09-15 11:46:57 +02:00
Nicolas Grekas
1e4d4ef888 Merge branch '2.7' into 2.8
* 2.7:
  [Filesystem] mirror - fix copying content with same name as source/target.
  .php_cs.dist - simplify config
  [WebProfilerBundle] fixed TemplateManager when using Twig 2 without compat interfaces
2017-09-15 11:26:12 +02:00
Fabien Potencier
bc39ab5869 Merge branch '3.4'
* 3.4:
  [HttpKernel] deprecated bundle inheritance
  fixed CS
2017-09-15 00:31:03 -07:00
Fabien Potencier
89893c1204 [HttpKernel] deprecated bundle inheritance 2017-09-14 20:39:22 -07:00
Fabien Potencier
b05fce2453 Merge branch '3.4'
* 3.4:
  A DI tag for resettable services.
  Add default templates directory and option to configure it
  Feature #23583  Add current and fallback locales in WDT / Profiler
2017-09-14 19:22:10 -07:00
Fabien Potencier
ee9f4c3dad fixed CS 2017-09-14 19:10:51 -07:00
Alexander M. Turek
d9a6b76dbd A DI tag for resettable services. 2017-09-14 22:28:48 +02:00
Jáchym Toušek
d4f6039dcd
[HttpFoundation] Fix file upload multiple with no files 2017-09-14 14:29:10 +02:00
Nicolas Grekas
8b7c7c179b [DI] Fix non-instantiables auto-discovery 2017-09-14 10:50:29 +02:00
Fabien Potencier
30e3b6d27e feature #23625 Feature #23583 Add current and fallback locales in WDT / Profiler (nemoneph)
This PR was merged into the 3.4 branch.

Discussion
----------

Feature #23583  Add current and fallback locales in WDT / Profiler

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

The goal of this PR is to add informations about the locale and the fallback locales in the translation WDT panel / and profiler

Commits
-------

98a8a6c735 Feature #23583  Add current and fallback locales in WDT / Profiler
2017-09-13 09:05:29 -07:00
Fabien Potencier
5bf241aa8e bug #23473 [Filesystem] mirror - fix copying content with same name as source/target. (gitlost)
This PR was squashed before being merged into the 2.7 branch (closes #23473).

Discussion
----------

[Filesystem] mirror - fix copying content with same name as source/target.

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

Uses `substr()` and lengths in `Filesystem::mirror()` rather than `str_replace()` to avoid multiple replacements.

Commits
-------

b524c84ce1 [Filesystem] mirror - fix copying content with same name as source/target.
2017-09-13 09:02:25 -07:00
gitlost
b524c84ce1 [Filesystem] mirror - fix copying content with same name as source/target. 2017-09-13 09:02:23 -07:00
Alexander M. Turek
d1f7024e14 Removed unnecessary getDefinition() call. 2017-09-13 15:44:19 +02:00
Fabien Potencier
3e4f97852d feature #24176 [Translation] drop MessageSelector support in the Translator (xabbuh)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[Translation] drop MessageSelector support in the Translator

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

Commits
-------

2028a83689 drop MessageSelector support in the Translator
2017-09-13 06:24:04 -07:00
Nicolas Grekas
537db6a6b6 Merge branch '3.4'
* 3.4:
  Fix travis php7.0
  fix oups
  Add support to environment variables APP_ENV/DEBUG in KernelTestCase
  [Routing] Cleanup apache fixtures
2017-09-13 13:47:04 +02:00
Nicolas Grekas
005cf6b463 Merge branch '3.3' into 3.4
* 3.3:
  Fix travis php7.0
  Add support to environment variables APP_ENV/DEBUG in KernelTestCase
  [Routing] Cleanup apache fixtures
2017-09-13 13:45:41 +02:00
Nicolas Grekas
30a13baef3 fix oups 2017-09-13 13:33:28 +02:00
Nicolas Grekas
f1aaae3c8b Merge branch '3.4'
* 3.4:
  [DI] Resolve nested refs to aliases
2017-09-13 13:30:40 +02:00
Nicolas Grekas
8729f9fd6a [DI] Resolve nested refs to aliases 2017-09-13 13:21:02 +02:00
Grégoire Pineau
256055218e [Intl] Fixed support of Locale::getFallback 2017-09-13 12:20:09 +02:00
Nicolas Grekas
68a478befa Merge branch '3.4'
* 3.4:
  Make as many services private as possible
2017-09-13 10:49:19 +02:00
Nicolas Grekas
1936491f9b Make as many services private as possible 2017-09-13 09:59:43 +02:00
Christian Flothmann
2028a83689 drop MessageSelector support in the Translator 2017-09-13 09:30:38 +02:00
Christian Flothmann
96bec9de77 Merge branch '3.4'
* 3.4:
  [Translation] Support adding custom message formatter
2017-09-12 18:27:42 +02:00
Nicolas Grekas
f1ab3b28ac [Routing] Cleanup apache fixtures 2017-09-12 18:00:24 +02:00
Christian Flothmann
ade060e80e feature #18314 [Translation] added support for adding custom message formatter (aitboudad)
This PR was merged into the 3.4 branch.

Discussion
----------

[Translation] added support for adding custom message formatter

| Q | A |
| --- | --- |
| Branch? | master |
| Bug fix? | no |
| New feature? | yes |
| BC breaks? | no |
| Deprecations? | yes |
| Tests pass? | yes |
| Fixed tickets | #6009, #10152, one item in #11742, #11948 |
| License | MIT |
| Doc PR | ~ |

Commits
-------

42183b0 [Translation] Support adding custom message formatter
2017-09-12 14:37:35 +02:00
Abdellatif Ait boudad
42183b0213 [Translation] Support adding custom message formatter 2017-09-12 13:17:01 +01:00
Christian Flothmann
5082e7b530 Merge branch '3.4'
* 3.4:
  [Debug] fix test assertion
2017-09-12 12:12:59 +02:00
Christian Flothmann
75a26bb801 [Debug] fix test assertion 2017-09-12 10:02:51 +02:00
Fabien Potencier
97ac19c666 fixed CS 2017-09-11 14:45:47 -07:00
Fabien Potencier
bb4bde3bba Merge branch '3.4'
* 3.4:
  fixed CS
  fixed CS
  fixed CS
2017-09-11 14:36:26 -07:00
Fabien Potencier
7ab8efb74e fixed CS 2017-09-11 14:34:45 -07:00
Fabien Potencier
f46d324d63 Merge branch '3.3' into 3.4
* 3.3:
  fixed CS
  fixed CS
2017-09-11 14:23:16 -07:00
Fabien Potencier
ceae3bf16c fixed CS 2017-09-11 14:23:01 -07:00
Fabien Potencier
ebfb24070c Merge branch '2.8' into 3.3
* 2.8:
  fixed CS
2017-09-11 14:11:44 -07:00
Fabien Potencier
df07e73363 fixed CS 2017-09-11 14:10:59 -07:00
Fabien Potencier
6700d448ed Merge branch '3.4'
* 3.4:
  [CS] Apply phpdoc_annotation_without_dot
  bumped Symfony version to 3.3.10
  updated VERSION for 3.3.9
  updated CHANGELOG for 3.3.9
  [DomCrawler] Fix conversion to int on GetPhpFiles
  Remove `protected_to_private` rule.
  Filtering empty uuids in ORMQueryBuilderLoader.
2017-09-11 13:45:27 -07:00
Fabien Potencier
8cb614df9f Merge branch '3.3' into 3.4
* 3.3:
  [CS] Apply phpdoc_annotation_without_dot
  bumped Symfony version to 3.3.10
  updated VERSION for 3.3.9
  updated CHANGELOG for 3.3.9
  [DomCrawler] Fix conversion to int on GetPhpFiles
  Remove `protected_to_private` rule.
  Filtering empty uuids in ORMQueryBuilderLoader.
2017-09-11 13:45:17 -07:00
Fabien Potencier
e844b640de Merge branch '2.8' into 3.3
* 2.8:
  [CS] Apply phpdoc_annotation_without_dot
2017-09-11 13:43:11 -07:00
Fabien Potencier
4e1c65c6f9 Merge branch '2.7' into 2.8
* 2.7:
  [CS] Apply phpdoc_annotation_without_dot
2017-09-11 13:39:16 -07:00
Fabien Potencier
687ad65d82 minor #24149 [CS] Apply phpdoc_annotation_without_dot (keradus)
This PR was squashed before being merged into the 2.7 branch (closes #24149).

Discussion
----------

[CS] Apply phpdoc_annotation_without_dot

| 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

Rule was manually applied here : https://github.com/symfony/symfony/pull/19198
In same PR, fixer for this rule was requested, later implementation was approved by Symfony in https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/2020 .

Rule is converting single sentence to not a sentence, dropping final dot and lowercasing first word.
If there are multiple sentences, it doesn't make any changes.

Status quo is that some annotation are in the middle - having first word uppercased, but no final stop.
Let us fix grammar by finishing applying the rule.

If, for some reason, you don't want to follow that rule that was requested by Symfony, please provide reasoning. If it's to some edge-case bug, simply raise that bug issue. If due to some other reasons, please send a PR to drop it from `@Symfony` ruleset.

Info: I did manually reviewed every single change of this PR.

Commits
-------

7a97b49436 [CS] Apply phpdoc_annotation_without_dot
2017-09-11 13:37:54 -07:00
Dariusz
7a97b49436 [CS] Apply phpdoc_annotation_without_dot 2017-09-11 13:37:52 -07:00
Clément LEFEBVRE
98a8a6c735 Feature #23583 Add current and fallback locales in WDT / Profiler 2017-09-11 19:07:47 +02:00
Fabien Potencier
9570a454ef bumped Symfony version to 3.3.10 2017-09-11 09:45:56 -07:00
Fabien Potencier
b9c93f1faa updated VERSION for 3.3.9 2017-09-11 09:13:23 -07:00
Fabien Potencier
51af90e042 Merge branch '2.8' into 3.3
* 2.8:
  [DomCrawler] Fix conversion to int on GetPhpFiles
  Filtering empty uuids in ORMQueryBuilderLoader.
2017-09-11 08:55:22 -07:00
Fabien Potencier
400263a39d Merge branch '2.7' into 2.8
* 2.7:
  [DomCrawler] Fix conversion to int on GetPhpFiles
  Filtering empty uuids in ORMQueryBuilderLoader.
2017-09-11 08:55:02 -07:00
Mara Blaga
122da5add5 [DomCrawler] Fix conversion to int on GetPhpFiles 2017-09-11 15:10:51 +01:00
Nicolas Grekas
1bb2bc322b Merge branch '3.4'
* 3.4:
  [SecurityBundle] Fix valid provider considered undefined
  Revert "bug #24105 [Filesystem] check permissions if dump target dir is missing (xabbuh)"
  [Filesystem] skip tests if not applicable
  [Fabbot] Do not run php-cs-fixer if there are no change in src/
  [ExpressionLanguage] make a proposal in SyntaxError message
  [Security] Fix exception when use_referer option is true and referer is not set or empty
  [HttpKernel] "controller.service_arguments" services should be public
  Get KERNEL_DIR through $_ENV too for KernelTestCase
  Get KERNEL_CLASS through $_ENV too
  check permissions if dump target dir is missing
2017-09-11 08:31:36 +02:00
Nicolas Grekas
b1b686081b Merge branch '3.3' into 3.4
* 3.3:
  Revert "bug #24105 [Filesystem] check permissions if dump target dir is missing (xabbuh)"
  [Filesystem] skip tests if not applicable
  [Fabbot] Do not run php-cs-fixer if there are no change in src/
  [Security] Fix exception when use_referer option is true and referer is not set or empty
  [HttpKernel] "controller.service_arguments" services should be public
  Get KERNEL_DIR through $_ENV too for KernelTestCase
  Get KERNEL_CLASS through $_ENV too
  check permissions if dump target dir is missing
2017-09-11 08:29:22 +02:00
Nicolas Grekas
483a274994 Merge branch '2.8' into 3.3
* 2.8:
  Revert "bug #24105 [Filesystem] check permissions if dump target dir is missing (xabbuh)"
  [Filesystem] skip tests if not applicable
  [Fabbot] Do not run php-cs-fixer if there are no change in src/
  [Security] Fix exception when use_referer option is true and referer is not set or empty
  Get KERNEL_DIR through $_ENV too for KernelTestCase
  check permissions if dump target dir is missing
2017-09-11 07:57:23 +02:00
Fabien Potencier
565a1c4b48 minor #24007 [ExpressionLanguage] SyntaxError : make a proposal when no function or variable found (fmata)
This PR was merged into the 3.4 branch.

Discussion
----------

[ExpressionLanguage] SyntaxError : make a proposal when no function or variable found

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

Now when an Expression fails to be parsed, a SyntaxError is raised with an explicit message but it's impossible to extract the function, variable or the pair token  type/token value to parse.
When a functional user encounters a SyntaxError, by default there is no mechanism to understand why what he typed is incorrect.

This PR exposes when it's possible the subject of the violation and in case of function or variable undefined in the Expression, a proposal is made.

```php
<?php

require 'vendor/autoload.php';

use Symfony\Component\ExpressionLanguage\Lexer;
use Symfony\Component\ExpressionLanguage\Parser;
use Symfony\Component\ExpressionLanguage\SyntaxError;

$lexer = new Lexer();
$parser = new Parser(array());

try {
    $parser->parse($lexer->tokenize('user.city.departement in [departement, departement2]'), array('user', 'departement1', 'departement2'));
} catch (SyntaxError $e) {
    echo $e->getMessage();
}
```
Outputs :

> Variable "departement" is not valid around position 27 for expression `user.city.departement in [departement, departement2]`.
>
> Did you mean "departement1"?

Commits
-------

f19cf8a916 [ExpressionLanguage] make a proposal in SyntaxError message
2017-09-10 16:46:16 -07:00
Nicolas Grekas
41de91c50a Merge branch '3.4'
* 3.4:
  Fixed deprecations in WebProfiler tests
  Fix BC break in console.command.ids parameter
2017-09-09 08:13:32 +02:00
Fabien Potencier
d6dfb5b4e3 Merge branch '2.7' into 2.8
* 2.7:
  Revert "bug #24105 [Filesystem] check permissions if dump target dir is missing (xabbuh)"
  [Filesystem] skip tests if not applicable
  [Fabbot] Do not run php-cs-fixer if there are no change in src/
  [Security] Fix exception when use_referer option is true and referer is not set or empty
  Get KERNEL_DIR through $_ENV too for KernelTestCase
  check permissions if dump target dir is missing
2017-09-08 18:12:52 -07:00
Fabien Potencier
7793b797af Revert "bug #24105 [Filesystem] check permissions if dump target dir is missing (xabbuh)"
This reverts commit d74144fc0b, reversing
changes made to 2b79f48405.
2017-09-08 18:12:06 -07:00
Fabien Potencier
1677d9cddb minor #24073 [Console] Fix BC break in console.command.ids parameter (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Fix BC break in console.command.ids parameter

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

To make command services lazy loaded when their name is known, we need to exclude them from [runtime registration of other (non lazy-loadable) command services](https://github.com/symfony/symfony/blob/master/src/Symfony/Bundle/FrameworkBundle/Console/Application.php#L176).
We also need to have them in the `console.command.ids` parameter in order to [not register them by convention](https://github.com/symfony/symfony/blob/3.4/src/Symfony/Component/HttpKernel/Bundle/Bundle.php#L188).
It is managed using `false` as values instead of ids for the parameter, [excluding false values from runtime registration](https://github.com/symfony/symfony/blob/master/src/Symfony/Bundle/FrameworkBundle/Console/Application.php#L177). Problem is that it makes FrameworkBundle's 3.3 Application incompatible with Console 3.4+ given the check for `false` is missing.

This PR fixes it using another parameter referencing ids of command services which can be lazy loaded.
I would be happy to not add the parameter if someone has a suggestion that allows to do so.

Commits
-------

99e95c3d2d Fix BC break in console.command.ids parameter
2017-09-08 09:59:15 -07:00
Christian Flothmann
1605ce1f07 [Filesystem] skip tests if not applicable 2017-09-08 16:43:09 +02:00
Nicolas Grekas
8357f2ae4a Merge branch '3.4'
* 3.4:
  Do not display short exception trace for built-in console exceptions
  Deprecated the web_profiler.position option
  [DI] rename ResolveDefinitionTemplatesPass to ResolveChildDefinitionsPass
  Throw a meaningful exception when an undefined user provider is used inside a firewall
  [DI] Allow processing env vars
2017-09-08 10:28:59 +02:00
Yonel Ceruto
47b1106868 Do not display short exception trace for built-in console exceptions 2017-09-07 11:50:16 -04:00
Florent Mata
f19cf8a916 [ExpressionLanguage] make a proposal in SyntaxError message 2017-09-07 17:13:34 +02:00
Sergey Linnik
a29e0694de [Security] Fix exception when use_referer option is true and referer is not set or empty 2017-09-07 07:52:52 -07:00
Fabien Potencier
7dfb5aa321 feature #24122 [DI] rename ResolveDefinitionTemplatesPass to ResolveChildDefinitionsPass (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] rename ResolveDefinitionTemplatesPass to ResolveChildDefinitionsPass

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

Because that name makes things harder to understand now.
This uses exactly the same BC layer logic as the one we have for the renaming of DefinitionDecorator to ChildDefinition.

Commits
-------

a7f98c60d9 [DI] rename ResolveDefinitionTemplatesPass to ResolveChildDefinitionsPass
2017-09-07 07:45:15 -07:00
Fabien Potencier
d74144fc0b bug #24105 [Filesystem] check permissions if dump target dir is missing (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Filesystem] check permissions if dump target dir is missing

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

`is_dir()` returns `false` if the parent directory misses the executable
bit even when the directory itself is present.

Commits
-------

a0f9f2c537 check permissions if dump target dir is missing
2017-09-07 07:43:15 -07:00
Nicolas Grekas
b9c6928d7e [HttpKernel] "controller.service_arguments" services should be public 2017-09-07 14:08:26 +02:00
Nicolas Grekas
a7f98c60d9 [DI] rename ResolveDefinitionTemplatesPass to ResolveChildDefinitionsPass 2017-09-07 10:45:01 +02:00
Nicolas Grekas
1f92e459db [DI] Allow processing env vars 2017-09-07 08:08:52 +02:00
Nicolas Grekas
d91a09524f Merge branch '3.4'
* 3.4:
  Fix merge
2017-09-06 21:47:57 +02:00
Nicolas Grekas
8015ad60cc Fix merge 2017-09-06 21:47:44 +02:00
Nicolas Grekas
80dbe74b22 Merge branch '3.4'
* 3.4:
  [travis] fix minor php7.0 version
  [travis] add ldap.so for php70
  [HttpFoundation] Fix logic when JsonSerializable is missing
  [travis] update to trusty
  Add help description to debug:form command
  Don't use return on Assert::markTestSkipped.
  [TwigBridge] Show Twig's loader paths on debug:twig command
  [FrameworkBundle] Fix Di config to allow for more private services
  Create directories recursively in the PHPUnit bridge
  [Dotenv] Add a BC break note
  [Cache] Use options from Memcached DSN
  Fix ArrayInput::toString() for VALUE_IS_ARRAY options/args
  be able to enable workflow support explicitly
  [Yaml] add inline parser context initializer
  [ExpressionLanguage] throws an exception on calling uncallable method
2017-09-06 21:16:37 +02:00
Nicolas Grekas
e565c6de00 Merge branch '3.3' into 3.4
* 3.3:
  [travis] fix minor php7.0 version
  [travis] add ldap.so for php70
  [HttpFoundation] Fix logic when JsonSerializable is missing
  [travis] update to trusty
  Don't use return on Assert::markTestSkipped.
  Create directories recursively in the PHPUnit bridge
  [Dotenv] Add a BC break note
  Fix ArrayInput::toString() for VALUE_IS_ARRAY options/args
  [ExpressionLanguage] throws an exception on calling uncallable method
2017-09-06 21:03:12 +02:00
Nicolas Grekas
9431a38cfc Merge branch '2.8' into 3.3
* 2.8:
  [travis] add ldap.so for php70
  [HttpFoundation] Fix logic when JsonSerializable is missing
2017-09-06 19:07:39 +02:00
Nicolas Grekas
9d240de539 Merge branch '2.7' into 2.8
* 2.7:
  [HttpFoundation] Fix logic when JsonSerializable is missing
2017-09-06 18:54:42 +02:00
Nicolas Grekas
d1fe4153a1 [HttpFoundation] Fix logic when JsonSerializable is missing 2017-09-06 18:53:48 +02:00
Nicolas Grekas
87b3b1a685 Merge branch '2.8' into 3.3
* 2.8:
  [travis] update to trusty
  Fix ArrayInput::toString() for VALUE_IS_ARRAY options/args
  [ExpressionLanguage] throws an exception on calling uncallable method
2017-09-06 18:40:18 +02:00
Christian Flothmann
a0f9f2c537 check permissions if dump target dir is missing
`is_dir()` returns `false` if the parent directory misses the executable
bit even when the directory itself is present.
2017-09-06 18:35:18 +02:00
Nicolas Grekas
c3f14708f4 Merge branch '2.7' into 2.8
* 2.7:
  [travis] update to trusty
  Fix ArrayInput::toString() for VALUE_IS_ARRAY options/args
  [ExpressionLanguage] throws an exception on calling uncallable method
2017-09-06 18:32:38 +02:00
Nicolas Grekas
cfc9346f66 [travis] update to trusty 2017-09-06 17:42:52 +02:00
Fabien Potencier
1022bb497d minor #24060 [Yaml] add inline parser context initializer (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Yaml] add inline parser context initializer

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

Calling the parser to initialize some internal context does not look
like a good idea. Additionally, this change allows to not accept null
values in `Inline::parse()` in 3.4 anymore.

Commits
-------

1be23c2a86 [Yaml] add inline parser context initializer
2017-09-06 08:08:15 -07:00
Yonel Ceruto
f8afe02a49 Add help description to debug:form command 2017-09-06 08:10:51 -04:00
Alexander M. Turek
9cadeb8af2 Don't use return on Assert::markTestSkipped. 2017-09-05 22:39:38 +02:00
Fabien Potencier
a819038090 bug #24041 [ExpressionLanguage] throws an exception on calling uncallable method (fmata)
This PR was merged into the 2.7 branch.

Discussion
----------

[ExpressionLanguage] throws an exception on calling uncallable method

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

When we evaluate an expression, if a callable is incorrect (not exists or not accessible) a warning is printed.
This PR handles this case and throws a \RuntimeException when `is_callable()` returns `false` :

```php
$el = new ExpressionLanguage();
$el->evaluate('foo.myfunction()', array('foo' => new \stdClass()));
```

**Before:**
`Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'stdClass' does not have a method 'myfunction' in /home/.../src/Symfony/Component/ExpressionLanguage/Node/GetAttrNode.php on line 84`

**After:**
`Fatal error: Uncaught RuntimeException: Unable to call method "myfunction" of object "stdClass". in /home/.../src/Symfony/Component/ExpressionLanguage/Node/GetAttrNode.php:81`

Commits
-------

c8b65aeb8b [ExpressionLanguage] throws an exception on calling uncallable method
2017-09-05 11:48:18 -07:00
Fabien Potencier
c0b4e564db feature #23978 [Cache] Use options from Memcached DSN (Bukashk0zzz)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] Use options from Memcached DSN

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

This PR allows to pass options in cache config.
Example:
```yaml
framework:
    cache:
        app: cache.adapter.memcached
        default_memcached_provider: 'memcached://%env(MEMCACHE_HOST)%?socket_recv_size=1&socket_send_size=2'
```

Commits
-------

5798dd6bec [Cache] Use options from Memcached DSN
2017-09-05 11:44:31 -07:00
Nicolas Grekas
76c42175b9 [FrameworkBundle] Fix Di config to allow for more private services 2017-09-05 18:47:43 +02:00
Nicolas Grekas
703a84c18c minor #24081 [Dotenv] Add a BC break note (voronkovich)
This PR was squashed before being merged into the 3.3 branch (closes #24081).

Discussion
----------

[Dotenv] Add a BC break note

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

Commits
-------

66621cc [Dotenv] Add a BC break note
2017-09-05 09:59:34 +02:00
Oleg Voronkovich
66621cc559 [Dotenv] Add a BC break note 2017-09-05 09:59:31 +02:00
Roland Franssen
36d2a45d1d [HttpKernel] Dont register env parameter resource 2017-09-05 09:06:08 +02:00
Denis Golubovskiy
5798dd6bec
[Cache] Use options from Memcached DSN 2017-09-05 09:16:07 +03:00
Robin Chalas
2ba5005830 Fix ArrayInput::toString() for VALUE_IS_ARRAY options/args 2017-09-04 22:36:37 +02:00
Nicolas Grekas
1cad4696da fix merge 2017-09-04 20:35:21 +02:00
Nicolas Grekas
872e77136d Merge branch '3.4'
* 3.4:
  Implemented PruneableInterface on TagAwareAdapter
  Do not trigger deprecation if node has not been explicitly filled
  Improve microseconds support in date caster
  Use new configuration node depreciation method
2017-09-04 20:13:11 +02:00
Nicolas Grekas
aad90faa93 bug #24030 [VarDumper] Improve microseconds support in date caster (maidmaid)
This PR was merged into the 3.4 branch.

Discussion
----------

[VarDumper] Improve microseconds support in date caster

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

This PR adds the microseconds in ``period`` virtual property and in tooltip overview.

Before:
![](https://user-images.githubusercontent.com/4578773/29843773-58a2e212-8d0d-11e7-9053-3eb1cf933e3b.png)

After:
![](https://user-images.githubusercontent.com/4578773/29843774-58bd8342-8d0d-11e7-8d83-40835c89313c.png)

And fixes interval caster:

```php
dump((new DateTime('00:00:00'))->diff(new DateTime('00:00:00.123')));

// before
DateInterval {
  interval: + 00:00:00.0.123
}

// after
DateInterval {
  interval: + 00:00:00.123
}
```

Commits
-------

479b5d6 Improve microseconds support in date caster
2017-09-04 20:03:48 +02:00
Nicolas Grekas
c9bee848c5 bug #24025 Use new configuration depreciation method (sanpii, chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

Use new configuration depreciation method

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

In keeping with #22382

Commits
-------

4a62cc6 Do not trigger deprecation if node has not been explicitly filled
012e381 Use new configuration node depreciation method
2017-09-04 19:59:34 +02:00
Yanick Witschi
b635b62463 Implemented PruneableInterface on TagAwareAdapter 2017-09-04 19:57:22 +02:00
Nicolas Grekas
61966df131 [DI] There are no initialized-only refs to undeclared services 2017-09-04 19:49:50 +02:00
Nicolas Grekas
fc8fe44838 Merge branch '3.4'
* 3.4:
  [3.4][DI] Inline trivial services
  sync upgrade file for Symfony 4.0 between branches
  Fix ability to deprecate a config node
  [DI] Minor fix in dumped code
  [Console] Display file and line on Exception
  Fix deprecations regarding core commands registered as services
  #24046 added check for ext-dom to XmlUtil::loadFile
2017-09-04 19:33:15 +02:00
Nicolas Grekas
2a7f86f85b [3.4][DI] Inline trivial services 2017-09-04 19:14:45 +02:00
Nicolas Grekas
80c0ec1cfd Merge branch '3.3' into 3.4
* 3.3:
  [DI] Minor fix in dumped code
  #24046 added check for ext-dom to XmlUtil::loadFile
2017-09-04 19:13:19 +02:00
Robin Chalas
4a62cc6668 Do not trigger deprecation if node has not been explicitly filled 2017-09-04 19:00:50 +02:00
Dany Maillard
479b5d639a Improve microseconds support in date caster 2017-09-04 18:34:31 +02:00
Fabien Potencier
28e7a1377d Merge branch '2.8' into 3.3
* 2.8:
  #24046 added check for ext-dom to XmlUtil::loadFile
2017-09-04 09:28:07 -07:00
Fabien Potencier
5d2af1ef4c Merge remote-tracking branch 'origin/2.7' into 2.8
* origin/2.7:
  #24046 added check for ext-dom to XmlUtil::loadFile
2017-09-04 09:26:37 -07:00
Christian Flothmann
1be23c2a86 [Yaml] add inline parser context initializer
Calling the parser to initialize some internal context does not look
like a good idea. Additionally, this change allows to not accept null
values in `Inline::parse()` in 3.4 anymore.
2017-09-04 15:18:59 +02:00
Robin Chalas
fc91869376 Fix ability to deprecate a config node 2017-09-03 21:32:08 +02:00
Nicolas Grekas
263b95e1d1 [DI] Minor fix in dumped code 2017-09-03 20:01:57 +02:00
Fabien Potencier
4016b3c47c feature #23262 Add scalar typehints/return types (chalasr, xabbuh)
This PR was merged into the 4.0-dev branch.

Discussion
----------

Add scalar typehints/return types

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no (final, already breaks if doc not respected)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/23242#issuecomment-310327150
| License       | MIT
| Doc PR        | n/a

Commits
-------

7b1715b078 [Yaml] use scalar type hints where possible
6ce70e4bf9 Add scalar typehints/return types on final/internal/private code
2017-09-03 09:17:01 -07:00
Robin Chalas
b2e1415cab feature #21414 [Console] Display file and line on Exception (arno14)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Display file and line on Exception

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

When an exception occured:
If you have not set a verbose mode when running the command, you don't have information about the file and the line on which the exception occured.
So you must run a second time the command but the exception may not occured this time (if based on some databases datas which have changed) and it's a waste of time if you process is very long and the exception occured at the end.

The feature #21003 solve the problem if you are in a standard Symfony edition, if you leave the default settings and if you are in dev mode

Commits
-------

484d278 [Console] Display file and line on Exception
2017-09-03 17:31:40 +02:00
Arnaud
484d278f50 [Console] Display file and line on Exception 2017-09-03 17:13:41 +02:00
Nicolas Grekas
3a09357178 Merge branch '3.4'
* 3.4:
  [HttpKernel] Deprecate EnvParametersResource
  [Lock] Check TTL expiration in lock acquisition
  Fix race condition in tests between cache and lock
  Improved how links are displayed in exception messages
2017-09-03 16:49:52 +02:00
Nicolas Grekas
c7e61f2333 Merge branch '3.3' into 3.4
* 3.3:
  Fix race condition in tests between cache and lock
  Improved how links are displayed in exception messages
2017-09-03 16:49:34 +02:00
Nicolas Grekas
cbd6b8e288 feature #24068 [HttpKernel] Deprecate EnvParametersResource (ro0NL)
This PR was squashed before being merged into the 3.4 branch (closes #24068).

Discussion
----------

[HttpKernel] Deprecate EnvParametersResource

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

See #24067

Commits
-------

76ea6df [HttpKernel] Deprecate EnvParametersResource
2017-09-03 16:48:11 +02:00
Roland Franssen
76ea6dfd33 [HttpKernel] Deprecate EnvParametersResource 2017-09-03 16:48:09 +02:00
Robin Chalas
99e95c3d2d Fix BC break in console.command.ids parameter 2017-09-03 16:34:48 +02:00
Fabien Potencier
7c5142804f feature #22542 [Lock] Check TTL expiration in lock acquisition (jderusse)
This PR was squashed before being merged into the 3.4 branch (closes #22542).

Discussion
----------

[Lock] Check TTL expiration in lock acquisition

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

This PR improve lock acquisition by throwing exception when the TTL is expired during the lock process.

Commits
-------

f74ef35778 [Lock] Check TTL expiration in lock acquisition
2017-09-03 07:31:46 -07:00
Jérémy Derussé
f74ef35778 [Lock] Check TTL expiration in lock acquisition 2017-09-03 07:31:45 -07:00
Jérémy Derussé
26948cf565 Fix race condition in tests between cache and lock 2017-09-03 16:06:51 +02:00
Oleg Andreyev
2f292c247e #24046 added check for ext-dom to XmlUtil::loadFile 2017-09-03 12:02:00 +02:00
Nicolas Grekas
8c70b3939c Merge branch '3.4'
* 3.4:
  Improved the design of the redirection method in the web toolbar
  Mark SemaphoreStore::isSupported() as internal
  [DI] Add ContainerInterface::IGNORE_ON_UNINITIALIZED_REFERENCE
  [FrameworkBundle] Fix form conflict rule
  [Security] add impersonator_user to "User was reloaded" log message
  [DI] Add upgrade note about case insenstive params
  add (pdo|chain) cache (adapter|simple) prune method
  Update NoSuchPropertyException message for writeProperty
  [Routing] added the possibility to define a prefix for all routes of a controller
  [DI] Don't track merged configs when the extension doesn't expose it
  [Cache] Use namespace versioning for backends that dont support clearing by keys
  [VarDumper] add force-collapse/expand + use it for traces
2017-09-03 10:15:12 +02:00
Nicolas Grekas
012c56b8cb Merge branch '3.3' into 3.4
* 3.3:
  Improved the design of the redirection method in the web toolbar
  Update NoSuchPropertyException message for writeProperty
  [DI] Don't track merged configs when the extension doesn't expose it
  [Cache] Use namespace versioning for backends that dont support clearing by keys
2017-09-03 10:01:11 +02:00
Fabien Potencier
adc862ac21 feature #24031 [Routing] Add the possibility to define a prefix for all routes of a controller (fabpot)
This PR was merged into the 3.4 branch.

Discussion
----------

[Routing] Add the possibility to define a prefix for all routes of a controller

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | sensiolabs/SensioFrameworkExtraBundle#283
| License       | MIT
| Doc PR        | not yet

This PR adds the possibility to define a name on a `@Route` annotation set on a controller class. The name is then used as a prefix for all routes defined in the controller.

Commits
-------

00d959c933 [Routing] added the possibility to define a prefix for all routes of a controller
2017-09-01 12:30:42 -07:00
Fabien Potencier
67a58c9c3e feature #24052 [DI] Remove case insensitive parameter names (ro0NL)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[DI] Remove case insensitive parameter names

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

First round, lets see :)

Commits
-------

ed3df04da8 [DI] Remove case insensitive parameter names
2017-09-01 12:21:35 -07:00
Fabien Potencier
030ea9c127 minor #24053 [Lock] Remove old version check (maidmaid)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[Lock] Remove old version check

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

Because minimal required version PHP is currenty 7.1.3.

ping @jderusse

Commits
-------

d817f98004 Remove old version check
2017-09-01 11:30:34 -07:00
Fabien Potencier
1730cff72d minor #24057 [Lock] Make SemaphoreStore::isSupported() internal (maidmaid)
This PR was merged into the 3.4 branch.

Discussion
----------

[Lock] Make SemaphoreStore::isSupported() internal

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

Commits
-------

86f2f25856 Mark SemaphoreStore::isSupported() as internal
2017-09-01 10:51:15 -07:00
Javier Eguiluz
a2af9a940f Improved how links are displayed in exception messages 2017-09-01 15:23:39 +02:00
Hidde Wieringa
4222d54a53
Initial commit for Bootstrap 4 form theme, based on Bootstrap 3 form theme
Fixed Bootstrap 4 error output

Updated form errors to look correctly

Cranked Twig Bridge Composer version to ~3.2

Added @ author PHPdoc tag to BS 4 test classes

Fixed small items, and added fieldset/legend support

- Fixed form class for File type
- Added fieldset element for expanded form types
- Added legend element as label for expanded form types
- Fixed horizontal form classes for labels

Added test for legend form label

Fixed form label coloring on validation errors

Fixed concrete Bootstrap layout test classes to use new code

Fixed tests for form-control-label class on form labels

Fixed a typo in using old Bootstrap 4 concrete test code

Processed proposed changes from stof

Processed proposed changes in bootstrap base layout from stof

Updated margin-top for error list in the alpha-5 version of BS 4

Fixed {% endblock ... %} and fixed BS error class in test

Fixed TwigRenderer => FormRenderer code change

Minor fixed for radio/checkboxes and fixed validation feedback

Added ~3.4 require of symfony/form (and <3.4 conflict) to Twig Bridge
composer.json

Updated Boostrap 4 file input to have class .form-control-file
2017-09-01 13:34:10 +02:00
Dany Maillard
d817f98004 Remove old version check 2017-09-01 13:07:36 +02:00
Dany Maillard
86f2f25856 Mark SemaphoreStore::isSupported() as internal 2017-09-01 11:42:36 +02:00
Christian Flothmann
c8f9f916b4 prevent bundle readers from breaking out of paths 2017-09-01 10:48:43 +02:00