Commit Graph

12660 Commits

Author SHA1 Message Date
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
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
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