Commit Graph

25910 Commits

Author SHA1 Message Date
Fabien Potencier
b0bc9fea85 bug #23240 [Console] Fix catching exception type in QuestionHelper (voronkovich)
This PR was merged into the 2.8 branch.

Discussion
----------

[Console] Fix catching exception type in QuestionHelper

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

When generic exceptions were replaced by domain exceptions in dd17dc00ee one catch statement was missed. The existing code works fine because a `RuntimeException` extends a `\RuntimeException`.

Commits
-------

1c091eb703 [Console] Fix catching exception type in QuestionHelper
2017-06-21 07:10:56 -07:00
Fabien Potencier
407631c682 minor #23241 [Serializer] Implement missing context aware interfaces (chalasr)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[Serializer] Implement missing context aware interfaces

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

Forgot in https://github.com/symfony/symfony/pull/22743

Commits
-------

61d796a2ea [Serializer] Implement missing context aware interfaces
2017-06-21 07:04:30 -07:00
Fabien Potencier
16fbe3aac4 feature #22932 [HttpFoundation] Adds support for the immutable directive in the cache-control header (twoleds)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] Adds support for the immutable directive in the cache-control header

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

Added support for the immutable directive in the cache-control header, tries to resolve #21425.

Commits
-------

33573c6eb1 Added support for the immutable directive in the cache-control header
2017-06-21 06:57:30 -07:00
Christian Flothmann
17c7a2d8c7 [HttpFoundation] remove deprecated features 2017-06-21 14:43:39 +02:00
Alexander M. Turek
2d8fdd9622 Add Doctrine Cache to dev dependencies to fix failing unit tests. 2017-06-21 13:11:41 +02:00
Christian Flothmann
3c21650d9e return fallback locales whenever possible 2017-06-21 13:03:18 +02:00
Florent Olivaud
a85d5b01f7 Fix Predis client cluster with pipeline 2017-06-21 11:32:59 +02:00
Maxime Steinhausser
03f33b592a [DI] Uncomment code 2017-06-21 11:27:03 +02:00
Robin Chalas
dabecdee99 [Dotenv] Test load() with multiple paths 2017-06-21 09:43:27 +02:00
Fabien Potencier
be6af2e944 Merge branch '2.7' into 2.8
* 2.7:
  [Routing] Fix XmlFileLoader exception message
  Sessions: configurable "use_strict_mode" option for NativeSessionStorage
  [FrameworkBundle] [Command] Clean bundle directory, fixes #23177
  Reset redirectCount when throwing exception
  [TwigBundle] Remove template.xml services when templating is disabled
  add content-type header on exception response
  Embedding a response that combines expiration and validation, that should not defeat expiration on the combined response
  Fix two edge cases in ResponseCacheStrategy
  [Routing] Expose request in route conditions, if needed and possible
  [Routing] Expose request in route conditions, if needed and possible
  [Translation][FrameworkBundle] Fix resource loading order inconsistency reported in #23034
  [Filesystem] added workaround in Filesystem::rename for PHP bug
  Add tests for ResponseCacheStrategy to document some more edge cases
  [HttpFoundation] added missing docs
  fixes #21606
  [VarDumper] fixes
  [Security] fix switch user _exit without having current token
2017-06-20 16:27:56 -07:00
Robin Chalas
61d796a2ea [Serializer] Implement missing context aware interfaces 2017-06-20 23:06:58 +02:00
Oleg Voronkovich
1c091eb703 [Console] Fix catching exception type in QuestionHelper 2017-06-20 23:21:43 +03:00
Fabien Potencier
035d5260b9 bug #23218 [DI] Dedup tags when using instanceof/autoconfigure (ogizanagi)
This PR was merged into the 3.3 branch.

Discussion
----------

[DI] Dedup tags when using instanceof/autoconfigure

| Q             | A
| ------------- | ---
| Branch?       | 3.3 <!-- see comment below -->
| Bug fix?      | yes
| 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, failures unrelated (8dc00bbe8d)
| Fixed tickets | N/A <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

This fixes uselessly duplicated tags shown when using the `debug:container` command, or in the dumped container in xml format:
<img width="554" alt="screenshot 2017-06-17 a 20 41 27" src="https://user-images.githubusercontent.com/2211145/27255375-de79fc4e-539d-11e7-98d9-c10074ddcffb.PNG">
<img width="494" alt="screenshot 2017-06-17 a 20 41 54" src="https://user-images.githubusercontent.com/2211145/27255376-de7ff5b8-539d-11e7-97ae-ccd31b1d5254.PNG">
<img width="1371" alt="screenshot 2017-06-17 a 20 42 33" src="https://user-images.githubusercontent.com/2211145/27255377-de869ba2-539d-11e7-8cd7-6005f8a499d6.PNG">

(duplicates here are explained by the twig namespaced and unnamespaced versions, and the controllers being tagged explicitly in https://github.com/symfony/symfony-demo/blob/master/app/config/services.yml#L25, while also being tagged by autoconfiguration ([which is expected](https://github.com/symfony/symfony-docs/pull/7921#discussion_r117585827)))

Commits
-------

9f877efb39 [DI] Dedup tags when using instanceof/autoconfigure
2017-06-20 07:01:46 -07:00
Javier Eguiluz
5a18553bf1 Improved the exception page when there is no message 2017-06-20 13:28:19 +02:00
Javier Eguiluz
46994a105b bug #23229 [WebProfilerBundle] Eliminate line wrap on count column (routing) (e-moe)
This PR was merged into the 2.8 branch.

Discussion
----------

[WebProfilerBundle] Eliminate line wrap on count column (routing)

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

Commits
-------

78f1fde [WebProfilerBundle] Eliminate line wrap on count columnt (routing)
2017-06-20 10:41:14 +02:00
Nikolay Labinskiy
78f1fdeb1c [WebProfilerBundle] Eliminate line wrap on count columnt (routing) 2017-06-20 10:52:59 +03:00
Fabien Potencier
6e75cee83e bug #22732 [Security] fix switch user _exit without having current token (dmaicher)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] fix switch user _exit without having current token

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

Attempting to `_exit` from a switched user caused an error when not having any token in the storage (for example happens when not logged in + disallowing anonymous users on that firewall):

`[1] Symfony\Component\Debug\Exception\FatalThrowableError: Type error: Argument 1 passed to Symfony\Component\Security\Http\Firewall\SwitchUserListener::getOriginalToken()
        must be an instance of Symfony\Component\Security\Core\Authentication\Token\TokenInterface, null given, called in
        symfony/symfony/src/Symfony/Component/Security/Http/Firewall/SwitchUserListener.php on line 164`

Commits
-------

16da6861be [Security] fix switch user _exit without having current token
2017-06-19 11:57:05 -07:00
Maxime Steinhausser
ac5e884f36 [Profiler][Validator] Add a validator panel in profiler 2017-06-19 17:21:01 +02:00
Christian Flothmann
44ff4b1a49 [Validator] replace hardcoded service id 2017-06-19 16:33:26 +02:00
Fabien Potencier
71b61b04a1 minor #23222 [Routing] Fix XmlFileLoader exception message (voronkovich)
This PR was merged into the 2.7 branch.

Discussion
----------

[Routing] Fix XmlFileLoader exception message

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

When an `XmlFileLoader` encounters an unknown tag it throws an exception with message like `Unknown tag "foo" used in file "bar". Expected "default", "requirement" or "option".`. A proper message should be `Unknown tag "foo" used in file "bar". Expected "default", "requirement", "option"  or "condition".`

Commits
-------

f6a94cb56f [Routing] Fix XmlFileLoader exception message
2017-06-19 07:02:36 -07:00
Oleg Voronkovich
f6a94cb56f [Routing] Fix XmlFileLoader exception message 2017-06-18 21:08:05 +03:00
Fabien Potencier
b223241f64 minor #23217 [Serializer] Fix workaround min php version (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[Serializer] Fix workaround min php version

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see comment below -->
| Bug fix?      | yes
| 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 | https://github.com/symfony/symfony/pull/22444#issuecomment-309220368 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Commits
-------

74db2e61bc [Serializer] Fix workaround min php version
2017-06-18 08:43:21 -07:00
Jacob Dreesen
93e6e95dae Remove duplicate changelog entries 2017-06-18 13:44:42 +02:00
Maxime Steinhausser
9f877efb39 [DI] Dedup tags when using instanceof/autoconfigure 2017-06-17 21:02:43 +02:00
Maxime Steinhausser
e76ee7a542 [Translation] Fix FileLoader::loadResource() php doc 2017-06-17 21:00:18 +02:00
Maxime Steinhausser
74db2e61bc [Serializer] Fix workaround min php version 2017-06-17 20:11:33 +02:00
Jaroslav Kuba
33573c6eb1 Added support for the immutable directive in the cache-control header 2017-06-17 09:49:15 +02:00
Fabien Potencier
0478ecd472 feature #22124 Shift responsibility for keeping Date header to ResponseHeaderBag (mpdude)
This PR was squashed before being merged into the 3.4 branch (closes #22124).

Discussion
----------

Shift responsibility for keeping Date header to ResponseHeaderBag

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

This is an improvement over #22036. It shifts responsibility for preserving a `Date` header to the `ResponseHeaderBag`.

We already have similar logic there for the `Cache-Control` header.

Commits
-------

5d838360f3 Shift responsibility for keeping Date header to ResponseHeaderBag
2017-06-16 14:36:06 -07:00
Matthias Pigulla
5d838360f3 Shift responsibility for keeping Date header to ResponseHeaderBag 2017-06-16 14:35:59 -07:00
Dawid Nowak
90e192e824 Sessions: configurable "use_strict_mode" option for NativeSessionStorage
https://github.com/symfony/symfony/pull/22352#issuecomment-302113533
2017-06-16 20:49:16 +02:00
RJ Garcia
8f6e67d319 XML Encoder Optional Type Cast
- This provides the ability to forgo the attribute type casting
- Updated the CHANGELOG

Signed-off-by: RJ Garcia <rj@bighead.net>
2017-06-16 11:28:02 -07:00
Fabien Potencier
436d5e4e94 bug #23195 [FrameworkBundle] [Command] Clean bundle directory, fixes #23177 (NicolasPion)
This PR was squashed before being merged into the 2.7 branch (closes #23195).

Discussion
----------

[FrameworkBundle] [Command] Clean bundle directory, fixes #23177

| Q             | A
| ------------- | ---
| Branch?       | 2.7 <!-- see comment below -->
| Bug fix?      | yes
| 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?   | no
| Fixed tickets | #23177
| License       | MIT

This PR fix #23177
when running an assets:install, it will remove directorys who do not have anymore a valid Bundle

Commits
-------

180f178f43 [FrameworkBundle] [Command] Clean bundle directory, fixes #23177
2017-06-16 11:24:38 -07:00
Nicolas Pion
180f178f43 [FrameworkBundle] [Command] Clean bundle directory, fixes #23177 2017-06-16 11:24:36 -07:00
Fabien Potencier
772ab3d74b bug #23213 Fixed composer resources between web/cli (iltar)
This PR was merged into the 3.3 branch.

Discussion
----------

Fixed composer resources between web/cli

| Q             | A
| ------------- | ---
| Branch?       | 3.3
| Bug fix?      | yes
| New feature?  | no (reverts one)
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #23212
| License       | MIT
| Doc PR        | ~

This is a possible fix for the flawed module check for the composer resource. As this is the easiest fix, I've created a PR ready to be merged.

Commits
-------

9e047122f1 Fixed composer resources between web/cli
2017-06-16 11:17:54 -07:00
Fabien Potencier
1d304d2c9b fixed CS 2017-06-16 10:45:26 -07:00
Fabien Potencier
54b3e71992 bug #23160 [WebProfilerBundle] Fix the icon for the Cache panel (javiereguiluz)
This PR was squashed before being merged into the 3.3 branch (closes #23160).

Discussion
----------

[WebProfilerBundle] Fix the icon for the Cache panel

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

Commits
-------

50c1d478ce [WebProfilerBundle] Fix the icon for the Cache panel
2017-06-16 10:44:58 -07:00
Javier Eguiluz
50c1d478ce [WebProfilerBundle] Fix the icon for the Cache panel 2017-06-16 10:44:56 -07:00
Fabien Potencier
c8884e7d9a bug #23052 [TwigBundle] Add Content-Type header for exception response (rchoquet)
This PR was merged into the 2.7 branch.

Discussion
----------

[TwigBundle] Add Content-Type header for exception response

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

This PR comes after I was looking to customize the way exceptions are served for a JSON API (grabbed the info at http://symfony.com/doc/current/controller/error_pages.html#overriding-the-default-exceptioncontroller).

I noticed that even when changing the request format to 'json' so that the right json.twig template is served:
```php
// in my override of the ExceptionController
public function showAction(Request $request, FlattenException $exception, DebugLoggerInterface $logger = null)
{
    $request->setRequestFormat('json');
    return parent::showAction($request, $exception, $logger);
}
```
the response Content-Type header was still 'text/html'.

By now, the response Content-Type should be corresponding to the given request format.

I also feel there's some room for improvement with the general "displaying error for a JSON API" chapter as it feels strange that there's no configuration option to just say "serve me anything as json", but that's another issue.

Commits
-------

9e2b408f25 add content-type header on exception response
2017-06-16 08:39:36 -07:00
Fabien Potencier
60e3a998d6 bug #23173 [WebServerBundle] Fix router script option BC (1ed)
This PR was merged into the 3.3 branch.

Discussion
----------

[WebServerBundle] Fix router script option BC

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

Server commands does not work with router script given by a relative path eg.:
```
bin/console server:run -r router.php
```
but, this was working before and was removed (by accident I guess) in https://github.com/symfony/symfony/pull/21039/files#diff-b915f83f99a4166eb34eab581a92501bL187

Commits
-------

aeab2fe1f7 [WebServerBundle] Fix router script path and check existence
2017-06-16 06:30:30 -07:00
Gábor Egyed
aeab2fe1f7 [WebServerBundle] Fix router script path and check existence 2017-06-16 15:28:11 +02:00
Iltar van der Berg
9e047122f1 Fixed composer resources between web/cli 2017-06-16 14:40:34 +02:00
Maxime Steinhausser
2940bb0d2c [FrameworkBundle] Allow .yaml file extension everywhere 2017-06-16 12:53:40 +02:00
Fabien Potencier
b8c94d03c2 bug #23199 Reset redirectCount when throwing exception (hvanoch)
This PR was merged into the 2.7 branch.

Discussion
----------

Reset redirectCount when throwing exception

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

When catching the exception throw when exceeding the redirect limit, all new request which results in a redirect fail. By resetting the redirectCount we can still use the same client instance.

Commits
-------

83fd578f96 Reset redirectCount when throwing exception
2017-06-15 07:57:21 -07:00
Fabien Potencier
d909592b2c bug #23180 [FrameworkBundle] Expose the AbstractController's container to its subclasses (BPScott)
This PR was merged into the 3.3 branch.

Discussion
----------

[FrameworkBundle] Expose the AbstractController's container to its subclasses

| 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

This is useful if an application provides their own base Controller that
references items in the container. It also makes it simpler for that
base controller to add additional optional dependencies by only overriding
getSubscribedServices instead of having to reimplement setContainer and
use ControllerTrait.

Commits
-------

ee17131fca Expose the AbstractController's container to its subclasses
2017-06-15 07:36:39 -07:00
Fabien Potencier
1f6330a9b9 feature #23076 [Validator] Adds support to check specific DNS record type for URL (iisisrael)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] Adds support to check specific DNS record type for URL

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

URL validation with the `checkDNS` option can time out for some international registrars or for reasons unknown.  When the `URL` constraint is implemented, the context may logically allow for a single DNS record type to be checked, which is less prone to timing out.  This updates the `checkDNS` option value to be one of any valid for the underlying `checkdnsrr()` method with backwards compatibility for the original boolean value.

Commits
-------

e66d8f1bef [Validator] Adds support to check specific DNS record type for URL
2017-06-15 07:35:35 -07:00
Fabien Potencier
bc4dd8f16b feature #22629 [Security] Trigger a deprecation when a voter is missing the VoterInterface (iltar)
This PR was squashed before being merged into the 3.4 branch (closes #22629).

Discussion
----------

[Security] Trigger a deprecation when a voter is missing the VoterInterface

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

Right now it's possible to add voters to the access decision manager that do not have a `VoterInterface`.
 - No Interface, no `vote()` method, and it will give a PHP error.
 - No Interface, but `vote()` method, it will still work.
 - If I don't implement the interface _and_ have no `vote()` method, I will get weird exception that's not meaningful: `Attempted to call an undefined method named "vote" of class "App\Voter\MyVoter".`

This PR will deprecate the ability to use voters without the interface, it will also throw a proper exception when missing the interface _and_ the `vote()` method. Why when using and not when setting? Due to the fact that the voters can be set lazily via the `IteratorArgument`. The SecurityBundle will trigger a deprecation if the interface is not implemented and an exception if there's not even a `vote()` method present (to prevent exceptions at run-time).

This should have full backwards compatibility with 3.3, but give more meaningful errors. The only behavioral difference, might be that the container will throw an exception instead of maybe succeeding in voting when 1 voter would be broken at the end of the list (based on strategy). This case however, will be detected during development and deployment, rather than run-time.

Commits
-------

9c253e1ff6 [Security] Trigger a deprecation when a voter is missing the VoterInterface
2017-06-15 07:23:21 -07:00
Iltar van der Berg
9c253e1ff6 [Security] Trigger a deprecation when a voter is missing the VoterInterface 2017-06-15 07:21:44 -07:00
Henne Van Och
83fd578f96 Reset redirectCount when throwing exception 2017-06-15 15:33:54 +02:00
meyerbaptiste
f927ebadad [Yaml] Fix typo: PARSE_KEYS_AS_STRING -> PARSE_KEYS_AS_STRINGS 2017-06-15 14:58:50 +02:00
Ben Scott
ee17131fca Expose the AbstractController's container to its subclasses
Useful if an application provides their own base Controller that
references items in the container. It also makes it simpler for that
base controller to add additional optional dependencies by only overriding
getSubscribedServices instead of having to reimplement setContainer and
use ControllerTrait.
2017-06-15 13:29:56 +01:00
Maxime Steinhausser
6ac0de8c2f [TwigBundle] Remove template.xml services when templating is disabled 2017-06-15 13:54:31 +02:00
rchoquet
9e2b408f25 add content-type header on exception response 2017-06-15 11:47:56 +02:00
Israel J. Carberry
e66d8f1bef [Validator] Adds support to check specific DNS record type for URL 2017-06-15 00:40:00 -05:00
Matthias Pigulla
09bcbc70e7 Embedding a response that combines expiration and validation, that should not defeat expiration on the combined response 2017-06-14 23:57:46 +02:00
Fabien Potencier
8dc00bbe8d fixed bad merge 2017-06-14 14:54:47 -07:00
Fabien Potencier
551e5ba515 bug #23129 Fix two edge cases in ResponseCacheStrategy (mpdude)
This PR was squashed before being merged into the 2.7 branch (closes #23129).

Discussion
----------

Fix two edge cases in ResponseCacheStrategy

| 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 reviewing how `ResponseCacheStrategy` calculates the caching-related headers for responses that embed subrequests, I came across two cases that I think are currently implemented incorrectly.

a) When the main response is public and cacheable with an expiration time, but it embeds (via ESI) a controller that does not set any caching-related headers, this embedded response is more constrained. So, the resulting (combined) response must not be cacheable, especially it may not keep the s-maxage.

b) When the main response is public and cacheable with an expiration time, but it embeds (via ESI) a controller that explicitly creates a "private" response, the resulting (combined) response must be private as well.

Commits
-------

c6e8c07e4d Fix two edge cases in ResponseCacheStrategy
2017-06-14 14:29:16 -07:00
Matthias Pigulla
c6e8c07e4d Fix two edge cases in ResponseCacheStrategy 2017-06-14 14:29:14 -07:00
Fabien Potencier
f392282984 bug #22636 [Routing] Expose request in route conditions, if needed and possible (ro0NL)
This PR was squashed before being merged into the 2.7 branch (closes #22636).

Discussion
----------

[Routing] Expose request in route conditions, if needed and possible

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

given

```
/**
 * @Route("/", name="homepage", condition="request.isXmlHttpRequest()")
 */
```

```
$ app/console route:match /
```

before

![image](https://cloud.githubusercontent.com/assets/1047696/25716808/b9ab518e-3100-11e7-8b59-21351b5c14ca.png)

after

![image](https://cloud.githubusercontent.com/assets/1047696/25716833/d08065fc-3100-11e7-9462-987b2c6eaa26.png)

Commits
-------

016e976691 [Routing] Expose request in route conditions, if needed and possible
2017-06-14 13:57:27 -07:00
Roland Franssen
016e976691 [Routing] Expose request in route conditions, if needed and possible 2017-06-14 13:57:25 -07:00
Fabien Potencier
e992eae067 feature #22909 [Yaml] Deprecate using the non-specific tag (GuilhemN)
This PR was merged into the 3.4 branch.

Discussion
----------

[Yaml] Deprecate using the non-specific tag

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

Values tagged with the non-specific tag must not be transformed in an integer, this tag means that they must not be evaluated (see [the spec](http://www.yaml.org/spec/1.2/spec.html#tag/non-specific/)).

I applied this change in https://github.com/symfony/symfony/pull/22762 to comply with the spec.

Commits
-------

60f5046661 [Yaml] Deprecate using the non-specific tag
2017-06-14 13:38:21 -07:00
Fabien Potencier
01057875dd fixed tests 2017-06-14 13:33:13 -07:00
Fabien Potencier
7b827ce823 Merge branch '3.2' into 3.3
* 3.2:
  [SecurityBundle] Move cache of the firewall context into the request parameters
  Fix Usage with anonymous classes
  [Workflow] Added more keywords in the composer.json
  [Cache] APCu isSupported() should return true when apc.enable_cli=Off
  [PropertyAccess] Do not silence TypeErrors from client code.
2017-06-14 13:33:09 -07:00
Fabien Potencier
dddc5bde5b bug #22943 [SecurityBundle] Move cache of the firewall context into the request parameters (GromNaN)
This PR was squashed before being merged into the 3.2 branch (closes #22943).

Discussion
----------

[SecurityBundle] Move cache of the firewall context into the request parameters

Following [this proposal](https://github.com/symfony/symfony/pull/22605#issuecomment-301276639). Since the matching context relates to the request, this information should have been cached inside the request parameters.

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

* Avoid memory leak when handling multiple requests
* Adding the new request parameter `_firewall_context` might be considered as a breaking change. That adds a new "public" property that could be used by end developers.

Commits
-------

b3203cb8ab [SecurityBundle] Move cache of the firewall context into the request parameters
2017-06-14 13:22:28 -07:00
Jérôme TAMARELLE
b3203cb8ab [SecurityBundle] Move cache of the firewall context into the request parameters 2017-06-14 13:22:17 -07:00
Fabien Potencier
4667262074 bug #23088 [FrameworkBundle] Dont set pre-defined esi/ssi services (ro0NL)
This PR was squashed before being merged into the 3.3 branch (closes #23088).

Discussion
----------

[FrameworkBundle] Dont set pre-defined esi/ssi services

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

It fixes the issue, but im not sure what's expected if you dont use http cache (solely enabled ssi/esi in config). Before the services were initialized, now they are synthetic as http cache sets them, but thats optional =/

Commits
-------

8c26aab0fe [FrameworkBundle] Dont set pre-defined esi/ssi services
2017-06-14 13:16:34 -07:00
Roland Franssen
8c26aab0fe [FrameworkBundle] Dont set pre-defined esi/ssi services 2017-06-14 13:16:32 -07:00
Fabien Potencier
53a911194d minor #23185 [HttpFoundation] Add missing docs (fabpot)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpFoundation] Add missing docs

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

Commits
-------

c6b9101e06 [HttpFoundation] added missing docs
2017-06-14 13:11:47 -07:00
Fabien Potencier
baf988d3d8 bug #23057 [Translation][FrameworkBundle] Fix resource loading order inconsistency reported in #23034 (mpdude)
This PR was squashed before being merged into the 2.7 branch (closes #23057).

Discussion
----------

[Translation][FrameworkBundle] Fix resource loading order inconsistency reported in #23034

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

Fixes the bug reported in #23034:

When mixing `addResource()` calls and providing the `resource_files` option, the order in which resources are loaded depends on the `kernel.debug` setting and whether a cache is used.

In particular, when several loaders provide translations for the same message, the one that "wins" may change between development and production mode.

Commits
-------

2a9e65dea9 [Translation][FrameworkBundle] Fix resource loading order inconsistency reported in #23034
2017-06-14 13:10:55 -07:00
Matthias Pigulla
2a9e65dea9 [Translation][FrameworkBundle] Fix resource loading order inconsistency reported in #23034 2017-06-14 13:10:50 -07:00
Fabien Potencier
bf094efa9c feature #23042 Consistent error handling in remember me services (lstrojny)
This PR was merged into the 3.4 branch.

Discussion
----------

Consistent error handling in remember me services

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

RememberMeServices lacked consistent error handling so far making it impossible for implementors to e.g. maintain sufficiently detailed audit logs for remember me errors. Since remember me is a very sensitive area in any application, detailed logging is crucial.

The change proposed allows `loginFail` to optionally take the exception object as a second parameter and uses said exception consistently internally by calling `loginFail` instead of `cancelCookie`.

Commits
-------

eda1888f71 Consistent error handling in remember me services
2017-06-14 13:00:10 -07:00
Fabien Potencier
d44f143c75 bug #23092 [Filesystem] added workaround in Filesystem::rename for PHP bug (VolCh)
This PR was squashed before being merged into the 2.7 branch (closes #23092).

Discussion
----------

[Filesystem] added workaround in Filesystem::rename for PHP bug

[Filesystem] added workaround in Filesystem::rename for https://bugs.php.net/bug.php?id=54097

Standard PHP rename() of dirs across devices/mounted filesystems  produces confusing copy error & throws IOException in Filesystem::rename. I got it during console cache:clear  in the Docker environment. This PR possible fixes https://github.com/symfony/symfony/issues/19851 and other environment related issues.

Workaround is on \rename() fails try to Filesystem::mirror & Filesystem::remove if $origin is directory

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

Commits
-------

3ccbc479da [Filesystem] added workaround in Filesystem::rename for PHP bug
2017-06-14 12:55:44 -07:00
VolCh
3ccbc479da [Filesystem] added workaround in Filesystem::rename for PHP bug 2017-06-14 12:55:43 -07:00
Fabien Potencier
f0abe11a42 minor #23123 Add tests for ResponseCacheStrategy to document some more edge cases (mpdude)
This PR was squashed before being merged into the 2.7 branch (closes #23123).

Discussion
----------

Add tests for ResponseCacheStrategy to document some more edge cases

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

Adds some test cases for possible combinations of master/subrequest responses to better document behaviour in edge cases. Should now cover the entire `ResponseCacheStrategy`.

I hope 2.7 is the right target branch because having more tests for all releases should be a good thing™️.

Commits
-------

69e84633dd Add tests for ResponseCacheStrategy to document some more edge cases
2017-06-14 12:53:11 -07:00
Matthias Pigulla
69e84633dd Add tests for ResponseCacheStrategy to document some more edge cases 2017-06-14 12:53:08 -07:00
Fabien Potencier
57bed81101 bug #23074 [HttpFoundation] add back support for legacy constant values (xabbuh)
This PR was merged into the 3.3 branch.

Discussion
----------

[HttpFoundation] add back support for legacy constant values

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

Due to the data type change of the `Request::HEADER_` constants in Symfony 3.3 #23067 introduced a small BC break if someone used the old constant values statically instead of referring to the constants themselves.

Commits
-------

fddd754c0a add back support for legacy constant values
2017-06-14 12:40:00 -07:00
Fabien Potencier
c6b9101e06 [HttpFoundation] added missing docs 2017-06-14 12:35:44 -07:00
Fabien Potencier
86911b5087 [HttpFoundation] removed obsolete ini settings for sessions 2017-06-14 12:31:53 -07:00
Fabien Potencier
4cff0522d7 bug #23128 [HttpFoundation] fix for Support for new 7.1 session options (vincentaubert)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpFoundation] fix for Support for new 7.1 session options

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

Commits
-------

71c1b6f5bf fixes #21606
2017-06-14 12:27:50 -07:00
Fabien Potencier
1ed41b549d feature #22444 [Serializer] DateTimeNormalizer: allow to provide timezone (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[Serializer] DateTimeNormalizer: allow to provide timezone

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

My own use-case was for denormalization of a csv file provided by a third-party. The datetime format inside does not contain any timezone information, and won't change, but it's established to be UTC (or at least consistent).

So by providing the new `datetime_timezone` option, the returned instance of `\DateTime(Interface)` will properly be set with the expected timezone. (In case the format already supports the time offset, the provided timezone is ignored in favor of the one parsed by the `\DateTime` object)

Regarding normalization, the expected behavior of this feature is to consistently return the same time offset.

Commits
-------

c10a780afb [Serializer] DateTimeNormalizer: allow to provide timezone
2017-06-14 12:25:49 -07:00
Fabien Potencier
a03e19424b feature #23143 [DI] Reference instead of inline for array-params (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Reference instead of inline for array-params

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

- [x] Tests to be written.

This PR is part of my "container on a diet" quest.

When big array parameters are resolved, they create data duplication in the dumped container. This is even worse when the same big array parameters are used several times.
Even though OPcache stores static arrays in shared memory (php7), it does not deduplicate them (it does for strings.)

Instead of inlining arrays, this PR leverages the `$this->parameters` property when possible.

Commits
-------

7c3d0c7a46 [DI] Reference instead of inline for array-params
2017-06-14 12:08:03 -07:00
Fabien Potencier
dce267171a bug #23100 [PropertyAccess] Do not silence TypeErrors from client code. (tsufeki)
This PR was merged into the 3.2 branch.

Discussion
----------

[PropertyAccess] Do not silence TypeErrors from client code.

| Q             | A
| ------------- | ---
| Branch?       | 3.2
| Bug fix?      | yes
| 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        |

Fixes TypeError silencing in `setValue()` when said error is thrown inside setter/adder/etc.

An example is given in the included test, but more real-life story is botched accessors for a many-to-one association on a Doctrine entity:

```php
class B {
  function setA(A $a) { ... } // forgotten "= null" here
}

class A {
  function removeB(B $b) {
    if ($this->bs->contains($b)) {
      $this->bs->removeElement($b);
      $b->setA(null); // TypeError thrown
    }
    return $this;
  }
}
```

No error is shown to the user, even though removing doesn't work.

This bug is not present in 2.7 & 2.8.

Commits
-------

45b961de2e [PropertyAccess] Do not silence TypeErrors from client code.
2017-06-14 12:02:32 -07:00
Fabien Potencier
2fe6e69528 feature #23154 [WebProfilerBundle] Sticky ajax window (ro0NL)
This PR was squashed before being merged into the 3.4 branch (closes #23154).

Discussion
----------

[WebProfilerBundle] Sticky ajax window

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

This toggles the ajax toolbar block being sticky on click. I find it quite useful in heavy ajax apps :)

Not sure the state needs to be persisted in local storage or so, could be done :) however for our app all the navigating happens via react router, hence no real need for us to persist it between requests.

Commits
-------

b92929b0be [WebProfilerBundle] Sticky ajax window
2017-06-14 11:51:57 -07:00
Roland Franssen
b92929b0be [WebProfilerBundle] Sticky ajax window 2017-06-14 11:51:55 -07:00
Fabien Potencier
aa94dd6cda bug #23156 [PropertyAccess] Fix Usage with anonymous classes (mablae)
This PR was merged into the 3.2 branch.

Discussion
----------

[PropertyAccess] Fix Usage with anonymous classes

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

Replace forbidden characters in the the class names of Anonymous Classes in form of
"class@anonymous /symfony/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php0x7f3f5f267ad5"

Wrapped in eval to avoid PHP parsing errors < 7 and using `rawurlenceode` for perf reasons

Thanks @nicolas-grekas for the help and patience. Let me know if anything is missing.

Commits
-------

3f7fd432df Fix Usage with anonymous classes
2017-06-14 11:48:56 -07:00
Fabien Potencier
3278915a29 bug #23168 [Config] Fix ** GlobResource on Windows (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[Config] Fix ** GlobResource on Windows

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

We cannot tell Finder to use RecursiveDirectoryIterator::UNIX_PATHS so we have to fix paths on Windows.

Commits
-------

44955bea53 [Config] Fix ** GlobResource on Windows
2017-06-14 11:48:03 -07:00
Fabien Potencier
a63400a45d minor #23172 Fix AutowiringTypesTest transient tests (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

Fix AutowiringTypesTest transient tests

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

In 3.3, we have a race condition because FrameworkBundle and SecurityBundle use the same test folder for their respective AutowiringTypesTest.

Commits
-------

408e56e404 Fix AutowiringTypesTest transient tests
2017-06-14 11:47:26 -07:00
Vincent AUBERT
71c1b6f5bf fixes #21606 2017-06-14 19:36:27 +02:00
Nicolas Grekas
d7238c9d96 [VarDumper] fixes 2017-06-14 18:20:11 +02:00
Nicolas Grekas
408e56e404 Fix AutowiringTypesTest transient tests 2017-06-14 10:56:14 +02:00
Nicolas Grekas
1a3d42fc56 minor #23170 [FrameworkBundle] Remove unnecessary use (ogizanagi)
This PR was merged into the 3.3 branch.

Discussion
----------

[FrameworkBundle] Remove unnecessary use

| Q             | A
| ------------- | ---
| Branch?       | 3.3 <!-- 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
-------

abd9007 [FrameworkBundle] Remove unnecessary use
2017-06-14 09:52:40 +02:00
Nicolas Grekas
c8cf42bcbb Merge branch '3.3' into 3.4
* 3.3:
  [TwigBundle] Add Doctrine Cache to dev dependencies
  [Yaml] Fix linting yaml with constants as keys
  [Routing] Revert the change in [#b42018] with respect to Routing/Route.php
2017-06-14 09:34:46 +02:00
Nicolas Grekas
d8d0f87793 [TwigBundle] Add Doctrine Cache to dev dependencies 2017-06-14 09:33:02 +02:00
Nicolas Grekas
9e680f006f Merge branch '3.4'
* 3.4:
  [FrameworkBundle] Deprecate useless --no-prefix option
  Add Doctrine Cache to dev dependencies to fix failing unit tests.
  Give info about called security listeners in profiler
  Fix the usage of FrameworkBundle in debug mode without Stopwatch
2017-06-14 09:19:54 +02:00
Nicolas Grekas
44955bea53 [Config] Fix ** GlobResource on Windows 2017-06-14 09:11:58 +02:00
Fabien Potencier
936c1a5c7d feature #23161 [FrameworkBundle] Deprecate useless --no-prefix option (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] Deprecate useless --no-prefix option

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

It was a workaround, not needed since https://github.com/symfony/symfony/pull/21228. Let's deprecate it and remove it in 4.0.

Commits
-------

f7afa777d8 [FrameworkBundle] Deprecate useless --no-prefix option
2017-06-13 22:09:10 -07:00
Fabien Potencier
a75a32d661 bug #23166 [TwigBundle] Add Doctrine Cache to dev dependencies to fix failing unit tests (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

[TwigBundle] Add Doctrine Cache to dev dependencies to fix failing unit tests

| 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

Currently, the unit tests of TwigBundle are failing because Doctrine Cache is missing. Before the changes of #23131, this dependency was pulled via FrameworkBundle. This PR adds Doctrine Cache to the dev dependencies of TwigBundle, so the tests pass again.

```
There were 3 errors:

1) Symfony\Bundle\TwigBundle\Tests\CacheWarmingTest::testCacheIsProperlyWarmedWhenTemplatingIsAvailable
Symfony\Component\DependencyInjection\Exception\LogicException: Annotations cannot be enabled as the Doctrine Cache library is not installed.

2) Symfony\Bundle\TwigBundle\Tests\CacheWarmingTest::testCacheIsProperlyWarmedWhenTemplatingIsDisabled
Symfony\Component\DependencyInjection\Exception\LogicException: Annotations cannot be enabled as the Doctrine Cache library is not installed.

3) Symfony\Bundle\TwigBundle\Tests\NoTemplatingEntryTest::test
Symfony\Component\DependencyInjection\Exception\LogicException: Annotations cannot be enabled as the Doctrine Cache library is not installed.
```

Commits
-------

2dfde58851 Add Doctrine Cache to dev dependencies to fix failing unit tests.
2017-06-13 19:22:52 -07:00
Fabien Potencier
bf97f0371f feature #23169 [FrameworkBundle] Remove KernelTestCase deprecated code (ogizanagi)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[FrameworkBundle] Remove KernelTestCase deprecated code

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

(failures unrelated)

Commits
-------

6d28c43f0a [FrameworkBundle] Remove KernelTestCase deprecated code
2017-06-13 19:20:21 -07:00
Fabien Potencier
5bc4ef0224 Merge branch '2.7' into 2.8
* 2.7:
  fixed CS
  SCA with Php Inspections (EA Extended): 2.7
  Remove deprecated each function
  Fixed PHPdoc return references in FormBuilderInterface
  [FrameworkBundle] Fix perf issue in CacheClearCommand::warmup()
2017-06-13 17:55:24 -07:00
Fabien Potencier
78f028cc75 fixed CS 2017-06-13 17:54:13 -07:00
Robin Chalas
55a8d35e64 [Yaml] Fix linting yaml with constants as keys 2017-06-13 23:05:27 +02:00
Maxime Steinhausser
6d28c43f0a [FrameworkBundle] Remove KernelTestCase deprecated code 2017-06-13 20:56:12 +02:00
Maxime Steinhausser
abd9007337 [FrameworkBundle] Remove unnecessary use 2017-06-13 20:29:33 +02:00
Robin Chalas
f7afa777d8 [FrameworkBundle] Deprecate useless --no-prefix option 2017-06-13 19:36:01 +02:00
Dan Wilga
f09893bed4 [Routing] Revert the change in [#b42018] with respect to Routing/Route.php 2017-06-13 10:11:59 -07:00
Fabien Potencier
0300412ec1 feature #23105 [SecurityBundle][Profiler] Give info about called security listeners in profiler (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[SecurityBundle][Profiler] Give info about called security listeners in profiler

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

Currently the profiler gives no info about security listeners (see fixed ticket), this displays each called listener with the time spent at calling it and its response if any.

![preview](https://image.prntscr.com/image/Wx-n-Ni_RQK5JGTdTZsdGw.png)

Commits
-------

369f19fcfd Give info about called security listeners in profiler
2017-06-13 09:07:04 -07:00
Alexander M. Turek
2dfde58851 Add Doctrine Cache to dev dependencies to fix failing unit tests. 2017-06-13 17:15:58 +02:00
Robin Chalas
ba0a917550 Fix merge (phpdoc => typehint) 2017-06-13 13:32:22 +02:00
Nicolas Grekas
7c3d0c7a46 [DI] Reference instead of inline for array-params 2017-06-13 13:14:06 +02:00
Malte Blättermann
3f7fd432df Fix Usage with anonymous classes
Replace forbidden characters in the the class names of Anonymous Classes in form of
"class@anonymous /symfony/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php0x7f3f5f267ad5"

Wrapped in eval to avoid PHP parsing errors < 7
2017-06-13 10:47:59 +02:00
Robin Chalas
369f19fcfd Give info about called security listeners in profiler 2017-06-13 10:30:58 +02:00
Christophe Coevoet
2ea26c1ffe Fix the usage of FrameworkBundle in debug mode without Stopwatch 2017-06-13 10:29:19 +02:00
Christian Flothmann
fddd754c0a add back support for legacy constant values 2017-06-13 09:43:03 +02:00
Fabien Potencier
f1e2fbd486 minor #23101 [FormBuilderInterface] Fixed PHPdoc return references (Javan Eskander)
This PR was merged into the 2.7 branch.

Discussion
----------

[FormBuilderInterface] Fixed PHPdoc return references

| Q             | A
| ------------- | ---
| Branch?       | 2.7 and higher
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | N/A (phpdoc)
| License       | MIT

In a case where the method `createFormBuilder()` was used where the methods `add()` and `getForm()` were chained onto it, the final resulting object was no longer a FormBuilder object as the `add()` and `remove()` methods was using a return variable that didn't work.
Should reference `self` as interfaces do not have a `$this` object.

Commits
-------

2f350d1d38 Fixed PHPdoc return references in FormBuilderInterface
2017-06-12 11:43:34 -07:00
Fabien Potencier
f309c09ed8 Merge branch '3.4'
* 3.4:
  [FrameworkBundle] removed doctrine/cache as a dependency
  drop hard dependency on the Stopwatch component
  Fix the conditional definition of the SymfonyTestsListener
  [DI] Fix keys resolution in ResolveParameterPlaceHoldersPass
  [FrameworkBundle] Fix colliding service ids
  [FrameworkBundle] deprecated validator.mapping.cache.doctrine.apc
  remove now useless condition
  Lazy load security listeners
  [EventDispatcher] Remove dead code in WrappedListener
  [Process] Deprecate ProcessBuilder
  Fix non-dumped voters in security panel
  search case insensitive
  [VarDumper] Cyclic searching dumps
  [Yaml] Remove line number in deprecation notices
  [SecurityBundle] Made 2 service aliases private
  Automatically enable the routing annotation loader
  [FrameworkBundle] KernelTestCase: deprecate not using KERNEL_CLASS
2017-06-12 11:12:26 -07:00
Fabien Potencier
cc2363fa6c feature #23148 [FrameworkBundle] drop hard dependency on the Stopwatch component (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] drop hard dependency on the Stopwatch component

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

Commits
-------

8d70ca0ff4 drop hard dependency on the Stopwatch component
2017-06-12 11:05:06 -07:00
Fabien Potencier
18ecbd7011 feature #23131 [FrameworkBundle] Remove dependency on Doctrine cache (fabpot)
This PR was squashed before being merged into the 3.4 branch (closes #23131).

Discussion
----------

[FrameworkBundle] Remove dependency on Doctrine cache

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

In our quest to remove hard dependencies, I propose to remove `doctrine/cache` from the default dependencies on the Framework bundle. That's possible now as we have PSR6 cache support in Symfony and because Doctrine cache is only used for the validator mapping cache.

The two other occurrences are for the serializer (already deprecated in 3.3) and for annotations, where we need to keep it, but as Doctrine annotations is already optional, that's not an issue.

Commits
-------

a4e336ea34 [FrameworkBundle] removed doctrine/cache as a dependency
b57895ccaf [FrameworkBundle] deprecated validator.mapping.cache.doctrine.apc
2017-06-12 10:50:15 -07:00
Fabien Potencier
a4e336ea34 [FrameworkBundle] removed doctrine/cache as a dependency 2017-06-12 09:10:25 -07:00
Nicolas Grekas
8bbfc96802 Merge branch '3.3' into 3.4
* 3.3:
  Fix the conditional definition of the SymfonyTestsListener
  [DI] Fix keys resolution in ResolveParameterPlaceHoldersPass
  [EventDispatcher] Remove dead code in WrappedListener
  Fix non-dumped voters in security panel
  [Yaml] Remove line number in deprecation notices
  [SecurityBundle] Made 2 service aliases private
2017-06-12 18:03:21 +02:00
Fabien Potencier
7fc255218e bug #23141 [DI] Fix keys resolution in ResolveParameterPlaceHoldersPass (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[DI] Fix keys resolution in ResolveParameterPlaceHoldersPass

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

Keys are resolved in 3.2, but we broke that when moving to AbstractRecursivePass.

Commits
-------

9251a2143d [DI] Fix keys resolution in ResolveParameterPlaceHoldersPass
2017-06-12 08:25:47 -07:00
Christian Flothmann
8d70ca0ff4 drop hard dependency on the Stopwatch component 2017-06-12 15:27:27 +01:00
Christophe Coevoet
0ec8b1c1ff Fix the conditional definition of the SymfonyTestsListener 2017-06-12 15:35:45 +02:00
Grégoire Pineau
79bc4b017d [Workflow] Added more keywords in the composer.json 2017-06-12 13:49:55 +02:00
Nicolas Grekas
9251a2143d [DI] Fix keys resolution in ResolveParameterPlaceHoldersPass 2017-06-12 12:11:53 +02:00
Guilhem Niot
a4d799ad0e [FrameworkBundle] Fix colliding service ids 2017-06-11 11:30:54 +02:00
Fabien Potencier
b57895ccaf [FrameworkBundle] deprecated validator.mapping.cache.doctrine.apc 2017-06-10 17:54:55 -07:00
Fabien Potencier
0dbba7bf4f minor #22931 SCA with Php Inspections (EA Extended): 2.7 (kalessil)
This PR was squashed before being merged into the 2.7 branch (closes #22931).

Discussion
----------

SCA with Php Inspections (EA Extended): 2.7

| 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

Static Code Analysis with Php Inspections (EA Extended): dead code and control flow tweaks.

Commits
-------

598ae56cc9 SCA with Php Inspections (EA Extended): 2.7
2017-06-10 17:25:34 -07:00
Vladimir Reznichenko
598ae56cc9 SCA with Php Inspections (EA Extended): 2.7 2017-06-10 17:25:31 -07:00
Fabien Potencier
9e2f394bf3 minor #23120 Remove deprecated each function (pierredup)
This PR was squashed before being merged into the 2.7 branch (closes #23120).

Discussion
----------

Remove deprecated each function

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

Replace the `each()` function which is deprecated in PHP 7.2 (https://wiki.php.net/rfc/deprecations_php_7_2#each)

Commits
-------

232caad876 Remove deprecated each function
2017-06-10 07:57:49 -07:00
Pierre du Plessis
232caad876 Remove deprecated each function 2017-06-10 07:57:48 -07:00
Christian Flothmann
c9c3495fc0 remove now useless condition 2017-06-10 13:08:03 +01:00
Robin Chalas
e3ee6bc349 Lazy load security listeners 2017-06-09 17:57:53 +02:00
Fabien Potencier
d024c82b48 minor #23117 [EventDispatcher] Remove dead code in WrappedListener (chalasr)
This PR was merged into the 3.3 branch.

Discussion
----------

[EventDispatcher] Remove dead code in WrappedListener

| 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

The static `$cloner` property is unused since ab716c64de

Commits
-------

8b7de02413 [EventDispatcher] Remove dead code in WrappedListener
2017-06-09 08:14:08 -07:00
Robin Chalas
8b7de02413 [EventDispatcher] Remove dead code in WrappedListener 2017-06-09 16:53:08 +02:00
Nicolas Grekas
3aa8861a42 [Process] Deprecate ProcessBuilder 2017-06-09 15:37:35 +02:00
Robin Chalas
c1fa308c0a Fix non-dumped voters in security panel 2017-06-09 14:05:05 +02:00
Fabien Potencier
e4e1b81b48 feature #22675 [FrameworkBundle] KernelTestCase: deprecate not using KERNEL_CLASS (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] KernelTestCase: deprecate not using KERNEL_CLASS

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

Commits
-------

d102fc08e4 [FrameworkBundle] KernelTestCase: deprecate not using KERNEL_CLASS
2017-06-08 17:37:21 -07:00
Roland Franssen
73f24e8f48 search case insensitive 2017-06-08 17:24:28 -07:00
Roland Franssen
0821c5a059 [VarDumper] Cyclic searching dumps 2017-06-08 17:24:28 -07:00
Fabien Potencier
311cc8ab24 bug #22953 #22839 - changed debug toolbar dump section to relative and use full window width (mkurzeja)
This PR was merged into the 2.8 branch.

Discussion
----------

#22839 - changed debug toolbar dump section to relative and use full window width

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

My approach to fix #22839 - instead of adding min-width I have switched the section to fill the full available width:
![zrzut ekranu 2017-05-30 o 10 18 25](https://cloud.githubusercontent.com/assets/1044032/26574462/bf80b6dc-4521-11e7-96cc-bec0de075329.png)

Commits
-------

65297de3aa #22839 - changed debug toolbar dump section to relative and use full window width
2017-06-08 17:14:12 -07:00
Fabien Potencier
bdd888feca feature #23044 Automatically enable the routing annotation loader (GuilhemN)
This PR was merged into the 3.4 branch.

Discussion
----------

Automatically enable the routing annotation loader

| 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 | there's probably one but I didn't find it
| License       | MIT
| Doc PR        |

Thanks to fqcn services, most of the time, we don't need the SensioFrameworkExtraBundle to use `@Route`.
So I suggest to automatically enable it when annotations are enabled. This way we could simplify https://github.com/symfony/recipes/blob/master/symfony/framework-bundle/3.3/etc/routing.yaml#L5.

Note: I added priority support for routing loaders to make sure sensio loaders are executed before ours.

Commits
-------

c2f796fa15 Automatically enable the routing annotation loader
2017-06-08 17:12:04 -07:00
Fabien Potencier
0c17767dd5 bug #23086 [FrameworkBundle] Fix perf issue in CacheClearCommand::warmup() (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] Fix perf issue in CacheClearCommand::warmup()

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

On slow file systems (eg on Windows), I noticed that writing files without doing any changes just kills perf.
Limiting the depth also helps when the symfony/cache component is used (because it can store thousands of files in its cache pool directory structure, and iterating there is also a waste of *fs* time).
I choose the max depth by looking at where existing apps put their files and added one level more just in case.

Commits
-------

b58f060fda [FrameworkBundle] Fix perf issue in CacheClearCommand::warmup()
2017-06-08 17:11:05 -07:00
Fabien Potencier
b376eca7cc bug #23090 [SecurityBundle] Made 2 service aliases private (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[SecurityBundle] Made 2 service aliases private

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

We missed making them private :(
Is it too late to fix that?

Commits
-------

4442c636c8 [SecurityBundle] Made 2 service aliases private
2017-06-08 17:09:06 -07:00
Fabien Potencier
895b123413 Merge branch '2.7' into 2.8
* 2.7:
  bumped Symfony version to 2.7.30
  Cache ipCheck
  updated VERSION for 2.7.29
  update CONTRIBUTORS for 2.7.29
  updated CHANGELOG for 2.7.29
  show unique inherited roles
2017-06-08 16:53:01 -07:00
Fabien Potencier
589f2b1a6c bug #23098 Cache ipCheck (2.7) (gonzalovilaseca)
This PR was merged into the 2.7 branch.

Discussion
----------

Cache ipCheck (2.7)

In our app we use trusted proxies. Using Blackfire we found `IpUtils::checkIp` was being called 454 times taking 3.15ms.
Caching the result saves those 3ms.

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

bcb80569cb Cache ipCheck
2017-06-08 16:52:20 -07:00
Nicolas Grekas
f82b6185a4 [Yaml] Remove line number in deprecation notices 2017-06-08 18:22:33 +02:00
Jáchym Toušek
8a4d4eb563 [Security] Fix annotation 2017-06-08 15:38:34 +02:00
Nicolas Grekas
aadf263db4 [Cache] APCu isSupported() should return true when apc.enable_cli=Off 2017-06-08 13:47:25 +02:00
Javan Eskander
2f350d1d38 Fixed PHPdoc return references in FormBuilderInterface 2017-06-08 17:18:54 +10:00
tsufeki
45b961de2e [PropertyAccess] Do not silence TypeErrors from client code. 2017-06-07 23:00:20 +02:00
Fabien Potencier
e8497bb57d bumped Symfony version to 2.8.23 2017-06-07 13:30:46 -07:00
Fabien Potencier
0d52ccb5ff updated VERSION for 2.8.22 2017-06-07 13:12:31 -07:00
Fabien Potencier
ccb6543839 bumped Symfony version to 2.7.30 2017-06-07 13:11:41 -07:00
Gonzalo Vilaseca
bcb80569cb Cache ipCheck 2017-06-07 20:32:30 +01:00
Fabien Potencier
c713d69827 updated VERSION for 2.7.29 2017-06-07 11:50:32 -07:00
Nicolas Grekas
77639e2564 Merge branch '3.4'
* 3.4:
  [MonologBridge] Do not silence errors in ServerLogHandler::formatRecord
  bumped Symfony version to 3.3.3
  updated VERSION for 3.3.2
  updated CHANGELOG for 3.3.2
  [HttpKernel][Debug] Fix missing trace on deprecations collected during bootstrapping & silenced errors
  [PropertyInfo] Made ReflectionExtractor's prefix lists instance variables
2017-06-07 16:10:47 +02:00
Nicolas Grekas
25f13686f9 Merge branch '3.3' into 3.4
* 3.3:
  [MonologBridge] Do not silence errors in ServerLogHandler::formatRecord
  bumped Symfony version to 3.3.3
  updated VERSION for 3.3.2
  updated CHANGELOG for 3.3.2
  [HttpKernel][Debug] Fix missing trace on deprecations collected during bootstrapping & silenced errors
2017-06-07 16:09:28 +02:00
Fabien Potencier
384b34bdee feature #22696 [PropertyInfo] Made ReflectionExtractor's prefix lists instance variables (neemzy)
This PR was merged into the 3.4 branch.

Discussion
----------

[PropertyInfo] Made ReflectionExtractor's prefix lists instance variables

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

This PR makes `ReflectionExtractor`'s mutator/accessor prefixes instance variables in order to be able to override them to change its behavior.

Commits
-------

58e733b49e [PropertyInfo] Made ReflectionExtractor's prefix lists instance variables
2017-06-07 05:14:51 -07:00
Guilhem Niot
60f5046661 [Yaml] Deprecate using the non-specific tag 2017-06-07 12:54:54 +02:00
Nicolas Grekas
4442c636c8 [SecurityBundle] Made 2 service aliases private 2017-06-07 12:41:51 +02:00
Guilhem Niot
c2f796fa15 Automatically enable the routing annotation loader 2017-06-07 12:20:52 +02:00
Nicolas Grekas
b58f060fda [FrameworkBundle] Fix perf issue in CacheClearCommand::warmup() 2017-06-07 09:57:32 +02:00
Grégoire Pineau
f1edfa7ec2 [MonologBridge] Do not silence errors in ServerLogHandler::formatRecord 2017-06-06 17:10:52 +02:00
Fabien Potencier
100695978a bug #23007 [HttpKernel][Debug] Fix missing trace on deprecations collected during bootstrapping & silenced errors (ogizanagi)
This PR was merged into the 3.3 branch.

Discussion
----------

[HttpKernel][Debug] Fix missing trace on deprecations collected during bootstrapping & silenced errors

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

|Before|After|
|--|--|
|<img width="1086" alt="screenshot 2017-06-01 a 10 12 07" src="https://cloud.githubusercontent.com/assets/2211145/26670940/feb51b52-46b3-11e7-806f-e23e2eb248c1.PNG">|<img width="1094" alt="screenshot 2017-06-01 a 10 13 39" src="https://cloud.githubusercontent.com/assets/2211145/26670941/feb8bd66-46b3-11e7-8e54-cc4959487b7a.PNG">|

(failures unrelated or deps=high fixed when merged in upper branches)

Commits
-------

21ef065594 [HttpKernel][Debug] Fix missing trace on deprecations collected during bootstrapping & silenced errors
2017-06-06 07:51:55 -07:00
Fabien Potencier
62cbfdd2e2 bug #23069 [SecurityBundle] Show unique Inherited roles in profile panel (yceruto)
This PR was merged into the 2.7 branch.

Discussion
----------

[SecurityBundle] Show unique Inherited roles in profile panel

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

When more than one assigned role reaches the same inherited role then it's duplicated in the "Inherited roles" list.

The changes in the test case show the unexpected result before fix it:

```console
There was 1 failure:

1) Symfony\Bundle\SecurityBundle\Tests\DataCollector\SecurityDataCollectorTest::testCollectAuthenticationTokenAndRoles with data set #4 (array('ROLE_ADMIN', 'ROLE_OPERATOR'), array('ROLE_ADMIN', 'ROLE_OPERATOR'), array('ROLE_USER', 'ROLE_ALLOWED_TO_SWITCH'))
Failed asserting that Array &0 (
    0 => 'ROLE_USER'
    1 => 'ROLE_ALLOWED_TO_SWITCH'
    2 => 'ROLE_USER'
) is identical to Array &0 (
    0 => 'ROLE_USER'
    1 => 'ROLE_ALLOWED_TO_SWITCH'
)
```

Commits
-------

7061bfbf3a show unique inherited roles
2017-06-06 07:50:26 -07:00
Nicolas Grekas
6f8430e84c Merge branch '3.4'
* 3.4:
  [TwigBridge] Fix namespaced classes
  bumped Symfony version to 3.3.2
  updated VERSION for 3.3.1
  updated CHANGELOG for 3.3.1
  [DependencyInjection] Fix named args support in ChildDefinition
  [Cache] Fallback to positional when keyed results are broken
  [HttpFoundation][FrameworkBundle] Revert "trusted proxies" BC break
  [Cache] MemcachedAdapter not working with TagAwareAdapter
  Remove closure-proxy leftovers
  fix used class name in deprecation message
  [DependencyInjection] Use more clear message when unused environment variables detected
  [Form][Profiler] Fixes form collector triggering deprecations
  mitigate BC break with empty trusted_proxies
  [Profiler] Never wrap in code excerpts
  [Form][FrameworkBundle] Remove non-existing arg for data_collector.form
  explain that a role can be an instance of Role
  [Cache] fix Redis scheme detection
  Implement ServiceSubscriberInterface in optional cache warmers
  Deprecate passing a concrete service in optional cache warmers
  mix attr options between type-guess options and user options
2017-06-06 07:08:36 +02:00
Nicolas Grekas
b0ede2c9c8 Merge branch '3.3' into 3.4
* 3.3:
  [TwigBridge] Fix namespaced classes
  bumped Symfony version to 3.3.2
  updated VERSION for 3.3.1
  updated CHANGELOG for 3.3.1
  [DependencyInjection] Fix named args support in ChildDefinition
  [Cache] Fallback to positional when keyed results are broken
  [HttpFoundation][FrameworkBundle] Revert "trusted proxies" BC break
  [Cache] MemcachedAdapter not working with TagAwareAdapter
  Remove closure-proxy leftovers
  [DependencyInjection] Use more clear message when unused environment variables detected
  [Form][Profiler] Fixes form collector triggering deprecations
  mitigate BC break with empty trusted_proxies
  [Profiler] Never wrap in code excerpts
  [Form][FrameworkBundle] Remove non-existing arg for data_collector.form
  explain that a role can be an instance of Role
  [Cache] fix Redis scheme detection
  mix attr options between type-guess options and user options
2017-06-06 06:51:36 +02:00
Fabien Potencier
f322107d64 bumped Symfony version to 3.3.3 2017-06-05 21:14:06 -07:00
Fabien Potencier
adf3a020e0 updated VERSION for 3.3.2 2017-06-05 20:59:58 -07:00
Nicolas Grekas
7769179e0f Merge branch '3.2' into 3.3
* 3.2:
  [TwigBridge] Fix namespaced classes
  [Cache] MemcachedAdapter not working with TagAwareAdapter
  [DependencyInjection] Use more clear message when unused environment variables detected
  mix attr options between type-guess options and user options
2017-06-06 05:13:52 +02:00
Fabien Potencier
c29714479a Merge branch '2.8' into 3.2
* 2.8:
  [TwigBridge] Fix namespaced classes
  mix attr options between type-guess options and user options
2017-06-05 19:49:13 -07:00
Fabien Potencier
419556ff87 Merge branch '2.7' into 2.8
* 2.7:
  [TwigBridge] Fix namespaced classes
  mix attr options between type-guess options and user options
2017-06-05 19:49:00 -07:00
Maxime Steinhausser
a1cdc2d46e [TwigBridge] Fix namespaced classes 2017-06-05 17:06:12 -07:00
Dany Maillard
1da8e71b6c Add filter in VarDumperTestTrait 2017-06-05 23:18:32 +02:00
Fabien Potencier
25df7a19a8 bumped Symfony version to 3.3.2 2017-06-05 11:41:08 -07:00
Yonel Ceruto
7061bfbf3a show unique inherited roles 2017-06-05 14:17:49 -04:00
Fabien Potencier
af5522ebf8 updated VERSION for 3.3.1 2017-06-05 10:31:57 -07:00
Fabien Potencier
085d8fec5d bug #23067 [HttpFoundation][FrameworkBundle] Revert "trusted proxies" BC break (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[HttpFoundation][FrameworkBundle] Revert "trusted proxies" BC break

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

Basically reverts #22238 + cleanups some comments + adds missing syncing logic in setTrustedHeaderName.

The reason for this proposal is that the BC break can go un-noticed until prod, *even if you have proper CI*. That's because your CI may not replicate exactly what your prod have (ie a reverse proxy), so that maybe only prod has a trusted-proxies configuration. I realized this while thinking about #23049: it made this situation even more likely, by removing an opportunity for you to notice the break before prod.

The reasons for the BC break are still valid and all of this is security-related. But the core security issue is already fixed. The remaining issue still exists (an heisenbug related to some people having both Forwarded and X-Forwarded-* set for some reason), but deprecating might still be enough.

WDYT? (I'm sure everyone is going to be happy with the BC break reversal, but I'm asking for feedback from people who actually could take the time to *understand* and *balance* the rationales here, thanks :) )

Commits
-------

2132333059 [HttpFoundation][FrameworkBundle] Revert "trusted proxies" BC break
2017-06-05 10:06:12 -07:00
Maxime Steinhausser
21ef065594 [HttpKernel][Debug] Fix missing trace on deprecations collected during bootstrapping & silenced errors 2017-06-05 18:30:56 +02:00
Fabien Potencier
58f03a734f bug #23065 [Cache] Fallback to positional when keyed results are broken (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[Cache] Fallback to positional when keyed results are broken

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

Works around https://github.com/krakjoe/apcu/issues/247 ~~and https://github.com/facebook/hhvm/issues/7867~~

Commits
-------

28aaa8eb05 [Cache] Fallback to positional when keyed results are broken
2017-06-05 09:27:18 -07:00
Fabien Potencier
1272d2ac8a bug #22981 [DependencyInjection] Fix named args support in ChildDefinition (dunglas)
This PR was squashed before being merged into the 3.3 branch (closes #22981).

Discussion
----------

[DependencyInjection] Fix named args support in ChildDefinition

| Q             | A
| ------------- | ---
| Branch?       | 3.3
| Bug fix?      | yes
| 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
| License       | MIT
| Doc PR        | n/a

Following @Tobion's review of #21383.

Commits
-------

1ab3e413d4 [DependencyInjection] Fix named args support in ChildDefinition
2017-06-05 09:24:57 -07:00
Kévin Dunglas
1ab3e413d4 [DependencyInjection] Fix named args support in ChildDefinition 2017-06-05 09:24:55 -07:00
Nicolas Grekas
28aaa8eb05 [Cache] Fallback to positional when keyed results are broken 2017-06-05 16:53:36 +02:00
Nicolas Grekas
2132333059 [HttpFoundation][FrameworkBundle] Revert "trusted proxies" BC break 2017-06-05 15:06:51 +02:00
Martin Kirilov
405f64bb01 [Cache] MemcachedAdapter not working with TagAwareAdapter
It seems that when MemcachedAdapter is used with TagAwareAdapter, it fails to fetch items, even though I thoroughly tested fetching items with the exact same keys under the same namespace.

Turns out the issue lies in `const TAGS_PREFIX = "\0tags\0";` for unknown to me reasons. Hardcoding that to '__tags__' in my project did the trick and I've been using it for a couple of days now and it seems fine.

The reason I had to completely copy/paste this file in my local project is self:: instead of static:: usage. I am not sure whether that is a mistake or is done on purpose, but in order to have this work for me I need to be able to override that constant. Going with static:: seems like a good solution to me, then I can set whatever prefix I need for the tags.
2017-06-05 12:44:43 +02:00
Maxime Steinhausser
5b819ebfee Remove closure-proxy leftovers 2017-06-04 20:15:29 +02:00
Christian Flothmann
a4caa16659 fix used class name in deprecation message 2017-06-04 10:04:58 +02:00
Maxime Steinhausser
9fe5102f46 [WebProfilerBundle] Remove WebProfilerExtension::dumpValue() 2017-06-03 23:25:50 +02:00
Adam Szaraniec
37afeeae7a Support for parsing PHP constants in yaml loader 2017-06-04 00:41:12 +04:00
Fabien Potencier
5859703be4 bug #23050 [Form][Profiler] Fixes form collector triggering deprecations (ogizanagi)
This PR was merged into the 3.3 branch.

Discussion
----------

[Form][Profiler] Fixes form collector triggering deprecations

| Q             | A
| ------------- | ---
| Branch?       | 3.3 <!-- see comment below -->
| Bug fix?      | yes
| 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

Since 3.3, if you inspect your logs when accessing the form profiler panel, you'll see some of these:

```sh
php.INFO: User Deprecated: The Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension::dumpValue() method is deprecated since version 3.2 and will be removed in 4.0.
[...] at /src/Symfony/Bundle/WebProfilerBundle/Twig/WebProfilerExtension.php:119
```

The [WebProfilerExtension](https://github.com/symfony/symfony/blob/master/src/Symfony/Bundle/WebProfilerBundle/Twig/WebProfilerExtension.php#L73) is still using a `ValueExporter` instance for BC reasons when the $value ins't an instance of `Data` and this BC layer will be removed in 4.0 (so it'll throw an exception/error when trying to use it with something else than a `Data` instance).

The issue is since #21638, collectors (including forms one) have been drastically simplified to leverage the "seamless usage of Data clones", which is great!... But there is a slightly different implementation between `Data::seek()` and [`Data::__get()`](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/VarDumper/Cloner/Data.php#L123-L130). There are probably good reasons for this, but it prevents from using classic Twig property access when the underlying data may be a scalar (`null`, `false`, ...).

I already spot that while working on the [Validator panel](https://github.com/symfony/symfony/pull/22554/files#diff-deac3c5ce4aa87243093dcd6a3f77a56R84). Perhaps there is a better solution, though.

Anyway, current `master` is currently broken, as it still tries to use the `ValueExporter`, which is already removed. And removing the BC layer in `WebProfilerExtension` isn't enough for now. It needs this fix.

BTW it also fixes rendering of the concerned inlined-dumps:

|Before|After|
|--|--|
|<img width="818" alt="screenshot 2017-06-03 a 13 35 25" src="https://cloud.githubusercontent.com/assets/2211145/26753222/01a692e6-4862-11e7-90d5-9cc9e4832648.PNG">|<img width="817" alt="screenshot 2017-06-03 a 13 35 47" src="https://cloud.githubusercontent.com/assets/2211145/26753224/090d5d6c-4862-11e7-87c1-73d5346f602c.PNG">|

Commits
-------

9de898d69f [Form][Profiler] Fixes form collector triggering deprecations
2017-06-03 09:03:25 -07:00
Fabien Potencier
6b9ff814c8 bug #22971 [Profiler] Fix code excerpt wrapping (ogizanagi)
This PR was merged into the 3.3 branch.

Discussion
----------

[Profiler] Fix code excerpt wrapping

| Q             | A
| ------------- | ---
| Branch?       | 3.3 <!-- see comment below -->
| Bug fix?      | yesish
| 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

|Before|After|
|--|--|
|<img width="1346" alt="screenshot 2017-05-30 a 19 09 03" src="https://cloud.githubusercontent.com/assets/2211145/26595449/b8c4302c-456b-11e7-83c4-3471f915437b.PNG">|<img width="1075" alt="screenshot 2017-05-30 a 19 09 35" src="https://cloud.githubusercontent.com/assets/2211145/26595450/b8c61e64-456b-11e7-8b33-bdbe2e90b160.PNG">|

However, I think my own preference for code excerpts would be to never wrap, at the risk of scrolling horizontally. 1024px is enough to read most of the code excerpt without scrolling, and it feels less messy (to me) when a line is too long. WDYT?

Commits
-------

6c87863a0e [Profiler] Never wrap in code excerpts
2017-06-03 08:56:03 -07:00
Fabien Potencier
7183be3739 bug #23049 [FrameworkBundle] mitigate BC break with empty trusted_proxies (xabbuh)
This PR was merged into the 3.3 branch.

Discussion
----------

[FrameworkBundle] mitigate BC break with empty trusted_proxies

| Q             | A
| ------------- | ---
| Branch?       | 3.3
| Bug fix?      | kind of
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/22238#issuecomment-305932238
| License       | MIT
| Doc PR        |

Commits
-------

ff055ef7f3 mitigate BC break with empty trusted_proxies
2017-06-03 08:54:50 -07:00
Fabien Potencier
621b7698fb bug #22936 [Form] Mix attr option between guessed options and user options (yceruto)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Mix attr option between guessed options and user options

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

Commits
-------

84f5de902d mix attr options between type-guess options and user options
2017-06-03 08:53:19 -07:00
Fabien Potencier
12f5636eae bug #22976 [DependencyInjection] Use more clear message when unused environment variables detected (voronkovich)
This PR was squashed before being merged into the 3.2 branch (closes #22976).

Discussion
----------

[DependencyInjection] Use more clear message when unused environment variables detected

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

Old error message:
```
Incompatible use of dynamic environment variables "DATABASE_URL", "MAILER_URL" found in parameters.
```

New error message:
```
Environment variables "DATABASE_URL", "MAILER_URL" are never used. Please, check your container's configuration.
```

Commits
-------

6dbdb1b750 [DependencyInjection] Use more clear message when unused environment variables detected
2017-06-03 08:50:21 -07:00
Oleg Voronkovich
6dbdb1b750 [DependencyInjection] Use more clear message when unused environment variables detected 2017-06-03 08:50:11 -07:00
Lars Strojny
eda1888f71 Consistent error handling in remember me services 2017-06-03 14:24:04 +02:00
Maxime Steinhausser
9de898d69f [Form][Profiler] Fixes form collector triggering deprecations 2017-06-03 13:15:34 +02:00
Christian Flothmann
ff055ef7f3 mitigate BC break with empty trusted_proxies 2017-06-03 13:02:13 +02:00
Nicolas Grekas
9d24e80b00 feature #23035 [3.4] Deprecate passing a concrete service in optional cache warmers (romainneutron)
This PR was merged into the 3.4 branch.

Discussion
----------

[3.4] Deprecate passing a concrete service in optional cache warmers

| 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 | N/A
| License       | MIT

Commits
-------

b9c91cd Deprecate passing a concrete service in optional cache warmers
2017-06-03 10:55:18 +02:00
Nicolas Grekas
4fbc2a6d08 feature #23036 [3.4] Implement ServiceSubscriberInterface in optional cache warmers (romainneutron)
This PR was merged into the 3.4 branch.

Discussion
----------

[3.4] Implement ServiceSubscriberInterface in optional cache warmers

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

Commits
-------

4ba59c9 Implement ServiceSubscriberInterface in optional cache warmers
2017-06-03 10:52:59 +02:00
Nicolas Grekas
8d58b50ffd Merge branch '3.2' into 3.3
* 3.2:
  [Form][FrameworkBundle] Remove non-existing arg for data_collector.form
  [Cache] fix Redis scheme detection
2017-06-03 10:42:48 +02:00