Commit Graph

23144 Commits

Author SHA1 Message Date
Rob Bast 3d4e95ef71 [Console] default to stderr in the console helpers 2016-03-04 10:20:49 +01:00
Fabien Potencier d66f0ebe35 Merge branch '2.3' into 2.7
* 2.3:
  Updated all the README files
  [TwigBundle] Fix failing test on appveyor
  [FrameworkBundle] Fix a regression in handling absolute and namespaced template paths
  Allow to normalize \Traversable
  Remove _path from query parameters when fragment is a subrequest and request attributes are already set Added tests for _path removal in FragmentListener
  Simplified everything
  Added a test
  Fixed the problem in an easier way
  Fixed a syntax issue
  Improved the error message when a template is not found
  [CodingStandards] Conformed to coding standards
  [TwigBundle] fixed Include file locations in "Template could not be found" exception
2016-03-04 08:52:28 +01:00
Fabien Potencier 9a5ea71c22 bug #17984 Allow to normalize \Traversable when serializing xml (Ener-Getick)
This PR was merged into the 2.3 branch.

Discussion
----------

Allow to normalize \Traversable when serializing xml

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

It's impossible to normalize an object implementing ``\Traversable`` when using the ``XMLEncoder``. For example we can't customize the serializer output when serializing a ``FormInterface`` instance.

So my proposition is to fix this by using the default XML encoder output only when the serializer can't normalize the data.

Commits
-------

97c5d27 Allow to normalize \Traversable
2016-03-04 08:19:22 +01:00
Fabien Potencier 8713c7efaf minor #17997 Updated all the README files (javiereguiluz)
This PR was squashed before being merged into the 2.3 branch (closes #17997).

Discussion
----------

Updated all the README files

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

Related to #17995.

Commits
-------

2e81248 Updated all the README files
2016-03-04 08:12:08 +01:00
Javier Eguiluz 2e812481c9 Updated all the README files 2016-03-04 08:12:06 +01:00
Nicolas Grekas d791d78d34 minor #18002 [TwigBundle] Fix failing test on appveyor (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[TwigBundle] Fix failing test on appveyor

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

Commits
-------

d5bbc3c [TwigBundle] Fix failing test on appveyor
2016-03-03 18:39:39 +01:00
Nicolas Grekas d5bbc3c6cb [TwigBundle] Fix failing test on appveyor 2016-03-03 18:24:01 +01:00
Fabien Potencier 37569be45f bug #17434 Improved the error message when a template is not found (rvanginneken, javiereguiluz)
This PR was merged into the 2.3 branch.

Discussion
----------

Improved the error message when a template is not found

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

### Before

![template_error_before](https://cloud.githubusercontent.com/assets/73419/12414237/7db29212-be94-11e5-85b4-c6444aa853f8.png)

### After

![template_error_after](https://cloud.githubusercontent.com/assets/73419/12414242/80ed1eca-be94-11e5-992e-a0596a1e95ca.png)

This seems to work in the browser ... but I can't make tests pass. Could anybody please help me? Thanks!

Commits
-------

0134d76 Simplified everything
19bfa2e Added a test
88b913b Fixed the problem in an easier way
35f082f Fixed a syntax issue
968476b Improved the error message when a template is not found
e9d951a [CodingStandards] Conformed to coding standards
d3fe07b [TwigBundle] fixed Include file locations in "Template could not be found" exception
2016-03-03 15:31:15 +01:00
Fabien Potencier aab27839f9 bug #17687 Improved the error message when using "@" in a decorated service (javiereguiluz)
This PR was squashed before being merged into the 2.7 branch (closes #17687).

Discussion
----------

Improved the error message when using "@" in a decorated service

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

Commits
-------

e7690ba Improved the error message when using "@" in a decorated service
2016-03-03 14:15:14 +01:00
Javier Eguiluz e7690ba5c4 Improved the error message when using "@" in a decorated service 2016-03-03 14:15:12 +01:00
Fabien Potencier 9d58ad92fe bug #17744 Improve error reporting in router panel of web profiler (javiereguiluz)
This PR was squashed before being merged into the 2.7 branch (closes #17744).

Discussion
----------

Improve error reporting in router panel of web profiler

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

### Problem

If you define a route condition like this:

```yaml
app:
    resource: '@AppBundle/Controller/'
    type:     annotation
    condition: "request.server.get('HTTP_HOST') matches '/.*\.dev/'"
```

When browsing the Routing panel in the web profiler, you see an exception:

![problem](https://cloud.githubusercontent.com/assets/73419/12930027/553eeb08-cf76-11e5-90b1-ab0de6175d4e.png)

#### Why?

Because the route condition uses the `request` object, but the special `TraceableUrlMatcher` class doesn't get access to the real `request` object but to the special object obtained via:

```php
$request = $profile->getCollector('request');
```

These are the contents of this pseudo-request:

![cause](https://cloud.githubusercontent.com/assets/73419/12930052/804ea248-cf76-11e5-9c38-2e43e1654065.png)

`request.server.get(...)` condition fails because `request.server` is `null`. The full exception message shows this:

![exception](https://cloud.githubusercontent.com/assets/73419/12930079/9c7d6058-cf76-11e5-8eeb-45f5059c824c.png)

### Solution

I propose to catch all exceptions in `TraceableUrlMatcher` and display an error message with some details of the exception:

![error_message](https://cloud.githubusercontent.com/assets/73419/12930106/b29e31d2-cf76-11e5-868c-98d8b0cc4e5b.png)

Commits
-------

1001554 Improve error reporting in router panel of web profiler
2016-03-03 14:12:45 +01:00
Javier Eguiluz 10015546b0 Improve error reporting in router panel of web profiler 2016-03-03 14:12:44 +01:00
Fabien Potencier eee9bfbef6 bug #17894 [FrameworkBundle] Fix a regression in handling absolute template paths (jakzal)
This PR was merged into the 2.3 branch.

Discussion
----------

[FrameworkBundle] Fix a regression in handling absolute template paths

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

Regression introduced by #15272.

Commits
-------

d8c493f [FrameworkBundle] Fix a regression in handling absolute and namespaced template paths
2016-03-03 13:59:03 +01:00
Fabien Potencier 46d1d2407a bug #17990 [DoctrineBridge][Form] Fix performance regression in EntityType (kimlai)
This PR was submitted for the master branch but it was merged into the 2.7 branch instead (closes #17990).

Discussion
----------

[DoctrineBridge][Form] Fix performance regression in EntityType

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

A performance regression was introduced in 2336d5c466

Before, the default behaviour of the `DoctrineLoader` was to only fetch the entities selected in the submitted form.

After, the optimization was only performed when the `choice_value` option was set to `null`.
However, the `DoctrineType` sets a non-null default value to `choice_value`, which means that the default behaviour was not using the optimization anymore.

This commit restores the default behaviour (while keeping the previous commit intent).

References:
- https://github.com/symfony/symfony/blob/v2.7.10/src/Symfony/Bridge/Doctrine/Form/ChoiceList/DoctrineChoiceLoader.php#L149
- https://github.com/symfony/symfony/blob/v2.7.10/src/Symfony/Bridge/Doctrine/Form/Type/DoctrineType.php#L216

Commits
-------

64c80a6 [DoctrineBridge][Form] Fix performance regression in EntityType
2016-03-03 13:52:48 +01:00
Kim Laï Trinh 64c80a6791 [DoctrineBridge][Form] Fix performance regression in EntityType 2016-03-03 13:52:47 +01:00
Fabien Potencier 5b79649980 minor #17988 [Form] fix tests added by #16886 (HeahDude)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] fix tests added by #16886

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

Commits
-------

bd22c86 minor [Form] fix tests added by #16886
2016-03-03 13:49:43 +01:00
Fabien Potencier 154eac7733 bug #17595 [HttpKernel] Remove _path from query parameters when fragment is a subrequest (cmenning)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpKernel] Remove _path from query parameters when fragment is a subrequest

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

Prior to 2.3.29, all requests to the ESI fragment path ("/_fragment" by default) would have the "_path" query parameter removed. This held true whether an external proxy (such as Varnish) handled the request as true ESI, or whether the Symfony kernel was mocking ESI behavior and inlining the subrequest.

Once the "_controller" check was added in 2.3.29, the "_path" query parameter was only removed on master requests (such as those coming from an external proxy) and not subrequests, leading to differing behavior in production and development settings.

Commits
-------

c374420 Remove _path from query parameters when fragment is a subrequest and request attributes are already set Added tests for _path removal in FragmentListener
2016-03-03 13:35:04 +01:00
Jakub Zalas d8c493f076 [FrameworkBundle] Fix a regression in handling absolute and namespaced template paths 2016-03-03 08:16:18 +00:00
Ener-Getick 97c5d27c59 Allow to normalize \Traversable 2016-03-02 21:42:54 +01:00
Jules Pietri bd22c8618a minor [Form] fix tests added by #16886 2016-03-02 18:06:04 +01:00
Fabien Potencier 29c616274c fixed CS 2016-03-02 16:25:21 +01:00
Fabien Potencier 0544b1f594 Merge branch '2.3' into 2.7
* 2.3:
  [DomCrawler] Dont use LIBXML_PARSEHUGE by default
  [Filesystem] Reduce complexity of ->remove()
  added tests for non-trusted proxies
  add 'guid' to list of exception to filter out
  Ensure backend slashes for symlinks on Windows systems
  [Filesystem] Try to delete broken symlinks
2016-03-02 16:25:10 +01:00
Fabien Potencier 5b577ddd19 bug #17986 [DomCrawler] Dont use LIBXML_PARSEHUGE by default (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[DomCrawler] Dont use LIBXML_PARSEHUGE by default

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

Because of http://symfony.com/blog/security-release-symfony-2-0-17-released

Commits
-------

fda32f8 [DomCrawler] Dont use LIBXML_PARSEHUGE by default
2016-03-02 16:22:15 +01:00
Craig Menning c3744202f6 Remove _path from query parameters when fragment is a subrequest and request attributes are already set
Added tests for _path removal in FragmentListener
2016-03-02 08:58:36 -06:00
Nicolas Grekas fda32f8c43 [DomCrawler] Dont use LIBXML_PARSEHUGE by default 2016-03-02 15:53:47 +01:00
Fabien Potencier 9a4bf1e099 minor #17985 [Filesystem] Reduce complexity of ->remove() (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[Filesystem] Reduce complexity of ->remove()

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

Commits
-------

065acb7 [Filesystem] Reduce complexity of ->remove()
2016-03-02 15:50:41 +01:00
Nicolas Grekas 065acb7fa8 [Filesystem] Reduce complexity of ->remove() 2016-03-02 15:47:46 +01:00
Fabien Potencier 822330580d minor #11655 Failing test for non-trusted proxies (ged15)
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #11655).

Discussion
----------

Failing test for non-trusted proxies

Discussion in #11583
@fabpot, should this test fail?

Commits
-------

e0e82bb added tests for non-trusted proxies
2016-03-02 15:42:41 +01:00
ged15 e0e82bb318 added tests for non-trusted proxies 2016-03-02 15:42:41 +01:00
Fabien Potencier 59362a95c2 bug #17668 add 'guid' to list of exception to filter out (garak)
This PR was squashed before being merged into the 2.3 branch (closes #17668).

Discussion
----------

add 'guid' to list of exception to filter out

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

See https://github.com/symfony/symfony/issues/14583#issuecomment-179262543

Commits
-------

0de86ff add 'guid' to list of exception to filter out
2016-03-02 15:32:49 +01:00
Massimiliano Arione 0de86ff282 add 'guid' to list of exception to filter out 2016-03-02 15:32:30 +01:00
Nicolas Grekas 2e9e83e635 bug #17615 Ensure backend slashes for symlinks on Windows systems (cpsitgmbh)
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #17615).

Discussion
----------

Ensure backend slashes for symlinks on Windows systems

Resolves: #17614

Commits
-------

d897956 Ensure backend slashes for symlinks on Windows systems
2016-03-02 14:41:11 +01:00
Nicole Cordes d897956362 Ensure backend slashes for symlinks on Windows systems
Resolves: #17614
2016-03-02 14:40:59 +01:00
Nicolas Grekas 36cb46a71a bug #17626 Try to delete broken symlinks (IchHabRecht)
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #17626).

Discussion
----------

Try to delete broken symlinks

If you delete the target of a symlink (at least on Windows systems) you
don't get the kind of the target anymore (obviously). Therefore it might
happen that a broken symlink to a directory should be removed with
unlink() which fails. This patch adds another check for a broken symlink
and tries to remove with rmdir() before throwing an exception. It helps
to clean up test folders on Windows systems (so already proofed by the
existing tests).

Commits
-------

8442ab1 [Filesystem] Try to delete broken symlinks
2016-03-02 14:09:42 +01:00
Nicole Cordes 8442ab1b99 [Filesystem] Try to delete broken symlinks
If you delete the target of a symlink (at least on Windows systems) you
don't get the kind of the target anymore (obviously). Therefore it might
happen that a broken symlink to a directory should be removed with
unlink() which fails. This patch adds another check for a broken symlink
and tries to remove with rmdir() before throwing an exception. It helps
to clean up test folders on Windows systems (so already proofed by the
existing tests).
2016-03-02 14:09:33 +01:00
Fabien Potencier 9851928f9b fixed tests 2016-03-02 13:43:59 +01:00
Fabien Potencier 11a8524742 minor #17632 [FrameworkBundle] Test that ObjectNormalizer is registered (dunglas)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] Test that ObjectNormalizer is registered

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

Commits
-------

129b140 [FrameworkBundle] Test that ObjectNormalizer is registered
2016-03-02 13:42:07 +01:00
Fabien Potencier 54bca3f891 Merge branch '2.3' into 2.7
* 2.3:
  Add missing RFC comment
  ensure dump indentation to be greather than zero
2016-03-02 11:10:06 +01:00
Fabien Potencier 81b59b9eca bug #17978 [Yaml] ensure dump indentation to be greather than zero (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[Yaml] ensure dump indentation to be greather than zero

| Q             | A
| ------------- | ---
| Branch        | 2.3
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/17943#issuecomment-190881815, #17977
| License       | MIT
| Doc PR        |

Commits
-------

3464282 ensure dump indentation to be greather than zero
2016-03-02 11:08:25 +01:00
Fabien Potencier d6a189b405 bug #16886 [Form] [ChoiceType] Prefer placeholder to empty_value (boite)
This PR was squashed before being merged into the 2.7 branch (closes #16886).

Discussion
----------

[Form] [ChoiceType] Prefer placeholder to empty_value

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

Prefer an explicitly set `placeholder` option (i.e. `false` or a non-empty
string) to an `empty_value` option when both are set.

The fix is to change the behaviour in the placeholder normalizer in
ChoiceType::configureOptions so that the value of the `empty_value` option is
used for placeholder only when the value of `placeholder` is null or an empty
string.

Commits
-------

a4d4c8a [Form] [ChoiceType] Prefer placeholder to empty_value
2016-03-02 10:54:50 +01:00
boite a4d4c8aa0f [Form] [ChoiceType] Prefer placeholder to empty_value 2016-03-02 10:54:49 +01:00
Fabien Potencier b5a3a56da5 minor #17982 [HttpFoundation] Add missing RFC comment (dosten)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpFoundation] Add missing RFC comment

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

See https://tools.ietf.org/html/rfc7725

Commits
-------

7901307 Add missing RFC comment
2016-03-02 01:38:34 +01:00
Diego Saint Esteben 79013072f3 Add missing RFC comment 2016-03-01 21:02:26 -03:00
Christian Flothmann 3464282bd1 ensure dump indentation to be greather than zero 2016-03-01 21:23:51 +01:00
Fabien Potencier 7c3e4cf181 minor #17973 [From] minor fix tests added by #17798 for bootstrap theme (HeahDude)
This PR was merged into the 2.7 branch.

Discussion
----------

[From] minor fix tests added by #17798 for bootstrap theme

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

Commits
-------

ee5b119 [From] minor fix tests added by #17798 for bootstrap theme
2016-03-01 18:36:56 +01:00
Fabien Potencier c6b68924a0 Merge branch '2.3' into 2.7
* 2.3:
  fix debug toolbar rendering by removing inadvertently added links
  simplified code
  Allow variadic controller parameters to be resolved.
2016-03-01 18:34:38 +01:00
Fabien Potencier 17e8780750 bug #17976 [2.3][WebProfilerBundle] fix debug toolbar rendering by removing inadvertently added links (craue)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3][WebProfilerBundle] fix debug toolbar rendering by removing inadvertently added links

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

The debug toolbar was broken by #17527...

**before**
![debug-toolbar-link-a](https://cloud.githubusercontent.com/assets/800119/13433728/7c48c382-dfd3-11e5-8432-299bfa143647.png)

**and after**
![debug-toolbar-link-b](https://cloud.githubusercontent.com/assets/800119/13433732/7fd97dc0-dfd3-11e5-80c6-62c009447a2e.png)

**explanation**
If `false` is explicitly passed for `link` then `link | default(true)` would evaluate to `true`, which is not what we want. The correct expression `link is not defined or link` was suggested originally in #16653.

Commits
-------

a0ddfc4 fix debug toolbar rendering by removing inadvertently added links
2016-03-01 18:34:19 +01:00
Fabien Potencier 94a8736b73 bug #17971 Variadic controller params (NiR-, fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

Variadic controller params

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

Commits
-------

bedcb15 simplified code
f39afc8 Allow variadic controller parameters to be resolved.
2016-03-01 18:32:21 +01:00
Christian Raue a0ddfc4246 fix debug toolbar rendering by removing inadvertently added links 2016-03-01 17:26:04 +01:00
Javier Eguiluz 0134d76785 Simplified everything 2016-03-01 15:47:09 +01:00