Commit Graph

8650 Commits

Author SHA1 Message Date
Nicolas Grekas
a4fc49294e [HttpKernel][FrameworkBundle] Add RebootableInterface, fix and un-deprecate cache:clear with warmup 2017-08-18 13:51:16 +02:00
Nicolas Grekas
f751ac9ac1 Merge branch '3.3' into 3.4
* 3.3:
  Revert "feature #21038 [FrameworkBundle] deprecated cache:clear with warmup (fabpot)"
2017-08-18 10:17:34 +02:00
Fabien Potencier
4fdaa3a981 bug #23825 Revert "feature #21038 [FrameworkBundle] deprecated cache:clear with warmup (fabpot)" (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

Revert "feature #21038 [FrameworkBundle] deprecated cache:clear with warmup (fabpot)"

This reverts commit 3495b35e4f, reversing
changes made to 7f7b897ee2.

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

Sibling to #23792: there is no need to trigger the deprecation in 3.3 if we un-deprecate in 3.4.

Commits
-------

90099706c6 Revert "feature #21038 [FrameworkBundle] deprecated cache:clear with warmup (fabpot)"
2017-08-18 10:05:51 +02:00
Nicolas Grekas
16d34ebcae Merge branch '3.3' into 3.4
* 3.3:
  [VarDumper] Fix tests with phpredis 3.1.3
  [DI] Fix reading env vars from fastcgi params
  Allow phpdocumentor/reflection-docblock 4.
  [VarDumper] play nice with open_basedir when looking for composer.json
2017-08-17 15:38:59 +02:00
Alexander M. Turek
1a5fd79c21 Allow phpdocumentor/reflection-docblock 4. 2017-08-15 15:32:50 +02:00
Robin Chalas
1a5acc91bd minor #23852 Made some SecurityBundle tests case-insensitive to prepare for future Symfony versions (javiereguiluz)
This PR was squashed before being merged into the 3.4 branch (closes #23852).

Discussion
----------

Made some SecurityBundle tests case-insensitive to prepare for future Symfony versions

| 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 what @nicolas-grekas [told me to do](https://github.com/symfony/symfony/pull/23797#issuecomment-320579781) to unlock #23797.

Commits
-------

9b7750a Made some SecurityBundle tests case-insensitive to prepare for future Symfony versions
2017-08-14 10:34:21 +02:00
Javier Eguiluz
9b7750a432 Made some SecurityBundle tests case-insensitive to prepare for future Symfony versions 2017-08-14 10:34:19 +02:00
Fabien Potencier
d8584e5e2a minor #23843 [Profiler] Make the validator toolbar item consistent with the form one (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[Profiler] Make the validator toolbar item consistent with the form one

| 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

After more time experiencing it, I changed my mind about https://github.com/symfony/symfony/pull/22554#pullrequestreview-37818648.

I do think replicating the form toolbar item behavior is the best thing to do.
Displaying a different property under some conditions may seem to be a bad idea, but the difference is clearly expressed by the background color used:

|-|-|
|--|--|
|<img alt="screenshot 2017-08-09 a 15 59 56" src="https://user-images.githubusercontent.com/2211145/29125368-de340da4-7d1b-11e7-9b04-8ff395e118f0.PNG">| Red: something wrong happened. Shows the relevant information: the number of violations.|
|<img alt="screenshot 2017-08-09 a 16 00 05" src="https://user-images.githubusercontent.com/2211145/29125374-e28dd6a0-7d1b-11e7-8ed6-b0d7634a5b21.PNG">| Grey: Everything went fine. Acknowledge the validator calls were made and passed by showing the number of calls.|

In any case, everything is clear when hovering the toolbar item (and most users are probably already used to this behavior due to the form item):

|Violations|No violations|
|--|--|
|<img width="173" alt="screenshot 2017-08-09 a 15 51 18" src="https://user-images.githubusercontent.com/2211145/29125023-e35ca602-7d1a-11e7-82d5-0ff3c0d9c46c.PNG">|<img width="172" alt="screenshot 2017-08-09 a 15 51 31" src="https://user-images.githubusercontent.com/2211145/29125037-ebbf0614-7d1a-11e7-8cd2-de6cb963a282.PNG">|

Commits
-------

b622d26978 [Profiler] Make the validator toolbar item consistent with the form one
2017-08-10 14:04:21 +02:00
Fabien Potencier
a1faaa1221 Merge branch '3.3' into 3.4
* 3.3:
  fixed CS
  [2.8] Modify 2.8 upgrade doc - key option is deprecated.
  [DebugBundle] Reword an outdated comment about var dumper wiring
  [DI] Fix some docblocks
  [DI] Fix some docblocks
  Fixed the exception page design in responsive mode
  [Console] Log exit codes as debug messages instead of errors
  Fixed UPGRADE-4.0 about Container::set
  Ignore memcached missing key error on dession destroy
  bumped Symfony version to 3.2.14
  updated VERSION for 3.2.13
  updated CHANGELOG for 3.2.13
2017-08-10 09:07:17 +02:00
Fabien Potencier
a670b2b932 Merge branch '3.2' into 3.3
* 3.2:
  [DebugBundle] Reword an outdated comment about var dumper wiring
  Ignore memcached missing key error on dession destroy
  bumped Symfony version to 3.2.14
  updated VERSION for 3.2.13
  updated CHANGELOG for 3.2.13
2017-08-10 09:07:06 +02:00
Fabien Potencier
3306986a5d Merge branch '2.8' into 3.2
* 2.8:
  fixed CS
  [2.8] Modify 2.8 upgrade doc - key option is deprecated.
  [DebugBundle] Reword an outdated comment about var dumper wiring
  [DI] Fix some docblocks
  Ignore memcached missing key error on dession destroy
  Github template: Remove EOM 3.2 from branch suggestion
  [Security] Fix security.interactive_login event const doc block
  Avoid infinite loops when profiler data is malformed
  [Bridge\ProxyManager] Dont call __destruct() on non-instantiated services
  Docblock improvement
  bumped Symfony version to 2.8.27
  updated VERSION for 2.8.26
  updated CHANGELOG for 2.8.26
  bumped Symfony version to 2.7.34
  updated VERSION for 2.7.33
  update CONTRIBUTORS for 2.7.33
  updated CHANGELOG for 2.7.33
  [HttpFoundation] Generate safe fallback filename for wrongly encoded filename
2017-08-10 09:06:25 +02:00
Fabien Potencier
18e5e70afe Merge branch '2.7' into 2.8
* 2.7:
  [DebugBundle] Reword an outdated comment about var dumper wiring
  Ignore memcached missing key error on dession destroy
2017-08-10 09:04:10 +02:00
Fabien Potencier
1982fffb16 feature #23836 [FrameworkBundle] Catch Fatal errors in commands registration (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] Catch Fatal errors in commands registration

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

#### before

![before](https://image.prntscr.com/image/QDmEVSPiQY6VCY7PoNAIbg.png)

#### after

![after](https://image.prntscr.com/image/B2EuZtzwTfiVS6F3kTAa4Q.png)

Trying to run the failing command itself

![failing](https://image.prntscr.com/image/7RgdtCVyQXyVit8TPkh98A.png)

Exceptions/errors thrown in `registerCommands()` (bundles/non-lazy command services registration) are caught and displayed as a warning, allowing to run other valid commands.

Commits
-------

46b6b42b7b [FrameworkBundle] Catch Fatal errors in commands registration
2017-08-10 08:57:58 +02:00
Tobias Schultze
25363450ca feature #23805 [HttpKernel] Deprecated commands auto-registration (GuilhemN)
This PR was squashed before being merged into the 3.4 branch (closes #23805).

Discussion
----------

[HttpKernel] Deprecated commands auto-registration

| 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 | https://github.com/symfony/symfony/issues/23488
| License       | MIT
| Doc PR        |

Deprecates commands auto-registration. See https://github.com/symfony/symfony/issues/23488 for arguments.

Commits
-------

14215d8185 [HttpKernel] Deprecated commands auto-registration
2017-08-09 18:53:01 +02:00
Guilhem Niot
14215d8185 [HttpKernel] Deprecated commands auto-registration 2017-08-09 18:52:44 +02:00
Robin Chalas
46b6b42b7b [FrameworkBundle] Catch Fatal errors in commands registration 2017-08-09 18:38:20 +02:00
Maxime Steinhausser
b622d26978 [Profiler] Make the validator toolbar item consistent with the form one 2017-08-09 15:44:44 +02:00
Maxime Steinhausser
f876fd9253 [DebugBundle] Reword an outdated comment about var dumper wiring 2017-08-09 13:56:35 +02:00
Fabien Potencier
6727d41fd3 updated CHANGELOG 2017-08-09 12:12:24 +02:00
Fabien Potencier
8f862b2042 feature #23812 [FrameworkBundle] Allow micro kernel to subscribe events easily (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] Allow micro kernel to subscribe events easily

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

just by implementing `EventSubscriberInterface`. See related issue for other implementation suggestions.

Commits
-------

b31542eb22 [FrameworkBundle] Allow micro kernel to subscribe events easily
2017-08-09 12:11:16 +02:00
Javier Eguiluz
cd8af2284d Fixed the exception page design in responsive mode 2017-08-08 15:39:42 +02:00
Nicolas Grekas
90099706c6 Revert "feature #21038 [FrameworkBundle] deprecated cache:clear with warmup (fabpot)"
This reverts commit 3495b35e4f, reversing
changes made to 7f7b897ee2.
2017-08-08 08:44:34 +02:00
Nicolas Grekas
fea348c7c4 fix typo 2017-08-07 21:17:34 +02:00
Nicolas Grekas
09272ff0f7 fix bad merge 2017-08-07 20:31:05 +02:00
Nicolas Grekas
4037009490 [DI] Generate one file per service factory 2017-08-06 20:25:40 +02:00
Nicolas Grekas
266d9d375e minor #23801 Continuation of #23624 (ro0NL)
This PR was squashed before being merged into the 3.4 branch (closes #23801).

Discussion
----------

Continuation of #23624

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | yes
| 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 https://github.com/symfony/symfony/pull/23624#discussion_r131539736

cc @chalasr

Also included service injection for init:acl + set:acl and simplification of lint:xliff + lintt:yaml.

Btw, i think init:acl needs to be renamed to acl:init :)

Commits
-------

5f637c1 Continuation of #23624
2017-08-06 20:13:25 +02:00
Roland Franssen
5f637c1629 Continuation of #23624 2017-08-06 20:13:14 +02:00
Maxime Steinhausser
b31542eb22 [FrameworkBundle] Allow micro kernel to subscribe events easily 2017-08-06 20:06:06 +02:00
Nicolas Grekas
8be06c45f9 Merge branch '3.3' into 3.4
* 3.3:
  [Profiler] Fix request_collector check in main layout
  Github template: Remove EOM 3.2 from branch suggestion
  [Security] Fix security.interactive_login event const doc block
  Update Container.php: Deprecated -> @deprecated
  allow phpdocumentor/reflection-docblock >=3.2.1
  Avoid infinite loops when profiler data is malformed
  [FrameworkBundle] Warmup annotations for bundle-less controllers and entities
  [HttpFoundation] Generate safe fallback filename for wrongly encoded filename
2017-08-06 15:42:33 +02:00
Maxime Steinhausser
c35cdba6d2 [Profiler] Fix request_collector check in main layout 2017-08-06 15:12:58 +02:00
Nicolas Grekas
736f0d0d93 feature #23624 [FrameworkBundle] Commands as a service (ro0NL)
This PR was squashed before being merged into the 3.4 branch (closes #23624).

Discussion
----------

[FrameworkBundle] Commands as a service

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

Next step towards #23488

It's a work in progress if we want to do all commands at once (im fine :)). But i think we should review `assets:install` first.

Also im assuming framework commands can rely on `getApplication()->getKernel()` from the framework application (we already do that in some commands). That saves a dep on `@kernel`.

And filesystem as a service; perhaps drop that as well :)

Commits
-------

de1dc0b [FrameworkBundle] Commands as a service
2017-08-06 12:29:14 +02:00
Roland Franssen
de1dc0b469 [FrameworkBundle] Commands as a service 2017-08-06 12:29:12 +02:00
Nicolas Grekas
c099f582fc bug #23776 [FrameworkBundle] Warmup annotations for bundle-less controllers and entities (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[FrameworkBundle] Warmup annotations for bundle-less controllers and entities

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

feb5e62 [FrameworkBundle] Warmup annotations for bundle-less controllers and entities
2017-08-05 16:29:53 +02:00
Christian Flothmann
978eca9fe4 Merge branch '3.3' into 3.4
* 3.3:
  better errors when security deps are missing
2017-08-04 16:18:17 +02:00
Grégoire Pineau
f693fcd2ea bug #23638 [FrameworkBundle][Workflow] better errors when security deps are missing (xabbuh)
This PR was merged into the 3.3 branch.

Discussion
----------

[FrameworkBundle][Workflow] better errors when security deps are missing

| 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/pull/23499#discussion_r128752026
| License       | MIT
| Doc PR        |

All the referenced services must either be explicitly configured or the SecurityBundle must be installed with some security related config being enabled. Otherwise, you will end up with a not so useful error message.

Commits
-------

56ee4aa better errors when security deps are missing
2017-08-04 10:02:36 +02:00
Christian Flothmann
56ee4aa543 better errors when security deps are missing 2017-08-04 09:27:11 +02:00
Fabien Potencier
ce1050820f minor #23766 Consistently use 7 chars of sha256 for hash-based id generation (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

Consistently use 7 chars of sha256 for hash-based id generation

| 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 prevents generating over long service ids, and for filesystem-related changes, makes the Windows 258 chars limit farther.

Commits
-------

bc22cdd034 Consistently use 7 chars of sha256 for hash-based id generation
2017-08-03 14:04:31 +02:00
Nicolas Grekas
feb5e62a5a [FrameworkBundle] Warmup annotations for bundle-less controllers and entities 2017-08-03 13:53:52 +02:00
Nicolas Grekas
bc22cdd034 Consistently use 7 chars of sha256 for hash-based id generation 2017-08-03 13:27:37 +02:00
Nicolas Grekas
6c1a5e1560 Merge branch '3.3' into 3.4
* 3.3:
  Removed useless argument $definition
  Fix comment
  [Config] Fix checking class existence freshness
  bumped Symfony version to 3.3.7
  updated VERSION for 3.3.6
  updated CHANGELOG for 3.3.6
  Bump minimal PHP version to ^5.5.9|>=7.0.8
2017-08-03 11:34:20 +02:00
Nicolas Grekas
a479583a81 minor #23765 [FrameworkBundle] Fix comment (Lctrs)
This PR was merged into the 3.3 branch.

Discussion
----------

[FrameworkBundle] Fix comment

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

Actually, DataUriNormalizer runs before the serializer.normalizer.object since it has a higher priority (-920 vs -1000).

Commits
-------

103b23e Fix comment
2017-08-03 11:01:56 +02:00
Jérôme Parmentier
103b23efb6 Fix comment 2017-08-02 16:33:39 +02:00
Ben Scott
ee4dc20e0f Autoconfigure instances of ArgumentValueResolverInterface
Add the controller.argument_value_resolver tag to instances of
ArgumentValueResolverInterface
2017-08-01 10:20:43 +01:00
Adam Szaraniec
2769550950 improve sql explain table display 2017-07-30 19:02:54 +04:00
Nicolas Grekas
2282a6f895 Bump minimal PHP version to ^5.5.9|>=7.0.8 2017-07-29 23:54:42 +02:00
Nicolas Grekas
531b294b21 Merge branch '3.3' into 3.4
* 3.3:
  [DI] Remove unused props from the PhpDumper
  [VarDumper] Keep and reuse array stubs in memory
  [ProxyManager] Cleanup fixtures
  [Console][WebServerBundle] Use "exec" when possible
  [Debug] HTML-escape array key
  Add some phpdocs for IDE autocompletion and better SCA
  Fixed typo in docblock
2017-07-28 17:30:20 +02:00
Nicolas Grekas
7b6d8948ce [Console][WebServerBundle] Use "exec" when possible 2017-07-26 18:08:22 +02:00
Nicolas Grekas
4a3b3bef03 Merge branch '3.3' into 3.4
* 3.3:
  [DI] use assertStringEqualsFile when possible
  [VarDumper] Adapt to php 7.2 changes
  [DI] Fix using private services in expressions
  [Form][TwigBridge] Don't render _method in form_rest() for a child form
  [Form] Static call TimezoneType::getTimezones
  Removed references for non existent validator constraints
  Suggest using quotes instead of Yaml::PARSE_KEYS_AS_STRINGS
  [DI] Fix test
  [Cache] Handle unserialization failures for Memcached
  Remove unused prop + added @deprecated
  Remove unused mocks/vars
  [DoctrineBridge][PropertyInfo] Added support for Doctrine Embeddables
  [Validator] Fix IbanValidator for ukrainian IBANs
  Router: allow HEAD method to be defined first
  [WebProfilerBundle] Display trace and context in the logger profiler
  Fixing a bug where if a core class was autowired, autowiring tried to autowire optional args as if they were required
2017-07-26 08:46:38 +02:00
Nicolas Grekas
d56947698f Merge branch '3.2' into 3.3
* 3.2:
  [DI] use assertStringEqualsFile when possible
  [VarDumper] Adapt to php 7.2 changes
  [DI] Fix using private services in expressions
  [Form][TwigBridge] Don't render _method in form_rest() for a child form
  [Form] Static call TimezoneType::getTimezones
  Removed references for non existent validator constraints
  Remove unused mocks/vars
  [DoctrineBridge][PropertyInfo] Added support for Doctrine Embeddables
  [Validator] Fix IbanValidator for ukrainian IBANs
2017-07-26 08:42:48 +02:00
Fabien Potencier
07638982c7 bug #23588 [WebProfilerBundle] Display trace and context in the logger profiler (lyrixx)
This PR was merged into the 3.3 branch.

Discussion
----------

[WebProfilerBundle] Display trace and context in the logger profiler

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

Right now the behavior is not perfect. It can display only the trace **or** the context.
Some time, we want both.

More over, using `{{ profiler_dump_log(log.message, trace) }}` is wrong

Commits
-------

ef1e50802e [WebProfilerBundle] Display trace and context in the logger profiler
2017-07-23 11:41:59 +02:00
Roland Franssen
07ff4dd163 Remove unused prop + added @deprecated 2017-07-22 20:52:59 +02:00
Roland Franssen
445c56aa3e Remove unused mocks/vars 2017-07-22 20:48:54 +02:00
Fabien Potencier
7695112601 feature #22317 [Console] Make SymfonyQuestionHelper::ask optional by default (ro0NL)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[Console] Make SymfonyQuestionHelper::ask optional by default

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

i noticed when writing commands i always keep doing

```php
$io = new SymfonyStyle($input, $output);
$answer = $io->ask('...', null, function ($value) { return $value; });

// instead of just
$answer = $io->ask('...');
```

only to bypass a built-in validation, of which im not sure why it's there. Note the base question helper doesnt make this assumption...

Commits
-------

2da429cd0a [Console] Make SymfonyQuestionHelper::ask optional by default
2017-07-22 20:13:43 +02:00
Nicolas Grekas
44d1162df4 feature #23451 [Cache] Add (filesystem|phpfiles) cache (adapter|simple) prune method and prune command (robfrawley)
This PR was merged into the 3.4 branch.

Discussion
----------

[Cache] Add (filesystem|phpfiles) cache (adapter|simple) prune method and prune command

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

As requested in https://github.com/symfony/symfony/issues/21764#issuecomment-313425723, this PR adds a `prune()` method to [`FilesystemTrait`](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Cache/Traits/FilesystemTrait.php). This placement seems reasonable as it exposes the method in [`FilesystemAdapter`](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Cache/Adapter/FilesystemAdapter.php) and [`FilesystemCache`](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Cache/Simple/FilesystemCache.php).

The return value is a `bool` representing either a partial or complete failure (when `false`) *or* complete success (when `true`).

Once the API for the `prune` method is confirmed, I'll introduce a documentation PR, as well.

---

*Stale-detection implementation:* The file modification time is used to determine if a cache item should be pruned. This seems reasonable, given the use of [`touch` in the common trait](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Cache/Traits/FilesystemCommonTrait.php#L90). Interestingly, though, the [`doFetch` method](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Cache/Traits/FilesystemTrait.php#L38) uses the timestamp saved at the top of the file itself to determine the stale state. Should this latter implementation be used for `prune` as well (or is the current one ok), for example:

```php
foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($this->directory, \FilesystemIterator::SKIP_DOTS), \RecursiveIteratorIterator::LEAVES_ONLY, \RecursiveIteratorIterator::CATCH_GET_CHILD) as $file) {
    if ($h = @fopen($file, 'rb')) {
        if ($time >= (int) $expiresAt = fgets($h)) {
            fclose($h);
            if (isset($expiresAt[0])) {
                $okay = (@unlink($file) && !file_exists($file)) && $okay;
            }
        }
    }
}
```

Commits
-------

f0d0c5f add (filesystem|phpfiles) cache (adapter|simple) prune method and prune command
2017-07-22 16:03:09 +02:00
Fabien Potencier
68d9df6116 feature #23519 [TwigBundle] Commands as a service (ro0NL)
This PR was squashed before being merged into the 3.4 branch (closes #23519).

Discussion
----------

[TwigBundle] Commands as a service

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | yes
| 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-->

tiny step towards #23488

Commits
-------

98391402d1 [TwigBundle] Commands as a service
2017-07-22 09:51:14 +02:00
Roland Franssen
98391402d1 [TwigBundle] Commands as a service 2017-07-22 09:51:11 +02:00
Nicolas Grekas
6dc5f59ae3 Merge branch '3.3' into 3.4
* 3.3:
  use Precise on Travis to keep PHP LDAP support
  Fix case sensitive sameSite cookie
  [PropertyInfo] Use rawurlencode to escape PSR-6 keys
  fix(security): ensure the 'route' index is set before attempting to use it
  Fix the design of the profiler exceptions when there is no message
  [Config] Minor fix
  [WebProfilerBundle] Fix full sized dump hovering in toolbar
2017-07-21 13:05:08 +02:00
Nicolas Grekas
444a840ea5 Merge branch '3.2' into 3.3
* 3.2:
  use Precise on Travis to keep PHP LDAP support
  Fix case sensitive sameSite cookie
  [PropertyInfo] Use rawurlencode to escape PSR-6 keys
  fix(security): ensure the 'route' index is set before attempting to use it
  [WebProfilerBundle] Fix full sized dump hovering in toolbar
2017-07-21 13:04:46 +02:00
Nicolas Grekas
0793fe76b1 Merge branch '2.8' into 3.2
* 2.8:
  use Precise on Travis to keep PHP LDAP support
  fix(security): ensure the 'route' index is set before attempting to use it
  [WebProfilerBundle] Fix full sized dump hovering in toolbar
2017-07-21 13:03:24 +02:00
Grégoire Pineau
ef1e50802e [WebProfilerBundle] Display trace and context in the logger profiler 2017-07-21 10:28:01 +02:00
Rob Frawley 2nd
f0d0c5ffef
add (filesystem|phpfiles) cache (adapter|simple) prune method and prune command
- added `Symfony\Component\Cache\PruneableInterface` so PSR-6 or PSR-16 cache implementations can declare support
  for manual stale cache pruning
- added FilesystemTrait::prune() and PhpFilesTrait::prune() implementations
- now FilesystemAdapter, PhpFilesAdapter, FilesystemCache, and PhpFilesCache implement PruneableInterface and
  supports manual stale cache pruning
- Added `cache:pool:prune` command via `Symfony\Bundle\FrameworkBundle\Command\CachePoolPruneCommand` to allow
  manual stale cache item pruning of supported PSR-6 and PSR-16 cache pool implementations
- Added `Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\CachePoolPrunerPass` compiler pass to fetch
  all cache pools implementing `PruneableInterface` and pass them to the command as an `IteratorArgument` so
  these references are lazy loaded by the command
- updated changelogs as appropriate
2017-07-20 11:29:24 -04:00
Fabien Potencier
34d5f9eefe bug #23584 Fix the design of the profiler exceptions when there is no message (javiereguiluz)
This PR was merged into the 3.3 branch.

Discussion
----------

Fix the design of the profiler exceptions when there is no message

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

This changes a bit the HTML structure of exception pages so we can show exceptions without messages in a better way inside the profiler.

### Before

![before](https://user-images.githubusercontent.com/73419/28358961-092f845e-6c71-11e7-8225-63d01a8011f0.png)

### After

![after](https://user-images.githubusercontent.com/73419/28358968-0e6cfba4-6c71-11e7-9b76-3d6eb7a9f0bc.png)

Commits
-------

25a47d8796 Fix the design of the profiler exceptions when there is no message
2017-07-20 09:48:08 +02:00
Javier Eguiluz
14a54a2aa9 bug #23330 [WebProfilerBundle] Fix full sized dump hovering in toolbar (ogizanagi)
This PR was merged into the 2.8 branch.

Discussion
----------

[WebProfilerBundle] Fix full sized dump hovering in toolbar

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

Since #22953, the dump block shown on hovering the toolbar item takes the full width. But at least on OS X chrome, safari and firefox, the behavior is buggy and makes it unusable as the cursor can't reach the dumped content:

![juin-29-2017 21-09-38](https://user-images.githubusercontent.com/2211145/27705877-b25c1496-5d0f-11e7-8fff-169e080e335c.gif)

Honestly, I don't really understand the issue here and tried some tweaks until it works everywhere, (including trying to add a `.no-resize` class on `sf-toolbar-info` to avoid executing the related js event listener in case it was conflicting).

As shown in the screenshot, it also fixes the case where the dump wasn't full width under a certain size.

Commits
-------

28930c5 [WebProfilerBundle] Fix full sized dump hovering in toolbar
2017-07-19 19:48:51 +02:00
Fabien Potencier
8c028bd956 Merge branch '3.3' into 3.4
* 3.3:
  [Security] added more tests
  [Security] fixed default target path when referer contains a query string
  [Security] simplified tests
  [Security] refactored tests
  [WebProfilerBundle][TwigBundle] Fix infinite js loop on exception pages
  [FrameworkBundle] fix ValidatorCacheWarmer: use serializing ArrayAdapter
  Change "this" to "that" to avoid confusion
  [VarDumper] Move locale sniffing to dump() time
  [VarDumper] Use "C" locale when using "comma" flags
  [Config] Make ClassExistenceResource throw on invalid parents
2017-07-19 11:38:19 +02:00
Fabien Potencier
2d8fb99d57 Merge branch '3.2' into 3.3
* 3.2:
  [Security] added more tests
  [Security] fixed default target path when referer contains a query string
  [Security] simplified tests
  [Security] refactored tests
  [FrameworkBundle] fix ValidatorCacheWarmer: use serializing ArrayAdapter
  Change "this" to "that" to avoid confusion
  [VarDumper] Move locale sniffing to dump() time
2017-07-19 11:37:49 +02:00
Javier Eguiluz
25a47d8796 Fix the design of the profiler exceptions when there is no message 2017-07-19 10:54:05 +02:00
Nicolas Grekas
719465c04e feature #23550 [DebugBundle] Added min_depth to Configuration (james-johnston-thumbtack)
This PR was merged into the 3.4 branch.

Discussion
----------

[DebugBundle] Added min_depth to Configuration

This enables calling the recently-added `setMinDepth` function on `VarCloner`.

| 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        | symfony/symfony-docs#8185

Commits
-------

30cd70d [DebugBundle] Added min_depth to Configuration
2017-07-19 07:40:55 +02:00
Maxime Steinhausser
295fda9a31 [WebProfilerBundle][TwigBundle] Fix infinite js loop on exception pages 2017-07-19 07:00:48 +02:00
David Maicher
c0556cb204 [FrameworkBundle] fix ValidatorCacheWarmer: use serializing ArrayAdapter 2017-07-19 06:29:52 +02:00
Fabien Potencier
5a521bf5ae feature #23570 [FrameworkBundle] Make RouterCacheWarmer implement ServiceSubscriberInterface (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] Make RouterCacheWarmer implement ServiceSubscriberInterface

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

Blocks #23569

Commits
-------

c0af0031ec [FrameworkBundle] Make RouterCacheWarmer implement ServiceSubscriberInterface
2017-07-18 15:06:41 +02:00
Nicolas Grekas
a1846f0637 Merge branch '3.3' into 3.4
* 3.3:
  remove useless comment
  fix merge
2017-07-18 13:59:19 +02:00
Nicolas Grekas
0bd1f09152 remove useless comment 2017-07-18 13:58:52 +02:00
Nicolas Grekas
c0af0031ec [FrameworkBundle] Make RouterCacheWarmer implement ServiceSubscriberInterface 2017-07-18 13:49:54 +02:00
James Johnston
30cd70dcad [DebugBundle] Added min_depth to Configuration
This enables calling the recently-added setMinDepth function on
VarCloner.
2017-07-17 09:04:54 -07:00
Fabien Potencier
1e88b35380 Merge branch '3.3' into 3.4
* 3.3:
  [FrameworkBundle] Set default public directory on install assets
  [Security] Fix wrong term in UserProviderInterface
  [HttpFoundation] Set meta refresh time to 0 in RedirectResponse content
  disable inlining deprecated services
  [Cache] add constructor docblocks for clarity
  [WebServerBundle] allowed public/ root directory to be auto-discovered along side web/
  [WebServerBundle] remove duplicate code
  [SecurityBundle] Clarify deprecation in UserPasswordEncoderCommand::getContainer
  [Cache] add constructor docblocks for clarity
  [Security] validate empty passwords again
  [DI] Remove irrelevant comment from container
  [TwigBridge] cleaner implementation of the TwigRenderer
2017-07-17 16:07:19 +02:00
Tobias Schultze
6ea71cb2cc [TwigBridge] deprecate TwigRenderer 2017-07-17 14:03:11 +02:00
Fabien Potencier
7beac82915 bug #23513 [FrameworkBundle] Set default public directory on install assets (yceruto)
This PR was squashed before being merged into the 3.3 branch (closes #23513).

Discussion
----------

[FrameworkBundle] Set default public directory on install assets

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

After https://github.com/symfony/flex/pull/122 and https://github.com/symfony/recipes/pull/106 the default directory to install assets is `public`.

Commits
-------

1bdfe0b39b [FrameworkBundle] Set default public directory on install assets
2017-07-17 13:48:41 +02:00
Yonel Ceruto
1bdfe0b39b [FrameworkBundle] Set default public directory on install assets 2017-07-17 13:48:40 +02:00
Fabien Potencier
c75d0c56ab bug #23535 Make server:* commands work out of the box with the public/ root dir (fabpot)
This PR was squashed before being merged into the 3.3 branch (closes #23535).

Discussion
----------

Make server:* commands work out of the box with the public/ root dir

| 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

The first commit removes code that is not needed as the WebserverConfig class already throws the exact same error and the display is exactly the same in that case.

The second commit adds support for `public/` along side `web/`.

Commits
-------

34c8566be1 [WebServerBundle] allowed public/ root directory to be auto-discovered along side web/
bc6b57c208 [WebServerBundle] remove duplicate code
2017-07-17 12:18:22 +02:00
Fabien Potencier
34c8566be1 [WebServerBundle] allowed public/ root directory to be auto-discovered along side web/ 2017-07-16 14:41:56 +02:00
Fabien Potencier
bc6b57c208 [WebServerBundle] remove duplicate code 2017-07-16 14:41:56 +02:00
Roland Franssen
7ea2d0437a [SecurityBundle] Clarify deprecation in UserPasswordEncoderCommand::getContainer 2017-07-15 19:48:19 +02:00
Nicolas Grekas
b24a338f71 Merge branch '3.3' into 3.4
* 3.3:
  [Profiler] Fix data collector getCasters() call
  remove symfony/process suggestion
  [DI] Remove unused dynamic property
  [Process] Fixed issue between process builder and exec
  non-conflicting anonymous service ids across files
2017-07-15 10:52:56 +02:00
Christian Flothmann
101b6815eb remove symfony/process suggestion 2017-07-15 08:24:25 +02:00
Nicolas Grekas
d1cfec11c3 Merge branch '3.2' into 3.3
* 3.2:
  [FrameworkBundle] Fix tests
2017-07-12 17:03:57 +02:00
Nicolas Grekas
2e0c6bc855 [FrameworkBundle] Fix tests 2017-07-12 16:53:35 +02:00
Nicolas Grekas
c8f2c96318 feature #22734 [Console] Add support for command lazy-loading (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Add support for command lazy-loading

| 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/issues/12063 https://github.com/symfony/symfony/pull/16438 https://github.com/symfony/symfony/pull/13946 #21781
| License       | MIT
| Doc PR        | todo

This PR adds command lazy-loading support to the console, based on PSR-11 and DI tags.
(https://github.com/symfony/symfony/issues/12063#issuecomment-57173784)

Commands registered as services which set the `command` attribute on their `console.command` tag are now instantiated when calling `Application::get()` instead of all instantiated at `run()`.

__Usage__

```yaml
app.command.heavy:
    tags:
        - { name: console.command, command: app:heavy }
```

This way private command services can be inlined (no public aliases, remain really private).

With console+PSR11 implem only:

```php
$application = new Application();
$container = new ServiceLocator(['heavy' => function () { return new Heavy(); }]);
$application->setCommandLoader(new ContainerCommandLoader($container, ['app:heavy' => 'heavy']);
```

Implementation is widely inspired from Twig runtime loaders (without the definition/runtime separation which is not needed here).

Commits
-------

7f97519 Add support for command lazy-loading
2017-07-12 13:56:28 +02:00
Nicolas Grekas
afaf29911f feature #19034 [Security] make it possible to configure a custom access decision manager service (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] make it possible to configure a custom access decision manager service

| Q | A |
| --- | --- |
| Branch? | 3.4 |
| Bug fix? | no |
| New feature? | yes |
| BC breaks? | no |
| Deprecations? | no |
| Tests pass? | yes |
| Fixed tickets | #942, #14049, #15295, #16828, #16843, |
| License | MIT |
| Doc PR | TODO |

These changes will make it possible to let users define their own voting strategies without the need for custom compiler passes that replace the built-in `AccessDecisionManager` (see linked issues in the PR table for some use cases).

Commits
-------

e0913a2 add option to define the access decision manager
2017-07-12 13:43:52 +02:00
Robin Chalas
7f97519624 Add support for command lazy-loading 2017-07-12 11:59:19 +02:00
Grégoire Pineau
ba8763b12e [TwigBundle] Added a RuntimeExtensionInterface to take advantage of autoconfigure 2017-07-11 16:22:33 +02:00
Nicolas Grekas
050d686096 feature #23295 [Security] Lazy load user providers (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] Lazy load user providers

| 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

Commits
-------

d7914a6 [Security] Lazy load user providers
2017-07-11 15:48:06 +02:00
Nicolas Grekas
77b8ea751c Merge branch '3.3' into 3.4
* 3.3:
  Don't display the Symfony debug toolbar when printing the page
  do not wire namespaces for the ArrayAdapter
  check _controller attribute is a string before parsing it
  [Cache] Added test for ApcuAdapter when using in CLI
  allow to configure custom formats in XML configs
  [HttpKernel] fix DumpDataCollector tests
  [FrameworkBundle] fix changelog
  [WebProfilerBundle] Cleanup profiler leftover
  [DotEnv] Fix variable substitution
  require the XML PHP extension
  Fix phpdoc for serializer normalizers exceptions
  Fixed absolute url generation for query strings and hash urls
  bumped Symfony version to 2.8.25
  updated VERSION for 2.8.24
  updated CHANGELOG for 2.8.24
  bumped Symfony version to 2.7.32
  [Filesystem] Dont copy perms when origin is remote
  updated VERSION for 2.7.31
  update CONTRIBUTORS for 2.7.31
  updated CHANGELOG for 2.7.31
2017-07-11 09:19:17 +02:00
Nicolas Grekas
22b67a4430 Merge branch '3.2' into 3.3
* 3.2:
  Don't display the Symfony debug toolbar when printing the page
  do not wire namespaces for the ArrayAdapter
  [Cache] Added test for ApcuAdapter when using in CLI
  allow to configure custom formats in XML configs
  [HttpKernel] fix DumpDataCollector tests
  [FrameworkBundle] fix changelog
  [WebProfilerBundle] Cleanup profiler leftover
  require the XML PHP extension
  Fix phpdoc for serializer normalizers exceptions
  Fixed absolute url generation for query strings and hash urls
  bumped Symfony version to 2.8.25
  updated VERSION for 2.8.24
  updated CHANGELOG for 2.8.24
  bumped Symfony version to 2.7.32
  [Filesystem] Dont copy perms when origin is remote
  updated VERSION for 2.7.31
  update CONTRIBUTORS for 2.7.31
  updated CHANGELOG for 2.7.31
2017-07-11 09:17:58 +02:00
Nicolas Grekas
6435c7f3cf Merge branch '2.8' into 3.2
* 2.8:
  Don't display the Symfony debug toolbar when printing the page
  allow to configure custom formats in XML configs
  require the XML PHP extension
  Fixed absolute url generation for query strings and hash urls
  bumped Symfony version to 2.8.25
  updated VERSION for 2.8.24
  updated CHANGELOG for 2.8.24
  bumped Symfony version to 2.7.32
  [Filesystem] Dont copy perms when origin is remote
  updated VERSION for 2.7.31
  update CONTRIBUTORS for 2.7.31
  updated CHANGELOG for 2.7.31
2017-07-11 09:14:38 +02:00
Nicolas Grekas
6735b35062 Merge branch '2.7' into 2.8
* 2.7:
  allow to configure custom formats in XML configs
  require the XML PHP extension
  Fixed absolute url generation for query strings and hash urls
  bumped Symfony version to 2.7.32
  [Filesystem] Dont copy perms when origin is remote
  updated VERSION for 2.7.31
  update CONTRIBUTORS for 2.7.31
  updated CHANGELOG for 2.7.31
2017-07-11 09:12:11 +02:00
Nicolas Grekas
38905d3f6a feature #23440 [Routing] Add matched and default parameters to redirect responses (artursvonda, Tobion)
This PR was merged into the 3.4 branch.

Discussion
----------

[Routing] Add matched and default parameters to redirect responses

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

Finished #18012 and #19037

Commits
-------

4c1fdd4 [Routing] also add matched params for redirect due to trailing slash
dc3f7a9 [Routing] Add matched and default parameters to redirect responses
2017-07-11 09:07:41 +02:00
Nicolas Grekas
0e988ca9be minor #23453 [WebProfilerBundle] Cleanup profiler leftover (ro0NL)
This PR was merged into the 3.2 branch.

Discussion
----------

[WebProfilerBundle] Cleanup profiler leftover

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

Leftover from 2.8

Commits
-------

8a19795 [WebProfilerBundle] Cleanup profiler leftover
2017-07-11 08:59:50 +02:00
Javier Eguiluz
ca3ff88361 Don't display the Symfony debug toolbar when printing the page 2017-07-11 08:54:57 +02:00
Tobias Schultze
4c1fdd4edf [Routing] also add matched params for redirect due to trailing slash 2017-07-11 08:35:47 +02:00
Christian Flothmann
9380614de9 do not wire namespaces for the ArrayAdapter 2017-07-10 19:31:39 +02:00
Alessandro Chitolina
0b349aee18
check _controller attribute is a string before parsing it 2017-07-10 18:12:17 +02:00
Christian Flothmann
5a3a24b0ac allow to configure custom formats in XML configs 2017-07-09 16:08:05 +02:00
Christian Flothmann
b033e79211 [FrameworkBundle] fix changelog
The `framework.serializer.cache` option was also deprecated in Symfony
3.1. This was documented in the upgrade file, but was not reflected in
the bundle's changelog.
2017-07-09 12:28:17 +02:00
Roland Franssen
8a197958cb [WebProfilerBundle] Cleanup profiler leftover 2017-07-08 21:14:51 +02:00
Nicolas Grekas
0bcc5afbda Minor cleanups 2017-07-06 16:36:30 +03:00
Nicolas Grekas
47ee1d53c1 Merge branch '3.3' into 3.4
* 3.3: (33 commits)
  Preserve HttpOnly value when deserializing a header
  [DX] [TwigBundle] Enhance the new exception page design
  Fix deprecated message
  [DI][Security] Prevent unwanted deprecation notices when using Expression Languages
  bumped Symfony version to 3.3.5
  updated VERSION for 3.3.4
  updated CHANGELOG for 3.3.4
  [VarDumper] Reduce size of serialized Data objects
  bumped Symfony version to 3.2.12
  updated VERSION for 3.2.11
  updated CHANGELOG for 3.2.11
  fixed bad merge
  Fix indent of methods
  [Cache] Handle APCu failures gracefully
  [DoctrineBridge] Use normalizedIds for resetting entity manager services
  [FrameworkBundle] Do not remove files from assets dir
  [FrameworkBundle] 3.3: Don't get() private services from debug:router
  bumped Symfony version to 3.3.4
  updated VERSION for 3.3.3
  updated CHANGELOG for 3.3.3
  ...
2017-07-06 13:23:40 +03:00
Javier Eguiluz
0db8d7fb6a Add support for microseconds in Stopwatch 2017-07-06 12:14:58 +03:00
Christian Flothmann
032e654acb require the XML PHP extension 2017-07-06 10:51:23 +02:00
Fabien Potencier
626e9875a2 bug #22439 [DX] [TwigBundle] Enhance the new exception page design (sustmi)
This PR was squashed before being merged into the 3.3 branch (closes #22439).

Discussion
----------

[DX] [TwigBundle] Enhance the new exception page design

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

- [x] Fix the problem with wrapping wide lines (https://github.com/symfony/symfony/pull/20951#issuecomment-292201983)

I got motivated by recent PR https://github.com/symfony/symfony/pull/20951 and redesigned the exception page even more.

Compare before: ![before](https://cloud.githubusercontent.com/assets/885946/25052220/0756b74e-2151-11e7-98b6-c99fd9eaabec.png)
with after: ![after](https://cloud.githubusercontent.com/assets/885946/25052225/0c76581a-2151-11e7-96ff-eb502ee8e97b.png)
(Ignore the the "sf" toolbar icon in the middle of the page. This is how Firefox does full-page screenshots.)

The most noticeable changes:
- removed double line spacing (it just does not feel natural)
- file context increased from 3 to 10 lines (it helps me to better orientate in the code)
- added horizontal scrollbar for the cases when the code is wider
- the highlighted line color is more saturated in order to be noticed easily

Commits
-------

43212b9a90 [DX] [TwigBundle] Enhance the new exception page design
2017-07-06 10:10:35 +03:00
Miroslav Sustek
43212b9a90 [DX] [TwigBundle] Enhance the new exception page design 2017-07-06 10:10:33 +03:00
Fabien Potencier
bfaf8a0fdc feature #22619 [FrameworkBundle][Translation] Move translation compiler pass (lepiaf)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle][Translation] Move translation compiler pass

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

move TranslationDumperPass, TranslationExtractorPass, TranslatorPass to Translation component.

Commits
-------

74c951fa04 [FrameworkBundle][Translation] Move translation compiler pass
2017-07-06 09:49:25 +03:00
Fabien Potencier
3981f9ba89 feature #22620 [FrameworkBundle][HttpKernel] Move httpkernel pass (lepiaf)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle][HttpKernel] Move httpkernel pass

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

Move addcachearmer, addcacheclearer compiler pass to httpkernel

Commits
-------

83727c7e3d [FrameworkBundle][HttpKernel] Move addcachearmer, addcacheclearer compiler pass
2017-07-06 09:43:51 +03:00
Fabien Potencier
57684240c4 Merge branch '3.2' into 3.3
* 3.2:
  Fix indent of methods
2017-07-05 09:51:27 +03:00
Fabien Potencier
f3cba17b29 Merge branch '2.8' into 3.2
* 2.8:
  Fix indent of methods
2017-07-05 09:50:55 +03:00
Fabien Potencier
442058dc61 Merge branch '2.7' into 2.8
* 2.7:
  Fix indent of methods
2017-07-05 09:50:35 +03:00
Nicolas Grekas
56f72d7f8f Merge branch '3.2' into 3.3
* 3.2:
  fixed bad merge
  [Cache] Handle APCu failures gracefully
  [FrameworkBundle] Do not remove files from assets dir
  bumped Symfony version to 3.2.11
  updated VERSION for 3.2.10
  updated CHANGELOG for 3.2.10
  bumped Symfony version to 2.8.24
  updated VERSION for 2.8.23
  updated CHANGELOG for 2.8.23
  bumped Symfony version to 2.7.31
  updated VERSION for 2.7.30
  update CONTRIBUTORS for 2.7.30
  updated CHANGELOG for 2.7.30
2017-07-05 09:39:29 +03:00
Fabien Potencier
285a6ac36d Merge branch '2.8' into 3.2
* 2.8:
  [FrameworkBundle] Do not remove files from assets dir
  bumped Symfony version to 2.8.24
  updated VERSION for 2.8.23
  updated CHANGELOG for 2.8.23
  bumped Symfony version to 2.7.31
  updated VERSION for 2.7.30
  update CONTRIBUTORS for 2.7.30
  updated CHANGELOG for 2.7.30
2017-07-05 09:33:08 +03:00
Fabien Potencier
ecaae2368d Merge branch '2.7' into 2.8
* 2.7:
  [FrameworkBundle] Do not remove files from assets dir
  bumped Symfony version to 2.7.31
  updated VERSION for 2.7.30
  update CONTRIBUTORS for 2.7.30
  updated CHANGELOG for 2.7.30
2017-07-05 09:32:23 +03:00
Dariusz
58ba4818a6 Fix indent of methods 2017-07-04 23:00:55 +02:00
Gábor Egyed
6ed9c8d8c5 [FrameworkBundle] Do not remove files from assets dir 2017-07-04 11:39:25 +02:00
Maxime Steinhausser
c75e486413 [FrameworkBundle] 3.3: Don't get() private services from debug:router 2017-07-04 09:43:54 +02:00
Maxime Steinhausser
a32cae5caa [FrameworkBundle] Wire inner translator 2017-07-04 09:33:15 +02:00
Fabien Potencier
8b1f4127c3 Merge branch '3.2' into 3.3
* 3.2:
  Don't access private services from container aware commands (deprecated)
  Improve CircularReferenceException message
2017-07-04 08:29:22 +03:00
Robin Chalas
08a6178e77 Don't access private services from container aware commands (deprecated) 2017-07-04 01:09:03 +02:00
Christian Flothmann
e0913a2808 add option to define the access decision manager 2017-07-03 18:47:26 +02:00
Nicolas Grekas
966662dc4d bug #23239 [FrameworkBundle] call setContainer() for autowired controllers (xabbuh)
This PR was merged into the 3.3 branch.

Discussion
----------

[FrameworkBundle] call setContainer() for autowired controllers

| Q             | A
| ------------- | ---
| Branch?       | 3.3
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #23200, FriendsOfSymfony/FOSRestBundle#1719
| License       | MIT
| Doc PR        |

Previously, you either did not use controllers as services or you explicitly wired everything yourself. In case of a non-service controller the FrameworkBundle took care of calling `setContainer()` inside the `instantiateController()` method:

```php
protected function instantiateController($class)
{
    $controller = parent::instantiateController($class);

    if ($controller instanceof ContainerAwareInterface) {
        $controller->setContainer($this->container);
    }
    if ($controller instanceof AbstractController && null !== $previousContainer = $controller->setContainer($this->container)) {
        $controller->setContainer($previousContainer);
    }

    return $controller;
}
```

With the new autowired controllers as services this is no longer happening as controllers do not need to be instantiated anymore (the container already returns fully built objects).

Commits
-------

1d07a28 call setContainer() for autowired controllers
2017-07-03 17:51:37 +03:00
Christian Flothmann
1d07a28bed call setContainer() for autowired controllers 2017-07-03 16:15:38 +02:00
Fabien Potencier
a40b29b05e Merge branch '3.2' into 3.3
* 3.2:
  gracefully handle missing hinclude renderer
2017-07-03 17:10:11 +03:00
Robin Chalas
d7914a6a7d [Security] Lazy load user providers 2017-07-03 15:41:29 +02:00
Christian Flothmann
ebdbecfb8b gracefully handle missing hinclude renderer 2017-07-03 11:37:02 +02:00
Fabien Potencier
f9173ea511 minor #23201 Change wording from object to subject (greg0ire)
This PR was merged into the 3.4 branch.

Discussion
----------

Change wording from object to subject

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| 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
| License       | MIT

The authorization checker has been changed to support any value
recently. The naming should reflect that to avoid confusion.
Refs https://github.com/sonata-project/SonataAdminBundle/issues/4518

Commits
-------

d261894c6e Change wording from object to subject
2017-07-03 11:28:26 +03:00
Grégoire Paris
d261894c6e
Change wording from object to subject
The authorization checker has been changed to support any value
recently. The naming should reflect that to avoid confusion.
Refs https://github.com/sonata-project/SonataAdminBundle/issues/4518
2017-07-03 10:24:58 +02:00
Fabien Potencier
886df9969a Merge branch '3.3' into 3.4
* 3.3:
  Misspelled word
  Display a better error design when the toolbar cannot be displayed
  do not validate empty values
  [Cache] fix cleanup of expired items for PdoAdapter
  [Dotenv] clean up before running assertions
  [Console] fix description of INF default values
  parse escaped quotes in unquoted env var values
  [PropertyAccess] Fix TypeError discard
  [Validator] Throw exception on Comparison constraints null options
  [FrameworkBundle] Display a proper warning on cache:clear without the --no-warmup option
  [Security] Fix Firewall ExceptionListener priority
  Identify tty tests in Component/Process
  [Workflow] Added more events to the announce function
  [Validator] Remove property path suggestion for using the Expression validator
  [WebProfilerBundle] Fix css trick used for offsetting html anchor from fixed header
  [Security] Fix annotation
2017-07-03 11:12:16 +03:00
Fabien Potencier
9260a7ba03 Merge branch '3.2' into 3.3
* 3.2:
  Misspelled word
  Display a better error design when the toolbar cannot be displayed
  do not validate empty values
  [Cache] fix cleanup of expired items for PdoAdapter
  [Console] fix description of INF default values
  [PropertyAccess] Fix TypeError discard
  [Validator] Throw exception on Comparison constraints null options
  Identify tty tests in Component/Process
  [Workflow] Added more events to the announce function
  [Validator] Remove property path suggestion for using the Expression validator
  [WebProfilerBundle] Fix css trick used for offsetting html anchor from fixed header
  [Security] Fix annotation
2017-07-03 11:12:02 +03:00
Fabien Potencier
d051ef42b3 Merge branch '2.8' into 3.2
* 2.8:
  Misspelled word
  Display a better error design when the toolbar cannot be displayed
  do not validate empty values
  [Console] fix description of INF default values
  [PropertyAccess] Fix TypeError discard
  [Validator] Throw exception on Comparison constraints null options
  Identify tty tests in Component/Process
  [Security] Fix annotation
2017-07-03 11:06:20 +03:00
Fabien Potencier
2f8eeed5df Merge branch '2.7' into 2.8
* 2.7:
  Misspelled word
  Display a better error design when the toolbar cannot be displayed
  do not validate empty values
  [Console] fix description of INF default values
  [PropertyAccess] Fix TypeError discard
  [Validator] Throw exception on Comparison constraints null options
  Identify tty tests in Component/Process
  [Security] Fix annotation
2017-07-03 11:04:30 +03:00
Fabien Potencier
64ea580eae bug #23274 Display a better error design when the toolbar cannot be displayed (yceruto)
This PR was squashed before being merged into the 2.7 branch (closes #23274).

Discussion
----------

Display a better error design when the toolbar cannot be displayed

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

Fixing the left position of the bar (tested in app without style) and escaping the literal newline (ES5) as some IDEs fails with previous syntax (and Github diff too). Btw, I have added the Symfony icon to make clear that this message comes from Symfony ;)

**Before:**
![current_toolbar_error](https://user-images.githubusercontent.com/2028198/27466735-cd5f0da8-57aa-11e7-8431-3025c41557e6.png)

**After:**
![after_toolbar_27](https://user-images.githubusercontent.com/2028198/27467928-75e45d4e-57b4-11e7-9e1f-e252d9085596.png)

Commits
-------

ed3e403b4b Display a better error design when the toolbar cannot be displayed
2017-07-03 10:01:20 +03:00
Yonel Ceruto
ed3e403b4b Display a better error design when the toolbar cannot be displayed 2017-07-03 10:01:07 +03:00
Fabien Potencier
9bcb85270a feature #23320 [WebServer] Allow * to bind all interfaces (as INADDR_ANY) (jpauli, fabpot)
This PR was merged into the 3.4 branch.

Discussion
----------

[WebServer] Allow * to bind all interfaces (as INADDR_ANY)

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

In Python and elsewhere, binding to '*' means '0.0.0.0'  (INADDR_ANY).  I just added that to WebServer command.

Commits
-------

1880bcfde2 fixed CS
b31ebae4cb Allow * to bind all interfaces (as INADDR_ANY)
2017-07-03 09:54:19 +03:00
Fabien Potencier
1880bcfde2 fixed CS 2017-07-03 09:51:50 +03:00
Fabien Potencier
98be08bb6c feature #23272 [FrameworkBundle] disable unusable fragment renderers (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] disable unusable fragment renderers

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

Commits
-------

2b3d7f021d disable unusable fragment renderers
2017-07-03 09:16:04 +03:00
Maxime Steinhausser
28930c59d3 [WebProfilerBundle] Fix full sized dump hovering in toolbar 2017-06-29 21:04:20 +02:00
Maxime Steinhausser
6cd188bd72 [FrameworkBundle] Display a proper warning on cache:clear without the --no-warmup option 2017-06-29 20:05:44 +02:00
Julien Pauli
b31ebae4cb Allow * to bind all interfaces (as INADDR_ANY) 2017-06-28 13:38:39 +02:00
Maxime Steinhausser
9f9697a57d [WebProfilerBundle] Fix css trick used for offsetting html anchor from fixed header 2017-06-25 18:11:43 +02:00
Fabien Potencier
e891d551b1 Merge branch '3.3' into 3.4
* 3.3:
  fixed tests
  swiftmailer bridge is gone
  respect the API in FirewallContext map
  [TwigBundle] add back exception check
  Dont call count on non countable object
  Fix undefined variable $filesystem
2017-06-24 09:45:46 -07:00
Fabien Potencier
7093fc1f24 Merge branch '3.2' into 3.3
* 3.2:
  fixed tests
  swiftmailer bridge is gone
  [TwigBundle] add back exception check
  Dont call count on non countable object
  Fix undefined variable $filesystem
2017-06-24 09:45:30 -07:00
Fabien Potencier
59094b406a Merge branch '2.8' into 3.2
* 2.8:
  fixed tests
  [TwigBundle] add back exception check
  Dont call count on non countable object
  Fix undefined variable $filesystem
2017-06-24 09:45:17 -07:00
Fabien Potencier
bf0063e3d3 fixed tests 2017-06-24 09:45:07 -07:00
Fabien Potencier
bddf9be8ce Merge branch '2.7' into 2.8
* 2.7:
  [TwigBundle] add back exception check
  Dont call count on non countable object
2017-06-24 09:44:49 -07:00