Commit Graph

14012 Commits

Author SHA1 Message Date
Fabien Potencier
791b1247f9 fixed CS 2015-10-13 17:24:19 +02:00
Joshua Thijssen
7bb394e2c4 Added separated handling of root paths 2015-10-13 17:18:25 +02:00
Nicolas Grekas
fa604d3c6f [Http*] Mock time() to fix transient tests 2015-10-13 16:19:21 +02:00
Fabien Potencier
e0e38ba8e3 minor #16211 [ExpressionLanguage] marked node classes as being internal (fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

[ExpressionLanguage] marked node classes as being internal

| 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

Adds `@internal` on some classes, would it make sense to also make them final?

Commits
-------

7d6bc48 [ExpressionLanguage] marked node classes as being internal
2015-10-12 16:08:01 +02:00
Fabien Potencier
117d65f1d8 minor #16210 [Yaml] marked some classes as being internal (fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

[Yaml] marked some classes as being internal

| 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

Adds `@internal` on some YAML classes.

Commits
-------

29e7893 [Yaml] marked some classes as being internal
2015-10-12 16:07:28 +02:00
Nicolas Grekas
4c223c9d06 Merge branch '2.7' into 2.8
* 2.7:
  [travis] Load memcache.so
  [2.3] Cherry-pick @group time-sensitive annotations
  [ci] load php_memcache.dll and apcu.so
  [ClassLoader] Split LegacyApcUniversalClassLoaderTest fixtures
2015-10-12 14:43:41 +02:00
Nicolas Grekas
c6da10674a Merge branch '2.3' into 2.7
* 2.3:
  [travis] Load memcache.so
  [2.3] Cherry-pick @group time-sensitive annotations
  [ci] load php_memcache.dll and apcu.so

Conflicts:
	.travis.yml
	src/Symfony/Component/Console/Tests/Helper/LegacyProgressHelperTest.php
2015-10-12 14:42:24 +02:00
Nicolas Grekas
c9f92baad7 [2.3] Cherry-pick @group time-sensitive annotations 2015-10-12 13:59:00 +02:00
Nicolas Grekas
3c06c815a4 [ClassLoader] Split LegacyApcUniversalClassLoaderTest fixtures 2015-10-12 13:28:14 +02:00
Fabien Potencier
7d6bc483a6 [ExpressionLanguage] marked node classes as being internal 2015-10-12 13:23:20 +02:00
Fabien Potencier
29e789301a [Yaml] marked some classes as being internal 2015-10-12 13:16:35 +02:00
Fabien Potencier
24529f66c7 feature #16194 [PhpUnit] Mock clock on @group time-sensitive annotations (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[PhpUnit] Mock clock on @group time-sensitive annotations

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

Instead of spreading the same clock mock code everywhere, let's create a test case that helps mocking the time related functions.

Commits
-------

34a0846 [PhpUnit] Mock clock on @group time-sensitive annotations
2015-10-12 12:31:17 +02:00
Fabien Potencier
77f51412e2 feature #16201 [Yaml] deprecated non-escaped \ in double-quoted strings when parsing (fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

[Yaml] deprecated non-escaped \ in double-quoted strings when parsing

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

According to the YAML specs, backslashes must be escaped when used in a double-quoted string. So, `"Foo\Var"` is not valid, `"Foo\\Var"` is.

This PR deprecates the old ways so that we can throw an exception in 3.0 when parsing a non-compliant YAML string in 3.0.

ping @nicolas-grekas @tucksaun

Commits
-------

e599a72 [Yaml] deprecated non-escaped \ in double-quoted strings when parsing
2015-10-12 12:21:50 +02:00
Fabien Potencier
e599a72fc7 [Yaml] deprecated non-escaped \ in double-quoted strings when parsing 2015-10-12 12:20:37 +02:00
Fabien Potencier
b03ccb3a3d feature #16198 [EventDispatcher] added EventDispatcher::getListenerPriority() (fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

[EventDispatcher] added EventDispatcher::getListenerPriority()

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

In #14563, we added a way to get the priorities of listeners, but as noted by @Tobion in #15825, the implementation is sub-optimal because of two main reasons: the change is not part of the interface but more importantly, the added boolean changes the return value of `getListeners()`.

This PR reverts most of #14563 to add a `getListenerPriority()` method. This method is quite slow, but as it should only be used for debugging purposes (on the CLI or the WDT), I think it's not really a problem.

In 3.0, this method should probably be added to `EventDispatcherInterface`.

ping @Tobion

Commits
-------

068e955 [EventDispatcher] added EventDispatcher::getListenerPriority()
2015-10-12 12:13:39 +02:00
Nicolas Grekas
d36e284192 Fix merge 2015-10-12 11:27:31 +02:00
Nicolas Grekas
38ee8b34c4 Merge branch '2.7' into 2.8
* 2.7:
  [ci] Fix tests requirements
  [ci] SymfonyTestsListener is now auto-registered
  adds validation messages missing italian translations
  [Console] fixed progress bar format on edge cases
  fix bug with set max count, by start method in progress bar

Conflicts:
	src/Symfony/Component/Form/Tests/Extension/Core/EventListener/TrimListenerTest.php
	src/Symfony/Component/HttpKernel/Tests/Profiler/MongoDbProfilerStorageTest.php
	src/Symfony/Component/HttpKernel/Tests/Profiler/SqliteProfilerStorageTest.php
	src/Symfony/Component/Security/Acl/Tests/Dbal/AclProviderTest.php
	src/Symfony/Component/Security/Acl/Tests/Dbal/MutableAclProviderTest.php
2015-10-12 11:25:14 +02:00
Nicolas Grekas
9d9c252c89 Merge branch '2.3' into 2.7
* 2.3:
  [ci] Fix tests requirements

Conflicts:
	src/Symfony/Component/Validator/Tests/Mapping/Cache/LegacyApcCacheTest.php
2015-10-12 11:20:33 +02:00
Nicolas Grekas
3c0b441371 [ci] Fix tests requirements 2015-10-12 11:06:32 +02:00
Nicolas Grekas
34a08464ce [PhpUnit] Mock clock on @group time-sensitive annotations 2015-10-12 10:02:31 +02:00
Fabien Potencier
068e9559d0 [EventDispatcher] added EventDispatcher::getListenerPriority() 2015-10-11 16:56:23 +02:00
Nicolas Grekas
f30ae9a9bb Merge branch '2.3' into 2.7
* 2.3:
  [ci] SymfonyTestsListener is now auto-registered
  adds validation messages missing italian translations
2015-10-11 11:39:48 +02:00
Nicolas Grekas
d1d0e041c2 [ci] SymfonyTestsListener is now auto-registered 2015-10-11 11:37:49 +02:00
Fabien Potencier
6907498c21 feature #15025 [2.8] [Form] Rename CollectionType options for entries (WouterJ)
This PR was merged into the 2.8 branch.

Discussion
----------

[2.8] [Form] Rename CollectionType options for entries

Description
---

Replaces #13820 for the 2.8 branch.

Original description:

 > `type` and `options` are extremely generic. Prefixing them with `entry_` makes it clear what they are configuring.

 > About the property deprecation it is the same story as https://github.com/symfony/symfony/pull/13717 and I don't know which direction you want me to go.

I've tried to apply the comments in the previous PR, but got a bit lost in the normalizers/default closure stuff. I hope I did everything correctly, but please review :)

PR Info Table
---

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

Commits
-------

942a237 Rename CollectionType options for entries
2015-10-11 11:32:20 +02:00
Nicolas Grekas
2b60058d74 minor #16197 [PhpUnit] Auto-register SymfonyTestsListener (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[PhpUnit] Auto-register SymfonyTestsListener

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

This allows removing the copy/pasted `<listeners>` tags in our phpunit.xml.dist files and opens for future enhancements (like #16194)

Commits
-------

9e2bb00 [PhpUnit] Auto-register SymfonyTestsListener
2015-10-11 11:12:21 +02:00
Nicolas Grekas
9e2bb0082f [PhpUnit] Auto-register SymfonyTestsListener 2015-10-11 10:29:26 +02:00
Fabien Potencier
45b2382f46 minor #15825 Fix potential access to undefined index (Seldaek)
This PR was merged into the 2.8 branch.

Discussion
----------

Fix potential access to undefined index

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

Fixes @tobion's comment in https://github.com/symfony/symfony/pull/14563/files#r39705270

Commits
-------

de41002 Fix potential access to undefined index
2015-10-11 10:02:03 +02:00
Michele Orselli
4ac8ff7e26 adds validation messages missing italian translations 2015-10-11 09:51:52 +02:00
Fabien Potencier
e651da4e6a [Console] fixed progress bar format on edge cases 2015-10-11 09:41:52 +02:00
Viacheslav Sychov
3cbfa63d05 fix bug with set max count, by start method in progress bar 2015-10-11 09:16:20 +02:00
Nicolas Grekas
dac3c9e82d Merge branch '2.7' into 2.8
* 2.7:
  [Filesystem] Fix test on Windows
  Fix merge
  [HttpFoundation] Extend ClockMock to session storage tests
  [Process] Don't use @requires on abstract class
  [VarDumper] Fix wordwrap with Bootstrap
2015-10-10 20:55:46 +02:00
Nicolas Grekas
c98ce2a6e3 bug #16183 [VarDumper] Fix wordwrap with Bootstrap (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] Fix wordwrap with Bootstrap

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

Without this rule, there can be issues in the profiler bar and css from bootstrap (https://github.com/twbs/bootstrap/blob/v3.3.5/less/code.less#L47)

<img width="888" alt="screenshot 2015-10-09 a 18 09 28" src="https://cloud.githubusercontent.com/assets/2211145/10400156/645c77a6-6eb7-11e5-954b-f80c34b09f86.PNG">

Commits
-------

e448e1c [VarDumper] Fix wordwrap with Bootstrap
2015-10-10 19:33:17 +02:00
Nicolas Grekas
57e253e92c [Filesystem] Fix test on Windows 2015-10-10 19:17:51 +02:00
Nicolas Grekas
0b59ba428d Fix merge 2015-10-10 18:58:46 +02:00
Nicolas Grekas
f0b03bd391 Merge branch '2.3' into 2.7
* 2.3:
  [HttpFoundation] Extend ClockMock to session storage tests
  [Process] Don't use @requires on abstract class

Conflicts:
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
2015-10-10 18:53:09 +02:00
Nicolas Grekas
1ee8d2b821 minor #16191 [HttpFoundation] Extend ClockMock to session storage tests (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpFoundation] Extend ClockMock to session storage tests

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

Commits
-------

93a06df [HttpFoundation] Extend ClockMock to session storage tests
2015-10-10 18:37:41 +02:00
Nicolas Grekas
93a06dffa1 [HttpFoundation] Extend ClockMock to session storage tests 2015-10-10 18:18:50 +02:00
Nicolas Grekas
23fc32f78f [Process] Don't use @requires on abstract class 2015-10-10 18:01:13 +02:00
Jáchym Toušek
4ad1e205b4 [Validator] Add expressionLanguage to ExpressionValidator constructor 2015-10-10 14:25:38 +02:00
WouterJ
942a2370c6 Rename CollectionType options for entries 2015-10-10 12:12:18 +02:00
Nicolas Grekas
c8475c938d minor #16187 [2.8][tests] Use @requires annotation when possible (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[2.8][tests] Use @requires annotation when possible

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

Commits
-------

814d961 [tests] Use @requires annotation when possible
2015-10-10 11:38:45 +02:00
Nicolas Grekas
58475a1812 Merge branch '2.7' into 2.8
* 2.7:
  Fix merge
2015-10-10 11:37:53 +02:00
Nicolas Grekas
553ac3a0a3 Fix merge 2015-10-10 11:37:42 +02:00
Nicolas Grekas
3ecf2062b8 Merge branch '2.7' into 2.8
* 2.7:
  [tests] Use @requires annotation when possible
  [tests] Use @requires annotation when possible
  [ci] Enable collecting and replaying skipped tests
  [Process] Workaround buggy PHP warning
  [Console] Add additional ways to detect OS400 platform
  [Yaml] Allow tabs before comments at the end of a line
  Added more tests for PropertyAccess

Conflicts:
	.travis.yml
	src/Symfony/Bridge/Doctrine/composer.json
	src/Symfony/Bridge/Monolog/composer.json
	src/Symfony/Bridge/ProxyManager/composer.json
	src/Symfony/Bridge/Swiftmailer/composer.json
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/DebugBundle/composer.json
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Bundle/TwigBundle/composer.json
	src/Symfony/Bundle/WebProfilerBundle/composer.json
	src/Symfony/Component/Asset/composer.json
	src/Symfony/Component/BrowserKit/composer.json
	src/Symfony/Component/ClassLoader/composer.json
	src/Symfony/Component/Config/composer.json
	src/Symfony/Component/Console/composer.json
	src/Symfony/Component/CssSelector/composer.json
	src/Symfony/Component/Debug/composer.json
	src/Symfony/Component/DependencyInjection/composer.json
	src/Symfony/Component/DomCrawler/composer.json
	src/Symfony/Component/EventDispatcher/composer.json
	src/Symfony/Component/ExpressionLanguage/composer.json
	src/Symfony/Component/Filesystem/composer.json
	src/Symfony/Component/Finder/composer.json
	src/Symfony/Component/Form/composer.json
	src/Symfony/Component/HttpFoundation/composer.json
	src/Symfony/Component/HttpKernel/composer.json
	src/Symfony/Component/Intl/composer.json
	src/Symfony/Component/Locale/composer.json
	src/Symfony/Component/OptionsResolver/composer.json
	src/Symfony/Component/Process/composer.json
	src/Symfony/Component/PropertyAccess/composer.json
	src/Symfony/Component/Routing/composer.json
	src/Symfony/Component/Security/Acl/composer.json
	src/Symfony/Component/Security/Core/composer.json
	src/Symfony/Component/Security/Csrf/composer.json
	src/Symfony/Component/Security/Http/composer.json
	src/Symfony/Component/Security/composer.json
	src/Symfony/Component/Serializer/composer.json
	src/Symfony/Component/Stopwatch/composer.json
	src/Symfony/Component/Templating/composer.json
	src/Symfony/Component/Translation/Tests/Dumper/IcuResFileDumperTest.php
	src/Symfony/Component/Translation/composer.json
	src/Symfony/Component/Validator/composer.json
	src/Symfony/Component/VarDumper/composer.json
	src/Symfony/Component/Yaml/composer.json
2015-10-10 11:36:22 +02:00
Nicolas Grekas
52dbc3b7cc minor #16186 [2.7][tests] Use @requires annotation when possible (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7][tests] Use @requires annotation when possible

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

Commits
-------

b028aea [tests] Use @requires annotation when possible
2015-10-10 11:27:33 +02:00
Nicolas Grekas
309ad43b71 Merge branch '2.3' into 2.7
* 2.3:
  [tests] Use @requires annotation when possible
  [ci] Enable collecting and replaying skipped tests
  [Process] Workaround buggy PHP warning
  [Console] Add additional ways to detect OS400 platform
  [Yaml] Allow tabs before comments at the end of a line

Conflicts:
	composer.json
	src/Symfony/Bridge/Doctrine/Tests/Logger/DbalLoggerTest.php
	src/Symfony/Bridge/Monolog/composer.json
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Component/Asset/composer.json
	src/Symfony/Component/ClassLoader/Tests/LegacyApcUniversalClassLoaderTest.php
	src/Symfony/Component/Console/composer.json
	src/Symfony/Component/Debug/composer.json
	src/Symfony/Component/DomCrawler/composer.json
	src/Symfony/Component/EventDispatcher/composer.json
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
	src/Symfony/Component/HttpFoundation/composer.json
	src/Symfony/Component/Intl/composer.json
	src/Symfony/Component/Routing/composer.json
	src/Symfony/Component/Security/composer.json
	src/Symfony/Component/Serializer/composer.json
	src/Symfony/Component/Templating/composer.json
	src/Symfony/Component/Translation/composer.json
	src/Symfony/Component/Validator/composer.json
2015-10-10 11:26:25 +02:00
ogizanagi
e448e1c6b3 [VarDumper] Fix wordwrap with Bootstrap 2015-10-10 11:16:06 +02:00
Nicolas Grekas
4c431d6c67 minor #16190 [ci] Enable collecting and replaying skipped tests (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[ci] Enable collecting and replaying skipped tests

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

Commits
-------

4032c88 [ci] Enable collecting and replaying skipped tests
2015-10-10 11:14:14 +02:00
Nicolas Grekas
b028aeaa04 [tests] Use @requires annotation when possible 2015-10-10 11:00:45 +02:00
Nicolas Grekas
4061d37e87 [tests] Use @requires annotation when possible 2015-10-10 10:57:40 +02:00
Nicolas Grekas
4032c88a21 [ci] Enable collecting and replaying skipped tests 2015-10-10 10:46:02 +02:00
Nicolas Grekas
814d96165d [tests] Use @requires annotation when possible 2015-10-10 10:11:41 +02:00
Ben
b1bd093f8a [Process] Workaround buggy PHP warning 2015-10-09 23:59:27 +02:00
Fabien Potencier
2406cc7b43 bug #16095 [Console] Add additional ways to detect OS400 platform (johnkary)
This PR was squashed before being merged into the 2.3 branch (closes #16095).

Discussion
----------

[Console] Add additional ways to detect OS400 platform

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

This PR adds support for detecting the OS400 platform when the PHP function `php_uname()` is disabled. OS400 platform detection was added in #15058 to fix character encoding issues present on OS400. See that PR for more info.

This PR fixes regression introduced in #16053, which did not work on the IBM OS400 server I have access to. The constant `PHP_OS` being checked outputs "AIX" on my IBM OS400 server. I can't say for sure if it works on other IBM platforms... but I preserved this check just in case.

User @eloigranado [commented here](https://github.com/symfony/symfony/pull/15058#issuecomment-130743928) asking if we could switch to using `PHP_OS` constant instead of `php_uname()` because he claims some admins might "[hide] the exact kernel build from any attacker who discovers a remote PHP code execution vulnerability". I personally don't think we should accommodate this use case, but I was able to find alternate approaches.

### Why use case insensitive string matching stristr() instead of in_array()?

Here are the various outputs on my OS400 server:

    echo PHP_OS; // "AIX"
    echo getenv('OSTYPE'); // "os400"
    echo php_uname('s'); // "OS400"

So we have various case issues here, and possible blank values on platforms where OSTYPE var doesn't exist or php_uname() is disabled. Concatenating these optional values together delimited by ; then case-insensitive searching the string for "OS400" seemed like a fair compromise. I would've probably done `in_array()` if case wasn't an issue.

Commits
-------

96a4071 [Console] Add additional ways to detect OS400 platform
2015-10-07 14:28:08 +02:00
John Kary
96a4071891 [Console] Add additional ways to detect OS400 platform 2015-10-07 14:28:06 +02:00
Fabien Potencier
a954fea00e minor #16155 Added more tests for PropertyAccess (pierredup)
This PR was merged into the 2.7 branch.

Discussion
----------

Added more tests for PropertyAccess

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

This is a follow up for [16090#issuecomment-145183635](https://github.com/symfony/symfony/pull/16090#issuecomment-145183635)

Commits
-------

378db75 Added more tests for PropertyAccess
2015-10-07 14:25:40 +02:00
Fabien Potencier
bd9997e5e7 bug #15793 [Yaml] Allow tabs before comments at the end of a line (superdav42)
This PR was merged into the 2.3 branch.

Discussion
----------

[Yaml] Allow tabs before comments at the end of a line

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

If a yml file has a tab character before a line ending comment the comment will be included in the parsed value. Yaml spec allows tab or space as whitespace characters so we need to check for tab as well. See included test.
Recently caused an odd and hard to find bug in our project.

See spec:
http://www.yaml.org/spec/1.2/spec.html#s-b-comment
http://www.yaml.org/spec/1.2/spec.html#s-separate-in-line
http://www.yaml.org/spec/1.2/spec.html#s-white

This is a new PR replacing https://github.com/symfony/symfony/pull/15747

@fabpot

Commits
-------

d040be7 [Yaml] Allow tabs before comments at the end of a line
2015-10-07 12:28:58 +02:00
Nicolas Grekas
5326df084e cs fix 2015-10-07 12:24:12 +02:00
Nicolas Grekas
f35a0d202f Merge branch '2.7' into 2.8
Conflicts:
	appveyor.yml
2015-10-07 09:09:15 +02:00
Nicolas Grekas
481f39d9e6 Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Component/Validator/Constraints/UrlValidator.php
2015-10-07 09:06:36 +02:00
David Stone
d040be773c [Yaml] Allow tabs before comments at the end of a line
In Yaml 1.2 spec white space is space or tab
2015-10-06 20:53:26 -06:00
Pierre du Plessis
378db759e0 Added more tests for PropertyAccess 2015-10-07 01:02:43 +02:00
Pierre du Plessis
f02973acd8 Deprecate the SecureRandom class 2015-10-06 20:09:25 +02:00
Nicolas Grekas
72365716c2 Merge branch '2.7' into 2.8
Conflicts:
	src/Symfony/Component/Security/Http/Tests/RememberMe/PersistentTokenBasedRememberMeServicesTest.php
	src/Symfony/Component/Security/Http/Tests/RememberMe/TokenBasedRememberMeServicesTest.php
	src/Symfony/Component/Security/composer.json
2015-10-06 19:12:59 +02:00
Victor Bocharsky
e0910d9f49 Fix URL validator failure with empty string 2015-10-06 18:40:02 +02:00
Fabien Potencier
0f61859679 [Validator] added a failing test 2015-10-06 18:38:49 +02:00
Fabien Potencier
a1c7af1fbf feature #16001 [DI] Warn when a definition relies on a deprecated class in ContainerBuilder::createService() (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[DI] Warn when a definition relies on a deprecated class in ContainerBuilder::createService()

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

The new feature is in the DI component and it enlighten a deprecation from Doctrine that we ignored in FrameworkBundle, that is also fixed in this PR.

See https://github.com/symfony/symfony/pull/16001/files?w=1

Commits
-------

ca69fa3 [DI] Warn when a definition relies on a deprecated class in ContainerBuilder::createService()
2015-10-06 18:29:07 +02:00
Fabien Potencier
45a5b005d5 minor #16147 [VarDumper] consistent signature of getDump() in class + trait (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[VarDumper] consistent signature of getDump() in class + trait

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

Commits
-------

48a9e83 consistent signature of getDump() in class + trait
2015-10-06 18:18:14 +02:00
Christian Flothmann
536045f865 tweak some deprecation messages 2015-10-06 17:57:37 +02:00
Fabien Potencier
1c43a4e622 fixed CS 2015-10-06 17:46:46 +02:00
MAXakaWIZARD
668c502982 [Console] [Helper] [Table] Add ability to set styles for individual columns 2015-10-06 17:25:39 +02:00
Dane Powell
a83d525b90 fixed #15118 [Filesystem] mirroring a symlink copies absolute file path 2015-10-06 17:23:28 +02:00
Remi Collet
af420c120d avoid duplicated path with addPrefix 2015-10-06 17:11:44 +02:00
Fabien Potencier
380e2ba103 minor #16131 [2.7] Fix docblocks about callables (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7] Fix docblocks about callables

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

Commits
-------

7b12fe9 [2.7] Fix docblocks about callables
2015-10-06 17:07:22 +02:00
Nicolas Grekas
b362c961f7 Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
	src/Symfony/Component/Security/Tests/Core/SecurityContextTest.php
2015-10-06 17:02:37 +02:00
Christian Flothmann
08333ecb11 [Security] sync translations and add a test for it 2015-10-06 16:47:20 +02:00
Fabien Potencier
2539af63ad minor #16145 [FrameworkBundle] Fix deps=low/high tests (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[FrameworkBundle] Fix deps=low/high tests

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

Commits
-------

26ca3dc [FrameworkBundle] Fix deps=low/high tests
2015-10-06 16:42:38 +02:00
Klaas Cuvelier
e8f0e5afd8 [2.3][SECURITY] Add remember me cookie configuration 2015-10-06 16:28:55 +02:00
Nicolas Grekas
26ca3dc6c2 [FrameworkBundle] Fix deps=low/high tests 2015-10-06 16:14:42 +02:00
Christian Flothmann
48a9e83e4b consistent signature of getDump() in class + trait 2015-10-06 15:57:27 +02:00
maxime.steinhausser
1ed07a09d8 [FrameworkBundle] [Security] Remove trans from the security/core in 2.3 & dir loading 2015-10-06 14:29:32 +02:00
Nicolas Grekas
8d3bf0348e [Console] Fix merge 2015-10-06 10:54:15 +02:00
Nicolas Grekas
209047ea79 Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Component/Process/Process.php
2015-10-06 10:31:51 +02:00
Nicolas Grekas
742547c099 [Security\Core] Fix test failure after sebastianbergmann/phpunit#1821 2015-10-06 09:59:00 +02:00
Nicolas Grekas
ca69fa340c [DI] Warn when a definition relies on a deprecated class in ContainerBuilder::createService() 2015-10-06 09:36:27 +02:00
Nicolas Grekas
7b12fe982b [2.7] Fix docblocks about callables 2015-10-06 09:34:35 +02:00
Fabien Potencier
1f2a51106f minor #16130 Fix docblocks about callables (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

Fix docblocks about callables

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

Commits
-------

a25beb6 Fix docblocks about callables
2015-10-06 08:16:33 +02:00
Nicolas Grekas
02b86b0555 [VarDumper] Move $prev as 1st argument in ThrowingCasterException::__construct, removing $caster 2015-10-06 07:54:52 +02:00
Fabien Potencier
136722c9b0 bug #16123 Command list ordering fix (spdionis, fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

Command list ordering fix

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

Makes sure that global commands are always first.

Commits
-------

2984f8e fixed previous commit
70f2b3e global commands are always first in command list
2015-10-05 22:39:07 +02:00
Nicolas Grekas
a25beb623d Fix docblocks about callables 2015-10-05 19:32:31 +02:00
Fabien Potencier
9c5565f30c minor #16127 [Validator] added Japanese translation (issei-m)
This PR was merged into the 2.8 branch.

Discussion
----------

[Validator] added Japanese translation

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

I'm not sure what most apposite word is, in Japanese.
But I decided to use "SWIFTコード" because Japanese wikipedia says so:
https://ja.wikipedia.org/wiki/ISO_9362
https://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E3%81%AE%E9%87%91%E8%9E%8D%E6%A9%9F%E9%96%A2%E3%81%AESWIFT%E3%82%B3%E3%83%BC%E3%83%89%E4%B8%80%E8%A6%A7

Commits
-------

6b08641 [Validator] added Japanese translation
2015-10-05 17:48:28 +02:00
Fabien Potencier
2984f8ed60 fixed previous commit 2015-10-05 17:47:05 +02:00
Issei.M
6b08641dbf [Validator] added Japanese translation 2015-10-06 00:31:23 +09:00
Nicolas Grekas
06fdf73043 [VarDumper] Add missing getDump in abstract VarDumperTestCase 2015-10-05 17:30:37 +02:00
Fabien Potencier
e7888a18d1 Merge branch '2.7' into 2.8
* 2.7:
  [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1]
  [ci] Use current PHP_BINARY when running ./phpunit
  Fixed typos
  [UPGRADE-3.0] fix bullet indentation
  Fix PropertyAccessor modifying array in object when array key does not exist
  [Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing
2015-10-05 17:19:10 +02:00
Fabien Potencier
d657834bd0 Merge branch '2.3' into 2.7
* 2.3:
  [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1]
  [ci] Use current PHP_BINARY when running ./phpunit
  Fixed typos
  [UPGRADE-3.0] fix bullet indentation
  [Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing
2015-10-05 17:17:54 +02:00
Fabien Potencier
40cf393e47 feature #14908 Include working directory in ProcessFailedException (Rvanlaak)
This PR was merged into the 2.8 branch.

Discussion
----------

Include working directory in ProcessFailedException

... because quite often the Exception is a result of the `www-data` user not having the appropriate rights at that working path. Maybe @schmittjoh can confirm this?

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

Commits
-------

dbaefb4 Include working directory in ProcessFailedException
2015-10-05 16:46:18 +02:00
Fabien Potencier
1c4ea85787 bug #14842 [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1] (MacDada)
This PR was squashed before being merged into the 2.3 branch (closes #14842).

Discussion
----------

[Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1]

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

* test now always pass "secure" and "httponly" options, as they are required
* could be considered BC, but [`RememberMeFactory` passes them](https://github.com/symfony/symfony/blob/2.3/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/RememberMeFactory.php#L21), so they should've always been treated as required
* I can squash the commits before merging
* Alternative solution: #14843

Commits
-------

18b1c6a [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1]
2015-10-05 16:40:32 +02:00
Dawid Nowak
18b1c6a235 [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1] 2015-10-05 16:40:29 +02:00
Fabien Potencier
d3b8176bc3 bug #13627 [Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing (issei-m)
This PR was merged into the 2.3 branch.

Discussion
----------

[Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing

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

When a user has changed own password, I want to logout any sessions which is authenticated by its user except changer itself.

[DaoAuthenticationManager::checkAuthentication()](https://github.com/symfony/symfony/blob/2.3/src/Symfony/Component/Security/Core/Authentication/Provider/DaoAuthenticationProvider.php#L59) method seems to concern about it.

But, this situation actually never happens because both users that will be passed to this method are always identical in re-authentication.
It's because the token refreshes own user via [ContextListener](https://github.com/symfony/symfony/blob/2.3/src/Symfony/Component/Security/Http/Firewall/ContextListener.php#L90) before re-authentication.

Commits
-------

729902a [Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing
2015-10-05 16:30:38 +02:00
spdionis
70f2b3eb8c global commands are always first in command list 2015-10-05 15:59:45 +02:00
Fabien Potencier
2c46204001 Merge branch '2.3' into 2.7
* 2.3:
  Fix PropertyAccessor modifying array in object when array key does not exist
2015-10-05 09:28:51 +02:00
Fabien Potencier
58bf830020 bug #16090 Fix PropertyAccessor modifying array in object when array key does no… (pierredup)
This PR was merged into the 2.3 branch.

Discussion
----------

Fix PropertyAccessor modifying array in object when array key does no…

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

Commits
-------

f24c678 Fix PropertyAccessor modifying array in object when array key does not exist
2015-10-05 09:23:57 +02:00
Fabien Potencier
3567548c14 feature #16102 Simplify AbstractVoter (Koc)
This PR was merged into the 2.8 branch.

Discussion
----------

Simplify AbstractVoter

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no, just simplification
| BC breaks?    | no, because 2.8 is not yet released
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Commits
-------

93de659 Simplify AbstractVoter
2015-10-05 09:15:26 +02:00
Fabien Potencier
9bbab98e39 minor #16109 [DomCrawler] Deprecated using /_root/ in XPath expressions (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[DomCrawler] Deprecated using /_root/ in XPath expressions

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

Commits
-------

6042e86 [DomCrawler] Deprecated using /_root/ in XPath expressions
2015-10-05 09:11:02 +02:00
Tobias Schultze
aa494d8df3 Merge branch '2.7' into 2.8 2015-10-04 17:55:43 +02:00
Tobias Schultze
d1f50c5dee bug #16092 [Process] Throw exception if tempnam returns false (pierredup)
This PR was merged into the 2.7 branch.

Discussion
----------

[Process] Throw exception if tempnam returns false

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

Commits
-------

cc854e6 Throw exception if tempnam returns false
2015-10-04 17:54:32 +02:00
Tobias Schultze
af2768c2d1 bug #16111 Throw exception if tempnam returns false in ProcessPipes (pierredup)
This PR was merged into the 2.3 branch.

Discussion
----------

Throw exception if tempnam returns false in ProcessPipes

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

Related to #16092

Commits
-------

1425b8a Throw exception if tempnam returns false in ProcessPipes
2015-10-04 17:49:48 +02:00
Pierre du Plessis
1425b8adb0 Throw exception if tempnam returns false in ProcessPipes 2015-10-04 17:41:50 +02:00
Nicolas Grekas
6042e86de4 [DomCrawler] Deprecated using /_root/ in XPath expressions 2015-10-04 15:52:56 +02:00
Konstantin.Myakshin
93de659442 Simplify AbstractVoter 2015-10-04 12:08:57 +03:00
Christian Flothmann
bcd3946726 [Form] add missing deprecation triggers
Passing implementations of the pre 2.5 validator API to the constructors
of the `ValidatorExtension` and the `ValidationListener` must trigger a
deprecation.
2015-10-04 09:34:07 +02:00
Pierre du Plessis
cc854e6d23 Throw exception if tempnam returns false 2015-10-03 22:13:32 +02:00
Pierre du Plessis
f24c678027 Fix PropertyAccessor modifying array in object when array key does not exist 2015-10-03 22:00:22 +02:00
Tobias Schultze
cdbabb0baa Merge branch '2.7' into 2.8 2015-10-03 18:42:07 +02:00
Tobias Schultze
8e3a4223a2 Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Component/Form/Extension/HttpFoundation/EventListener/BindRequestListener.php
2015-10-03 18:41:23 +02:00
Fabien Potencier
478ad543b7 feature #15613 [DependencyInjection] Add autowiring capabilities (dunglas)
This PR was squashed before being merged into the 2.8 branch (closes #15613).

Discussion
----------

[DependencyInjection] Add autowiring capabilities

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

This PR adds autowiring capabilities to the Dependency Injection component. It eases service registration by letting the component guessing dependencies to inject and even (under certain conditions) registering them using typehints of the constructor parameters.

The following usages are supported:

# Automatic dependency registration

```php
class Foo
{
}

class Bar
{
    public function __construct(Foo $f)
    {
    }
}
```

```yaml
services:
    bar:
        class: Bar
        autowire: true
```

It will register `Foo` as a private service (`autowired.foo`) and injects it as the first argument of the `bar` constructor.
This method works only for typehints corresponding to instantiable classes (interfaces and abstract classes are not supported).

# Autocompletion of definition arguments

```php
interface A
{
}

interface B extends A
{
}

class Foo implements B
{
}

class Bar
{
}

class Baz extends Bar
{
}

class LesTilleuls
{
    public function __construct(A $a, Bar $bar)
    {
    }
}
```

```yaml
services:
    foo:
        class: Foo

    baz:
        class: Baz

    les_tilleuls:
        class: LesTilleuls
        autowire: true
```

The autowiring system will find types of all services and completes constructor arguments of the `les_tilleuls` service definition using typehints.

It works only if there is one service registered for a given type (if there are several services available for the same type and no explicit type definition, a `RuntimeException` is thrown).

# Explicit type definition

```php
interface A
{
}

class A1 implements A
{
}

class A2 implements A
{
}

class B
{
     public function __construct(A $a)
     {
     }
}
```

```yaml
services:
    a1:
        class: A1
        types: [ A ]

    a2:
        class: A2

    # Will be autowired with A1
    class b:
        class: B
        autowire: true

    # Not autowired
    class another_b:
        class: B
        arguments: [ @a2 ]
        autowire: true
```

When a service is explicitly associated with a type, it is always used to fill a definition depending of this type, even if several services have this type. If several services are associated with the same type, the last definition takes the priority.

Of course explicit definitions are still supported.
YAML, XML and PHP loaders have been updated to supports the new `type` parameter.

Commits
-------

aee5731 [DependencyInjection] Add autowiring capabilities
2015-10-03 08:39:10 +02:00
Kévin Dunglas
aee57315c5 [DependencyInjection] Add autowiring capabilities 2015-10-03 08:39:08 +02:00
Yonel Ceruto González
89499ff9e1 Fixing typo in variable name
This condition is always `true` because `$attributesMetadata` does not exists in this `foreach` context and could overwrite values in the `$attributesMetadata` variable.
2015-10-03 08:19:37 +02:00
Christophe Coevoet
528d3bd153 Add a few additional tests for the Crawler 2015-10-03 01:29:51 +02:00
Tobias Schultze
dd5064578e [Form] remove obsolete deprecation comments 2015-10-03 00:55:12 +02:00
Fabien Potencier
6acd43d45f minor #16085 [Debug] Deprecate providing $fileLinkFormat as second argument (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[Debug] Deprecate providing $fileLinkFormat as second argument

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

Commits
-------

ed3611d [Debug] Deprecate providing $fileLinkFormat as second argument
2015-10-02 19:35:32 +02:00
Nicolas Grekas
ed3611da25 [Debug] Deprecate providing $fileLinkFormat as second argument 2015-10-02 18:37:57 +02:00
Nicolas Grekas
c92809a1fd [Form] minor CS fix 2015-10-02 18:35:24 +02:00
Konstantin Myakshin
68d010aaff Updated PHPDoc of the AbstractVoter class 2015-10-02 18:38:39 +03:00
Fabien Potencier
1805649181 Merge branch '2.7' into 2.8
* 2.7:
  use PHP_OS instead of php_uname('s')
2015-10-02 16:08:20 +02:00
Fabien Potencier
fdce6ac104 Merge branch '2.3' into 2.7
* 2.3:
  use PHP_OS instead of php_uname('s')
2015-10-02 15:59:42 +02:00
Fabien Potencier
1e0adf4c21 feature #14721 [Security] Configuring a user checker per firewall (iltar)
This PR was squashed before being merged into the 2.8 branch (closes #14721).

Discussion
----------

[Security] Configuring a user checker per firewall

_Changed my base branch to avoid issues, closed old PR_

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed ticket | #11090 and helps #14673
| License       | MIT
| Doc PR        | symfony/symfony-docs/pull/5530

This pull request adds support for a configurable user checker per firewall. An example could be:

```yml
services:
    app.user_checker:
        class: App\Security\UserChecker
        arguments:
            - "@request_stack"

security:
    firewalls:
        secured_area:
            pattern: ^/
            anonymous: ~
            basic_auth: ~
            user_checker: app.user_checker

```
The above example will use the `UserChecker` defined as `app.user_checker`. If the `user_checker` option is left empty, `security.user_checker` will  be used. If the `user_checkers` option is not defined, it will fall back to the original behavior to not break backwards compatibility and will validate using the existing `UserChecker`: `security.user_checker`.

I left the default argument in the service definitions to be `security.user_checker` to include backwards compatibility for people who for some reason don't have the extension executed. You can obtain the checker for a specific firewall by appending the firewall name to it. For the firewall `secured_area`, this would be `security.user_checker.secured_area`.

Commits
-------

76bc662 [Security] Configuring a user checker per firewall
2015-10-02 14:49:38 +02:00
Iltar van der Berg
76bc662463 [Security] Configuring a user checker per firewall 2015-10-02 14:49:36 +02:00
Fabien Potencier
8879a5fa9a bug #16053 [Console] use PHP_OS instead of php_uname('s') (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[Console] use PHP_OS instead of php_uname('s')

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

The php_uname() function may be disabled for security reasons.

Commits
-------

40e0dc8 use PHP_OS instead of php_uname('s')
2015-10-02 14:47:06 +02:00
Fabien Potencier
cddc6b9532 minor #16068 [PropertyInfo] Test behavior when an extractor returns null (dunglas)
This PR was merged into the 2.8 branch.

Discussion
----------

[PropertyInfo] Test behavior when an extractor returns null

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

Add a test as suggested by @stof in https://github.com/symfony/symfony/pull/16064#issuecomment-144975004

Commits
-------

73ee226 [PropertyInfo] Test behavior when an extractor return null.
2015-10-02 14:45:01 +02:00
Fabien Potencier
f4a2752f9a Merge branch '2.7' into 2.8
* 2.7:
  [Yaml] Add regression test for comments indents
  Revert "bug #15860 [Yaml] Fix improper comments removal (ogizanagi)"
2015-10-02 14:38:01 +02:00
Fabien Potencier
34c8a7c51c Merge branch '2.3' into 2.7
* 2.3:
  [Yaml] Add regression test for comments indents
  Revert "bug #15860 [Yaml] Fix improper comments removal (ogizanagi)"
2015-10-02 14:36:41 +02:00
maxime.steinhausser
7b9d519b0f [Yaml] Add regression test for comments indents 2015-10-02 14:20:54 +02:00
Christophe Coevoet
e6feed285a Fix the DomCrawler tests 2015-10-02 14:05:56 +02:00
Fabien Potencier
584cfc24a1 feature #16069 [WebProfilerBundle] Move AjaxCollector to HttpKernel for use with Silex (glaubinix, fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

[WebProfilerBundle] Move AjaxCollector to HttpKernel for use with Silex

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

This PR moves the AjaxDataCollector from the FrameworkBundle to the HttpKernel Component where most of the other DataCollectors are. This would allow applications which are not base on symfony/framework-bundle to use the collector. Like for instance applications based on silex or symfony components.

Commits
-------

3841f46 added missing a deprecated notice
c227806 Move AjaxCollector for use without framework bundle
2015-10-02 13:25:03 +02:00
Fabien Potencier
6413fb7743 feature #16063 [VarDumper] Add $this->getDump($var) when using VarDumperTestTrait (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[VarDumper] Add $this->getDump($var) when using VarDumperTestTrait

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

So useful when writing/updating dump fixtures!

Commits
-------

aa1d578 [VarDumper] Add $this->getDump($var) when using VarDumperTestTrait
2015-10-02 12:42:43 +02:00
Fabien Potencier
9e60980f5a feature #16058 Prevent adding non-DOMElement elements in DomCrawler (stof)
This PR was merged into the 2.8 branch.

Discussion
----------

Prevent adding non-DOMElement elements in DomCrawler

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

Many methods of the DomCrawler component are relying on the DOMElement API, not only on the DOMNode API. All the typehints in the Form and Link APIs were already fixed in 2.5 because they are unusable with other kinds of nodes (fatal errors). However, the Crawler itself was not fixed. and this means that a bunch of its APIs can trigger fatal errors when passing other kinds of nodes.

Thus, there is a case where the code was allowing such nodes to be injected in the Crawler for some XPath queries. I fixed it to avoid it, adding the same kind of filtering than in other places.

Commits
-------

9f362a1 Prevent adding non-DOMElement elements in DomCrawler
2015-10-02 12:40:27 +02:00
Fabien Potencier
4af8a5545a feature #16057 Deprecate loading multiple documents in the same crawler (stof)
This PR was merged into the 2.8 branch.

Discussion
----------

Deprecate loading multiple documents in the same crawler

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

Note that loading multiple documents in the same crawler already creates weird things when working with namespaces (the list of mapping of aliases to namespaces is shared between documents, which was flawed).

As said in the issue, this opens the door to optimizations in the future (sharing the DOMXpath instance for instance, including with subcrawler)

Commits
-------

0d1cb3b Deprecate loading multiple documents in the same crawler
2015-10-02 12:39:30 +02:00
Stephan Vock
c2278062b1 Move AjaxCollector for use without framework bundle 2015-10-02 12:20:34 +02:00
Kévin Dunglas
73ee226a1f [PropertyInfo] Test behavior when an extractor return null. 2015-10-02 12:16:37 +02:00
Fabien Potencier
510fdea599 Revert "bug #15860 [Yaml] Fix improper comments removal (ogizanagi)"
This reverts commit 150f52f3aa, reversing
changes made to 74af02a771.
2015-10-02 12:12:23 +02:00
Christophe Coevoet
0d1cb3bd1b Deprecate loading multiple documents in the same crawler 2015-10-02 10:46:05 +02:00
Nicolas Grekas
aa1d578c2c [VarDumper] Add $this->getDump($var) when using VarDumperTestTrait 2015-10-02 10:06:31 +02:00
Christophe Coevoet
9f362a12f6 Prevent adding non-DOMElement elements in DomCrawler
Many methods of the DomCrawler component are relying on the DOMElement
API, not only on the DOMNode API.
2015-10-02 10:01:39 +02:00
Nicolas Grekas
2ff0f97c60 Merge branch '2.7' into 2.8
* 2.7:
  [appveyor] Fix command line
  [Yaml] Fix improper comments removal inside strings
2015-10-02 08:55:39 +02:00
Nicolas Grekas
9b0fa548c1 Merge branch '2.3' into 2.7
* 2.3:
  [appveyor] Fix command line
  [Yaml] Fix improper comments removal inside strings
2015-10-02 08:55:14 +02:00
Fabien Potencier
150f52f3aa bug #15860 [Yaml] Fix improper comments removal (ogizanagi)
This PR was merged into the 2.3 branch.

Discussion
----------

[Yaml] Fix improper comments removal

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

This tries to fix #15857 .

Honestly, I don't have any idea of the regressions it might introduce. Tests are passing, so if this code had any reason to exist, tests covering it are certainly missing :/

Any hint ?

Commits
-------

0e24fc5 [Yaml] Fix improper comments removal inside strings
2015-10-01 23:11:01 +02:00
Fabien Potencier
99745e12a7 feature #15742 Using a service as a router resource (weaverryan)
This PR was squashed before being merged into the 2.8 branch (closes #15742).

Discussion
----------

Using a service as a router resource

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

Hi guys!

This adds the ability to use a service as a routing resource. In other words, instead of loading `routing.yml`, you could load `my_route_loader`, and then a method would be called on your service to return a RouteCollection.

Specifically, I'm interested in this because it would allow a user to point their main router resource to the kernel itself, making it possible to load routes inside the kernel (making a single-file full-stack app more possible).

Thanks!

Commits
-------

79e210f Using a service as a router resource
2015-10-01 22:34:27 +02:00
Ryan Weaver
79e210f86c Using a service as a router resource 2015-10-01 22:34:24 +02:00
Fabien Potencier
54e3d71c03 feature #15778 Fluid interface for building routes in PHP (weaverryan)
This PR was squashed before being merged into the 2.8 branch (closes #15778).

Discussion
----------

Fluid interface for building routes in PHP

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

This - along with #15742 - attempts to making adding routes in PHP (via an actual class+method) not only possible, but also useful.

The two classes - `Route` and `RouteCollectionBuilder` are based off of Silex's `Controller` and `ControllerCollection`. The `RouteCollectionBuilder` is basically a `RouteCollection` that's able to import other resources. Here are the goals:

A) Import routes easily

```php
$routes->import('routing.yml');
```

B) Fluid addition of routes into the collection

```php
$routes->add('/admin', 'AppBundle:Admin:index', 'admin_index')
    ->setMethods(['GET']);
```

C) Ability to create routes with auto-generating names

D) Ability to add a "sub-collection" (kind of like an import, without pointing to another file). Included is the ability to set the controller class:

```php
$blogRoutes = $routes->createBuilder('/blog')
   ->setControllerClass('AppBundle\Controller\BlogController');
$blogRoutes->add('/', 'indexAction');
$blogRoutes->add('/{id}', 'editAction');
$routes->addBuilder($blogRoutes);
```

E) The collection options can be set before or after the routes. With `RouteCollection`, if you set something - e.g. a prefix or a default - and THEN add more routes, those options are not passed to those routes. This is by design, but not ideal for building routes (e.g. in the previous code example, the controllerClass would not be applied using the opposite logic, since it's set before adding the routes).

Thanks!

Commits
-------

15ba2e8 Fluid interface for building routes in PHP
2015-10-01 22:32:51 +02:00
Ryan Weaver
15ba2e87a4 Fluid interface for building routes in PHP 2015-10-01 22:32:48 +02:00
Fabien Potencier
02b99dbed4 minor #16052 [CssSelector] synchronize tests for static and non-static API (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[CssSelector] synchronize tests for static and non-static API

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

Synchronizing the classes ensures that no tests are lost when the legacy
API is removed in #16020 for Symfony 3.0, thus mitigating the risk of
future regressions.

Commits
-------

2b29a40 synchronize tests for static and non-static API
2015-10-01 21:11:23 +02:00
Christian Flothmann
2b29a405be synchronize tests for static and non-static API
Synchronizing the classes ensures that no tests are lost when the legacy
API is removed in #16020 for Symfony 3.0, thus mitigating the risk of
future regressions.
2015-10-01 19:39:35 +02:00
Fabien Potencier
09ff9f851d bug #16051 [DomCrawler] fix deprecation triggers (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[DomCrawler] fix deprecation triggers

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

On HHVM, the SplObjectStorage class performs calls to its method
internally. These method calls must not lead to triggered deprecation
notices.

Commits
-------

aca6bd9 [DomCrawler] fix deprecation triggers
2015-10-01 19:38:01 +02:00
Christian Flothmann
40e0dc8084 use PHP_OS instead of php_uname('s')
The php_uname() function may be disabled for security reasons.
2015-10-01 19:06:54 +02:00
Christian Flothmann
aca6bd9bd6 [DomCrawler] fix deprecation triggers
The SplObjectStorage class performs calls to its own methods. These
method calls must not lead to triggered deprecation notices.
2015-10-01 18:34:33 +02:00
Tobias Schultze
c434bbd5f3 Merge branch '2.7' into 2.8 2015-10-01 17:32:55 +02:00
Tobias Schultze
4b0e4c4ee0 Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Bundle/TwigBundle/Tests/Controller/ExceptionControllerTest.php
2015-10-01 17:31:29 +02:00
Fabien Potencier
a94d7a06d1 minor #15967 [Console] Fix tests for SymfonyStyle (1ed)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Fix tests for SymfonyStyle

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

Commits
-------

7720f5c [Console] Fix tests for SymfonyStyle
2015-10-01 15:25:36 +02:00
Aarón Nieves Fernández
f15d179fbd The 'config' variable is already used as an array expression less... 2015-10-01 15:23:50 +02:00
Fabien Potencier
0b7e1f3e4d [Security] made tests work for 2.8 and 3.0 2015-10-01 08:20:17 +02:00
Fabien Potencier
fdb2073253 bug #16033 [Form] made the tests compatible with 3.0 (fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

[Form] made the tests compatible with 3.0

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

Commits
-------

795da85 [Form] made the tests compatible with 3.0
2015-10-01 07:58:36 +02:00
Fabien Potencier
795da85f9d [Form] made the tests compatible with 3.0 2015-09-30 22:53:32 +02:00
Fabien Potencier
a2914027ee bug #16030 [Security] add dependency required by a replaced package (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[Security] add dependency required by a replaced package

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

Since #16007, the Security HTTP component requires the PropertyAccess
component to access nested parameter bag values. Since the Security
component replaces the Security HTTP component, all dependencies of the
replaced packages must be mirrored here.

Commits
-------

d7034db add dependency required by a replaced package
2015-09-30 22:28:22 +02:00
Fabien Potencier
3b3431e289 feature #15938 [Console] Bind input before executing the COMMAND event (WouterJ)
This PR was merged into the 2.8 branch.

Discussion
----------

[Console] Bind input before executing the COMMAND event

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #10695 (problem 1)
| License       | MIT
| Doc PR        | -

Previously, `$input` wasn't very usefull in the `console.command` event, as the input was not yet bound to the command definition.

With this PR, the input is now bound twice: Once before the event is dispatched (to make it usefull in the listeners) and once at the original location in `Command#run()` (to allow changing the input definition in an event listener).

Commits
-------

0af1676 Bind input before executing the COMMAND event
2015-09-30 22:26:55 +02:00
Christian Flothmann
d7034db6bd add dependency required by a replaced package
Since #16007, the Security HTTP component requires the PropertyAccess
component to access nested parameter bag values. Since the Security
component replaces the Security HTTP component, all dependencies of the
replaced packages must be mirrored here.
2015-09-30 18:57:49 +02:00
Christian Flothmann
3d9a748978 [DomCrawler] always pass base href to subcrawlers
Make sure that all relevant information is passed to created crawlers.
To avoid future regressions, this commit backports the approach taken by
@stof in #15934 to have a single place in the class that is responsible
to create subcrawler instances.
2015-09-30 18:22:59 +02:00
Gábor Egyed
7720f5c70b [Console] Fix tests for SymfonyStyle 2015-09-30 15:35:30 +02:00
WouterJ
0af1676293 Bind input before executing the COMMAND event 2015-09-30 14:44:45 +02:00
Fabien Potencier
5ad49c6821 bug #16013 fixed deprecation notices (fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

fixed deprecation notices

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

3047671 fixed deprecation notices
2015-09-30 14:29:03 +02:00
Fabien Potencier
ac8fd04d44 feature #15838 [VarDumper] Dump PHP+Twig code excerpts in backtraces (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[VarDumper] Dump PHP+Twig code excerpts in backtraces

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

ExceptionCaster::filterTrace() is deprecated and replaced by a more flexible backtrace processing that allows one to register casters for amending/changing dumped backtraces. This is especially useful for dumping source map information/excerpts (like e.g. twig template source).

Here is a comparison generated with this code snippet (see also the expected output in  testThrowingCaster):
```php

namespace Symfony\Component\VarDumper\Caster;

require 'vendor/autoload.php';

function bar()
{
    return foo();
}

function foo()
{
    dump(new \Exception('baz'));
}

bar('aaaaarg');
```

Before:
![before](https://cloud.githubusercontent.com/assets/243674/9976794/88f0259a-5eef-11e5-81a8-3cb9b44cfb00.png)

After:
![after](https://cloud.githubusercontent.com/assets/243674/9976747/6bbac068-5eed-11e5-99dc-a4fd5d3172b5.png)

Commits
-------

89578f1 [VarDumper] Dump PHP+Twig code excerpts in backtraces
2015-09-30 14:12:04 +02:00
Fabien Potencier
3047671fac fixed deprecation notices 2015-09-30 13:38:06 +02:00
Fabien Potencier
5c561d48f8 bug #15593 [Config] Fix ArrayNode extra keys "ignore" and "remove" behaviors (ogizanagi)
This PR was merged into the 2.8 branch.

Discussion
----------

[Config] Fix ArrayNode extra keys "ignore" and "remove" behaviors

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

Due to #14238 , no more exception is thrown when submitting extra keys to an `ArrayNode`.
For instance:

```php
$builder = new TreeBuilder();

$nodeDefinition = $builder->root('root')
    ->children()
        ->scalarNode('foo')
    ->end()
->end();

$node = $nodeDefinition->getNode(true);
$node->normalize(array(
    'foo' => 'ok',
    'bar' => 'ko',
));
```

will not throw a
> Symfony\Component\Config\Definition\Exception\InvalidConfigurationException: Unrecognized option "bar" under "root"`

anymore, as it does in 2.7.

I think the expected behavior is:

`Submitted data: ['bar' => 'ko']`

Ignore | Remove  | Expected | OK | Comment
---------| ------------ | ------------- | ------ | ----------
true    | true          | `[ ]`                   | ✔︎ | Previous behavior when ignoring.
true    | false          | `['bar' => 'ko']` | ✔︎ | This is the result targeted by #14238.
false    | true          | exception    | ✘ | Removing makes no sense when not ignoring extra keys. <br/>The exception should still be thrown.
false    | false          | exception    | ✘ | Previous behavior (2.7). <br/>Should not have changed

Commits
-------

d961f7f [Config] Fix ArrayNode extra keys "ignore" and "remove" behaviors
2015-09-30 13:24:58 +02:00
Fabien Potencier
3d117ffb41 fixed typos 2015-09-30 12:12:58 +02:00
Fabien Potencier
bb4a5116e1 Merge branch '2.7' into 2.8
* 2.7:
  [DependencyInjection] improved a comment for reading fluency
  [HttpKernel] change a class in tests to avoid depending on SQLite
  [Bridge\Twig] Fix form lowest version
  [ci] Display fastest results first when running tests in parallel
  [Yaml] Improve newline handling in folded scalar blocks
2015-09-30 11:15:55 +02:00
Fabien Potencier
f80e6c63d7 Merge branch '2.3' into 2.7
* 2.3:
  [DependencyInjection] improved a comment for reading fluency
  [HttpKernel] change a class in tests to avoid depending on SQLite
  [ci] Display fastest results first when running tests in parallel
  [Yaml] Improve newline handling in folded scalar blocks
2015-09-30 11:14:28 +02:00
Fabien Potencier
8f44cc311b feature #15944 Remove profiler storages (javiereguiluz)
This PR was squashed before being merged into the 2.8 branch (closes #15944).

Discussion
----------

Remove profiler storages

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

Commits
-------

83b2d7c Remove profiler storages
2015-09-30 11:11:34 +02:00
Javier Eguiluz
83b2d7c53b Remove profiler storages 2015-09-30 11:11:05 +02:00
Fabien Potencier
b258949453 feature #16007 [HttpFoundation] deprecate finding deep items in request parameters (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[HttpFoundation] deprecate finding deep items in request parameters

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

This is the same as #14203 but using the PropertyAccess component in the Security HTTP component to query nested request parameters and is rebased on the `2.8` branch.

Commits
-------

47fba88 deprecate finding deep items in request parameters
2015-09-30 11:02:12 +02:00
Christian Flothmann
47fba88123 deprecate finding deep items in request parameters 2015-09-30 09:55:52 +02:00
Fabien Potencier
5e46485b83 minor #16009 [HttpKernel] change a class in tests to avoid depending on SQLite (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpKernel] change a class in tests to avoid depending on SQLite

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

d6a7517 [HttpKernel] change a class in tests to avoid depending on SQLite
2015-09-30 09:50:05 +02:00
Fabien Potencier
8b8b634fdc [CssSelector] updated README 2015-09-30 09:44:53 +02:00
Fabien Potencier
fd3fefbfcb [CssSelector] remove ConverterInterface 2015-09-30 09:43:59 +02:00
Christian Raue
55f3af7602 [DependencyInjection] improved a comment for reading fluency 2015-09-30 09:41:34 +02:00
Fabien Potencier
c0ff4bfbbc bug #15482 [Yaml] Improve newline handling in folded scalar blocks (teohhanhui)
This PR was merged into the 2.3 branch.

Discussion
----------

[Yaml] Improve newline handling in folded scalar blocks

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

Commits
-------

73366d5 [Yaml] Improve newline handling in folded scalar blocks
2015-09-30 08:37:21 +02:00
Fabien Potencier
d6a7517923 [HttpKernel] change a class in tests to avoid depending on SQLite 2015-09-30 08:34:42 +02:00
Fabien Potencier
d8dc8f27fd minor #15993 [ci] Display fastest results first when running tests in parallel (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[ci] Display fastest results first when running tests in parallel

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

Keeping order prevents seeing failures early as they happen. I propose to display tests results asap instead.
Best viewed with: https://github.com/symfony/symfony/pull/15993/files?w=1

Commits
-------

3d6c864 [ci] Display fastest results first when running tests in parallel
2015-09-30 07:57:50 +02:00
Tobias Schultze
00dffe73b8 remove api tags that are new in 2.8 2015-09-29 14:35:00 +02:00
Tobias Schultze
a2a4967167 Merge branch '2.7' into 2.8
Conflicts:
	src/Symfony/Component/Console/Application.php
	src/Symfony/Component/Console/Command/Command.php
	src/Symfony/Component/Console/Formatter/OutputFormatter.php
	src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php
	src/Symfony/Component/Console/Input/Input.php
	src/Symfony/Component/Console/Input/InputArgument.php
	src/Symfony/Component/Console/Input/InputDefinition.php
	src/Symfony/Component/Console/Input/InputOption.php
	src/Symfony/Component/Console/Output/OutputInterface.php
	src/Symfony/Component/Console/Output/StreamOutput.php
	src/Symfony/Component/CssSelector/CssSelector.php
	src/Symfony/Component/DependencyInjection/Container.php
	src/Symfony/Component/DependencyInjection/ContainerBuilder.php
	src/Symfony/Component/DependencyInjection/ContainerInterface.php
	src/Symfony/Component/DependencyInjection/Definition.php
	src/Symfony/Component/DependencyInjection/Scope.php
	src/Symfony/Component/DependencyInjection/ScopeInterface.php
	src/Symfony/Component/Validator/Constraints/Currency.php
	src/Symfony/Component/Validator/Constraints/CurrencyValidator.php
2015-09-29 14:32:55 +02:00
Tobias Schultze
3146062fb7 fix merge 2015-09-29 14:13:09 +02:00
Tobias Schultze
331019e87b remove api tags that are new in 2.7 2015-09-29 14:08:33 +02:00
Tobias Schultze
8573385a83 Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php
	src/Symfony/Component/ClassLoader/DebugClassLoader.php
	src/Symfony/Component/ClassLoader/UniversalClassLoader.php
	src/Symfony/Component/Console/Command/Command.php
	src/Symfony/Component/DependencyInjection/Definition.php
	src/Symfony/Component/DependencyInjection/DefinitionDecorator.php
	src/Symfony/Component/EventDispatcher/Event.php
	src/Symfony/Component/Filesystem/Exception/IOException.php
	src/Symfony/Component/HttpFoundation/File/File.php
	src/Symfony/Component/HttpFoundation/ResponseHeaderBag.php
	src/Symfony/Component/HttpFoundation/Session/SessionInterface.php
	src/Symfony/Component/HttpFoundation/StreamedResponse.php
	src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php
	src/Symfony/Component/HttpKernel/Controller/ControllerResolverInterface.php
	src/Symfony/Component/HttpKernel/HttpKernel.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/HttpKernel/KernelInterface.php
	src/Symfony/Component/HttpKernel/Log/LoggerInterface.php
	src/Symfony/Component/HttpKernel/Log/NullLogger.php
	src/Symfony/Component/Process/Process.php
	src/Symfony/Component/Routing/RequestContext.php
	src/Symfony/Component/Routing/Route.php
	src/Symfony/Component/Templating/EngineInterface.php
	src/Symfony/Component/Templating/PhpEngine.php
	src/Symfony/Component/Templating/TemplateNameParser.php
	src/Symfony/Component/Templating/TemplateReference.php
	src/Symfony/Component/Templating/TemplateReferenceInterface.php
	src/Symfony/Component/Translation/IdentityTranslator.php
	src/Symfony/Component/Translation/Translator.php
	src/Symfony/Component/Validator/ConstraintViolationInterface.php
	src/Symfony/Component/Validator/Constraints/False.php
	src/Symfony/Component/Validator/Constraints/FalseValidator.php
	src/Symfony/Component/Validator/Constraints/GroupSequence.php
	src/Symfony/Component/Validator/Constraints/Image.php
	src/Symfony/Component/Validator/Constraints/Null.php
	src/Symfony/Component/Validator/Constraints/NullValidator.php
	src/Symfony/Component/Validator/Constraints/True.php
	src/Symfony/Component/Validator/Constraints/TrueValidator.php
	src/Symfony/Component/Validator/ExecutionContextInterface.php
	src/Symfony/Component/Validator/ValidatorInterface.php
2015-09-29 14:06:14 +02:00
Tobias Schultze
e1ede46b7d minor #15979 remove api tags from code (Tobion)
This PR was merged into the 2.3 branch.

Discussion
----------

remove api tags from code

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

Commits
-------

f1c7c65 remove api tags from code
2015-09-29 13:19:55 +02:00
Nicolas Grekas
525e63d68c [Form] Fix merge 2015-09-29 11:59:39 +02:00
Nicolas Grekas
3d6c86496e [ci] Display fastest results first when running tests in parallel 2015-09-29 11:43:32 +02:00
Nicolas Grekas
89578f15c5 [VarDumper] Dump PHP+Twig code excerpts in backtraces 2015-09-29 08:51:06 +02:00
Fabien Potencier
e256593be3 minor #15984 [Ldap] add some missing license file headers (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[Ldap] add some missing license file headers

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

Commits
-------

2b90fcf [Ldap] add some missing license file headers
2015-09-28 23:21:28 +02:00
Fabien Potencier
5322cbbca8 feature #15964 Symfony Console Style tweaks (javiereguiluz)
This PR was squashed before being merged into the 2.8 branch (closes #15964).

Discussion
----------

Symfony Console Style tweaks

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

This PR will contain some minor tweaks found while updating all the Symfony commands. Don't merge yet. Thanks!

Commits
-------

64e7b6f Symfony Console Style tweaks
2015-09-28 23:11:06 +02:00
Javier Eguiluz
64e7b6f7af Symfony Console Style tweaks 2015-09-28 23:11:03 +02:00
Christian Flothmann
2b90fcfcbf [Ldap] add some missing license file headers 2015-09-28 23:09:00 +02:00
Jáchym Toušek
2993b0092e [Form] Guess currency field based on validator constraint 2015-09-28 22:37:19 +02:00
Fabien Potencier
47d001e821 feature #15934 Add a non-static API for the CssSelector component (stof)
This PR was merged into the 2.8 branch.

Discussion
----------

Add a non-static API for the CssSelector component

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

This implements a non-static API for the CssSelector component.

I decided to keep the static API too, as it is convenient when you just need a one-shot conversion (if you need lots of conversions, keeping a reference to the Converter and all its internal object graph may be faster than releasing it all the time and rebuilding it).
I deprecated the global state to choose between HTML and XML conversion. The static API would always enable the HTML extension in 3.0. Dealing with XML would be done by using the Converter class.

A second commit also tags all internal classes of the component as ``@internal``, as there is really no reason for a user to deal with them (btw, we already considered them fully internal in the past, as we broke BC on them in a patch release to fix memory performance of the component in the past).

TODOs:

- [x] Validate whether we keep the static facade to the component
- [ ] send a PR on the documentation to document this new API.
- [x]  handle usage of the deprecated API in the DomCrawler testsuite

The DomCrawler component does not use the new API yet. I will do it in a separate PR, as distinguishing between HTML and XML modes for a crawler will be easier once I deprecate the possibility to load multiple documents (which I will do tomorrow).

Commits
-------

9e51279 [CssSelector] Tag all internal classes as internal ones
f4563c3 Add a non-static API for the CssSelector component
2015-09-28 22:26:21 +02:00
Fabien Potencier
3ebe46684a minor #15974 [Security] fix tests for the AbstractVoter class (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[Security] fix tests for the `AbstractVoter` class

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

* The `LegacyAbstractVoterTest` class is not needed anymore, tests have
  been moved to the `AbstractVoterTest` class tagging them with the
  legacy group.
* Tests are applied on `stdClass` object instances. Thus, the legacy
  voter fixture class must not support `AbstractVoterTest_Object`
  instances, but support `stdClass` objects instead.
* Remove a test that checked for a `BadMethodCallException` being
  thrown. This seems to have been added accidentally in #15961.

Commits
-------

9fe3b76 fix tests for the `AbstractVoter` class
2015-09-28 21:48:24 +02:00
Christian Flothmann
cdf1f00ed1 [Console] do not make the getHelp() method smart 2015-09-28 20:36:38 +02:00
Tobias Schultze
f1c7c657a7 remove api tags from code 2015-09-28 19:11:22 +02:00
Fabien Potencier
8b8e7bb281 feature #15963 added logging of unused tags (Marmelatze, fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

added logging of unused tags

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

This is the same as #11744 but with some minor tweaks and some unit tests for the compiler pass.

Commits
-------

95c9f50 added some tests
d3271e1 missing tags in whitelist
f51fe4a [FrameworkBundle] [DependencyInjection] added logging of unused tags during container compilation
2015-09-28 18:44:32 +02:00
Fabien Potencier
95c9f500e9 added some tests 2015-09-28 18:42:41 +02:00
Christian Flothmann
9fe3b7697b fix tests for the AbstractVoter class
* The `LegacyAbstractVoterTest` class is not needed anymore, tests have
  been moved to the `AbstractVoterTest` class tagging them with the
  legacy group.
* Tests are applied on `stdClass` object instances. Thus, the legacy
  voter fixture class must not support `AbstractVoterTest_Object`
  instances, but support `stdClass` objects instead.
2015-09-28 18:17:14 +02:00
Christophe Coevoet
9e51279b7f [CssSelector] Tag all internal classes as internal ones
All these classes are meant to be considered as an implementation
detail. A normal usage of the component does not require to deal with
them at all.
2015-09-28 16:03:26 +02:00
Christophe Coevoet
f4563c39ce Add a non-static API for the CssSelector component 2015-09-28 16:03:26 +02:00
Tobias Schultze
03a63dbc14 [PropertyAccess] fix cs 2015-09-28 14:41:55 +02:00
Fabien Potencier
7d7e07fefa feature #14602 [2.8] [Ldap] Added support for LDAP (New Component + integration in the Security Component). (csarrazi, lyrixx)
This PR was merged into the 2.8 branch.

Discussion
----------

[2.8] [Ldap] Added support for LDAP (New Component + integration in the Security Component).

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

Current state:

- [x] Implement logic
- [x] Post-review tuning and stabilization
- [x] Fix tests

This PR is a follow-up to #5189, which was in a stand-still for a few years now. It tries to fix the remaining issues which were mentioned in the discussion.

There are still a few issues with the PR, as it is. For example, it introduces two new firewall factories, whereas the base factories (`form_login` and `http_basic`) could simply introduce new configuration options.

Also, for a user to use an LDAP server as an authentication provider, he first needs to define a service which should be an instance of `Symfony\Component\Security\Ldap\Ldap`.

For example:

```yml
services:
    my_ldap:
        class: Symfony\Component\Security\Ldap\Ldap
        arguments: [ "ldap.mydomain.tld" ]
```

Then, in `security.yml`, this service can be used in both the user provider and the firewalls:

```yml
security:
    encoders:
        Symfony\Component\Security\Core\User\User: plaintext

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]

    providers:
        ldap_users:
            ldap:
                service: my_ldap
                base_dn: dc=MyDomain,dc=tld
                search_dn: CN=My User,OU=Users,DC=MyDomain,DC=tld
                search_password: p455w0rd
                filter: (sAMAccountName={username})
                default_roles: ROLE_USER

    firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false
        demo_login:
            pattern:  ^/login$
            security: false
        api:
            provider: ldap_users
            stateless: true
            pattern:    ^/api
            http_basic_ldap:
                service: my_ldap
                dn_string: "{username}@MYDOMAIN"
        demo_secured_area:
            provider: ldap_users
            pattern:    ^/
            logout:
                path:   logout
                target: login
            form_login_ldap:
                service: my_ldap
                dn_string: CN={username},OU=Users,DC=MyDomain,DC=tld
                check_path: login_check
                login_path: login
```

Commits
-------

60b9f2e Implemented LDAP authentication and LDAP user provider
1c964b9 Introducing the LDAP component
2015-09-28 13:32:19 +02:00
Fabien Potencier
779d6dc7f4 feature #15962 [Finder] simplified code (fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

[Finder] simplified code

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

Commits
-------

4fa3eaf [Finder] simplified code
2015-09-28 13:14:02 +02:00
Grégoire Pineau
60b9f2e7ec Implemented LDAP authentication and LDAP user provider 2015-09-28 13:12:05 +02:00
Charles Sarrazin
1c964b993f Introducing the LDAP component 2015-09-28 13:11:59 +02:00
Fabien Potencier
4fa3eaf0c2 [Finder] simplified code 2015-09-28 12:21:41 +02:00
Florian Pfitzer
f51fe4ac41 [FrameworkBundle] [DependencyInjection] added logging of unused tags during container compilation 2015-09-28 12:07:01 +02:00
Fabien Potencier
3765d8a01d bug #15799 [HttpFoundation] NativeSessionStorage regenerate method wrongly sets storage as started (iambrosi)
This PR was squashed before being merged into the 2.3 branch (closes #15799).

Discussion
----------

[HttpFoundation] NativeSessionStorage `regenerate` method wrongly sets storage as started

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

This PR fixes an error when regenerating session IDs for non-active sessions.
Right now, the session is flagged as _started_, no matter if the session ID was successfully regenerated or not, making the storage [unable to _start the session_](6393ec3169/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php (L130-L132)) later on.

This also fixes a future error with PHP 7, which throws an error if a regeneration is attempted for non-active sessions.

```
session_regenerate_id(): Cannot regenerate session id - session is not active
```

Commits
-------

8e6ef9c [HttpFoundation] NativeSessionStorage  method wrongly sets storage as started
2015-09-28 11:26:18 +02:00
Ismael Ambrosi
8e6ef9cb56 [HttpFoundation] NativeSessionStorage method wrongly sets storage as started 2015-09-28 11:26:16 +02:00
Fabien Potencier
8990968b01 minor #15434 [property-access] Improvement for Accessing Reference Chain (zerustech)
This PR was merged into the 2.7 branch.

Discussion
----------

[property-access] Improvement for Accessing Reference Chain

Improve performance for the following scenarios:

- Example 1:
```php
$a = array(
    'a' => array(
        'b' => array(
            'c' => 'old-value'
        )
    )
);
$pa->setValue($a, '[a][b][c]', 'new-value');
// The PropertyAccessor will try to set values for
// $a['a']['b']['c'], $a['a']['b'] and $a['a'],
// but in fact it may terminate the loop
// right after the value of $a[a][b][c] is set,
// because $a, $[a], $[a][b] and $[a][b][c]
// are all passed as reference - the reference chain is not broken.
```

- Example 2
```php
$b = array(
    'a' => array(
        'b' => array(
            'c' => 'old-value'
        )
    )
)

$a = new Foo($b);
// In this example, the reference chain of $b is broken,
// because it's passed to $a.value as value
// But its elements are all passed as reference,
// so after setting the value for $b[a][b][c], there is no need
// to set value for $b[a][b] and $b[a]

$pa->setValue($a, 'value[a][b][c]', 'new-value');
```

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

e24a798 [property-access] Improvement for Accessing Reference Chain
2015-09-28 11:21:52 +02:00
MatTheCat
ed9c6103f8 [Twig][Bridge] force space between widget and label in checkbox_radio_label 2015-09-28 11:09:38 +02:00
Julia
5423ba0974 Updated default German IBAN validation message
IBAN is an acronym. The term 'IBAN-Kontonummer' is redundant, since the 'AN' part (Account Number) already translates to 'Kontonummer'. It's like saying 'International Bank Account Number Account Number'.
2015-09-28 10:52:29 +02:00
lashae
f99f40eb65 Fixed incorrect and inconsistent translations
"Fiş" is a correct translation for "token", however "bilet" is also used, I fixed that inconsistency. Moreover, "kimlik bilgileri" is a better translation for "credentials" than "girdiler". "Girdiler" is the translation of "inputs", so I fixed sentences with "credentials". "Hesap engellenmiş" is better than "Hesap devre dışı bırakılmış" for "Account is disabled.". "Digest nonce has expired" can be translated better as "Derleme zaman aşımına uğradı." because "Derleme zaman aşımı gerçekleşti" has a confirmation sense like user requested it to expire and it has expired.

References:

token: http://tureng.com/search/token (3rd entry)
credentials: http://www2.zargan.com/tr/q/credentials-ceviri-nedir (1st entry)
disable: http://tureng.com/search/disable (15th entry)
2015-09-28 10:50:45 +02:00
Wouter J
20c90f5891 Fix tests in 2.8 2015-09-28 10:20:11 +02:00
Joseph Bielawski
7a88c37743 [Validator] Sync polish translation file 2015-09-28 09:59:13 +02:00
Brayden Williams
95417f6ddd Make Proper English 2015-09-28 09:26:52 +02:00
Fabien Potencier
156368fa43 feature #15882 Easier Custom Authentication errors (weaverryan)
This PR was merged into the 2.8 branch.

Discussion
----------

Easier Custom Authentication errors

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

This makes failing authentication with a custom message much easier:

```php
throw CustomAuthenticationException::createWithSafeMessage(
    'That was a ridiculous username'
);

// or
$e = new CustomAuthenticationException();
$e->setSafeMessage('That was a ridiculous username');

throw $e;
```

Currently, to do this, you'd need to create a new sub-class of `AuthenticationException`, which is way more work than it needs to be. The original design was so that all messages exposed are safe, which is why I've named the methods like I have.

Thanks!

Commits
-------

d7c1463 Adding a class to make it easier to set custom authentication error messages
2015-09-28 09:00:41 +02:00
Fabien Potencier
4021353591 Merge branch '2.7' into 2.8
* 2.7:
  Readd the correct tests
2015-09-28 08:58:50 +02:00
Fabien Potencier
df7a89f171 minor #15942 [Security] Improve AbstractVoter tests (WouterJ)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] Improve AbstractVoter tests

Applying the improved tests from https://github.com/symfony/symfony/pull/15932 into the oldest possible branch.

Merge conflicts from 2.7 into 2.8 caused by this PR do not need to be done carefully, I'll create a new PR for 2.8 updating the tests as soon as these changes are merged up.

| Q             | A
| ------------- | ---
| Fixed tickets | -
| License       | MIT

Commits
-------

5ff741d Readd the correct tests
2015-09-28 08:54:42 +02:00
Fabien Potencier
3a665af934 Merge branch '2.7' into 2.8
* 2.7:
  [Security] fixed composer.json
2015-09-28 08:51:00 +02:00
Fabien Potencier
8a1f0a0501 [Security] fixed composer.json 2015-09-28 08:50:50 +02:00
Ryan Weaver
d7c14632f7 Adding a class to make it easier to set custom authentication error messages 2015-09-27 16:39:53 -04:00
Fabien Potencier
4b942741e5 minor #15940 [Console] don't rely on internal sort implementation om test (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[Console] don't rely on internal sort implementation om test

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

PHP does not guarantuee how array elements with the same value will be
sorted when applying `asort()`. Since all namespaces used in the test
produce the same Levenshtein value, we should only check for presence of
these namespaces instead of comparing the exact order.

Commits
-------

3011fa0 don't rely on internal sort implementation in test
2015-09-27 16:47:35 +02:00
Wouter J
5ff741de8a Readd the correct tests 2015-09-27 16:25:18 +02:00
Christian Flothmann
3011fa0ea9 don't rely on internal sort implementation in test
PHP does not guarantuee how array elements with the same value will be
sorted when applying `asort()`. Since all namespaces used in the test
produce the same Levenshtein value, we should only check for presence of
these namespaces instead of comparing the exact order.
2015-09-27 15:45:05 +02:00
Fabien Potencier
7f829b8d55 bug #15533 [Console] Fix input validation when required arguments are missing (jakzal)
This PR was merged into the 2.3 branch.

Discussion
----------

[Console] Fix input validation when required arguments are missing

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

The rule that was here in place previously only works when arguments are passed from command line, as in command line there is no way of skipping an argument. The rule does not work for arguments set on the Input after a command is run.

Commits
-------

4982b02 [Console] Add the command name to input arguments if it's missing
f12a4c1 [Console] Fix input validation when required arguments are missing
2015-09-27 15:31:56 +02:00
Christophe Coevoet
997c650c1c Deprecate methods inherited from SplObjectStorage 2015-09-27 15:06:19 +02:00
ogizanagi
d961f7f344 [Config] Fix ArrayNode extra keys "ignore" and "remove" behaviors 2015-09-27 12:15:37 +02:00
Fabien Potencier
58ed0762e9 Merge branch '2.7' into 2.8
* 2.7:
  Detect Mintty for color support on Windows
  Detect Mintty for color support on Windows
  Add a group for tests of the finder against the FTP server
  Fix license headers
  Forbid serializing a Crawler
  Fix phpdoc block of NativeSessionStorage class
  Added exception when setAutoInitialize is called when locked
  [FrameworkBundle] Advanced search templates of bundles
  [Security] Allow user providers to be defined in many files
  Use random_bytes function if it is available for random number generation
2015-09-27 12:09:46 +02:00
Christophe Coevoet
ea2bd2a0a2 Detect Mintty for color support on Windows
Mintty is now the default terminal in GitBash, and it supports ANSI
colors without the need of ANSICON (it even supports 256 colors rather
than the 16 colors supported by ANSICON).
2015-09-27 12:08:51 +02:00
Fabien Potencier
3ba54c1c31 Merge branch '2.3' into 2.7
* 2.3:
  Detect Mintty for color support on Windows
  Add a group for tests of the finder against the FTP server
  Fix license headers
  Forbid serializing a Crawler
  Fix phpdoc block of NativeSessionStorage class
  Added exception when setAutoInitialize is called when locked
  [FrameworkBundle] Advanced search templates of bundles
  [Security] Allow user providers to be defined in many files
  Use random_bytes function if it is available for random number generation
2015-09-27 12:08:38 +02:00
Christophe Coevoet
12743d1035 Detect Mintty for color support on Windows
Mintty is now the default terminal in GitBash, and it supports ANSI
colors without the need of ANSICON (it even supports 256 colors rather
than the 16 colors supported by ANSICON).
2015-09-27 11:58:50 +02:00
Fabien Potencier
06c14a2653 bug #15925 Updating behavior to not continue after an authenticator has set the response (weaverryan)
This PR was merged into the 2.8 branch.

Discussion
----------

Updating behavior to not continue after an authenticator has set the response

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

This mirrors the behavior in core: *if* a listener sets a response (on success or failure),
then the other listeners are not called. But if a response is *not* set
(which is sometimes the case for success, like in BasicAuthenticationListener),
then the other listeners are called, and can even fail.

It's all a bit of an edge-case, as only one authenticator (like authentication listener) would normally be doing any work on a request, but I think matching the other listeners (since I'm not aware of anyone having issues with its behavior) is best.

Commits
-------

5fa2684 Making all "debug" messages use the debug router
f403444 Updating behavior to not continue after an authenticator has set the response
2015-09-27 11:53:56 +02:00
Fabien Potencier
8df5d94158 minor #15924 Add a group for tests of the finder against the FTP server (stof)
This PR was merged into the 2.3 branch.

Discussion
----------

Add a group for tests of the finder against the FTP server

This allows to skip them easily when running the testsuite, as they represent a significant part of the testsuite time. These 2 tests together represent 42% of the execution time of the testsuite (all the time being spent connecting to the FTP server).

I also remove the usage of the data provider as a data provider with a single dataset (and used only partially) only makes tests harder to read. and does not save any duplication.

Commits
-------

51147e3 Add a group for tests of the finder against the FTP server
2015-09-27 11:50:37 +02:00
Fabien Potencier
1e65f7189f bug #15921 Abstract voter tweaks (weaverryan)
This PR was merged into the 2.8 branch.

Discussion
----------

Abstract voter tweaks

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

Based on suggestions from stof in #15870, this simplifies the BC and deprecation throwing code. This also adds a BadMethodCallException in case the user doesn't override `isGranted` *or* `voteOnAttribute`, because that's just plain wrong (as is calling `isGranted()` on the parent class directly, since that was formerly abstract).

Commits
-------

c03f5c2 Massively simplifying the BC and deprecated-throwing code thanks to suggestions by stof in #15870
2015-09-27 11:19:34 +02:00
Fabien Potencier
709cc13887 bug #15927 Making GuardTokenInterface extend TokenInterface (weaverryan)
This PR was merged into the 2.8 branch.

Discussion
----------

Making GuardTokenInterface extend TokenInterface

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

See #15884

Commits
-------

7f04fbb Making GuardTokenInterface extend TokenInterface
2015-09-27 11:18:08 +02:00
Fabien Potencier
9ec98c2a2c minor #15901 [Validator] Add Hungarian translation for the BIC constraint (1ed)
This PR was merged into the 2.8 branch.

Discussion
----------

[Validator] Add Hungarian translation for the BIC constraint

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

Commits
-------

f26425b [Validator] Add Hungarian translation for the BIC constraint
2015-09-27 11:10:04 +02:00
Fabien Potencier
9cf4ab74d3 minor #15920 Guard minor tweaks (weaverryan)
This PR was merged into the 2.8 branch.

Discussion
----------

Guard minor tweaks

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

Various completely minor things, most from suggestions on #14673

Commits
-------

869d5a7 tweaking message related to configuration edge case that we want to be helpful with
da4758a Minor tweaks - lowering the required security-http requirement and nulling out a test field
2015-09-27 10:55:21 +02:00
Fabien Potencier
92a9e22b48 bug #15906 Forbid serializing a Crawler (stof)
This PR was merged into the 2.3 branch.

Discussion
----------

Forbid serializing a Crawler

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

Unserializing a Crawler instance creates DOM elements in an invalid state, making the Crawler unusable.
While working on #15849, I figured out that DomCrawler actually inherits ``Serializable`` from its ``SplObjectStorage`` parent, and so I tried to serialize and unserialize one. The answer is that it does not work. This is what happens when trying to call ``parents`` on it for instance:

```
Symfony\Component\DomCrawler\Crawler::parents(): Invalid State Error
```

Commits
-------

12733cb Forbid serializing a Crawler
2015-09-27 10:54:00 +02:00
Fabien Potencier
936e1b3ac2 minor #15912 Allow serializer 3.0 in the PropertyInfo component (stof)
This PR was merged into the 2.8 branch.

Discussion
----------

Allow serializer 3.0 in the PropertyInfo component

| 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

This makes the component consistent with other components.

Commits
-------

0d72411 Allow serializer 3.0 in the PropertyInfo component
2015-09-27 10:49:22 +02:00
Fabien Potencier
15326ad1af minor #15910 Add the replace rules for the security-guard component (stof)
This PR was merged into the 2.8 branch.

Discussion
----------

Add the replace rules for the security-guard component

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

The update of composer replacements was forgotten in #14673

Commits
-------

5ef8abc Add the replace rules for the security-guard component
2015-09-27 10:47:35 +02:00
Tobias Schultze
3909460c04 feature #15301 [Form][Type Date/Time] added choice_translation_domain option. (aitboudad)
This PR was squashed before being merged into the 2.8 branch (closes #15301).

Discussion
----------

[Form][Type Date/Time] added choice_translation_domain option.

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

- [x] add test

Commits
-------

1f3af26 [Form][Type Date/Time] added choice_translation_domain option.
2015-09-27 01:13:22 +02:00
Abdellatif Ait boudad
1f3af26e5c [Form][Type Date/Time] added choice_translation_domain option. 2015-09-27 01:13:15 +02:00
Ryan Weaver
c03f5c2ad4 Massively simplifying the BC and deprecated-throwing code thanks to suggestions by stof in #15870 2015-09-26 17:07:41 -04:00
Christophe Coevoet
e610b416c9 Merge branch '2.7' into 2.8
* 2.7:
  Fix license headers
  Ensure the ClockMock is loaded before using it in the testsuite
  Fix with_minutes option in time widget
  Fixed properties not explicitily declared
2015-09-26 21:48:07 +02:00
Christophe Coevoet
05fc646142 minor #15913 Ensure the ClockMock is loaded before using it in the testsuite (stof)
This PR was merged into the 2.7 branch.

Discussion
----------

Ensure the ClockMock is loaded before using it in the testsuite

| 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

The ``ProgressBarTest`` is passing in 2.7 and 2.8 on Travis only because the ``LegacyProgressHelperTest`` is running first, and so the clock mock is loaded. It would not pass when running it standalone. And the testsuite is currently broken in the master branch because LegacyProgressHelperTest is gone there, and so the clock mock was not loaded before the test.

Commits
-------

0e5aa0e Ensure the ClockMock is loaded before using it in the testsuite
2015-09-26 21:30:33 +02:00
Christophe Coevoet
a31dfa6f4b minor #15923 Fix legacy security tests (stof)
This PR was merged into the 2.8 branch.

Discussion
----------

Fix legacy security tests

| 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

when merging legacy test classes together in #15893, use statements where not copied, making the tests fail.

Commits
-------

8b615bb Fix legacy security tests
2015-09-26 21:22:35 +02:00
Ryan Weaver
5fa2684273 Making all "debug" messages use the debug router
Only the "auth success" and "auth failed" messages remain at info. That's
consistent with AbstractAuthenticationListener
2015-09-26 14:16:48 -04:00
Ryan Weaver
7f04fbb078 Making GuardTokenInterface extend TokenInterface
This makes some of our type-hints more honest: i.e. where we look for a GuardTokenInterface,
but really also expect it to implement TokenInterface.
2015-09-26 14:10:49 -04:00
Ryan Weaver
f403444cc0 Updating behavior to not continue after an authenticator has set the response
This mirrors the behavior in core: *if* a listener sets a response (on success or failure),
then the other listeners are not called. But if a response is *not* set
(which is sometimes the case for success, like in BasicAuthenticationListener),
then the other listeners are called, and can even fail.
2015-09-26 12:34:14 -04:00
Christophe Coevoet
51147e3aff Add a group for tests of the finder against the FTP server
This allows to skip them easily when running the testsuite, as they
represent a significant part of the testsuite time.
2015-09-26 17:47:39 +02:00
WouterJ
69e80beaa0 Fix trigger_error calls 2015-09-26 17:42:54 +02:00
Christophe Coevoet
8b615bb4b4 Fix legacy security tests 2015-09-26 17:38:37 +02:00
Ryan Weaver
da4758a2af Minor tweaks - lowering the required security-http requirement and nulling out a test field 2015-09-26 10:16:59 -04:00
Gábor Egyed
1701708c48 Fix license headers 2015-09-26 14:22:32 +02:00
Gábor Egyed
db8239ffab Fix license headers 2015-09-26 14:15:17 +02:00
Gábor Egyed
b03bcb34ec Fix license headers 2015-09-26 13:59:49 +02:00
Christophe Coevoet
0e5aa0eebf Ensure the ClockMock is loaded before using it in the testsuite 2015-09-26 13:03:21 +02:00
Christophe Coevoet
0d72411017 Allow serializer 3.0 in the PropertyInfo component
This makes the component consistent with other components.
2015-09-26 12:59:51 +02:00
Christophe Coevoet
5ef8abc916 Add the replace rules for the security-guard component 2015-09-26 12:41:38 +02:00
Christophe Coevoet
12733cba00 Forbid serializing a Crawler
Unserializing a Crawler instance creates DOM elements in an invalid
state, making the Crawler unusable.
2015-09-26 12:01:36 +02:00
Gábor Egyed
f26425bd91 [Validator] Add Hungarian translation for the BIC constraint 2015-09-26 11:13:29 +02:00
Diego Campoy
f181ea89e3 Fix phpdoc block of NativeSessionStorage class 2015-09-26 10:28:37 +02:00
Joshua Thijssen
c269d6feda Added exception when setAutoInitialize is called when locked 2015-09-26 10:25:00 +02:00
Gintautas Miselis
b47560773e [BrowserKit] Added isFollowingRedirects and getMaxRedirects methods 2015-09-26 10:21:42 +02:00
Fabien Potencier
4fcf136079 feature #15719 Deprecate ResourceInterface::getResource() (mpdude)
This PR was merged into the 2.8 branch.

Discussion
----------

Deprecate ResourceInterface::getResource()

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

The return value of this method does not make sense if you do not exactly know about the type of resource at hand. For example, it may be [an array](b49fa129bd/src/Symfony/Component/HttpKernel/Config/EnvParametersResource.php (L57)) or a [file path](87800ae47e/src/Symfony/Component/Config/Resource/FileResource.php (L51)).

As all usages of getResource() within Symfony are in tests of particular Resource implementations anyway, deprecating and later removing this method helps us with simplifying the ResourceInterface (https://github.com/symfony/symfony/issues/7176).

Commits
-------

87c0c7d Deprecate ResourceInterface::getResource()
2015-09-26 10:19:26 +02:00
Fabien Potencier
61550dc564 minor #15765 Fixed properties not explicitily declared (deguif)
This PR was merged into the 2.7 branch.

Discussion
----------

Fixed properties not explicitily declared

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

Commits
-------

d2b3fe4 Fixed properties not explicitily declared
2015-09-26 10:14:04 +02:00
Fabien Potencier
59ee12c234 feature #15858 [PropertyInfo] Import the component (dunglas)
This PR was squashed before being merged into the 2.8 branch (closes #15858).

Discussion
----------

[PropertyInfo] Import the component

| Q             | A
| ------------- | ---
| 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#5717

As discussed with @fabpot (see #14844), this PR moves [dunglas/php-property-info](https://github.com/dunglas/php-property-info) under the Symfony umbrella.

Rationale behind this new component (extracted from README.md):

PHP doesn't support explicit type definition. This is annoying, especially when doing meta programming.
Various libraries including but not limited to Doctrine ORM and the Symfony Validator provide their own type managing
system.
This library extracts various information including the type and documentation from PHP class property from metadata of popular sources:

* Setter method with type hint
* PHPDoc DocBlock
* Doctrine ORM mapping (annotation, XML, YML or custom format)
* PHP 7 scalar typehint and return type
* Serializer metadata

**Usage:**

```php
<?php

// Use Composer autoload
require 'vendor/autoload.php';

use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\Id;
use Symfony\Component\PropertyInfo\Extractors\DoctrineExtractor;
use Symfony\Component\PropertyInfo\Extractors\PhpDocExtractor;
use Symfony\Component\PropertyInfo\Extractors\ReflectionExtractor;
use Symfony\Component\PropertyInfo\PropertyInfo;

/**
 * @Entity
 */
class MyTestClass
{
    /**
     * @Id
     * @Column(type="integer")
     */
    public $id;
    /**
     * This is a date (short description).
     *
     * With a long description.
     *
     * @var \DateTime
     */
    public $foo;
    private $bar;

    public function setBar(\SplFileInfo $bar)
    {
        $this->bar = $bar;
    }
}

// Doctrine initialization (necessary only to use the Doctrine Extractor)
$config = Setup::createAnnotationMetadataConfiguration([__DIR__], true);
$entityManager = EntityManager::create([
    'driver' => 'pdo_sqlite',
    // ...
], $config);

$doctrineExtractor = new DoctrineExtractor($entityManager->getMetadataFactory());
$phpDocExtractor = new PhpDocExtractor();
$reflectionExtractor = new ReflectionExtractor();

$propertyInfo = new PropertyInfo(
    array($reflectionExtractor),
    array($doctrineExtractor, $phpDocExtractor, $reflectionExtractor),
    array($phpDocExtractor),
    array($reflectionExtractor)
);

var_dump($propertyInfo->getProperties('MyTestClass'));
var_dump($propertyInfo->getTypes('MyTestClass', 'foo'));
var_dump($propertyInfo->getTypes('MyTestClass', 'id'));
var_dump($propertyInfo->getTypes('MyTestClass', 'bar'));
var_dump($propertyInfo->isReadable('MyTestClass', 'id'));
var_dump($propertyInfo->isReadable('MyTestClass', 'bar'));
var_dump($propertyInfo->isWritable('MyTestClass', 'foo'));
var_dump($propertyInfo->isWritable('MyTestClass', 'bar'));
var_dump($propertyInfo->getShortDescription('MyTestClass', 'foo'));
var_dump($propertyInfo->getLongDescription('MyTestClass', 'foo'));
```

Output:

```
array(3) {
  [0] =>
  string(2) "id"
  [1] =>
  string(3) "foo"
  [2] =>
  string(3) "Bar"
}
array(1) {
  [0] =>
  class Symfony\Component\PropertyInfo\Type#36 (6) {
    private $builtinType =>
    string(6) "object"
    private $nullable =>
    bool(false)
    private $class =>
    string(8) "DateTime"
    private $collection =>
    bool(false)
    private $collectionKeyType =>
    NULL
    private $collectionValueType =>
    NULL
  }
}
array(1) {
  [0] =>
  class Symfony\Component\PropertyInfo\Type#36 (6) {
    private $builtinType =>
    string(3) "int"
    private $nullable =>
    bool(false)
    private $class =>
    NULL
    private $collection =>
    bool(false)
    private $collectionKeyType =>
    NULL
    private $collectionValueType =>
    NULL
  }
}
array(1) {
  [0] =>
  class Symfony\Component\PropertyInfo\Type#245 (6) {
    private $builtinType =>
    string(6) "object"
    private $nullable =>
    bool(false)
    private $class =>
    string(11) "SplFileInfo"
    private $collection =>
    bool(false)
    private $collectionKeyType =>
    NULL
    private $collectionValueType =>
    NULL
  }
}
bool(true)
bool(false)
bool(true)
bool(true)
string(35) "This is a date (short description)."
string(24) "With a long description."
```

Commits
-------

f1eb185 [PropertyInfo] Import the component
2015-09-26 09:46:23 +02:00
Kévin Dunglas
f1eb185236 [PropertyInfo] Import the component 2015-09-26 09:46:20 +02:00
Fabien Potencier
25dccf1bb5 minor #15875 Use random_bytes function if it is available for random number generation (pierredup)
This PR was merged into the 2.3 branch.

Discussion
----------

Use random_bytes function if it is available for random number generation

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

This is an attempt to use the random_bytes function when generating secure random numbers. This function is included in PHP 7 or through the "paragonie/random_compat" library.

This PR only adds support to use the function if it is available. Changes that can be added is to add a hard dependency on the paragonie/random_compat library, so all current functionality can be deprecated.

Commits
-------

6a217dc Use random_bytes function if it is available for random number generation
2015-09-26 09:44:41 +02:00
Fabien Potencier
8209754e4e minor #15893 Merged LegacySecurityContext tests (WouterJ)
This PR was merged into the 2.8 branch.

Discussion
----------

Merged LegacySecurityContext tests

I've no idea why this test was introduced in the wrong namespace in 2.8, but I merged it in the correct test case now.

Commits
-------

2c4da3c Merged LegacySecurityContext tests
2015-09-26 09:34:51 +02:00
Fabien Potencier
7079aa9e96 feature #15892 deprecated the Shell Console class (fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

deprecated the Shell Console class

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

Commits
-------

1c17928 deprecated the Shell Console class
2015-09-26 09:27:31 +02:00
Fabien Potencier
1c17928e58 deprecated the Shell Console class 2015-09-26 09:26:13 +02:00
Fabien Potencier
06b4938046 feature #15519 [Validator] added BIC (SWIFT-BIC) validation constraint (mvhirsch)
This PR was squashed before being merged into the 2.8 branch (closes #15519).

Discussion
----------

[Validator] added BIC (SWIFT-BIC) validation constraint

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

I've added the BIC validator, because we do often need validation for IBAN and BIC values. Since the IBAN validation was already included into Symfony, I was asking myself: why not contribute my  BIC validator to the community? So here we go ...

It depends on ISO 9362 as described on [Wikipedia](https://en.wikipedia.org/wiki/ISO_9362#Structure). It validates the structure based on alphabetic/alphanumeric values and the value's length.

Todo-list:
- [x] submit changes to the documentation

Commits
-------

d6471b3 [Validator] added BIC (SWIFT-BIC) validation constraint
2015-09-25 14:16:01 +02:00
Michael Hirschler
d6471b3338 [Validator] added BIC (SWIFT-BIC) validation constraint 2015-09-25 14:15:58 +02:00
Fabien Potencier
6f7aae991c feature #15151 [Security] Deprecated supportsAttribute and supportsClass methods (WouterJ)
This PR was squashed before being merged into the 2.8 branch (closes #15151).

Discussion
----------

[Security] Deprecated supportsAttribute and supportsClass methods

These methods aren't used at all in a Symfony application and don't make sense to use in the application. They are only used internally in the voters. This means the voter interface can be made much easier.

I'm not sure how we do these deprecations, should we remove the methods from the interface now already? Also, I don't think it's possible to trigger deprecation notices for the voter methods?

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

Abstract Voter
---

There is one remaining question about the abstract voter. This currently has abstract `getSupportedAttributes()` and `getSupportedClass()` methods. One of the reasons to remove the methods for the interface was that these methods are not flexible. Does it make sense to deprecate these methods as well and replace them by an abstract `protected vote(array $attributes, $class)` method in the `AbstractVoter` (which is called from `AbstractVoter#vote()`) ?

Commits
-------

6588708 [Security] Deprecated supportsAttribute and supportsClass methods
2015-09-25 13:44:05 +02:00
WouterJ
6588708144 [Security] Deprecated supportsAttribute and supportsClass methods 2015-09-25 13:42:48 +02:00
Fabien Potencier
22100a2ca6 bumped Symfony version to 2.7.6 2015-09-25 13:39:10 +02:00
Fabien Potencier
619528a274 updated VERSION for 2.7.5 2015-09-25 13:16:52 +02:00
Fabien Potencier
6200eb5053 feature #15491 Add support for deprecated definitions (Taluu)
This PR was merged into the 2.8 branch.

Discussion
----------

Add support for deprecated definitions

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #14307
| License       | MIT
| Doc PR        | symfony/symfony-docs#5689

This add a sort of marker in the Definition of a service that marks it as "deprecated". This is useful when we have a bunch of service and a bunch of where it is used, and we need to track if there are any uses before removing it (in a later version or right now). I was not sure if the `trigger_error` would be enough, or if I should log them instead.

I'm first gathering some feedback, and then I'll try to update the doc.

I was not sure if it should target 2.8 or master (3.0) though.

What's left ?
==========
- [x] Make a POC
- [x] Gather some feedbacks
- [x] Dump the tag in XML, YAML and PHP
- [x] Load the definition from XML, YAML and PHP
- [x] Fix some forgotten things such as the key existence check
- [x] Work on inline services in the php dumper
- [x] Handle deprecations for decorators
- ~~Possibility to overwrite the deprecated flag in the decorators in `XmlFileLoader` ?~~ Nope, and this behavior is also ported to the `YamlFileLoader`.

Commits
-------

83f4e9c [DI] Support deprecated definitions in decorators
0b3d0a0 [DI] Allow to change the deprecation message in Definition
954247d [DI] Trigger a deprecated error on the container builder
2f37cb1 [DI] Dump the deprecated status
8f6c21c [DI] Supports the deprecated tag in loaders
4b6fab0 [DI] Add a deprecated status to definitions
2015-09-25 13:07:29 +02:00
Fabien Potencier
87b66a1d00 bumped Symfony version to 2.3.34 2015-09-25 12:48:04 +02:00
Nicolas Grekas
2377994b66 Merge branch '2.7' into 2.8
* 2.7:
  [Console] Fix transient HHVM test
  [OptionsResolver] Fix catched exception along the dependency tree mistakenly detects cyclic dependencies
  fixed tests
  Fixing test locations
  [VarDumper] Fix dump comparison on large arrays
  [expression-language] Code Cleanup for GetAttrNode
2015-09-25 11:20:50 +02:00
Fabien Potencier
3b8a8ee48e updated VERSION for 2.3.33 2015-09-25 11:08:49 +02:00
Nicolas Grekas
945ec0e40c [Console] Fix transient HHVM test 2015-09-25 10:32:23 +02:00
Matthias Pigulla
87c0c7d400 Deprecate ResourceInterface::getResource()
The return value of this method does not make sense if you do not exactly know
about the type of resource at hand. For example, it may be [an array](b49fa129bd/src/Symfony/Component/HttpKernel/Config/EnvParametersResource.php (L57))
or a [file path](87800ae47e/src/Symfony/Component/Config/Resource/FileResource.php (L51)).

As all usages of getResource() within Symfony are in tests of particular Resource implementations anyway, deprecating and later removing this interface
helps us with simplifying the ResourceInterface (https://github.com/symfony/symfony/issues/7176).
2015-09-25 10:18:07 +02:00
WouterJ
2c4da3ceff Merged LegacySecurityContext tests 2015-09-25 09:39:51 +02:00
Fabien Potencier
507e959e37 bug #15866 [VarDumper] Fix dump comparison on large arrays (romainneutron)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] Fix dump comparison on large arrays

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

Commits
-------

6a6e7f3 [VarDumper] Fix dump comparison on large arrays
2015-09-25 09:04:33 +02:00
Mathieu Lemoine
9a188c5215 [OptionsResolver] Fix catched exception along the dependency tree mistakenly detects cyclic dependencies 2015-09-25 08:59:16 +02:00
Fabien Potencier
7d674c2135 fixed tests 2015-09-25 08:52:54 +02:00
Fabien Potencier
21e2218e14 minor #15881 Fixing security test locations (weaverryan)
This PR was merged into the 2.7 branch.

Discussion
----------

Fixing security test locations

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

There were just missed on sha: 0601ed33c4 probably because there were on a different branch.

Cheers!

Commits
-------

16e09d3 Fixing test locations
2015-09-25 08:48:53 +02:00
Fabien Potencier
dacbfe9699 feature #14894 [Console] Add domain exceptions to replace generic exceptions (GromNaN)
This PR was squashed before being merged into the 2.8 branch (closes #14894).

Discussion
----------

[Console] Add domain exceptions to replace generic exceptions

Creates domain specific exception classes for the case where a user type an invalid command name or option name.

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

TODO:
* [x] Replace `\InvalidArgumentException` by `Symfony\Component\Console\Exception\InvalidArgumentException`
* [x] Add `Symfony\Component\Console\Exception\ExceptionInterface`

Commits
-------

dd17dc0 [Console] Add domain exceptions to replace generic exceptions
2015-09-25 08:44:47 +02:00
Jérôme Tamarelle
dd17dc00ee [Console] Add domain exceptions to replace generic exceptions 2015-09-25 08:44:39 +02:00
Fabien Potencier
d60428c9ca feature #15738 Implement service-based Resource (cache) validation (mpdude)
This PR was squashed before being merged into the 2.8 branch (closes #15738).

Discussion
----------

Implement service-based Resource (cache) validation

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #7230, #15692, #7782
| License       | MIT
| Doc PR        | symfony/symfony-docs#5136

### Overview

Currently, any metadata passed to `ConfigCache` (namely implementations of `ResourceInterface`) is serialized to disk. When the `ConfigCache` is validated, the metadata is unserialized and queried through `ResourceInterface::isFresh()` to determine whether the cache is fresh. That way, `ResourceInterface` implementations cannot interact with services, for example a database connection.

This PR introduces the new concept of `ResourceCheckers`. Services implementing `ResourceCheckerInterface` can be tagged as `config_cache.resource_checker` with an optional priority.

Clients that wish to use `ConfigCache` can then obtain an instance from the `config_cache_factory` service (which implements `ConfigCacheFactoryInterface`). The factory will take care of injecting resource checkers into the `ConfigCache` instance so that they can be used for cache validation.

Checking cache metadata is easy for `ResourceCheckers`:
* First, the `ResourceCheckerInterface::supports()` implementation is passed the metadata object in question. If the checker cannot handle the type of resource passed, `supports()` should return `false`.
* Otherwise, the `ResourceCheckerInterface::isFresh()` method will be called and given the resource as well as the timestamp at which the cache was initialized. If that method returns `false`, the cache is considered stale. If it returns `true`, the resource is considered unchanged and will *not* be passed to any additional checkers.

### BC and migration path

This PR does not (intend to) break BC but it comes with deprecations. The main reason is that `ResourceInterface` contains an `isFresh()` method that does not make sense in the general case of resources.

Thus, `ResourceInterface::isFresh()` is marked as deprecated and should be removed in Symfony 3.0. Resource implementations that can (or wish to) be validated in that simple manner can implement the `SelfCheckingResourceInterface` sub-interface that still contains (and will keep) the `isFresh()` method. The change should be as simple as changing the `extends` list.

Apart from that, `ResourceInterface` will be kept as the base interface for resource implementations. It is used in several `@api` interfaces and thus cannot easily be substituted.

For the Symfony 2.x series, a `BCResourceInterfaceChecker` will be kept that performs validation through `ResourceInterface::isFresh()` but will trigger a deprecation warning. The remedy is to either implement a custom ResourceChecker with a priority higher than -1000; or to switch to the aforementioned `SelfCheckingResourceInterface` which is used at a priority of -990 (without deprecation warning).

The `ConfigCache` and `ConfigCacheFactory` classes can be used as previously but do not feature checker-based cache validation.

### Outlook and closing remarks:

This PR supersedes #7230, #15692 and works at least in parts towards the goal of #7176.

The `ResourceCheckerInterface`, `...ConfigCache` and `...ConfigCacheFactory` no longer need to be aware of the `debug` flag. The different validation rules applied previously are now just a matter of `ResourceChecker` configuration (i. e. "no checkers" in `prod`).

It might be possible to remove the `debug` flag from Symfony's `Router` and/or `Translator` classes in the future as well because it was only passed on to the `ConfigCache` there.

Commits
-------

20d3722 Implement service-based Resource (cache) validation
2015-09-25 08:33:07 +02:00
Matthias Pigulla
20d3722120 Implement service-based Resource (cache) validation 2015-09-25 08:31:17 +02:00
Fabien Potencier
31d76ec0f7 minor #15538 [expression-language] Code Cleanup for GetAttrNode (zerustech)
This PR was merged into the 2.7 branch.

Discussion
----------

[expression-language] Code Cleanup for GetAttrNode

Use ``$this->nodes['attribute']->attributes['value']`` to
replace ``$this->nodes['attribute']->evaluate($functions, $values)``
for method call and property call.

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

166e175 [expression-language] Code Cleanup for GetAttrNode
2015-09-24 13:58:55 +02:00
Nicolas Grekas
995cf4ea7d Merge branch '2.7' into 2.8
* 2.7:
  Fix syntax in a test
  Normalize the way we check versions
2015-09-24 11:01:09 +02:00
Baptiste Clavié
83f4e9cf45 [DI] Support deprecated definitions in decorators 2015-09-24 10:53:13 +02:00
Baptiste Clavié
0b3d0a0bd9 [DI] Allow to change the deprecation message in Definition 2015-09-24 10:53:13 +02:00
Baptiste Clavié
954247d550 [DI] Trigger a deprecated error on the container builder 2015-09-24 10:50:44 +02:00
Baptiste Clavié
2f37cb184f [DI] Dump the deprecated status 2015-09-24 10:50:44 +02:00
Baptiste Clavié
8f6c21c2b6 [DI] Supports the deprecated tag in loaders 2015-09-24 10:50:44 +02:00
Baptiste Clavié
4b6fab0b2c [DI] Add a deprecated status to definitions 2015-09-24 10:50:44 +02:00
Fabien Potencier
5f2acfd4c7 feature #14673 New Guard Authentication System (e.g. putting the joy back into security) (weaverryan)
This PR was merged into the 2.8 branch.

Discussion
----------

New Guard Authentication System (e.g. putting the joy back into security)

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | at least partially: #14300, #11158, #11451, #10035, #10463, #8606, probably more
| License       | MIT
| Doc PR        | symfony/symfony-docs#5265

Hi guys!

Though it got much easier in 2.4 with `pre_auth`, authentication is a pain in Symfony. This introduces a new authentication provider called guard, with one goal in mind: put everything you need for *any* authentication system into one spot.

### How it works

With guard, you can perform custom authentication just by implementing the [GuardAuthenticatorInterface](https://github.com/weaverryan/symfony/blob/guard/src/Symfony/Component/Security/Guard/GuardAuthenticatorInterface.php) and registering it as a service. It has methods for every part of a custom authentication flow I can think of.

For a working example, see https://github.com/weaverryan/symfony-demo/tree/guard-auth. This uses 2 authenticators simultaneously, creating a system that handles [form login](https://github.com/weaverryan/symfony-demo/blob/guard-auth/src/AppBundle/Security/FormLoginAuthenticator.php) and [api token auth](https://github.com/weaverryan/symfony-demo/blob/guard-auth/src/AppBundle/Security/TokenAuthenticator.php) with a respectable amount of code. The [security.yml](https://github.com/weaverryan/symfony-demo/blob/guard-auth/app/config/security.yml) is also quite simple.

This also supports "manual login" without jumping through hoops: https://github.com/weaverryan/symfony-demo/blob/guard-auth/src/AppBundle/Controller/SecurityController.php#L45

I've also tested with "remember me" and "switch user" - no problems with either.

I hope you like it :).

### What's Needed

1) **Other Use-Cases?**: Please think about the code and try it. What use-cases are we *not* covering? I want Guard to be simple, but cover the 99.9% use-cases.

2) **Remember me** functionality cannot be triggered via manual login. That's true now, and it's not fixed, and it's tricky.

### Deprecations?

This is a new feature, so no deprecations. But, creating a login form with a guard authenticator is a whole heck of a lot easier to understand than `form_login` or even `simple_form`. In a perfect world, we'd either deprecate those or make them use "guard" internally so that we have just **one** way of performing authentication.

Thanks!

Commits
-------

a01ed35 Adding the necessary files so that Guard can be its own installable component
d763134 Removing unnecessary override
e353833 fabbot
dd485f4 Adding a new exception and throwing it when the User changes
302235e Fixing a bug where having an authentication failure would log you out.
396a162 Tweaks thanks to Wouter
c9d9430 Adding logging  on this step and switching the order - not for any huge reason
31f9cae Adding a base class to assist with form login authentication
0501761 Allowing for other authenticators to be checked
293c8a1 meaningless author and license changes
81432f9 Adding missing factory registration
7a94994 Thanks again fabbot!
7de05be A few more changes thanks to @iltar
ffdbc66 Splitting the getting of the user and checking credentials into two steps
6edb9e1 Tweaking docblock on interface thanks to @iltar
d693721 Adding periods at the end of exceptions, and changing one class name to LogicException thanks to @iltar
eb158cb Updating interface method per suggestion - makes sense to me, Request is redundant
c73c32e Thanks fabbot!
6c180c7 Adding an edge case - this should not happen anyways
180e2c7 Properly handles "post auth" tokens that have become not authenticated
873ed28 Renaming the tokens to be clear they are "post" and "pre" auth - also adding an interface
a0bceb4 adding Guard tests
05af97c Initial commit (but after some polished work) of the new Guard authentication system
330aa7f Improving phpdoc on AuthenticationEntryPointInterface so people that implement this understand it
2015-09-24 09:21:03 +02:00
Ryan Weaver
948ccec1ea Updating AbstractVoter so that the method receives the TokenInterface 2015-09-24 08:33:58 +02:00
Ryan Weaver
a01ed35cfc Adding the necessary files so that Guard can be its own installable component 2015-09-23 21:55:58 -04:00
Ryan Weaver
16e09d3eaa Fixing test locations 2015-09-23 21:45:13 -04:00
Pierre du Plessis
6a217dcecc Use random_bytes function if it is available for random number generation 2015-09-23 21:31:18 +02:00
Tobias Schultze
8dcf14a02e Fix syntax in a test 2015-09-23 13:13:27 +02:00
Fabien Potencier
6d9cba8ae5 minor #15867 Normalize the way we check versions (romainneutron)
This PR was merged into the 2.7 branch.

Discussion
----------

Normalize the way we check versions

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

Commits
-------

121eade Normalize the way we check versions
2015-09-23 11:21:02 +02:00
Romain Neutron
121eade822 Normalize the way we check versions 2015-09-23 11:17:11 +02:00
Ryan Weaver
d763134e1a Removing unnecessary override 2015-09-22 19:45:03 -04:00
Tobias Schultze
70fcc9c5fb minor #15798 [2.8][Form] Fix php warning on invalid FormFactory::createBuilder() argument (xelaris)
This PR was merged into the 2.8 branch.

Discussion
----------

[2.8][Form] Fix php warning on invalid FormFactory::createBuilder() argument

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

Without this check it comes to a `strpos() expects parameter 1 to be string, object given` warning, when passing an invalid argument to `FormFactory::createBuilder()` (e.g. when calling `$this->createForm(new AnEntity());` instead of `$this->createForm(new AnEntityType());` in a controller).

Commits
-------

b5599a5 [Form] Fix php warning on invalid FormFactory::createBuilder() argument
2015-09-22 18:06:19 +02:00
Romain Neutron
6a6e7f3947 [VarDumper] Fix dump comparison on large arrays 2015-09-22 16:41:01 +02:00
Nicolas Grekas
b75755cdde Merge branch '2.7' into 2.8
* 2.7:
  [Config] Fix enum default value in Yaml dumper
  Finnish translation fix
  [CssSelector] Optimize regexs matching simple selectors
  Fix the phpdoc in the CssSelector TranslatorInterface
  [Console] Add clock mock to fix transient test on HHVM
  [DomCrawler] Optimize the regex used to find namespace prefixes
  [EventDispatcher] skip one lazy loading call
  [EventDispatcher] fix memory leak in a getListeners
  Default to stderr for console helpers (only merge if #15794 gets merged)
2015-09-22 15:49:41 +02:00
Nicolas Grekas
b6604f3e6f Merge branch '2.3' into 2.7
* 2.3:
  Finnish translation fix
  [CssSelector] Optimize regexs matching simple selectors
  Fix the phpdoc in the CssSelector TranslatorInterface
  [Console] Add clock mock to fix transient test on HHVM
  [EventDispatcher] skip one lazy loading call
  [EventDispatcher] fix memory leak in a getListeners
2015-09-22 15:49:29 +02:00
Fabien Potencier
984019382a bug #15795 [Console] Default to stderr for the console helpers (2.7+) (alcohol)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Default to stderr for the console helpers (2.7+)

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        |

Only merge if #15794 is merged.

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

Commits
-------

90c2a96 Default to stderr for console helpers (only merge if #15794 gets merged)
2015-09-22 14:21:01 +02:00
Fabien Potencier
2e718c1f31 feature #15786 [Translation][File dumper] allow get file content without writing in file. (aitboudad)
This PR was merged into the 2.8 branch.

Discussion
----------

[Translation][File dumper] allow get file content without writing in file.

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

Commits
-------

805acc9 fixed typo.
9b877cf [Translation][File dumper] allow get file content without writing in file.
2015-09-22 14:05:07 +02:00
Baptiste Dupuch
07d08c49d3 Added the right revision date for status code registry 2015-09-22 14:02:31 +02:00
Fabien Potencier
ea43304687 feature #15805 [Finder] Deprecate adapters and related classes (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[Finder] Deprecate adapters and related classes

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

Commits
-------

c08cf4b [Finder] Deprecate adapters and related classes
2015-09-22 13:58:08 +02:00
Fabien Potencier
926d9b7eaa minor #15807 Remove duplication of the handling of regex filters in the Finder (stof)
This PR was merged into the 2.8 branch.

Discussion
----------

Remove duplication of the handling of regex filters in the Finder

The logic to handle the multiple regexs in MultiplePcreFilterIterator children is the same each time (and will always be the same given it is related to the meaning of properties in MultiplePcreFilterIterator itself).
This extracts this logic in MultiplePcreFilterIterator itself rather than duplicating it in all child classes.

Commits
-------

e66bf64 Remove duplication of the handling of regex filters in the Finder
2015-09-22 13:48:07 +02:00
Fabien Potencier
b2f7753daf bug #15821 [EventDispatcher] fix memory leak in getListeners (Tobion)
This PR was merged into the 2.3 branch.

Discussion
----------

[EventDispatcher] fix memory leak in getListeners

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

Commits
-------

a7b7f54 [EventDispatcher] skip one lazy loading call
ec59953 [EventDispatcher] fix memory leak in a getListeners
2015-09-22 13:41:56 +02:00
Fabien Potencier
fbf7351c06 feature #15837 [VarDumper] Add EnumStub for dumping virtual collections with casters (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[VarDumper] Add EnumStub for dumping virtual collections with casters

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

Currently, casters may use arrays to represent a collection of virtual values. They are curently dumped the same as regular arrays, and this leads to noisy output (like the `array:%n` prefix, or the quotes around "keys").

This PR adds a new EnumStub for these situations.
Here is an example when using PdoCaster:

Before :
![before](https://cloud.githubusercontent.com/assets/243674/9976105/366a37dc-5ed8-11e5-9ee8-00a4a6b68fa9.png)

After:
![after](https://cloud.githubusercontent.com/assets/243674/9976106/3a9b78a2-5ed8-11e5-8209-1d629d3b1736.png)

Commits
-------

aa50596 [VarDumper] Add EnumStub for dumping virtual collections with casters
2015-09-22 13:29:26 +02:00
maxime.steinhausser
0e24fc5820 [Yaml] Fix improper comments removal inside strings 2015-09-21 17:13:05 +02:00
Romain Neutron
d135d8282d [Config] Fix enum default value in Yaml dumper 2015-09-21 17:02:29 +02:00
Abdellatif Ait boudad
805acc9047 fixed typo. 2015-09-21 10:22:36 +00:00
Abdellatif Ait boudad
9b877cfa23 [Translation][File dumper] allow get file content without writing in file. 2015-09-21 10:16:40 +00:00
Kasperki
84fbfb0131 Finnish translation fix 2015-09-21 08:03:51 +02:00
Fabien Potencier
3da8af8890 minor #15852 [CssSelector] Optimize regexs matching simple selectors (stof)
This PR was merged into the 2.3 branch.

Discussion
----------

[CssSelector] Optimize regexs matching simple selectors

| 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

These shortcut parsers are applied first when converting a CSS selector to XPath, to be faster for simple selectors (tag matching, class matching with an optional tag, id matching with an optional tag).
None of the regexes defined here could have more chances to match more element when backtracking identifiers. So the backtracking is only slowing down the regex engine when the regex does not match (i.e. for any more complex selector for instance, or even for simple selectors without namespace of without tag name). Making quantifiers possessive solves this issue.

I also turned some capturing groups (around the namespace and the namespace delimiter) into non-capturing groups as we don't care about them in the output (they are just here to be optional).

Commits
-------

d5abe0b [CssSelector] Optimize regexs matching simple selectors
2015-09-21 08:00:16 +02:00
Fabien Potencier
451bdc0bf0 minor #15848 [Console] Add clock mock to fix transient test on HHVM (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[Console] Add clock mock to fix transient test on HHVM

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

This should fix the most frequent transient test on HHVM (ProgressBarTest::testAnsiColorsAndEmojis)

Commits
-------

549f43b [Console] Add clock mock to fix transient test on HHVM
2015-09-21 07:58:06 +02:00
Ryan Weaver
e353833baf fabbot 2015-09-20 20:45:52 -04:00
Ryan Weaver
dd485f4c13 Adding a new exception and throwing it when the User changes
This is quite technical. As you can see in the provider, the method is called
sometimes when the User changes, and so the token becomes de-authenticated (e.g.
someone else changes the password between requests).

In practice, the user should be unauthenticated. Using the anonymous token did this,
but throwing an AccountStatusException seems like a better idea. It needs to be an
AccountStatusException because the ExceptionListener from the Firewall looks for exceptions
of this class and logs the user out when they are found (because this is their purpose).
2015-09-20 20:44:39 -04:00
Christophe Coevoet
d5abe0b114 [CssSelector] Optimize regexs matching simple selectors 2015-09-21 02:13:44 +02:00
Ryan Weaver
302235e6e5 Fixing a bug where having an authentication failure would log you out.
This solution is a copy of what AbstractAuthenticationListener does. Scenario:

1) Login
2) Go back to the log in page
3) Put in a bad user/pass

You *should* still be logged in after a failed attempt. This commit gives that behavior.
2015-09-20 20:11:34 -04:00
Ryan Weaver
396a1622dc Tweaks thanks to Wouter 2015-09-20 19:51:09 -04:00
Christophe Coevoet
93ffa61e42 Fix the phpdoc in the CssSelector TranslatorInterface 2015-09-21 01:46:31 +02:00
Ryan Weaver
c9d9430913 Adding logging on this step and switching the order - not for any huge reason 2015-09-20 19:43:59 -04:00
Ryan Weaver
31f9caef00 Adding a base class to assist with form login authentication 2015-09-20 19:38:23 -04:00
Ryan Weaver
0501761504 Allowing for other authenticators to be checked
If you have 2 firewalls, 2 GuardAuthenticationProviders are still created, so we need
to be able to run through both of them.
2015-09-20 19:37:51 -04:00
Ryan Weaver
293c8a1775 meaningless author and license changes 2015-09-20 19:37:42 -04:00
Ryan Weaver
7a94994e8e Thanks again fabbot! 2015-09-20 19:24:22 -04:00
Ryan Weaver
7de05be3f6 A few more changes thanks to @iltar 2015-09-20 19:24:21 -04:00
Ryan Weaver
ffdbc66534 Splitting the getting of the user and checking credentials into two steps
This looks like a subjective change (one more method, but the method implementations are
simpler), but it wasn't. The problem was that the UserChecker checkPreAuth should happen
*after* we get the user, but *before* the credentials are checked, and that wasn't possible
before this change. Now it is.
2015-09-20 19:24:21 -04:00
Ryan Weaver
6edb9e1b06 Tweaking docblock on interface thanks to @iltar 2015-09-20 19:24:21 -04:00
Ryan Weaver
d6937218be Adding periods at the end of exceptions, and changing one class name to LogicException thanks to @iltar 2015-09-20 19:24:21 -04:00
Ryan Weaver
eb158cbdb3 Updating interface method per suggestion - makes sense to me, Request is redundant 2015-09-20 19:24:21 -04:00
Ryan Weaver
c73c32e674 Thanks fabbot! 2015-09-20 19:24:21 -04:00
Ryan Weaver
6c180c78da Adding an edge case - this should not happen anyways 2015-09-20 19:24:21 -04:00
Ryan Weaver
180e2c7878 Properly handles "post auth" tokens that have become not authenticated
Here is the flow:

A) You login using guard and are given a PostAuthGuardToken
B) Your user changes between requests - AbstractToken::setUser() and hasUserChanged() - which
    results in the Token becoming "not authenticated"
C) Something calls out to the security system, which then passes the no-longer-authed
    token back into the AuthenticationProviderManager
D) Because the PostauthGuardToken implements GuardTokenInterface, the provider responds
    to it. But, seeing that this is a no-longer-authed PostAuthGuardToken, it returns
    an AnonymousToken, which triggers logout
2015-09-20 19:24:21 -04:00
Ryan Weaver
873ed284d2 Renaming the tokens to be clear they are "post" and "pre" auth - also adding an interface
The reason is that the GuardAuthenticationProvider *must* respond to *all* tokens
created by the system - both "pre auth" and "post auth" tokens. The reason is that
if a "post auth" token becomes not authenticated (e.g. because the user changes between
requests), then it may be passed to the provider system. If no providers respond (which
was the case before this commit), then AuthenticationProviderManager throws an exception.

The next commit will properly handle these "post auth" + "no-longer-authenticated" tokens,
which should cause a log out.
2015-09-20 19:24:20 -04:00
Ryan Weaver
a0bceb43c9 adding Guard tests 2015-09-20 19:24:20 -04:00
Ryan Weaver
05af97c7f7 Initial commit (but after some polished work) of the new Guard authentication system 2015-09-20 19:24:20 -04:00
Ryan Weaver
330aa7f729 Improving phpdoc on AuthenticationEntryPointInterface so people that implement this understand it 2015-09-20 19:24:20 -04:00
Nicolas Grekas
549f43b03a [Console] Add clock mock to fix transient test on HHVM 2015-09-20 23:33:09 +02:00
Christophe Coevoet
02818e4c92 [DomCrawler] Optimize the regex used to find namespace prefixes 2015-09-20 23:13:58 +02:00
Nicolas Grekas
aa50596345 [VarDumper] Add EnumStub for dumping virtual collections with casters 2015-09-20 23:07:38 +02:00
Nicolas Grekas
b1e0bd76c4 Merge branch '2.7' into 2.8
* 2.7:
  [Console] Fix whitespaces in fixture
2015-09-19 22:42:44 +02:00
Nicolas Grekas
f64cf23811 Merge branch '2.3' into 2.7
* 2.3:
  [Console] Fix whitespaces in fixture

Conflicts:
	src/Symfony/Component/Console/Tests/Fixtures/application_asxml1.txt
	src/Symfony/Component/Console/Tests/Fixtures/application_asxml2.txt
2015-09-19 22:42:33 +02:00
Nicolas Grekas
da29357d49 [Console] Fix whitespaces in fixture 2015-09-19 22:40:41 +02:00
Nicolas Grekas
f5d6034311 Merge branch '2.7' into 2.8
* 2.7:
  Remove whitespaces between <input> and <label>
  [travis] Remove PHP 7 from allowed failures
  [Finder] Optimize the hot-path
  Update Process.php
2015-09-19 21:59:50 +02:00
Nicolas Grekas
1ba6cfee48 Merge branch '2.3' into 2.7
* 2.3:
  [travis] Remove PHP 7 from allowed failures
  [Finder] Optimize the hot-path
  Update Process.php

Conflicts:
	composer.json
	src/Symfony/Bridge/Doctrine/composer.json
	src/Symfony/Component/Finder/Iterator/ExcludeDirectoryFilterIterator.php
2015-09-19 21:59:23 +02:00
Tobias Schultze
bcb2ff600d minor #15832 [Translation][File dumper] allow new child classes to implement only formatCatalogue (aitboudad)
This PR was merged into the 2.8 branch.

Discussion
----------

[Translation][File dumper] allow new child classes to implement only formatCatalogue

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

Commits
-------

5fd9f2f [Translation][File dumper] allow new child classes to implement only formatCatalogue.
2015-09-18 22:35:55 +02:00
Abdellatif Ait boudad
5fd9f2f33f [Translation][File dumper] allow new child classes to implement only formatCatalogue. 2015-09-18 14:52:26 +00:00
Tobias Schultze
c4bb79a794 minor #15817 [Process] Stopped Autoruns when shelling on windows (rquadling)
This PR was merged into the 2.3 branch.

Discussion
----------

[Process] Stopped Autoruns when shelling on windows

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

Stop autoruns when shelling on Windows.

Original PR was on https://github.com/symfony/Process/pull/9#issuecomment-140721398.

Commits
-------

bca6771 Update Process.php
2015-09-18 15:09:04 +02:00
Nicolas Grekas
630f3b30a3 [Translation] Clean whitespaces and EOL in xliff-core-2.0.xsd 2015-09-18 13:01:00 +02:00
Nicolas Grekas
f156de6b71 [Finder] Optimize the hot-path 2015-09-18 11:35:50 +02:00
Nicolas Grekas
c08cf4b7f6 [Finder] Deprecate adapters and related classes 2015-09-18 11:02:33 +02:00
Nicolas Grekas
4d275b42da Merge branch '2.7' into 2.8
* 2.7:
  [Finder] Fix recursive filter iterator
  Improve the structure of the Finder testsuite
  [VarDumper] Fix HtmlDumper constructor calling CliDumper's
  [Finder] Handle filtering of recursive iterators and use it to skip looping over excluded directories
  Exclude files based on path before applying the sorting
  fixed composer.json
  [Console] fix phpdoc of DialogHelper
  Allowed extensions to inline compiler passes
2015-09-18 09:20:16 +02:00
Nicolas Grekas
666f523984 Merge branch '2.3' into 2.7
* 2.3:
  [Finder] Fix recursive filter iterator
  Improve the structure of the Finder testsuite

Conflicts:
	src/Symfony/Component/Finder/Iterator/ExcludeDirectoryFilterIterator.php
	src/Symfony/Component/Finder/Tests/FinderTest.php
	src/Symfony/Component/Finder/Tests/Iterator/DateRangeFilterIteratorTest.php
2015-09-18 09:19:55 +02:00
Alexander Schwenn
b5599a5897 [Form] Fix php warning on invalid FormFactory::createBuilder() argument 2015-09-17 23:09:48 +02:00
Jordi Boggiano
de41002f28 Fix potential access to undefined index 2015-09-17 11:14:05 +01:00
Nicolas Grekas
cf3019bc5a [Finder] Fix recursive filter iterator 2015-09-17 10:48:13 +02:00
Tobias Schultze
a7b7f5479e [EventDispatcher] skip one lazy loading call 2015-09-17 03:42:05 +02:00
Tobias Schultze
ec59953f4c [EventDispatcher] fix memory leak in a getListeners 2015-09-17 03:14:14 +02:00
Abdellatif Ait boudad
366879ba83 [Translator][FileDumper] deprecated format method in favor of formatCatalogue. 2015-09-16 14:54:16 +00:00
Abdellatif Ait boudad
7b358a144a feature #15717 [Translator][Loader] added XLIFF 2.0 support. (xphere, aitboudad)
This PR was merged into the 2.8 branch.

Discussion
----------

[Translator][Loader] added XLIFF 2.0 support.

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

Commits
-------

0c24d55 [Translation][Dumper] added XLIFF 2.0 support.
7af4fc7 [XLIFF 2.0] added support for target attributes.
ace6042 apply some fixes.
ce540ae update changelog.
ff5d6a3 [Translation][Loader] added XLIFF 2.0 support.
2015-09-16 14:51:54 +00:00
Richard Quadling
bca67712d0 Update Process.php
Stop autoruns when shelling on Windows.

Original PR was on https://github.com/symfony/Process/pull/9#issuecomment-140721398.
2015-09-16 14:19:29 +01:00
Jakub Zalas
4982b02bdd [Console] Add the command name to input arguments if it's missing 2015-09-16 09:04:45 +01:00
Christophe Coevoet
20f2d03d2e Improve the structure of the Finder testsuite
Testing against different adapters is now handled by multiple subclasses
of a common test case rather than using data providers. This allows
tests to be marked as skipped for unsupported adapters instead of making
them disappear from the testsuite.
2015-09-16 09:54:32 +02:00
Christophe Coevoet
e66bf64da7 Remove duplication of the handling of regex filters in the Finder 2015-09-15 16:03:47 +02:00
Nicolas Grekas
4c7bb9cd14 [VarDumper] Fix HtmlDumper constructor calling CliDumper's 2015-09-15 14:30:50 +02:00
Fabien Potencier
c67e8b26b3 Merge branch '2.3' into 2.7
* 2.3:
  [Finder] Handle filtering of recursive iterators and use it to skip looping over excluded directories
  Exclude files based on path before applying the sorting
  [Console] fix phpdoc of DialogHelper
2015-09-15 13:37:25 +02:00
Nicolas Grekas
8c691bd01f [Finder] Handle filtering of recursive iterators and use it to skip looping over excluded directories 2015-09-15 13:35:06 +02:00
Christophe Coevoet
8826d39e0f Validate the extended type for lazy-loaded type extensions 2015-09-15 12:07:24 +02:00
Christophe Coevoet
e5bf0ab877 Exclude files based on path before applying the sorting
Sorting can be slow, so it is best to applied it after all filtering
rules are applied instead of using a bigger list and filtering again
after that.
2015-09-15 11:15:55 +02:00
Fabien Potencier
1abfaba2a5 feature #13761 Automatically process extensions when they implement CompilerPassInterface (WouterJ)
This PR was merged into the 2.7 branch.

Discussion
----------

Automatically process extensions when they implement CompilerPassInterface

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | todo (if people are in favor of this PR)

Compiler passes are very powerfull, but also quite strange to work with. Especially when you just need a very simple compiler pass (like https://github.com/symfony-cmf/RoutingBundle/blob/master/DependencyInjection/Compiler/SetRouterPass.php). For 3 lines of code, you need to tweak your bundle class and create a new class.

When using the DI component standalone, compiler passes are even harder to work with, as DI extensions can't register them. I believe that's why libraries like Behat make their extensions compiler passes by default.

I think it would be very easy to just implement an interface and have a `compile` method for the simple compiler pass stuff. If a bundle needs multiple compiler passes or need compiler passes to be executed at other times in the compile process, a bundle can use the normal compiler passes. But if it's just one simple thing, like replacing a definition or getting services with a specific tag, I think this method will be very usefull.

Commits
-------

6c50013 Allowed extensions to inline compiler passes
2015-09-15 10:30:42 +02:00
Michael Lee
e24a798d8f [property-access] Improvement for Accessing Reference Chain
Improve performance for the following scenarios:

- Example 1:
```php
$a = array(
    'a' => array(
        'b' => array(
            'c' => 'old-value'
        )
    )
);
$pa->setValue($a, '[a][b][c]', 'new-value');
// The PropertyAccessor will try to set values for
// $a['a']['b']['c'], $a['a']['b'] and $a['a'],
// but in fact it may terminate the loop
// right after the value of $a[a][b][c] is set,
// because $a, $[a], $[a][b] and $[a][b][c]
// are all passed as reference - the reference chain is not broken.
```

- Example 2
```php
$b = array(
    'a' => array(
        'b' => array(
            'c' => 'old-value'
        )
    )
)

$a = new Foo($b);
// In this example, the reference chain of $b is broken,
// because it's passed to $a.value as value
// But its elements are all passed as reference,
// so after setting the value for $b[a][b][c], there is no need
// to set value for $b[a][b] and $b[a]

$pa->setValue($a, 'value[a][b][c]', 'new-value');
```

| 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
2015-09-15 15:17:44 +08:00
Rob Bast
90c2a96936 Default to stderr for console helpers (only merge if #15794 gets merged) 2015-09-14 23:39:58 +02:00
Tobias Schultze
fd22d8fa03 [Console] fix phpdoc of DialogHelper 2015-09-14 17:16:40 +02:00
Fabien Potencier
6393ec3169 Merge branch '2.7' into 2.8
* 2.7:
  [DomCrawler] Invalid uri created from forms if base tag present
  [Console] update param type phpdoc for StreamOutput
  [Console] fix typo in OutputInterface
  Use stderr by default when a specific output is not injected
  [Debug] Fix case mismatch detection
  [HttpKernel] fix broken multiline <esi:remove>
  [DoctrineBridge] Fixed #14840
  [FrameworkBundle] add a suggest for the serializer component
  [Yaml] Fix the parsing of float keys
  [Console] Ensure the console output is only detected as decorated when both stderr and stdout support colors
  [HttpKernel] fix DumpDataCollector compat with Twig 2.0
  Improve exception messages.
  Fix that two DirectoryResources with different patterns would be deduplicated
  Tests fix clockmock
  [WebProfilerBundle] Added tabindex="-1" to not interfer with normal UX
  missing "YAML" in the exception message.
  [Translator][warmup][fallback locales] fixed missing cache file generation.
  [framework-bundle] Add Test for TranslationUpdateCommand
  Use ObjectManager interface instead of EntityManager
2015-09-14 16:15:17 +02:00
Fabien Potencier
cafd4af7cd Merge branch '2.3' into 2.7
* 2.3:
  [DomCrawler] Invalid uri created from forms if base tag present
  [Console] update param type phpdoc for StreamOutput
  [Console] fix typo in OutputInterface
  [HttpKernel] fix broken multiline <esi:remove>
  [DoctrineBridge] Fixed #14840
  [FrameworkBundle] add a suggest for the serializer component
  [Yaml] Fix the parsing of float keys
  [Console] Ensure the console output is only detected as decorated when both stderr and stdout support colors
  Improve exception messages.
  Fix that two DirectoryResources with different patterns would be deduplicated
  Tests fix clockmock
  [WebProfilerBundle] Added tabindex="-1" to not interfer with normal UX
  missing "YAML" in the exception message.
  [framework-bundle] Add Test for TranslationUpdateCommand
  Use ObjectManager interface instead of EntityManager
2015-09-14 16:14:09 +02:00
Fabien Potencier
6d3f124854 bug #13794 [DomCrawler] Invalid uri created from forms if base tag present (danez)
This PR was squashed before being merged into the 2.3 branch (closes #13794).

Discussion
----------

[DomCrawler] Invalid uri created from forms if base tag present

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

Since #13145 was merged the provided testcase does not work anymore and creates an invalid link

This affects the latest versions of 2.3, 2.5, 2.6 and 2.7

Right now this PR only includes the failing test, as I could no easy find a fix. If someone immediately knows whats the problem, give me a hint please.

Commits
-------

dc57a7a [DomCrawler] Invalid uri created from forms if base tag present
2015-09-14 16:00:14 +02:00
Daniel Tschinder
dc57a7a5a7 [DomCrawler] Invalid uri created from forms if base tag present 2015-09-14 16:00:12 +02:00
Nicolas Grekas
f64b72ddf0 [VarDumper] Add caster for OuterIterator objects 2015-09-14 14:30:18 +02:00
Tobias Schultze
c0363524a9 [Console] update param type phpdoc for StreamOutput 2015-09-14 14:22:54 +02:00
Tobias Schultze
50afff1647 [Console] fix typo in OutputInterface 2015-09-14 14:10:47 +02:00
Fabien Potencier
7d343e6430 fixed bad merge 2015-09-14 12:33:37 +02:00
François-Xavier de Guillebon
d2b3fe4c72 Fixed properties not explicitily declared 2015-09-14 11:40:15 +02:00
Fabien Potencier
2f31cbfc5f bug #15783 [Debug] Fix case mismatch detection (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug] Fix case mismatch detection

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

Commits
-------

18e9f45 [Debug] Fix case mismatch detection
2015-09-14 11:35:35 +02:00
Jakub Zalas
f12a4c1aee [Console] Fix input validation when required arguments are missing
Previous rule was only working when arguments are passed from command line, as in command line there is no way of skipping an argument. The rule does not work for arguments set on the Input after a command is run.
2015-09-14 10:33:21 +01:00
Nicolas Grekas
18e9f45e8d [Debug] Fix case mismatch detection 2015-09-14 10:41:38 +02:00
Eric GELOEN
9bae1ae10c [HttpKernel] Add entry point to more easily create/configure the DI extension 2015-09-14 10:28:58 +02:00
Fabien Potencier
b185056776 bug #14802 [HttpKernel] fix broken multiline <esi:remove> (sstok)
This PR was squashed before being merged into the 2.3 branch (closes #14802).

Discussion
----------

[HttpKernel] fix broken multiline <esi:remove>

|Q            |A  |
|---          |---|
|Bug Fix?     |yes|
|New Feature? |n  |
|BC Breaks?   |n  |
|Deprecations?|n  |
|Tests Pass?  |yes|
|Fixed Tickets|   |
|License      |MIT|
|Doc PR       |   |

Originally found in https://github.com/symfony/symfony/pull/14800#discussion-diff-31388942

`<esi:remove>` blocks with multiline contents were not removed.
`<esi:comment>` blocks with multiline contents were not removed.

Note. According to http://www.w3.org/TR/esi-lang
`comment is an empty element, and must not have an end tag.` so the support for multi line comments are not actually supported in the standard.

Commits
-------

06f97bf [HttpKernel] fix broken multiline <esi:remove>
2015-09-14 09:14:59 +02:00
Sebastiaan Stok
06f97bfbd1 [HttpKernel] fix broken multiline <esi:remove> 2015-09-14 09:14:56 +02:00
Fabien Potencier
a2eebe8128 feature #15523 Redesigned the Symfony Profiler (javiereguiluz)
This PR was squashed before being merged into the 2.8 branch (closes #15523).

Discussion
----------

Redesigned the Symfony Profiler

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

### Context

Recently, we redesigned the web debug toolbar ([read announcement](http://symfony.com/blog/new-in-symfony-2-8-redesigned-web-debug-toolbar)). We maintained "the spirit" of the original toolbar, but its visual appearance was completely changed.

Now it's the turn of the Symfony Profiler. We want to update it to match the new toolbar design and to give it a more modern look and feel.

### The redesign

Most of the redesign is focused on updating just the visual appearance, but we've seized this opportunity to make some minor functional changes as well. Testing this pull request in your own applications may be difficult, so we'll provide below a complete walkthrough of the redesign. (Click on the images to see them in full resolution)

### Overview

This is the new general structure of the profiler pages:

![profiler-structure](https://cloud.githubusercontent.com/assets/73419/9226162/c1bf71f0-410d-11e5-8a7b-5c690b7c8c8a.png)

### Request panel

* Renamed `Request` panel to `Request / Response`
* Divided contents into tabs: Request, Response, Session, etc. (this prevents ultra long pages)

![profiler-request](https://cloud.githubusercontent.com/assets/73419/9226172/cb7f7938-410d-11e5-8ffd-cea8264446dd.png)

### Timeline panel

* Renamed `Timeline` panel to `Performance`
* Highlighted the most important metrics
* Added "Peak Memory Usage" to those metrics
* The timeline graph is now easier to read (font size is slightly larger, updated the color palette, made the canvas wider, etc.)
* If there is only one request, the page doesn't distract you with the "Master Request" heading. If there are several sub-requests, headings are now bigger and graphs are more separated.

![profiler-performance](https://cloud.githubusercontent.com/assets/73419/9226178/d1335782-410d-11e5-9f9a-5ace45b0dfa0.png)

### Twig panel

* Just a minor update to highlight the important metrics. The rest of the contents remain the same.

![profiler-twig](https://cloud.githubusercontent.com/assets/73419/9226180/d5bd6ff4-410d-11e5-86c8-beba426516c1.png)

### Exception panel

* Just minor design tweaks.

![profiler-exception](https://cloud.githubusercontent.com/assets/73419/9226182/da0dfd9e-410d-11e5-965c-e980f7144541.png)

### Events panel

When the `framework.ide` config option is set:

* The listeners are now displayed as more evident clickable links.
* Bellow the listener we show its full class namespace (if you don't need this information, it doesn't distract you much; if you need it, you don't have to wait for the `<abbr>` tooltip to show it)

![profiler-events-links-enabled](https://cloud.githubusercontent.com/assets/73419/9226188/e403ae48-410d-11e5-8c86-5d28fed940e7.png)

When the `framework.ide` config option is NOT set:

* In this case the developer cannot click on the listener name to go to that file and line. Therefore, we think it's important to display that information (full class namespace + full file path + line number). At first it may seem that it contains too much information ... but this panel should be more "useful" than "beautiful".

![profiler-events-links-disabled](https://cloud.githubusercontent.com/assets/73419/9226198/eb9f3bae-410d-11e5-8bbe-95c148809387.png)

### Logs panel

* Logs are now grouped in: "Info. & Errors" (this is the panel that you need most of the times); "Deprecations" (separated from the normal logs because they are specific to the process of updating your Symfony version); and "Debug" (which are all those messages that you almost never need)
* We now show the channel for the log messages (for built-in Symfony channels it may be redundant, but your application can define custom channels)

![profiler-logger](https://cloud.githubusercontent.com/assets/73419/9226203/f345163a-410d-11e5-85e6-cf9fceb885fc.png)

### Routing panel

* Just a minor redesign and highlighted some information.

![profiler-routing](https://cloud.githubusercontent.com/assets/73419/9226213/00e99130-410e-11e5-90c0-dda9394dabd7.png)

### Forms panel

* Not redesigned yet.

### Translation panel

* Highlighted the important metrics.
* Replaced the old selector by the new tabbed navigation.

![profiler-translation](https://cloud.githubusercontent.com/assets/73419/9226215/06036c40-410e-11e5-90c9-fe3b43dd6156.png)

### Security panel

* Just a minor redesign and highlighted some information.

![profiler-security](https://cloud.githubusercontent.com/assets/73419/9226217/0a92fbcc-410e-11e5-9438-e9e230a7865b.png)

### E-mails panel

* Not redesigned yet.

### Doctrine panel

* Queries are no longer displayed "shrinked". We display the full query without parameters by default.
* The three old actions ("expand", "runnable" and "explain") have been reduced to two actions ("runnable" and "explain")

![profiler-doctrine](https://cloud.githubusercontent.com/assets/73419/9226225/13e0b5d4-410e-11e5-96ce-1eb67f99df49.png)

Here you can see what happens when you click on the "Show runnable query" and "Explain query" links:

![profiler-doctrine-detail](https://cloud.githubusercontent.com/assets/73419/9226247/33b47918-410e-11e5-9657-e1351787657a.png)

### Debug panel

* Not redesigned yet.

### Config panel

* This was probably the "ugliest" panel in the old profiler, because of the two first tables.
* We now display the information of those tables highlighted in a different way.

![profiler-config](https://cloud.githubusercontent.com/assets/73419/9226257/3d728850-410e-11e5-86d8-da807f6a1217.png)

### Search results

Results with response status different from 2xx now are highlighted:

![profiler-search-results](https://cloud.githubusercontent.com/assets/73419/9226279/44bacd8e-410e-11e5-8daf-e77d2be7e3c6.png)

### Other design elements

The page title now changes for each section:

**Before**

![page-title-before](https://cloud.githubusercontent.com/assets/73419/9226312/6301b9c4-410e-11e5-8ef7-001be222ac53.png)

**After**

![page-title-after](https://cloud.githubusercontent.com/assets/73419/9226316/693bce42-410e-11e5-897a-c5e4413bc638.png)

Empty elements now display a dashed border. This allows to make design more consistent between different section. Besides, once you are used to the new design, your brain will immediately associate that design to an empty element, so you'll no longer need to read the inner text content.

![profiler-empty-element](https://cloud.githubusercontent.com/assets/73419/9226400/c9ffe06a-410e-11e5-9859-f095e444d9af.png)

Besides, when the entire panel doesn't have any content, its menu label looks disabled:

![sidebar-menu](https://cloud.githubusercontent.com/assets/73419/9226405/cf4ee5e8-410e-11e5-9501-523cd6b3413e.png)

Long pages have been break down using a tabs-based navigation:

![tabbed-navigation](https://cloud.githubusercontent.com/assets/73419/9226409/d918dba6-410e-11e5-9cd4-516a082950de.gif)

Below the page header we display a "summary section" which displays the profiled URL and some useful profiling information. The big URL is the natural way to "go back to application" from the profiler:

![summary-back-to-application](https://cloud.githubusercontent.com/assets/73419/9226414/df1abb00-410e-11e5-88ff-59dbd35b584f.gif)

Besides, the summary background color changes according to the response HTTP status code:

![profiler-summary](https://cloud.githubusercontent.com/assets/73419/9226423/e5b03850-410e-11e5-9163-2f2153c5d1de.png)

Above the main menu we now display two shortcuts to common operations: "display the 10 most recent profiles" and "search profiles":

![sidebar-shortcuts](https://cloud.githubusercontent.com/assets/73419/9226427/eaea4586-410e-11e5-8ff4-f6141723996a.png)

The search form in the sidebar has been collapsed and it's revealed when clicking on the "Search" shortcut button:

![search-form-reveal](https://cloud.githubusercontent.com/assets/73419/9226435/ef907fec-410e-11e5-9627-37cb2a241f86.gif)

-----

And that's all! Please tell us what you think about this redesign. **Don't hesitate to criticize anything you don't like or think it's wrong or it's worse than in the previous profiler.** Let's work together to make the new profiler a reality! Thanks!

Commits
-------

05773c2 Redesigned the Symfony Profiler
2015-09-14 08:10:06 +02:00
Javier Eguiluz
05773c263b Redesigned the Symfony Profiler 2015-09-14 08:10:04 +02:00
Jose Gonzalez
520bd26642 [Yaml] Fix the parsing of float keys 2015-09-13 18:26:34 +01:00
Jordi Boggiano
e9ee8f559d Make the exception output visible even in quiet mode, fixes #15680 2015-09-12 23:39:36 +01:00
Jordi Boggiano
749fba54f9 Convert Output::write's type to an options arg where verbosity can be passed in as well 2015-09-12 23:35:49 +01:00
Jordi Boggiano
f3d844434b [Console] Ensure the console output is only detected as decorated when both stderr and stdout support colors 2015-09-12 19:38:39 +01:00
Tomas Votruba
cf18a997fb [Validator] mark test as legacy 2015-09-12 10:46:41 +02:00
Fabien Potencier
238531fea1 bug #15750 Add tests to the recently added exceptions thrown from YamlFileLoaders (jakzal)
This PR was merged into the 2.3 branch.

Discussion
----------

Add tests to the recently added exceptions thrown from YamlFileLoaders

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

* use the `Symfony\Component\DependencyInjection\Exception\InvalidArgumentException` in the DI component
* add tests

Commits
-------

93e418f Improve exception messages.
2015-09-11 17:27:18 +02:00
Nicolas Grekas
92e50a3b14 [HttpKernel] fix DumpDataCollector compat with Twig 2.0 2015-09-11 14:32:48 +02:00
Gennady Telegin
bfdc35439b [Translation] added option flags to JsonFileDumper.
It's passed to json_encode function second argument.
2015-09-11 09:07:49 +00:00
Jakub Zalas
93e418f48e Improve exception messages. 2015-09-11 08:57:18 +01:00
Nicolas Grekas
f8fa136652 Hot fix 2015-09-10 20:17:51 +02:00
Matthias Pigulla
2b36ac5a61 Fix that two DirectoryResources with different patterns would be deduplicated
ResourceInterface::__toString is mainly important because in various places, array_uniqe() is called to perform a de-duplication of resources and will use the string representation for objects.

Thus, we need to take care that if DirectoryResources apply different patterns they must be kept after array_unique calls.
2015-09-10 14:18:59 +02:00
Fabien Potencier
cfd8cc24ff minor #15746 Tests fix clockmock (ewgRa)
This PR was squashed before being merged into the 2.3 branch (closes #15746).

Discussion
----------

Tests fix clockmock

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

On my local computer tests for HttpCacheTest not passed, because ClockMock make side effects on another tests (it takes time from _SERVER['REQUEST_TIME'] and for my computer difference with real one time and this time was more than expected by HttpCacheTest, one part of code take time from mock, anothers - from native time function). This PR remove this side effects.

Commits
-------

6b21752 Tests fix clockmock
2015-09-10 13:45:38 +02:00
Evgeniy Sokolov
6b21752285 Tests fix clockmock 2015-09-10 13:45:33 +02:00
Nicolas Grekas
51b6d74557 [HttpKernel] Fix RequestStack argument position and deprecated behavior 2015-09-10 12:52:08 +02:00
Nicolas Grekas
4b68eb1f3e Merge branch '2.7' into 2.8
* 2.7:
  [Validator] Added Swedish translations
  improve exceptions when parsing malformed files
  Dispatch console.terminate *after* console.exception
2015-09-10 10:08:06 +02:00
Nicolas Grekas
249d130549 Merge branch '2.3' into 2.7
* 2.3:
  [Validator] Added Swedish translations
  improve exceptions when parsing malformed files
  Dispatch console.terminate *after* console.exception

Conflicts:
	src/Symfony/Component/Console/Application.php
	src/Symfony/Component/Console/Tests/ApplicationTest.php
	src/Symfony/Component/Validator/Resources/translations/validators.sv.xlf
2015-09-10 10:05:42 +02:00
David Badura
b95b5e217f missing "YAML" in the exception message. 2015-09-10 09:43:17 +02:00
Fabien Potencier
d1c51a341d feature #15724 [HttpKernel] Move required RequestStack args as first arguments (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[HttpKernel] Move required RequestStack args as first arguments

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

Since we planned to make RequestStack required, we have to move it as first arguments.

Commits
-------

84ba05b [HttpKernel] Move required RequestStack args as first arguments
2015-09-10 09:40:22 +02:00
Fabien Potencier
f1c01ed5ac feature #15521 [Debug] Add BufferingLogger for errors that happen before a proper logger is configured (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[Debug] Add BufferingLogger for errors that happen before a proper logger is configured

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

This allows catching e.g. deprecations that happen during bootstrapping.

Commits
-------

2a9647d [Debug] Add BufferingLogger for errors that happen before a proper logger is configured
2015-09-10 09:37:44 +02:00
Fabien Potencier
37827a2fef bug #15725 Dispatch console.terminate *after* console.exception (Seldaek)
This PR was merged into the 2.3 branch.

Discussion
----------

Dispatch console.terminate *after* console.exception

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

The problem is when using the ConsoleHandler from MonologBridge, TERMINATE closes it and removes the output, so when EXCEPTION fires if you want to log the exception it's too late and you don't get any output. See ed4fb54901/src/Symfony/Bridge/Monolog/Handler/ConsoleHandler.php (L115-L145)

It is my understanding that TERMINATE is always supposed to come last anyway, so it is a bug in any case, but this particular use case is what prompted the discovery.

Commits
-------

7802345 Dispatch console.terminate *after* console.exception
2015-09-10 08:54:37 +02:00
Fabien Potencier
1e27c85a3b bug #15731 improve exceptions when parsing malformed files (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

improve exceptions when parsing malformed files

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

Commits
-------

3849cd8 improve exceptions when parsing malformed files
2015-09-10 08:51:50 +02:00
Fabien Potencier
0383559f95 feature #15709 [WebProfilerBundle] deprecated import/export commands (fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

[WebProfilerBundle] deprecated import/export commands

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

Commits
-------

943fec9 [HtppKernel] deprecated Profiler::import/export
17e00b9 [WebProfilerBundle] deprecated import/export commands
2015-09-09 23:21:50 +02:00
Fabien Potencier
943fec97d3 [HtppKernel] deprecated Profiler::import/export 2015-09-09 22:55:09 +02:00
Tobias Nyholm
1176d6279a [Validator] Added Swedish translations 2015-09-09 22:42:29 +02:00
Tobias Schultze
3bae5f7aa9 Merge branch '2.7' into 2.8
Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2015-09-09 20:05:45 +02:00
Tobias Schultze
4ecbc7053d Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Component/Form/Tests/FormFactoryTest.php
	src/Symfony/Component/HttpKernel/Kernel.php
2015-09-09 20:00:08 +02:00
Tobias Schultze
b38e448f42 fix leftover changes from previous merge 2015-09-09 19:53:06 +02:00
Evgeniy Sokolov
f0d40c4559 fix class use and in phpdoc 2015-09-09 19:42:36 +02:00
Christophe Coevoet
e42adf7818 Remove wrong deprecation triggers for forms in the DI extension
When a form type provides a BC layer with old form names (all core types
do), the form registry will ask for type extensions registered on the
legacy name for BC, and trigger a warning if it finds any.
The DependencyInjectionExtension should not trigger warnings on its own
when being asked for such extensions (especially when it has none
registered).
Core extensions are also registered using the proper extended type
rather than legacy names.
2015-09-09 16:30:53 +02:00
Evgeniy Sokolov
0ffcc4f53d drop unused private methods 2015-09-09 09:30:09 +02:00
Christian Flothmann
3849cd80b9 improve exceptions when parsing malformed files 2015-09-08 22:16:40 +02:00
Tobias Schultze
4b45bb91ab Kernel version constants are integers to actually be comparable numerically 2015-09-08 21:33:18 +02:00
Fabien Potencier
6b08d3eb16 bumped Symfony version to 2.7.5 2015-09-08 20:12:26 +02:00
Fabien Potencier
1fdf23fe28 updated VERSION for 2.7.4 2015-09-08 16:26:39 +02:00
Jordi Boggiano
7802345824 Dispatch console.terminate *after* console.exception 2015-09-08 14:55:10 +01:00
Abdellatif Ait boudad
0c24d55a3d [Translation][Dumper] added XLIFF 2.0 support. 2015-09-08 11:52:30 +00:00
Nicolas Grekas
84ba05b9e5 [HttpKernel] Move required RequestStack args as first arguments 2015-09-08 13:21:25 +02:00
Christian Flothmann
e1818bd5d9 move feature description to changelog file 2015-09-08 08:37:45 +02:00
Fabien Potencier
a8c3b234a7 minor #15711 removed some Form related deprecation notices (fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

removed some Form related deprecation notices

| 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

This removes a deprecation notice.

Commits
-------

4253824 removed some Form deprecation notices
2015-09-08 07:39:54 +02:00
Fabien Potencier
4253824919 removed some Form deprecation notices 2015-09-08 07:19:27 +02:00
Abdellatif Ait boudad
7af4fc7ef8 [XLIFF 2.0] added support for target attributes. 2015-09-07 19:51:24 +00:00
Abdellatif Ait boudad
ace6042d89 apply some fixes. 2015-09-07 18:18:09 +00:00
Nicolas Grekas
cf04e48a90 minor #15715 [Security\Http] Fix dep (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[Security\Http] Fix dep

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

Should make tests green

Commits
-------

037196c [Security\Http] Fix dep
2015-09-07 20:06:51 +02:00
Abdellatif Ait boudad
ce540aeaf9 update changelog. 2015-09-07 18:06:19 +00:00
Berny Cantos
ff5d6a3a98 [Translation][Loader] added XLIFF 2.0 support. 2015-09-07 17:58:34 +00:00
Nicolas Grekas
037196c59c [Security\Http] Fix dep 2015-09-07 19:22:42 +02:00
Fabien Potencier
ebd009b16f feature #15710 added ExceptionHandler::getHtml() to expose the full HTML of an exception (fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

added ExceptionHandler::getHtml() to expose the full HTML of an exception

| 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

`ExceptionHandler::createResponse()` has been deprecated in 2.8 to remove the HttpFoundation dependency on `symfony/debug`. But that breaks Silex which relies on this method. As the `decorate` method is private, there is no way in Silex to upgrade. Instead of making the `decorate()` method public, I propose to add a new `getHtml()` method that returns the exception as a full HTML page.

Commits
-------

4d1d277 added ExceptionHandler::getHtml() to expose the full HTML of an exception
2015-09-07 17:20:04 +02:00
Fabien Potencier
4d1d277ab0 added ExceptionHandler::getHtml() to expose the full HTML of an exception 2015-09-07 16:37:47 +02:00
Fabien Potencier
72615e11a2 bug #15552 [ExpressionLanguage] Fixed expressions cache key generation (inso)
This PR was squashed before being merged into the 2.7 branch (closes #15552).

Discussion
----------

[ExpressionLanguage] Fixed expressions cache key generation

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

Reworked version of #15537

Difference with original PR:
- sort $names array to ensure its order does not affect caching, added test for it
- minor tweaks for cache key format
- used `foreach` instead of `array_map`

P.S. I'm not proficient with tests so not sure if tests are correct.

Commits
-------

4114a2b [ExpressionLanguage] Fixed expressions cache key generation
2015-09-07 14:45:05 +02:00
Anton Bakai
4114a2bd3e [ExpressionLanguage] Fixed expressions cache key generation 2015-09-07 14:45:02 +02:00
Nicolas Grekas
e70bec97b4 Merge branch '2.7' into 2.8
* 2.7:
  [2.7] Clean deprecated interfaces
  use new repo location in some readme.md
  [Validator] Cleanup a test
2015-09-06 10:37:06 +02:00
Nicolas Grekas
ae643240bb Merge branch '2.3' into 2.7
* 2.3:
  use new repo location in some readme.md
2015-09-06 10:36:38 +02:00
Fabien Potencier
d5c046d8c5 minor #15694 [2.8] Deprecate IntrospectableContainerInterface (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[2.8] Deprecate IntrospectableContainerInterface

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

Patch on Security is required for tests compat with 3.0, see #15684
IntrospectableContainerInterface is already deprecated in master.

Commits
-------

c2b94a1 [2.8] Cleanup
2015-09-06 10:10:56 +02:00
Nicolas Grekas
c2b94a1f75 [2.8] Cleanup 2015-09-06 10:02:00 +02:00
Abdellatif Ait boudad
2592fe9e1d [Translator] Added missing changelog notes. 2015-09-05 16:20:14 +00:00
Abdellatif Ait boudad
be4716505f feature #15562 [translation] Deprecated DiffOperation (zerustech)
This PR was merged into the 2.8 branch.

Discussion
----------

[translation] Deprecated DiffOperation

## Summary:
The ``DiffOperation`` class has been deprecated and ``TargetOperation``
should be used instead, because ``DiffOperation`` has nothing to do
with 'diff', thus its class name is misleading.

Also added detailed documents for all operation interface and classes.

## Background:

The following names should have consistent meanings for all operations:

The name of ``intersection`` is temporarily introduced here to explain this issue.

* [x] ``intersection`` = source &#x2229; target = {x: x &#x2208; source &#x2227; x &#x2208; target}
* [x] ``all`` = **result of the operation, depends on the operation.**
* [x] ``new`` = all &#x2216; source = {x: x &#x2208; all &#x2227; x &#x2209; source}
* [x] ``obsolete`` = source &#x2216; all = {x: x &#x2208; source &#x2227; x &#x2209; all}

The following analysis explains why ``DiffOperation`` should be deprecated.

## Logic of ``MergeOperation``:
* [x] ``all`` = source &#x222a; target = {x: x &#x2208; source &#x2228; x &#x2208; target}
* [x] ``new`` = all &#x2216; source = {x: x &#x2208; target &#x2227; &#x2209; source}
* [x] ``obsolete`` = source &#x2216; all = {x: x &#x2208; source &#x2227; x &#x2209; source &#x2227; x &#x2209; target} = &#x2205;

This absolutely makes sense.

## Logic of ``DiffOperation``:
* [ ] ``all`` =  intersection &#x222a; (target &#x2216; intersection) = target
* [x] ``new`` = all &#x2216; source = {x: x &#x2208; target &#x2227; x &#x2209; source}
* [x] ``obsolete`` = source &#x2216; all = source &#x2216; target = {x: x &#x2208; source &#x2227; x &#x2209; target}

The ``all`` part is confusing because 'diff' should either mean 'relative complement' or 'symmetric difference' operation:

### Relative Complement:
* ``all`` = source &#x2216; target = {x: x &#x2208; source &#x2227; x &#x2209; target}

### Symmetric Difference:
* ``all`` = (source &#x2216; target) &#x222a; (target &#x2216; source) = {x: x &#x2208; source &#x2227; x &#x2209; target &#x2228; x &#x2208; target &#x2227; x &#x2209; source}

### Current Logic has Nothing to do with "Diff":
* ``all`` =  intersection &#x222a; (target &#x2216; intersection) = target

So the name of ``DiffOperation`` is misleading and inappropriate.
Unfortunately, there is no corresponding set operation for this class,
so it's hard to give it an apppriate name.
From my point of view, I believe the most accurate name for this class
should be ``TargetOperation`` because its result is same as the target set.

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

Commits
-------

353c94d [translation][framework-bundle] Deprecated DiffOperation
2015-09-05 11:37:34 +00:00
Nicolas Grekas
e49739c469 [2.7] Clean deprecated interfaces 2015-09-04 22:16:46 +02:00
JakeFr
fa7fe56830 use new repo location in some readme.md 2015-09-03 22:55:07 +02:00
Nicolas Grekas
12ec734845 [Validator] Cleanup a test 2015-09-03 14:38:39 +02:00
Nicolas Grekas
22b17b2c93 Merge branch '2.7' into 2.8
* 2.7:
  [travis] Add PHP 7 to allowed failures until segfaults are fixed
  [Intl] Fix test
  [Translator][fallback catalogues] fixed circular reference.
  bumped Symfony version to 2.3.33
  updated VERSION for 2.3.32
  update CONTRIBUTORS for 2.3.32
  updated CHANGELOG for 2.3.32
  [FrameworkBundle] Fix templating.helper.code.file_link_format when defined by ini setting
  [console] Use the description when no help is available
2015-09-03 13:42:45 +02:00
Nicolas Grekas
05d9411670 Merge branch '2.3' into 2.7
* 2.3:
  [Intl] Fix test
  [Translator][fallback catalogues] fixed circular reference.
  bumped Symfony version to 2.3.33
  updated VERSION for 2.3.32
  update CONTRIBUTORS for 2.3.32
  updated CHANGELOG for 2.3.32
  [FrameworkBundle] Fix templating.helper.code.file_link_format when defined by ini setting
  [console] Use the description when no help is available

Conflicts:
	src/Symfony/Component/Console/Tests/Fixtures/application_asxml1.txt
	src/Symfony/Component/Console/Tests/Fixtures/application_asxml2.txt
	src/Symfony/Component/HttpKernel/Kernel.php
2015-09-03 13:40:38 +02:00
Michael Lee
353c94db64 [translation][framework-bundle] Deprecated DiffOperation
The ``DiffOperation`` class has been deprecated and ``TargetOperation``
should be used instead, because ``DiffOperation`` has nothing to do
with 'diff', thus its class name is misleading.

Also added detailed documents for all operation interface and classes.

The following names should have consistent meanings for all operations:

The name of ``intersection`` is temporarily introduced here to explain this issue.

* [x] ``intersection`` = source &#x2229; target = {x: x &#x2208; source &#x2227; x &#x2208; target}
* [x] ``all`` = **result of the operation, depends on the operation.**
* [x] ``new`` = all &#x2216; source = {x: x &#x2208; all &#x2227; x &#x2209; source}
* [x] ``obsolete`` = source &#x2216; all = {x: x &#x2208; source &#x2227; x &#x2209; all}

The following analysis explains why ``DiffOperation`` should be deprecated.

* [x] ``all`` = source &#x222a; target = {x: x &#x2208; source &#x2228; x &#x2208; target}
* [x] ``new`` = all &#x2216; source = {x: x &#x2208; target &#x2227; &#x2209; source}
* [x] ``obsolete`` = source &#x2216; all = {x: x &#x2208; source &#x2227; x &#x2209; source &#x2227; x &#x2209; target} = &#x2205;

This absolutely makes sense.

* [ ] ``all`` =  intersection &#x222a; (target &#x2216; intersection) = target
* [x] ``new`` = all &#x2216; source = {x: x &#x2208; target &#x2227; x &#x2209; source}
* [x] ``obsolete`` = source &#x2216; all = source &#x2216; target = {x: x &#x2208; source &#x2227; x &#x2209; target}

The ``all`` part is confusing because 'diff' should either mean 'relative complement' or 'symmetric difference' operation:

* ``all`` = source &#x2216; target = {x: x &#x2208; source &#x2227; x &#x2209; target}

* ``all`` = (source &#x2216; target) &#x222a; (target &#x2216; source) = {x: x &#x2208; source &#x2227; x &#x2209; target &#x2228; x &#x2208; target &#x2227; x &#x2209; source}

* ``all`` =  intersection &#x222a; (target &#x2216; intersection) = target

So the name of ``DiffOperation`` is misleading and inappropriate.
Unfortunately, there is no corresponding set operation for this class,
so it's hard to give it an apppriate name.
From my point of view, I believe the most accurate name for this class
should be ``TargetOperation`` because its result is same as the target set.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a
2015-09-03 14:49:29 +08:00
Tobias Schultze
6f18c7573f minor #15672 [Intl] Fix test (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[Intl] Fix test

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

Commits
-------

7969503 [Intl] Fix test
2015-09-02 23:17:00 +02:00
Nicolas Grekas
79695037b0 [Intl] Fix test 2015-09-02 18:14:26 +02:00
Abdellatif Ait boudad
79e29c1f23 [Translator][fallback catalogues] fixed circular reference. 2015-09-02 09:56:25 +00:00
Fabien Potencier
fedbf711a1 bumped Symfony version to 2.3.33 2015-09-01 18:03:57 +02:00
Fabien Potencier
221da6edaf updated VERSION for 2.3.32 2015-09-01 17:40:52 +02:00
Nicolas Grekas
d76cc03382 Merge branch '2.7' into 2.8
* 2.7:
  Require symfony/intl ~2.4 when Locale::setDefault() is used
  [Form][2.7][ Choice type] fixed groups with empty array.

Conflicts:
	src/Symfony/Component/Form/composer.json
	src/Symfony/Component/Translation/composer.json
	src/Symfony/Component/Validator/composer.json
2015-09-01 15:59:44 +02:00
Nicolas Grekas
2c4860877d Require symfony/intl ~2.4 when Locale::setDefault() is used 2015-09-01 15:39:59 +02:00
Fabien Potencier
8fbab1e6ad feature #15635 [Config] Prototypes info (ogizanagi)
This PR was merged into the 2.8 branch.

Discussion
----------

[Config] Prototypes info

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

Prototypes info is currently ignored by dumpers. It might be useful to add extra informations to the `# Prototype` comment in the `config:dump-reference` output.

Commits
-------

599fcb4 [Config] Prototypes info
2015-09-01 13:35:06 +02:00
Fabien Potencier
db8420e6d5 bug #15662 [Form][2.7][ Choice type] fixed groups with empty array. (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form][2.7][ Choice type] fixed groups with empty array.

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

- [x] test

Commits
-------

835aa78 [Form][2.7][ Choice type] fixed groups with empty array.
2015-09-01 09:47:15 +02:00
Nicolas Grekas
922a534427 Merge branch '2.7' into 2.8
* 2.7:
  Mark deprecated Twig functions as deprecated with the Twig feature
  [appveyor] PHP 5.3.11 for Symfony 2.7
  [HttpKernel] Group deprecation notices

Conflicts:
	appveyor.yml
2015-09-01 09:33:03 +02:00
Fabien Potencier
d4441e97fe feature #15551 [Translation] added <tool> element metadata to XliffFileDumper (aitboudad)
This PR was merged into the 2.8 branch.

Discussion
----------

[Translation] added <tool> element metadata to XliffFileDumper

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

Commits
-------

f667a34 [Translation] added <tool> element metadata to XliffFileDumper
2015-09-01 08:00:57 +02:00
Abdellatif Ait boudad
835aa788d4 [Form][2.7][ Choice type] fixed groups with empty array. 2015-08-31 20:22:13 +00:00
Nicolas Grekas
0f2256e85a [appveyor] PHP 5.3.11 for Symfony 2.7 2015-08-31 18:44:53 +02:00
Fabien Potencier
cb303017b4 bug #15601 [console] Use the description when no help is available (Nicofuma)
This PR was merged into the 2.3 branch.

Discussion
----------

[console] Use the description when no help is available

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

Commits
-------

e5d3f25 [console] Use the description when no help is available
2015-08-31 14:48:21 +02:00
Nicolas Grekas
8d6e337602 [HttpKernel] Group deprecation notices 2015-08-31 14:42:37 +02:00
Fabien Potencier
82ed1bed6b Merge branch '2.7' into 2.8
* 2.7:
  [VarDumper] Fix missing support for dumping PHP7 return type
  [travis] disable symfony_debug ext when deps!=no
  Do not normalize the kernel root directory path (see symfony/symfony#15474).
  Don't trigger deprecation on interfaces
  [Debug] Ignore silencing for deprecations
  [ci] Run minimal versions on appveyor only
  Fix appveyor file
  consistently use str_replace to unify directory separators (remaining)
2015-08-31 14:33:08 +02:00
Fabien Potencier
a1d0f539ac Merge branch '2.3' into 2.7
* 2.3:
  Do not normalize the kernel root directory path (see symfony/symfony#15474).
  [ci] Run minimal versions on appveyor only
  Fix appveyor file
2015-08-31 14:32:30 +02:00
Nicolas Grekas
b1bd06800a [VarDumper] Fix missing support for dumping PHP7 return type 2015-08-31 14:28:11 +02:00
Fabien Potencier
05b54fe2b1 minor #15639 [ci] Run minimal versions on appveyor only (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[ci] Run minimal versions on appveyor only

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

Hopefully the last round of ci optimizations: what do you think about running the minimal supported version on appveyor only? This removes one matrix line on travis, and gives more flexibility in choosing the minimal version because, where travis only supports a limited list of minimal versions, windows.php.net provides a binary for each and every php ever released.

Commits
-------

e564805 [ci] Run minimal versions on appveyor only
2015-08-31 14:20:29 +02:00
Pavel Batanov
6117c425c1 Require security-acl 2.7 for BC 2015-08-31 11:25:15 +02:00
Leo Feyer
a53489e49a Do not normalize the kernel root directory path (see symfony/symfony#15474). 2015-08-30 20:55:51 +02:00
Fabien Potencier
5368a4287a minor #15652 Don't trigger deprecation on interfaces (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

Don't trigger deprecation on interfaces

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

This can trigger false positives when implementing the interface is required for bc reasons. The DebugClassLoader is able to trigger on demand at runtime when required.

Commits
-------

b5b10b3 Don't trigger deprecation on interfaces
2015-08-30 20:53:28 +02:00
Nicolas Grekas
b5b10b3d54 Don't trigger deprecation on interfaces 2015-08-30 13:26:29 +02:00
Fabien Potencier
9d6fdc3b50 minor #15624 consistently use str_replace to unify directory separators (2.7) (Tobion)
This PR was merged into the 2.7 branch.

Discussion
----------

consistently use str_replace to unify directory separators (2.7)

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

Remaining ones from #15614

Commits
-------

17ce649 consistently use str_replace to unify directory separators (remaining)
2015-08-29 21:20:26 +02:00
Nicolas Grekas
2a9647dd2c [Debug] Add BufferingLogger for errors that happen before a proper logger is configured 2015-08-29 20:00:45 +02:00
Nicolas Grekas
ccb3f562c5 [Debug] Ignore silencing for deprecations 2015-08-29 13:12:16 +02:00
Nicolas Grekas
e564805b32 [ci] Run minimal versions on appveyor only 2015-08-29 12:34:03 +02:00
Tobias Schultze
a1deb42ea6 minor #15609 Deprecated Security ClassUtils in favor of Acl ClassUtils (iltar)
This PR was merged into the 2.8 branch.

Discussion
----------

Deprecated Security ClassUtils in favor of Acl ClassUtils

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | symfony/symfony/issues/14718
| Relates to | symfony/security-acl/pull/3
| License       | MIT
| Doc PR        | ~

Should be removed from the core as it's only used in the Acl component.

Commits
-------

4278fe4 Deprecated Security ClassUtils in favor of Acl ClassUtils
2015-08-28 12:03:25 +02:00
Nicolas Grekas
a6f8b7e22d Merge branch '2.7' into 2.8
* 2.7:
  [Console] ProgressBarTest::testAnsiColorsAndEmojis() requires extension mbstring
2015-08-27 23:38:49 +02:00
Nicolas Grekas
f42dd21d49 [Console] ProgressBarTest::testAnsiColorsAndEmojis() requires extension mbstring 2015-08-27 23:38:40 +02:00
maxime.steinhausser
599fcb4868 [Config] Prototypes info 2015-08-27 20:34:50 +02:00
Nicolas Grekas
f3b4fb0c3d minor #15632 [VarDumper] Windows compat for SplCasterTest (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[VarDumper] Windows compat for SplCasterTest

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

Commits
-------

d4a5ecb [VarDumper] Windows compat for SplCasterTest
2015-08-27 15:32:59 +02:00
Nicolas Grekas
d4a5ecb843 [VarDumper] Windows compat for SplCasterTest 2015-08-27 15:18:38 +02:00
Iltar van der Berg
4278fe4477 Deprecated Security ClassUtils in favor of Acl ClassUtils 2015-08-27 12:12:18 +02:00
Abdellatif Ait boudad
f667a345ac [Translation] added <tool> element metadata to XliffFileDumper 2015-08-27 09:23:57 +00:00
Abdellatif Ait boudad
09e88dc676 [Translation][Xliff loader] fixed check target node. 2015-08-27 08:47:02 +00:00
Nicolas Grekas
4353134903 Fix merge 2015-08-27 09:19:36 +02:00
Nicolas Grekas
1eede472cd Merge branch '2.7' into 2.8
* 2.7:
  Fix typo
2015-08-27 09:03:53 +02:00
Nicolas Grekas
283ba52142 Fix typo 2015-08-27 09:03:44 +02:00
Nicolas Grekas
fb9838c2d4 Merge branch '2.7' into 2.8
* 2.7:
  Various fixes esp. on Windows
  Fix the validation of form resources to register the default theme
  Fix the retrieval of the value with property path when using a loader
  [appveyor] minor enhancements
  [Process] Disable failing tests on Windows
  [Translation] Fix the string casting in the XliffFileLoader
  Windows and Intl fixes
  Add appveyor.yml for C.I. on Windows
  [VarDumper] fixed HtmlDumper to target specific the head tag
  [travis] merge php: nightly and deps=high test-matrix lines
  consistently use str_replace to unify directory separators
  Support omitting the <target> node in an .xlf file.
  Fix the handling of values for multiple choice types
  moved PHP nightly to PHP 7.0
  [Security] Add missing docblock in PreAuthenticatedToken

Conflicts:
	.travis.yml
2015-08-27 08:53:13 +02:00
Nicolas Grekas
464a1b3152 Various fixes esp. on Windows 2015-08-27 08:45:45 +02:00
Tobias Schultze
17ce6492d9 consistently use str_replace to unify directory separators (remaining) 2015-08-26 20:02:40 +02:00
Tobias Schultze
755f3c0223 Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Templating/TemplateFilenameParser.php
2015-08-26 19:56:37 +02:00
Christophe Coevoet
5df64dca52 Fix the retrieval of the value with property path when using a loader 2015-08-26 18:42:09 +02:00
Fabien Potencier
bdfc9dc7b3 minor #15614 consistently use str_replace to unify directory separators (Tobion)
This PR was merged into the 2.3 branch.

Discussion
----------

consistently use str_replace to unify directory separators

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

We used a mix of `str_replace` and `strtr` for the same thing. `str_replace` is faster as [I tested myself](https://3v4l.org/MNrgC) which is logical since strtr adds logic we don't need here.

Commits
-------

b9760ef consistently use str_replace to unify directory separators
2015-08-26 18:41:06 +02:00
Nicolas Grekas
c63bcbe3d3 [Process] Disable failing tests on Windows 2015-08-26 13:41:45 +02:00
Nicolas Grekas
7f4f7131dd Merge branch '2.3' into 2.7
* 2.3:
  [Translation] Fix the string casting in the XliffFileLoader

Conflicts:
	src/Symfony/Component/Translation/Loader/XliffFileLoader.php
2015-08-26 12:49:32 +02:00
Nicolas Grekas
e924d567e9 Merge branch '2.3' into 2.7
* 2.3:
  Windows and Intl fixes
  Add appveyor.yml for C.I. on Windows
  [travis] merge php: nightly and deps=high test-matrix lines
  [Security] Add missing docblock in PreAuthenticatedToken

Conflicts:
	.travis.yml
	src/Symfony/Component/Filesystem/Tests/FilesystemTest.php
	src/Symfony/Component/HttpFoundation/JsonResponse.php
	src/Symfony/Component/Intl/DateFormatter/IntlDateFormatter.php
2015-08-26 12:48:03 +02:00
Christophe Coevoet
b856f62cd4 [Translation] Fix the string casting in the XliffFileLoader 2015-08-26 11:54:34 +02:00
Fabien Potencier
fed77a3d80 minor #15484 [Security] Add missing docblock in PreAuthenticatedToken (tgalopin)
This PR was merged into the 2.3 branch.

Discussion
----------

[Security] Add missing docblock in PreAuthenticatedToken

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

I noticed the `PreAuthenticatedToken` does not provide any dockblock about its constructor parameters so PHPStorm uses the `AbstractToken` parameters and think I'm using `PreAuthenticatedToken` badly.

This fix it by adding the missing docblock and I also added the string[] possibility for roles in `AbstractToken` as it's present in the code and the exception message.

Commits
-------

1dda0a6 [Security] Add missing docblock in PreAuthenticatedToken
2015-08-26 11:25:14 +02:00
Fabien Potencier
c13b5c1a43 bug #15575 Add appveyor.yml for C.I. on Windows (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

Add appveyor.yml for C.I. on Windows

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | YES, both on Travis (Linux) and on Appveyor (Windows)!
| Fixed tickets | #13934, #15049, #14259, #15045, #15444
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/5654

- testing two matrix lines:
  - one without mbtring nor fileinfo nor intl
  - one with these ext enables, intl version 51.2 so that almost no test is skipped on our Intl component
- bug fixes thanks to these harder testing conditions
- some display bug on appveyor, [reported here](http://help.appveyor.com/discussions/suggestions/197-support-ansi-color-codes).

Commits
-------

ea5d656 Windows and Intl fixes
8bbd8d9 Add appveyor.yml for C.I. on Windows
2015-08-26 11:00:07 +02:00
Nicolas Grekas
ea5d656ddd Windows and Intl fixes 2015-08-25 23:41:39 +02:00
SaschaDens
cbba07450e [VarDumper] fixed HtmlDumper to target specific the head tag 2015-08-25 18:19:32 +02:00
Abdellatif Ait boudad
ffdab9259a Merge branch '2.3' into 2.7
Conflicts:
	.travis.yml
	src/Symfony/Component/Translation/Loader/XliffFileLoader.php
2015-08-25 12:59:36 +00:00
Tobias Schultze
b9760efb02 consistently use str_replace to unify directory separators 2015-08-25 14:59:33 +02:00
Leo Feyer
3dcda1a8bd Support omitting the <target> node in an .xlf file. 2015-08-25 11:54:38 +00:00
Christophe Coevoet
f31fa8c786 Fix the handling of values for multiple choice types
Choice values must always be strings, but a place was missing the
casting, breaking the comparison of selected choices when the callback
does not return a string.
2015-08-25 11:17:05 +02:00
Tristan Darricau
e5d3f2567d [console] Use the description when no help is available 2015-08-24 18:58:35 +02:00
Fabien Potencier
9d698e7225 [Form] made deprecation notice more precise 2015-08-24 09:31:47 +02:00
Fabien Potencier
1d53ca9c92 fixed CS 2015-08-24 09:31:10 +02:00
Fabien Potencier
aad7963ede Merge branch '2.7' into 2.8
* 2.7:
  fixes CS
2015-08-24 09:18:02 +02:00
Fabien Potencier
c25e054d9e minor #15597 fixes CS (fabpot)
This PR was merged into the 2.7 branch.

Discussion
----------

fixes CS

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

c0e4495 fixes CS
2015-08-24 09:16:32 +02:00
Fabien Potencier
c0e4495b66 fixes CS 2015-08-24 09:13:45 +02:00
Fabien Potencier
07174c30de Merge branch '2.7' into 2.8
* 2.7:
  fixed CS
  [DependencyInjection] Add missing file headers
  fixed typo
  made Symfony compatible with both Twig 1.x and 2.x
  [FrameworkBundle] Fix precedence of xdebug.file_link_format
2015-08-24 08:37:50 +02:00
Fabien Potencier
ce93f61437 Merge branch '2.3' into 2.7
* 2.3:
  fixed CS
  [FrameworkBundle] Fix precedence of xdebug.file_link_format
2015-08-24 08:37:42 +02:00
Fabien Potencier
cbe6bc9ac4 fixed CS 2015-08-24 08:32:52 +02:00
Kévin Dunglas
6ad4877cde [DependencyInjection] Add missing file headers 2015-08-24 04:28:49 +02:00
Fabien Potencier
1fc31243de Merge branch '2.7' into 2.8
* 2.7:
  [Form] fixed BC-break on grouped choice lists
  [WebProfilerBundle] add import for Twig macro
  made Symfony compatible with both Twig 1.x and 2.x
  [Debug/VarDumper] minor cleanups
  [Form] only use PropertyPath if not already callable
  [Form] fix reworked choice list phpdoc
  [DoctrineBridge][Form] Add old tests to legacy group
  Fixed warning when command alias is longer than command name
  removed _self usage when not needed
  Implement the support of timezone objects in the stub IntlDateFormatter
  typofix - https://github.com/vlajos/misspell_fixer
  make doctrine mappings compiler pass exception message more understandable
  fix debug-ext 003.phpt
  [Yaml] Nested merge keys
  [FrameworkBundle] [Command] removed unused variable.
  [Debug] Enhance DebugClassLoader performance on MacOSX
  Add support for variadic arguments in the GetSetNormalizer
  [DoctrineBridge][Form] Fix IdReader when indexing by primary foreign key
  [DoctrineBridge][Form] Fix EntityChoiceList when indexing by primary foreign key
2015-08-22 09:42:07 +02:00
Fabien Potencier
b4de379a15 bug #15561 [Form] only use PropertyPath if not already callable (Tobion)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] only use PropertyPath if not already callable

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | could be in edge cases
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #15542
| License       | MIT
| Doc PR        | -

Currently it uses a PropertyPath even when the string is already a callable. But the callable string should have higher priority since that is also the one documented in ChoiceListFactoryInterface.

Commits
-------

470b140 [Form] only use PropertyPath if not already callable
2015-08-22 09:21:30 +02:00
Fabien Potencier
c1c5f1debb feature #15555 [VarDumper] Add caster for pgsql resources (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[VarDumper] Add caster for pgsql resources

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

If pgsql users could give feedback on this one, that would we great!

Commits
-------

6c3cfe5 [VarDumper] Add caster for pgsql resources
2015-08-22 09:20:08 +02:00
Fabien Potencier
5bede45e29 bug #15546 [Form] fixed BC-break on grouped choice lists (origaminal)
This PR was squashed before being merged into the 2.7 branch (closes #15546).

Discussion
----------

[Form] fixed BC-break on grouped choice lists

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

Commits
-------

12a7dd1 [Form] fixed BC-break on grouped choice lists
2015-08-22 09:11:11 +02:00
origaminal
12a7dd1714 [Form] fixed BC-break on grouped choice lists 2015-08-22 09:11:02 +02:00
Tobias Schultze
698341631b minor #15558 [Form] fix reworked choice list phpdoc (Tobion)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] fix reworked choice list phpdoc

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

Fix leftover phpdoc change from #15061

Commits
-------

747c1a5 [Form] fix reworked choice list phpdoc
2015-08-21 17:30:00 +02:00
Nicolas Grekas
6c3cfe59a4 [VarDumper] Add caster for pgsql resources 2015-08-18 14:21:03 +02:00
Nicolas Grekas
f1d379db7d [Debug/VarDumper] minor cleanups 2015-08-17 10:58:33 +02:00
Tobias Schultze
470b1400d6 [Form] only use PropertyPath if not already callable 2015-08-15 21:15:17 +02:00
Tobias Schultze
747c1a5aee [Form] fix reworked choice list phpdoc 2015-08-15 20:22:17 +02:00
Abdellatif Ait boudad
c8e05e39ed feature #15452 [Translator] [Xliff] Add support for target attributes. (marcosdsanchez)
This PR was merged into the 2.8 branch.

Discussion
----------

[Translator] [Xliff] Add support for target attributes.

The previous implementation ignored attributes in target nodes in xliff files
so they were lost when you loaded and then dumped the same file. This change
should fix that problem.

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

Commits
-------

b913695 Add support for target attributes.
2015-08-14 08:47:35 +00:00
Michael Lee
166e1750bc [expression-language] Code Cleanup for GetAttrNode
Use ``$this->nodes['attribute']->attributes['value']`` to
replace ``$this->nodes['attribute']->evaluate($functions, $values)``
for method call and property call.

| 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
2015-08-13 19:30:11 +08:00
Fabien Potencier
f1d588512f bug #15515 [Console] Fixed warning when command alias is longer than command name (dosten)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Fixed warning when command alias is longer than command name

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

Commits
-------

ecfe944 Fixed warning when command alias is longer than command name
2015-08-12 13:21:35 +02:00
Fabien Potencier
e8948671a1 Merge branch '2.3' into 2.7
* 2.3:
  Implement the support of timezone objects in the stub IntlDateFormatter
  [DoctrineBridge][Form] Fix EntityChoiceList when indexing by primary foreign key
2015-08-12 11:55:25 +02:00
Diego Saint Esteben
ecfe94465d Fixed warning when command alias is longer than command name 2015-08-11 17:08:57 -03:00
Marcos Sánchez
b913695682 Add support for target attributes.
The previous implementation ignored attributes in target nodes in xliff files
so they were lost when you load and then dump the same file. This change
should fix that problem.
2015-08-11 12:01:27 -03:00
Fabien Potencier
0ea11e4639 bug #15489 Implement the support of timezone objects in the stub IntlDateFormatter (stof)
This PR was merged into the 2.3 branch.

Discussion
----------

Implement the support of timezone objects in the stub IntlDateFormatter

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

As of PHP 5.5, the IntlDateFormatter accepts to use DateTimeZone or IntlTimeZone objects as timezone in the constructor (and in the new setTimeZone method) rather than timezone ids.
This is even the proper way to pass a timezone from a DateTime object as DateTimeZone names are not all valid ICU identifiers (and there is a PR on the Twig-extensions repo to use such feature to support things properly: https://github.com/twigphp/Twig-extensions/pull/148).

I'm considering this as a bugfix because it is a mismatch between the stub implementation and the real class.
Note that for simplicity, these objects are accepted on all PHP versions, as reproducing the behavior of older versions is not possible in the stub anyway (triggering a warning and making the instantiating with ``new`` return ``null``). We already have such differences anyway (the ``setTimeZone`` method exists in all PHP versions in the stub)

Commits
-------

2856abe Implement the support of timezone objects in the stub IntlDateFormatter
2015-08-11 14:30:44 +02:00
Christophe Coevoet
2856abe87f Implement the support of timezone objects in the stub IntlDateFormatter
As of PHP 5.5, the IntlDateFormatter accepts to use DateTimeZone or
IntlTimeZone objects as timezone in the constructor (and in the new
setTimeZone method) rather than timezone ids.
This is even the proper way to pass a timezone from a DateTime object as
DateTimeZone names are not all valid ICU identifiers.
2015-08-11 11:41:21 +02:00
Nicolas Grekas
c0ff72802c Merge branch '2.3' into 2.7
* 2.3:
  typofix - https://github.com/vlajos/misspell_fixer
  [Yaml] Nested merge keys
  Add support for variadic arguments in the GetSetNormalizer

Conflicts:
	src/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php
	src/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
	src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php
	src/Symfony/Component/Yaml/Tests/Fixtures/sfMergeKey.yml
2015-08-11 09:58:34 +02:00
Veres Lajos
0692ca97cd typofix - https://github.com/vlajos/misspell_fixer 2015-08-11 09:25:28 +02:00
Teoh Han Hui
73366d5281 [Yaml] Improve newline handling in folded scalar blocks 2015-08-11 05:02:12 +00:00
Issei.M
729902a33f [Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing 2015-08-10 22:07:21 +09:00
Fabien Potencier
620a3d4c69 bug #15426 [Serializer] Add support for variadic arguments in the GetSetNormalizer (stof)
This PR was merged into the 2.3 branch.

Discussion
----------

[Serializer] Add support for variadic arguments in the GetSetNormalizer

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

There were 2 broken cases:

- when the value was passed, the array was passed as argument, becoming the first value of the variadic array. The array needs to be spread into multiple arguments when calling the method
- when the value was missing, the code would throw a ReflectionException, similar to the issue reported in #13690, because a variadic argument is optional but does not have a default value

Commits
-------

704760b Add support for variadic arguments in the GetSetNormalizer
2015-08-09 10:58:38 +02:00
Fabien Potencier
0f56497cac bug #15480 [Yaml] Nested merge keys (mathroc)
This PR was merged into the 2.3 branch.

Discussion
----------

[Yaml] Nested merge keys

When trying to use nested merge keys in Yaml, the ref sometimes had the wrong value

eg, with:

```yaml
taz: &taz
    a: Steve
    w:
        p: 1234
nested:
    <<: *taz
    d: Doug
    w: &nestedref
        p: 12345
    z:
        <<: *nestedref
```

in this case, the ref `nestedref` had the value "Doug", which cause this error :

    Symfony\Component\Yaml\Exception\ParseException: YAML merge keys used with a scalar value instead of an array at line 38 (near "<<: *nestedref").

It now works as expected

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

note: this PR replace #15241

Commits
-------

500c57e [Yaml] Nested merge keys
2015-08-09 10:56:25 +02:00
Titouan Galopin
1dda0a615b [Security] Add missing docblock in PreAuthenticatedToken 2015-08-07 09:22:48 +02:00
Nicolas Grekas
7231598b4c bug #15443 [Debug] Enhance DebugClassLoader performance on MacOSX (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug] Enhance DebugClassLoader performance on MacOSX

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

Commits
-------

af0b8eb [Debug] Enhance DebugClassLoader performance on MacOSX
2015-08-07 08:54:57 +02:00
Elan Ruusamäe
18b6964744 fix debug-ext 003.phpt
in my environment the filename is filled, not "-"

$ php --version
PHP 5.5.27 (cli) (built: Jul 17 2015 12:32:05)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
2015-08-07 08:53:47 +02:00
Mathieu Rochette
500c57e6df [Yaml] Nested merge keys 2015-08-06 22:04:45 +02:00
Nicolas Grekas
5d8e00f457 Merge branch '2.7' into 2.8
* 2.7:
  Fix one dependency requirement

Conflicts:
	src/Symfony/Component/Serializer/composer.json
2015-08-06 11:13:37 +02:00
Nicolas Grekas
b08b43e313 Fix one dependency requirement 2015-08-06 11:12:43 +02:00
Nicolas Grekas
fceeb5d909 Merge branch '2.7' into 2.8
* 2.7:
  Clean wrong whitespaces
  [travis] Build phpunit with local components
  do not remove space between attributes
  [HttpFoundation] fixed the check of 'proxy-revalidate' in Response::mustRevalidate()
  Fix the retrieval of the default value for variadic arguments
  Annotated routes with a variadic parameter
  Fixing DbalSessionHandler to work with a Oracle "limitation" or bug?
  Update EngineInterface.php
  let Travis builds fail when PHP 7 jobs fail

Conflicts:
	.travis.yml
2015-08-05 17:58:16 +02:00
Fabien Potencier
a00687f43a feature #15416 [DependencyInjection] Added a way to define the priority of service decoration (dosten)
This PR was merged into the 2.8 branch.

Discussion
----------

[DependencyInjection] Added a way to define the priority of service decoration

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #10634
| License       | MIT
| Doc PR        | symfony/symfony-docs#5600

This PR adds a way to define the priority of service decoration, so, the service with the highest priority will be applied first (the default priority is zero).

```yaml
services:
    foo:
        class: Foo

    bar:
        class: Bar
        arguments: ['@bar.inner']
        decorates: foo
        public: false

    foobar:
        class: Foobar
        arguments: ['@foobar.inner']
        decorates: foo
        decoration_priority: 1
        public: false
```

This will result in this code:

```php
$this->services['foo'] = new Bar(new Foobar(new Foo)));
```

Commits
-------

75c98cb Added a way to define the priority of service decoration
2015-08-05 17:50:26 +02:00
Nicolas Grekas
9ce3200436 Merge branch '2.3' into 2.7
* 2.3:
  Clean wrong whitespaces
  [travis] Build phpunit with local components
  do not remove space between attributes
  [HttpFoundation] fixed the check of 'proxy-revalidate' in Response::mustRevalidate()
  Fix the retrieval of the default value for variadic arguments
  Annotated routes with a variadic parameter
  Fixing DbalSessionHandler to work with a Oracle "limitation" or bug?
  Update EngineInterface.php
  let Travis builds fail when PHP 7 jobs fail

Conflicts:
	.travis.yml
	src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig
2015-08-05 17:45:00 +02:00
Michaël Perrin
f5ca270e75 [Console] Handle false return value from readline
"readline()" returns "false" when the user presses CTRL+D.
2015-08-04 17:59:05 +02:00
Nicolas Grekas
af0b8eb26c [Debug] Enhance DebugClassLoader performance on MacOSX 2015-08-04 12:48:55 +02:00
Christophe Coevoet
328ec0133e bug #15263 [HttpFoundation] fixed the check of 'proxy-revalidate' in Response::mustRevalidate() (axiac)
This PR was squashed before being merged into the 2.3 branch (closes #15263).

Discussion
----------

[HttpFoundation] fixed the check of 'proxy-revalidate' in Response::mustRevalidate()

| Q             | A
| ------------- | ---
| Fixed tickets | #15262
| License       | MIT

'proxy-revalidate' is not a header on its own but a 'Cache-Control' directive
See http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9

Commits
-------

6c22f0a [HttpFoundation] fixed the check of 'proxy-revalidate' in Response::mustRevalidate()
2015-08-03 19:22:19 +02:00
Valentin VALCIU
6c22f0af24 [HttpFoundation] fixed the check of 'proxy-revalidate' in Response::mustRevalidate() 2015-08-03 19:22:14 +02:00
Javier Eguiluz
68f0818a6c Allow to define Enum nodes with 1 single element 2015-08-03 10:27:53 +02:00
Nicolas Grekas
6888c1f256 Merge branch '2.7' into 2.8
* 2.7:
  [Locale] Fix Intl requirement
  Better Iban Validation

Conflicts:
	src/Symfony/Component/Locale/composer.json
	src/Symfony/Component/Validator/Constraints/Iban.php
2015-08-02 10:31:38 +02:00
Christophe Coevoet
704760b276 Add support for variadic arguments in the GetSetNormalizer 2015-08-01 21:55:55 +02:00
Christophe Coevoet
73c5eff44d Fix the retrieval of the default value for variadic arguments 2015-08-01 21:33:42 +02:00
Walter Dal Mut
9b7d4c7613 Annotated routes with a variadic parameter
There are no variadic default values and that generate a fatal error.
2015-08-01 21:19:19 +02:00
Nicolas Grekas
e23eb56ffe [Locale] Fix Intl requirement 2015-08-01 18:50:08 +02:00
Johnny Peck
d60b2bba60 Update EngineInterface.php
Grammer in doc comment.
2015-08-01 16:10:55 +02:00
Fabien Potencier
a4100f95e7 bug #13828 [Validator] Improve Iban Validation (afurculita)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] Improve Iban Validation

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

This PR adds 2 more checks for better IBAN validation: the validation of the country code (represented by the first 2 letters) and the format validation according to the country format regex based on http://www.swift.com/dsp/resources/documents/IBAN_Registry.pdf.

Commits
-------

07b38de Better Iban Validation
2015-08-01 14:02:04 +02:00
Fabien Potencier
c856a010a2 feature #15382 [Console] Use readline for user input when available #DX (michaelperrin)
This PR was merged into the 2.8 branch.

Discussion
----------

[Console] Use readline for user input when available #DX

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

Given I am entering data in an user input
When I use left and right keys to make some changes in what I have typed
Then the cursor should move accordingly instead of adding characters at the end of the line

To make it simple: using the arrow keys (←  →)  to make changes to what I already typed would be much handier than getting `^[[D` and `^[[C` characters in the terminal and having to delete all chars to type everything again.

I could not add any extra tests to this as the STDIN can't be used during tests. But they are not breaking and I tried again all types of questions (text, choices, hidden) by myself.

Note that `readline` can't be used for hidden questions, as `stty -echo` is not taken into account.

Commits
-------

0534899 [Console] Fix Symfony coding standards violations
8b63d62 [Console] Use readline for user input when available
2015-08-01 13:59:20 +02:00
Michaël Perrin
05348991c2 [Console] Fix Symfony coding standards violations 2015-08-01 11:47:02 +02:00
Michaël Perrin
8b63d6209d [Console] Use readline for user input when available
This allows to use arrow keys in the terminal instead of having weird characters
2015-08-01 11:46:56 +02:00
Nicolas Grekas
48aa3e1453 Merge branch '2.7' into 2.8
* 2.7:
  [Locale] Add missing @group legacy annotations
  Fix security-acl deps
  Fix doctrine mapping validation type error
  Remove skipping of tests based on ICU data version whenever possible
  Fix the handling of null as locale in the stub intl classes
  do not dump leading backslashes in class names
  fix issue #15377
  Skip ::class constant
  [Config] type specific check for emptiness

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/TimeTypeTest.php
2015-08-01 11:43:59 +02:00
Nicolas Grekas
07fb308225 [Locale] Add missing @group legacy annotations 2015-08-01 11:35:48 +02:00
Nicolas Grekas
9fdf314cfa [Form] Add missing @group legacy annotations 2015-08-01 11:27:02 +02:00
Nicolas Grekas
2abdd50414 [Form] Use FQCN form types 2015-08-01 11:22:02 +02:00
Alexandru Furculita
07b38dea1f Better Iban Validation
Added more country-based tests, added new error type

The error type `NOT_SUPPORTED_COUNTRY_CODE_ERROR` has been added for the
IBANs from unsupported countries, for which we don't have defined a
format. We will not check anymore if a country code against the Intl
component.
The tests have been completed with more tests for each contry we have
formats defined.

The  4 character length check and the case check has been removed. The message code constants

`TOO_SHORT_ERROR` and `INVALID_CASE_ERROR` has been deprecated
2015-08-01 12:20:04 +03:00
Nicolas Grekas
3d7d378cbc Merge branch '2.3' into 2.7
* 2.3:
  Fix security-acl deps
  Fix doctrine mapping validation type error
  Remove skipping of tests based on ICU data version whenever possible
  Fix the handling of null as locale in the stub intl classes
  do not dump leading backslashes in class names
  Skip ::class constant
  [Config] type specific check for emptiness

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Component/Config/Tests/Definition/ScalarNodeTest.php
	src/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container9.php
	src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformerTest.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTimeTypeTest.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php
	src/Symfony/Component/Locale/Tests/LocaleTest.php
	src/Symfony/Component/Locale/Tests/Stub/StubLocaleTest.php
	src/Symfony/Component/Validator/Tests/Constraints/CountryValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/CurrencyValidatorTest.php
2015-08-01 11:05:17 +02:00
Fabien Potencier
2966cd2b89 minor #15412 Remove skipping of tests based on ICU data version whenever possible (stof)
This PR was merged into the 2.3 branch.

Discussion
----------

Remove skipping of tests based on ICU data version whenever possible

| 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

Many tests being skipped based on the ICU data version don't actually need it. They might be testing code paths not relying on Intl, or not performing assertions on the values depending on the ICU data and so not dependant on the exact ICU version being used.

this is somewhat related to https://github.com/symfony/symfony/issues/14259 as it allows to reduce the number of tests not running on Travis.

Commits
-------

7994513 Remove skipping of tests based on ICU data version whenever possible
2015-08-01 09:51:56 +02:00
Fabien Potencier
f1fa4238b7 bug #15380 do not dump leading backslashes in class names (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

do not dump leading backslashes in class names

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

Commits
-------

ad6cb10 do not dump leading backslashes in class names
2015-08-01 09:45:23 +02:00
Fabien Potencier
3b6d2a3fa3 bug #15376 [ClassMapGenerator] Skip ::class constant (WouterJ)
This PR was merged into the 2.3 branch.

Discussion
----------

[ClassMapGenerator] Skip ::class constant

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

Commits
-------

a336f0e Skip ::class constant
2015-08-01 09:35:45 +02:00
Nicolas Grekas
3d12946d0d Fix typo 2015-08-01 09:19:20 +02:00
Fabien Potencier
bffca95112 feature #15013 [Security] Removed security-acl from the core (iltar)
This PR was squashed before being merged into the 2.8 branch (closes #15013).

Discussion
----------

[Security] Removed security-acl from the core

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

The `Security\Acl` is removed from the core and is loaded from its own repository. All tests were passing and this is fully backwards compatible. I have removed all but the Test files in the first step and added the dependency to verify the Test were still working with the package dependency. The second step was to remove the remaining test files and tests are still running for both the Bundle and the Framework. Once the Read-Only repository is a full standalone repository, this PR can be merged.

- [x] Remove component from the core
- [ ] Remove read-only from https://github.com/symfony/security-acl

Once this PR is merged, I can start working on splitting the SecurityBundle and extracting the ACL part to the AclBundle.

/cc @fabpot

Commits
-------

b26a449 [Security] Removed security-acl from the core
2015-08-01 09:18:32 +02:00
Iltar van der Berg
b26a449d46 [Security] Removed security-acl from the core 2015-08-01 09:17:24 +02:00
Fabien Potencier
8d049c51d3 fixed typos 2015-08-01 08:45:26 +02:00
Fabien Potencier
5b38d74128 feature #15079 [Form] Deprecated FormTypeInterface::getName() and passing of type instances (webmozart)
This PR was merged into the 2.8 branch.

Discussion
----------

[Form] Deprecated FormTypeInterface::getName() and passing of type instances

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

#### Type Names

This PR deprecates the definition of the `getName()` method of form types. See #15008 for a more detailed description.

Before:

```php
class MyType extends AbstractType
{
    public function getName()
    {
        return 'mytype';
    }

    // ...
}
```

After:

```php
class MyType extends AbstractType
{
    // ...
}
```

You should always reference other types by their fully-qualified class names. Thanks to PHP 5.5, that's easy:

Before:

```php
$form = $this->createFormBuilder()
    ->add('name', 'text')
    ->add('age', 'integer')
    ->getForm();
```

After:

```php
$form = $this->createFormBuilder()
    ->add('name', TextType::class)
    ->add('age', IntegerType::class)
    ->getForm();
```

#### Type Instances

Furthermore, passing of type instances is deprecated.

Before:

```php
$form = $this->createForm(new AuthorType());
```

After:

```php
$form = $this->createForm(AuthorType::class);
```

#### DIC Aliases

When registering a type in the DIC, you should omit the "alias" attribute now.

Before:

```xml
<service id="my.type" class="Vendor\Type\MyType">
    <tag name="form.type" alias="mytype" />
    <argument type="service" id="some.service.id" />
</service>
```

After:

```xml
<service id="my.type" class="Vendor\Type\MyType">
    <tag name="form.type" />
    <argument type="service" id="some.service.id" />
</service>
```

Types without dependencies don't need to be registered in the DIC as they can be instantiated right away.

#### Template Block Prefixes

By default, the class name of the type in underscore notation minus "Type" suffix is used as Twig template block prefix (e.g. `UserProfileType` => `user_profile_*`). If you want to customize that, overwrite the new `getBlockPrefix()` method in your type:

```php
class UserProfileType extends AbstractType
{
    public function getBlockPrefix()
    {
        return 'profile';
    }

    // ...
}
```

Commits
-------

3d9e5de [Form] Deprecated FormTypeInterface::getName() and passing of type instances
2015-08-01 08:44:19 +02:00
Nicolas Grekas
a4d2d31f1b [Debug] Deprecate ExceptionHandler::createResponse 2015-08-01 08:34:55 +02:00
Nicolas Grekas
68fdb02485 Merge branch '2.7' into 2.8
* 2.7:
  [Debug] cleanup ExceptionHandlerTest
  bumped Symfony version to 2.7.4
  updated VERSION for 2.7.3
  updated CHANGELOG for 2.7.3
  fixed typo in translation keys
  Fix the return value on error for intl methods returning arrays
  Fix merge
  Fix missing _route parameter notice in RouterListener logging case

Conflicts:
	src/Symfony/Component/Debug/composer.json
	src/Symfony/Component/HttpKernel/Kernel.php
2015-08-01 08:34:21 +02:00
Fabien Potencier
0de8905919 feature #15285 [Config] deprecate cannotBeEmpty() for boolean and numeric nodes (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[Config] deprecate cannotBeEmpty() for boolean and numeric nodes

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

Commits
-------

d4473f3 [Config] deprecate cannotBeEmpty() for boolean and numeric nodes
2015-08-01 08:21:41 +02:00
Fabien Potencier
9293c439a5 bug #15170 [Config] type specific check for emptiness (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[Config] type specific check for emptiness

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

Commits
-------

0199fbf [Config] type specific check for emptiness
2015-08-01 08:17:42 +02:00
Fabien Potencier
85c10991d3 bug #15411 Fix the handling of null as locale in the stub intl classes (stof)
This PR was merged into the 2.3 branch.

Discussion
----------

Fix the handling of null as locale in the stub intl classes

The Intl extension accepts null as locale in formatters and the collator and will use the default locale in such case. Given that the stub implementation considers that the default locale is always 'en', it should be supported here too instead of forcing libraries to pass the default locale explicitly. For instance, ``Twig_Extensions_Extension_Intl`` relies on the fact that ``null`` as locale uses the default one: https://github.com/twigphp/Twig-extensions/pull/94

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

Commits
-------

d6db6ad Fix the handling of null as locale in the stub intl classes
2015-08-01 08:11:19 +02:00
Fabien Potencier
9058904d2b minor #15417 [Debug] cleanup ExceptionHandlerTest (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug] cleanup ExceptionHandlerTest

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

Commits
-------

51bacc6 [Debug] cleanup ExceptionHandlerTest
2015-08-01 07:54:51 +02:00
Diego Saint Esteben
75c98cba03 Added a way to define the priority of service decoration 2015-07-31 13:03:15 -03:00
Nicolas Grekas
51bacc6d41 [Debug] cleanup ExceptionHandlerTest 2015-07-31 17:18:52 +02:00
Fabien Potencier
15d6b8aceb bumped Symfony version to 2.7.4 2015-07-31 15:51:28 +02:00
Fabien Potencier
a9af4708b4 updated VERSION for 2.7.3 2015-07-31 15:24:45 +02:00
Fabien Potencier
c7ca0b3629 Merge branch '2.3' into 2.7
* 2.3:
  Fix the return value on error for intl methods returning arrays
2015-07-31 15:24:29 +02:00
Fabien Potencier
8d025cbc91 fixed typo in translation keys 2015-07-31 08:49:15 +02:00
Christophe Coevoet
7994513e04 Remove skipping of tests based on ICU data version whenever possible
Many tests being skipped based on the ICU data version don't actually
need it. They might be testing code paths not relying on Intl, or not
performing assertions on the values depending on the ICU data and so not
dependant on the exact ICU version being used.
2015-07-30 18:05:29 +02:00
Christophe Coevoet
801e5e2805 Fix the return value on error for intl methods returning arrays
When the resource is missing, an empty array should be returned rather
than null to respect the interface saying an array is always returned.
2015-07-30 16:28:34 +02:00
Christophe Coevoet
d6db6ad7f7 Fix the handling of null as locale in the stub intl classes
The Intl extension accepts null as locale in formatters and the
collator and will use the default locale in such case. Given that the
stub implementation considers that the default locale is always 'en', it
should be supported here too instead of forcing libraries to pass the
default locale explicitly.
2015-07-30 14:20:01 +02:00
Nicolas Grekas
bf8a923199 Merge branch '2.3' into 2.7
* 2.3:
  Fix merge
  Fix missing _route parameter notice in RouterListener logging case

Conflicts:
	src/Symfony/Component/HttpKernel/EventListener/RouterListener.php
2015-07-30 09:39:20 +02:00
Nicolas Grekas
6b02601e7b Fix merge 2015-07-30 09:37:09 +02:00
Daniel Espendiller
0ce91a6019 Fix missing _route parameter notice in RouterListener logging case 2015-07-29 09:46:44 +02:00
Nicolas Grekas
2655072bfd Merge branch '2.7' into 2.8
* 2.7:
  [php7] Fix for substr() always returning a string
  [Security] Do not save the target path in the session for a stateless firewall
  Fix calls to HttpCache#getSurrogate triggering E_USER_DEPRECATED errors.
  [DependencyInjection] fixed FrozenParameterBag and improved Parameter…
2015-07-29 09:12:56 +02:00
Christian Flothmann
ad6cb10e63 do not dump leading backslashes in class names 2015-07-28 20:25:33 +02:00
Nicolas Grekas
d6dfe9871c [php7] Fix for substr() always returning a string 2015-07-28 17:18:12 +02:00
Nicolas Grekas
c37387dc02 Merge branch '2.3' into 2.7
* 2.3:
  [php7] Fix for substr() always returning a string
  [Security] Do not save the target path in the session for a stateless firewall
  [DependencyInjection] fixed FrozenParameterBag and improved Parameter…

Conflicts:
	src/Symfony/Component/Debug/Tests/ErrorHandlerTest.php
	src/Symfony/Component/Security/Http/Firewall/ExceptionListener.php
2015-07-28 16:07:07 +02:00
Nicolas Grekas
77ee866dd8 [php7] Fix for substr() always returning a string 2015-07-28 14:38:40 +02:00
Jérémy Derussé
0e934637df Small optimization in AccessDecisionManager 2015-07-28 13:34:41 +02:00
WouterJ
a336f0e98e Skip ::class constant 2015-07-27 20:12:35 +02:00
Grégoire Pineau
335825363d [Security] Do not save the target path in the session for a stateless firewall 2015-07-26 20:14:09 +02:00
Matt Farmer
32d964ba39 Fix calls to HttpCache#getSurrogate triggering E_USER_DEPRECATED errors. 2015-07-26 20:11:55 +02:00
Fabien Potencier
f1ebfd7b47 minor #15172 [DependencyInjection] fixed FrozenParameterBag and improved Parameter… (Tomaz Ahlin)
This PR was squashed before being merged into the 2.3 branch (closes #15172).

Discussion
----------

[DependencyInjection] fixed FrozenParameterBag and improved Parameter…

The ParameterBagInterface was missing some @throws annotations, so the FrozenParameterBag class was a violation of Liskov subtitution principle. Also the ParameterBagInterface was missing the remove method.

(Optionally the ParameterBagInterface can be later split into two smaller interfaces, because the FrozenParameterBag shouldn't have the add, remove methods in the first place.)

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

I have also fixed removing elements from FrozenParameterBag, as introduced by @satahippy
https://github.com/symfony/DependencyInjection/pull/8

Commits
-------

3ad0794 [DependencyInjection] fixed FrozenParameterBag and improved Parameter…
2015-07-26 20:10:55 +02:00
Tomaz Ahlin
3ad0794aa1 [DependencyInjection] fixed FrozenParameterBag and improved Parameter… 2015-07-26 20:10:26 +02:00
Fabien Potencier
96e211d2da Merge branch '2.7' into 2.8
* 2.7:
  [Yaml] throw a ParseException on invalid data type
  [TwigBridge] type-dependent path discovery
  Resources as string have the same problem
  Introduce failing test case when a SplFileInfo object is passed to the extract() method in the TwigExtractor.
  #15331 add infos about deprecated classes to UPGRADE-3.0
  [Asset] removed unused private property.
  [Security] removed useless else condition in SwitchUserListener class.
  [travis] Tests deps=low with PHP 5.6
  [Console] Fix console output with closed stdout
2015-07-26 11:09:29 +02:00
Fabien Potencier
cd8ccffbad Merge branch '2.6' into 2.7
* 2.6:
  [Yaml] throw a ParseException on invalid data type
  #15331 add infos about deprecated classes to UPGRADE-3.0
  [Security] removed useless else condition in SwitchUserListener class.
  [travis] Tests deps=low with PHP 5.6
  [Console] Fix console output with closed stdout
2015-07-26 11:08:49 +02:00
Fabien Potencier
939c305374 Merge branch '2.3' into 2.6
* 2.3:
  #15331 add infos about deprecated classes to UPGRADE-3.0
  [Security] removed useless else condition in SwitchUserListener class.
  [travis] Tests deps=low with PHP 5.6
  [Console] Fix console output with closed stdout
2015-07-26 11:08:40 +02:00
Christian Flothmann
adc6b3067d [Yaml] throw a ParseException on invalid data type
Without this check, PHP would trigger a warning when an array was passed
to `trim()`. The parser must throw a `ParseException` instance on a
malformed YAML string instead.
2015-07-26 10:59:42 +02:00
Hugo Hamon
a1772b6a23 [Asset] removed unused private property. 2015-07-25 23:47:31 +03:00
Nicolas Grekas
415e6f658f Merge branch '2.7' into 2.8
* 2.7:
  [Twig+FrameworkBundle] Fix forward compat with Form 2.8
  [2.6] Static Code Analysis for Components
  [Security/Http] Fix test relying on a private property
  [Serializer] Fix bugs reported in b5990be491 (commitcomment-12301266)

Conflicts:
	src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php
	src/Symfony/Component/Security/Http/Tests/Firewall/AnonymousAuthenticationListenerTest.php
2015-07-24 10:37:00 +02:00
Nicolas Grekas
38b9a88968 Merge branch '2.6' into 2.7
* 2.6:
  [2.6] Static Code Analysis for Components
  [Security/Http] Fix test relying on a private property
2015-07-24 10:19:55 +02:00
Fabien Potencier
8eb86818f2 minor #15337 [Form] Fix not-BC test assertion (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[Form] Fix not-BC test assertion

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

The 2.6 branch is failing because of this case for `Validation::API_VERSION_2_4`, that can't work because `$this->context` is not a mock object, thus has no "expect" method.
See https://travis-ci.org/symfony/symfony/jobs/72100346#L2902
This got unnoticed because only 2.6 is testing the 2.4 validator api.

Commits
-------

5ef7ae9 [Form] Fix not-BC test assertion
2015-07-24 09:10:29 +02:00
Fabien Potencier
e60795691c bug #15330 [Console] Fix console output with closed stdout (jakzal)
This PR was merged into the 2.3 branch.

Discussion
----------

[Console] Fix console output with closed stdout

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

Commits
-------

534d9fc [Console] Fix console output with closed stdout
2015-07-23 11:15:22 +02:00
Fabien Potencier
08f696c3e6 minor #15317 [2.6] Static Code Analysis for Components (kalessil)
This PR was squashed before being merged into the 2.6 branch (closes #15317).

Discussion
----------

[2.6] Static Code Analysis for Components

| 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

Static Code Analysis with Php Inspections (EA Extended):
    - fixed couple potential issues when code is running in a phar-file

Commits
-------

37a2353 [2.6] Static Code Analysis for Components
2015-07-23 04:17:28 +02:00
Vladimir Reznichenko
37a235394e [2.6] Static Code Analysis for Components 2015-07-23 04:17:26 +02:00
Fabien Potencier
49959000fc feature #15185 Implement resettable containers (stof)
This PR was merged into the 2.8 branch.

Discussion
----------

Implement resettable containers

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

This allows to release remove references to all services during shutdown, giving much more chances to destruct services and the container through refcounting rather than waiting GC, as it will break cycles between the container and container-aware services.

There is a small BC break for a very edge case: if someone keeps a reference to the container and then shutdowns the kernel, the container would now be cleared and so would not work as intended anymore. But I don't think it is a supported use case. If you shutdown the kernel, the container of this kernel is released by the kernel and should not be used anymore IMO.
Thus, shutting down the kernel generally does not happen except during tests on teardown.

I'm not sure a doc PR is needed here: users of the fullstack framework should never use this feature (the kernel is using it for them). What do you think @weaverryan ?

Commits
-------

4457745 Implement resettable containers
2015-07-23 04:06:16 +02:00
Nicolas Grekas
2d29ac1e10 [Security/Http] Fix test relying on a private property 2015-07-22 23:35:10 +02:00
Kévin Dunglas
65e9f268fe [Serializer] Fix bugs reported in b5990be491 (commitcomment-12301266) 2015-07-22 21:42:44 +02:00
Nicolas Grekas
5ef7ae9647 [Form] Fix not-BC test assertion 2015-07-22 19:02:20 +02:00
Fabien Potencier
86b218ec0e feature #15131 [Security] Moved Simple{Form,Pre}AuthenticatorInterfaces to Security\Http (WouterJ)
This PR was squashed before being merged into the 2.8 branch (closes #15131).

Discussion
----------

[Security] Moved Simple{Form,Pre}AuthenticatorInterfaces to Security\Http

Description
---

The `SimpleFormAuthenticatorInterface` and `SimplePreAuthenticatorInterface` rely on `Request`, which means it's a Http land class. This means they don't belong in core.

Having a form login that doesn't depend on the request is an option as well (e.g. a console application might use the question helper to implement a "form" login). However, then there is a need for a new abstraction of the request. I don't think it's worth it.

Furthermore, the only classes typehinting/relying on this interfaces can be found in `Security\Http`.

Implementation
---

The new interfaces extend the old ones for better backwards compability. Symfony doesn't trigger deprecation errors for interfaces, see 6f57b7b552

PR Info Table
---

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

Commits
-------

ebb2064 [Security] Moved Simple{Form,Pre}AuthenticatorInterfaces to Security\Http
2015-07-22 15:13:29 +02:00
WouterJ
ebb20640af [Security] Moved Simple{Form,Pre}AuthenticatorInterfaces to Security\Http 2015-07-22 15:13:13 +02:00
Hugo Hamon
1fc03155d4 [Security] removed useless else condition in SwitchUserListener class. 2015-07-22 15:05:05 +02:00
Nicolas Grekas
753812e746 [2.8] Fix 3.0 incompatible deps 2015-07-22 14:27:44 +02:00
Nicolas Grekas
6d82fb8c0c Merge branch '2.7' into 2.8
* 2.7:
  [HttpKernel] Fix lowest dep
  [Security] fix check for empty usernames
  [Form] updated exception message of ButtonBuilder::setRequestHandler()
  [travis] Fix deps=high jobs
  Fix typo 'assets.package' => 'assets.packages' in UPGRADE-2.7
  [Serializer] Simplify AbstractNormalizer::prepareForDenormalization()
  [HttpFoundation] [PSR-7] Allow to use resources as content body and to return resources from string content
  [DependencyInjection] Remove unused code in XmlFileLoader
  [HttpFoundation] Behaviour change in PHP7 for substr
  bumped Symfony version to 2.3.32
  updated VERSION for 2.3.31
  update CONTRIBUTORS for 2.3.31
  updated CHANGELOG for 2.3.31

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Component/HttpKernel/composer.json
2015-07-22 13:24:41 +02:00
Nicolas Grekas
5d841a2b03 Merge branch '2.6' into 2.7
* 2.6:
  [HttpKernel] Fix lowest dep

Conflicts:
	src/Symfony/Component/HttpKernel/composer.json
2015-07-22 13:20:14 +02:00
Nicolas Grekas
07b3fa9c1c [HttpKernel] Fix lowest dep 2015-07-22 13:18:53 +02:00
Nicolas Grekas
bf889d3534 Merge branch '2.6' into 2.7
* 2.6:
  [Security] fix check for empty usernames
  [Form] updated exception message of ButtonBuilder::setRequestHandler()
  [travis] Fix deps=high jobs
  [HttpFoundation] [PSR-7] Allow to use resources as content body and to return resources from string content
  [DependencyInjection] Remove unused code in XmlFileLoader
  [HttpFoundation] Behaviour change in PHP7 for substr
  bumped Symfony version to 2.3.32
  updated VERSION for 2.3.31
  update CONTRIBUTORS for 2.3.31
  updated CHANGELOG for 2.3.31

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/FrameworkBundle/composer.json
2015-07-22 12:11:00 +02:00
Nicolas Grekas
b0d97b71c5 Merge branch '2.3' into 2.6
* 2.3:
  [Security] fix check for empty usernames
  [Form] updated exception message of ButtonBuilder::setRequestHandler()
  [travis] Fix deps=high jobs
  [HttpFoundation] [PSR-7] Allow to use resources as content body and to return resources from string content
  [DependencyInjection] Remove unused code in XmlFileLoader
  [HttpFoundation] Behaviour change in PHP7 for substr
  bumped Symfony version to 2.3.32
  updated VERSION for 2.3.31
  update CONTRIBUTORS for 2.3.31
  updated CHANGELOG for 2.3.31

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
	src/Symfony/Component/HttpKernel/Kernel.php
2015-07-22 12:08:40 +02:00
Christophe Coevoet
4457745929 Implement resettable containers
This allows to remove references to all services during shutdown, giving
much more chances to destruct services and the container through
refcounting rather than waiting GC, as it will break cycles between the
container and container-aware services.
2015-07-22 10:09:28 +02:00
Jakub Zalas
534d9fc560 [Console] Fix console output with closed stdout 2015-07-22 09:03:09 +01:00
Fabien Potencier
0da0f9eb43 bug #15326 [Security] fix check for empty usernames (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[Security] fix check for empty usernames

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

Commits
-------

6585fe4 [Security] fix check for empty usernames
2015-07-22 09:58:47 +02:00
Christian Flothmann
6585fe45a2 [Security] fix check for empty usernames 2015-07-22 08:52:48 +02:00
Issei.M
b483ee2d02 [Form] updated exception message of ButtonBuilder::setRequestHandler() 2015-07-22 05:26:59 +02:00
Kévin Dunglas
72dce30309 [Serializer] Simplify AbstractNormalizer::prepareForDenormalization() 2015-07-19 14:40:25 +02:00
Fabien Potencier
5626d73992 Merge branch '2.7' into 2.8
* 2.7:
  [HttpFoundation] Fix Response::closeOutputBuffers() for HHVM 3.3
  [Console] Set QuestionHelper max attempts in tests
  [Form] Fix a BC break in the entity
  fix broken ChoiceQuestion
  bumped Symfony version to 2.7.3
  updated VERSION for 2.7.2
  updated CHANGELOG for 2.7.2
  bumped Symfony version to 2.6.11
  updated VERSION for 2.6.10
  updated CHANGELOG for 2.6.10
  [PropertyAccess] setValue & isWritable loops must only stops on reference and object. References can also be arrays and if the loop stops the value is never set in the object. (Breaks since 2.6.5 commit e3e4695)
2015-07-16 14:22:14 +02:00
Fabien Potencier
99f3475a2a Merge branch '2.6' into 2.7
* 2.6:
  [HttpFoundation] Fix Response::closeOutputBuffers() for HHVM 3.3
  bumped Symfony version to 2.6.11
  updated VERSION for 2.6.10
  updated CHANGELOG for 2.6.10
  [PropertyAccess] setValue & isWritable loops must only stops on reference and object. References can also be arrays and if the loop stops the value is never set in the object. (Breaks since 2.6.5 commit e3e4695)
2015-07-16 14:21:55 +02:00
Fabien Potencier
510b2d2de6 bug #15249 [HttpFoundation] [PSR-7] Allow to use resources as content body and to return resources from string content (dunglas)
This PR was squashed before being merged into the 2.3 branch (closes #15249).

Discussion
----------

[HttpFoundation] [PSR-7] Allow to use resources as content body and to return resources from string content

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

* Allows to fix tests of https://github.com/symfony/psr-http-message-bridge with PHP 5.6.
* Ease the transition to PSR-7 (in PSR-7, almost everything is stream - #15186)

Maybe should I open it against 2.8 but it can be considered a bug fix at least for the part "returning a string as a resource".

Commits
-------

059964d [HttpFoundation] [PSR-7] Allow to use resources as content body and to return resources from string content
2015-07-16 13:32:10 +02:00
Kévin Dunglas
059964daf3 [HttpFoundation] [PSR-7] Allow to use resources as content body and to return resources from string content 2015-07-16 13:31:59 +02:00
Jakub Zalas
ba129041ba [DependencyInjection] Forbid container cloning 2015-07-16 11:10:53 +01:00
Nicolas Grekas
1adb065d70 [HttpFoundation] Fix Response::closeOutputBuffers() for HHVM 3.3 2015-07-16 10:44:13 +02:00
Fabien Potencier
d6af4ad7bf bug #15282 [HttpFoundation] Behaviour change in PHP7 for substr (Nicofuma)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpFoundation] Behaviour change in PHP7 for substr

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

In PHP7 the behaviour of substr() changed.
To resume: "Truncating an entire string should result in a string."

See: https://bugs.php.net/bug.php?id=62922

Commits
-------

ba6000b [HttpFoundation] Behaviour change in PHP7 for substr
2015-07-16 01:29:21 +02:00
Kévin Dunglas
7fa79dadba [DependencyInjection] Remove unused code in XmlFileLoader 2015-07-15 23:26:13 +02:00
Christian Flothmann
0199fbf545 [Config] type specific check for emptiness 2015-07-15 19:51:32 +02:00
Christian Flothmann
d4473f30f8 [Config] deprecate cannotBeEmpty() for boolean and numeric nodes 2015-07-15 19:30:30 +02:00
Tristan Darricau
ba6000baff [HttpFoundation] Behaviour change in PHP7 for substr
In PHP7 the behaviour of substr() changed.
To resume: "Truncating an entire string should result in a string."

See: https://bugs.php.net/bug.php?id=62922
2015-07-15 15:30:38 +02:00
Jakub Zalas
23bc2649ba [Console] Set QuestionHelper max attempts in tests
Otherwise the process will block if a test fails.
2015-07-15 08:34:36 +01:00
Sebastiaan Stok
3fcf61e664 fix broken ChoiceQuestion 2015-07-14 11:47:38 +02:00
Fabien Potencier
7783573d16 bug #15250 [PropertyAccess] BC Break since 2.6.5 (Nicolas Macherey)
This PR was merged into the 2.6 branch.

Discussion
----------

[PropertyAccess] BC Break since 2.6.5

setValue & isWratable loops must only stops on reference and object. References can also be arrays and if the loop stops the value is never set in the object. (Breaks since 2.6.5 commit e3e4695)

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

This merge request fixes the following cases taht was working with version previous to 2.6.5:

A class with a property myArray which can be a multi dimensional array can now be accesed using myArray[foo][bar][baz]
Previously only myArray[foo] was working the break is since commit e3e4695

Commits
-------

1dcca1a [PropertyAccess] setValue & isWritable loops must only stops on reference and object. References can also be arrays and if the loop stops the value is never set in the object. (Breaks since 2.6.5 commit e3e4695)
2015-07-14 08:51:41 +02:00
Fabien Potencier
095bfd61ca bumped Symfony version to 2.7.3 2015-07-13 22:39:19 +02:00
Fabien Potencier
969d709ad4 updated VERSION for 2.7.2 2015-07-13 21:27:49 +02:00
Fabien Potencier
1e668dd805 bumped Symfony version to 2.6.11 2015-07-13 11:49:29 +02:00
Fabien Potencier
e246af5f3b updated VERSION for 2.6.10 2015-07-13 11:34:32 +02:00
Fabien Potencier
9962f36f97 bumped Symfony version to 2.3.32 2015-07-13 11:30:54 +02:00
Fabien Potencier
bd506a5e84 updated VERSION for 2.3.31 2015-07-13 11:12:26 +02:00
Fabien Potencier
b7d003e9ab Merge branch '2.7' into 2.8
* 2.7:
  fixed tests
  fixed some tests
  Remove excess whitespace
2015-07-13 11:10:01 +02:00
Fabien Potencier
0165636c89 Merge branch '2.6' into 2.7
* 2.6:
  fixed tests
  fixed some tests
  Remove excess whitespace
2015-07-13 11:09:54 +02:00
Fabien Potencier
c57c3f5479 fixed tests 2015-07-13 11:09:47 +02:00
Fabien Potencier
0a2ac57b08 Merge branch '2.3' into 2.6
* 2.3:
  fixed some tests
  Remove excess whitespace
2015-07-13 11:09:24 +02:00
Fabien Potencier
88a2b562fe fixed some tests 2015-07-13 11:08:56 +02:00
Nicolas Macherey
1dcca1a8df [PropertyAccess] setValue & isWritable loops must only stops on reference and object. References can also be arrays and if the loop stops the value is never set in the object. (Breaks since 2.6.5 commit e3e4695)
| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

This merge request fixes the following cases taht was working with version previous to 2.6.5:

A class with a property myArray which can be a multi dimensional array can now be accesed using myArray[foo][bar][baz]
Previously only myArray[foo] was working. The break is since commit e3e4695

This commit adds additionnal testing, and is rebased from 2.6 upstream
2015-07-10 06:45:33 +02:00
Ilya Antipenko
b1b52ada41 Remove excess whitespace 2015-07-09 21:38:49 +03:00
Damien Alexandre
85ae760d05 [Translation] Add parameters to DataCollectorTranslator 2015-07-09 18:26:53 +02:00
Fabien Potencier
f5fefeff49 Merge branch '2.7' into 2.8
* 2.7:
  Added 'default' color
  [HttpFoundation] Reload the session after regenerating its id
  [HttpFoundation] Add a test case to confirm a bug in session migration
  [Serializer] Fix ClassMetadata::sleep()
  [2.6] Static Code Analysis for Components and Bundles
  [Finder] Command::addAtIndex() fails with Command instance argument
  [DependencyInjection] Freeze also FrozenParameterBag::remove
  [Twig][Bridge] replaced `extends` with `use` in bootstrap_3_horizontal_layout.html.twig
  fix CS
  fixed CS
  Add a way to reset the singleton
  [Security] allow to use `method` in XML configs
  [Serializer] Fix Groups tests.
  Remove duplicate example
  Remove var not used due to returning early (introduced in 8982c32)
  [Serializer] Fix Groups PHPDoc
  Enhance hhvm test skip message
  fix for legacy asset() with EmptyVersionStrategy
  [Form] Added upgrade notes for #15061
2015-07-09 18:11:14 +02:00
Fabien Potencier
175af7f3ac Merge branch '2.6' into 2.7
* 2.6:
  Added 'default' color
  [HttpFoundation] Reload the session after regenerating its id
  [HttpFoundation] Add a test case to confirm a bug in session migration
  [2.6] Static Code Analysis for Components and Bundles
  [Finder] Command::addAtIndex() fails with Command instance argument
  [DependencyInjection] Freeze also FrozenParameterBag::remove
  [Twig][Bridge] replaced `extends` with `use` in bootstrap_3_horizontal_layout.html.twig
  fix CS
  fixed CS
  Add a way to reset the singleton
  [Security] allow to use `method` in XML configs
  Remove duplicate example
  Remove var not used due to returning early (introduced in 8982c32)
  Enhance hhvm test skip message
2015-07-09 18:07:40 +02:00
Fabien Potencier
e6cc4918bf Merge branch '2.3' into 2.6
* 2.3:
  Added 'default' color
  [HttpFoundation] Reload the session after regenerating its id
  [HttpFoundation] Add a test case to confirm a bug in session migration
  [Finder] Command::addAtIndex() fails with Command instance argument
  [DependencyInjection] Freeze also FrozenParameterBag::remove
  fix CS
  fixed CS
  Add a way to reset the singleton
  [Security] allow to use `method` in XML configs
  Remove var not used due to returning early (introduced in 8982c32)
  Enhance hhvm test skip message
2015-07-09 18:02:48 +02:00
Joshua Thijssen
c4bf2e637c Added 'default' color 2015-07-09 17:58:42 +02:00
Jakub Zalas
99b9c78b00 [HttpFoundation] Reload the session after regenerating its id 2015-07-08 20:32:24 +01:00
Jakub Zalas
eda5cb1c27 [HttpFoundation] Add a test case to confirm a bug in session migration 2015-07-08 20:31:33 +01:00
Fabien Potencier
b2fddecde9 bug #15176 [Serializer] Fix ClassMetadata::sleep() (dunglas)
This PR was squashed before being merged into the 2.7 branch (closes #15176).

Discussion
----------

[Serializer] Fix ClassMetadata::sleep()

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

Fix a bug with the `sleep()` method. It is blocking under when using the APC metadata cache.

Commits
-------

2f42801 [Serializer] Fix ClassMetadata::sleep()
2015-07-08 08:12:51 +02:00
Kévin Dunglas
2f4280110d [Serializer] Fix ClassMetadata::sleep() 2015-07-08 08:12:45 +02:00
Vladimir Reznichenko
1dac1277a3 [2.6] Static Code Analysis for Components and Bundles 2015-07-08 07:59:48 +02:00
Fabien Potencier
63e02b87af bug #15223 [Finder] Command::addAtIndex() fails with Command instance argument (thunderer)
This PR was squashed before being merged into the 2.3 branch (closes #15223).

Discussion
----------

[Finder] Command::addAtIndex() fails with Command instance argument

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

Fixed reported bug #14384 and added test case for it. This is a second PR as previous #14385 went bad after I failed to rebase 2.3 branch properly.

Commits
-------

2aff566 [Finder] Command::addAtIndex() fails with Command instance argument
2015-07-08 07:54:33 +02:00
Tomasz Kowalczyk
2aff5660b2 [Finder] Command::addAtIndex() fails with Command instance argument 2015-07-08 07:54:32 +02:00
Fabien Potencier
e67249e4d5 bug #15220 [DependencyInjection] Freeze also FrozenParameterBag::remove (lyrixx)
This PR was merged into the 2.3 branch.

Discussion
----------

[DependencyInjection] Freeze also FrozenParameterBag::remove

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

Commits
-------

4a72c44 [DependencyInjection] Freeze also FrozenParameterBag::remove
2015-07-07 20:27:32 +02:00
Grégoire Pineau
4a72c441d5 [DependencyInjection] Freeze also FrozenParameterBag::remove 2015-07-07 14:38:28 +02:00
Fabien Potencier
4706a90e9d minor #15204 CS fixes for 2.3 (keradus)
This PR was merged into the 2.3 branch.

Discussion
----------

CS fixes for 2.3

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

To keep fabbot.io happy ;)

Commits
-------

464b67e fix CS
2015-07-07 09:31:08 +02:00
Dariusz Ruminski
464b67ed09 fix CS 2015-07-05 16:01:47 +02:00
Fabien Potencier
e3b225f4ba fixed CS 2015-07-05 15:20:07 +02:00
Daniel Wehner
0096266009 Add a way to reset the singleton 2015-07-05 15:17:51 +02:00
Fabien Potencier
aea7f98107 minor #15193 [Serializer] Fix Groups tests. (dunglas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] Fix Groups tests.

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

2bd8fb8 [Serializer] Fix Groups tests.
2015-07-04 12:13:01 +02:00
Kévin Dunglas
2bd8fb8f97 [Serializer] Fix Groups tests. 2015-07-04 12:02:28 +02:00
Dave Hulbert
da5218f2ae Remove var not used due to returning early (introduced in 8982c32) 2015-07-04 00:45:56 +02:00
Kévin Dunglas
3233c2fc14 [Serializer] Fix Groups PHPDoc 2015-07-03 14:45:08 +02:00
Nicolas Grekas
5f4015c3cd Enhance hhvm test skip message 2015-07-03 07:54:45 +02:00
Grégoire Pineau
2bea3731f9 [VarDumper] Ingore PHPUnit and Prophecy object when they are nested 2015-07-02 16:25:26 +02:00
Bernhard Schussek
3d9e5de2b9 [Form] Deprecated FormTypeInterface::getName() and passing of type instances 2015-07-02 10:02:46 +02:00
Nicolas Grekas
564c8e1ebe Merge branch '2.7' into 2.8
* 2.7:
  [travis] start hhvm first
  [Validator] always evaluate binary format when changed
2015-07-02 08:17:21 +02:00
Nicolas Grekas
8c999b5c55 Merge branch '2.6' into 2.7
* 2.6:
  [travis] start hhvm first
  [Validator] always evaluate binary format when changed

Conflicts:
	.travis.yml
2015-07-02 08:17:05 +02:00
Fabien Potencier
fc6ed5bee3 feature #15141 [DX] [Security] Renamed Token#getKey() to getSecret() (WouterJ)
This PR was squashed before being merged into the 2.8 branch (closes #15141).

Discussion
----------

[DX] [Security] Renamed Token#getKey() to getSecret()

There are 2 very vague parameter names in the authentication process: `$providerKey` and `$key`. Some tokens/providers have the first one, some tokens/providers the second one and some both. An overview:

| Token | `providerKey` | `key`
| --- | --- | ---
| `AnonymousToken` | - | yes
| `PreAuth...Token` | yes | -
| `RememberMeToken` | yes | yes
| `UsernamePasswordToken` | yes | -

Both names are extremely general and their PHPdocs contains pure no-shit-sherlock-descriptions :squirrel: (like "The key."). This made me and @iltar think it's just an inconsistency and they have the same meaning.
...until we dived deeper into the code and came to the conclusion that `$key` has a Security task (while `$providerKey` doesn't really). If it takes people connected to Symfony internals 30+ minutes to find this out, it should be considered for an improvement imo.

So here is our suggestion: **Rename `$key` to `$secret`**. This explains much better what the value of the string has to be (for instance, it's important that the string is not easily guessable and cannot be found out, according to the Spring docs). It also explains the usage better (it's used as a replacement for credentials and to hash the RememberMeToken).

**Tl;dr**: `$key` and `$providerKey` are too general names, let's improve DX by renaming them. This PR tackles `$key` by renaming it to `$secret`.

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

*My excuse for the completely unrelated branch name*

Commits
-------

24e0eb6 [DX] [Security] Renamed Token#getKey() to getSecret()
2015-07-02 01:04:20 +02:00
WouterJ
24e0eb6453 [DX] [Security] Renamed Token#getKey() to getSecret() 2015-07-02 01:04:13 +02:00
Fabien Potencier
c6d9af374f bug #15115 [Validator] always evaluate binary format when changed (xabbuh)
This PR was merged into the 2.6 branch.

Discussion
----------

[Validator] always evaluate binary format when changed

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

Commits
-------

2ad7e67 [Validator] always evaluate binary format when changed
2015-07-01 21:58:06 +02:00
Christian Flothmann
2ad7e679cd [Validator] always evaluate binary format when changed 2015-07-01 20:29:17 +02:00
Nicolas Grekas
f59a0baa95 Merge branch '2.7' into 2.8
* 2.7:
  Update DateTimeToArrayTransformer.php
  Mock microtime() and time() in transient tests
  Azerbaijani language pluralization rule
  Move HHVM tests out of the allowed failures
2015-07-01 20:24:26 +02:00
Nicolas Grekas
734fdbe702 [VarDumper] Fix tests for HHVM 2015-07-01 20:24:23 +02:00
Nicolas Grekas
4b9446edf8 Merge branch '2.6' into 2.7
* 2.6:
  Update DateTimeToArrayTransformer.php
  Mock microtime() and time() in transient tests
  Azerbaijani language pluralization rule
  Move HHVM tests out of the allowed failures
2015-07-01 20:23:16 +02:00
Nicolas Grekas
d5cbc46cd9 Merge branch '2.3' into 2.6
* 2.3:
  Update DateTimeToArrayTransformer.php
  Mock microtime() and time() in transient tests
  Azerbaijani language pluralization rule
  Move HHVM tests out of the allowed failures
2015-07-01 20:23:01 +02:00
Fabien Potencier
6bcdee057e minor #15166 Mock microtime() and time() in transient tests (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

Mock microtime() and time() in transient tests

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

Commits
-------

8319ca3 Mock microtime() and time() in transient tests
2015-07-01 19:11:21 +02:00
zhil
27b824a6b7 Update DateTimeToArrayTransformer.php 2015-07-01 19:05:17 +02:00
Nicolas Grekas
8319ca3b05 Mock microtime() and time() in transient tests 2015-07-01 18:07:08 +02:00
Şəhriyar İmanov
efd927a660 Azerbaijani language pluralization rule
In AZ, as in TR, pluralization is always 0: 

0 kitab (zero books)
1 kitab (1 book)
3 kitab (3 books)
104 kitab (104 books)

Apparently ZF ruleset was wrong in the first place :)
2015-07-01 16:29:20 +02:00
Abdellatif Ait boudad
05f3c3db7b Merge remote-tracking branch 'origin/2.7' into 2.8
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php
	src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveDefinitionTemplatesPassTest.php
2015-07-01 14:16:54 +00:00
Nicolas Grekas
b4fc321912 Fix merge 2015-07-01 14:07:40 +02:00
Nicolas Grekas
eb179f9032 Merge branch '2.6' into 2.7
* 2.6:
  [2.6] Towards 100% HHVM compat
  [Security/Http] Fix test
  [Stopwatch] Fix test
  Minor fixes
  Towards 100% HHVM compat
  unify default AccessDeniedExeption message
  trigger event with right user (add test)
  [Security] Initialize SwitchUserEvent::targetUser on attemptExitUser
  [Form] Fixed: Data mappers always receive forms indexed by their names

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php
	src/Symfony/Component/VarDumper/Tests/CliDumperTest.php
	src/Symfony/Component/VarDumper/Tests/HtmlDumperTest.php
2015-07-01 13:25:50 +02:00
Fabien Potencier
bfa28d6e41 feature #15154 [Validator] Added missing error codes and turned codes into UUIDs (webmozart)
This PR was merged into the 2.8 branch.

Discussion
----------

[Validator] Added missing error codes and turned codes into UUIDs

Reopened #12388 on the 2.8 branch.

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

With the current implementation of error codes, checking which error occurred is unnecessarily complex:

```php
if ($violation->getConstraint() instanceof Length && Length::TOO_SHORT_ERROR === $violation->getCode()) {
    // ...
}
```

Also, the code is completely missing for some constraints. This is fixed now. By using UUIDs, the check is reduced to:

```php
if (Length::TOO_SHORT_ERROR === $violation->getCode()) {
    // ...
}
```

Also, APIs can simply output the error code and the name of the error without needing to point to the constraint as well.

Before:

```json
[
    {
        "code": "1",
        "name": "TOO_SHORT_ERROR",
        "message": "This value is too short. ...",
        "constraint": "Symfony\\Component\\Validator\\Constraints\\Length"
    }
]
```

After:

```json
[
    {
        "code": "9ff3fdc4-b214-49db-8718-39c315e33d45",
        "name": "TOO_SHORT_ERROR",
        "message": "This value is too short. ..."
    }
]
```

This makes it possible to implement a service on symfony.com which looks up error codes, e.g.

symfony.com/error?code=9ff3fdc4-b214-49db-8718-39c315e33d45

Such a URL could redirect directly to the documentation of the appropriate constraint. We could even support user-submitted error codes which redirect to the documentation of that constraint.

Commits
-------

8874e88 [Validator] Added missing error codes and turned codes into UUIDs
2015-07-01 13:21:15 +02:00
Nicolas Grekas
8a782556eb [2.6] Towards 100% HHVM compat 2015-07-01 12:03:42 +02:00
Nicolas Grekas
6a45129b41 [Security/Http] Fix test 2015-06-30 18:51:15 +02:00
Nicolas Grekas
700487002f Merge branch '2.3' into 2.6
* 2.3:
  [Stopwatch] Fix test
2015-06-30 18:49:57 +02:00
Nicolas Grekas
9de0d60b2c [Stopwatch] Fix test 2015-06-30 18:34:54 +02:00
Nicolas Grekas
c53ee35a2e Merge branch '2.3' into 2.6
* 2.3:
  Minor fixes
  Towards 100% HHVM compat
  trigger event with right user (add test)
  [Security] Initialize SwitchUserEvent::targetUser on attemptExitUser
  [Form] Fixed: Data mappers always receive forms indexed by their names

Conflicts:
	src/Symfony/Component/Debug/Tests/ErrorHandlerTest.php
	src/Symfony/Component/Filesystem/Filesystem.php
	src/Symfony/Component/Process/Tests/AbstractProcessTest.php
2015-06-30 18:10:16 +02:00
Nicolas Grekas
6e1ae53fea Minor fixes 2015-06-30 18:05:31 +02:00
Fabien Potencier
0020680d92 bug #15146 Towards 100% HHVM compat (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

Towards 100% HHVM compat

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

Failing components:
- [x] Debug
- [x] DependencyInjection
- [x] Filesystem
- [x] Form
- [x] HttpFoundation
- [x] Process
- [x] Routing

Related HHVM issues:
- https://github.com/facebook/hhvm/issues/5562
- https://github.com/facebook/hhvm/issues/5561
- https://github.com/facebook/hhvm/issues/5330
- https://github.com/facebook/hhvm/issues/3558
- https://github.com/facebook/hhvm/issues/4901

Commits
-------

b9a76ba Towards 100% HHVM compat
2015-06-30 17:31:35 +02:00
Bernhard Schussek
8874e88384 [Validator] Added missing error codes and turned codes into UUIDs 2015-06-30 16:06:42 +02:00
Nicolas Grekas
b9a76bab5c Towards 100% HHVM compat 2015-06-30 15:39:12 +02:00
Fabien Potencier
32cbfd49d4 feature #15096 [DependencyInjection] Allow anonymous DefinitionDecorator resolving (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[DependencyInjection] Allow anonymous DefinitionDecorator resolving

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

This PR allows injecting anonymous DefinitionDecorator into services' arguments/properties, such as:

```php
$container->register('foo_service_name', 'FooClass')
    ->setProperty('bar', new DefinitionDecorator('definition_decorated_service'))
;
```

Commits
-------

e5763ce [DependencyInjection] Allow anonymous DefinitionDecorator resolving
2015-06-30 14:51:42 +02:00
Fabien Potencier
b16fc6c2f6 bug #15061 [Form] Fixed handling of choices passed in choice groups (webmozart)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fixed handling of choices passed in choice groups

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

I introduced a bug in the 2.7 ChoiceList implementation when choices are passed as groups:

```
$form->add('response', 'choice', array(
    'choices' => array(
        'Decided' => array($yesObj, $noObj),
        'Undecided' => array($maybeObj),
    ),
    // use getName() for the labels
    'choice_label' => 'name',
    'choices_as_values' => true,
));
```

In this example, since the choices `$yesObj` and `$maybeObj` have the same array index `0`, the same label is displayed for the two options. The problem is that we rely on the keys passed in the "choices" option to identify choices in a choice list (which are, as you see, not guaranteed to be free of duplicates).

This PR changes the new choice list implementation to identify choices by values instead. We already have the guarantee that choices can be identified uniquely by their string values.

This PR should be included in 2.7.2 to fix the regression.

Unfortunately, a few BC breaks in the new implementation are necessary to make this fix:

* The legacy `ChoiceListInterface` was reverted to how it was in 2.6 and does *not* extend the new `ChoiceListInterface` anymore.
* As a consequence, legacy choice lists need to be wrapped into a `LegacyChoiceListAdapter` when they are passed to any place in the framework where a new choice list is expected.
* The new `ChoiceListInterface` has two additional methods `getStructuredValues()` and `getOriginalKeys()` now.
* `ArrayKeyChoiceList::toArrayKey()` was marked as internal.
* `ChoiceListFactoryInterface::createView()` does not accept arrays and Traversables anymore for the `$groupBy` parameter (for simplicity).

@fabpot Where should we document the upgrade path for 2.7.1 => 2.7.2?

Commits
-------

7623dc8 [Form] Fixed handling of choices passed in choice groups
2015-06-30 14:46:52 +02:00
Fabien Potencier
38c08d1fb3 bug #15069 [Form] Fixed: Data mappers always receive forms indexed by their names (webmozart)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] Fixed: Data mappers always receive forms indexed by their names

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

This PR facilitates writing domain-specific data mappers, since it guarantees that you can access forms by name in the data mapper methods. Currently, `Form::add()` does not set the index of the array passed to the data mapper to the form's name.

Commits
-------

86b7fe5 [Form] Fixed: Data mappers always receive forms indexed by their names
2015-06-30 07:54:26 +02:00
Fabien Potencier
c20720f9f6 bug #15142 Fix choice translation domain for expanded choice widget (jvasseur)
This PR was merged into the 2.7 branch.

Discussion
----------

Fix choice translation domain for expanded choice widget

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

This fix the form component using the translation_domain instead of the choice_translation_domain for expanded choice widgets.

I had to add the possibility to skip label translation when using ```translation_domain => false``` to do this fix so this can be considered a new feature to.

Commits
-------

52755ba Fix choice translation domain for expanded choice widget
2015-06-30 07:47:57 +02:00
Dave Hulbert
8e41a5b22a Fix param order of assertEquals (expected, actual) in test for Finder\Glob 2015-06-29 20:56:37 +01:00
Jérôme Vasseur
52755ba26d Fix choice translation domain for expanded choice widget 2015-06-29 21:23:41 +02:00
Christian Flothmann
87e7709b7b unify default AccessDeniedExeption message 2015-06-29 20:24:24 +02:00
Christian Flothmann
f999217a96 trigger event with right user (add test) 2015-06-28 20:33:21 +02:00
Richard van Laak
01ee3f6cda [Security] Initialize SwitchUserEvent::targetUser on attemptExitUser
The `SwitchUserEvent` is triggered in case an account is switched. This works okay while switching to the user, but on exit the `SwitchUserEvent` is triggered again with the original User. That User was not initialized by the provider yet.

load user by UserInterface instead of username
2015-06-28 20:33:21 +02:00
Fabien Potencier
268210bcec fixed CS 2015-06-28 20:28:18 +02:00
twifty
1df4ebecfd added remove option to ignoreExtraKeys 2015-06-28 20:28:03 +02:00
Fabien Potencier
b6dbfa4b73 minor #15136 Fix quoting style consistency (2.7) (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

Fix quoting style consistency (2.7)

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

Follows up #15129.

Commits
-------

2aab007 Fix quoting style consistency.
2015-06-28 19:27:31 +02:00
Fabien Potencier
873e3d9a74 Merge branch '2.6' into 2.7
* 2.6:
  [2.6][Validator] Fix BC for Validator's validate method
  Very small typo fix
  Fix quoting style consistency.
  [DependencyInjection] Fail when dumping a Definition with no class nor factory
  Normalizing recursively - see #9096
  No change - the normalizeParams is a copy-and-paste of the earlier logic
  fixes issue with logging array of non-utf8 data
  fix validation for Maestro UK card numbers

Conflicts:
	src/Symfony/Component/Security/Http/Firewall/DigestAuthenticationListener.php
	src/Symfony/Component/Validator/Validator/LegacyValidator.php
2015-06-28 19:13:14 +02:00
Fabien Potencier
e36e83117b Merge branch '2.3' into 2.6
* 2.3:
  Fix quoting style consistency.
  [DependencyInjection] Fail when dumping a Definition with no class nor factory
  Normalizing recursively - see #9096
  No change - the normalizeParams is a copy-and-paste of the earlier logic
  fixes issue with logging array of non-utf8 data
  fix validation for Maestro UK card numbers
2015-06-28 19:11:14 +02:00
Fabien Potencier
6e4563e7ee bug #15126 [2.6][Validator] Fix BC for Validator's validate method (michalmarcinkowski)
This PR was merged into the 2.6 branch.

Discussion
----------

[2.6][Validator] Fix BC for Validator's validate method

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

This fix makes method call ``` $validator->validate($value, array()); ``` backward compatible and does not throw

```
[Symfony\Component\Validator\Exception\NoSuchMetadataException]

The class or interface "XXX" does not exist.
```

when the ``` $value ``` is a scalar type.

Commits
-------

ffe25dc [2.6][Validator] Fix BC for Validator's validate method
2015-06-28 19:09:43 +02:00
Fabien Potencier
cf6296b3db bug #15101 [Form] Fixed compatibility with FormTypeInterface implementations that don't extend AbstractType (webmozart)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fixed compatibility with FormTypeInterface implementations that don't extend AbstractType

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

Commits
-------

4a1ad7e [Form] Fixed compatibility with FormTypeInterface implementations that don't extend AbstractType
2015-06-28 19:06:19 +02:00
michalmarcinkowski
ffe25dc921 [2.6][Validator] Fix BC for Validator's validate method 2015-06-28 16:52:59 +02:00
ogizanagi
2aab0073bd Fix quoting style consistency. 2015-06-28 12:39:54 +02:00
ogizanagi
57d30f9746 Fix quoting style consistency. 2015-06-28 12:13:08 +02:00
Fabien Potencier
e93a3d7896 bug #15083 [DependencyInjection] Fail when dumping a Definition with no class nor factory (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[DependencyInjection] Fail when dumping a Definition with no class nor factory

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

I tried creating an anonymous inline service with a DefinitionDecorator, but that did not work.
Here is the fix.

Commits
-------

23ad4ad [DependencyInjection] Fail when dumping a Definition with no class nor factory
2015-06-28 09:25:22 +02:00
Nicolas Grekas
23ad4ad133 [DependencyInjection] Fail when dumping a Definition with no class nor factory 2015-06-28 09:23:14 +02:00
Christian Flothmann
f24532a04e fix validation for Maestro UK card numbers 2015-06-27 23:20:18 +02:00
Tobias Schultze
dd504d4adf Merge branch '2.6' into 2.7 2015-06-27 22:17:00 +02:00
Tobias Schultze
cbca187a49 Merge branch '2.3' into 2.6
Conflicts:
	src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/choice_widget_collapsed.html.php
2015-06-27 22:15:38 +02:00
Restless-ET
1a5c4c6c93 [Translation][Form][choice] empty_value shouldn't be translated when it has an empty value 2015-06-27 19:52:55 +02:00
Abdellatif Ait boudad
51212acbff [Validator][callback constraint] include class name in ConstraintDefinitionException. 2015-06-27 16:22:07 +02:00
Fabien Potencier
3ef7a1f6d6 bug #15117 [Form] fixed sending non array data on submit to ResizeListener (BruceWouaigne)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] fixed sending non array data on submit to ResizeListener

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

I agree with @Tobion that #13851 is a bug fix and therefore should be applied on the `2.3` branch too.

Commits
-------

0f185c9 [Form] [EventListener] fixed sending non array data on submit to ResizeListener
2015-06-27 16:14:07 +02:00
Fabien Potencier
f5d5a3be96 bug #15122 [Console] respect multi-character shortcuts (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] respect multi-character shortcuts

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

The `TextDescriptor` assumed that shortcuts will only consume one space
when calculating the maximum width needed to display the option's
synopsis.

Commits
-------

bd49f23 [Console] respect multi-character shortcuts
2015-06-27 16:10:25 +02:00
Fabien Potencier
bccfb44171 minor #15112 [2.7][DependencyInjection] improve deprecation messages (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7][DependencyInjection] improve deprecation messages

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

Also include the service id in the deprecation message.

Commits
-------

9e41fa7 [DependencyInjection] improve deprecation messages
2015-06-27 16:06:41 +02:00
Christian Flothmann
bd49f23bb1 [Console] respect multi-character shortcuts
The `TextDescriptor` assumed that shortcuts will only consume one space
when calculating the maximum width needed to display the option's
synopsis.
2015-06-26 23:20:39 +02:00
Christian Flothmann
62f12cde7a [Validator] don't trigger deprecation with empty group array 2015-06-26 23:10:48 +02:00
Massimiliano Arione
26c4413f29 Fix typo in Italian translation 2015-06-26 20:04:19 +02:00
BruceWouaigne
0f185c9fef [Form] [EventListener] fixed sending non array data on submit to ResizeListener 2015-06-26 19:11:54 +02:00
Christian Flothmann
d144dbb733 [DependencyInjection] improve deprecation messages
Also include the service id in the deprecation message.
2015-06-26 16:42:48 +02:00
Christian Flothmann
9e41fa7852 [DependencyInjection] improve deprecation messages
Also include the service id in the deprecation message.
2015-06-26 16:41:50 +02:00
Abdellatif Ait boudad
d1de40e036 Merge remote-tracking branch 'origin/2.6' into 2.7
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
	src/Symfony/Component/Validator/Constraints/EmailValidator.php
2015-06-25 12:52:11 +00:00
Bernhard Schussek
4a1ad7e4c6 [Form] Fixed compatibility with FormTypeInterface implementations that don't extend AbstractType 2015-06-25 13:34:24 +02:00
Nicolas Grekas
a85ed5097b Merge branch '2.3' into 2.6
* 2.3:
  Fixed the regexp for the validator of Maestro-based credit/debit cards
  [Console] Fix STDERR output text on IBM iSeries OS400
  [HttpFoundation] Use convention to allow throwing from __toString()
  [Form] Fixed: remove quoted strings from Intl date formats (e.g. es_ES full pattern)
  [bugfix][MonologBridge] WebProcessor: passing  to BaseWebProcessor
  [2.3] Static Code Analysis for Components
  [Translation][update cmd] taken account into bundle overrides path.

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
	src/Symfony/Component/Filesystem/Tests/FilesystemTest.php
	src/Symfony/Component/Validator/Constraints/CardSchemeValidator.php
2015-06-25 13:21:15 +02:00
Nicolas Grekas
e5763cea54 [DependencyInjection] Allow anonymous DefinitionDecorator resolving 2015-06-25 13:06:10 +02:00
Fabien Potencier
b812eb05db bug #13750 [DependencyInjection] Fixed decoration of service for service with parent (hason)
This PR was merged into the 2.6 branch.

Discussion
----------

[DependencyInjection] Fixed decoration of service for service with parent

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

Commits
-------

0b8b58c [DependencyInjection] Fixed decoration of service for service with parent
2015-06-25 11:05:26 +02:00
Nicolas Grekas
058bacda10 minor #15077 [HttpFoundation] Use convention to allow throwing from __toString() (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpFoundation] Use convention to allow throwing from __toString()

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

Corollary to #15076, works without it.

Commits
-------

8982c32 [HttpFoundation] Use convention to allow throwing from __toString()
2015-06-25 11:05:04 +02:00
Nicolas Grekas
93e69e4735 feature #15076 [Debug] Allow throwing from __toString() with return trigger_error($e, E_USER_ERROR); (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[Debug] Allow throwing from __toString() with `return trigger_error($e, E_USER_ERROR);`

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

Commits
-------

f360758 [Debug] Allow throwing from __toString() with `return trigger_error($e, E_USER_ERROR);`
2015-06-25 11:02:54 +02:00
Wouter J
b7030cc19e Make service not shared when prototype scope is set 2015-06-24 22:39:48 +02:00
Diego Saint Esteben
6c4a676d09 Add "shared" flag and deprecate scopes concept 2015-06-24 12:32:32 -03:00
Javier Eguiluz
d37962fb03 Fixed the regexp for the validator of Maestro-based credit/debit cards 2015-06-24 16:17:28 +02:00
Nicolas Grekas
f36075817b [Debug] Allow throwing from __toString() with return trigger_error($e, E_USER_ERROR); 2015-06-23 20:37:12 +02:00
Fabien Potencier
18716153ee bug #15058 [Console] Fix STDERR output text on IBM iSeries OS400 (johnkary)
This PR was squashed before being merged into the 2.3 branch (closes #15058).

Discussion
----------

[Console] Fix STDERR output text on IBM iSeries OS400

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

Prior to this PR a Symfony Console command would output error text as random symbols when executed via the IBM console program QSH. Affected error text output such as when a required InputArgument is missing, or when explicitly using `$output->getErrorOutput()->writeln('Some error text here')`.

![Example error output](http://i.imgur.com/PQplK1p.png)

This PR fixes error text so it properly prints to IBM console programs such as QSH and QP2SHELL.

I previously fixed STDOUT for PHP running on IBM iSeries OS400 (Zend Server) using the same approach. Since that PR was merged ConsoleOutput class began using its own output for STDERR which exhibits the same issue STDOUT did.

The following commits and previous Symfony PRs have our relevant discussion about ASCII vs EBCDIC character encoding to fix this issue:

* [Original IBM STDOUT reported in #1434](https://github.com/symfony/symfony/issues/1434)
* [My PR #4152 that fixes #1434](https://github.com/symfony/symfony/pull/4152)

Thanks!
🚀

Commits
-------

23c42ca [Console] Fix STDERR output text on IBM iSeries OS400
2015-06-23 19:48:55 +02:00
John Kary
23c42ca333 [Console] Fix STDERR output text on IBM iSeries OS400 2015-06-23 19:48:52 +02:00
Fabien Potencier
dac15524ea bug #14853 [Validator] more strict e-mail validation regex (xabbuh)
This PR was merged into the 2.6 branch.

Discussion
----------

[Validator] more strict e-mail validation regex

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

Commits
-------

6491033 [Validator] more strict e-mail validation regex
2015-06-23 19:31:35 +02:00
Nicolas Grekas
8982c3246c [HttpFoundation] Use convention to allow throwing from __toString() 2015-06-23 13:38:55 +02:00
Bernhard Schussek
86b7fe590b [Form] Fixed: Data mappers always receive forms indexed by their names 2015-06-22 21:00:03 +02:00
Fabien Potencier
9f86195158 feature #14991 [Console][Table] allow multiple render() calls. (jaytaph)
This PR was merged into the 2.8 branch.

Discussion
----------

[Console][Table] allow multiple render() calls.

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

This is a cherry-pick of #14983.

Commits
-------

b93bcc1 Fixed colspan issues with multiple render() calls
2015-06-22 18:34:55 +02:00
Bernhard Schussek
497433cf03 [Form] Fixed: Support objects with __toString() in choice groups 2015-06-22 17:19:42 +02:00
Bernhard Schussek
5571caa305 [Form] Fixed: remove quoted strings from Intl date formats (e.g. es_ES full pattern) 2015-06-22 17:14:39 +02:00
Bernhard Schussek
7623dc87e8 [Form] Fixed handling of choices passed in choice groups 2015-06-22 14:31:47 +02:00
Issei.M
f42c77710b [Form] moved data trimming logic of TrimListener into StringUtil 2015-06-22 13:02:33 +02:00
Vladimir Reznichenko
aa5e616511 [2.3] Static Code Analysis for Components 2015-06-21 22:11:32 +02:00
Joshua Thijssen
b93bcc1153 Fixed colspan issues with multiple render() calls 2015-06-20 19:03:48 +00:00
Nicolas Grekas
351174be88 [2.8] Silence newest deprecations 2015-06-19 17:11:11 +02:00
Nicolas Grekas
7304ba185b Merge branch '2.7' into 2.8
* 2.7:
  [FrameworkBundle] Reuse PropertyAccessor service for ObjectNormalizer
  [VarDumper] Fix dump output for better readability
  [PhpUnitBridge] Enforce @-silencing of deprecation notices according to new policy
2015-06-19 17:09:14 +02:00
Nicolas Grekas
cc13cc5584 Merge branch '2.6' into 2.7
* 2.6:
  [VarDumper] Fix dump output for better readability

Conflicts:
	src/Symfony/Component/VarDumper/Tests/CliDumperTest.php
	src/Symfony/Component/VarDumper/Tests/HtmlDumperTest.php
2015-06-19 17:09:03 +02:00
Nicolas Grekas
e448fadf98 [VarDumper] Fix dump output for better readability 2015-06-19 14:34:14 +02:00
Nicolas Grekas
9eea9eb848 [PhpUnitBridge] Enforce @-silencing of deprecation notices according to new policy 2015-06-18 21:21:56 +02:00
Nicolas Grekas
6a2d3a4aec Merge branch '2.7' into 2.8
* 2.7: (36 commits)
  [DoctrineBridge] Bypass the db when no valid identifier is provided in ORMQueryBuilderLoader
  [Serializer] Fixed typo in comment
  [Form] Fixed: Filter non-integers when selecting entities by int ID
  Fix merge
  Fix merge
  Add test for HHVM FatalErrors
  [2.6][Debug] Fix fatal-errors handling on HHVM
  [Debug] Fix log level of stacked errors
  [VarDumper] Fix uninitialized id in HtmlDumper
  Fixed fluent interface
  [Console] Fix tests on Windows
  [2.7] Fix unsilenced deprecation notices
  [2.3][Debug] Fix fatal-errors handling on HHVM
  [Debug] fix debug class loader case test on windows
  Standardize the name of the exception variables
  [Debug+VarDumper] Fix handling of PHP7 exception/error model
  Do not trigger deprecation error in ResolveParameterPlaceHoldersPass
  [2.3] Static Code Analysis for Components
  Added a small Upgrade note regarding security.context
  added missing deprecation in CHANGELOG
  ...

Conflicts:
	src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/logger.html.twig
	src/Symfony/Component/HttpKernel/Kernel.php
2015-06-18 18:14:27 +02:00
Richard Trebichavský
08a4b80760 [Serializer] Fixed typo in comment 2015-06-18 17:07:16 +02:00
BruceWouaigne
74d794b6e4 [Form] [EventListener] fixed sending non array data on submit to ResizeListener 2015-06-18 16:15:52 +02:00
Nicolas Grekas
f3d6bbff59 Fix merge 2015-06-18 15:42:09 +02:00
Nicolas Grekas
2a1338ba19 Fix merge 2015-06-18 15:40:06 +02:00
Nicolas Grekas
2e7c2caaf2 Merge branch '2.6' into 2.7
* 2.6:
  Add test for HHVM FatalErrors
  [2.6][Debug] Fix fatal-errors handling on HHVM
  [2.3][Debug] Fix fatal-errors handling on HHVM
  Standardize the name of the exception variables
  [2.3] Static Code Analysis for Components
  Remove duplicated paths

Conflicts:
	src/Symfony/Component/Debug/ErrorHandler.php
	src/Symfony/Component/Security/Http/Firewall/BasicAuthenticationListener.php
	src/Symfony/Component/Security/Http/Firewall/ContextListener.php
	src/Symfony/Component/Security/Http/Firewall/RememberMeListener.php
	src/Symfony/Component/Security/Http/RememberMe/AbstractRememberMeServices.php
2015-06-18 15:03:50 +02:00
Nicolas Grekas
7617492914 Merge branch '2.3' into 2.6
* 2.3:
  [2.3][Debug] Fix fatal-errors handling on HHVM
  Standardize the name of the exception variables
  [2.3] Static Code Analysis for Components
  Remove duplicated paths

Conflicts:
	src/Symfony/Component/Debug/ErrorHandler.php
	src/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php
	src/Symfony/Component/Security/Acl/Dbal/AclProvider.php
	src/Symfony/Component/Security/Core/Authentication/Provider/UserAuthenticationProvider.php
2015-06-18 14:58:06 +02:00
Robert Schönthal
9f346a5a8d Add test for HHVM FatalErrors 2015-06-18 11:59:18 +02:00
Nicolas Grekas
445de5e828 [2.6][Debug] Fix fatal-errors handling on HHVM 2015-06-18 11:42:58 +02:00
Nicolas Grekas
b1fabf5772 Merge branch '2.6' into 2.7
* 2.6:
  [Debug] Fix log level of stacked errors
  [VarDumper] Fix uninitialized id in HtmlDumper
  Fixed fluent interface
  [Debug] fix debug class loader case test on windows
  [Debug+VarDumper] Fix handling of PHP7 exception/error model
  [2.6][Security][Translation] #14920 update translations
  [VarDumper] Cherry-pick code style fixes from 2.7
  Bug #14836 [HttpFoundation] Moves default JSON encoding assignment from constructor to property

Conflicts:
	src/Symfony/Component/Debug/Tests/DebugClassLoaderTest.php
	src/Symfony/Component/VarDumper/Caster/DOMCaster.php
	src/Symfony/Component/VarDumper/Caster/ExceptionCaster.php
	src/Symfony/Component/VarDumper/Caster/PdoCaster.php
	src/Symfony/Component/VarDumper/Caster/SplCaster.php
2015-06-18 10:00:47 +02:00
Fabien Potencier
13c5d7cd0d bug #14959 [Debug+VarDumper] Fix handling of PHP7 "Throwable" exceptions (nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[Debug+VarDumper] Fix handling of PHP7 "Throwable" exceptions

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

PHP7 may introduce the Throwable interface if the corresponding RFC is accepted (see https://wiki.php.net/rfc/throwable-interface)
This PR adds support for it. We should wait for final approval of the RFC before merging it.

Commits
-------

4dc727f [Debug+VarDumper] Fix handling of PHP7 exception/error model
edf793e [VarDumper] Cherry-pick code style fixes from 2.7
2015-06-17 23:08:37 +02:00
Fabien Potencier
704dd503a4 bug #15010 [Debug] Fix log level of stacked errors (nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[Debug] Fix log level of stacked errors

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

Commits
-------

d2ebd51 [Debug] Fix log level of stacked errors
2015-06-17 23:07:27 +02:00
Nicolas Grekas
d2ebd51113 [Debug] Fix log level of stacked errors 2015-06-17 21:16:58 +02:00
Bernhard Schussek
6c554c6c1a [Form] Deprecated "cascade_validation" 2015-06-17 20:03:11 +02:00
Kristen Gilden
80b0a80852 [Form] Add "prototype_data" option to collection type 2015-06-17 17:18:53 +02:00
Fabien Potencier
bb21c7b0ab minor #14948 [Config] Add deprecation warning (dosten)
This PR was merged into the 2.7 branch.

Discussion
----------

[Config] Add deprecation warning

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

If someone extends FileLoader and do not call the parent constructor a
deprecation warning should be triggered.

Commits
-------

dbfca37 [Config] Add deprecation warning
2015-06-17 16:55:26 +02:00
Nicolas Grekas
00eee72f0e [VarDumper] Fix uninitialized id in HtmlDumper 2015-06-17 15:20:53 +02:00
Joshua Thijssen
b52e1974f7 [Form] Added the 'range' FormType 2015-06-17 10:08:53 +02:00
Fabien Potencier
450706fbb3 minor #15004 [2.7] Fix unsilenced deprecation notices (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7] Fix unsilenced deprecation notices

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

Commits
-------

dae98e0 [2.7] Fix unsilenced deprecation notices
2015-06-16 23:37:16 +02:00
Joshua Thijssen
138f4a9849 Fixed fluent interface 2015-06-16 20:12:29 +02:00
Fabien Potencier
daa38cf559 minor #14975 [Console] Fix tests on Windows (mhujer)
This PR was squashed before being merged into the 2.7 branch (closes #14975).

Discussion
----------

[Console] Fix tests on Windows

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

Commits
-------

4f0f7ea [Console] Fix tests on Windows
2015-06-16 17:28:26 +02:00
Martin Hujer
4f0f7ea6ed [Console] Fix tests on Windows 2015-06-16 17:28:22 +02:00
Nicolas Grekas
dae98e0b27 [2.7] Fix unsilenced deprecation notices 2015-06-16 15:26:24 +02:00
Nicolas Grekas
d29bfdcc31 [2.3][Debug] Fix fatal-errors handling on HHVM 2015-06-16 14:35:43 +02:00
Tobias Schultze
31c25d9a42 [Debug] fix debug class loader case test on windows 2015-06-16 13:27:45 +02:00
Fabien Potencier
287a577b8c minor #14937 Standardize the name of the exception variables (javiereguiluz)
This PR was squashed before being merged into the 2.3 branch (closes #14937).

Discussion
----------

Standardize the name of the exception variables

| 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-docs/pull/4491 for the context of this change.

In Symfony source code there are 410 `try ... catch` blocks. More than 95% of them use `$e` as the name of the exception variable. After applying these changes, 407 out of 410 variables are named `$e`.

These are the three cases where I didn't change the name of the `$e` variable:

  * Nested exception in https://github.com/symfony/symfony/blob/2.3/src/Symfony/Component/Routing/Matcher/RedirectableUrlMatcher.php#L40. It uses `$e2` as the name of the nested variable.
  * Nested exception in https://github.com/symfony/symfony/blob/2.3/src/Symfony/Bundle/TwigBundle/TwigEngine.php#L82. I changed the name of the `$ex` variable to `$e2` to match the previous syntax.
  * https://github.com/symfony/symfony/blob/2.3/src/Symfony/Component/Console/Helper/DialogHelper.php#L463. I don't know if it's safe to change the name of the `$error` exception variable.

Commits
-------

e8b924c Standardize the name of the exception variables
2015-06-15 18:26:37 +02:00
Javier Eguiluz
e8b924c2d3 Standardize the name of the exception variables 2015-06-15 18:26:34 +02:00
Fabien Potencier
f88cfd15d9 minor #14977 added missing deprecation in CHANGELOG (fabpot)
This PR was merged into the 2.7 branch.

Discussion
----------

added missing deprecation in CHANGELOG

Commits
-------

ddddeb5 added missing deprecation in CHANGELOG
2015-06-15 18:20:32 +02:00
Fabien Potencier
4b960a65c5 minor #14986 Added a small Upgrade note regarding security.context (iltar)
This PR was merged into the 2.7 branch.

Discussion
----------

Added a small Upgrade note regarding security.context

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

I've added a note in the 2.7 upgrade file on which extending implementations should be updated when using 2.7. Along with it, I've removed an unused use statement, fixed some typos and removed a redundant session check as this check is already done at the start of the method.

For #14889 I have also done a search through the docs (2.7), but I couldn't find any remaining examples encouraging the usage of the `SecurityContext(Interface)` anywhere.

Commits
-------

ade1fef Added a small Upgrade note regarding security.context
2015-06-15 18:18:03 +02:00
Nicolas Grekas
4dc727fa7d [Debug+VarDumper] Fix handling of PHP7 exception/error model 2015-06-15 17:25:25 +02:00
Mantas Urnieža
600078a28c Do not trigger deprecation error in ResolveParameterPlaceHoldersPass 2015-06-15 16:48:29 +02:00
Tobias Schultze
d4b669bb63 minor #14890 [2.3] Static Code Analysis for Components (kalessil)
This PR was squashed before being merged into the 2.3 branch (closes #14890).

Discussion
----------

[2.3] Static Code Analysis for Components

| 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

Static Code Analysis with Php Inspections (EA Extended):
    - not optimal regular expressions usage
    - strlen miss-use
    - not optimal conditional statements in Process and Filesystem
    - unsafe uniquid usage

PS: re-creating to no spam history log with reverts

Commits
-------

4a4fea7 [2.3] Static Code Analysis for Components
2015-06-15 15:02:12 +02:00
Vladimir Reznichenko
4a4fea742b [2.3] Static Code Analysis for Components 2015-06-15 15:02:08 +02:00
Iltar van der Berg
ade1fef3ae Added a small Upgrade note regarding security.context 2015-06-15 08:46:44 +02:00
Fabien Potencier
ddddeb5a24 added missing deprecation in CHANGELOG 2015-06-14 19:35:57 +02:00
Vincent AUBERT
dfd3e62dc3 [2.6][Security][Translation] #14920 update translations 2015-06-14 13:45:05 +02:00
Diego Saint Esteben
97de887222 Remove duplicated paths 2015-06-12 16:45:17 -03:00
Nicolas Grekas
edf793ead2 [VarDumper] Cherry-pick code style fixes from 2.7 2015-06-12 10:17:57 +02:00
Brian Graham
25e0d630b8 Bug #14836 [HttpFoundation] Moves default JSON encoding assignment from constructor to property 2015-06-12 00:49:26 +02:00
Fabien Potencier
58f1420722 bumped Symfony version to 2.7.2 2015-06-12 00:37:12 +02:00
Fabien Potencier
932b6e7499 updated VERSION for 2.7.1 2015-06-11 23:15:28 +02:00
Gordon Franke
692deff7b0 fix Merge branch '2.7' into 2.8 JsonFileLoader 2015-06-11 21:27:42 +02:00
Fabien Potencier
83bdaa5c0e bug #14835 [DependencyInjection] Fixed resolving of service configurators containing Definition objects (webmozart)
This PR was merged into the 2.7 branch.

Discussion
----------

[DependencyInjection] Fixed resolving of service configurators containing Definition objects

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

Commits
-------

6ebcddd [DependencyInjection] Fixed resolving of service configurators containing Definition objects
2015-06-11 21:13:11 +02:00
Fabien Potencier
7ac7ed85af fixed CS 2015-06-11 21:09:58 +02:00
Fabien Potencier
58fba34843 minor #14883 [2.7] Improved exception message if custom implementation of OptionsResolverInterface is used (phansys)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7] Improved exception message if custom implementation of OptionsResolverInterface is used

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

Improved exception message if custom implementation of ```OptionsResolverInterface``` is used within ```AbstractType::setDefaultOptions()``` or ```AbstractTypeExtension::setDefaultOptions()```.

Before:
```
Argument 1 passed to Symfony\Component\Form\AbstractType::configureOptions() must be an instance of Symfony\Component\OptionsResolver\OptionsResolver, instance of Symfony\Component\Form\Tests\Fixtures\CustomOptionsResolver given
```

After:
```
Argument 1 passed to Symfony\Component\Form\AbstractType::setDefaultOptions() must be an instance of Symfony\Component\OptionsResolver\OptionsResolver, instance of Symfony\Component\Form\Tests\Fixtures\CustomOptionsResolver given
```

Commits
-------

aa945d3 [2.7] Improved exception message if custom implementation of ```OptionsResolverInterface``` is used
2015-06-11 21:07:54 +02:00
Javier Spagnoletti
aa945d355f [2.7] Improved exception message if custom implementation of ``OptionsResolverInterface`` is used
| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Improved exception message if custom implementation of ```OptionsResolverInterface```
is used within ```AbstractType::setDefaultOptions()``` or ```AbstractTypeExtension::setDefaultOptions()```.

Before:
```
Argument 1 passed to Symfony\Component\Form\AbstractType::configureOptions() must be an instance of Symfony\Component\OptionsResolver\OptionsResolver, instance of Symfony\Component\Form\Tests\Fixtures\CustomOptionsResolver given
```

After:
```
Argument 1 passed to Symfony\Component\Form\AbstractType::setDefaultOptions() must be an instance of Symfony\Component\OptionsResolver\OptionsResolver, instance of Symfony\Component\Form\Tests\Fixtures\CustomOptionsResolver given
```
2015-06-11 15:21:12 -03:00
Diego Saint Esteben
dbfca37703 [Config] Add deprecation warning
If someone extends FileLoader and do not call the parent constructor a
deprecation warning should be triggered.
2015-06-11 14:55:28 -03:00
Fabien Potencier
beeba9d62a minor #14886 [Routing] improved message for deprecated requirements (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Routing] improved message for deprecated requirements

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

Commits
-------

ef15e11 improved message for deprecated requirements
2015-06-11 19:41:47 +02:00
Fabien Potencier
ae470cdf14 Merge branch '2.7' into 2.8
* 2.7:
  Fix test name
  fixed CS
  Allow new lines in Messages translated with transchoice() (replacement for #14867)
  [Form] Swap new ChoiceView constructor arguments to ease migrating from the deprecated one
  [2.3] Fix tests on Windows
  [Yaml] remove partial deprecation annotation
  Silence invasive deprecation warnings, opt-in for warnings
  Documenting how to keep option value BC - see #14377

Conflicts:
	src/Symfony/Bridge/Doctrine/composer.json
	src/Symfony/Bridge/Twig/composer.json
2015-06-11 19:27:52 +02:00
Fabien Potencier
99f95ac212 Merge branch '2.6' into 2.7
* 2.6:
  fixed CS
  Allow new lines in Messages translated with transchoice() (replacement for #14867)
  [2.3] Fix tests on Windows
2015-06-11 19:26:34 +02:00
Fabien Potencier
f0045deaba Merge branch '2.3' into 2.6
* 2.3:
  fixed CS
  Allow new lines in Messages translated with transchoice() (replacement for #14867)
  [2.3] Fix tests on Windows
2015-06-11 19:26:27 +02:00
Christian Flothmann
ef15e11e07 improved message for deprecated requirements 2015-06-11 19:20:40 +02:00
Diego Saint Esteben
7bb0812012 Fix test name 2015-06-11 11:06:56 -03:00
Fabien Potencier
009efb8dec fixed CS 2015-06-11 15:53:10 +02:00
azine
786b8a664e Allow new lines in Messages translated with transchoice() (replacement for #14867) 2015-06-11 15:52:49 +02:00
Bernhard Schussek
6ebcddd55d [DependencyInjection] Fixed resolving of service configurators containing Definition objects 2015-06-11 13:28:28 +02:00
Fabien Potencier
eb366b9264 bug #14887 [Form] Swap new ChoiceView constructor arguments to ease migrating from the deprecated one (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Swap new ChoiceView constructor arguments to ease migrating from the deprecated one

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

Commits
-------

909d2b9 [Form] Swap new ChoiceView constructor arguments to ease migrating from the deprecated one
2015-06-10 20:57:31 +02:00
Nicolas Grekas
909d2b9020 [Form] Swap new ChoiceView constructor arguments to ease migrating from the deprecated one 2015-06-10 17:47:24 +02:00
Nicolas Grekas
e7e48c8b01 bug #14900 Silence deprecation warnings by default (reecefowell)
This PR was merged into the 2.7 branch.

Discussion
----------

[RFC] Fixing Deprecation Warnings

This PR address an issue that causes Symfony to vomit E_DEPRECATED warnings everywhere.

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

Fixes #14899

![http://cdn.meme.am/instances2/500x/125359.jpg](http://cdn.meme.am/instances2/500x/125359.jpg)

Commits
-------

73bbaa6 Silence invasive deprecation warnings, opt-in for warnings
2015-06-10 17:30:22 +02:00
Richard van Laak
dbaefb4f5f Include working directory in ProcessFailedException
... because quite often the Exception is a result of the `www-data` user not having the appropriate rights at that path.

fixed ProcessFailedException tests

Update ProcessFailedExceptionTest.php

fix indention

fixed indention
2015-06-10 17:09:10 +02:00
Christian Flothmann
24451ce135 [Yaml] remove partial deprecation annotation 2015-06-09 22:29:28 +02:00
Tobias Schultze
a44ceb3156 feature #14912 [HttpFoundation] Postpone setting the date header on a Response (jakzal)
This PR was merged into the 2.8 branch.

Discussion
----------

[HttpFoundation] Postpone setting the date header on a Response

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

The only risk of doing this is if someone called `getDate()` and the date header was not present, the date might be slightly different than the one sent with the headers.

`getDate()` could also set the date header first time it's requested (do a lazy initialisation).

Commits
-------

2ad3b0d [HttpFoundation] Postpone setting the date header on a Response
2015-06-09 20:34:03 +02:00
Jakub Zalas
2ad3b0d890 [HttpFoundation] Postpone setting the date header on a Response 2015-06-09 17:58:27 +01:00
Fabien Potencier
f38296b58c Merge branch '2.7' into 2.8
* 2.7:
  [Console] SymfonyStyle : Fix blocks wordwrapping
  [Console] SymfonyStyle : Fix blocks output is broken on windows cmd
  [Validator] remove partial deprecation annotation
  Updated UPGRADE-2.4.md
  [Form] Support DateTimeImmutable in transform()
  Show the FormType and FormTypeExtension in case of deprecated use of setDefaultOptions
  [FrameworkBundle] Document form.csrf_provider service deprecation
  [Form] add test to avoid regression of #14891
  without this change allways the legacy code get called
  [Form] Fix call to removed method (BC broken in 2.3)
  Fix ask and askHidden methods
  [HttpFoundation] Get response content as resource several times for PHP >= 5.6
  Change error message to reflect SecurityContext deprecation.
  fixed merge
  Issue #14815
  [Console] SymfonyStyle : fix & automate block gaps.
  [Console] SymfonyStyle : Improve EOL consistency by relying on output instance
  Improved duplicated code in FileLocator
2015-06-09 17:06:55 +02:00
Fabien Potencier
1750330831 Merge branch '2.6' into 2.7
* 2.6:
  [Validator] remove partial deprecation annotation
  Updated UPGRADE-2.4.md
  [Form] Support DateTimeImmutable in transform()
  [Form] add test to avoid regression of #14891
  without this change allways the legacy code get called
  [Form] Fix call to removed method (BC broken in 2.3)
  [HttpFoundation] Get response content as resource several times for PHP >= 5.6
  Improved duplicated code in FileLocator
2015-06-09 17:06:47 +02:00
Fabien Potencier
49d942a2ba Merge branch '2.3' into 2.6
* 2.3:
  [Form] Support DateTimeImmutable in transform()
  [Form] Fix call to removed method (BC broken in 2.3)
  [HttpFoundation] Get response content as resource several times for PHP >= 5.6
  Improved duplicated code in FileLocator
2015-06-09 17:06:34 +02:00
ogizanagi
58f2fada56 [Console] SymfonyStyle : Fix blocks wordwrapping
Allow to print strings with a length greater than the terminal length in a block by allowing to cut words.
2015-06-09 11:20:12 +02:00
ogizanagi
ea3d7688e4 [Console] SymfonyStyle : Fix blocks output is broken on windows cmd 2015-06-08 22:51:09 +02:00
Fabien Potencier
c62069bc52 bug #14623 [Console] SymfonyStyle : fix & automate block gaps. (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] SymfonyStyle : fix & automate block gaps.

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

---
Depends on https://github.com/symfony/symfony/pull/14741

---
## What it does
- autoprepend appropriate blocks (like cautions, titles, sections, ...) by the correct number of blank lines considering history.
- handle automatically most of the SymfonyStyle guide line breaks and gaps. Fix things such as unwanted double blank lines between titles and admonitions.
- test outputs
- fix an issue using questions with SymfonyStyle, which should not output extra blank lines when using with a non-interactive input.

## Description

`SymfonyStyle` is great, but there are some issues, mostly when using blocks (text blocks, titles and admonitions): some extra blank lines might be generated.

Plus, on the contrary, some line breaks or blank lines around blocks are missing, and the developer need to handle this himself by polluting his code with ugly `if` and `newLine()` statements.

### Before / After :

![screenshot 2015-05-13 a 00 11 59](https://cloud.githubusercontent.com/assets/2211145/7600572/ccfa8904-f90c-11e4-999f-d89612360424.PNG)

As you can see, it's still up to the developper to end his command by a blank line (unless using a block like `SymfonyStyle::success()`) in order to distinct different commands outputs more efficiently.

Everything else is now handled properly, and automatically, according to the rules exposed in the symfony console style guide published some time ago by @javiereguiluz .
Questions (not exposed in the above output) are considered as blocks, and follow, for instance, the same conditions than admonitions: 1 blank line before and after, no more (although, you'll still be able to output more blank lines yourself, using `newLine`).

Commits
-------

fc598ff [Console] SymfonyStyle : fix & automate block gaps.
260702e [Console] SymfonyStyle : Improve EOL consistency by relying on output instance
2015-06-08 21:06:07 +02:00
Christian Flothmann
b49c82ff8c [Validator] remove partial deprecation annotation 2015-06-08 18:16:07 +02:00
Fabien Potencier
a48d36ae31 bug #14895 [Form] Support DateTimeImmutable in transform() (c960657)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] Support DateTimeImmutable in transform()

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

When passing a DateTimeImmutable instance to DateTimeToLocalizedStringTransformer::transform($dateTime), it throws an exception, `TransformationFailedException('Expected a \DateTime.')`.

The method just converts a date-time object into a string, so there is no reason that it should not support all DateTimeInterface implementations.

DateTimeInterface was added in PHP 5.5, so in order to support earlier versions, we need to do instanceof checks for both DateTime and DateTimeInterface. When Symfony requires PHP 5.5 or larger, we can remove the DateTime check and only check for DateTimeInterface.

This was originally submitted as a PR against the 2.7 branch in #14676.

Commits
-------

17346c5 [Form] Support DateTimeImmutable in transform()
2015-06-08 15:59:27 +02:00
Oskar Stark
1baf05a584 added missing " 2015-06-08 13:38:51 +02:00
reecefowell
73bbaa6cc7 Silence invasive deprecation warnings, opt-in for warnings 2015-06-08 10:37:21 +01:00
Christian Schmidt
17346c53dc [Form] Support DateTimeImmutable in transform() 2015-06-08 07:38:09 +02:00
Peter Rehm
a276eb055f Show the FormType and FormTypeExtension in case of deprecated use of setDefaultOptions 2015-06-07 13:04:25 -04:00
Fabien Potencier
97050dc582 minor #14901 [Form] add test to avoid regression of #14891 (xabbuh)
This PR was merged into the 2.6 branch.

Discussion
----------

[Form] add test to avoid regression of #14891

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

Commits
-------

12a19c8 [Form] add test to avoid regression of #14891
2015-06-07 18:46:00 +02:00
Christian Flothmann
12a19c8980 [Form] add test to avoid regression of #14891 2015-06-07 08:50:12 +02:00
Dominik Zogg
96a30bf31d without this change allways the legacy code get called 2015-06-06 20:31:04 +02:00
Sergio Santoro
fa9da42c22 [Form] Fix call to removed method (BC broken in 2.3)
ResolvedFormType#getTypeExtensions() was calling method
AbstractType#getExtensions() which has been removed in
commit b3081e85a0

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -
2015-06-06 18:24:30 +02:00
Diego Saint Esteben
5bb2cc8331 Fix ask and askHidden methods 2015-06-05 20:29:24 -03:00
Fabien Potencier
b1003d57f3 minor #14738 [HttpFoundation] Get response content as resource several times for PHP >= 5.6 (dunglas)
This PR was squashed before being merged into the 2.3 branch (closes #14738).

Discussion
----------

[HttpFoundation] Get response content as resource several times for PHP >= 5.6

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

Since PHP 5.6, `php://input` can be opened several times.

Commits
-------

9f9b0f7 [HttpFoundation] Get response content as resource several times for PHP >= 5.6
2015-06-05 22:09:35 +02:00
Kévin Dunglas
9f9b0f73aa [HttpFoundation] Get response content as resource several times for PHP >= 5.6 2015-06-05 22:09:27 +02:00
Nicholas Byfleet
4212bdaf72 Change error message to reflect SecurityContext deprecation. 2015-06-05 21:57:45 +02:00
Fabien Potencier
04630ad60e fixed merge 2015-06-05 21:54:43 +02:00
Fabien Potencier
31eb16c03e Merge branch '2.6' into 2.7
* 2.6:
  Issue #14815
2015-06-05 21:54:27 +02:00
Gerrit Drost
17b4251310 Issue #14815
Removed @deprecated tags and moved their descriptions to the method description as a note.
2015-06-05 21:54:03 +02:00
Fabien Potencier
4133aadd0c feature #14781 [TwigBundle] Reconfigure twig paths when they are updated (chbruyand)
This PR was squashed before being merged into the 2.8 branch (closes #14781).

Discussion
----------

[TwigBundle] Reconfigure twig paths when they are updated

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #14771, #14768, #14262, #14778
| License       | MIT

Refresh twig paths upon creation and deletion. As we don't care neither about path's modification time nor path's content, a new Resource has been added in the Config Component.
Full discussion in #14778.

Commits
-------

3cbff05 [TwigBundle] Reconfigure twig paths when they are updated
2015-06-05 19:28:20 +02:00
Charles-Henri Bruyand
3cbff05e70 [TwigBundle] Reconfigure twig paths when they are updated 2015-06-05 19:28:18 +02:00
Fabien Potencier
99ec717a22 Merge branch '2.7' into 2.8
* 2.7:
  [Security] Update tests after a merge
  [Console] Remove an unused argument and fix a small cs issue
  [Translator] avoid serialize unserializable resources.
2015-06-05 18:29:33 +02:00
Fabien Potencier
72b2a79972 Merge branch '2.6' into 2.7
* 2.6:
  [Security] Update tests after a merge
  [Console] Remove an unused argument and fix a small cs issue
2015-06-05 18:29:23 +02:00
Jakub Zalas
322f629020 [Security] Update tests after a merge
Security component was split into three and test fixture namespaces are different between 2.3 and 2.6 branches.
2015-06-05 15:24:01 +01:00
Fabien Potencier
d04cc5e66b feature #14700 [DependencyInjection] [Routing] [Config] Recursive directory loading (lavoiesl, nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[DependencyInjection] [Routing] [Config] Recursive directory loading

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

Commits
-------

60b1c5b Added CHANGELOG entries, cleanups
73f0ee2 [DI][Routing] recursive directory loading
2015-06-05 15:59:18 +02:00
Fabien Potencier
662e2816e3 minor #14746 [Config] Improved duplicated code in FileLocator (dosten)
This PR was merged into the 2.3 branch.

Discussion
----------

[Config] Improved duplicated code in FileLocator

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

This PR improves a duplicate check prepending the current path (if exists) to the list of paths.

Commits
-------

30aa4e9 Improved duplicated code in FileLocator
2015-06-05 15:57:41 +02:00
Fabien Potencier
34ad82e1d2 bug #14705 [Translator] avoid serialize unserializable resources. (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[Translator] avoid serialize unserializable resources.

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

Commits
-------

7220f2c [Translator] avoid serialize unserializable resources.
2015-06-05 15:55:54 +02:00
Fabien Potencier
c2ea763fbe minor #14880 [Console] Remove an unused argument (jakzal)
This PR was merged into the 2.6 branch.

Discussion
----------

[Console] Remove an unused argument

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

It was overlooked when doing a refactoring in #8800

I also fixed a small cs issue indicated by fabbot.

Commits
-------

ec14143 [Console] Remove an unused argument and fix a small cs issue
2015-06-05 15:50:22 +02:00
Jakub Zalas
ec14143922 [Console] Remove an unused argument and fix a small cs issue 2015-06-05 14:36:34 +01:00
Fabien Potencier
5593bdd56e Merge branch '2.7' into 2.8
* 2.7: (95 commits)
  [DependencyInjection] provide better error message when using deprecated configuration options
  [console][TableCell] get cell width without decoration.
  Improve the config validation in TwigBundle
  [VarDumper] Changed tooltip to expand-all keybinding in OS X
  [Bridge\PhpUnit] Fix composer installed phpunit detection
  [VarDumper] Fix generic casters calling order
  [2.7][SecurityBundle] Remove SecurityContext from Compile
  [WebProfilerBundle][logger] added missing deprecation message.
  Fix profiler CSS
  [Security][Acl] enforce string identifiers
  [FrameworkBundle] make `templating.helper.router` service available again for BC reasons
  [BrowserKit] Fix bug when uri starts with http.
  bumped Symfony version to 2.7.1
  updated VERSION for 2.7.0
  updated CHANGELOG for 2.7.0
  bumped Symfony version to 2.6.10
  updated VERSION for 2.6.9
  updated CHANGELOG for 2.6.9
  fixed tests
  bumped Symfony version to 2.3.31
  ...

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php
	src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/logger.html.twig
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Translation/Loader/JsonFileLoader.php
2015-06-04 22:21:09 +02:00
Fabien Potencier
d65adc07a9 Merge branch '2.6' into 2.7
* 2.6:
  Improve the config validation in TwigBundle
  [WebProfilerBundle][logger] added missing deprecation message.
  [Security][Acl] enforce string identifiers
  [BrowserKit] Fix bug when uri starts with http.
  bumped Symfony version to 2.3.31
  updated VERSION for 2.3.30
  updated CHANGELOG for 2.3.30
  Php Inspections (EA Extended):     - resolved possible PHP Fatal in \Symfony\Component\BrowserKit\Cookie::__toString     -resolved implicit magic methods calls     -resolved callable name case mismatches
2015-06-04 22:11:48 +02:00
Fabien Potencier
1c4c0435b4 Merge branch '2.3' into 2.6
* 2.3:
  Improve the config validation in TwigBundle
  [Security][Acl] enforce string identifiers
  [BrowserKit] Fix bug when uri starts with http.
  bumped Symfony version to 2.3.31
  updated VERSION for 2.3.30
  updated CHANGELOG for 2.3.30
  Php Inspections (EA Extended):     - resolved possible PHP Fatal in \Symfony\Component\BrowserKit\Cookie::__toString     -resolved implicit magic methods calls     -resolved callable name case mismatches

Conflicts:
	src/Symfony/Component/Debug/Tests/ErrorHandlerTest.php
	src/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php
	src/Symfony/Component/HttpKernel/Kernel.php
2015-06-04 22:11:39 +02:00
Fabien Potencier
e8d06b2e4a minor #14798 [DependencyInjection] provide better error message when using deprecated configuration options (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[DependencyInjection] provide better error message when using deprecated configuration options

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

Commits
-------

e1e7440 [DependencyInjection] provide better error message when using deprecated configuration options
2015-06-04 22:07:55 +02:00
Christian Flothmann
64910338ea [Validator] more strict e-mail validation regex 2015-06-04 21:42:48 +02:00
Christian Flothmann
e1e74404a0 [DependencyInjection] provide better error message when using deprecated configuration options 2015-06-04 21:37:50 +02:00
Fabien Potencier
d4efccd9e4 bug #14846 [console][TableCell] get cell width without decoration. (aitboudad)
This PR was squashed before being merged into the 2.7 branch (closes #14846).

Discussion
----------

[console][TableCell] get cell width without decoration.

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Fixed tickets  | https://github.com/symfony/symfony/pull/14513#issuecomment-108093051
| Tests pass?   | yes
| License       | MIT

Commits
-------

d93b16f [console][TableCell] get cell width without decoration.
2015-06-04 16:44:05 +02:00
Abdellatif Ait boudad
d93b16f407 [console][TableCell] get cell width without decoration. 2015-06-04 16:44:02 +02:00
Fabien Potencier
d6b0e64a5d bug #14852 [VarDumper] Fix generic casters calling order (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] Fix generic casters calling order

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

There is a logical mistake in the calling order of the catch all `*` caster. Casters are called with increasing specificity, from parents first to children classes last. But this one is currently called last, although it is the less specific. Here is the fix in `AbstractCloner`.
All the other changes are adding robustness to potentially not-set array indexes.

Commits
-------

ec124e0 [VarDumper] Fix generic casters calling order
2015-06-04 16:40:31 +02:00
Taylan Kasap
88093623ea [VarDumper] Changed tooltip to expand-all keybinding in OS X
Expand all keybinding is Cmd+click in OS X
2015-06-03 15:36:55 -07:00
Nicolas Grekas
ec124e078a [VarDumper] Fix generic casters calling order 2015-06-03 10:54:19 -07:00
Nicolas Grekas
60b1c5b5aa Added CHANGELOG entries, cleanups 2015-06-02 16:18:00 -07:00
Sébastien Lavoie
73f0ee2413 [DI][Routing] recursive directory loading
Issue #11045

For now, the Routing DirectoryLoader requires the type `directory`
to be specified so it does not conflict with `AnnotationDirectoryLoader`.
However, this could be refactored.
2015-06-02 16:17:59 -07:00
Fabien Potencier
78cf382aa2 feature #14733 [Security] Add setVoters() on AccessDecisionManager (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[Security] Add setVoters() on AccessDecisionManager

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

Alternative for #14550

Commits
-------

3fd7cea [Security] Add setVoters() on AccessDecisionManager
2015-06-01 17:31:50 +02:00
Fabien Potencier
5607f71079 bug #14785 [BrowserKit] Fix bug when uri starts with http. (amouhzi)
This PR was merged into the 2.3 branch.

Discussion
----------

[BrowserKit] Fix bug when uri starts with http.

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

Commits
-------

6d3ec63 [BrowserKit] Fix bug when uri starts with http.
2015-06-01 17:27:09 +02:00
Fabien Potencier
013009b6c8 minor #14474 [2.3] Static Code Analysis for Components (kalessil)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3] Static Code Analysis for Components

| 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

Static Code Analysis with Php Inspections (EA Extended), no functional changes:
- resolved possible PHP Fatal in \Symfony\Component\BrowserKit\Cookie::__toString
- resolved callable name case mismatches

Commits
-------

9eb2b14 Php Inspections (EA Extended):     - resolved possible PHP Fatal in \Symfony\Component\BrowserKit\Cookie::__toString     -resolved implicit magic methods calls     -resolved callable name case mismatches
2015-06-01 17:18:16 +02:00
Abdellatif Ait boudad
7220f2c880 [Translator] avoid serialize unserializable resources. 2015-05-31 17:58:25 +00:00
Christian Flothmann
bbb1064c99 [Security][Acl] enforce string identifiers 2015-05-31 17:00:49 +02:00
Hassan Amouhzi
6d3ec633cd [BrowserKit] Fix bug when uri starts with http.
| Q             | A
| ------------- | ---
| Fixed tickets |
| License       | MIT
2015-05-30 22:07:20 +02:00
ogizanagi
fc598ff6ad [Console] SymfonyStyle : fix & automate block gaps.
Autoprepend appropriate blocks by the correct number of blank lines.
Handle most of the SymfonyStyle guide line breaks and gaps automatically and fix thing such as double blank lines between titles.
Add output tests.
Fix askQuestion method, which should not output anything when the input isn't interactive.
2015-05-30 20:12:12 +02:00
Fabien Potencier
7493c2bef5 bumped Symfony version to 2.7.1 2015-05-30 19:16:04 +02:00
Fabien Potencier
9975b1eca3 updated VERSION for 2.7.0 2015-05-30 18:52:28 +02:00
ogizanagi
260702eae8 [Console] SymfonyStyle : Improve EOL consistency by relying on output instance 2015-05-30 12:54:49 +02:00
Fabien Potencier
390e9b4dc6 bumped Symfony version to 2.6.10 2015-05-30 01:26:13 +02:00
Fabien Potencier
b06539573c updated VERSION for 2.6.9 2015-05-30 00:55:07 +02:00
Fabien Potencier
cff69aa18b bumped Symfony version to 2.3.31 2015-05-30 00:42:49 +02:00
Fabien Potencier
6dfe5551b7 updated VERSION for 2.3.30 2015-05-30 00:16:04 +02:00
Vladimir Reznichenko
9eb2b14115 Php Inspections (EA Extended):
- resolved possible PHP Fatal in \Symfony\Component\BrowserKit\Cookie::__toString
    -resolved implicit magic methods calls
    -resolved callable name case mismatches
2015-05-29 19:14:48 +02:00
Ryan Weaver
a7985d244c Fixing phpdoc typo 2015-05-29 12:22:24 -04:00
Fabien Potencier
b07eca5453 Merge branch '2.6' into 2.7
* 2.6: (21 commits)
  Revert "bug #14262 [TwigBundle] Refresh twig paths when resources change. (aitboudad)"
  InvalidResourceException file name
  [Validators] Remove forgotten space in a translation key [nl]
  [Validators] Correct translation key and content [nl]
  bumped Symfony version to 2.6.9
  updated VERSION for 2.6.8
  updated CHANGELOG for 2.6.8
  added missing CVE number
  bumped Symfony version to 2.3.30
  updated VERSION for 2.3.29
  update CONTRIBUTORS for 2.3.29
  updated CHANGELOG for 2.3.29
  [Validators] Missing translations for arabic language.
  Code style
  fixed C
  [HttpKernel][Bundle] Check extension implements ExtensionInterface
  [DebugBundle] Fix config XSD
  [CS] [Console] StreamOuput : fix loose comparison
  [Framework][router commands] fixed failing test.
  [HttpKernel] Do not call the FragmentListener if _controller is already defined
  ...

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Serializer/Normalizer/PropertyNormalizer.php
2015-05-29 16:44:44 +02:00
Fabien Potencier
c349cb3528 Merge branch '2.3' into 2.6
* 2.3:
  Revert "bug #14262 [TwigBundle] Refresh twig paths when resources change. (aitboudad)"
  InvalidResourceException file name
  [Validators] Remove forgotten space in a translation key [nl]
  [Validators] Correct translation key and content [nl]
  added missing CVE number
  bumped Symfony version to 2.3.30
  updated VERSION for 2.3.29
  update CONTRIBUTORS for 2.3.29
  updated CHANGELOG for 2.3.29
  [CS] [Console] StreamOuput : fix loose comparison
  [DependencyInjection] Avoid unnecessary calls to strtolower()

Conflicts:
	src/Symfony/Component/Console/Output/StreamOutput.php
	src/Symfony/Component/HttpKernel/Kernel.php
2015-05-29 16:42:58 +02:00
Ladislav Tánczos
2e04e23c6a InvalidResourceException file name 2015-05-28 22:42:23 +02:00
Fabien Potencier
41adf224b5 minor #14643 [DependencyInjection] Avoid unnecessary calls to strtolower() (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[DependencyInjection] Avoid unnecessary calls to strtolower()

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

Commits
-------

c27f564 [DependencyInjection] Avoid unnecessary calls to strtolower()
2015-05-28 16:28:38 +02:00
Fabien Potencier
a4e126d531 minor #14765 [Validators] Correct translation key and content [nl] (amouhzi)
This PR was merged into the 2.3 branch.

Discussion
----------

[Validators] Correct translation key and content [nl]

The nl file is not up to date. Correct changed translation key.

Commits
-------

5bc4085 [Validators] Correct translation key and content [nl]
2015-05-28 05:26:02 +02:00
Hassan Amouhzi
51e3c222d4 [Validators] Remove forgotten space in a translation key [nl] 2015-05-27 23:21:50 +02:00
Hassan Amouhzi
5bc4085e4c [Validators] Correct translation key and content [nl] 2015-05-27 23:11:20 +02:00
Fabien Potencier
86ab2505a9 minor #14742 [CS] [Console] StreamOuput : fix loose comparison (ogizanagi)
This PR was merged into the 2.3 branch.

Discussion
----------

[CS] [Console] StreamOuput : fix loose comparison

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

Commits
-------

cd70ca8 [CS] [Console] StreamOuput : fix loose comparison
2015-05-27 20:33:26 +02:00
Fabien Potencier
31b5e5c5b1 minor #14758 [Serializer] [2.6] Code style (derrabus)
This PR was merged into the 2.6 branch.

Discussion
----------

[Serializer] [2.6] Code style

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

This PR fixes some minor code style issues fabbot discovered while I was working on PR #14756.

Commits
-------

864136a Code style
2015-05-27 20:30:26 +02:00
Fabien Potencier
9f5a6c6b66 bumped Symfony version to 2.6.9 2015-05-27 02:47:03 +02:00
Fabien Potencier
7ae1934082 updated VERSION for 2.6.8 2015-05-27 02:17:10 +02:00
Fabien Potencier
a8886615e4 bumped Symfony version to 2.3.30 2015-05-27 01:35:14 +02:00
Fabien Potencier
c4da51ce0f updated VERSION for 2.3.29 2015-05-26 23:55:27 +02:00
Nicolas Grekas
662346403b Merge branch '2.3' into 2.6
* 2.3:
  [Validators] Missing translations for arabic language.
  fixed C
  [HttpKernel][Bundle] Check extension implements ExtensionInterface
  [HttpKernel] Do not call the FragmentListener if _controller is already defined
2015-05-26 14:42:28 -07:00
Fabien Potencier
64e9584fae security #14759 n/a (jakzal)
This PR was merged into the 2.3 branch.

Discussion
----------

n/a

n/a

Commits
-------

d320d27 [HttpKernel] Do not call the FragmentListener if _controller is already defined
2015-05-26 23:41:30 +02:00
Hassan Amouhzi
9a26e4beba [Validators] Missing translations for arabic language. 2015-05-26 23:24:07 +02:00
Alexander M. Turek
864136a739 Code style 2015-05-26 23:19:30 +02:00
Alexander M. Turek
0573f28d9b Support for array denormalization. 2015-05-26 22:25:23 +02:00
Fabien Potencier
2aeaa22e31 bug #14745 [Serializer] AbstractNormalizer::instantiateObject allow default values when not optional (boekkooi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] AbstractNormalizer::instantiateObject allow default values when not optional

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

This PR fixes a bug in the AbstractNormalizer when denormalizing a array with a missing value but a default value set in the class constructor.

Commits
-------

266d53e [Serializer] AbstractNormalizer::instantiateObject allow default values when not optional
2015-05-25 09:45:54 +02:00
Fabien Potencier
36dfdaf3db fixed C 2015-05-25 09:43:48 +02:00
Sergio Santoro
b6e0a9246d [HttpKernel][Bundle] Check extension implements ExtensionInterface
- Avoid fatal errors on line 89 (calling getAlias on objects of
  unknown type).
- Help developers solve problems with their extensions
2015-05-25 09:42:57 +02:00
Warnar Boekkooi
d546080d20 [Serializer] AbstractNormalizer::instantiateObject avoid null rejection 2015-05-25 09:37:02 +02:00
Diego Saint Esteben
30aa4e96c6 Improved duplicated code in FileLocator 2015-05-24 22:52:55 -03:00
Warnar Boekkooi
266d53e5e8 [Serializer] AbstractNormalizer::instantiateObject allow default values when not optional 2015-05-25 07:36:47 +08:00
ogizanagi
cd70ca8a51 [CS] [Console] StreamOuput : fix loose comparison 2015-05-24 20:51:45 +02:00
Nicolas Grekas
3fd7ceaa81 [Security] Add setVoters() on AccessDecisionManager 2015-05-23 12:08:33 -07:00
Fabien Potencier
58efb98c6f Merge branch '2.6' into 2.7
* 2.6: (30 commits)
  [Translation] fixed JSON loader on PHP 7 when file is empty
  Fix typo
  Check instance of FormBuilderInterface instead of FormBuilder
  [Security] TokenBasedRememberMeServices test to show why encoding username is required
  [Security] AbstractRememberMeServices::encodeCookie() validates cookie parts
  fixed typo
  [console][formater] allow format toString object.
  [HttpFoundation] Fix baseUrl when script filename is contained in pathInfo
  Avoid redirection to XHR URIs
  [HttpFoundation] IpUtils::checkIp4() should allow  networks
  [2.6] Fix HTML escaping of to-source links
  Fix HTML escaping of to-source links
  ExceptionHandler: More Encoding
  Fix the rendering of deprecation log messages
  [FrameworkBundle] Removed unnecessary parameter in TemplateController
  [DomCrawler] Throw an exception if a form field path is incomplete.
  Fixed the indentation in the compiled template for the DumpNode
  [Console] Delete duplicate test in CommandTest
  [TwigBundle] Refresh twig paths when resources change.
  WebProfiler break words
  ...

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/logger.html.twig
	src/Symfony/Component/Debug/ExceptionHandler.php
2015-05-22 16:54:25 +02:00
Fabien Potencier
dd744c9f53 Merge branch '2.3' into 2.6
* 2.3:
  Fix typo
  Check instance of FormBuilderInterface instead of FormBuilder
  [Security] TokenBasedRememberMeServices test to show why encoding username is required
  [Security] AbstractRememberMeServices::encodeCookie() validates cookie parts
  [console][formater] allow format toString object.
  [HttpFoundation] Fix baseUrl when script filename is contained in pathInfo
  Avoid redirection to XHR URIs
  [HttpFoundation] IpUtils::checkIp4() should allow  networks
  Fix HTML escaping of to-source links
  [FrameworkBundle] Removed unnecessary parameter in TemplateController
  [DomCrawler] Throw an exception if a form field path is incomplete.
  [Console] Delete duplicate test in CommandTest
  [TwigBundle] Refresh twig paths when resources change.
  WebProfiler break words
  fixed typo
  Update README.md
  [HttpKernel] Handle an array vary header in the http cache store
  [Security][Translation] fixes #14584
  [Framework] added test for Router commands.
  Handled bearer authorization header in REDIRECT_ form

Conflicts:
	src/Symfony/Component/Debug/ExceptionHandler.php
2015-05-22 16:53:08 +02:00
Fabien Potencier
af36c341ac [Translation] fixed JSON loader on PHP 7 when file is empty 2015-05-22 16:37:51 +02:00
Fabien Potencier
cc749a67f6 bug #14715 [Form] Check instance of FormBuilderInterface instead of FormBuilder (dosten)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] Check instance of FormBuilderInterface instead of FormBuilder

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

Commits
-------

44469d0 Check instance of FormBuilderInterface instead of FormBuilder
2015-05-22 13:54:11 +02:00
Fabien Potencier
3e7b19e55e minor #14720 [2.7][DI] Definition deprecation notice includes the parameters given (iltar)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7][DI] Definition deprecation notice includes the parameters given

| Q             | A
| ------------- | ---
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #14687
| License       | MIT

This PR won't fix the issue at hand, but should make it a bit easier to debug. Because this is used by the configuration loader, it's hard to trace back where and how it's actually used.

Commits
-------

b322d46 Definition deprecation notice includes the parameters given
2015-05-22 13:51:10 +02:00
Fabien Potencier
3331f0adcd bug #14654 [Console] SymfonyStyle : fix blocks failed when $messages is null (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] SymfonyStyle : fix blocks failed when $messages is null

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

Using `SymfonyStyle:block` method with `null` as first argument failed, where most of other methods accepting both string and array arguments will simply output an empty string.

At first I wanted to output nothing, or even throw a proper exception. But then I realized how behaves other methods like text or write.

I encountered this issue while executing a console application, in non-interactive mode, that asks questions (without default value) and prints the result immediately using a note block:
```php
$output->note($output->choice('Choice question', array('choice 1', 'choice 2'));
```
![screenshot 2015-05-16 a 11 42 47](https://cloud.githubusercontent.com/assets/2211145/7665616/ba5f343c-fbc0-11e4-811d-6b109aaa8d27.PNG)

Commits
-------

cfd1022 [Console] SymfonyStyle : fix blocks failed when $messages is null.
2015-05-22 13:49:36 +02:00
Possum
6ac8d29d18 Fix typo 2015-05-22 12:24:03 +02:00
Iltar van der Berg
b322d4618c Definition deprecation notice includes the parameters given 2015-05-22 10:32:28 +02:00
Diego Saint Esteben
44469d01d1 Check instance of FormBuilderInterface instead of FormBuilder 2015-05-21 18:12:55 -03:00
Jakub Zalas
d320d27699 [HttpKernel] Do not call the FragmentListener if _controller is already defined 2015-05-21 10:29:06 +01:00
ogizanagi
cfd1022878 [Console] SymfonyStyle : fix blocks failed when $messages is null.
Using the `SymfonyStyle:block` method with `null` as first argument
failed, where most of other methods accepting both string and array arguments will simply output an empty string.
2015-05-21 09:48:52 +02:00
Fabien Potencier
089d9f734a minor #14670 [Security] TokenBasedRememberMeServices test to show why encoding username is required (MacDada)
This PR was squashed before being merged into the 2.3 branch (closes #14670).

Discussion
----------

[Security] TokenBasedRememberMeServices test to show why encoding username is required

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

241538d shows that it's not actually tested, 257b796 reimplements it with test.

I can remove the POC commit if it's not needed.

Commits
-------

63a9736 [Security] TokenBasedRememberMeServices test to show why encoding username is required
2015-05-21 06:29:49 +02:00
Dawid Nowak
63a9736350 [Security] TokenBasedRememberMeServices test to show why encoding username is required 2015-05-21 06:29:39 +02:00
Fabien Potencier
2cf230d6a6 bug #14678 [Security] AbstractRememberMeServices::encodeCookie() validates cookie parts (MacDada)
This PR was squashed before being merged into the 2.3 branch (closes #14678).

Discussion
----------

[Security] AbstractRememberMeServices::encodeCookie() validates cookie parts

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

`AbstractRememberMeServices::encodeCookie()` guards against `COOKIE_DELIMITER` in `$cookieParts`.

* it would make `AbstractRememberMeServices::cookieDecode()` broken
* all current extending classes do it anyway (see #14670 )
* added tests – it's not a public method, but it is expected to be used by user implementations – as such, it's good to know that it works properly

Commits
-------

464c39a [Security] AbstractRememberMeServices::encodeCookie() validates cookie parts
2015-05-21 06:28:27 +02:00
Dawid Nowak
464c39a77f [Security] AbstractRememberMeServices::encodeCookie() validates cookie parts 2015-05-21 06:28:25 +02:00
Fabien Potencier
438d394a1c bug #14635 [HttpKernel] Handle an array vary header in the http cache store (jakzal)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpKernel] Handle an array vary header in the http cache store

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

Commits
-------

5930800 [HttpKernel] Handle an array vary header in the http cache store
2015-05-21 06:26:25 +02:00
Fabien Potencier
84d2fdbe86 minor #14662 added supported format in commands supporting --format (fabpot)
This PR was merged into the 2.7 branch.

Discussion
----------

added supported format in commands supporting --format

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

replaces #14084

Commits
-------

ea874b6 added supported format in commands supporting --format
c4bf217 deprecated the --xml option for commands
2015-05-21 06:22:51 +02:00
Nicolas Grekas
c27f564f68 [DependencyInjection] Avoid unnecessary calls to strtolower() 2015-05-20 11:44:03 -07:00
Fabien Potencier
1e0685711b fixed typo 2015-05-20 15:09:45 +02:00
Gennady Telegin
29ec5caf8a [Translation] add options 'as_tree', 'inline' to YamlFileDumper to dump messages as tree instead of simple list.
Dump messages as tree based on '.' character as a delimeter in path.
For example this rray('foo.bar' => 'value') will be converted to array('foo' => array('bar' => 'value')).

Correctly process cases like this ['foo.bar' => 'test1', 'foo' => 'test2'].
2015-05-20 12:35:10 +03:00
Abdellatif Ait boudad
70b4964e4e [console][formater] allow format toString object. 2015-05-20 11:08:20 +02:00
Fabien Potencier
905bbbdd90 bug #14335 [HttpFoundation] Fix baseUrl when script filename is contained in pathInfo (danez)
This PR was squashed before being merged into the 2.3 branch (closes #14335).

Discussion
----------

[HttpFoundation] Fix baseUrl when script filename is contained in pathInfo

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

When the script filename is just /index.php, dirname() returns '/' for it. In Request::prepareBaseUrl() we append '/' to it (as introduced in #13039), which is wrong in this scenario as the resulting string is '//'.

When we rtrim('/') the output of dirname() then '/' would be constructed in this case, and in all other cases it makes no difference as dirname() already trims the right forward slash if there are path segments.

The test-cases should clarify the exact scenario.

Commits
-------

f24a6dd [HttpFoundation] Fix baseUrl when script filename is contained in pathInfo
2015-05-20 10:53:09 +02:00
Daniel Tschinder
f24a6dd43a [HttpFoundation] Fix baseUrl when script filename is contained in pathInfo 2015-05-20 10:53:07 +02:00
Fabien Potencier
791e583b40 feature #14403 [Form] deprecate read_only option (Tobion)
This PR was squashed before being merged into the 2.8 branch (closes #14403).

Discussion
----------

[Form] deprecate read_only option

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

Replaces #10676 with a slightly different implementation.
- fixes BC break when 'read_only' => true option and at the same time custom attributes are used by using a normalizer
- adds deprecation notice
- keeps legacy tests

Commits
-------

53330e1 [Form] deprecate read_only option
2015-05-20 10:44:53 +02:00
Tobias Schultze
53330e1f69 [Form] deprecate read_only option 2015-05-20 10:44:46 +02:00
Alessandro Siragusa
9ee74eaef0 Avoid redirection to XHR URIs 2015-05-20 10:40:29 +02:00
Fabien Potencier
e9ecd0e00b bug #14551 [2.7][Form] Fixed ChoiceType with legacy ChoiceList (xelaris)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7][Form] Fixed ChoiceType with legacy ChoiceList

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

The "Backwards compatibility" condition doesn't grap (e.g. when passing a `SimpleChoiceList` as `choice_list` on `ChoiceType`), as the default value for the `ChoiceType` option `preferred_choices` is `array()` instead of `null`. So I changed the condition from `null === $preferredChoices` to `empty($preferredChoices)`.
Then there was an issue with accessing `attr` in `form_div_layout.html.twig`, since the deprecated `Symfony\Component\Form\Extension\Core\View\ChoiceView` doesn't provide an `attr` attribute. Since the docblocks of `Symfony\Component\Form\ChoiceList\View\ChoiceListView` state `$choices` and `$preferredChoices` to be instances of `Symfony\Component\Form\ChoiceList\View\ChoiceView` instead of `Symfony\Component\Form\Extension\Core\View\ChoiceView` I fixed the template issue by mapping the deprecated `ChoiceView` objects to the new one with an empty `attr`.

@webmozart Could you have a look at it, please?

Without this PR the following example would render numeric values as labels:
```php
        $formBuilder->add('choices', 'choice', array(
            'choice_list' => new SimpleChoiceList(array(
                'creditcard' => 'Credit card payment',
                'cash' => 'Cash payment'
            ))
        ));
```

Commits
-------

a98e484 [Form] Fix ChoiceType with legacy ChoiceList
2015-05-20 10:29:08 +02:00
Fabien Potencier
efd68e6b71 bug #14648 [Console] Fix first choice was invalid when using value (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Fix first choice was invalid when using value

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

This PR solves the following issues encountered using question helper and choices questions:
- First choice was not selectable by value.
- ChoiceList with associative choices with mixed string and int keys has same issue with first choice.
- Fix inconsistency by always returning values as strings.

First point exemple:
![screenshot 2015-05-15 a 17 16 12](https://cloud.githubusercontent.com/assets/2211145/7655757/3344b39a-fb26-11e4-9fe7-0775616619bf.PNG)

Last two points are mainly edge cases. Indeed, if a QuestionChoice has something like :
```php
array(
    '0' => 'No environment',
    '1' => 'My environment 1',
    'env_2' => 'My environment 2',
    3 => 'My environment 3',
);
```
as choices, you will not be able to select the first choice and get an `InvalidArgumentException`:

```
There were 2 errors:

1) Symfony\Component\Console\Tests\Helper\QuestionHelperTest::testChoiceFromChoicelistWithMixedKeys with data set #0 ('0', '0')
InvalidArgumentException: Value "0" is invalid

2) Symfony\Component\Console\Tests\Helper\QuestionHelperTest::testChoiceFromChoicelistWithMixedKeys with data set #1 ('No environment', '0')
InvalidArgumentException: Value "No environment" is invalid
```

Moreover, even if you were able to select by value (`No environment`), you'll get an integer instead of a string:
```
Failed asserting that '0' is identical to 0.
```
For more consistency, the solution is to always return a string.

The issue does not exist in 2.6, as the `QuestionChoice::getDefaultValidator` handled things differently.

Commits
-------

03e4ab6 [Console] Fix first choice was invalid when using value
2015-05-20 10:25:50 +02:00
Fabien Potencier
75ed3b1a02 bug #14618 [DomCrawler] Throw an exception if a form field path is incomplete (jakzal)
This PR was merged into the 2.3 branch.

Discussion
----------

[DomCrawler] Throw an exception if a form field path is incomplete

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

Commits
-------

991e65c [DomCrawler] Throw an exception if a form field path is incomplete.
2015-05-20 10:21:21 +02:00
Fabien Potencier
8bfe846ee4 minor #14665 [HttpKernel] trigger a deprecation warning when using the ContainerAwareHttpKernel (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[HttpKernel] trigger a deprecation warning when using the ContainerAwareHttpKernel

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

I agree that we should not trigger the deprecation warning when the `ContainerAwareHttpKernel` is used in the framework code. However, developers using this class in their own code should receive a warning to be able to prepare their applications for Symfony 3.0.

Commits
-------

030731a [HttpKernel] trigger a deprecation warning when using the ContainerAwareHttpKernel
2015-05-20 10:17:11 +02:00
Fabien Potencier
ea874b6ef6 added supported format in commands supporting --format 2015-05-20 10:16:32 +02:00
Fabien Potencier
f0cda43c33 minor #14684 [Console] Delete duplicate test in CommandTest (nanocom)
This PR was merged into the 2.3 branch.

Discussion
----------

[Console] Delete duplicate test in CommandTest

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

The __get method is not implemented in the Command class, and the deleted test was duplicated with the preceding one.

Commits
-------

4a4eda9 [Console] Delete duplicate test in CommandTest
2015-05-20 10:11:51 +02:00
Fabien Potencier
96e9cca845 bug #14698 [2.3] Fix HTML escaping of to-source links (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3] Fix HTML escaping of to-source links

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

Commits
-------

385a6b7 Fix HTML escaping of to-source links
2015-05-20 09:45:20 +02:00
Ivan Kurnosov
921ecff9e2 [HttpFoundation] IpUtils::checkIp4() should allow networks 2015-05-20 09:39:40 +02:00
Nicolas Grekas
eecd197e6a [2.6] Fix HTML escaping of to-source links 2015-05-19 17:48:49 -07:00
Nicolas Grekas
385a6b799f Fix HTML escaping of to-source links 2015-05-19 17:44:44 -07:00
Alexander Menk
e9bb160bcc ExceptionHandler: More Encoding 2015-05-19 17:33:46 -07:00
Jakub Zalas
991e65c96f [DomCrawler] Throw an exception if a form field path is incomplete. 2015-05-19 09:01:33 +01:00
Christian Flothmann
8a99645147 [Routing] clarify deprecation message 2015-05-19 08:58:17 +02:00
Arnaud Kleinpeter
4a4eda93c8 [Console] Delete duplicate test in CommandTest
There is no __get method in the Command class, and the deleted test was duplicated with the preceding one.
2015-05-18 19:58:47 +02:00
Martin Hasoň
0b8b58c586 [DependencyInjection] Fixed decoration of service for service with parent 2015-05-18 11:41:40 +02:00
Fabien Potencier
c4bf217e66 deprecated the --xml option for commands 2015-05-17 04:20:26 +02:00
Fabien Potencier
dd2fb850a7 bug #13633 [ServerBag] Handled bearer authorization header in REDIRECT_ form (Lance0312)
This PR was merged into the 2.3 branch.

Discussion
----------

[ServerBag] Handled bearer authorization header in REDIRECT_ form

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

Apache rewrite module renames client request
header (`HTTP_`) by prepending `REDIRECT_` to
it. http basic authentication and http digest
authentication are properly processed in
REDIRECT_ form, while bearer is processed in
HTTP_ form, but dropped in REDIRECT_ form.

Example:
The following auth headers are handled in ServerBag,
```
HTTP_AUTHORIZATION => Basic aGVsbG86d29ybGQ=
REDIREDCT_HTTP_AUTHOIZATION => Basic aGVsbG86d29ybGQ=
HTTP_AUTHORIZATION => Digest blah
REDIRECT_HTTP_AUTHORIZATION => Digest blah
HTTP_AUTHORIZATION => Bearer mF_9.B5f-4.1JqM
```
while
```
REDIRECT_HTTP_AUTHORIZATION => Bearer mF_9.B5f-4.1JqM
```
is dropped.

Commits
-------

7b2e2df Handled bearer authorization header in REDIRECT_ form
2015-05-16 15:43:51 +02:00
Fabien Potencier
abd9b72fbb minor #14638 [Console] Fix QuestionHelperTest (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Fix QuestionHelperTest

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

This PR fixes the following issues in `QuestionHelperTest`:
- When using the `InputInterface` mock with interactive option, asking a ChoiceQuestion without specifying max attempts nor a default value led to an infinite loop when invalid values are submitted. In case there is something wrong in tests, it wasn't obvious to understand what's happening, as the process was constantly waiting for inputs.
- `testAmbiguousChoiceFromChoicelist` test was wrong as the autocompleter filled the value and the test was never triggered (+max attempt issue).

Commits
-------

6a0308d [Console] Fix QuestionHelperTest
2015-05-16 15:30:28 +02:00
Fabien Potencier
991eec1e1e minor #14661 [Console] Remove a useless assert in QuestionHelperTest (ogizanagi)
This PR was merged into the 2.6 branch.

Discussion
----------

[Console] Remove a useless assert in QuestionHelperTest

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

This assert was pretty useless, as it is unreachable under expected circumstances, and does not bring anything to this test purpose otherwise.

Commits
-------

55b2361 [Console] Remove a useless assert in QuestionHelperTest
2015-05-16 15:28:59 +02:00
ogizanagi
55b236144f [Console] Remove a useless assert in QuestionHelperTest 2015-05-16 15:04:19 +02:00
ogizanagi
6a0308d752 [Console] Fix QuestionHelperTest
- When using the `InputInterface` mock with interactive option, asking a
  ChoiceQuestion without specifying max attempts nor a default value led
to an infinite loop when invalid values are submitted. In case there is
something wrong in tests, it wasn't obvious to understand what's
happening, as the process was constantly waiting for inputs.
- `testAmbiguousChoiceFromChoicelist` test was wrong as the
  autocompleter filled the value and the test was never triggered (+max
attempt issue).
2015-05-16 15:01:31 +02:00
Fabien Potencier
294cbb7521 fixed typo 2015-05-16 14:34:16 +02:00
Fabien Potencier
1b401b83eb minor #14601 [Security][Translation] fixes #14584 (MatTheCat)
This PR was merged into the 2.3 branch.

Discussion
----------

[Security][Translation] fixes #14584

| Q             | A
| ------------- | ---
| Fixed tickets | #14584
| License       | MIT

Some french translations are wrong  in the security component.
As #14587 has been closed here's my fix.

Commits
-------

34c780f [Security][Translation] fixes #14584
2015-05-16 14:17:29 +02:00
ogizanagi
03e4ab609b [Console] Fix first choice was invalid when using value
Using question helper and choices questions:
- first choice was not selectable by value.
- ChoiceList with associative choices with mixed string and int keys has same issue with first choice. Add test for all choices.
- Fix inconsistency by always returning values as strings
2015-05-15 16:46:10 +02:00
Fabien Potencier
87fa40ee54 bug #14644 [Bridge\Twig] Adding a space between the icon and the error message (zmikael, nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[Bridge\Twig] Adding a space between the icon and the error message

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

Commits
-------

d0f6342 [Form] Test for space in AbstractBootstrap3LayoutTest::testErrors
7a1fac2 Adding a space between the icon and the error message
2015-05-15 16:18:15 +02:00
Fabien Potencier
0542a17b5b minor #14581 [Security] Removed unnecessary statement (MacDada)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] Removed unnecessary statement

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

Removed unnecessary statement from `PersistentTokenBasedRememberMeServices.php`.

`$series` comes from `$cookieParts` and `$this->tokenProvider->loadTokenBySeries($series);` is supposed to find the token with that value. Doing `$persistentToken->getSeries();` should give us exactly the same value, so it is an unnecessary statement.

Why?

* We don't need it? We won't miss it when it's gone.
* It confuses a code reader who starts guessing why would that be needed (at least I did and lost time because of that).

Unless…

It actually is needed, as we want `TokenProviderInterface` implementations to have a possibility to give a `PersistentTokenInterface` with a different series value than asked… I can make a PR to the testing class so that such requirement is checked upon.

I don't believe that this is BC, as this behaviour isn't documented anywhere and no existing (known to me) implementations return different series than the asked ones (and current tests pass successfully).

Commits
-------

c7a91f1 Removed unnecessary statement from PersistentTokenBasedRememberMeServices.php
2015-05-15 16:12:58 +02:00
Fabien Potencier
4b71fe0310 Merge branch '2.7' into 2.8
* 2.7:
  fixed CS
  fixed CS
  fixed CS
  Fix WebProfilerBundle compatiblity with HttpKernel < 2.7
  [Validator] Deprecated PHP7-incompatible constraints and related validators
  [DebugBundle] Allow alternative destination for dumps
  [DebugBundle] Use output mechanism of dumpers instead of echoing
  [DebugBundle] Always collect dumps
  [FrameworkBundle] Applied new styles to the config:debug & config:dump-reference commands
  Fix tests in HHVM
  CS: Pre incrementation/decrementation should be used if possible

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/composer.json
2015-05-15 16:11:12 +02:00
Fabien Potencier
d883ba0984 fixed CS 2015-05-15 16:02:48 +02:00
Fabien Potencier
c658fcdbca Merge branch '2.6' into 2.7
* 2.6:
  fixed CS
  fixed CS

Conflicts:
	src/Symfony/Component/Security/Http/Tests/Firewall/RememberMeListenerTest.php
2015-05-15 15:53:44 +02:00
Fabien Potencier
0678b3e6f8 fixed CS 2015-05-15 15:53:19 +02:00
Fabien Potencier
e83db434a2 Merge branch '2.3' into 2.6
* 2.3:
  fixed CS
2015-05-15 15:45:20 +02:00
Fabien Potencier
34d83a70b3 fixed CS 2015-05-15 15:45:10 +02:00
Fabien Potencier
e13373ec11 Merge branch '2.6' into 2.7
* 2.6:
  [DebugBundle] Allow alternative destination for dumps
  [DebugBundle] Use output mechanism of dumpers instead of echoing
  [DebugBundle] Always collect dumps
  Fix tests in HHVM
  CS: Pre incrementation/decrementation should be used if possible

Conflicts:
	src/Symfony/Component/Finder/Expression/Glob.php
2015-05-15 15:33:16 +02:00
Fabien Potencier
fcfc876c5b Merge branch '2.3' into 2.6
* 2.3:
  Fix tests in HHVM
  CS: Pre incrementation/decrementation should be used if possible

Conflicts:
	src/Symfony/Bundle/TwigBundle/Command/LintCommand.php
	src/Symfony/Component/Console/Helper/TableHelper.php
	src/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php
	src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php
	src/Symfony/Component/HttpKernel/HttpCache/EsiResponseCacheStrategy.php
	src/Symfony/Component/Security/Acl/Dbal/AclProvider.php
	src/Symfony/Component/Security/Http/RememberMe/TokenBasedRememberMeServices.php
2015-05-15 15:32:45 +02:00
Nicolas Grekas
d0f63429b0 [Form] Test for space in AbstractBootstrap3LayoutTest::testErrors 2015-05-15 15:29:32 +02:00
Fabien Potencier
984d82cbe5 minor #14121 CS: Pre incrementation/decrementation should be used if possible (gharlan)
This PR was merged into the 2.3 branch.

Discussion
----------

CS: Pre incrementation/decrementation should be used if possible

| 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

Fixes provided by new fixer: https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/1113

If this pr is merged I would change the level of the fixer to `symfony`.

Commits
-------

c5123d6 CS: Pre incrementation/decrementation should be used if possible
2015-05-15 15:28:34 +02:00
Fabien Potencier
fcebef3f8a minor #14642 [Validator] Deprecated PHP7-incompatible constraints and related validators (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] Deprecated PHP7-incompatible constraints and related validators

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

Commits
-------

a3fc6b9 [Validator] Deprecated PHP7-incompatible constraints and related validators
2015-05-15 15:21:56 +02:00
Fabien Potencier
525c149f92 bug #14640 [DebugBundle] Allow alternative destination for dumps (nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[DebugBundle] Allow alternative destination for dumps

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

This PR fixes #14608 by adding a new `debug.dump_destination` configuration option to give users control over a stream destination where dumps will be written to.
In HTTP mode, dumps are still/also collected in the toolbar.
This supersedes #14627, #14631 and #14373

Commits
-------

5f255e5 [DebugBundle] Allow alternative destination for dumps
5368483 [DebugBundle] Use output mechanism of dumpers instead of echoing
8cb2abb [DebugBundle] Always collect dumps
2015-05-15 15:19:37 +02:00
Fabien Potencier
ebe78bb9ef minor #14598 [Security] Fix tests in HHVM (dosten)
This PR was merged into the 2.3 branch.

Discussion
----------

[Security] Fix tests in HHVM

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

This PR fixes the tests in the Security components when run in HHVM. The failing tests are related to sebastianbergmann/phpunit-mock-objects#207

Commits
-------

139bae7 Fix tests in HHVM
2015-05-15 15:13:27 +02:00
Nicolas Grekas
2119bf387b Merge branch '2.7' into 2.8
* 2.7:
  [EventDispatcher] make listeners removable from an executed listener
  [2.7][DoctrineBridge] change Logger interface in tests to use Psr\\Log\\LoggerInterface instead of Symfony\\Component\\HttpKernel\\Log\\LoggerInterface"
  [HttpFoundation] Fix volatile MongoDbSessionHandlerTest::testRead()
  bumped Symfony version to 2.7.0
  updated VERSION for 2.7.0-BETA2
  updated CHANGELOG for 2.7.0-BETA2
  Fixed compatibility with PHP7 and up by introducing new constraints (IsNull, IsTrue, IsFalse) and related validators (IsNullValidator, IsTrueValidator, IsFalseValidator)
  [Console] SymfonyStyle: fix block rpadding when escaping '<'
  [Console] fix code style

Conflicts:
	src/Symfony/Component/Form/composer.json
2015-05-15 13:18:22 +02:00
Nicolas Grekas
c477c5b395 bug #14600 [Console] SymfonyStyle: fix block rpadding when escaping '<' (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] SymfonyStyle: fix block rpadding when escaping '<'

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

![screenshot 2015-05-10 a 20 37 46](https://cloud.githubusercontent.com/assets/2211145/7555745/4dfbfd58-f755-11e4-98c4-3c42bb71abd3.PNG)

Commits
-------

80fc341 [Console] SymfonyStyle: fix block rpadding when escaping '<'
2015-05-15 12:18:14 +02:00
Nicolas Grekas
a88103b6e2 minor #14620 [Console] fix code style (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] fix code style

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

Prevent fabbot from complaining when the `SymfonyStyle` class or the `StyleInterface` are modified (like, for example, [here](a144667d5f)).

Commits
-------

314901e [Console] fix code style
2015-05-15 12:15:13 +02:00
Nicolas Grekas
a3fc6b9fa9 [Validator] Deprecated PHP7-incompatible constraints and related validators 2015-05-15 12:10:43 +02:00
Nicolas Grekas
8622a7b22a Merge branch '2.6' into 2.7
* 2.6:
  [EventDispatcher] make listeners removable from an executed listener
  [HttpFoundation] Fix volatile MongoDbSessionHandlerTest::testRead()
  Fixed compatibility with PHP7 and up by introducing new constraints (IsNull, IsTrue, IsFalse) and related validators (IsNullValidator, IsTrueValidator, IsFalseValidator)

Conflicts:
	src/Symfony/Component/Validator/Constraints/FalseValidator.php
	src/Symfony/Component/Validator/Constraints/NullValidator.php
	src/Symfony/Component/Validator/Constraints/TrueValidator.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidatorLegacyApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidatorLegacyApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidatorLegacyApiTest.php
2015-05-15 11:56:16 +02:00
Nicolas Grekas
1688b2ef4f Merge branch '2.3' into 2.6
* 2.3:
  Fixed compatibility with PHP7 and up by introducing new constraints (IsNull, IsTrue, IsFalse) and related validators (IsNullValidator, IsTrueValidator, IsFalseValidator)

Conflicts:
	src/Symfony/Component/Form/composer.json
	src/Symfony/Component/Validator/CHANGELOG.md
	src/Symfony/Component/Validator/Constraints/FalseValidator.php
	src/Symfony/Component/Validator/Constraints/NullValidator.php
	src/Symfony/Component/Validator/Constraints/TrueValidator.php
	src/Symfony/Component/Validator/Tests/Constraints/IsFalseValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/IsNullValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/IsTrueValidatorTest.php
2015-05-15 11:48:50 +02:00
Christophe Coevoet
da58ad74d5 minor #14228 Add PHP7 compatible versions for the Null/True/False constraints as they are reserved words in PHP7 (stefan.r)
This PR was merged into the 2.3 branch.

Discussion
----------

Add PHP7 compatible versions for the Null/True/False constraints as they are reserved words in PHP7

| Q             | A
| ------------- | ---
| Bug fix?      |  PHP7 compatibility
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | N/A
| Fixed tickets | N/A - helps towards https://github.com/symfony/symfony/issues/14086
| License       | MIT

Null, True and False are reserved words in PHP7:

https://wiki.php.net/rfc/reserve_more_types_in_php_7

Commits
-------

44edbdf Fixed compatibility with PHP7 and up by introducing new constraints (IsNull, IsTrue, IsFalse) and related validators (IsNullValidator, IsTrueValidator, IsFalseValidator)
2015-05-15 11:24:48 +02:00
Nicolas Grekas
5f255e5059 [DebugBundle] Allow alternative destination for dumps 2015-05-15 10:09:58 +02:00
Nicolas Grekas
5368483d9a [DebugBundle] Use output mechanism of dumpers instead of echoing 2015-05-15 10:09:57 +02:00
Nicolas Grekas
8cb2abbd26 [DebugBundle] Always collect dumps 2015-05-15 09:50:22 +02:00
Fabien Potencier
a7019ced63 Merge branch '2.3' into 2.6
* 2.3:
  [EventDispatcher] make listeners removable from an executed listener
  [HttpFoundation] Fix volatile MongoDbSessionHandlerTest::testRead()

Conflicts:
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
	src/Symfony/Component/HttpKernel/Tests/Debug/TraceableEventDispatcherTest.php
2015-05-14 19:42:48 +02:00
Fabien Potencier
291cf61616 bug #14633 [2.3][EventDispatcher] make listeners removable from an executed listener (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3][EventDispatcher] make listeners removable from an executed listener

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

This fixes #13972 for Symfony 2.3. On Symfony 2.6 and higher, this has already been fixed with #14355.

Commits
-------

54bb399 [EventDispatcher] make listeners removable from an executed listener
2015-05-14 19:40:02 +02:00
Christian Flothmann
030731aa1d [HttpKernel] trigger a deprecation warning when using the ContainerAwareHttpKernel 2015-05-14 17:55:34 +02:00
Christian Flothmann
54bb3995ab [EventDispatcher] make listeners removable from an executed listener 2015-05-14 17:38:12 +02:00
Jakub Zalas
5930800cfd [HttpKernel] Handle an array vary header in the http cache store 2015-05-14 16:01:09 +01:00
Nicolas Grekas
57571a9612 [HttpFoundation] Fix volatile MongoDbSessionHandlerTest::testRead() 2015-05-14 10:16:30 +02:00
Fabien Potencier
ec2df34115 bumped Symfony version to 2.7.0 2015-05-14 00:19:47 +02:00
Fabien Potencier
5cfcce37fa updated VERSION for 2.7.0-BETA2 2015-05-13 22:25:22 +02:00
Nicolas Grekas
aef24cb87f Merge branch '2.7' into 2.8
* 2.7:
  fix missing links to https://symfony.com
  fix missing links to https://symfony.com
  [travis] Don't use the cache
  [DebugBundle] Remove inlined dumps on XHR

Conflicts:
	src/Symfony/Component/Security/Acl/README.md
	src/Symfony/Component/Security/Core/README.md
	src/Symfony/Component/Security/Csrf/README.md
	src/Symfony/Component/Security/Http/README.md
2015-05-13 13:36:16 +02:00
Nicolas Grekas
b47b51187e Merge branch '2.6' into 2.7
* 2.6:
  fix missing links to https://symfony.com
  fix missing links to https://symfony.com
  [travis] Don't use the cache
  [DebugBundle] Remove inlined dumps on XHR

Conflicts:
	src/Symfony/Component/Security/Acl/README.md
	src/Symfony/Component/Security/Core/README.md
	src/Symfony/Component/Security/Csrf/README.md
	src/Symfony/Component/Security/Http/README.md
2015-05-13 13:34:46 +02:00
Nicolas Grekas
70e6a145c8 fix missing links to https://symfony.com 2015-05-13 13:33:56 +02:00
stefan.r
44edbdf9c0 Fixed compatibility with PHP7 and up by introducing new constraints (IsNull, IsTrue, IsFalse) and related validators (IsNullValidator, IsTrueValidator, IsFalseValidator) 2015-05-13 11:33:22 +02:00
Nicolas Grekas
18eef21118 bug #14609 [DebugBundle] Remove inlined dumps on XHR (nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[DebugBundle] Remove inlined dumps on XHR

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

Commits
-------

d0eb208 [DebugBundle] Remove inlined dumps on XHR
2015-05-13 09:25:21 +02:00
ogizanagi
80fc341747 [Console] SymfonyStyle: fix block rpadding when escaping '<' 2015-05-13 00:22:54 +02:00
Christian Flothmann
314901e798 [Console] fix code style
Prevent fabbot from complaining when the `SymfonyStyle` class or the
`StyleInterface` are modified.
2015-05-12 22:18:12 +02:00
Nicolas Grekas
bb8b0769cb Merge branch '2.7' into 2.8
* 2.7: (70 commits)
  [travis] Use container-based infrastructure
  [HttpKernel] use ConfigCache::getPath() method when it exists
  [PropertyAccess] Fix setting public property on a class having a magic getter
  [Routing] Display file which contain deprecated option
  ContainerInterface: unused exception dropped
  bumped Symfony version to 2.6.8
  updated VERSION for 2.6.7
  updated CHANGELOG for 2.6.7
  bumped Symfony version to 2.3.29
  updated VERSION for 2.3.28
  update CONTRIBUTORS for 2.3.28
  updated CHANGELOG for 2.3.28
  [Debug] Fixed ClassNotFoundFatalErrorHandlerTest
  [SecurityBundle] use access decision constants in config
  [SecurityBundle] use session auth constants in config
  PhpDoc fix in AbstractRememberMeServices
  [Filesystem] Simplified an if statement
  [SecurityBundle] Use Enum Nodes Instead Of Scalar
  [Debug 2.3] Fix test for PHP7
  [HttpKernel] Check if "symfony/proxy-manager-bridge" package is installed
  ...

Conflicts:
	src/Symfony/Bundle/DebugBundle/composer.json
	src/Symfony/Bundle/FrameworkBundle/Command/ServerRunCommand.php
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php
	src/Symfony/Component/Form/README.md
	src/Symfony/Component/Intl/README.md
	src/Symfony/Component/Security/README.md
	src/Symfony/Component/Translation/Loader/CsvFileLoader.php
	src/Symfony/Component/Translation/Loader/IniFileLoader.php
	src/Symfony/Component/Translation/Loader/MoFileLoader.php
	src/Symfony/Component/Translation/Loader/PhpFileLoader.php
	src/Symfony/Component/Translation/Loader/PoFileLoader.php
	src/Symfony/Component/Translation/Loader/YamlFileLoader.php
	src/Symfony/Component/Translation/README.md
	src/Symfony/Component/Translation/Translator.php
	src/Symfony/Component/Validator/README.md
2015-05-12 17:16:46 +02:00
Nicolas Grekas
81c054ad87 Merge branch '2.6' into 2.7
* 2.6:
  [travis] Use container-based infrastructure
  [PropertyAccess] Fix setting public property on a class having a magic getter
  ContainerInterface: unused exception dropped

Conflicts:
	.travis.yml
2015-05-12 17:01:57 +02:00
Nicolas Grekas
52ba805467 Merge branch '2.3' into 2.6
* 2.3:
  [travis] Use container-based infrastructure
  ContainerInterface: unused exception dropped
2015-05-12 16:25:36 +02:00
Nicolas Grekas
d0eb208358 [DebugBundle] Remove inlined dumps on XHR 2015-05-12 08:20:42 +02:00
Diego Saint Esteben
139bae7047 Fix tests in HHVM 2015-05-11 23:26:17 -03:00
Tobias Schultze
7ec5b4fe14 minor #14606 [DX][Routing] Display file which contain deprecated option (Koc)
This PR was merged into the 2.7 branch.

Discussion
----------

[DX][Routing] Display file which contain deprecated option

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

Commits
-------

7784b29 [Routing] Display file which contain deprecated option
2015-05-11 19:33:08 +02:00
Fabien Potencier
5c996c4e9b minor #14604 [DependencyInjection] ContainerInterface: unused exception dropped (TomasVotruba)
This PR was merged into the 2.3 branch.

Discussion
----------

[DependencyInjection] ContainerInterface: unused exception dropped

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

Ref https://github.com/symfony/symfony/pull/14599

Commits
-------

8e0d96c ContainerInterface: unused exception dropped
2015-05-11 19:13:05 +02:00
Christian Flothmann
ab70632a2e [HttpKernel] use ConfigCache::getPath() method when it exists
This way, the deprecated `__toString()` method of the `ConfigCache`
class will not be called.
2015-05-11 18:42:36 +02:00
Jérôme Vieilledent
8b8feff246 [PropertyAccess] Fix setting public property on a class having a magic getter
| Q             | A
| ------------- | ---
| 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 PropertyAccessor with an object having both a public property
and a magic getter, and one wants to update this property,
PropertyAccessor may lose the property reference.
This occurs when the public property value is a hash:

```php
class Foo
{
    /**
     * Example: $this->someProperty['foo']['bar'] = 'baz'
     * @var array
     */
    public $someProperty;

    public function __get($name)
    {
        // ...
    }
}

$obj = new Foo();
$obj->someProperty = ['foo' => ['bar' => 'some_value']];

$propertyAccessor->setValue($obj, 'someProperty[foo][bar]', 'another_value');

echo $obj->someProperty['foo']['bar'];
// Before this patch: 'some_value' => fail
// After this patch: 'another_value' => correct
```

Furthermore, public properties are always used before `__get()` by PHP.

This bug is visible since v2.6.5 as d733a887 changed the way
`setValue()` works.
2015-05-11 17:09:39 +02:00
Konstantin.Myakshin
7784b29e5a [Routing] Display file which contain deprecated option 2015-05-11 16:21:22 +03:00
Tomas Votruba
8e0d96ca80 ContainerInterface: unused exception dropped 2015-05-11 14:02:11 +02:00
Fabien Potencier
daf4a03e5d Merge branch '2.6' into 2.7
* 2.6: (21 commits)
  bumped Symfony version to 2.6.8
  updated VERSION for 2.6.7
  updated CHANGELOG for 2.6.7
  bumped Symfony version to 2.3.29
  updated VERSION for 2.3.28
  update CONTRIBUTORS for 2.3.28
  updated CHANGELOG for 2.3.28
  [Debug] Fixed ClassNotFoundFatalErrorHandlerTest
  [SecurityBundle] use access decision constants in config
  [SecurityBundle] use session auth constants in config
  PhpDoc fix in AbstractRememberMeServices
  [Filesystem] Simplified an if statement
  [SecurityBundle] Use Enum Nodes Instead Of Scalar
  [Debug 2.3] Fix test for PHP7
  [HttpKernel] Check if "symfony/proxy-manager-bridge" package is installed
  [Translation] simplify getMessages.
  [Framework][Translation] added test for debug command.
  Run tests on hhvm instead of hhvm-nightly
  Use HTTPS in README and some other fixes
  add more entropy to generated classnames
  ...

Conflicts:
	.travis.yml
	src/Symfony/Component/HttpKernel/Kernel.php
2015-05-11 04:35:29 +02:00
Fabien Potencier
c7bb672f10 bumped Symfony version to 2.6.8 2015-05-11 04:25:53 +02:00
Fabien Potencier
0449d0e117 updated VERSION for 2.6.7 2015-05-11 03:58:49 +02:00
Fabien Potencier
9ab729199c Merge branch '2.3' into 2.6
* 2.3:
  bumped Symfony version to 2.3.29
  updated VERSION for 2.3.28
  update CONTRIBUTORS for 2.3.28
  updated CHANGELOG for 2.3.28
  PhpDoc fix in AbstractRememberMeServices

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2015-05-11 03:52:28 +02:00
Fabien Potencier
415245ee89 bumped Symfony version to 2.3.29 2015-05-11 03:22:26 +02:00
MatTheCat
34c780f7e7 [Security][Translation] fixes #14584 2015-05-10 23:45:50 +02:00
Fabien Potencier
56bc4057e3 updated VERSION for 2.3.28 2015-05-10 17:02:48 +02:00
Alexander Schwenn
f7def8c1d1 [Debug] Fixed ClassNotFoundFatalErrorHandlerTest 2015-05-08 15:17:44 +02:00
Tobias Schultze
e12359303d Merge branch '2.3' into 2.6
Conflicts:
	src/Symfony/Bundle/SecurityBundle/DependencyInjection/MainConfiguration.php
2015-05-08 02:09:07 +02:00
Dawid Nowak
c7a91f1a01 Removed unnecessary statement from PersistentTokenBasedRememberMeServices.php 2015-05-07 21:48:22 +02:00
Dawid Nowak
a73d2cc685 PhpDoc fix in AbstractRememberMeServices
All extending classes return `UserInterface`, not TokenInterface:

* https://github.com/symfony/symfony/blob/2.3/src/Symfony/Component/Security/Http/RememberMe/TokenBasedRememberMeServices.php#L64
* https://github.com/symfony/symfony/blob/2.3/src/Symfony/Component/Security/Http/RememberMe/PersistentTokenBasedRememberMeServices.php#L116

And `AbstractRememberMeServices` actually required the return value to be `UserInterface`:

            $user = $this->processAutoLoginCookie($cookieParts, $request);

            if (!$user instanceof UserInterface) {
                throw new \RuntimeException('processAutoLoginCookie() must return a UserInterface implementation.');
            }
2015-05-07 16:20:47 +02:00
Stepan Anchugov
4d974ced7f [Filesystem] Simplified an if statement 2015-05-06 18:34:36 +02:00
Fabien Potencier
da0194b235 feature #14563 [FrameworkBundle][EventDispatcher] Add priorities to the debug:event-dispatcher command (Seldaek)
This PR was merged into the 2.8 branch.

Discussion
----------

[FrameworkBundle][EventDispatcher] Add priorities to the debug:event-dispatcher command

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

I find it helps to figure out which priority is needed to override another event listener without digging in the sources.

Commits
-------

952929c [FrameworkBundle][EventDispatcher] Add priorities to the debug:event-dispatcher command
2015-05-06 18:31:35 +02:00
Fabien Potencier
cbcdb16bee bug #14266 [HttpKernel] Check if "symfony/proxy-manager-bridge" package is installed (hason)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpKernel] Check if "symfony/proxy-manager-bridge" package is installed

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

Commits
-------

43cc877 [HttpKernel] Check if "symfony/proxy-manager-bridge" package is installed
2015-05-06 18:28:43 +02:00
Nicolas Grekas
115fc32541 Merge branch '2.3' into 2.6
* 2.3:
  [Debug 2.3] Fix test for PHP7
  Run tests on hhvm instead of hhvm-nightly
  Use HTTPS in README and some other fixes
  add more entropy to generated classnames

Conflicts:
	src/Symfony/Component/Debug/Tests/ErrorHandlerTest.php
2015-05-06 16:13:47 +02:00
Nicolas Grekas
fafcb64d00 [Debug 2.3] Fix test for PHP7 2015-05-06 12:13:27 +02:00
Martin Hasoň
43cc8776df [HttpKernel] Check if "symfony/proxy-manager-bridge" package is installed 2015-05-06 11:52:26 +02:00
Abdellatif Ait boudad
2869a32cf1 [Translator] deprecate getMessages in favor of getCatalogue. 2015-05-06 09:17:03 +00:00
Jordi Boggiano
952929cb67 [FrameworkBundle][EventDispatcher] Add priorities to the debug:event-dispatcher command 2015-05-05 21:46:18 +01:00
Abdellatif Ait boudad
09cb24bbad minor #14549 [Translation] simplify getMessages. (aitboudad)
This PR was merged into the 2.6 branch.

Discussion
----------

[Translation] simplify getMessages.

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

Commits
-------

db077c1 [Translation] simplify getMessages.
2015-05-05 16:51:00 +00:00
Bernhard Schussek
e60f715920 bug #14465 [Form] Fixed regression: Empty values were not accepted anymore for collapsed, optional choice fields (webmozart)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fixed regression: Empty values were not accepted anymore for collapsed, optional choice fields

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

Commits
-------

7997f24 [Form] Fixed regression: Empty values were not accepted anymore for collapsed, optional choice fields
2015-05-05 10:54:18 +02:00
Fabien Potencier
c4867485d7 bug #14478 [DebugBundle] Fix dump() output in API / No-Toolbar context (nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[DebugBundle] Fix dump() output in API / No-Toolbar context

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

With this PR, dumps are written as plain text when the main content-type is not HTML.
With HTML, dumps are inlined when the web debug toolbar is not enabled.

Commits
-------

62f8469 [DebugBundle] Fix dump() output in API/No-Toolbar context
2015-05-05 03:50:03 +02:00
Alexander Schwenn
a98e484020 [Form] Fix ChoiceType with legacy ChoiceList 2015-05-05 03:32:51 +02:00
Fabien Potencier
84ce2c57b6 Merge branch '2.6' into 2.7
* 2.6:
  [Validator] Property paths starting with 0 are broken.
  Fixed test
  [2.6][Validator] Fix Interface reference in docblock
  Fix getOrigin

Conflicts:
	src/Symfony/Component/Validator/ValidatorInterface.php
2015-05-05 03:30:36 +02:00
fago
b3db07f5f2 [Validator] Property paths starting with 0 are broken. 2015-05-05 03:29:27 +02:00
Fabien Potencier
473e3314d5 bug #14540 [Serializer] Ignore \Traversable in default normalizers. (dunglas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] Ignore \Traversable in default normalizers.

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

Before the merge of #13500, default normalizers where never called for `\Traversable` objects. This PR restore the previous behavior in a cleaner way.
This is also convenient when dealing with Doctrine's ArrayCollection and serialization groups (see #14495).

ping @symfony/deciders

Commits
-------

c9bff46 [Serializer] Ignore \Traversable in default normalizers. Close #14495.
2015-05-05 03:26:23 +02:00
Fabien Potencier
1ea4612d7e minor #14548 [Translation] Fixed test (dosten)
This PR was merged into the 2.6 branch.

Discussion
----------

[Translation] Fixed test

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

Since php7 version 20150301 the json error levels has changed. See http://3v4l.org/Omb8E.
This PR updated the fixture to trigger a syntax error. See http://3v4l.org/OMN7S

Commits
-------

5dca3ff Fixed test
2015-05-05 03:22:57 +02:00
Fabien Potencier
15648ffe30 bug #14527 Fix getOrigin (WouterJ)
This PR was merged into the 2.6 branch.

Discussion
----------

Fix getOrigin

I am far from sure if this is a correct fix, but I believe it is.

The problem is that `getOrigin()` now returns either the Form it was thrown in or `null`. This causes issues when using the `FormErrorIterator`, like:

```php
// note: errors are deep and flatten
foreach ($form->getErrors(true) as $error) {
    echo '* '.$error->getOrigin()->getName().': '.$error->getMessage();
}
```

This now doesn't work for fields that have `error_bubbling => false` or for the root form. In that case, it'll throw an error. Even if I first checked if `getOrigin()` returned `null` or a `FormInterface`, I still had a problem: There is no way to detect which field it was bound to.

Imo, `$error->getOrigin()` should always return the Form that caused them.

/cc @webmozart would love if you can verify that I'm correct here. The form error iterator stuff is still dizzling my head...

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

Commits
-------

01eac33 Fix getOrigin
2015-05-05 03:21:50 +02:00
Abdellatif Ait boudad
db077c1f3b [Translation] simplify getMessages. 2015-05-04 21:22:52 +00:00
Diego Saint Esteben
5dca3ffa69 Fixed test 2015-05-04 17:55:59 -03:00
Nicolas Grekas
dfba29a901 minor #14525 [2.7] [DebugClassLoader] Minor update in deprecation message (phansys)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7] [DebugClassLoader] Minor update in deprecation message

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

Minor update for PHP version reference in deprecation message.

Before:
```
Test\Symfony\Component\Debug\Tests\Float uses a reserved class name (Float) that will break on PHP 7.0
```

After:
```
Test\Symfony\Component\Debug\Tests\Float uses a reserved class name (Float) that will break on PHP 7 and higher
```

Commits
-------

bdc20e5 [2.7] [minor] [DebugClassLoader] Minor update in deprecation message
2015-05-04 18:00:45 +02:00
Javier Spagnoletti
bdc20e5252 [2.7] [minor] [DebugClassLoader] Minor update in deprecation message
| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Minor update for PHP version reference in deprecation message.

Before:
```
Test\Symfony\Component\Debug\Tests\Float uses a reserved class name (Float) that will break on PHP 7.0
```

After:
```
Test\Symfony\Component\Debug\Tests\Float uses a reserved class name (Float) that will break on PHP 7+
```
2015-05-04 09:57:47 -03:00
Alexander Schwenn
7f8ff6a7fd [2.6][Validator] Fix Interface reference in docblock 2015-05-04 14:41:38 +02:00
Wouter J
01eac33540 Fix getOrigin 2015-05-04 11:39:13 +02:00
Kévin Dunglas
c9bff461bc [Serializer] Ignore \Traversable in default normalizers. Close #14495. 2015-05-04 09:31:19 +02:00
Bernhard Schussek
f6c77ff362 bug #14395 [Validator] Property paths starting with 0 are broken. (fago)
This PR was squashed before being merged into the 2.7 branch (closes #14395).

Discussion
----------

[Validator] Property paths starting with 0 are broken.

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

Commits
-------

1ced8da [Validator] Property paths starting with 0 are broken.
2015-05-04 09:18:53 +02:00
fago
1ced8dad1d [Validator] Property paths starting with 0 are broken. 2015-05-04 09:18:46 +02:00
Bernhard Schussek
7997f24555 [Form] Fixed regression: Empty values were not accepted anymore for collapsed, optional choice fields 2015-05-04 08:53:23 +02:00
Berny Cantos
afc39ee11f add more entropy to generated classnames
- use proxy destination filename to create and md5 salt
- apply fabbot patch
- inline salt generation
2015-05-02 20:46:11 +02:00
Fabien Potencier
42e3ecbe78 Merge branch '2.6' into 2.7
* 2.6: (25 commits)
  [2.6] link to https://symfony.com where possible
  Do not override PHP constants, only use when available
  link to https://symfony.com where possible
  [FrameworkBundle] Added missing log in server:run command
  [Finder] Only use GLOB_BRACE when available
  [HttpFoundation] Allow curly braces in trusted host patterns
  Fix merge
  Fix typo in variable name
  [profiler][security] check authenticated user by tokenClass instead of username.
  [WebProfiler] fix html syntax for input types
  [TwigBundle] Fix deprecated use of FlattenException
  [DependencyInjection] Removed extra strtolower calls
  Use https://symfony.com/search for searching
  [Debug] PHP7 compatibility with BaseException
  [Validator] Fixed Choice when an empty array is used in the "choices" option
  Fixed tests
  [StringUtil] Fixed singularification of 'selfies'
  Fix Portuguese (Portugal) translation for Security
  improved exception when missing required component
  [DependencyInjection] resolve circular reference
  ...

Conflicts:
	src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/config.html.twig
	src/Symfony/Component/Form/README.md
	src/Symfony/Component/Intl/README.md
	src/Symfony/Component/Security/README.md
	src/Symfony/Component/Translation/README.md
	src/Symfony/Component/Validator/README.md
2015-05-02 17:21:08 +02:00
Fabien Potencier
f47d9055bc minor #14519 [2.6] link to https://symfony.com where possible (xabbuh)
This PR was merged into the 2.6 branch.

Discussion
----------

[2.6] link to https://symfony.com where possible

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

2.6-related changes of #14518.

Commits
-------

38bcab0 [2.6] link to https://symfony.com where possible
2015-05-02 17:19:33 +02:00
Fabien Potencier
b8cd3ca3f8 Merge branch '2.3' into 2.6
* 2.3:
  link to https://symfony.com where possible
  [FrameworkBundle] Added missing log in server:run command
  [HttpFoundation] Allow curly braces in trusted host patterns
  [profiler][security] check authenticated user by tokenClass instead of username.
  Use https://symfony.com/search for searching

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php
	src/Symfony/Component/Form/README.md
	src/Symfony/Component/Intl/README.md
	src/Symfony/Component/Routing/composer.json
	src/Symfony/Component/Security/README.md
	src/Symfony/Component/Translation/README.md
	src/Symfony/Component/Validator/README.md
2015-05-02 17:18:45 +02:00
Christian Flothmann
38bcab0823 [2.6] link to https://symfony.com where possible 2015-05-01 16:14:24 +02:00
Fabien Potencier
851c7b844a minor #14515 Do not override PHP constants, only use when available (dosten)
This PR was squashed before being merged into the 2.6 branch (closes #14515).

Discussion
----------

Do not override PHP constants, only use when available

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

In #12372, the override of internal constants has been deleted, but the definition of `JSON_PRETTY_PRINT` if not available is missing in that PR.

Commits
-------

d5cc056 Do not override PHP constants, only use when available
2015-05-01 16:09:34 +02:00
Diego Saint Esteben
d5cc056cd3 Do not override PHP constants, only use when available 2015-05-01 16:09:32 +02:00
Fabien Potencier
84ba801e9f feature #14472 [Debug] Trigger deprecation notices when using PHP7 reserved class names (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug] Trigger deprecation notices when using PHP7 reserved class names

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

Commits
-------

58c0bfe [Debug] Trigger deprecation notices when using PHP7 reserved class names
2015-05-01 16:07:04 +02:00
Christian Flothmann
bf8a1ce2a2 link to https://symfony.com where possible 2015-05-01 16:06:45 +02:00
Diego Saint Esteben
7632d2787e [Finder] Only use GLOB_BRACE when available 2015-05-01 15:39:14 +02:00
Tobias Schultze
7389aa1cb8 minor #14351 [WebProfilerBundle] [HttpKernel] A static approach to version feedback (derrabus)
This PR was squashed before being merged into the 2.7 branch (closes #14351).

Discussion
----------

[WebProfilerBundle] [HttpKernel] A static approach to version feedback

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

This is an alternative approach for the version feedback feature of PR #13626. The original PR performed a server-side HTTP request to symfony.com, which might be problematic in certain environments, see #14349.

This PR makes the following assumptions:

* Symfony's release roadmap is rarely changed
* After the first release of a branch, the Symfony development team is committed to the announced support dates.
* The support period of a stable  branch might be extended, but it's usually not reduced.

Given those assumptions, the EOM and EOL dates may be shipped with the Symfony release and may be updated with a later bugfix release. The information would be available offline without any need to query Symfony's servers.

If the user is running the latest bugfix release of a branch, the EOM/EOL dates should be accurate. If he's running an earlier version, he might get a false positive warning about reaching EOM or EOL if the support period has been extended in the meantime. But since he's running an outdated version anyway, would this really be a problem?

Commits
-------

f5f3bba [WebProfilerBundle] [HttpKernel] A static approach to version feedback
2015-04-28 21:15:25 +02:00
Alexander M. Turek
f5f3bbafba [WebProfilerBundle] [HttpKernel] A static approach to version feedback 2015-04-28 21:15:11 +02:00
Sebastian Grodzicki
6038b75eaf [HttpFoundation] Allow curly braces in trusted host patterns 2015-04-28 20:14:20 +02:00
Nicolas Grekas
58c0bfe65a [Debug] Trigger deprecation notices when using PHP7 reserved class names 2015-04-28 19:35:02 +02:00
Fabien Potencier
13ae7fae09 bug #14469 [Debug] BaseException compatibility for PHP7 (nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[Debug] BaseException compatibility for PHP7

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

Commits
-------

e94b31f [Debug] PHP7 compatibility with BaseException
2015-04-28 17:14:24 +02:00
Nicolas Grekas
62f8469f25 [DebugBundle] Fix dump() output in API/No-Toolbar context 2015-04-28 08:20:00 +02:00
Nicolas Grekas
343d2828d6 Fix merge 2015-04-27 18:33:29 +02:00
Romain Neutron
af54bda89b [VarDumper] Fix #14481 : Open tree recursively on OSX 2015-04-27 17:26:27 +02:00
Fabien Potencier
3928ed5fce Merge branch '2.3' into 2.6
* 2.3:
  [DependencyInjection] Removed extra strtolower calls
  [Validator] Fixed Choice when an empty array is used in the "choices" option
  Fixed tests
  [StringUtil] Fixed singularification of 'selfies'
  Fix Portuguese (Portugal) translation for Security
  improved exception when missing required component
  CS: unalign =
  Show a better error when the port is in use
  CS: unalign =>
  [FrameworkBundle] Check for 'xlf' instead of 'xliff'
  Add better phpdoc message for getListeners method of the EventDispatcher

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/ServerRunCommand.php
	src/Symfony/Bundle/TwigBundle/Command/LintCommand.php
	src/Symfony/Component/DependencyInjection/ContainerBuilder.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services11.php
	src/Symfony/Component/Validator/Constraints/ChoiceValidator.php
2015-04-27 14:43:05 +02:00
Fabien Potencier
3a404f8fe6 minor #14412 [Yaml] Match signature of Yaml::parse() with Parser->parse() (Zzortell)
This PR was merged into the 2.7 branch.

Discussion
----------

[Yaml] Match signature of Yaml::parse() with Parser->parse()

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

Commits
-------

238589d Add $objectForMap as argument of Yaml::parse()
2015-04-27 14:33:52 +02:00
Fabien Potencier
3be6492e2b minor #14449 [Security] Fix Portuguese (Portugal) translation (Restless-ET)
This PR was merged into the 2.3 branch.

Discussion
----------

[Security] Fix Portuguese (Portugal) translation

Commits
-------

b62eb73 Fix Portuguese (Portugal) translation for Security
2015-04-27 14:28:09 +02:00
Fabien Potencier
94cf4ba449 minor #14452 [StringUtil] Fixed singularification of 'selfies' (pmodin)
This PR was merged into the 2.3 branch.

Discussion
----------

[StringUtil] Fixed singularification of 'selfies'

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

Related to #14191.

At tonights PHP Stockholm meetup we discussed #14191, and we noticed that "selfie" was incorrectly handled as well. One selfie, many selfies.

Commits
-------

7c2b875 [StringUtil] Fixed singularification of 'selfies'
2015-04-27 14:27:22 +02:00
Fabien Potencier
501df8d14c minor #14460 [Filesystem] deprecate chmod support in dumpFile() (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Filesystem] deprecate chmod support in dumpFile()

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

The ability to support a custom permission mask in the `dumpFile()` method is deprecated since Symfony Symfony 2.3.12. This commit adds the `trigger_error()` call if a custom permission mask is passed.

Commits
-------

faee0d7 [Filesystem] deprecate chmod support in dumpFile()
2015-04-27 14:23:34 +02:00
Fabien Potencier
01b2d8ef96 bug #14463 [Validator] Fixed Choice when an empty array is used in the "choices" option (webmozart)
This PR was merged into the 2.3 branch.

Discussion
----------

[Validator] Fixed Choice when an empty array is used in the "choices" option

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

This is a backport of #14448 for the 2.3 branch.

Commits
-------

8bf8556 [Validator] Fixed Choice when an empty array is used in the "choices" option
2015-04-27 14:22:06 +02:00
Fabien Potencier
8f7a55864a minor #14470 [DependencyInjection] Removed extra strtolower calls (dosten)
This PR was squashed before being merged into the 2.3 branch (closes #14470).

Discussion
----------

[DependencyInjection] Removed extra strtolower calls

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

`Alias` already lowercase the `$id` in the constructor. Using `ContainerBuilder::hasAlias()` and `ContainerBuilder::hasDefinition()` inside the code makes an extra strtolower call.

Commits
-------

3bfbf45 [DependencyInjection] Removed extra strtolower calls
2015-04-27 14:15:57 +02:00
Diego Saint Esteben
3bfbf45ed2 [DependencyInjection] Removed extra strtolower calls 2015-04-27 14:15:55 +02:00
Kévin Dunglas
454ef8cc6f [Serializer] Fix a bug when using groups together with a name converter 2015-04-27 14:05:43 +02:00
Nicolas Grekas
fcf53950ca minor #14457 [DependencyInjection] Fixed missing tests (dosten)
This PR was merged into the 2.3 branch.

Discussion
----------

[DependencyInjection] Fixed missing tests

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

Follow up of #11422 and #14446

Commits
-------

2892902 Fixed tests
2015-04-27 12:30:21 +02:00
Nicolas Grekas
7c5337367a bug #14446 [DependencyInjection] resolve circular reference (xabbuh)
This PR was merged into the 2.6 branch.

Discussion
----------

[DependencyInjection] resolve circular reference

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

This issue has been fixed in #11422. Due to a bad merge in 3bed1b7988 it partially appeared again in Symfony 2.6 or higher.

Commits
-------

8b3b3ce [DependencyInjection] resolve circular reference
2015-04-27 12:29:08 +02:00
Kévin Dunglas
a1f7fb3b04 feature #14187 [Serializer] Supports hassers and setters for groups annotations (dunglas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] Supports hassers and setters for groups annotations

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

For more coherence with the new `ObjectNormalizer` (#13257), this PR allows to add `@Groups` annotations on hasser and setter methods too.

Commits
-------

9c87ecc [Serializer] Supports hassers and setters for groups annotations
2015-04-27 09:28:02 +02:00
Nicolas Grekas
9b333d655e minor #14439 CS: unalign => (keradus)
This PR was merged into the 2.3 branch.

Discussion
----------

CS: unalign =>

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

Update before upcoming changes on PHP CS Fixer 1.8

To keep fabbot.io happy ;)

Commits
-------

1233baa CS: unalign =>
2015-04-26 16:27:11 +02:00
Nicolas Grekas
22693f3a46 minor #14438 CS: unalign = (keradus)
This PR was merged into the 2.3 branch.

Discussion
----------

CS: unalign =

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

Update before upcoming changes on PHP CS Fixer 1.8

To keep fabbot.io happy ;)

Commits
-------

d5742c1 CS: unalign =
2015-04-26 16:20:13 +02:00
Nicolas Grekas
e94b31f3a0 [Debug] PHP7 compatibility with BaseException 2015-04-26 11:08:32 +02:00
Matthias Pigulla
c0300f57d5 Remaining tweaks for translator tests on 2.7
This are the remaining changes on the 2.7 branch after #14437 merged most of the improvements into 2.6.
2015-04-24 23:23:51 +02:00
Nicolas Grekas
dc89425c7f Merge branch '2.7' into 2.8
* 2.7:
  Fix test
2015-04-24 18:45:00 +02:00
Nicolas Grekas
0cbe1e011d Fix test 2015-04-24 18:44:40 +02:00
Nicolas Grekas
e6d05b7dc4 Merge branch '2.7' into 2.8
* 2.7:
  [Debug] Fix deprecated use of DebugClassLoader
  Revert "[HttpKernel] Throw a LogicException when kernel.exception does not led to a Response"
  [Validator] Fixed Choice when an empty array is used in the "choices" option
2015-04-24 17:39:02 +02:00
Nicolas Grekas
62808e4078 feature #14462 Revert "[HttpKernel] Throw a LogicException when kernel.exception does not led to a Response" (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

Revert "[HttpKernel] Throw a LogicException when kernel.exception does not led to a Response"

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

This partially reverts commit 22f4807522:
it broke BC (see https://github.com/silexphp/Silex/pull/1142 and 22f4807522 (commitcomment-10857485))

Commits
-------

10c5ffb Revert "[HttpKernel] Throw a LogicException when kernel.exception does not led to a Response"
2015-04-24 17:37:58 +02:00
Nicolas Grekas
e0c6f444a3 Merge branch '2.6' into 2.7
* 2.6:
  [Debug] Fix deprecated use of DebugClassLoader
  [Validator] Fixed Choice when an empty array is used in the "choices" option
2015-04-24 17:36:44 +02:00
Nicolas Grekas
4a6100a6f2 [Debug] Fix deprecated use of DebugClassLoader 2015-04-24 12:55:50 +02:00
Bernhard Schussek
8bf855620f [Validator] Fixed Choice when an empty array is used in the "choices" option 2015-04-24 12:06:28 +02:00
Bernhard Schussek
d206ffd212 bug #14448 [Validator] Fixed Choice when an empty array is used in the "choices" option (webmozart)
This PR was merged into the 2.6 branch.

Discussion
----------

[Validator] Fixed Choice when an empty array is used in the "choices" option

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

Commits
-------

a5a41b2 [Validator] Fixed Choice when an empty array is used in the "choices" option
2015-04-24 11:48:58 +02:00
Nicolas Grekas
10c5ffbdd0 Revert "[HttpKernel] Throw a LogicException when kernel.exception does not led to a Response"
This partially reverts commit 22f4807522.
2015-04-24 09:21:43 +02:00
Nicolas Grekas
f5a0ac2945 Merge branch '2.7' into 2.8
* 2.7: (40 commits)
  [Debug] Fix ClassNotFoundFatalErrorHandler candidates lookups
  [2.6][Translator] Extend, refactor and simplify Translator tests.
  Update DebugClassLoader.php
  inject asset packages in assets helper service
  [travis] Do not exclude legacy tests on 2.7
  [HttpFoundation] remove getExtension method
  [2.6][Translation] fix legacy tests.
  [Form] Removed remaining deprecation notices in the test suite
  [Form] Moved deprecation notice triggers to file level
  [Debug] Map PHP errors to LogLevel::CRITICAL
  [Routing][DependencyInjection] Support .yaml extension in YAML loaders
  [DX] improve file loader error for router/other resources in bundle
  [FrameworkBundle] Initialize translator with the default locale.
  [FrameworkBundle] Fix Routing\DelegatingLoader resiliency to fatal errors
  [2.7][Translation] remove duplicate code for loading catalogue.
  [2.6][Translation] remove duplicate code for loading catalogue.
  [HttpKernel] Cleanup ExceptionListener
  CS fixes
  [DependencyInjection] Show better error when the Yaml component is not installed
  [2.3] SCA for Components - reference mismatches
  ...
2015-04-24 09:03:44 +02:00
Nicolas Grekas
1b34f2cb7d Merge branch '2.6' into 2.7
* 2.6:
  [Debug] Fix ClassNotFoundFatalErrorHandler candidates lookups
  [2.6][Translator] Extend, refactor and simplify Translator tests.

Conflicts:
	src/Symfony/Component/Debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php
	src/Symfony/Component/Translation/Tests/TranslatorCacheTest.php
2015-04-24 09:02:30 +02:00
Christian Flothmann
faee0d714b [Filesystem] deprecate chmod support in dumpFile()
The ability to support a custom permission mask in the `dumpFile()`
method is deprecated since Symfony Symfony 2.3.12. This commit adds the
`trigger_error()` call if a custom permission mask is passed.
2015-04-23 23:48:30 +02:00
Diego Saint Esteben
2892902ead Fixed tests 2015-04-23 18:00:03 -03:00
Nicolas Grekas
a4e3e072d0 feature #14443 [VarDumper] Allow preserving a subset of cut arrays (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[VarDumper] Allow preserving a subset of cut arrays

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

Commits
-------

208ca94 [VarDumper] Allow preserving a subset of cut arrays
2015-04-23 19:06:49 +02:00
Christophe Coevoet
e861134580 feature #14431 [Console] Bind the closure (code) to the Command if possible (lyrixx)
This PR was merged into the 2.8 branch.

Discussion
----------

[Console] Bind the closure (code) to the Command if possible

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

This allow this kind of code:

```php
#!/usr/bin/env php
<?php

require __DIR__.'/vendor/autoload.php';

use Symfony\Component\Console\Application;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;

$application = new Application();

$application->add((new Command('process')))
    ->setDescription('Play all other commands')
    ->setCode(function (InputInterface $input, OutputInterface $output) use ($application) {
        $application = $this->getApplication();
        $help = $application->find('help');
        $output->writeln($help->getHelp());
    })
;
$application->run();
```

Commits
-------

ff4424a [Console] Bind the closure (code) to the Command if possible
2015-04-23 11:07:11 +02:00
Nicolas Grekas
98ed078029 [Debug] Fix ClassNotFoundFatalErrorHandler candidates lookups 2015-04-23 10:57:12 +02:00
Per Modin
7c2b8755e8 [StringUtil] Fixed singularification of 'selfies' 2015-04-23 05:20:57 +02:00
Matthias Pigulla
a8c44713c4 [2.6][Translator] Extend, refactor and simplify Translator tests. 2015-04-22 22:34:04 +01:00
Abdellatif Ait boudad
520660302a minor #14316 [Translation] improved exception when missing required component (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[Translation] improved exception when missing required component

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

Commits
-------

c3bd418 improved exception when missing required component
2015-04-22 22:21:47 +01:00
Restless-ET
b62eb73590 Fix Portuguese (Portugal) translation for Security 2015-04-22 16:50:37 +01:00
Christian Flothmann
c3bd418483 improved exception when missing required component 2015-04-22 17:09:08 +02:00
Bernhard Schussek
a5a41b2f21 [Validator] Fixed Choice when an empty array is used in the "choices" option 2015-04-22 16:59:03 +02:00
Christian Flothmann
8b3b3ce18a [DependencyInjection] resolve circular reference
This issue has been fixed in #11422. Due to a bad merge in
3bed1b7988 it partially appeared again in
Symfony 2.6 or higher.
2015-04-22 16:02:46 +02:00
Nicolas Grekas
208ca94b67 [VarDumper] Allow preserving a subset of cut arrays 2015-04-22 15:44:48 +02:00
Grégoire Pineau
ff4424a668 [Console] Bind the closure (code) to the Command if possible 2015-04-22 11:30:19 +02:00
Dariusz Ruminski
d5742c18b0 CS: unalign = 2015-04-22 09:13:42 +02:00
Dariusz Ruminski
1233baa669 CS: unalign => 2015-04-21 22:51:01 +02:00
Grégoire Pineau
e75c233b88 [VarDumper] Added support for SplFileObject 2015-04-21 15:00:43 +02:00
Grégoire Pineau
eb50b139d6 [VarDumper] Added support for SplFileInfo 2015-04-21 14:53:14 +02:00
Moritz Kraft
dcc65866c9 Update DebugClassLoader.php
Using name property of ReflectionClass instance in strncmp instead of __toString() return value, the latter seemed to breaking one of hte vendor bundles we use, and it seems fine now with the former.
2015-04-20 18:36:32 +01:00
Nicolas Grekas
bf8f70607a Merge branch '2.6' into 2.7
* 2.6:
  [2.6][Translation] fix legacy tests.
  [EventDispatcher] make listeners removable from an executed listener

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
	src/Symfony/Component/Translation/Tests/TranslatorCacheTest.php
2015-04-20 13:53:55 +02:00
Fabien Potencier
db243627e5 minor #14304 [EventDispatcher] Added the sorted priority information on phpdoc of the getListeners method (dupuchba)
This PR was merged into the 2.3 branch.

Discussion
----------

[EventDispatcher] Added the sorted priority information on phpdoc of the getListeners method

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

Added the sorting by descending priority information on the `EventDisparcherInterface`

Commits
-------

c3eecb5 Add better phpdoc message for getListeners method of the EventDispatcher
2015-04-20 12:41:44 +02:00
Fabien Potencier
f48cc1ba34 bug #14355 [2.6][EventDispatcher] make listeners removable from an executed listener (xabbuh)
This PR was merged into the 2.6 branch.

Discussion
----------

[2.6][EventDispatcher] make listeners removable from an executed listener

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

Commits
-------

f36803e [EventDispatcher] make listeners removable from an executed listener
2015-04-19 19:01:19 +02:00
Fabien Potencier
d5ed6ecdf6 minor #14366 [HttpFoundation] remove getExtension method (dosten)
This PR was squashed before being merged into the 2.7 branch (closes #14366).

Discussion
----------

[HttpFoundation] remove getExtension method

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

Since the minimum PHP version in 2.7 is 5.3.9 we can delete the `getExtension` method and use the real `\SplFileInfo::getExtension()`

Commits
-------

55ecf3b [HttpFoundation] remove getExtension method
2015-04-19 18:59:32 +02:00
Diego Saint Esteben
55ecf3bc46 [HttpFoundation] remove getExtension method 2015-04-19 18:59:29 +02:00
Fabien Potencier
e26afa4c1d bug #14397 [Debug] Map PHP errors to LogLevel::CRITICAL (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Debug] Map PHP errors to LogLevel::CRITICAL

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

See https://github.com/Seldaek/monolog#log-levels for reference.
This is #14294 on 2.7 (not 2.6)

Commits
-------

1dcfbdd [Debug] Map PHP errors to LogLevel::CRITICAL
2015-04-19 18:55:37 +02:00
Rémi Blaise
238589d4e8 Add $objectForMap as argument of Yaml::parse() 2015-04-19 18:34:12 +02:00
Abdellatif Ait boudad
189313caee [2.6][Translation] fix legacy tests. 2015-04-19 14:17:37 +01:00
Bernhard Schussek
a3917fc8c1 [Form] Removed remaining deprecation notices in the test suite 2015-04-19 12:11:13 +02:00
Bernhard Schussek
8f297c14e8 [Form] Moved deprecation notice triggers to file level 2015-04-19 12:00:49 +02:00
Nicolas Grekas
8cf0613ead Merge branch '2.6' into 2.7
* 2.6:
  [Routing][DependencyInjection] Support .yaml extension in YAML loaders
  [DX] improve file loader error for router/other resources in bundle
  [FrameworkBundle] Initialize translator with the default locale.
  [FrameworkBundle] Fix Routing\DelegatingLoader resiliency to fatal errors
  [2.6][Translation] remove duplicate code for loading catalogue.
  [HttpKernel] Cleanup ExceptionListener
  CS fixes
  [DependencyInjection] Show better error when the Yaml component is not installed
  [2.3] SCA for Components - reference mismatches
  [Debug] Scream as LogLevel::DEBUG (but for fatal errors / uncaught exceptions)
  [2.3] Static Code Analysis for Components
  [WebProfilerBundle] Fix resiliency to exceptions thrown by the url generator
  [Translation] LoggingTranslator simplifications
  [Translation][fixed test] refresh cache when resources are no longer fresh.
  [FrameworkBundle] Fixed server:start --router relative path issue #14124
  [FrameworkBundle] improve usage of Table helper
  [Validator] Added missing Simplified Chinese (zh_CN) translations
  [FrameworkBundle] Workaround php -S ignoring auto_prepend_file

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
	src/Symfony/Component/Console/Helper/Table.php
	src/Symfony/Component/Translation/LoggingTranslator.php
2015-04-18 17:11:06 +02:00
Nicolas Grekas
0191aa24bb Merge branch '2.3' into 2.6
* 2.3:
  [Routing][DependencyInjection] Support .yaml extension in YAML loaders
  [DX] improve file loader error for router/other resources in bundle
  [FrameworkBundle] Fix Routing\DelegatingLoader resiliency to fatal errors
  [HttpKernel] Cleanup ExceptionListener
  CS fixes
  [DependencyInjection] Show better error when the Yaml component is not installed
  [2.3] SCA for Components - reference mismatches
  [2.3] Static Code Analysis for Components
  [Translation][fixed test] refresh cache when resources are no longer fresh.
  [Validator] Added missing Simplified Chinese (zh_CN) translations
  [FrameworkBundle] Workaround php -S ignoring auto_prepend_file

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
	src/Symfony/Component/Config/Exception/FileLoaderLoadException.php
	src/Symfony/Component/Console/Descriptor/TextDescriptor.php
	src/Symfony/Component/Console/Helper/TableHelper.php
	src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
	src/Symfony/Component/HttpKernel/Tests/Debug/TraceableEventDispatcherTest.php
	src/Symfony/Component/PropertyAccess/PropertyAccessor.php
	src/Symfony/Component/Yaml/Tests/InlineTest.php
2015-04-18 17:02:51 +02:00
Fabien Potencier
a7a1ff2c8d minor #14367 CS fixes (keradus)
This PR was merged into the 2.3 branch.

Discussion
----------

CS fixes

| 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

Update before releasing PHP CS Fixer 1.7.

To keep fabbot.io happy ;)

Commits
-------

cfa3e95 CS fixes
2015-04-18 12:19:52 +02:00
Fabien Potencier
9c6f65fc0f minor #14081 [Config][DX] improve file loader error message for missing resource (cordoval)
This PR was merged into the 2.3 branch.

Discussion
----------

[Config][DX] improve file loader error message for missing resource

|Q            |A     |
|---          |---   |
|Bug Fix?     |y     |
|New Feature? |n     |
|BC Breaks?   |n     |
|Deprecations?|n     |
|Tests Pass?  |y     |
|Fixed Tickets|#11958|
|License      |MIT   |
|Doc PR       |      |

Commits
-------

a2deb61 [DX] improve file loader error for router/other resources in bundle
2015-04-18 12:16:58 +02:00
Nicolas Grekas
1dcfbddf2f [Debug] Map PHP errors to LogLevel::CRITICAL 2015-04-18 12:16:04 +02:00
Nicolas Grekas
b9930273de bug #14362 [Debug] Scream as LogLevel::DEBUG (but for fatal errors / uncaught exceptions) (nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[Debug] Scream as LogLevel::DEBUG (but for fatal errors / uncaught exceptions)

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

Commits
-------

3450122 [Debug] Scream as LogLevel::DEBUG (but for fatal errors / uncaught exceptions)
2015-04-18 12:13:38 +02:00
Nicolas Grekas
8b22526fe7 minor #14369 [HttpKernel] Cleanup ExceptionListener (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpKernel] Cleanup ExceptionListener

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

Commits
-------

d97279e [HttpKernel] Cleanup ExceptionListener
2015-04-18 12:11:43 +02:00
Nicolas Grekas
7cdd624119 bug #14345 [FrameworkBundle] Fix Routing\DelegatingLoader resiliency to fatal errors (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[FrameworkBundle] Fix Routing\DelegatingLoader resiliency to fatal errors

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

Commits
-------

7e95a24 [FrameworkBundle] Fix Routing\DelegatingLoader resiliency to fatal errors
2015-04-18 12:10:42 +02:00
Tobias Schultze
a8d0b1aa75 bug #14325 [Routing][DependencyInjection] Support .yaml extension in YAML loaders (thunderer)
This PR was squashed before being merged into the 2.3 branch (closes #14325).

Discussion
----------

[Routing][DependencyInjection] Support .yaml extension in YAML loaders

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

YAML [FAQ](http://www.yaml.org/faq.html) states that .yaml file extension should be used whenever possible. I tweaked YamlFileLoader supports() method in Symfony Routing component to accept both .yml and .yaml and added some asserts in tests for that behavior.

This PR replaces #14319 as it was based on 2.7. BTW Is there a way to "rebase" PR branch without redoing all the work?

Commits
-------

dd5a811 [Routing][DependencyInjection] Support .yaml extension in YAML loaders
2015-04-17 12:05:01 +02:00
Tomasz Kowalczyk
dd5a811de6 [Routing][DependencyInjection] Support .yaml extension in YAML loaders 2015-04-17 12:04:38 +02:00
Luis Cordova
a2deb618db [DX] improve file loader error for router/other resources in bundle 2015-04-17 01:24:38 -05:00
Nicolas Grekas
7e95a244d8 [FrameworkBundle] Fix Routing\DelegatingLoader resiliency to fatal errors 2015-04-16 14:03:59 +02:00
Abdellatif Ait boudad
9a9c83b2a4 [2.7][Translation] remove duplicate code for loading catalogue. 2015-04-16 11:20:34 +01:00
Abdellatif Ait boudad
973ee2e1e4 [2.6][Translation] remove duplicate code for loading catalogue. 2015-04-16 11:17:38 +01:00
Nicolas Grekas
d97279e942 [HttpKernel] Cleanup ExceptionListener 2015-04-16 10:51:32 +02:00
Dariusz Ruminski
cfa3e95f4d CS fixes 2015-04-16 09:01:03 +02:00
Abdellatif Ait boudad
3694e5ec35 [Translation] added FileLoader. 2015-04-15 22:38:10 +01:00
Fabien Potencier
995448c6ef minor #14287 [Finder] Removed duplicated toRegex() code (jaytaph)
This PR was merged into the 2.7 branch.

Discussion
----------

[Finder] Removed duplicated toRegex() code

This patch removes duplicated `toRegex()` code by using the already existing `Glob` class. As this class wasn't unit-tested to begin with, this duplication also makes sure this class is tested properly.

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

Commits
-------

6150c3a Removed duplicated toRegex() code
2015-04-15 17:30:29 +02:00
Fabien Potencier
c52320b964 minor #14331 [2.7][Translation][change log] added DataCollectorTranslator. (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7][Translation][change log] added DataCollectorTranslator.

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

Commits
-------

9b4f00c [2.7][Translation][change log] added DataCollectorTranslator.
2015-04-15 17:27:29 +02:00
Fabien Potencier
65e08fa51b minor #14354 [Translation] DataCollectorTranslator clarifications (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Translation] DataCollectorTranslator clarifications

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

Commits
-------

d66d75d [Translation] DataCollectorTranslator clarifications
2015-04-15 17:21:58 +02:00
Fabien Potencier
942f7f2fd1 minor #14231 [DependencyInjection] Show better error when the Yaml component is not installed (dosten)
This PR was squashed before being merged into the 2.3 branch (closes #14231).

Discussion
----------

[DependencyInjection] Show better error when the Yaml component is not installed

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

As the Yaml component is a suggested dependency, if someone try to use the `YamlFileLoader` or the `YamlDumper` without the component will get an ugly message:
```
PHP Fatal error:  Class 'Symfony\Component\Yaml\Dumper' not found in xxxx
```
With this PR the error will be an exception with the message: `Unable to dump the container as the Symfony Yaml Component is not installed.` for `YamlDumper` and `Unable to load YAML files service definitions as the Symfony Yaml Component is not installed.'` for `YamlFileLoader`

Commits
-------

870a299 [DependencyInjection] Show better error when the Yaml component is not installed
2015-04-15 17:14:38 +02:00
Diego Saint Esteben
870a299eb3 [DependencyInjection] Show better error when the Yaml component is not installed 2015-04-15 17:14:35 +02:00
Fabien Potencier
c74cd4adbb minor #14206 [2.3] SCA for Components - reference mismatches (kalessil)
This PR was squashed before being merged into the 2.3 branch (closes #14206).

Discussion
----------

[2.3] SCA for Components - reference mismatches

| 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

Static Code Analysis with Php Inspections (EA Extended), no functional changes:
- worked out some of reference mismatches

Commits
-------

f732659 [2.3] SCA for Components - reference mismatches
2015-04-15 17:09:40 +02:00
Vladimir Reznichenko
f732659219 [2.3] SCA for Components - reference mismatches 2015-04-15 17:09:34 +02:00
Nicolas Grekas
3450122061 [Debug] Scream as LogLevel::DEBUG (but for fatal errors / uncaught exceptions) 2015-04-15 16:47:26 +02:00
Fabien Potencier
49cbf1c7d1 minor #14097 [2.3] Static Code Analysis for Components (kalessil)
This PR was squashed before being merged into the 2.3 branch (closes #14097).

Discussion
----------

[2.3] Static Code Analysis for Components

| 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

Static Code Analysis with Php Inspections (EA Extended), no functional changes:
- array_keys/array_values usage as foreach array
- foreach value by reference - added unsets to keep scope clear
- strstr usage as strpos fixed
- array_push miss-use resolved

Commits
-------

78cc93c [2.3] Static Code Analysis for Components
2015-04-15 16:34:30 +02:00
Vladimir Reznichenko
78cc93c3b2 [2.3] Static Code Analysis for Components 2015-04-15 16:34:28 +02:00
Christian Flothmann
5d7a4f99f7 [Translation] LoggingTranslator simplifications 2015-04-15 00:06:07 +02:00
Christian Flothmann
f36803eb00 [EventDispatcher] make listeners removable from an executed listener 2015-04-14 22:43:17 +02:00
Christian Flothmann
d66d75dddc [Translation] DataCollectorTranslator clarifications 2015-04-14 20:42:21 +02:00
Abdellatif Ait boudad
cbffabff37 bug #14315 [Translation] Revert inlining fallback catalogues as it might cause inconsistent results when a cache is used (mpdude)
This PR was merged into the 2.7 branch.

Discussion
----------

[Translation] Revert inlining fallback catalogues as it might cause inconsistent results when a cache is used

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

The results from `getCatalogue()` are inconsistent when we're in production *and* a cache comes into play.

This is due to the changes in 6eb5e7395c, where the fallback catalogues will be *merged* into the primary catalogue when it is written to the cache.

Strictly speaking, this is a BC break because it behaved differently before.

I am not sure what the relevance of this might be in practice.

However, it may cause headaches because
* The result changes only in the second+ try (when the cache is warm); a priori you cannot tell whether you're going to see this
* The catalogue is clearly not what the loader provided
* You have no chance of telling whether the message was originally available in the catalogue or not
* Generally, for every message you retrieve from the catalogue, you have no way of telling which locale it actually comes from (it need not be from the catalogue's locale, and the catalogue does not provide fallback catalogues either)

Regarding the last point, you usually don't care when using the `Translator`. Its purpose is to get the "best" translation available. However, when you bother to explicitly retrieve the catalogue, chances are your intentions are different.

Commits
-------

12a183a Revert inlining the fallback messages in production that was added in 6eb5e7395c
2015-04-14 09:32:15 +01:00
Matthias Pigulla
12a183a983 Revert inlining the fallback messages in production that was added in 6eb5e7395c
Also add a test that shows where this would cause inconsistent behaviour of the getFallbackCatalogue() method.
2015-04-13 13:42:58 +02:00
Baptiste Dupuch
c3eecb591d Add better phpdoc message for getListeners method of the EventDispatcher 2015-04-13 12:57:04 +02:00
Abdellatif Ait boudad
9b4f00c7ab [2.7][Translation][change log] added DataCollectorTranslator. 2015-04-12 23:10:02 +01:00
Jingyu Wang
c0f0258c56 [Validator] Added missing Simplified Chinese (zh_CN) translations 2015-04-12 10:14:47 +08:00
Tobias Schultze
8072213afe adjust phpdoc for class not found handler 2015-04-12 00:21:29 +02:00
Jordi Boggiano
60d4994e70 Tweak classmap paths 2015-04-11 23:38:34 +02:00
Jordi Boggiano
cc17234464 Add two more components to psr-4 2015-04-11 23:38:34 +02:00
Jordi Boggiano
17f61afe08 Add psr-4 support to the ClassNotFoundFatalErrorHandler 2015-04-11 23:38:33 +02:00
Tobias Schultze
4e85901380 Use PSR-4 everywhere instead of PSR-0 2015-04-11 23:38:32 +02:00
Joshua Thijssen
6150c3a72b Removed duplicated toRegex() code 2015-04-11 21:29:31 +02:00
Fabien Potencier
222701f5e1 Merge branch '2.7' into 2.8
* 2.7:
  [HttpKernel] fixed a regression when no exception listeners are registered
  renamed some confusing tests
  propel/propel1 is now useless
  bumped Symfony version to 2.7.0
  updated VERSION for 2.7.0-BETA1
  updated CHANGELOG for 2.7.0-BETA1
  [2.3] Fix @link annotations
  [2.7] For @link annotations
  [2.6] Fix @link annotations
  [2.7][Console] Count the  array instead of
  [Config][cache factory] check type of callback argument.
  Fix javascript
  [2.3][Translation] test refresh cache when resources File change.
  Added deprecation message and original color back
  [Translator] Cache does not take fallback locales into consideration
2015-04-11 10:55:16 +02:00
Fabien Potencier
27930fb626 [HttpKernel] fixed a regression when no exception listeners are registered 2015-04-11 10:15:54 +02:00
Fabien Potencier
bab6db59b5 Merge branch '2.6' into 2.7
* 2.6:
  renamed some confusing tests
  [2.3] Fix @link annotations
  [2.6] Fix @link annotations
  Fix javascript
  [2.3][Translation] test refresh cache when resources File change.
  [Translator] Cache does not take fallback locales into consideration

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
	src/Symfony/Component/Form/Extension/HttpFoundation/EventListener/BindRequestListener.php
	src/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php
	src/Symfony/Component/Validator/ValidatorInterface.php
2015-04-11 09:21:47 +02:00
Fabien Potencier
234cebd087 Merge branch '2.3' into 2.6
* 2.3:
  renamed some confusing tests
  [2.3] Fix @link annotations
  Fix javascript
  [2.3][Translation] test refresh cache when resources File change.
  [Translator] Cache does not take fallback locales into consideration

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
	src/Symfony/Bundle/FrameworkBundle/Translation/Translator.php
2015-04-11 09:16:15 +02:00
Fabien Potencier
8b7148fbec minor #14312 renamed some confusing tests (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

renamed some confusing tests

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

a8e4c43 renamed some confusing tests
2015-04-11 08:59:48 +02:00
Fabien Potencier
a8e4c43080 renamed some confusing tests 2015-04-11 08:39:49 +02:00
Nicolas Grekas
c1983cad4d [2.3] Fix @link annotations 2015-04-10 20:54:05 +02:00
Nicolas Grekas
07cb92f003 [2.7] For @link annotations 2015-04-10 20:53:33 +02:00
Nicolas Grekas
fb077a2748 [2.6] Fix @link annotations 2015-04-10 20:22:21 +02:00
Fabien Potencier
8115b0b977 minor #14303 [Config][cache factory] check type of callback argument. (aitboudad)
This PR was merged into the 2.7 branch.

Discussion
----------

[Config][cache factory] check type of callback argument.

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

/cc @mpdude

Commits
-------

11f798c [Config][cache factory] check type of callback argument.
2015-04-10 17:34:19 +02:00
Fabien Potencier
6c721658e7 bug #14283 [2.7][Console] Count the $messages array instead of $message (barryvdh)
This PR was squashed before being merged into the 2.7 branch (closes #14283).

Discussion
----------

[2.7][Console] Count the $messages array instead of $message

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

I think you mean $messages instead of $message. With this patch, the number of messages is correctly counted.

Commits
-------

95aa167 [2.7][Console] Count the  array instead of
2015-04-10 17:31:32 +02:00
Barry vd. Heuvel
95aa167d7c [2.7][Console] Count the array instead of 2015-04-10 17:31:30 +02:00
Abdellatif Ait boudad
11f798cf41 [Config][cache factory] check type of callback argument. 2015-04-10 14:54:53 +01:00
Fabien Potencier
38374f983c updated version to 2.8 2015-04-10 10:56:33 +02:00
Fabien Potencier
ebe0889a38 Revert "removed 3.0 constraints from 2.7 composer files"
This reverts commit 5503804cf9.
2015-04-10 10:55:07 +02:00
Fabien Potencier
5503804cf9 removed 3.0 constraints from 2.7 composer files 2015-04-10 09:23:38 +02:00
Fabien Potencier
30b31611a5 Merge branch '2.6' into 2.7
* 2.6:
  [Translator] Cache does not take fallback locales into consideration
  [VarDumper] Fix call site detection
  [Process] Fix volatile test
  Remove some useless @group annotations
  Removed useless strtolower call
  [Validator] Use strict comparisons in loaders
  CS: Use "self" keyword instead of class name if possible

Conflicts:
	.travis.yml
	src/Symfony/Component/Translation/Translator.php
2015-04-10 09:19:44 +02:00
Fabien Potencier
aeef0cd9a2 bug #14271 [VarDumper] Fix call site detection (nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[VarDumper] Fix call site detection

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

`$trace[$i]['file']` is not always defined and `call_user_func_array` should also be filtered out.

Commits
-------

d8fb6a4 [VarDumper] Fix call site detection
2015-04-10 08:43:32 +02:00
Abdellatif Ait boudad
f9939d80f3 [Translation] avoid freshness check based on content *inside* the cache. 2015-04-09 15:04:27 +01:00
Matthias Pigulla
0d55b2f92d [Translator] Cache does not take fallback locales into consideration 2015-04-09 13:33:02 +01:00
Matthias Pigulla
f666657342 [Translator] Cache does not take fallback locales into consideration 2015-04-09 00:12:47 +01:00
Nicolas Grekas
d8fb6a4722 [VarDumper] Fix call site detection 2015-04-08 20:25:12 +02:00
Bernhard Schussek
94eb384163 bug #14258 [Form] Cleanup deprecation notices (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Cleanup deprecation notices

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

This uses the same technique used for FlattenException in HttpKernel that prevents repeated notices triggered by the constructor.

Commits
-------

3f58862 [Form] Cleanup deprecation notices
2015-04-08 11:34:58 +02:00
Nicolas Grekas
3f58862513 [Form] Cleanup deprecation notices 2015-04-08 11:29:16 +02:00
Fabien Potencier
81bf9108a0 feature #13220 [Console] Made output docopt compatible (WouterJ)
This PR was squashed before being merged into the 2.7 branch (closes #13220).

Discussion
----------

[Console] Made output docopt compatible

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #6329
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/issues/5016

This was harder than I thought. To sum up:

 * The output now follows the [docopt](http://docopt.org/) specification
 * There is a new `addUsage` method to add more usage patterns
 * The handling of spaces in the descriptors is refactored to make it easier to understand and to make it render better (using sprintf's features only made it worse imo)

Todo
---

 * [x] Add test for `addUsage` and friends
 * [x] Add test for multiline descriptions of arguments
 * <s>Convert long descriptions to multiline automatically</s>
 * [ ] Submit a doc PR for `addUsage`

Question
---

The docopt specification suggests we should add these usage patterns:

    %command.name% -h | --help
    %command.name% --version

I didn't do that yet, as I think it'll only makes the output more verbose and it's already pretty obvious.

I've taken some decisions which I don't think everybody agrees with. I'm willing to change it, so feel free to comment :)

/cc @Seldaek

Commits
-------

3910940 [Console] Made output docopt compatible
2015-04-08 07:37:48 +02:00
WouterJ
39109404da [Console] Made output docopt compatible 2015-04-08 07:37:46 +02:00
Nicolas Grekas
dae19422ec [Process] Fix volatile test 2015-04-08 07:35:52 +02:00
Fabien Potencier
0430d2095f Merge branch '2.3' into 2.6
* 2.3:
  Remove some useless @group annotations
  Removed useless strtolower call
  [Validator] Use strict comparisons in loaders
  CS: Use "self" keyword instead of class name if possible
2015-04-08 07:30:27 +02:00
Fabien Potencier
c0ddd3da26 Merge branch '2.6' into 2.7
* 2.6:
  [Form] Fixed DateType/TimeType that were broken since 849fb29984 and 1c4a75a00a
  [Debug] Skip unsilencing test on PHP7
  [Profiler][Logger] fixed cycle odd/even.
2015-04-08 07:28:20 +02:00
Fabien Potencier
f492b12158 bug #14250 [Console] Fixed SymfonyStyle when get terminal width fails (1ed)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Fixed SymfonyStyle when get terminal width fails

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

Commits
-------

a52b658 [Console] Fixed SymfonyStyle when get terminal width fails
2015-04-08 07:27:55 +02:00
Fabien Potencier
b01ed897fd feature #14178 [Config] Delegate creation of ConfigCache instances to a factory. (mpdude)
This PR was squashed before being merged into the 2.7 branch (closes #14178).

Discussion
----------

[Config] Delegate creation of ConfigCache instances to a factory.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes (refactoring, new flex point)
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | we'll see :-)
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | symfony/symfony-docs#5136

In the Routing/Router and Translation/Translator, delegate creation of ConfigCache instances to a factory. The factory can be setter-injected but will default to a BC implementation.

The ```ConfigCacheFactoryInterface``` is designed in a way that captures the common ```$cache = new ...; if (!$cache->isFresh()) { ... do sth }``` pattern. But more importantly, this design allows factory implementations to take additional measures to avoid race conditions before actually filling the cache.

By using an exchangeable ConfigCache factory it becomes possible to implement different resource (freshness) checking strategies, especially service-based ones.

The goal is to be able to validate Translators and Routers generated by database-based loaders. It might also help with symfony/AsseticBundle#168. This PR only contains the minimum changes needed, so the rest could be implemented in a bundle outside the core (at least for the beginning).

Component/HttpKernel/Kernel::initializeContainer still uses the ConfigCache implementation directly as there is no sensible way of getting/injecting a factory service (chicken-egg).

This is a pick off #7230. It replaces #7781 which was against the master branch. Also see #7781 for additional comments/explanations.

## Todo

* [ ] Allow `symfony/config` `~3.0.0` in `composer.json` for the HttpKernel and Translator component as well as TwigBundle once this PR has been merged into the master branch (fail deps=high tests for the time being).

Commits
-------

6fbe9b1 [Config] Delegate creation of ConfigCache instances to a factory.
2015-04-08 07:21:37 +02:00
Matthias Pigulla
6fbe9b1064 [Config] Delegate creation of ConfigCache instances to a factory. 2015-04-08 07:21:35 +02:00
Gregor Harlan
c5123d6881 CS: Pre incrementation/decrementation should be used if possible 2015-04-07 19:54:22 +02:00
Bernhard Schussek
060d0f8821 [Form] Fixed DateType/TimeType that were broken since 849fb29984 and 1c4a75a00a 2015-04-07 18:35:44 +02:00
Gábor Egyed
a52b658932 [Console] Fixed SymfonyStyle when get terminal width fails 2015-04-07 15:43:43 +02:00
Nicolas Grekas
0b70d02e3f Remove some useless @group annotations 2015-04-07 15:19:55 +02:00
Fabien Potencier
5a95d03d10 bug #14136 Fixed the line length of the new Symfony Styles (javiereguiluz)
This PR was squashed before being merged into the 2.7 branch (closes #14136).

Discussion
----------

Fixed the line length of the new Symfony Styles

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

**After/Before screenshots**

![example_1](https://cloud.githubusercontent.com/assets/73419/6919599/be6b2cc4-d7b8-11e4-99dc-0848a3cb94cf.png)

![example_2](https://cloud.githubusercontent.com/assets/73419/6919603/c031478c-d7b8-11e4-9887-13dcd8635434.png)

![example_3](https://cloud.githubusercontent.com/assets/73419/6919606/c2498ab6-d7b8-11e4-89ef-1e0e5db9425a.png)

And now my question: is there any way to get the terminal dimensions from SymfonyStyles class without having to copy/paste the code found on \Console\Application?

Commits
-------

e9c7912 Fixed the line length of the new Symfony Styles
2015-04-07 11:31:02 +02:00