This PR was merged into the 2.7 branch.
Discussion
----------
[Serializer] Replace BadMethodCallException by MappingException
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no (`AnnotationLoader` will be introduced in 2.7)
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
Commits
-------
469b8e7 [Serializer] Replace BadMethodCallException by UnexpectedValueException
This PR was merged into the 2.6 branch.
Discussion
----------
[TwigBridge] Bootstrap Layout - Fix the label of checkbox cannot be empty
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #13803
| License | MIT
Commits
-------
9689639 [TwigBridge] Bootstrap Layout - Fix the label of checkbox cannot be empty
This PR was squashed before being merged into the 2.6 branch (closes#13835).
Discussion
----------
[PropertyAccess] stop overwriting once a reference is reached (3rd)
I commited with a different email address in [PR 13831](https://github.com/symfony/symfony/pull/13831), so here is the third attempt. Also removed unnecessary test as suggested by @Tobion
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | [13731](https://github.com/symfony/symfony/issues/13731)
| License | MIT
| Doc PR | none
I added test cases for the scenario described in my issue. After looking through the PropertyAccessor source my conclusion was that there is no reason to overwrite parents of references, so I changed that. None of the previous test cases disagreed and my new tests also passed.
Or maybe I got it all wrong, I'm willing to learn.
Commits
-------
d733a88 [PropertyAccess] stop overwriting once a reference is reached (3rd)
This PR was squashed before being merged into the 2.7 branch (closes#13818).
Discussion
----------
[Serializer] Test that normalizers ignore non-existing attributes.
| 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
Test the behavior of normalizers when an attribute doesn't exist.
Commits
-------
df0fe30 [Serializer] Test that normalizers ignore non-existing attributes.
This PR was merged into the 2.7 branch.
Discussion
----------
[Serializer] Optimize GetSetMethodNormalizer and PropertyNormalizer
| 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
-------
c41346b [Serializer] Optimize GetSetMethodNormalizer and PropertyNormalizer
* 2.3:
[Form] NativeRequestHandler file handling fix
[HttpKernel] Throw double-bounce exceptions
minor #13377 [Console] Change greater by greater or equal for isFresh in FileResource
[2.3] [HttpFoundation] fixed param order for Nginx's x-accel-redirect
This PR was merged into the 2.3 branch.
Discussion
----------
minor #13377 [Console] Change greater by greater or equal for isFresh in FileResource
| Q | A
| ------------- | ---
| Fixed tickets | #13377
| License | MIT
FileResource and tests update
Commits
-------
87800ae minor #13377 [Console] Change greater by greater or equal for isFresh in FileResource
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3] [HttpFoundation] fixed param order for Nginx's x-accel-mapping
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | kinda
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #13502
| License | MIT
| Doc PR | n/a
Inverted path and location directives for x-accel-mapping header (fixes#13502).
Before:
```proxy_set_header X-Accel-Mapping /internal/=/var/www/example.com/```
After:
```proxy_set_header X-Accel-Mapping /var/www/example.com/=/internal/```
It could be a BC break since the response will fail if someone sends this header
honoring the previous signature, thus I need some feedback in order to choose the right branch for this change.
Commits
-------
9f9f230 [2.3] [HttpFoundation] fixed param order for Nginx's x-accel-redirect
This PR was squashed before being merged into the 2.3 branch (closes#13769).
Discussion
----------
[Form] NativeRequestHandler file handling fix
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #13746
| License | MIT
| Doc PR | n/a
`NativeRequestHandler` reused the local variable for the form name `$name` as a loop variable for processing the `$_FILES` array. A separate variable is now used.
Two new test cases are included:
- Handling a request with multiple files
- Handling a request with file upload and a nameless form
Both tests fail without the fix. The test cases could probably be better though.
Commits
-------
9b3421f [Form] NativeRequestHandler file handling fix
This PR was merged into the 2.7 branch.
Discussion
----------
Fixed absolute_url for absolute paths
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | https://github.com/symfony/symfony/issues/13724
| License | MIT
The issue is that `asset()` and `absolute_url()` cannot be composed because `asset()` already returns an absolute path (using the `PathPackage`) and `absolute_url()` still prepends the base path. So the resulting url contains the base path twice.
So this PR removes appending the base path to absolute paths (starting with `/`) passed to `absolute_url()`.
Commits
-------
08aa7bc Fixed absolute_url for absolute paths
* 2.7:
Minor hot fix
[PROCESS] make sure /dev/tty is readable
[PhpUnitBridge] Allow PHP 5.3.3 to use with Symfony 2.3
[2.3] require-dev PHPUnit bridge
[FrameworkBundle] Fixed Shell logo
[2.3] Update CONTRIBUTING.md
[2.3][Process] Fixed PhpProcess::getCommandLine() result
[Debug] Deprecations exception for Symfony internals
[Console] explicit assertion for ArgvInput::getFirstArgument() with no arguments
[PropertyAccess] unify and fix doc
Enforce UTF-8 charset for core controllers
Fix the toolbar JS for IE
Conflicts:
.travis.yml
src/Symfony/Bridge/PhpUnit/composer.json
This PR was merged into the 2.3 branch.
Discussion
----------
Enforce UTF-8 charset for core controllers
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7532
| License | MIT
| Doc PR | -
See https://github.com/symfony/symfony/issues/7617 and https://github.com/symfony/symfony/pull/7532 for the context of this PR.
Commits
-------
3032014 Enforce UTF-8 charset for core controllers
This PR was squashed before being merged into the 2.3 branch (closes#13733).
Discussion
----------
[2.3][Process] Fixed PhpProcess::getCommandLine() result
The `PhpProcess::getCommandLine()` return `null` if `PhpProcess::start()` was not called.
```php
$process = new PhpProcess(<<<PHP
<?php echo "foobar";
PHP
);
$process->getCommandLine(); // return null
$process->start();
$process->getCommandLine(); // return the PHP binary path
```
This PR fix the problem.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | -
Commits
-------
d0f1d32 [2.3][Process] Fixed PhpProcess::getCommandLine() result
This PR was merged into the 2.6 branch.
Discussion
----------
Fix the toolbar JS for IE
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | n/a
- fix the binding of listeners on XMLHttpRequest to always use the addEventListener method. It does not make sense to change it to attachEvent as it is about binding listeners on DOM elements.
- fix the feature detection for the event binding on DOM elements:
- the attachEvent and addEventListener methods are on DOM elements, not on the document object
- the standard method should be preferred in IE versions supporting both methods
- avoid JS errors when XMLHttpRequest is not defined by avoiding to override its open method when the object is not there (old IE versions will still not intercept ajax calls though)
this is the complete fix for the code submitted in #13636 (the fix in https://github.com/symfony/symfony/pull/13684 was incomplete).
Commits
-------
b7aa171 Fix the toolbar JS for IE
This PR was merged into the 2.6 branch.
Discussion
----------
[PropertyAccess] unify and fix doc
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | -
Commits
-------
d1c8c5d [PropertyAccess] unify and fix doc
* 2.7:
[PhpUnitBridge] Tweak and fix deprecation notices
[FrameworkBundle] move Routing dep up to make tests pass
Conflicts:
.travis.yml
src/Symfony/Bridge/Twig/composer.json
src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/LegacyTemplatingAssetHelperPassTest.php
src/Symfony/Bundle/FrameworkBundle/composer.json
src/Symfony/Bundle/TwigBundle/Tests/Extension/LegacyAssetsExtensionTest.php
src/Symfony/Component/Debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php
This PR was merged into the 2.7 branch.
Discussion
----------
[PhpUnit] new PhpUnit bridge
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #13644
| License | MIT
| Doc PR | -
From the proposed README:
PHPUnit Bridge
==============
Provides utilities for PHPUnit, especially user deprecation notices management.
It comes with the following features:
* disable the garbage collector;
* auto-register `class_exists` to load Doctrine annotations;
* print a user deprecation notices summary at the end of the test suite.
Handling user deprecation notices is sensitive to the SYMFONY_DEPRECATIONS_HELPER
environment variable. This env var configures 3 behaviors depending on its value:
* when set to `strict`, all but legacy-tagged deprecation notices will make tests
fail. This is the recommended mode for best forward compatibility.
* `weak` on the contrary will make tests ignore all deprecation notices.
This is the recommended mode for legacy projects that must use deprecated
interfaces for backward compatibility reasons.
* any other value will respect the current error reporting level.
All three modes will display a summary of deprecation notices at the end of the
test suite, split in two groups:
* **Legacy** deprecation notices denote tests that explicitly test some legacy
interfaces. In all 3 modes, deprecation notices triggered in a legacy-tagged
test do never make a test fail. There are four ways to mark a test as legacy:
- make its class start with the `Legacy` prefix;
- make its method start with `testLegacy`;
- make its data provider start with `provideLegacy` or `getLegacy`;
- add the `@group legacy` annotation to its class or method.
* **Remaining/Other** deprecation notices are all other (non-legacy)
notices, grouped by message, test class and method.
Usage
-----
Add this bridge to the `require-dev` section of your composer.json file
(not in `require`) with e.g.
`composer require --dev "symfony/phpunit-bridge"`.
When running `phpunit`, you will see a summary of deprecation notices at the end
of the test suite.
Deprecation notices in the **Remaining/Other** section need some thought.
You have to decide either to:
* update your code to not use deprecated interfaces anymore, thus gaining better
forward compatibility;
* or move them to the **Legacy** section (by using one of the above way).
After reviewing them, you should silence deprecations in the **Legacy** section
if you think they are triggered by tests dedicated to testing deprecated
interfaces. To do so, add the following line at the beginning of your legacy
test case or in the `setUp()` method of your legacy test class:
`$this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);`
Last but not least, you should then configure your C.I. to the reporting mode
that is appropriated to your project by setting SYMFONY_DEPRECATIONS_HELPER to
`strict`, `weak` or empty. It is recommended to start with `weak` mode, upgrade
your code as described above, then when the *Remaining/Other* sections are empty,
move to `strict` to keep forward compatibility on the long run.
Commits
-------
acac734 [PhpUnitBridge] new bridge for testing with PHPUnit
- fix the binding of listeners on XMLHttpRequest to always use the
addEventListener method. It does not make sense to change it to
attachEvent as it is about binding listeners on DOM elements.
- fix the feature detection for the event binding on DOM elements:
- the attachEvent and addEventListener methods are on DOM elements,
not on the document object
- the standard method should be preferred in IE versions supporting
both methods
- avoid JS errors when XMLHttpRequest is not defined by avoiding to
override its open method when the object is not there (old IE versions
will still not intercept ajax calls though)