This PR was merged into the master branch.
Discussion
----------
[Security] Added a check for strategies in AccessDecisionManager
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8646
| License | MIT
Commits
-------
ee36380 [Security] Added a check for strategies in AccessDecisionManager
This PR was merged into the 2.2 branch.
Discussion
----------
[TwigBridge] Prevent code extension to display warning
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
During functional testing with phpunit and browserkit (and all their friends) when the application returns a `4XX` or a `5XX` response, symfony displays the trace with code context.
During a training, few people experienced a very weird issue with php 5.4, symfony 2.3.2, phpunit 3.7, Windows 7 or 8 and SensioLabsDesktop 0.5.
When they run functional tests, and the application returns a `404`, in the "console" there was lot of warnings. It was something like that `Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /XXXXX on line 9` With the `@`, no more warnings.
I can't reproduce this issue on my computer (not windows). If needed, I can try to reproduce this bug on Monday at work.
Commits
-------
e8e76ec [TwigBridge] Prevent code extension to display warning
This PR was merged into the master branch.
Discussion
----------
[Process] Process tweaks
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Commits
-------
f759f87 [Process] Make Process::start method chainable
ca47f3b [Process] Fix Process::checkTimeout docblock
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes#7893).
Discussion
----------
[HttpKernel] Fix internal sub-request creation
| 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
Fixes the creation of internal sub-request in case of disabled trusted
client-ip header.
Commits
-------
85d5413 [HttpKernel] Fix internal sub-request creation
This PR was merged into the master branch.
Discussion
----------
Add the referer information that could help you findout where's the link comes from
| 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
#8218 rebased on master and slightly tweaked.
Commits
-------
8eb163d [HttpKernel] tweaked previous commit
bb5954e Add the referer information that could help you findout where's the link comes from.
This PR was merged into the master branch.
Discussion
----------
extract clone duplication logic in exceptionlistener
Drupal needs potentially to adapt the exception listener to add more information from the original request. (see http://drupal.org/node/2057607) so what about extracing some of the logic into a new method.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
Commits
-------
6af2801 extract method
This PR was squashed before being merged into the master branch (closes#8639).
Discussion
----------
[DoctrineBridge] [ORM] Use custom cache namespace option if it is specified
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
This allows an option `namespace` to be used instead of having Symfony generate the hash. If the option is not set, the original behaviour will occur.
While this code will execute on the current version, this change depends on https://github.com/doctrine/DoctrineBundle/pull/198 to fully work.
Commits
-------
e6687d9 [DoctrineBridge] [ORM] Use custom cache namespace option if it is specified
This PR was squashed before being merged into the 2.3 branch (closes#8349).
Discussion
----------
[Form] Moved auto_initialize option to the BaseType
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8162
| License | MIT
| Doc PR | -
I'm not fully confident in this change, so let someone review it before mergin please. My thinking was - since "auto_initialized" option is always passed to a form factory, it should be required by the base type.
Commits
-------
6ed0fdf [Form] Moved auto_initialize option to the BaseType
This PR was squashed before being merged into the master branch (closes#8587).
Discussion
----------
[Filesystem] fixed exception message when not a able to write to a directory
| 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
This simply fixes an exception message in the Filesystem Component when a directory is not writable while dumping a file via `dumpFile()`.
Commits
-------
8b32a4b [Filesystem] fixed exception message when not a able to write to a directory
This PR was submitted for the master branch but it was merged into the 2.2 branch instead (closes#8081).
Discussion
----------
Use strstr instead of strpos in ClassLoader (4% perf improvement)
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | [
| License | MIT
| Doc PR |
Using ClassLoader in Drupal 8, using strstr instead of strpos nets 4% perf improvement.
XHPROF diff https://dl.dropboxusercontent.com/u/10201421/diff.html
Commits
-------
25d7b90 [ClassLoader] Use strstr instead of strpos
This PR was submitted for the 2.3 branch but it was merged into the master branch instead (closes#8179).
Discussion
----------
[2.3][Process] Add possibility to use array prefixes
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | no
| License | MIT
| Doc PR | no
This can be useful to use `'/opt/custom-php/bin/php' 'composer.phar'` as a prefix, it is not possible with the current implementation.
I submit the patch on 2.3 as `ProcessBuilder::setPrefix` method has been added for release 2.3. If it's too late for such modification, let me know, I'll open the PR against master.
Commits
-------
ab4812f [Process] Add possibility to use array prefixes
This PR was submitted for the 2.3 branch but it was merged into the master branch instead (closes#8201).
Discussion
----------
Cast optimization
bc break: no
test pass: yes
I searched for some unneeded casts esp. for `$array[(string) $stringOrInteger]`. But found only a few. When doing so I mainly fixed some phpdocs.
Commits
-------
2c41a31 [Serializer] fix phpdoc and add typehints to private methods
ebe7015 optimize some unneeded casts (esp. when casting something to string for array access)
This PR was squashed before being merged into the master branch (closes#8640).
Discussion
----------
[Console] Added more semantic commands to detect verbosity
| 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
-------
0fa3a74 [Console] Added more semantic commands to detect verbosity
This PR was squashed before being merged into the master branch (closes#8603).
Discussion
----------
[Console] Added a way to set terminal dimensions
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8595
| License | MIT
| Doc PR | n/
Commits
-------
ce32981 [Console] Added a way to set terminal dimensions
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