Commit Graph

34297 Commits

Author SHA1 Message Date
Christian Flothmann
1cada24000 Merge branch '4.0'
* 4.0:
  [HttpKernel] Better handling of legacy cache
  modify definitions only if the do exist
  [DI] Prevent a ReflectionException during cache:clear when the parent class doesn't exist
  [FrameworkBundle] Make MicroKernelTraitTest green
  don't override existing verbosity env var
  [HttpKernel] Read $_ENV when checking SHELL_VERBOSITY
  Remove unreachable code
  bumped Symfony version to 4.0.0
  Automatically enable the CSRF protection if CSRF manager exists
  updated VERSION for 4.0.0-RC2
  updated CHANGELOG for 4.0.0-RC2
  bumped Symfony version to 3.4.0
  adding checks for the expression language
  updated VERSION for 3.4.0-RC2
  updated CHANGELOG for 3.4.0-RC2
2017-11-28 23:07:16 +01:00
Christian Flothmann
d2496ab5d2 Merge branch '3.4' into 4.0
* 3.4:
  [HttpKernel] Better handling of legacy cache
  modify definitions only if the do exist
  [DI] Prevent a ReflectionException during cache:clear when the parent class doesn't exist
  [FrameworkBundle] Make MicroKernelTraitTest green
  don't override existing verbosity env var
  [HttpKernel] Read $_ENV when checking SHELL_VERBOSITY
  Remove unreachable code
  Automatically enable the CSRF protection if CSRF manager exists
  bumped Symfony version to 3.4.0
  adding checks for the expression language
  updated VERSION for 3.4.0-RC2
  updated CHANGELOG for 3.4.0-RC2
2017-11-28 23:05:27 +01:00
Fabien Potencier
3c8ff5ea83 bug #25174 [Translation] modify definitions only if the do exist (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Translation] modify definitions only if the do exist

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

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

Commits
-------

eab90ef1cf modify definitions only if the do exist
2017-11-27 14:17:52 -08:00
Fabien Potencier
34b0ecab15 minor #25176 [HttpKernel] Better handling of legacy cache (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Better handling of legacy cache

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

Even if this is edge case, it should improve DX when moving to 3.4 (I already experienced this issue myself :) )

Commits
-------

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

Discussion
----------

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

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

Currently, if you just run the following commands:

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

You get the following error:

```
In UniqueEntityValidator.php line 27:

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

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

This PR fixes the error.

Commits
-------

6e622c6 [DI] Prevent a ReflectionException during cache:clear when the parent class doesn't exist
2017-11-27 10:49:37 +01:00
Kévin Dunglas
6e622c668b [DI] Prevent a ReflectionException during cache:clear when the parent class doesn't exist 2017-11-27 10:49:34 +01:00
Nicolas Grekas
d954af52c6 minor #25171 [FrameworkBundle] Make MicroKernelTraitTest green (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] Make MicroKernelTraitTest green

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

Fixes the current failure on PHP 5.6:
```
1) Symfony\Bundle\FrameworkBundle\Tests\Kernel\MicroKernelTraitTest::testAsEventSubscriber

filemtime(): stat failed for /tmp/sf_micro_kernel/KernelTestDebugProjectContainer.php

/home/travis/build/symfony/symfony/src/Symfony/Component/Config/ResourceCheckerConfigCache.php:91
/home/travis/build/symfony/symfony/src/Symfony/Component/Config/ConfigCache.php:60
/home/travis/build/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:585
/home/travis/build/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:137
/home/travis/build/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Tests/Kernel/MicroKernelTraitTest.php:35
```

Commits
-------

01edbf7 [FrameworkBundle] Make MicroKernelTraitTest green
2017-11-27 10:44:27 +01:00
Nicolas Grekas
01edbf7802 [FrameworkBundle] Make MicroKernelTraitTest green 2017-11-27 10:12:25 +01:00
Nicolas Grekas
4cfd2d90a5 minor #25168 [HttpKernel] don't override existing verbosity env var (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] don't override existing verbosity env var

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

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

Commits
-------

df4d6d6 don't override existing verbosity env var
2017-11-27 09:12:26 +01:00
Christian Flothmann
df4d6d6e16 don't override existing verbosity env var 2017-11-26 21:27:09 +01:00
Fabien Potencier
a2844c04ca bug #25162 [HttpKernel] Read $_ENV when checking SHELL_VERBOSITY (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Read $_ENV when checking SHELL_VERBOSITY

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

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

Commits
-------

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

Discussion
----------

[DI] Remove unreachable code

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

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

Commits
-------

ced0857560 Remove unreachable code
2017-11-26 07:53:06 -08:00
Christian Flothmann
22192b16d8 fix tests 2017-11-26 16:08:23 +01:00
Gawain Lynch
ced0857560
Remove unreachable code 2017-11-26 14:53:48 +01:00
Robin Chalas
18dd63a4a8 feature #24819 [Console] add setInputs to ApplicationTester and share some code (Simperfit)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Console] add setInputs to ApplicationTester and share some code

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

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

Commits
-------

ea86ed8 [Console] add setInputs to ApplicationTest and share some code
2017-11-26 02:09:27 +01:00
Robin Chalas
eb8e2d3301 feature #25131 [SecurityBundle][Security][Translation] trigger some deprecations for legacy methods (xabbuh)
This PR was merged into the 4.0-dev branch.

Discussion
----------

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

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

Commits
-------

e3396ea trigger some deprecations for legacy methods
2017-11-26 01:59:00 +01:00
Fabien Potencier
1d7d564c61 bug #25137 Adding checks for the expression language (weaverryan)
This PR was merged into the 3.4 branch.

Discussion
----------

Adding checks for the expression language

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

If you try to use the expression syntax in DI, this will drastically improve the error message :)

Commits
-------

3502020834 adding checks for the expression language
2017-11-24 08:36:36 -08:00
Fabien Potencier
04e09bd3c6 minor #25133 Proposing Flex-specific error messages in the controller shortcuts (weaverryan)
This PR was merged into the 4.1-dev branch.

Discussion
----------

Proposing Flex-specific error messages in the controller shortcuts

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

This is to help discoverability when you try to use a feature that's not installed. It's opinionated about Flex being installed, which is why this is done on 4.0.

Two of the options relate to configuration. An alternative (if we don't like the short description) is to include a link instead (which could be some short URL - e.g. `http://symfony.com/docs/sessions` would be pretty cool).

Commits
-------

d377b1545b Proposing Flex-specific error messages in the controller shortcuts
2017-11-24 08:20:29 -08:00
Fabien Potencier
d5f04284f9 bug #25151 [FrameworkBundle] Automatically enable the CSRF protection if CSRF manager exists (sroze)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] Automatically enable the CSRF protection if CSRF manager exists

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

This will automatically enable the CSRF protection if `CsrfTokenManagerInterface` exists.

Commits
-------

fd4340693c Automatically enable the CSRF protection if CSRF manager exists
2017-11-24 08:16:56 -08:00
Fabien Potencier
e251993ce2 bumped Symfony version to 4.0.0 2017-11-24 07:38:29 -08:00
Samuel ROZE
fd4340693c
Automatically enable the CSRF protection if CSRF manager exists 2017-11-24 15:22:02 +00:00
Fabien Potencier
ec19183fea
Merge pull request #25150 from fabpot/release-4.0.0-RC2
released v4.0.0-RC2
2017-11-24 07:21:39 -08:00
Fabien Potencier
a76ef07106 updated VERSION for 4.0.0-RC2 2017-11-24 07:21:18 -08:00
Fabien Potencier
3f74a907ae updated CHANGELOG for 4.0.0-RC2 2017-11-24 07:21:13 -08:00
Fabien Potencier
e52825e253 bumped Symfony version to 3.4.0 2017-11-24 07:20:16 -08:00
Ryan Weaver
3502020834 adding checks for the expression language 2017-11-24 09:49:28 -05:00
Fabien Potencier
e83b82bf94
Merge pull request #25147 from fabpot/release-3.4.0-RC2
released v3.4.0-RC2
2017-11-24 06:49:00 -08:00
Fabien Potencier
7576174115 updated VERSION for 3.4.0-RC2 2017-11-24 06:48:42 -08:00
Fabien Potencier
ab6abd5293 updated CHANGELOG for 3.4.0-RC2 2017-11-24 06:48:33 -08:00
Nicolas Grekas
7234bfd56a Merge branch '4.0'
* 4.0:
  [DI] Dont resolve envs in service ids
  Add tests proving it can load annotated files
  [WebProfilerBundle] Reset letter-spacing in toolbar
  Prefer overflow-wrap to word-break
  remove more kernel.root_dir parameter refs
  [*Bundle] Replace some kernel.root_dir by kernel.project_dir
  removed some phpdocs
  [Routing] Fix "config-file-relative" annotation loader resources
  Make search in debug:container command case-insensitive
  `resolveEnvPlaceholders` will return a mixed value
  Remove dead code, add missing test
  Update translation commands to work with default paths
  [FrameworkBundle] Fix AssetsInstallCommand
2017-11-24 15:34:34 +01:00
Nicolas Grekas
8b98282821 Merge branch '3.4' into 4.0
* 3.4:
  [DI] Dont resolve envs in service ids
  Add tests proving it can load annotated files
  [WebProfilerBundle] Reset letter-spacing in toolbar
  Prefer overflow-wrap to word-break
  remove more kernel.root_dir parameter refs
  [*Bundle] Replace some kernel.root_dir by kernel.project_dir
  removed some phpdocs
  [Routing] Fix "config-file-relative" annotation loader resources
  Make search in debug:container command case-insensitive
  `resolveEnvPlaceholders` will return a mixed value
  Update translation commands to work with default paths
  [FrameworkBundle] Fix AssetsInstallCommand
2017-11-24 15:34:08 +01:00
Nicolas Grekas
f897542cb2 Merge branch '3.3' into 3.4
* 3.3:
  [DI] Dont resolve envs in service ids
  Add tests proving it can load annotated files
  [WebProfilerBundle] Reset letter-spacing in toolbar
  Prefer overflow-wrap to word-break
  [Routing] Fix "config-file-relative" annotation loader resources
  Make search in debug:container command case-insensitive
  `resolveEnvPlaceholders` will return a mixed value
2017-11-24 15:13:49 +01:00
Fabien Potencier
ca5b15a53b bug #25146 [DI] Dont resolve envs in service ids (nicolas-grekas)
This PR was merged into the 3.3 branch.

Discussion
----------

[DI] Dont resolve envs in service ids

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

Env placeholders should not be forbidden in **private** service identifiers. Instead, they should just be *not* resolved. This is effectively used in many bundle extensions fr good reasons (see eg. SecurityBundle and linked issue).

Commits
-------

7921255faf [DI] Dont resolve envs in service ids
2017-11-24 05:54:00 -08:00
Fabien Potencier
5c954c79c0 minor #25138 [TwigBundle] Exception page: prefer overflow-wrap to word-break (julienfalque)
This PR was merged into the 3.3 branch.

Discussion
----------

[TwigBundle] Exception page: prefer overflow-wrap to word-break

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

This prevents arbitrary text wrapping, breaks are always made on whitespace when possible:

**Before**
![long-before](https://user-images.githubusercontent.com/1736542/33190369-4c23fb88-d0ac-11e7-8c4d-60e60fc06b83.png)

**After**
![long-after](https://user-images.githubusercontent.com/1736542/33190370-4e449a4e-d0ac-11e7-90bd-6dacca10e9fd.png)

Random breaks inside words can still be made for very long words:

**Before**
![very-long-before](https://user-images.githubusercontent.com/1736542/33190387-83a3572a-d0ac-11e7-8d6b-c19b3812c339.png)

**After**
![very-long-after](https://user-images.githubusercontent.com/1736542/33190388-84cf6724-d0ac-11e7-9756-bb34a0a64bb8.png)

Tested on Chrome 62 (Linux) and Firefox 47 (Linux).

Commits
-------

c7333b1c68 Prefer overflow-wrap to word-break
2017-11-24 05:42:52 -08:00
Nicolas Grekas
7921255faf [DI] Dont resolve envs in service ids 2017-11-24 13:44:22 +01:00
Nicolas Grekas
6cb270702f minor #25115 [*Bundle] Replace some kernel.root_dir by kernel.project_dir (nicolas-grekas, xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[*Bundle] Replace some kernel.root_dir by kernel.project_dir

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

Commits
-------

92fc2f7 remove more kernel.root_dir parameter refs
4add28b [*Bundle] Replace some kernel.root_dir by kernel.project_dir
2017-11-24 12:33:45 +01:00
Nicolas Grekas
db979e88e8 bug #25113 [Routing] Fix "config-file-relative" annotation loader resources (nicolas-grekas, sroze)
This PR was merged into the 3.3 branch.

Discussion
----------

[Routing] Fix "config-file-relative" annotation loader resources

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

By using the locator in its `supports()` method, the `AnnotationDirectoryLoader` breaks config-relative annotation resources. The workaround is to fallback on `kernel.root_dir`-relative paths, as done in https://github.com/symfony/recipes/blob/master/doctrine/annotations/1.0/config/routes/annotations.yaml
But as you can see, this is rather WTF: extra knowledge is required to know what to type there. All the other loader look relatively to the config file first.

This is a bug, but since this is a slight behavior change, I think it's best to merge it on 3.4.

Commits
-------

f4999d8 Add tests proving it can load annotated files
5998e9d [Routing] Fix "config-file-relative" annotation loader resources
2017-11-24 12:32:34 +01:00
Samuel ROZE
f4999d8af0
Add tests proving it can load annotated files 2017-11-24 10:33:04 +00:00
Javier Eguiluz
d141541ebd minor #25140 [WebProfilerBundle] Reset letter-spacing in toolbar (ro0NL)
This PR was merged into the 3.3 branch.

Discussion
----------

[WebProfilerBundle] Reset letter-spacing in toolbar

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

Somewhere in our project we have

```scss
*,
*:before,
*:after {
	letter-spacing: 1px;
	box-sizing: border-box;
}
```

affecting the toolbar

<details>
 <summary>before</summary>

 ![image](https://user-images.githubusercontent.com/1047696/33201973-fa451bea-d0fa-11e7-8af4-230399f16223.png)

</details>

<details>
 <summary>after</summary>

![image](https://user-images.githubusercontent.com/1047696/33201946-e779b570-d0fa-11e7-86b6-db586c4c321e.png)

</details>

Commits
-------

bef2618779 [WebProfilerBundle] Reset letter-spacing in toolbar
2017-11-24 10:13:27 +01:00
Roland Franssen
bef2618779 [WebProfilerBundle] Reset letter-spacing in toolbar 2017-11-24 10:11:48 +01:00
Julien Falque
c7333b1c68
Prefer overflow-wrap to word-break 2017-11-24 00:09:47 +01:00
Christian Flothmann
92fc2f724b remove more kernel.root_dir parameter refs 2017-11-23 19:10:15 +01:00
Nicolas Grekas
4add28b518 [*Bundle] Replace some kernel.root_dir by kernel.project_dir 2017-11-23 19:10:14 +01:00
Ryan Weaver
d377b1545b Proposing Flex-specific error messages in the controller shortcuts 2017-11-23 13:06:27 -05:00
Fabien Potencier
ceba239662 removed some phpdocs 2017-11-23 07:49:31 -08:00
Fabien Potencier
ec379e1541 bug #25065 [FrameworkBundle] Update translation commands to work with default paths (yceruto)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] Update translation commands to work with default paths

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

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

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

TODO
- [x]  Add some tests.

Commits
-------

dc7286625b Update translation commands to work with default paths
2017-11-23 07:48:15 -08:00
Fabien Potencier
a824d34555 bug #25109 Make debug:container search command case-insensitive (jzawadzki)
This PR was merged into the 3.3 branch.

Discussion
----------

Make debug:container search command case-insensitive

| Q             | A
| ------------- | ---
| Branch?       | 3.2
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Fixed tickets | #25107
| License       | MIT
| Doc PR        |

This bug fixes the #25107 - starts from 3.2 services may be written with uppercase (e.g. FQCN) and search fails to match those services.

Commits
-------

c429c3346a Make search in debug:container command case-insensitive
2017-11-23 07:30:24 -08:00