This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes#8688).
Discussion
----------
[Debug] Make sure ContextErrorException is loaded during compile time errors
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | no
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
### Description
When the `ErrorHandler->handle()` attempts to throw a `ContextErrorException` the script might die with a Fatal Error because the class is not found.
FatalErrorException: Error: Class 'Symfony\Component\Debug\Exception\ContextErrorException' not found in ...
That effectively hides the original error and causes confusion.
### Cause
The cause is a bug/limitation of PHP that makes class autoloading completely inactive during "compiling".
Relevant PHP source code in `zend_execute_API.c`:
/* The compiler is not-reentrant. Make sure we __autoload() only during run-time
* (doesn't impact functionality of __autoload()
*/
if (!use_autoload || zend_is_compiling(TSRMLS_C)) {
#### More information about the PHP bug/limitation:
- https://bugs.php.net/bug.php?id=65322
- many duplicates/relevant: https://www.google.com/search?btnG=1&pws=0&q=site%3Abugs.php.net+autoload+error+handling
### The fix
The most simple way to fix this is to manually ensure that `ContextErrorException` is loaded and if not, load it. This is what I did.
Another way is to detect if autoloading is available (possible by prepending a temporary autoloader) and act accordingly (how?).
### The test
I also added a test case that would fail with a fatal error if the error handler does not successfully throw an exception in case of a compile time error. But I'm not sure if this is the best way or if there should be a test case at all.
###
Commits
-------
b0082ab [Debug] Make sure ContextErrorException is loaded during compile time errors
This PR was merged into the 2.3 branch.
Discussion
----------
Validators
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
This PR avoid comparison validators to be executed if the compared value is null.
Commits
-------
48338fc Ignore null value in comparison validators
This PR was squashed before being merged into the master branch (closes#8663).
Discussion
----------
[DependencyInjection] Test constants
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | **yes**
| License | MIT
Added a test for constant support in XML configuration files.
Related PR: #8661
Commits
-------
9acedb7 [DependencyInjection] Test constants
* 2.3:
added missing support for the new output API in PHP 5.4+
Fixed bug introduced in #8675
made the filesystem loader compatible with Twig 2.0
bumped Symfony version to 2.3.4-DEV
updated VERSION for 2.3.3
updated CHANGELOG for 2.3.3
bumped Symfony version to 2.2.6
updated VERSION for 2.2.5
update CONTRIBUTORS for 2.2.5
updated CHANGELOG for 2.2.5
[Intl] Updated stubs to reflect ICU 51.2
replaced deprecated Twig features
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
* 2.2:
added missing support for the new output API in PHP 5.4+
Fixed bug introduced in #8675
made the filesystem loader compatible with Twig 2.0
bumped Symfony version to 2.2.6
updated VERSION for 2.2.5
update CONTRIBUTORS for 2.2.5
updated CHANGELOG for 2.2.5
replaced deprecated Twig features
Conflicts:
src/Symfony/Bridge/Twig/Extension/FormExtension.php
src/Symfony/Bridge/Twig/Extension/RoutingExtension.php
src/Symfony/Component/HttpKernel/Kernel.php
This PR was merged into the 2.2 branch.
Discussion
----------
[2.2][TwigBridge] Fix form_enctype bug
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
After a copy/past error in #8675, `{{ form_enctype() }}` was not working because it results in a `Class "Symfony\Bridge\Twig\Node\FormEnctypeNode" not found` error.
This should only be merged in 2.2, as of 2.3 this is moved to the `Symfony\Bridge\Twig\Node\FormEnctypeNode` class
Commits
-------
e0c7d3d Fixed bug introduced in #8675
This PR was merged into the master branch.
Discussion
----------
[HttpFoundation] add missing support for the new output API in PHP 5.4...
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
As of PHP 5.4, the new output API has been introduced:
* https://github.com/php/php-src/blob/master/README.NEW-OUTPUT-API
* 11d24c1593
* https://bugs.php.net/bug.php?id=64977
Commits
-------
188c0ce [HttpFoundation] added missing support for the new output API in PHP 5.4+
This PR was merged into the master branch.
Discussion
----------
Adapt security collector template name to webprofiler conventions
| Q | A
| ------------- | ---
| Bug fix? | no, but syntax consistency & future compatibility(?)
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | fabpot/Twig#1156 which was reverted but will be merged in the future
| License | MIT
Use Twig namespace syntax instead of bundle syntax for security webprofiler template to be consistent with @WebProfiler template names.
Commits
-------
66c792b Adapt security collector template name to webprofiler conventions
This PR was submitted for the master branch but it was merged into the 2.2 branch instead (closes#8677).
Discussion
----------
[TwigBundle] made the filesystem loader compatible with Twig 2.0
| Q | A
| ------------- | ---
| Bug fix? | yes (for Twig 2.x)
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
Without adding the exists() method, the code happens to work by chance,
just because the current implementation of Twig exits() method calls
findTemplate().
But we know that it won't be the case anymore as of Twig 2.0.
Commits
-------
d00548b [TwigBundle] made the filesystem loader compatible with Twig 2.0
Without adding the exists() method, the code happens to work by chance,
just because the current implementation of Twig exits() method calls
findTemplate().
But we know that it won't be the case anymore as of Twig 2.0.
This PR was merged into the 2.2 branch.
Discussion
----------
replaced deprecated Twig features
| 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
As Symfony depends on Twig 1.11+, removing the usage of deprecated features will allow Symfony 2.2+ to work with Twig 2.0.
Commits
-------
322f880 replaced deprecated Twig features
This PR was merged into the 2.3 branch.
Discussion
----------
[Intl] Updated stubs to reflect ICU 51.2
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
In addition to the upgrade of the ICU component to ICU 51.2, this PR upgrades the stub classes to behave like their C counterparts do with ICU 51.2.
Commits
-------
8fa0453 [Intl] Updated stubs to reflect ICU 51.2
This PR was merged into the master branch.
Discussion
----------
adds ability to define an idle timeout
This adds the ability to define an idle timeout which in contrast to the current timeout considers only the time since the last output was produced by a process.
It also adds a special exception for timeout cases.
Commits
-------
b922ba2 adds ability to define an idle timeout
* 2.3:
[HttpKernel] Added a missing use statement.
[Process] Increased the timeout in a test to prevent random failures when travis is under a heavy load.