Commit Graph

33684 Commits

Author SHA1 Message Date
Nicolas Grekas
2744b41c83 [DI] Clear service reference graph 2017-11-29 09:18:28 +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
Gawain Lynch
ced0857560
Remove unreachable code 2017-11-26 14:53:48 +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
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
Samuel ROZE
fd4340693c
Automatically enable the CSRF protection if CSRF manager exists 2017-11-24 15:22:02 +00: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
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
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
Nicolas Grekas
5998e9d7b5 [Routing] Fix "config-file-relative" annotation loader resources 2017-11-23 14:58:49 +01:00
Jerzy Zawadzki
c429c3346a Make search in debug:container command case-insensitive 2017-11-23 13:39:16 +01:00
Nicolas Grekas
4eaf1e5ce2 minor #25132 [DI] Fix typo in PhpDoc for resolveEnvPlaceholders (sroze)
This PR was merged into the 3.3 branch.

Discussion
----------

[DI] Fix typo in PhpDoc for `resolveEnvPlaceholders`

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

`resolveEnvPlaceholders` will return a mixed value.

Commits
-------

b34d5b7 `resolveEnvPlaceholders` will return a mixed value
2017-11-23 13:20:44 +01:00
Samuel ROZE
b34d5b77a4
resolveEnvPlaceholders will return a mixed value 2017-11-23 12:10:51 +00:00
Nicolas Grekas
7a70077bec bug #25121 [FrameworkBundle] Fix AssetsInstallCommand (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] Fix AssetsInstallCommand

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

Fixes a deprecation notice on 3.4, and a failure on 4.0.

Commits
-------

a84efa7 [FrameworkBundle] Fix AssetsInstallCommand
2017-11-23 12:30:09 +01:00
Nicolas Grekas
6fc596754c Merge branch '3.3' into 3.4
* 3.3:
  [Form] Fixed ContextErrorException in FileType
  [DI] Fix handling of inlined definitions by ContainerBuilder
2017-11-23 12:03:08 +01:00
Nicolas Grekas
ae62e56d8a Merge branch '2.8' into 3.3
* 2.8:
  [Form] Fixed ContextErrorException in FileType
  [DI] Fix handling of inlined definitions by ContainerBuilder
2017-11-23 12:01:29 +01:00
Nicolas Grekas
10ec39e850 Merge branch '2.7' into 2.8
* 2.7:
  [Form] Fixed ContextErrorException in FileType
  [DI] Fix handling of inlined definitions by ContainerBuilder
2017-11-23 11:48:23 +01:00
Nicolas Grekas
a809ab27f6 bug #25102 [Form] Fixed ContextErrorException in FileType (chihiro-adachi)
This PR was squashed before being merged into the 2.7 branch (closes #25102).

Discussion
----------

[Form] Fixed ContextErrorException in FileType

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

Fixed an issue that ContextErrorException occurs when multiple is enabled.

Commits
-------

1b408e6 [Form] Fixed ContextErrorException in FileType
2017-11-23 11:40:42 +01:00
chihiro-adachi
1b408e692d [Form] Fixed ContextErrorException in FileType 2017-11-23 11:39:21 +01:00
Nicolas Grekas
e2add8b7a3 bug #25130 [DI] Fix handling of inlined definitions by ContainerBuilder (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[DI] Fix handling of inlined definitions by ContainerBuilder

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

Team work with @dunglas, debugging behat tests on Symfony 4:
now that everything is private, inlining happens quite often on Symfony 4.
This made us discover an old bug: inlining makes it possible to share the same definition instance to define a locally shared service (local to one service). This is handled properly in PhpDumper, but ContainerDumper is broken. Here is the fix.

Commits
-------

c9c18ac [DI] Fix handling of inlined definitions by ContainerBuilder
2017-11-23 11:29:16 +01:00
Nicolas Grekas
c9c18ac7f3 [DI] Fix handling of inlined definitions by ContainerBuilder 2017-11-23 11:22:49 +01:00
Yonel Ceruto
dc7286625b Update translation commands to work with default paths 2017-11-22 13:43:08 -05:00
Nicolas Grekas
a84efa7058 [FrameworkBundle] Fix AssetsInstallCommand 2017-11-22 18:25:34 +01:00
Nicolas Grekas
70c634fc01 bug #25119 [DI] Fix infinite loop when analyzing references (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Fix infinite loop when analyzing references

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

Commits
-------

f772d2f [DI] Fix infinite loop when analyzing references
2017-11-22 17:40:54 +01:00
Nicolas Grekas
f772d2fc7c [DI] Fix infinite loop when analyzing references 2017-11-22 16:44:01 +01:00