This PR was squashed before being merged into the 2.7 branch (closes#13034).
Discussion
----------
[HttpKernel] [WebProfilerBundle] added HTTP status to profiler search result
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12944
| License | MIT
| Doc PR |
With this PR HTTP status codes are provided in the search results to simplify identification of particular requests.
For the schema-less storage implementations (memcache(d), redis, mongodb) and the default file storage, it should work without purging existing profiles. But the code could be simplified, if it is an option to expect old profiles to be purged. For database driven storages (mysql, sqlite), the `sf_profiler_data` table must be dropped anyway (if the table isn't altered manually by adding the `status_code` column). Thus the changes are not fully BC.
![profiler-search-results](https://cloud.githubusercontent.com/assets/2466932/5499453/3cc6ad70-8730-11e4-81e5-13bfd1140d00.png)
Commits
-------
34ecda5 [HttpKernel] [WebProfilerBundle] added HTTP status to profiler search result
* 2.6:
[Form] fixed form tests when using 2.7 deps
[TwigBridge] Fix bootstrap rendering when user explicitly use form_label
Fixed HtmlDumper with long string
Conflicts:
src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php
This PR was merged into the 2.6 branch.
Discussion
----------
[Form] fixed form tests when using 2.7 deps
| 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 PR allows tests to pass for the Form subtree-split when using any version of the Validator component. The build was broken because the 2.4 API works in the same way as the 2.5 one in Symfony 2.7, so the cause is set. Testing the implementation of the context allows to know whether to expect the cause more reliably.
Commits
-------
a55f5c8 [Form] fixed form tests when using 2.7 deps
This PR was merged into the 2.7 branch.
Discussion
----------
[Routing] merge instead of replace class and method scheme/method annotations
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | slightly (but since it only widens the scheme/method requirements, it should not really affect anyone)
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7132
| License | MIT
| Doc PR |
Using replace for schemes/methods makes no sense, since it's not associative. So it can produce unexpected outcomes as demonstrated in the referenced ticket.
I chose 2.7 as target branch because it's a bug fix but also a minor change in behavior. I also added more and better tests.
Commits
-------
e2505b5 [Routing] merge instead of replace class and method scheme/method annotations
This PR was merged into the 2.7 branch.
Discussion
----------
[TwigBundle] made AppVariable compatible with 3.0
| 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
-------
bf066da [TwigBundle] made AppVariable compatible with 3.0
This PR was merged into the 2.7 branch.
Discussion
----------
[Validator] re-added support for 2.4 API version in tests
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
Alternative to #13414
Commits
-------
b72ef6b [Validator] re-added support for 2.4 API version in tests
This PR was merged into the 2.6 branch.
Discussion
----------
[TwigBridge] Fix bootstrap rendering when user explicitly use form_label
| Q | A
| ------------- | ---
| Bug fix? | #13417
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
I implemented what @javiereguiluz said in this [comment](https://github.com/symfony/symfony/issues/13417#issuecomment-71162558)
Commits
-------
717c6d1 [TwigBridge] Fix bootstrap rendering when user explicitly use form_label
This PR was merged into the 2.6 branch.
Discussion
----------
[VarDumper] Fixed HtmlDumper with long string
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
0a327eb Fixed HtmlDumper with long string
This PR was merged into the 2.7 branch.
Discussion
----------
[SecurityBundle] decouple the logout PHP helper and Twig extension
| 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
-------
f089dd4 [SecurityBundle] decouple the logout PHP helper and Twig extension
This PR was merged into the 2.7 branch.
Discussion
----------
[Validator] added Japanese translation for unresolvable host (id: 79)
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
067e686 [Validator] added Japanese translation for unresolvable host (id: 79)
This PR was merged into the 2.7 branch.
Discussion
----------
[Serializer] minor: Fix PHPDoc
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
| Doc PR | n/a
Fix PHPDoc as pointed by @stof in https://github.com/symfony/symfony/pull/13255/files#r23134338
Commits
-------
d264486 [Serializer] Fix PHPDoc
* 2.6:
Minor plural/singular change
print error message if server couldn't be started
[HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info
[Twig][Bridge][TranslationDefaultDomain] add support of named arguments.
[Form] Improved exception message if the data class is not found
Fixes ArgvInput's argument getter with empty tokens
execute cheaper checks before more expensive ones
[DependencyInjection] Fix missing ExpressionLanguageProviders on extension bild
[FrameworkBundle] FormDataCollector should be loaded only if form config is enabled
* 2.5:
[HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info
[Twig][Bridge][TranslationDefaultDomain] add support of named arguments.
[Form] Improved exception message if the data class is not found
Fixes ArgvInput's argument getter with empty tokens
execute cheaper checks before more expensive ones
[FrameworkBundle] FormDataCollector should be loaded only if form config is enabled
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Resources/config/collectors.xml
* 2.3:
[HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info
[Twig][Bridge][TranslationDefaultDomain] add support of named arguments.
[Form] Improved exception message if the data class is not found
Fixes ArgvInput's argument getter with empty tokens
execute cheaper checks before more expensive ones
Conflicts:
src/Symfony/Component/Form/FormConfigBuilder.php
This PR was merged into the 2.7 branch.
Discussion
----------
removed deprecation notice for internal constant
| 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 notice is being raised when using the legacy validator, but it shouldn't. Moreover, as this is purely an internal constant, there is no point in raising a notice anyway.
Commits
-------
19be8b0 removed deprecation notice for internal constant
This PR was merged into the 2.7 branch.
Discussion
----------
Fix usage of app.security
| 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
Reverts the previous attempt to remove notices when using the `app.security` variable in Twig because it did not work (it prevents using `app.security` altogether).
So, instead, we inject the container and only get the security service (and thus triggering the deprecation notice) when the user is using `app.security`.
Commits
-------
09ed9b5 removed deprecated notices when using the security service
1067cc5 Revert "minor #13434 fixed some deprecated notices (fabpot)"
This PR was merged into the 2.7 branch.
Discussion
----------
removed usage of the deprecated EsiListener class in core
| 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
-------
55cc507 removed usage of the deprecated EsiListener class in core
This PR was merged into the 2.6 branch.
Discussion
----------
[WebProfilerBundle] Minor plural/singular change
| Q | A
| --- | ---
| License | MIT
| Fixed tickets | -
Commits
-------
b3cfc1a Minor plural/singular change
This PR was merged into the 2.7 branch.
Discussion
----------
[Form] Deprecated setDefaultOptions() in favor of configureOptions()
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? |
| Fixed tickets | #12782
| License | MIT
| Doc PR | symfony/symfony-docs#4786
This tries to provide a compatible API with the depreciation of the OptionResolverInterface. I would like to have this in 2.6.2 but I think that might not be possible? To me I think we should always provide an API where you do not need to use deprecated classes.
Also can you think of any way to trigger errors on the use of the deprecated setDefaultOptions() method? Since it is usually overwritten without calling the parent class this might be tricky. Maybe only in the resolver if we can check if actual options has been resolved in a call to setDefaultOptions.
Commits
-------
3d43cae Deprecated setDefaultOptions() in favor of configureOptions()
This PR was merged into the 2.5 branch.
Discussion
----------
[FrameworkBundle] FormDataCollector should be loaded only if form config is enabled
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11407
| License | MIT
| Doc PR | -
Commits
-------
af496ea [FrameworkBundle] FormDataCollector should be loaded only if form config is enabled
This PR was submitted for the master branch but it was merged into the 2.6 branch instead (closes#12258).
Discussion
----------
[FrameworkBundle] print error message if server couldn't be started
As @weaverryan noticed in symfony/symfony-docs#4005, the `server:run` command would provide you with a success message even if there were a web server already listening.
Commits
-------
6b2537b print error message if server couldn't be started
This PR was squashed before being merged into the 2.3 branch (closes#13039).
Discussion
----------
[HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info
Hi everyone!
We at trivago had an issue with the Request object. It seems that all versions of symfony 2.x and 3.x are affected from this (possible) bug (don't checked 1.x).
Here is the problem:
some old legacy pages are deployed in the Document Root, let's say /var/www/www.test.com/ .
one or more new applications based on symfony are deployed to /var/release/new_app1/ , /var/release/new_app2/ , ... .
in /var/www/www.test.com/ there is a symlink "app" to /var/release/new_app1/web, like:
/var/www/www.test.com/app --> /var/release/new_app1/web/
there is a "SEO"/human-readable rewrite rule for Document Root (if called path/file not exist): (.*) --> app/app.php
the problem comes, when the user calls a uri starting with "app" or whatever the rewrite rule / symlink points to:
the user calls "http://www.test.com/apparthotel-1234"
results in $_SERVER parameters like this
```
'DOCUMENT_ROOT' =>'/var/www/www.test.com',
'SCRIPT_FILENAME' => '/var/www/www.test.com/app/app.php',
'SCRIPT_NAME' => '/app/app.php',
'PHP_SELF' => '/app/app.php/apparthotel-1234'
```
in Request::prepareBaseUrl() there are checks to find the baseUrl:
```
if ($baseUrl && false !== $prefix = $this->getUrlencodedPrefix($requestUri, $baseUrl)) {
// full $baseUrl matches
return $prefix;
}
if ($baseUrl && false !== $prefix = $this->getUrlencodedPrefix($requestUri, dirname($baseUrl))) {
// directory portion of $baseUrl matches
return rtrim($prefix, '/');
}
```
first it is checked if (in our case) "/app/app.php" is in the request uri (/apparthotel-1234).
it's not.
then it takes the dirname (of /app/app.php) which is /app and checks if it is in the request uri (/apparthotel-1234), and YES, it is! and "/app" is returned, but this is wrong, it should be empty (because it comes from a rewrite rule from root: /)!
later in preparePathInfo(), if there is a baseUrl, then the baseUrl is removed from the request uri:
/apparthotel-1234 ---> /arthotel-1234
The cause is, the second baseUrl check, checks if the path of the application is already in the uri, like when the request was "http://www.test.com/app/apparthotel-1234" and hit a rewrite rule like (.*) --> app.php in there, but because it matches a directory it must match "dirname($baseUrl) . '/'".
I also needed to fix one unit test of the getBaseUrl test:
the request uri recently was "/foo%20bar".
but from the $_SERVER infos "foo bar" is a directory, see:
```
'SCRIPT_FILENAME' => '/home/John Doe/public_html/foo bar/app.php',
'SCRIPT_NAME' => '/foo bar/app.php',
'PHP_SELF' => '/foo bar/app.php',
```
webservers will redirect a request "http://www.test.com/foo%20bar" to "http://www.test.com/foo%20bar/" when "foo bar" is a directory. checked this for apache 2.x and nginx 1.4.x.
this fix is for symfony master (3.0.x, see #13039).
I also prepared a merge request for actual 2.7 branch, it will also follow in some minutes. (see #13040)
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | this, #13040, #13038, #7329
| License | MIT
[HttpFoundation] [Request]
* added missing slash to baseUrl-path part check to remove the path, only when it's also a path in the uri
[HttpFoundation] [Tests] [RequestTest]
* fixed and added unittests
This is the symfony 2.3 branch fix for the issue related to #13038 and #13040
Happy christmas!
Commits
-------
3a3ecd3 [HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info
This PR was squashed before being merged into the 2.3 branch (closes#13250).
Discussion
----------
[Twig][Bridge][TranslationDefaultDomain] add support of named arguments.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Fixed tickets | #10859
| Tests pass? | yes
| License | MIT
Commits
-------
02bc23a [Twig][Bridge][TranslationDefaultDomain] add support of named arguments.