Commit Graph

22114 Commits

Author SHA1 Message Date
Christian Flothmann
e28825656b [Yaml] improve changelog and upgrade entries 2016-08-27 13:07:10 +02:00
Grégoire Pineau
b6d0050c38 [ExpressionLanguage] Move the ::dump method to the Node classe to ease its usage 2016-08-24 11:14:26 +02:00
Fabien Potencier
865f344143 feature #19714 [VarDumper] Handle "title" attribute on virtual properties (nicolas-grekas)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[VarDumper] Handle "title" attribute on virtual properties

| Q             | A
| ------------- | ---
| Branch?       | master
| New feature?  | yes
| Tests pass?   | yes
| License       | MIT

As seen with @wouterj , it would be better to *not* display the stack level in front of each stack line.
This PR does just that, and moves the stack level to a title attribute in HtmlDumper.

![capture du 2016-08-23 14-09-43](https://cloud.githubusercontent.com/assets/243674/17891395/cc40b088-693b-11e6-8523-89ff51be929a.png)

Commits
-------

19bcf63 [VarDumper] Handle "title" attribute on virtual properties
2016-08-23 10:20:39 -07:00
Fabien Potencier
f5f1e103c4 feature #19687 [FrameworkBundle] Use relative paths in templates paths cache (tgalopin)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle] Use relative paths in templates paths cache

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

This implements the usage of relative paths instead of absolute ones in `var/cache/*/templates.php`, important for ability to build the cache in a different context than where it will be used.

This PR transforms the following `templates.php`:

``` php
<?php return array (
  ':default:index.html.twig' => '/home/tgalopin/www/symfony-standard/app/Resources/views/default/index.html.twig',
  '::base.html.twig' => '/home/tgalopin/www/symfony-standard/app/Resources/views/base.html.twig',
);
```

Into:

``` php
<?php return array (
  ':default:index.html.twig' => __DIR__.'/../../../app/Resources/views/default/index.html.twig',
  '::base.html.twig' => __DIR__.'/../../../app/Resources/views/base.html.twig',
);
```

I also added tests for the TemplateCachePathsWarmer and improved tests for the TemplateLocator.

Commits
-------

6f6139c [FrameworkBundle] Use relative paths in templates paths cache
2016-08-23 10:17:40 -07:00
Fabien Potencier
7381d8e11f minor #19638 [DependencyInjection] Factorize listing of setters (dunglas)
This PR was squashed before being merged into the 3.2-dev branch (closes #19638).

Discussion
----------

[DependencyInjection] Factorize listing of setters

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

Add a new method to list setters of a class.

Commits
-------

163fbf4 [DependencyInjection] Factorize listing of setters
2016-08-23 09:55:49 -07:00
Kévin Dunglas
163fbf461f [DependencyInjection] Factorize listing of setters 2016-08-23 09:55:48 -07:00
Nicolas Grekas
ab93dd8241 Merge branch '3.1'
* 3.1:
  [ClassLoader] Fix tests
  [Debug][HttpKernel][VarDumper] Prepare for committed 7.2 changes
  [DependencyInjection] PhpDumper::isFrozen inconsistency
  [DI] Cleanup array_key_exists
  include dynamic services in list of alternatives
  [Debug] Swap dumper services at bootstrap
2016-08-23 15:40:05 +02:00
Nicolas Grekas
e0acca67e0 Merge branch '2.8' into 3.1
* 2.8:
  [ClassLoader] Fix tests
  [Debug][HttpKernel][VarDumper] Prepare for committed 7.2 changes
  [DependencyInjection] PhpDumper::isFrozen inconsistency
  [DI] Cleanup array_key_exists
  include dynamic services in list of alternatives
  [Debug] Swap dumper services at bootstrap
2016-08-23 15:39:15 +02:00
Nicolas Grekas
69fbdc93cf Merge branch '2.7' into 2.8
* 2.7:
  [ClassLoader] Fix tests
  [Debug][HttpKernel][VarDumper] Prepare for committed 7.2 changes
  [DependencyInjection] PhpDumper::isFrozen inconsistency
  [DI] Cleanup array_key_exists
  include dynamic services in list of alternatives
  [Debug] Swap dumper services at bootstrap
2016-08-23 15:37:31 +02:00
Nicolas Grekas
5e5e1db912 minor #19710 [ClassLoader] Fix tests (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[ClassLoader] Fix tests

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Tests pass?   | yes
| License       | MIT

As discussed right now on php-internals, this string is ignored and the docs only tells about null.

Commits
-------

0f95708 [ClassLoader] Fix tests
2016-08-23 15:28:32 +02:00
Nicolas Grekas
19bcf63c8d [VarDumper] Handle "title" attribute on virtual properties 2016-08-23 15:23:44 +02:00
Nicolas Grekas
0f95708a1d [ClassLoader] Fix tests 2016-08-23 11:26:23 +02:00
Nicolas Grekas
2449a9712c bug #19647 [Debug] Swap dumper services at bootstrap (lyrixx)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug] Swap dumper services at bootstrap

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

---

This commit fix a bug when using debug function too soon.
For example, if you call dump function during kernel::boot() the
dump output will be sent to stderr, even in a web context.

With this patch, the data collector is used by default, so the
dump output is send to the WDT. In a CLI context, if dump is used
too soon, the datacollector will buffer it, and release it at the
end of the script. So in this case everything will be visible by the
end used.

Commits
-------

d80589c [Debug] Swap dumper services at bootstrap
2016-08-23 09:13:30 +02:00
Nicolas Grekas
3596cb26ad bug #19685 [DI][2.7] Include dynamic services in alternatives (ro0NL)
This PR was merged into the 2.7 branch.

Discussion
----------

[DI][2.7] Include dynamic services in alternatives

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

Commits
-------

428b5cc include dynamic services in list of alternatives
2016-08-23 09:00:45 +02:00
Nicolas Grekas
589b1d4c38 bug #19702 [Debug][HttpKernel][VarDumper] Prepare for committed 7.2 changes (aka "small-bc-breaks") (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug][HttpKernel][VarDumper] Prepare for committed 7.2 changes (aka "small-bc-breaks")

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| Tests pass?   | yes
| License       | MIT

On PHP 7.2:
- `is_object()` is going to return `true` for `__PHP_Incomplete_Class` instances
- `gettype($closed_resource);` returns "resource (closed)"

ping @nikic FYI
see https://travis-ci.org/symfony/symfony/jobs/154114269 for fixed tests (except the one on ClassLoader which is a BC break on 7.1 that should be fixed there IMHO).

Commits
-------

feb2cd0 [Debug][HttpKernel][VarDumper] Prepare for committed 7.2 changes
2016-08-23 08:53:13 +02:00
Nicolas Grekas
feb2cd0c71 [Debug][HttpKernel][VarDumper] Prepare for committed 7.2 changes 2016-08-22 19:42:59 +02:00
Fabien Potencier
c14fff01a4 minor #19656 [FrameworkBundle][Debug] Fix default config and cleaning of traces (nicolas-grekas)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle][Debug] Fix default config and cleaning of traces

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| Tests pass?   | yes
| Fixed tickets | Follow up #19568
| License       | MIT
| Doc PR        | -

The default value of `framework.php_errors.log` must be `%kernel.debug%` to have deprecations and silenced errors logged in dev as before.

Cleaning the trace was broken because a closure can't be bound to an internal class.

This PR fixes both issues and enhance trace cleaning a bit by removing arguments from traces so that they take less memory when collected as part of the context of log messages.

Commits
-------

f640870 [FrameworkBundle][Debug] Fix default config and cleaning of traces
2016-08-22 10:31:21 -07:00
Fabien Potencier
d64bcdaaef feature #19339 [WebProfilerBundle][Form][DX] To expand the form nodes that contains children with errors (yceruto)
This PR was squashed before being merged into the 3.2-dev branch (closes #19339).

Discussion
----------

[WebProfilerBundle][Form][DX] To expand the form nodes that contains children with errors

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

Currently when we use nested forms and an error occurs into one of them, it's not displayed "easily" in the form panel profiler:

![first](https://cloud.githubusercontent.com/assets/2028198/17125622/1fd15142-52c3-11e6-830e-17b3e341ba60.png)

This happen because only the root form is expanded and the children are shown collapsed "by default".

**The main problem is to search where is the form with error**.

The purpose of this PR is to show expanded all forms that contains children with error, reducing a little bit the developer's time when debugging.

PR result when we access to the form panel profiler:

![form-error-result](https://cloud.githubusercontent.com/assets/2028198/17125447/83eb9c0c-52c1-11e6-94bc-a2a7492eea43.png)

In red the full path to the error.

![form-error-result2](https://cloud.githubusercontent.com/assets/2028198/17125459/a04de95e-52c1-11e6-8980-84a5dcd0914a.png)

Commits
-------

d626b28 [WebProfilerBundle][Form][DX] To expand the form nodes that contains children with errors
2016-08-22 10:27:18 -07:00
Yonel Ceruto
d626b285aa [WebProfilerBundle][Form][DX] To expand the form nodes that contains children with errors 2016-08-22 10:27:17 -07:00
Taras Girnyk
7c0a62c6a7 [DependencyInjection] PhpDumper::isFrozen inconsistency 2016-08-22 09:38:12 -07:00
Roland Franssen
3306c70a34 [DI] Cleanup array_key_exists 2016-08-22 08:32:51 -07:00
Titouan Galopin
6f6139c549 [FrameworkBundle] Use relative paths in templates paths cache 2016-08-22 14:30:54 +02:00
Nicolas Grekas
703db1e3b5 Merge branch '3.1'
* 3.1:
  [travis] Use 7.0 until 7.1 is fixed
  [DIC] Fix service autowiring inheritance
  [Serializer] Fix denormalization of arrays
  [SecurityBundle] Add missing deprecation notice for form_login.intention
  Verify explicitly that the request IP is a valid IPv4 address
  [WebProfilerBundle] replaces tabs characters by spaces.
2016-08-22 14:11:39 +02:00
Nicolas Grekas
298a680ea0 Merge branch '2.8' into 3.1
* 2.8:
  [travis] Use 7.0 until 7.1 is fixed
  [DIC] Fix service autowiring inheritance
  [SecurityBundle] Add missing deprecation notice for form_login.intention
  Verify explicitly that the request IP is a valid IPv4 address
2016-08-22 14:11:19 +02:00
Nicolas Grekas
909649ff5f Merge branch '2.7' into 2.8
* 2.7:
  [travis] Use 7.0 until 7.1 is fixed
  Verify explicitly that the request IP is a valid IPv4 address
2016-08-22 14:09:58 +02:00
Roland Franssen
428b5cc6a8 include dynamic services in list of alternatives 2016-08-20 13:46:51 +00:00
Hugo Hamon
d88f2a483f [Bridge] [Twig] replaces tabs by spaces in Twig form themes templates. 2016-08-20 11:50:01 +02:00
Fabien Potencier
5603bffdd9 feature #19519 [Cache] Add PDO + Doctrine DBAL adapter (nicolas-grekas)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[Cache] Add PDO + Doctrine DBAL adapter

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

This PR adds a PDO adapter for our PSR-6 cache items. The implementation heavily borrows from PdoSessionHandler.

Commits
-------

82a0de2 [Cache] Add PDO + Doctrine DBAL adapter
2016-08-19 09:48:56 -07:00
Fabien Potencier
fc483cf432 bug #19643 [DependencyInjection] Fix service autowiring inheritance (chalasr)
This PR was merged into the 2.8 branch.

Discussion
----------

[DependencyInjection] Fix service autowiring inheritance

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

This makes services inherit the `autowire` attribute from their parent and fix the ability to override it from the child.

Fixed cases:

- Simple inheritance
```yaml
parent:
    class: Foo
    abstract: true
    autowire: true

child:
    class: Foo
```

- Set in the child (only)
```yaml
parent:
    class: Foo
    abstract: true

child:
    class: Foo
    autowire: true
```

- Set in the parent, changed in the child
```yaml
parent:
    class: Foo
    abstract: true
    autowire: true

child:
    class: Foo
    autowire: false
```

Commits
-------

fb95bdc [DIC] Fix service autowiring inheritance
2016-08-19 08:59:07 -07:00
Robin Chalas
fb95bdc965 [DIC] Fix service autowiring inheritance
Update Changelog
2016-08-19 17:56:42 +02:00
Fabien Potencier
3ab6d4ee44 bug #19649 [Serializer] Fix denormalization of arrays (dunglas)
This PR was squashed before being merged into the 3.1 branch (closes #19649).

Discussion
----------

[Serializer] Fix denormalization of arrays

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

ping @hensoko @theofidry

Commits
-------

99c582b [Serializer] Fix denormalization of arrays
2016-08-19 08:12:53 -07:00
Kévin Dunglas
99c582b432 [Serializer] Fix denormalization of arrays 2016-08-19 08:12:52 -07:00
Fabien Potencier
fad374e62a bug #19667 [SecurityBundle] Add missing deprecation notice for form_login.intention (ro0NL)
This PR was squashed before being merged into the 2.8 branch (closes #19667).

Discussion
----------

[SecurityBundle] Add missing deprecation notice for form_login.intention

| Q             | A
| ------------- | ---
| Branch?       |  2.8
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #19664, #19661, #19652
| License       | MIT
| Doc PR        | -
By the grace of @chalasr

ping @fabpot

Commits
-------

2a7bbd1 [SecurityBundle] Add missing deprecation notice for form_login.intention
2016-08-19 08:06:18 -07:00
Roland Franssen
2a7bbd124b [SecurityBundle] Add missing deprecation notice for form_login.intention 2016-08-19 08:05:57 -07:00
Fabien Potencier
7b383a9788 bug #19666 Verify explicitly that the request IP is a valid IPv4 address (nesk)
This PR was squashed before being merged into the 2.7 branch (closes #19666).

Discussion
----------

Verify explicitly that the request IP is a valid IPv4 address

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

Take the following base code (the array is based on [CloudFlare IP Ranges](https://www.cloudflare.com/ips/)):

```php
use Symfony\Component\HttpFoundation\IpUtils;

$ips = [
   "103.21.244.0/22",
   "103.22.200.0/22",
   "103.31.4.0/22",
   "104.16.0.0/12",
   "108.162.192.0/18",
   "131.0.72.0/22",
   "141.101.64.0/18",
   "162.158.0.0/15",
   "172.64.0.0/13",
   "173.245.48.0/20",
   "188.114.96.0/20",
   "190.93.240.0/20",
   "197.234.240.0/22",
   "198.41.128.0/17",
   "199.27.128.0/21",
   "2400:cb00::/32",
   "2405:8100::/32",
   "2405:b500::/32",
   "2606:4700::/32",
   "2803:f800::/32",
   "2c0f:f248::/32",
   "2a06:98c0::/29",
];
```

Before this PR, the following code would have returned `true` instead of the expected `false` value:

```php
IpUtils::checkIp('blablabla', $ips);
```

This due to the `ip2long` function returning `false` for an invalid IP address, thus returning `"00000000000000000000000000000000"` with the following code:

```php
sprintf('%032b', ip2long('blablabla'));
```

To fix this I simply check if the `$requestIp` variable contains a valid IP address.

Commits
-------

17e418c Verify explicitly that the request IP is a valid IPv4 address
2016-08-19 08:01:17 -07:00
Johann Pardanaud
17e418caf0 Verify explicitly that the request IP is a valid IPv4 address 2016-08-19 08:01:16 -07:00
Hugo Hamon
dd10034ef8 [WebProfilerBundle] replaces tabs characters by spaces. 2016-08-19 15:59:39 +02:00
Nicolas Grekas
8f2f440b77 [VarDumper] Allow dumping subparts of cloned Data structures 2016-08-19 15:47:08 +02:00
Nicolas Grekas
eaeeeaa91f Merge branch '3.1'
* 3.1:
  [HttpKernel] Fix too strict test
2016-08-19 15:46:39 +02:00
Nicolas Grekas
1eb8e1e13d Merge branch '2.8' into 3.1
* 2.8:
  [HttpKernel] Fix too strict test
2016-08-19 15:46:22 +02:00
Nicolas Grekas
b90139a7e9 Merge branch '2.7' into 2.8
* 2.7:
  [HttpKernel] Fix too strict test
2016-08-19 15:46:11 +02:00
Nicolas Grekas
8f18c3bd13 minor #19674 [HttpKernel] Fix too strict test (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] Fix too strict test

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Tests pass?   | yes
| License       | MIT

This test is too strict and prevents adding properties to Data objects for no reason.

Commits
-------

2e7301d [HttpKernel] Fix too strict test
2016-08-19 15:45:43 +02:00
Nicolas Grekas
2e7301dabf [HttpKernel] Fix too strict test 2016-08-19 15:31:18 +02:00
Nicolas Grekas
72dfda914d Merge branch '3.1'
* 3.1:
  Disable CLI color for Windows 10 greater than 10.0.10586
  Exception details break the layout
  [HttpKernel] Remove wrong docblock
  [HttpKernel] Fix HttpCache validation HTTP method
  [FrameworkBundle] Fix default lifetime of cache pools
  Move space from the before 'if' to the after 'if'
  [TwigBundle] Add a check for choice's attributes emptiness before calling block('attributes')
2016-08-19 08:48:55 +02:00
Nicolas Grekas
36b5716303 Merge branch '2.8' into 3.1
* 2.8:
  Disable CLI color for Windows 10 greater than 10.0.10586
  Exception details break the layout
  [HttpKernel] Remove wrong docblock
  [HttpKernel] Fix HttpCache validation HTTP method
  Move space from the before 'if' to the after 'if'
  [TwigBundle] Add a check for choice's attributes emptiness before calling block('attributes')
2016-08-19 08:48:39 +02:00
Nicolas Grekas
93e8b1df5e Merge branch '2.7' into 2.8
* 2.7:
  Disable CLI color for Windows 10 greater than 10.0.10586
  Exception details break the layout
  [HttpKernel] Remove wrong docblock
  [HttpKernel] Fix HttpCache validation HTTP method
  Move space from the before 'if' to the after 'if'
  [TwigBundle] Add a check for choice's attributes emptiness before calling block('attributes')
2016-08-19 08:48:01 +02:00
Michele Locati
255c59f670 Disable CLI color for Windows 10 greater than 10.0.10586 2016-08-19 08:41:18 +02:00
Nicolas Grekas
39cd984d7b bug #19663 Exception details break the layout (Dionysis Arvanitis)
This PR was merged into the 2.7 branch.

Discussion
----------

Exception details break the layout

Exception details break the layout

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| License       | MIT

By adding `word-wrap: break-word;` the exception details will wrap inside the block.

Commits
-------

00b4ecb Exception details break the layout
2016-08-18 22:08:23 +02:00
Dionysis Arvanitis
00b4ecb97a Exception details break the layout 2016-08-18 21:55:40 +03:00
Nicolas Grekas
f6408702b8 [FrameworkBundle][Debug] Fix default config and cleaning of traces 2016-08-18 18:41:56 +02:00