Commit Graph

23714 Commits

Author SHA1 Message Date
Fabien Potencier
e823e85a7c feature #21065 Added cache data collector and profiler page (Nyholm)
This PR was squashed before being merged into the 3.3-dev branch (closes #21065).

Discussion
----------

Added cache data collector and profiler page

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

Adding a first version of cache profiler page. Most things are taken from PHP-cache.
FYI: @aequasi

### What is included?

A collector, recording adapter and a profiler page.

![screen shot 2016-12-27 at 16 07 35](https://cloud.githubusercontent.com/assets/1275206/21502325/4bee2ed4-cc4f-11e6-89fc-37ed16aca864.png)
![screen shot 2016-12-27 at 16 07 45](https://cloud.githubusercontent.com/assets/1275206/21502326/4bee9450-cc4f-11e6-904d-527b7b0ce85b.png)

### What is not included?

* A good logo
* Nice design on the profiler page

This PR aims to pass as the minimum requirement for a cache page. Im happy to do fancy extra features but those should be a different PR.

Commits
-------

7497f1c6b6 Added cache data collector and profiler page
2017-01-17 21:46:26 -08:00
Tobias Nyholm
7497f1c6b6 Added cache data collector and profiler page 2017-01-17 21:46:25 -08:00
Fabien Potencier
24f0fd0dda bug #21280 [Workflow] Fixed support of multiple transitions with the same name. (lyrixx)
This PR was merged into the 3.2 branch.

Discussion
----------

[Workflow] Fixed support of multiple transitions with the same name.

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

---

The previous behavior was underterministic because it took the first
transition during the `can` and the `apply` method. But the "first"
does not mean anything. Now the workflown apply all possible transitions
with the same name.

Commits
-------

edd5431e6e [Workflow] Fixed support of multiple transition with the same name.
2017-01-17 21:35:58 -08:00
Tobias Nyholm
eece8adfdd [Workflow] Added new validator to make sure each place has unique translation names 2017-01-17 21:32:36 -08:00
Arjan Keeman
08c6a650b9 [Cache] [PdoAdapter] Fix MySQL 1170 error (blob as primary key) 2017-01-17 15:05:43 -08:00
Robin Chalas
04da7c30d9
[DI] Do not inline values of lazy arguments 2017-01-17 22:10:00 +01:00
Maxime Steinhausser
ce29ab1d92 [FrameworkBundle] Fix third level headers for MarkdownDescriptor 2017-01-17 19:39:37 +01:00
Quentin de Longraye
c91689ba2d [Ldap] Using Ldap stored username instead of form submitted one 2017-01-17 07:06:58 -08:00
Quentin de Longraye
6641b79d58 [Ldap] load users with the good username case 2017-01-17 07:06:58 -08:00
Arjen van der Meijden
6fecc94103 Don't add csp-headers if none are required 2017-01-17 09:49:30 +01:00
skalpa
a6527f895b [Debug] Fix fatal error when changing ErrorHandler loggers if an exception is buffered 2017-01-16 17:23:42 +00:00
Fabien Potencier
d228d347b4 bug #21288 [Doctrine Bridge] fix UniqueEntityValidator for composite object primary keys (dmaicher, HeahDude)
This PR was merged into the 3.1 branch.

Discussion
----------

[Doctrine Bridge] fix UniqueEntityValidator for composite object primary keys

| Q             | A
| ------------- | ---
| Branch?       | master / 3.1
| Bug fix?      | yes
| New feature?  |no
| BC breaks?    | no
| Deprecations? |no
| Tests pass?   | yes (fail on php 7.1 unrelated?)
| Fixed tickets | https://github.com/symfony/symfony/issues/21274
| License       | MIT
| Doc PR        | -

This PR fixes an issue with the UniqueEntityValidator in case the entity being validated uses a composite primary key via relations to other entities whose classes do not have a `__toString` method.

Commits
-------

b3ced8608b [DoctrineBridge] Fixed invalid unique value as composite key
5aadce3989 [Doctrine Bridge] fix UniqueEntityValidator for composite object primary keys
2017-01-16 08:52:47 -08:00
Kévin Dunglas
be3d11faa9
[DependencyInjection] Always autowire the constructor 2017-01-16 16:26:58 +01:00
David Buchmann
6628e76e62 simple-phpunit requires the zip extension 2017-01-16 15:40:47 +01:00
HeahDude
b3ced8608b [DoctrineBridge] Fixed invalid unique value as composite key
Fixed UniqueEntityValidator tests
2017-01-16 15:00:38 +01:00
Fabien Potencier
839920828e feature #20493 [Debug] Trigger deprecation on @final annotation in DebugClassLoader - prepare making some classes final (GuilhemN)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Debug] Trigger deprecation on `@final` annotation in DebugClassLoader - prepare making some classes final

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

BC promises become quickly huge but making classes `final` can limit these promises.
At the same time, many classes of the symfony codebase are not meant to be extended and could be  `final`; that's the goal of this PR: prepare making them final in 4.0 by triggering deprecations in their constructor:
```php
public function __construct()
{
    if (__CLASS__ !== get_class($this)) {
        @trigger_error(sprintf('Extending %s is deprecated since 3.3 and won\'t be supported in 4.0 as it will be final.', __CLASS__), E_USER_DEPRECATED);
    }
}
```

I updated two classes for now but we can do much more if you like it.

Commits
-------

c2ff111986 [Debug] Trigger deprecation on `@final` annotation in DebugClassLoader
2017-01-15 08:47:36 -08:00
Fabien Potencier
f7679f74ae feature #21244 [DI] Remove synthetic services from methodMap + generated methods (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DI] Remove synthetic services from methodMap + generated methods

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

For synthetic services, the generated methods are just dead code to fill opcache ;)
And having them in "methodMap" prevents using the property for checking if a service comes from a (non-synthetic) definition or not.
This prepares some changes that we'd like to do in 4.0, see #19668.

Commits
-------

c1e1e999f3 [DI] Remove synthetic services from methodMap + generated methods
2017-01-15 08:42:11 -08:00
Fabien Potencier
1e10227ac1 feature #21238 [VarDumper] Add search keyboard shortcuts (ogizanagi)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[VarDumper] Add search keyboard shortcuts

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

So, this PR simply adds the following shortcuts to navigate between matches, based on main browsers conventions:

- <kbd>CTRL/CMD</kbd> + (<kbd>shift</kbd>* +) <kbd>G</kbd>
- (<kbd>shift</kbd>* +) <kbd>ENTER</kbd>
- (<kbd>shift</kbd>* +) <kbd>F3</kbd>

_* <kbd>shift</kbd> allows to go backwards_

At first, I wanted to add a help box somewhere, but:
- I don't know where to place it. As the var dumper is now used everywhere in the profiler, it should not be importune and should work in narrowed places.
- We use those shortcuts in order to replicate the main softwares/browsers behavior. So we may not need it at all.

This PR also fixes a minor issue where pressing a key not changing the input would have restarted the search query.

Commits
-------

58fe4315ae [VarDumper] Add search keyboard shortcuts
2017-01-15 08:39:59 -08:00
Fabien Potencier
da1b082044 feature #21290 [FrameworkBundle] Fix debug:container --show-arguments missing cases (chalasr)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[FrameworkBundle] Fix debug:container --show-arguments missing cases

| Q             | A
| ------------- | ---
| Branch?       | 3.3
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/20861#issuecomment-272628063
| License       | MIT
| Doc PR        | n/a

Fixes the new `--show-arguments` option for per-service describing
(i.e. `debug:container foo_service --show-arguments`, doesn't work at all right now).

Commits
-------

57b17f4844 [FrameworkBundle] Fix debug:container --show-arguments missing cases
2017-01-15 08:13:53 -08:00
Guilhem N
c2ff111986
[Debug] Trigger deprecation on @final annotation in DebugClassLoader 2017-01-15 17:05:29 +01:00
Fabien Potencier
ce7a3c47c1 feature #21263 [DI] Mark generated containers as final (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DI] Mark generated containers as final

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

So that we don't have to care anymore about BC for protected methods in generated containers.
Will leverage deprecations triggered in #20493

Commits
-------

ce0ee1e484 [DI] Mark generated containers as final
2017-01-15 07:59:50 -08:00
Nicolas Grekas
c1e1e999f3 [DI] Remove synthetic services from methodMap + generated methods 2017-01-15 16:01:29 +01:00
Romain Gautier
2ae5834944 add missing use 2017-01-15 15:28:19 +01:00
Nicolas Grekas
372f4096c4 minor #21294 [VarDumper] Fixed typo in new search input (ro0NL)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[VarDumper] Fixed typo in new search input

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

I guess both work out.. but using `of` notation is way more common.

Btw chrome search doesnt show `0 of 0` (at least not initially).. maybe worth it?

/cc @ogizanagi

Commits
-------

f8d63a6 [VarDumper] Fixed typo in new search input
2017-01-15 14:07:02 +01:00
Amrouche Hamza
bd3f770510
[DependencyInjection] add missing expectedDeprecation on testLegacyGet 2017-01-15 11:39:17 +01:00
Roland Franssen
f8d63a6345 [VarDumper] Fixed typo in new search input 2017-01-15 10:34:13 +01:00
Nicolas Grekas
4d247b0f89 minor #21277 [DX][Cache] Set right cacheItem type hint on AdapterInterface getters (andrerom)
This PR was merged into the 3.1 branch.

Discussion
----------

[DX][Cache] Set right cacheItem type hint on AdapterInterface getters

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

Fixes missing cache item type hint on pool getters so methods on Symfony CacheItem
is correctly suggested when using IDE's or api documentation.

As proposed here: https://github.com/symfony/symfony/issues/19728#issuecomment-269615921

_Note: Specifically sets array of CacheItems as return type of getItems as phpdoc and IDEs supports
this by now, and since this is specifically what is being returned. If Sami does not still support this we can adjust to what was originally suggested._

Commits
-------

5f7baa5 [DX][Cache] Set right type hint for cacheItem on AdapterInterface getters
2017-01-14 18:16:00 +01:00
Nicolas Grekas
42c3d4fe02 minor #21268 [Cache] Relax binary-constraint on Memcached connections (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Cache] Relax binary-constraint on Memcached connections

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

If it's green then it's PSR-6 compliant.

Commits
-------

284d363 [Cache] Relax binary-constraint on Memcached connections
2017-01-14 18:10:21 +01:00
Grégoire Pineau
edd5431e6e [Workflow] Fixed support of multiple transition with the same name.
The previous behavior was underterministic because it took the first
transition during the `can` and the `apply` method. But the "first"
does not mean anything. Now the workflow apply all possible
transitions with the same name.
2017-01-14 17:43:11 +01:00
Robin Chalas
57b17f4844
[FrameworkBundle] Fix debug:container --show-arguments missing cases 2017-01-14 15:39:08 +01:00
David Maicher
5aadce3989 [Doctrine Bridge] fix UniqueEntityValidator for composite object primary keys 2017-01-14 12:59:07 +01:00
Christian Flothmann
cb1a4b778f [TwigBundle] do not lose already set method calls 2017-01-14 10:53:53 +01:00
Richard Bradley
51bca66dfb #20411 fix Yaml parsing for very long quoted strings 2017-01-13 16:26:16 +00:00
André R
5f7baa5a42 [DX][Cache] Set right type hint for cacheItem on AdapterInterface getters
| Q             | A
| ------------- | ---
| Branch?       | 3.1
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Fixes missing type hint for cache item on pool getters so methods on Symfony CacheItem
is correclty suggested when using IDE's or api documentation.

As proposed here: https://github.com/symfony/symfony/issues/19728#issuecomment-269615921

Note: Specifically sets array of items as return type of getItems as phpdoc and IDEs supports
this by now, and since this is specifically what is being returned.
2017-01-13 15:33:46 +01:00
Jérôme Parmentier
cd08f7e20e Add missing use statement in FilesystemAdapter 2017-01-13 14:35:13 +01:00
Kevin
2d8eeb200f [LDAP] implemented LDAP entry rename for ExtLdap adapter 2017-01-13 14:07:40 +01:00
Nicolas Grekas
cc398dbf7a Merge branch '3.2'
* 3.2:
  [Cache] Using strpbrk() instead of strcspn() is faster
  bumped Symfony version to 3.2.3
  updated VERSION for 3.2.2
  updated CHANGELOG for 3.2.2
  bumped Symfony version to 3.1.10
  updated VERSION for 3.1.9
  updated CHANGELOG for 3.1.9
2017-01-13 11:13:02 +01:00
Nicolas Grekas
e7fcd28d78 Merge branch '3.1' into 3.2
* 3.1:
  [Cache] Using strpbrk() instead of strcspn() is faster
  bumped Symfony version to 3.1.10
  updated VERSION for 3.1.9
  updated CHANGELOG for 3.1.9
2017-01-13 11:11:31 +01:00
Nicolas Grekas
d68c451711 [Cache] Using strpbrk() instead of strcspn() is faster 2017-01-13 10:53:08 +01:00
Nicolas Grekas
fda8832c4e minor #21255 [Profiler] Fix inline dump rendering (ogizanagi)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Profiler] Fix inline dump rendering

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

I introduced a minor rendering issue in #21109 when adding a clearfix behavior to the `pre.sf-dump` element:

|Before|After|
|-------|-----|
|
<img width="890" alt="screenshot 2017-01-12 a 19 57 34" src="https://cloud.githubusercontent.com/assets/2211145/21903782/6989eb36-d901-11e6-8f02-99c4a8356725.PNG">|<img width="892" alt="screenshot 2017-01-12 a 19 52 56" src="https://cloud.githubusercontent.com/assets/2211145/21903721/407d3bbc-d901-11e6-901b-3f5b65bee650.PNG">|

This will fix the issue by removing it, as we don't need this behavior for inline dumps.

Commits
-------

81e2641 [Profiler] Fix inline dump rendering
2017-01-13 09:45:33 +01:00
Nicolas Grekas
aebb65923b minor #21256 [FrameworkBundle] Skip test if xdebug.file_link_format is defined. (lyrixx)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] Skip test if xdebug.file_link_format is defined.

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

---

The test suite does not pass locally because I use a custom
file_link_format. I do it because it works everywhere.

Then, Symfony tries to read this value before the default one.
We could use ini_set before the test but unfortunatelly there are no way
to define the "cfg_var". For recall, get_cfg_var allows to return the
configuration value even if the extension is not loaded. And again it's
my case: I don't enable xdebug to have better performance.

Commits
-------

7f15bc3 [FrameworkBundle] Skip test if xdebug.file_link_format is defined.
2017-01-13 09:21:07 +01:00
Nicolas Grekas
6430d539ba minor #21264 CS: apply is_null (keradus)
This PR was merged into the 2.7 branch.

Discussion
----------

CS: apply is_null

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

Commits
-------

47feb18 CS: apply is_null
2017-01-13 09:20:14 +01:00
Nicolas Grekas
284d363fb1 [Cache] Relax binary-constraint on Memcached connections 2017-01-13 08:45:08 +01:00
Nicolas Grekas
ce0ee1e484 [DI] Mark generated containers as final 2017-01-13 08:23:38 +01:00
Dariusz Ruminski
47feb18d31 CS: apply is_null 2017-01-12 23:27:26 +01:00
Dariusz Ruminski
9e36436703 DX: remove invalid inheritdoc 2017-01-12 23:09:43 +01:00
Fabien Potencier
364ad971c2 bumped Symfony version to 3.2.3 2017-01-12 13:51:00 -08:00
Fabien Potencier
2c795ba970 updated VERSION for 3.2.2 2017-01-12 13:36:33 -08:00
Fabien Potencier
d63160957d bumped Symfony version to 3.1.10 2017-01-12 13:34:53 -08:00
Fabien Potencier
bb172ebfc5 updated VERSION for 3.1.9 2017-01-12 12:43:39 -08:00
Fabien Potencier
e18281eef6 bumped Symfony version to 2.8.17 2017-01-12 12:42:17 -08:00
Fabien Potencier
953c2192a2 updated VERSION for 2.8.16 2017-01-12 12:27:24 -08:00
Fabien Potencier
6babdb3296 bumped Symfony version to 2.7.24 2017-01-12 12:24:37 -08:00
Nicolas Grekas
136a5ffc55 Merge branch '3.2'
* 3.2:
  Fix test
2017-01-12 21:17:32 +01:00
Nicolas Grekas
3d0a69e50f Fix test 2017-01-12 21:17:20 +01:00
Fabien Potencier
69a553a2a3 updated VERSION for 2.7.23 2017-01-12 12:02:12 -08:00
Nicolas Grekas
c527f10b08 Merge branch '3.2'
* 3.2:
  [Profiler][Form] Fix form profiler errors profiler_dump
2017-01-12 20:46:56 +01:00
Nicolas Grekas
6ba798151e bug #21257 [Profiler][Form] Fix form profiler errors profiler_dump (ogizanagi)
This PR was merged into the 3.2 branch.

Discussion
----------

[Profiler][Form] Fix form profiler errors profiler_dump

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

|Before|After|
|-|-|
|
<img width="807" alt="screenshot 2017-01-12 a 20 12 59" src="https://cloud.githubusercontent.com/assets/2211145/21904499/323d1a38-d904-11e6-85ef-0957ef226278.PNG">|<img width="806" alt="screenshot 2017-01-12 a 20 13 38" src="https://cloud.githubusercontent.com/assets/2211145/21904500/32429710-d904-11e6-9bed-0d8e37262cd5.PNG">|

Commits
-------

207fab6 [Profiler][Form] Fix form profiler errors profiler_dump
2017-01-12 20:46:27 +01:00
Nicolas Grekas
641bb1a890 Merge branch '3.2'
* 3.2:
  Fix getMock usage
  Remove dead code
  [Form] DateTimeToLocalizedStringTransformer does not use TZ when using only date
  [Validator] Fix caching of constraints derived from non-serializable parents
  [TwigBundle] Fix bug where namespaced paths don't take parent bundles in account
  [FrameworkBundle] Fix relative paths used as cache keys
  respect groups when merging constraints
  fix IPv6 address handling in server commands
2017-01-12 20:30:26 +01:00
Nicolas Grekas
ec858cea91 Merge branch '3.1' into 3.2
* 3.1:
  Fix getMock usage
  Remove dead code
  [Form] DateTimeToLocalizedStringTransformer does not use TZ when using only date
  [Validator] Fix caching of constraints derived from non-serializable parents
  [TwigBundle] Fix bug where namespaced paths don't take parent bundles in account
  [FrameworkBundle] Fix relative paths used as cache keys
  respect groups when merging constraints
  fix IPv6 address handling in server commands
2017-01-12 20:27:47 +01:00
Nicolas Grekas
473fd3b026 Merge branch '2.8' into 3.1
* 2.8:
  Fix getMock usage
  Remove dead code
  [Form] DateTimeToLocalizedStringTransformer does not use TZ when using only date
  [Validator] Fix caching of constraints derived from non-serializable parents
  [TwigBundle] Fix bug where namespaced paths don't take parent bundles in account
  [FrameworkBundle] Fix relative paths used as cache keys
  respect groups when merging constraints
  fix IPv6 address handling in server commands
2017-01-12 20:26:57 +01:00
Nicolas Grekas
658a8a076c Merge branch '2.7' into 2.8
* 2.7:
  Fix getMock usage
2017-01-12 20:24:25 +01:00
Nicolas Grekas
52eeddc24e Fix getMock usage 2017-01-12 20:23:39 +01:00
Nicolas Grekas
9746314ecb Merge branch '2.7' into 2.8
* 2.7:
  Remove dead code
2017-01-12 20:21:19 +01:00
Nicolas Grekas
49fb0c033c Remove dead code 2017-01-12 20:18:32 +01:00
Nicolas Grekas
5ca27373e8 Merge branch '2.7' into 2.8
* 2.7:
  [Form] DateTimeToLocalizedStringTransformer does not use TZ when using only date
  [Validator] Fix caching of constraints derived from non-serializable parents
  [TwigBundle] Fix bug where namespaced paths don't take parent bundles in account
  [FrameworkBundle] Fix relative paths used as cache keys
  respect groups when merging constraints
  fix IPv6 address handling in server commands
2017-01-12 20:18:05 +01:00
Maxime Steinhausser
207fab63db [Profiler][Form] Fix form profiler errors profiler_dump 2017-01-12 20:16:54 +01:00
Nicolas Grekas
566732db1f Merge branch '3.2'
* 3.2:
  [FrameworkBundle] Add annotated validator cache test case
  Fix a typo
  [Ldap] Always have a valid connection when using the EntryManager
  [FrameworkBundle] Fix class_exists() checks in PhpArrayAdapter-related cache warmers
2017-01-12 20:06:21 +01:00
Nicolas Grekas
2e4d87fd6e Merge branch '3.1' into 3.2
* 3.1:
  [Ldap] Always have a valid connection when using the EntryManager
2017-01-12 20:04:24 +01:00
Grégoire Pineau
7f15bc39ea [FrameworkBundle] Skip test if xdebug.file_link_format is defined.
The test suite does not pass locally because I use a custom
file_link_format. I do it because it works everywhere.

Then, Symfony tries to read this value before the default one.
We could use ini_set before the test but unfortunatelly there are no way
to define the "cfg_var". For recall, get_cfg_var allows to return the
configuration value even if the extension is not loaded. And again it's
my case: I don't enable xdebug to have better performance.
2017-01-12 19:58:07 +01:00
Grégoire Pineau
108c89d1cf [TwigBridge] Removed unused class property 2017-01-12 19:56:36 +01:00
Grégoire Pineau
77f820ee7c [TwigBridge][Workflow] Added more tests on WorkflowExtension 2017-01-12 19:55:06 +01:00
Grégoire Pineau
efe500da84 [TwigBridge][Workflow] Fixed code and tests 2017-01-12 19:55:06 +01:00
Adam Prager
4d0cc6836f [TwigBridge][Workflow] Added workflow_has_place twig function 2017-01-12 19:55:06 +01:00
Maxime Steinhausser
81e2641199 [Profiler] Fix inline dump rendering 2017-01-12 19:54:12 +01:00
Fabien Potencier
5cf600dfbd bug #21218 [Form] DateTimeToLocalizedStringTransformer does not use timezone when using date only (magnetik)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] DateTimeToLocalizedStringTransformer does not use timezone when using date only

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

The `DateTimeToLocalizedStringTransformer` when used with a pattern that have only date (in `DateType` for instance) does not convert the result in the desired output

Reproduction steps:
- Use `DateType` in a form
- Set the `model_timezone` to `Pacific/Tahiti`, having default timezone to `Europe/Berlin`.
- Enter the date `2017-01-10`
- Submit the form
- Notice that the received data is `2017-01-10 00:00 Europe/Berlin`, whereas it should be `2017-01-10 11:00 Europe/Berlin`

Commits
-------

031d8c2c8b [Form] DateTimeToLocalizedStringTransformer does not use TZ when using only date
2017-01-12 10:42:17 -08:00
Fabien Potencier
bcab8b8ac8 bug #21248 [FrameworkBundle] Prevent an error when the console component isn't installed (dunglas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[FrameworkBundle] Prevent an error when the console component isn't installed

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

Finish #19443. Alternative to #21246.

Commits
-------

ab133caa8c [FrameworkBundle] Prevent an error when the console component isn't installed
2017-01-12 10:31:45 -08:00
Fabien Potencier
90891317eb feature #21234 Add a new Dotenv component (fabpot)
This PR was merged into the 3.3-dev branch.

Discussion
----------

Add a new Dotenv component

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

This introduces a new Dotnv Component that manages `.env` files. Read the referenced doc PR above for more information about usage:

But here, I want to explain the rationale behind creating such a component instead of reusing an existing one.

 * First, this version only implements what you can do in a "real" bash shell script (which is what a `.env` really is): so **no value validation** for instance (and anyway, an env var value is always a string). That's important as in production, we should use real env variables, and we don't have validation for them there;

 * It allows to only parse a file without populating the env variables (we have 3 stages: `load` `parse` and `populate`);

 * Strict implementation of what you can do in a `.env` file, same behavior as bash ($VAR and ${VAR} are supported for instance, executing commands as well);

 * Great error messages: I spent a lot of time being sure that error reporting is top notch;

 * Clean, simple, and straightforward code (small public API);

 * It only does `.env` management, there is no uneeded abstractions like being able to add an env variable directly (just use `putenv`);

There are some unimplemented features as I don't think they are needed and would increase the complexity of the code: several concatenated strings `FOO='foo'"bar"` for instance.

Commits
-------

5a6be8ae9c [Dotenv] added the component
2017-01-12 10:01:47 -08:00
Fabien Potencier
5a6be8ae9c [Dotenv] added the component 2017-01-12 08:39:44 -08:00
Mikael Pajunen
e09dccc762 [FrameworkBundle] Add annotated validator cache test case 2017-01-12 17:32:18 +01:00
Bob van de Vijver
7775ec210f [Ldap] Always have a valid connection when using the EntryManager 2017-01-12 07:53:08 -08:00
Kévin Dunglas
ab133caa8c
[FrameworkBundle] Prevent an error when the console component isn't installed 2017-01-12 15:52:48 +01:00
Baptiste Lafontaine
031d8c2c8b [Form] DateTimeToLocalizedStringTransformer does not use TZ when using only date 2017-01-12 15:37:51 +01:00
Nicolas Grekas
d7bc68a3ed bug #21104 [FrameworkBundle] fix IPv6 address handling in server commands (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] fix IPv6 address handling in server commands

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

This fixes https://github.com/symfony/symfony/pull/21039#discussion_r93915788 as reported by @sstok for the existing commands by backporting @fabpot's patch from #21039.

Commits
-------

2bb4713 fix IPv6 address handling in server commands
2017-01-12 14:01:00 +01:00
Nicolas Grekas
4769ca2164 bug #20793 [Validator] Fix caching of constraints derived from non-serializable parents (uwej711)
This PR was squashed before being merged into the 2.7 branch (closes #20793).

Discussion
----------

[Validator] Fix caching of constraints derived from non-serializable parents

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

This change allows to still cache constraints even when an uncachable constraint (i.e. Callback)
is added to a parent class at runtime.

This is achived by caching only the constraints that are loaded for the class in question only
and merging parent and interface constraints after reading from cache.

Commits
-------

9dd6b0c [Validator] Fix caching of constraints derived from non-serializable parents
2017-01-12 13:52:00 +01:00
Uwe Jäger
9dd6b0cf64 [Validator] Fix caching of constraints derived from non-serializable parents 2017-01-12 13:51:22 +01:00
Thomas Royer
5c151d0439 Add a --show-arguments flag to the container debug command 2017-01-12 13:51:04 +01:00
Nicolas Grekas
c60009eae8 [FrameworkBundle] Fix class_exists() checks in PhpArrayAdapter-related cache warmers 2017-01-12 12:00:26 +01:00
Fabien Potencier
7aeb31e78d feature #21223 [DI] Deprecate case insentivity of service identifiers (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DI] Deprecate case insentivity of service identifiers

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | minor (see UPGRADE note)
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #21193
| License       | MIT
| Doc PR        | -

As discussed in linked RFC.

Commits
-------

d08f1101df [DI] Deprecate case insentivity of service identifiers
2017-01-11 13:31:22 -08:00
Fabien Potencier
df876b3044 feature #20887 [Form] DateIntervalType: Allow to configure labels & enhance form theme (ogizanagi)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Form] DateIntervalType: Allow to configure labels & enhance form theme

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no (unless someone relies on this non themed type)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | N/A
| License       | MIT
| Doc PR        | Should document the new `labels` option

I just realized by using it for last fixes in #20886 and #20877 that this type was not really themed:

### before

<img width="861" alt="screenshot 2016-12-13 a 00 54 35" src="https://cloud.githubusercontent.com/assets/2211145/21121792/c589d27a-c0ce-11e6-8368-a396fda3bc7a.PNG">

At least labels should appear, but this also means being able to change them (thus the new `labels` option).

I think the form themes should provide a functional & minimalistic integration like this:

### after

<img width="862" alt="screenshot 2016-12-13 a 00 54 17" src="https://cloud.githubusercontent.com/assets/2211145/21121814/d9c4ead6-c0ce-11e6-94e1-41e6c14884a7.PNG">

---
(On screenshots above, I've only added a css rule to remove the 100% width of the `.table` class. See https://github.com/symfony/symfony/pull/20887#discussion_r92069557)

Commits
-------

bfd9e50bbb [Form] DateIntervalType: Allow to configure labels & enhance form theme
2017-01-11 11:11:51 -08:00
Fabien Potencier
17ce5f55d1 bug #19586 [TwigBundle] Fix bug where namespaced paths don't take parent bundles in account (wesleylancel)
This PR was squashed before being merged into the 2.7 branch (closes #19586).

Discussion
----------

[TwigBundle] Fix bug where namespaced paths don't take parent bundles in account

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

Currently namespaced paths for templates such as `{% extends '@App/Layout/layout.html.twig' %}` do not work with bundles that have overruled templates using the `getParent()` method in another bundle. See attached ticket. This change prepends the path of the bundle implementing `getParent()` to the paths of the namespace of bundle returned as a parent.

Commits
-------

0c77ce2355 [TwigBundle] Fix bug where namespaced paths don't take parent bundles in account
2017-01-11 10:19:59 -08:00
Wesley Lancel
0c77ce2355 [TwigBundle] Fix bug where namespaced paths don't take parent bundles in account 2017-01-11 10:19:56 -08:00
Maxime Steinhausser
58fe4315ae [VarDumper] Add search keyboard shortcuts 2017-01-11 18:31:10 +01:00
Nicolas Grekas
d08f1101df [DI] Deprecate case insentivity of service identifiers 2017-01-11 16:25:44 +01:00
Nicolas Grekas
5441e9bc90 [FrameworkBundle] Fix relative paths used as cache keys 2017-01-11 16:18:12 +01:00
Benjamin Cremer
7743989675 Move AddConsoleCommandPass from FrameworkBundle to Console. 2017-01-11 13:05:48 +01:00
Fabien Potencier
cbecfc3d74 minor #21233 [Form] Removed unused ResolvedTypeFactory in FormFactory constructor (HeahDude)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Form] Removed unused ResolvedTypeFactory in FormFactory constructor

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

____
This PR just removes some legacy code from 2.x.

Commits
-------

3607eb3dd0 [Form] Removed unused ResolvedTypeFactory in FormFactory constructor
2017-01-10 13:52:26 -08:00
Fabien Potencier
8b354785b5 bug #21232 [FrameworkBundle] removed a deprecation notice when using autowiring (on kernel.class_cache.cache_warmer) (fabpot)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[FrameworkBundle] removed a deprecation notice when using autowiring (on kernel.class_cache.cache_warmer)

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

When using autowiring, Symfony uses reflection to list all available classes. So, each class is loaded, and for the `ClassCacheCacheWarmer`, it means that a deprecation notice is triggered. So, I've moved it to when an instance is created instead.

Commits
-------

eb6ff9c7e3 [FrameworkBundle] removed a deprecation notice when using autowiring (on kernel.class_cache.cache_warmer)
2017-01-10 13:49:58 -08:00
HeahDude
3607eb3dd0 [Form] Removed unused ResolvedTypeFactory in FormFactory constructor 2017-01-10 21:49:17 +01:00
Fabien Potencier
eb6ff9c7e3 [FrameworkBundle] removed a deprecation notice when using autowiring (on kernel.class_cache.cache_warmer) 2017-01-10 12:32:13 -08:00