Commit Graph

12989 Commits

Author SHA1 Message Date
Nicolas Grekas
c417d7a1a5 [Filesystem] Cleanup/sync with 2.3 2016-03-08 10:44:31 +01:00
Nicolas Grekas
81c50d628e Merge branch '2.3' into 2.7
* 2.3:
  [HttpFoundation] Fix transient test
  [HttpFoundation] Add a dependency on the mbstring polyfill
  add readme files where missing
  Don't use reflections when possible
  [Form] Update form tests after the ICU data update
  [Intl] Update tests and the number formatter to match behaviour of the intl extension
  [Intl] Update the ICU data to version 55
  [Intl] Fix the update-data.php script in preparation for ICU 5.5
  Use constant instead of function call.
  fixed test name
  automatically generate safe fallback filename

Conflicts:
	src/Symfony/Component/Debug/Debug.php
	src/Symfony/Component/HttpFoundation/composer.json
	src/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
2016-03-07 14:45:47 +01:00
Nicolas Grekas
6d5dbf7a75 [HttpFoundation] Fix transient test 2016-03-07 14:26:56 +01:00
Jakub Zalas
59b9f156a9 [HttpFoundation] Add a dependency on the mbstring polyfill 2016-03-07 14:08:49 +01:00
Christian Flothmann
5ba194ec52 [2.7] update readme files for new components 2016-03-07 12:06:07 +01:00
Christian Flothmann
98cc98067e [EventDispatcher] fix syntax error 2016-03-06 18:01:13 +01:00
Fabien Potencier
4f224ef4ab bug #18019 [Intl] Update ICU to version 55 (jakzal)
This PR was merged into the 2.3 branch.

Discussion
----------

[Intl] Update ICU to version 55

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

The update script needed to be fixed to work with latest data files from ICU as well.

The only change I needed to do in stubs and tests is related to the way negative numbers are formatted for currencies (a change from `(£100)` to `-£100`).

Form tests needed an update as well, as some date formats have changed.

Commits
-------

fac3de6 [Form] Update form tests after the ICU data update
6822147 [Intl] Update tests and the number formatter to match behaviour of the intl extension
37a9d8c [Intl] Update the ICU data to version 55
894ce3c [Intl] Fix the update-data.php script in preparation for ICU 5.5
2016-03-06 11:37:13 +01:00
Fabien Potencier
a29e818a3f minor #18025 [2.7] Don't use reflection when possible (Ener-Getick)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7] Don't use reflection when possible

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

See https://github.com/symfony/symfony/pull/18021

Commits
-------

35be501 Don't use reflections when possible
2016-03-06 11:26:36 +01:00
Fabien Potencier
53033617f7 minor #18021 Don't use reflections when possible (Ener-Getick)
This PR was merged into the 2.3 branch.

Discussion
----------

Don't use reflections when possible

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

Use php functions instead of reflection when possible (to improve a bit the performance).

Commits
-------

a46270a Don't use reflections when possible
2016-03-06 11:24:23 +01:00
Fabien Potencier
8d7f6ed8f9 bug #18015 [2.7][Process] Fix memory issue when using large input streams (romainneutron)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7][Process] Fix memory issue when using large input streams

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

This removes buffering of a stream input. Tests shows that this implementation is much faster and fixes some issues when streams are based on very large inputs

Commits
-------

fb8da9f [Process] Fix memory issue when using large input streams
2016-03-06 11:17:13 +01:00
Ener-Getick
a46270a61a Don't use reflections when possible 2016-03-05 18:37:04 +01:00
Ener-Getick
35be5017e7 Don't use reflections when possible 2016-03-05 18:34:36 +01:00
Jakub Zalas
fac3de628e [Form] Update form tests after the ICU data update 2016-03-05 13:21:13 +00:00
Jakub Zalas
6822147464 [Intl] Update tests and the number formatter to match behaviour of the intl extension 2016-03-05 13:11:12 +00:00
Jakub Zalas
37a9d8ca24 [Intl] Update the ICU data to version 55 2016-03-05 13:11:11 +00:00
Jakub Zalas
894ce3cbd8 [Intl] Fix the update-data.php script in preparation for ICU 5.5 2016-03-05 13:11:11 +00:00
Romain Neutron
fb8da9ff28 [Process] Fix memory issue when using large input streams 2016-03-05 11:50:53 +01:00
Konstantin.Myakshin
c1edbc08bb Use constant instead of function call. 2016-03-04 15:04:09 +02:00
Fabien Potencier
759f495594 fixed test name 2016-03-04 12:06:48 +01:00
Christian Flothmann
03721e33a2 automatically generate safe fallback filename 2016-03-04 10:37:05 +01:00
Fabien Potencier
e187f8bdb1 Merge branch '2.3' into 2.7
* 2.3:
  [Console] default to stderr in the console helpers
2016-03-04 10:22:21 +01:00
Fabien Potencier
ce60be5729 bug #15794 [Console] default to stderr in the console helpers (alcohol)
This PR was squashed before being merged into the 2.3 branch (closes #15794).

Discussion
----------

[Console] default to stderr in the console helpers

Interactive input/output and informational output such as progress should go to `stderr` if available.

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

See #13730 also for previous discussion.

If someone explicitly wants to use `stdout`, they can simply pass `$output->getStream()` instead of `$output` in most use-cases.

Commits
-------

3d4e95e [Console] default to stderr in the console helpers
2016-03-04 10:20:54 +01:00
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
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
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
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
ged15
e0e82bb318 added tests for non-trusted proxies 2016-03-02 15:42:41 +01:00
Nicole Cordes
d897956362 Ensure backend slashes for symlinks on Windows systems
Resolves: #17614
2016-03-02 14:40:59 +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
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
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