This PR was squashed before being merged into the master branch (closes#8304).
Discussion
----------
Sorting files while extracting translation messages from a twig templates
Hello
When we generate a translations via command:
```php
app\console translation:update
```
is nice if order of found items don't change over the time (inside the file).
So we need to sort the *.twig files to prevent changes in output lang files.
This very simple fix do this.
Please consider this in your code :)
Thanks
Commits
-------
ba0bcb1 Sorting files while extracting translation messages from a twig templates
This PR was merged into the master branch.
Discussion
----------
[Templating|FrameworkBundle] Made DelegatingEngine::getEngine() public
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7254
| License | MIT
| Doc PR | -
As a bonus I've covered both classes with tests.
Commits
-------
a54cbff [FrameworkBundle] Made DelegatingEngine::getEngine() public.
3f84cd3 [Templating] Made DelegatingEngine::getEngine() public.
0a72a99 [FrameworkBundle] Added tests for the DelegatingEngine.
6c31ab2 [Templating] Added tests for the DelegatingEngine.
This PR was merged into the 2.3 branch.
Discussion
----------
[Security] fixed usage of the salt for the bcrypt encoder (refs #8210)
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8210
| License | MIT
| Doc PR | n/a
see #8210
Commits
-------
b5ded81 [Security] fixed usage of the salt for the bcrypt encoder (refs #8210)
This PR was merged into the master branch.
Discussion
----------
[Security] Add simpler customization options
The goal of this is to provide a simpler extension point for people that don't have the time to dive into the whole security factory + authentication provider + user provider + authentication listener + token mess. As it stands, it gives you a way to just create one class that is handling all the security stuff in one (by implementing SimpleFormAuthenticatorInterface and UserProviderInterface) + one or more token classes.
I would like feedback on whether people think this makes sense or not before continuing and doing a SimpleHttpAuthenticatorInterface for non-form based stuff.
Just FYI that's how it would look in security.yml:
```yaml
security:
providers:
simple:
id: simple_authenticator
firewalls:
foo:
pattern: ^/
simple_form:
provider: simple
authenticator: simple_authenticator
```
/cc @atrauzzi (who posted a long rant on the ML about how hard this all is, and I can't agree more - I hope it's the right account on github?)
Commits
-------
74cfc84 marked some classes as being experimental in 2.3
471e5bc [Security] allowed simple pre-auth to be optional if another auth mechanism already authenticated the user
01c913b moved the simple HTTP authenticator to a pre-auth one
887d9b8 fixed wrong Logger interface
65335ea [Security] Renamed simple_token to simple_http, added support for failure and success handler to both simple firewalls
f7a11a1 [Security] Add simple_token auth method
1fe2ed6 [Security] Add SimpleForm authentication
This PR was merged into the 2.2 branch.
Discussion
----------
[WebProfilerBundle] force the Content-Type to html in the web profiler controllers
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | [![Build Status](https://travis-ci.org/lsmith77/symfony.png?branch=force_content_type)](https://travis-ci.org/lsmith77/symfony)
| Fixed tickets | -
| License | MIT
| Doc PR | -
This just forces the Content-Type to match what will be returned, otherwise if the request format happens to be something else than HTML (which can be the case when building an app that only does JSON/XML with FOSRestBundle) it can happen that the Response class automatically sets a different Content-Type.
The approach taken here matches https://github.com/nelmio/NelmioApiDocBundle/blob/master/Controller/ApiDocController.php#L24
Commits
-------
6d2135b force the Content-Type to html in the web profiler controllers
* 2.2:
Throw exception if value is passed to VALUE_NONE input, long syntax
fixed date type format pattern regex
[FrameworkBundle] tweaked previous merge (refs #8242)
do not re-register commands each time a Console\Application is run
[Process] moved env check to the Process class (refs #8227)
fix issue where $_ENV contains array vals
[DomCrawler] Fix handling file:// without a host
[Form] corrected interface bind() method defined against in deprecation notice
[Finder] Fix SplFileInfo::getContents isn't working with ssh2 protocol
Conflicts:
src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php
src/Symfony/Component/DomCrawler/Link.php
src/Symfony/Component/Form/Form.php
This PR was merged into the master branch.
Discussion
----------
[HttpFoundation] Added Request::getEncodings() method
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
We needed access to the Accept-Encoding information in Drupal, and I was surprised to see that there wasn't a method on the request object to access this.
This PR adds that method.
Commits
-------
28a8443 [HttpFoundation] Added Request::getEncodings() method
There are cases where $env or $_ENV can contain a value that is an array
This will cause Process to throw an Array to String conversion exception
Initially I submitted a patch of Process.php, however Fabien indicated
that it shouldn't be fixed there (see below pull request).
Before recently, a simple work around would be in php.ini to set:
register_argc_argv = On
However with recent changes, this seems to no longer work.
Original pull request: https://github.com/symfony/symfony/pull/7354
See ticket https://github.com/symfony/symfony/issues/7196
This PR was merged into the 2.2 branch.
Discussion
----------
[Finder] Fix SplFileInfo::getContents isn't working with ssh2 protocol
| Q | A
| -------------:| ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8219
| License | MIT
Commits
-------
849f3ed [Finder] Fix SplFileInfo::getContents isn't working with ssh2 protocol
* 2.3: (33 commits)
Revert "[Console] ensure exit code between 0-254"
Added missing galician (gl) translations
fix many-to-many Propel1 ModelChoiceList
[Console] ensure exit code between 0-254
Added Greek translation
[DomCrawler] Fixed a fatal error when setting a value in a malformed field name.
[FrameworkBundle] Fixed OutOfBoundException when session handler_id is null
[DependencyInjection] Add support for aliases of aliases + regression test
[Console] fix status code when Exception::getCode returns something like 0.1
Fixed doc block on Filesystem::rename
Fixed exit code for exceptions with error code 0
[DependencyInjection] Rename ContainerBuilder::$aliases to avoid conflicting with the parent class
[DependencyInjection] Remove get*Alias*Service methods from compiled containers
[DependencyInjection] Fix aliased access of shared services, fixes#8096
instantiate valid commands only
bumped Symfony version to -DEV
updated VERSION for 2.3.0
updated CHANGELOG for 2.3.0
[Config] Added tests for the FileResource and DirectoryResource.
[Config] Fixed @covers annotation which ignored some of the methods from the code coverage.
...
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
* 2.2:
Revert "[Console] ensure exit code between 0-254"
fix many-to-many Propel1 ModelChoiceList
[Console] ensure exit code between 0-254
[DomCrawler] Fixed a fatal error when setting a value in a malformed field name.
[Console] fix status code when Exception::getCode returns something like 0.1
Fixed exit code for exceptions with error code 0
instantiate valid commands only
Conflicts:
src/Symfony/Component/Console/Application.php
* 2.1:
Revert "[Console] ensure exit code between 0-254"
[Console] ensure exit code between 0-254
[Console] fix status code when Exception::getCode returns something like 0.1
Fixed exit code for exceptions with error code 0
When a null is provided for framework.session.handler_id the FrameworkExtension attempts to set the session storage to null for the 'session.storage.php_bridge' by altering the second argument. According to the session.xml service definition, there is no second argument, and it is in fact the first (read, 0 index) argument that should be changed.
This PR was merged into the 2.3 branch.
Discussion
----------
[DI] Fixes access of aliases shared services
Fixes#8096 and I noticed that the aliases methods weren't really needed anymore so I removed them. I think it's fine since they were protected, but did it in a separate commit in case you just want the bugfix.
Note that while the DI tests pass, I didn't run this patch as part of a real app. I'd appreciate if someone has the time to verify it still works given it's slightly critical code.
Commits
-------
81b122d [DependencyInjection] Add support for aliases of aliases + regression test
d8c0ef7 [DependencyInjection] Rename ContainerBuilder::$aliases to avoid conflicting with the parent class
bb797ee [DependencyInjection] Remove get*Alias*Service methods from compiled containers
379f5e0 [DependencyInjection] Fix aliased access of shared services, fixes#8096
This PR was squashed before being merged into the master branch (closes#7951).
Discussion
----------
[Templating] Allows "template" and "parameters" as parameter name (replaces #7908)
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| License | MIT
| Doc PR | n/a
Allows "template" and "parameters" as parameter name.
**BC break:** These variables were previously declared on every template with respectively the Templating\Storage instance and the array of parameters.
Commits
-------
6e8b918 [Templating] Allows "template" and "parameters" as parameter name (replaces #7908)
This PR was merged into the master branch.
Discussion
----------
[HttpFoundation][NamespacedAttributeBag] Refactoring of resolveKey() method
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Just code enhancement. Low priority.
1) We don't need to call strlen($name) as last argument of substr() function
2) We don't need to call strrpos (or strpos) two times.
Commits
-------
a644516 [HttpFoundation][NamespacedAttributeBag] Refactoring of resolveKey() method
This PR was merged into the master branch.
Discussion
----------
[2.4][Console] Added status code to CommandTester and ApplicationTester
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes, but not on travis (segfault)
| Fixed tickets | -
| License | MIT
| Doc PR | -
Theses classes are already statefull. They contain the input and the
output data. So we can safely add the last status code to the class.
Commits
-------
6526166 [Console] Added status code to CommandTester and ApplicationTester
This PR was merged into the master branch.
Discussion
----------
[Console] Add clear() to ProgressHelper.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | symfony/symfony-docs#2642
One may want to print something else while the progress bar is running.
The output will be messy if the progress bar is not removed first.
One may also want to remove the progress bar after the work is complete.
Commits
-------
29c71a5 [Console] Add clear() to ProgressHelper.
This PR was squashed before being merged into the master branch (closes#8167).
Discussion
----------
[MonologBridge] added integration with the console component
This adds integration with the console component by adding ConsoleHandler and ConsoleFormatter which can be used to show log messages in the console output depending on the verbosity settings.
This PR splits the reusable classes from symfony/MonologBundle#42 into the bridge.
It has been reviewed by @Seldaek
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8033
| License | MIT
| Doc PR | will be done when this is used by the MonologBundle
Commits
-------
c0b5996 [MonologBridge] added integration with the console component
This PR was merged into the 2.3 branch.
Discussion
----------
[Config] Added few tests
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
804b182 [Config] Added tests for the FileResource and DirectoryResource.
c5dda79 [Config] Fixed @covers annotation which ignored some of the methods from the code coverage.
bf769e0 [Config] Added tests for the ConfigCache.
This PR was merged into the 2.3 branch.
Discussion
----------
[Security] Added more tests
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Continuation of #8136
Commits
-------
5409852 [Security] Added few new test cases for the HttpUtils and improved readability of existing tests.
d6ab77e [Security] Added tests for the SwitchUserListener.
cccd005 [Security] Added tests for the ContextListener.
307bc91 [Security] Added a test to the BasicAuthenticationListener.
314f29a [Security] Removed an unnecessary call to sprintf() and added a test case.
* 2.3:
ErrorHandler and fixes
fixed typo in CS translation (closes#8069)
fix arab translation
Removed reference to Symfony\Component\Form\Extension\Core\Type\FormType in form.xml
slovenian validator translations updated
[FrameworkBundle] set the dispatcher in the console application
[Console] fix typehint for Application::setDispatcher
[Finder] Fixed a path in a test.
[Form] [Validator] Fixed post_max_size = 0 bug (Issue #8065)
This PR was merged into the 2.3 branch.
Discussion
----------
[FrameworkBundle] set the dispatcher in the console application
BC break: no
test pass: yes
Otherwise events are not dispatched in symfony frameworkbundle.
The first commit fixes a related typehint in the console.
Commits
-------
e93fc7a [FrameworkBundle] set the dispatcher in the console application
176a3d4 [Console] fix typehint for Application::setDispatcher
* 2.3: (37 commits)
[Console] renamed ConsoleForExceptionEvent into ConsoleExceptionEvent
Fix several instances of doubled words
[Security] Fixed the check if an interface exists.
Added missing slovak translations
[FrameworkBundle] removed HttpFoundation classes from HttpKernel cache
[Finder] Fix iteration fails with non-rewindable streams
[Finder] Fix unexpected duplicate sub path related AppendIterator issue
[Security] Added tests for the DefaultLogoutSuccessHandler.
[Security] Added tests for the DefaultAuthenticationSuccessHandler.
[ClassLoader] tiny refactoring
[Security] Added tests for the DefaultAuthenticationFailureHandler.
[Security] Added tests for the remember me ReponseListener.
[Security] Added tests for the SessionAuthenticationStrategy.
[Security] Added tests for the AccessMap.
[FrameworkBundle] removed deprecated method from cache:clear command
[WebProfiler] remove deprecated verbose option
fix logger in regards to DebugLoggerInterface
[Form] [2.3] removed old option
Added type of return value in VoterInterface.
[Console] Add namespace support back in to list command
...
This PR was merged into the 2.3 branch.
Discussion
----------
[Console] renamed ConsoleForExceptionEvent into ConsoleExceptionEvent
I wondered about the name and now I figured the problem was already raised in the PR: https://github.com/symfony/symfony/pull/7466#discussion-diff-3503539
So I think it should be fixed for LTS.
BC break: yes
test pass: yes
Commits
-------
554ab9f [Console] renamed ConsoleForExceptionEvent into ConsoleExceptionEvent
* 2.2:
Fix several instances of doubled words
[Finder] Fix iteration fails with non-rewindable streams
[Finder] Fix unexpected duplicate sub path related AppendIterator issue
Added type of return value in VoterInterface.
Fixed two bugs in HttpCache
Conflicts:
src/Symfony/Component/Finder/Iterator/RecursiveDirectoryIterator.php
* 2.1:
Fix several instances of doubled words
[Finder] Fix iteration fails with non-rewindable streams
[Finder] Fix unexpected duplicate sub path related AppendIterator issue
Added type of return value in VoterInterface.
Fixed two bugs in HttpCache
Conflicts:
src/Symfony/Component/Finder/Tests/FinderTest.php
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3][FrameworkBundle] removed HttpFoundation classes from HttpKernel cache
| Q | A
| ------------- | ---
| Bug fix? | [yes]
| New feature? | [no]
| BC breaks? | [no]
| Deprecations? | [no]
| Tests pass? | [yes]
| Fixed tickets | [#8126]
| License | MIT
Since #7322, class redeclaration errors will occur in non-debug mode when using HttpCache, because the map isn't adaptative, and HttpCache might need HttpFoundation classes even before booting the Kernel. I suggest moving them to the bootstrap instead.
Commits
-------
c8e5503 [FrameworkBundle] removed HttpFoundation classes from HttpKernel cache
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3][Validator] Added missing slovak translations
This commit sholud be also merged to master.
Commits
-------
af2cd98 Added missing slovak translations
This PR was merged into the 2.3 branch.
Discussion
----------
[Console] Add namespace support back in to list command
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | Couldn't spot this issue in the list
| License | MIT
| Doc PR | NA
Added a test to prevent this happening again.
Commits
-------
79a842a [Console] Add namespace support back in to list command
This PR was squashed before being merged into the 2.1 branch (closes
Discussion
----------
[Finder] Fix iteration fails with non-rewindable streams
<table>
<tr>
<th>Q</th><th>A</th>
</tr>
<tr>
<td>Bug fix?</td><td>yes</td>
</tr>
<tr>
<td>New feature?</td><td>no</td>
</tr>
<tr>
<td>BC breaks?</td><td>no</td>
</tr>
<tr>
<td>Deprecations?</td><td>no</td>
</tr>
<tr>
<td>Tests pass?</td><td>yes</td>
</tr>
<tr>
<td>Fixed tickets</td><td>#3585, #7834</td>
</tr>
<tr>
<td>License?</td><td>MIT</td>
</tr>
</table>
- [x] Add a good detection of non seekable stream
- [x] Add some unit tests
But the iteration under ftp stream still not work properly. Edit: need
tests for that.
Commits
-------
169c0b9 [Finder] Fix iteration fails with non-rewindable streams
This PR was merged into the 2.3 branch.
Discussion
----------
[Form] [2.3] removed old option
Looks like a leftover from @c8afa886cd7c9598e5fbda661e93210a7786739b
Commits
-------
a8f4501 [Form] [2.3] removed old option
This PR was merged into the 2.3 branch.
Discussion
----------
[WebProfiler] remove deprecated verbose option
test pass: yes
bc break: no
Commits
-------
8a4b91b [WebProfiler] remove deprecated verbose option
This PR was merged into the 2.3 branch.
Discussion
----------
[FrameworkBundle] removed deprecated method from cache:clear command
bc break: no
test pass: yes
Commits
-------
024bd9e [FrameworkBundle] removed deprecated method from cache:clear command
This PR was merged into the 2.3 branch.
Discussion
----------
[ClassLoader] tiny refactoring
test pass: yes
bc break: no
Commits
-------
6394a5b [ClassLoader] tiny refactoring
1. 304 responses always send "Content-Type: text/html; charset=UTF-8"
header
I discovered that the HttpCache::handle method calls Response::prepare
after calling Response::isModified. Response::isModified removes the
Content-Type header as it should, but Response::handle adds in the
default Content-Type header when none is set. If the default
Content-Type is not the correct Content-Type, then the Content-Type in
the cache gets clobered. I solved this problem by moving the
Response::isModified call after the Response::prepare call. I updated
the testRespondsWith304WhenIfModifiedSinceMatchesLastModified and
testRespondsWith304WhenIfNoneMatchMatchesETag tests to verify that the
Content-Type header was not being sent for 304 responses.
2. Failure to invalidate cached entities referred to by the Location
header
I discovered that the Store::invalidate method was looking for Location
and Content-Location headers to invalidate, but it was looking in the
request headers instead of the response headers. Because the
Store::invalidate method doesn't take a response, I decided it was
better to move this logic to the HttpCache::invalidate method instead.
I updated the testInvalidatesCachedResponsesOnPost test to verify that
Location headers are getting invalidated correctly.
This PR was merged into the 2.3 branch.
Discussion
----------
[SecurityBundle] Added missing files for phpunit
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes and no (BC Break in RequestMatcher, symfony/http-foundation: 2.2.x)
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
11497f3 [SecurityBundle] Added missing files for phpunit
This PR was merged into the 2.3 branch.
Discussion
----------
[Routing] Added Router tests and fixed an exception message
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
e61ba7d [Routing] Added Router tests and fixed an exception message.
This PR was merged into the 2.3 branch.
Discussion
----------
[WebProfilerBundle] Fixed composer.json
Commits
-------
d4f5389 [WebProfilerBundle] Fixed composer.json
This PR was merged into the 2.3 branch.
Discussion
----------
[Config] Including exception message to clarify the underlying issue
Hi guys!
In the framework if you, for example, make a syntax error in YAML, then the true, clear message (e.g. Unable to parse at line 5 (near "framework") is nested, and harder to visually see. This includes that message in the main exception so that users can debug more easily.
I see this quite a bit, it's a choke point for newcomers :).
Before: Cannot import resource "/path/to/app/config/config.yml" from "/path/to/app/config/config_dev.yml".
After: Cannot import resource "/path/to/app/config/config.yml" from "/path/to/app/config/config_dev.yml". (Unable to parse at line 5 (near "framework").)
Corrections and comments warmly appreciated.
Thanks!
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | --
| License | MIT
| Doc PR | n/a
Commits
-------
435012f [Config] Adding the previous exception message into the FileLoaderLoadException so it's more easily seen
This PR was merged into the master branch.
Discussion
----------
[Console] ensure integer exit codes in events
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Commits
-------
fe1db71 [Console] ensure integer exit codes in events
This PR was merged into the 2.1 branch.
Discussion
----------
[Console] fix and refactor exit code handling
Split of #8038
Commits
-------
5c317b7 [Console] fix and refactor exit code handling
* 2.2:
[CssSelector] Fix :nth-last-child() translation
Fix Crawler::children() to not trigger a notice for childless node
Conflicts:
src/Symfony/Component/CssSelector/Node/FunctionNode.php
src/Symfony/Component/CssSelector/Tests/Node/FunctionNodeTest.php