This PR was merged into the 2.2 branch.
Discussion
----------
[DoctrineBridge] Loosened CollectionToArrayTransformer::transform() to accept arrays
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Previously, writing an association getter like this was impossible:
```php
public function addTag(Tag $tag) { ... }
public function removeTag(Tag $tag) { ... }
public function getTags()
{
return $this->tags->toArray();
}
```
Using `toArray()` is a useful way to restrict modifications of the collection to the specified methods. But previously, CollectionToArrayTransformer failed in this case, because it did not accept arrays as input.
Commits
-------
55001ab [DoctrineBridge] Loosened CollectionToArrayTransformer::transform() to accept arrays
This PR was merged into the 2.2 branch.
Discussion
----------
Dead code v2.2
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
Commits
-------
0946be6 Removed unused use statements.
This PR was submitted for the master branch but it was merged into the 2.2 branch instead (closes#9283).
Discussion
----------
[Security] Added japanese translation resource for security component.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
4176cf1 Added japanese translation resource for security component.
This PR was merged into the 2.2 branch.
Discussion
----------
[Yaml] Fixed the escaping of strings starting with a dash when dumping
Dashes need to be escaped in character sets in regexes as they are used to specify a range otherwise.
It fixes the dumper bug reported in #9039 (the parsing issue is not fix here)
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | partially #9039
| License | MIT
| Doc PR | n/a
Commits
-------
af369ae [Yaml] Fixed the escaping of strings starting with a dash when dumping
This PR was submitted for the master branch but it was merged into the 2.2 branch instead (closes#9270).
Discussion
----------
[Templating] Fix in ChainLoader.php
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
The LoaderInterface requires the _time_ parameter to be passed.
Commits
-------
2631eb3 [Templating] Fix in ChainLoader.php
This PR was submitted for the master branch but it was merged into the 2.2 branch instead (closes#9246).
Discussion
----------
[Session] fixed wrong started state
Currently the session stays in the started mode after the call of ```save()``` which will close the session. We found the issue in our custom SAPI which keeps the symfony stack initialized over multiple requests.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
d641cd6 [Session] fixed wrong started states
This PR was submitted for the master branch but it was merged into the 2.2 branch instead (closes#9237).
Discussion
----------
[FrameworkBundle] assets:install command should mirror .dotfiles (.htaccess)
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
The `assets:install` command currently ignores all *.dotfiles* when mirroring the `Resources\public` folders of bundles. This can lead to issues when *.htaccess* files are required for some public assets (ie.: CORS headers for font files to be served via Cloudfront).
Since the assets being installed are clearly in a folder called `public`, we can safely assume that those files are in fact supposed to be accessible and copy them over with the normal files.
Commits
-------
9c884a0 [FrameworkBundle] assets:install command should mirror .dotfiles (.htaccess)
This PR was submitted for the master branch but it was merged into the 2.2 branch instead (closes#9223).
Discussion
----------
[Translator] PoFileDumper - PO headers
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6765 - partially
| License | MIT
| Doc PR |
Po files should not be dumped without a header. It causes a lot of problems, including charset issues.
See #6765 / 1 for more info
Commits
-------
e93bc50 [Translator] PoFileDumper - PO headers
This PR was merged into the 2.2 branch.
Discussion
----------
[Process][2.2] Fix 9182 : random failure on pipes tests
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #9182
| License | MIT
I'm not a big fan of this fix, but - at least - it works.
With this code, finally, Process does not behave the same at all on Windows and Linux.
This patch does not smells very good but it solves the random failing test issue (that produced at runtime too).
Actually, calling `proc_get_status` within the waiting loop introduced the bug.
So this PR reverts to the previous behavior (consider a process running as long as pipes give data). On Windows, this is not the same behavior as we're not using streams but file handles. Whereas the feof of a stream is detected when the other side closes, the feof of a file handle can be reached at any time. So, on Windows, `proc_get_status` is called (checking the feof of the file handle might be positive until the executable outputs something), and we consider a process running as long as the information returned says it's running.
We could think of decouple windows and linux logic in two separated objects, using the interfaces I introduced in #8753. This could bring much more readability and make the code more easy to understand.
Commits
-------
64a0b40 [Process] Fix#9182 : random failure on pipes tests
This PR was merged into the 2.2 branch.
Discussion
----------
[Bridge] [Propel1] Fixed guessed relations
<table>
<tr><th>Q</th><th>A</th></tr>
<tr><td>Bug fix</td><td>yes</td></tr>
<tr><td>Feature addition</td><td>no</td></tr>
<tr><td>Backwards compatibility break</td><td>no</td></tr>
<tr><td>Symfony2 tests pass</td><td>yes</td></tr>
<tr><td>Fixes the following tickets</td><td>N/A</td></tr>
<tr><td>Todo</td><td>N/A</td></tr>
<tr><td>License of the code</td><td>MIT</td></tr>
<tr><td>Documentation PR</td><td>N/A</td></tr>
</table>
The `PropelTypeGuesser` did not match OneToMany relations properly. For example if you have a `Author` class with `Comments` attributes the guesser would guess "Comment" instead of "Comments".
I added some tests to ensure the non regression.
Commits
-------
0b1e95f Fixed propel guessed relations
This PR was merged into the 2.2 branch.
Discussion
----------
[FramworkBundle] Check event listener services are not abstract
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
6744ead [FramworkBundle][HttpKernel] Check event listener services are not abstract
This PR was submitted for the master branch but it was merged into the 2.2 branch instead (closes#9207).
Discussion
----------
[HttpKernel] Check for lock existence before unlinking
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
My logs are filled with a bazillion errors stating "Warning: unlink(/var/www/mysite/app/cache/prod/http_cache/md/cf/47/c693da5dab3eccb65fa36a9b4b07ad0f7cc4.lck): No such file or directory in /var/www/mysite/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpCache/Store.php line 53"
Commits
-------
89cd3b9 Check for lock existence before unlinking
My logs are filled with a bazillion errors stating "Warning: unlink(/var/www/mysite/app/cache/prod/http_cache/md/cf/47/c693da5dab3eccb65fa36a9b4b07ad0f7cc4.lck): No such file or directory in /var/www/mysite/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpCache/Store.php line 53"
This PR was merged into the 2.2 branch.
Discussion
----------
Fixed cache warmup of paths which contain back-slashes
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8781
| License | MIT
| Doc PR | n/a
From #8781
"
At this step in the warmup process there is a string replacement made, but paths with backslashes
are written into the cache file as something like `C:\\path\\to\\cache/pro_/...` but the str_replace
searches for the plain string `C:\path\to\cache/pro_/...`, which produces no matches.
The fix solves this by using var_export to escape the search (and replace) paths so they match the
format originally output into the cache file.
"
Commits
-------
526d285 [FrameworkBundle] fixed path replacement on Windows
This PR was merged into the 2.2 branch.
Discussion
----------
[2.2][Form] remove MinCount and MaxCount constraints in ValidatorTypeGuesser
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | no
| License | MIT
| Doc PR |
MinCount and MaxCount has been removed and replaced by Count (in 2.2 also).
Commits
-------
58a3296 remove MinCount and MaxCount contraints. It has been replaced by Count constraints.
This PR was submitted for the master branch but it was merged into the 2.2 branch instead (closes#9190).
Discussion
----------
Fix: duplicate usage of Symfony\Component\HttpFoundation\Response
Duplicate usage of Symfony\Component\HttpFoundation\Response causes an error:
> PHP Fatal error: Cannot use Symfony\Component\HttpFoundation\Response as Response because the name is already in use in src/Symfony/Component/Security/Http/Authorization/AccessDeniedHandlerInterface.php on line 17
Commits
-------
e602c09 Fix: duplicate usage of Symfony\Component\HttpFoundation\Response
This PR was merged into the 2.2 branch.
Discussion
----------
[2.2][Form] add support for Length and Range constraint in ValidatorTypeGuesser
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #9132
| License | MIT
| Doc PR |
MaxLength, MinLength, Min and Max constraints are deprecated on 2.2. Will be removed in 2.3.
Add support for type guessing of Length and Range constraints.
fix#9132 on 2.2 branch
Commits
-------
89a0404 [Form] add support for Length and Range constraint in order to replace MaxLength, MinLength, Max and Min constraints in next release (2.3)
This PR was merged into the 2.2 branch.
Discussion
----------
[Form] enforce correct timezone
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | not sure if this is a BC break...
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
I'm using the Form component to handle JSON requests which come from AJAX requests. The JSON is formed by the Angular toJson method
A typical request would be:
```
{
name: "Some name"
start: "2013-08-21T05:00:00.000Z"
end: "2013-08-21T15:00:00.000Z"
}
```
Note that in this case, what I entered in my input boxes are 7:00 for start and 17:00 for end times. As you can see, Angular (or Chrome, I'm not sure), converts this to the "Z" timezone. Since I cannot enforce the correct timezone client side, the timezone will differ from the one configured in the DateTimeType, however, instead of resulting in either an error or a conversion to the correct timezone, I get a datetime object in the wrong timezone, eventually resulting in wrong values in the database.
By checking the required output timezone against the actual timezone of the input datetime object, rather than the expected timezone supplied, this problem is solved.
Commits
-------
b0349a1 [Form] check the required output timezone against the actual timezone of the input datetime object, rather than the expected timezone supplied
This PR was merged into the 2.2 branch.
Discussion
----------
Fixed client insulation when using the terminable event
| 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
Commits
-------
8c8cf62 fixed Client when using the terminable event
This PR was submitted for the master branch but it was merged into the 2.2 branch instead (closes#9154).
Discussion
----------
Fix problem with Windows file links (backslash in JavaScript string)
This PR was submitted on the symfony/WebProfilerBundle read-only repository and moved automatically to the main Symfony repository (closessymfony/WebProfilerBundle#5).
When you have set php.ini setting xdebug.file_link_format, under Windows this window.location call here isn't escaped properly, so it results in something like:
```HTML
<span class="sf-toolbar-info-method" onclick="window.location='pstorm://open/?url=file://F:\HtDocs\myproject\src\Foo\Core\Controller\PageController.php&line=28';window.event.stopPropagation();return false;">
pageAction
</span>
```
All backslashes in window.location are treated as escape sequences witch result in an incorrect link:
pstorm://open/?url=file://F:HtDocsmyprojectsrcFooCoreControllerPageController.php&line=28
So clicking this link my IDE (phpStorm) couldn't find that file.
The patch fixes this by escaping the backslashes.
Commits
-------
03c6027 Fix problem with Windows file links (backslash in JavaScript string)
This PR was merged into the 2.2 branch.
Discussion
----------
[HttpFoundation] Header `HTTP_X_FORWARDED_PROTO` can contain various values
Header `HTTP_X_FORWARDED_PROTO` can contain various values. Some proxies use `ssl` instead of `https`, as well as Lighttpd mod_proxy allows value chaining (`https, http`, where `https` is always first when request is encrypted).
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Tests pass? | yes
| Fixed tickets | #9101
| License | MIT
Commits
-------
d997443 [HttpFoundation] Header `HTTP_X_FORWARDED_PROTO` can contain various values Some proxies use `ssl` instead of `https`, as well as Lighttpd mod_proxy allows value chaining (`https, http`, where `https` is always first when request is encrypted).