This PR was squashed before being merged into the 2.6-dev branch (closes#11769).
Discussion
----------
[HttpKernel] Change exception message in case no controller found
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11754
| License | MIT
| Doc PR | n/a
Change the NotFoundHttpException message.
Commits
-------
b0a839c [HttpKernel] Change exception message in case no controller found
This PR was squashed before being merged into the 2.6-dev branch (closes#11762).
Discussion
----------
[DependencyInjection] Enhance tests for class Container
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | no
| Fixed tickets | -
| License | MIT
| Doc PR | -
Added missing tests/assertions:
- Assertions that ->compile() resolves parameter bag.
- Asserton that ->getServiceIds() shows ids defined by set() after ids defined by get*Service() methods.
- Test that ->set() automatically calls synchronize*Service if defined. Updated associated fixtures in the ProjectServiceContainer class definition.
- Assertion that ->get() is case insensitive.
- Assertion that leaving an inner scope with active child scope, to an outer scope, deactivates/resets the child scope(s).
- Test that entering a child scope recursively resets the inner scope.
- Test that a scope can not be entered before it's added first.
- Test that a scope can not be entered before adding and entering the parent scope first (for non container scopes).
- Test for underscore().
Other changes:
- Added missing messages in some assertions.
- Moved testGetThrowsException*() methods close to testGet*() tests.
- Renamed variable(s) '$services' (referencing the $sc->scopedServices field) to $scoped, so as not to confuse it with the global scope map.
- Minor refactoring in class Container for code consistency and reducing redundancy.
Commits
-------
6211205 [DependencyInjection] Enhance tests for class Container
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Config][Exception] Improve Routing Syntax Import Error
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11300
| License | MIT
| Doc PR | n/a
Commits
-------
fec9a4a removed some more spaces
16134d9 Merge remote-tracking branch 'upstream/master'
b099936 - Removed spaces around the concation dots to be more consitent - adjusted some formatting
0459d89 Addition of the symfony license text
de43182 Add test and small code fix
8ac5275 ISSUE #11300: Improve Routing Syntax Import Error
This PR was squashed before being merged into the 2.6-dev branch (closes#11777).
Discussion
----------
[HttpFoundation] added class constants in Request for HTTP request methods
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
| Doc PR | none
Also added constants for methods OPTIONS, TRACE and CONNECT according to [rfc2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html).
Commits
-------
635e880 [HttpFoundation] added class constants in Request for HTTP request methods
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Console] ProgressBar developer experience
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #11184
| License | MIT
| Doc PR | WIP
## TODO
- [x] Create `getProgress/setProgress` methods to replace `getStep/setCurrent`
- [x] `ProgressBar::setCurrent` should auto-start the ProgressBar.
- [x] You should be able to pass `max` to `start`
- [x] `barCharOriginal` not needed. Logic can simply be part of `getBarChar`
- [x] `getStepWidth` is internal information that should not be public
- [x] when verbosity set to quiet, the progress bar does not even need to execute all the logic to generate output that is then thrown away
- [x] Allow to advance past max.
- [x] negative max needs to be validated
- [x] `getProgressPercent` should return float instead of int.
Commits
-------
42b95df [Console][ProgressBar] Developer experience: - Removed barCharOriginal - getProgressPercent should return float instead of int. - Minor refactoring
3011685 [Console][ProgressBar] Allow to advance past max.
73ca340 [Console][ProgressBar] Developer experience - Create getProgress/setProgress methods to replace getStep/setCurrent - ProgressBar::setCurrent should auto-start the ProgressBar. - You should be able to pass max to start - getStepWidth is internal information that should not be public - when verbosity set to quiet, the progress bar does not even need to execute all the logic to generate output that is then thrown away
This PR was submitted for the 2.5 branch but it was merged into the 2.6-dev branch instead (closes#11254).
Discussion
----------
[FrameworkBundle] Enabled translation:update for app folder
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Changed the Bundle requirement to allow the command to also be executed for the app/Resources
folder of the application, which currently cannot be achieved.
This patch should also work for previous versions.
Commits
-------
3e890a3 [FrameworkBundle] Enabled translation:update for app folder
Changed the Bundle requirement to allow the command to also be executed for the app/Resources
folder of the application, which currently cannot be achieved.
This PR was merged into the 2.6-dev branch.
Discussion
----------
Improve the exception message of UrlMatcher
The current exception message is not optimal, some more context always helps.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Commits
-------
ee1197d Improve the exception message in the UrlMatcher.
* 2.5:
[DependencyInjection] fix @return anno created by PhpDumper
Fixed the phpdoc of the VoterInterface
[DoctrineBridge] Fix empty parameter logging in the dbal logger
[Validator] remove duplicate interface implementations
[Validator] fix return doc of ClassMetadata::getCascadingStrategy
Fixed#11675 ValueToDuplicatesTransformer accept "0" value
check for the correct field type
fix handling of nullable XML attributes
[DomCrawler] fix the axes handling in a bc way
* 2.4:
[DependencyInjection] fix @return anno created by PhpDumper
Fixed the phpdoc of the VoterInterface
[DoctrineBridge] Fix empty parameter logging in the dbal logger
Fixed#11675 ValueToDuplicatesTransformer accept "0" value
check for the correct field type
fix handling of nullable XML attributes
[DomCrawler] fix the axes handling in a bc way
Conflicts:
src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php
src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php
* 2.3:
[DependencyInjection] fix @return anno created by PhpDumper
Fixed the phpdoc of the VoterInterface
[DoctrineBridge] Fix empty parameter logging in the dbal logger
Fixed#11675 ValueToDuplicatesTransformer accept "0" value
check for the correct field type
fix handling of nullable XML attributes
[DomCrawler] fix the axes handling in a bc way
Conflicts:
src/Symfony/Component/DomCrawler/Tests/CrawlerTest.php
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes#11756).
Discussion
----------
[DependencyInjection] fix @return anno created by PhpDumper
| Q | A
| ------------- | ---
| Fixed tickets | ---
| License | MIT
If a generated container is inside namespace, generated @return annos are not valid.
Commits
-------
39c4cc3 [DependencyInjection] fix @return anno created by PhpDumper
This PR was merged into the 2.3 branch.
Discussion
----------
Fixed the phpdoc of the VoterInterface
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | n/a
``null`` is an accepted value for voters (it is passed when you are not voting on a specific object, for instance for roles.
Commits
-------
b591404 Fixed the phpdoc of the VoterInterface
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Validator] Added date support to comparison constraints and Range
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #3640, #7766, #9164, #9390, #8300
| License | MIT
| Doc PR | symfony/symfony-docs#4143
This commit adds frequently requested functionality to compare dates. Since the `DateTime` constructor is very flexible, you can do many fancy things now such as:
```php
/**
* Only accept requests that start in at least an hour.
* @Assert\GreaterThanOrEqual("+1 hours")
*/
private $date;
/**
* Same as before.
* @Assert\Range(min = "+1 hours")
*/
private $date;
/**
* Only accept dates in the current year.
* @Assert\Range(min = "first day of January", max = "first day of January next year")
*/
private $date;
/**
* Timezones are supported.
* @Assert\Range(min = "first day of January UTC", max = "first day of January next year UTC")
*/
private $date;
```
Commits
-------
60a5863 [Validator] Added date support to comparison constraints and Range
This PR was squashed before being merged into the 2.3 branch (closes#11711).
Discussion
----------
[DoctrineBridge] Fix empty parameter logging in the dbal logger
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11710
| License | MIT
| Doc PR | -
Commits
-------
ef23f02 [DoctrineBridge] Fix empty parameter logging in the dbal logger
This PR was merged into the 2.3 branch.
Discussion
----------
[DomCrawler] check for the correct field type
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11689
| License | MIT
| Doc PR |
HTML allow to define different form fields with the same name. Imagine the following form:
```html
<html>
<body>
<form action="/">
<input type="hidden" name="option" value="default">
<input type="radio" name="option" value="A">
<input type="radio" name="option" value="B">
<input type="hidden" name="settings[1]" value="0">
<input type="checkbox" name="settings[1]" value="1" id="setting-1">
<button>klickme</button>
</form>
</body>
</html>
```
Since the `FormFieldRegistry` can only handle one field per name, the hidden field option is registered first before the radio field with the same name is evaluated. Thus, the `FormFieldRegistry` returns an `InputFormField` instance on which the `addChoices()` method can not be called.
Commits
-------
169b397 check for the correct field type
This PR was merged into the 2.3 branch.
Discussion
----------
[Routing] fix handling of nullable XML attributes
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
As @Tobion pointed out in #11394, ``true`` and ``1`` are valid values in boolean XML attributes. The XmlFileLoader didn't handle ``1`` values properly.
Commits
-------
7b4d4b6 fix handling of nullable XML attributes
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Validator] Added ConstraintViolation::getConstraint()
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #5050
| License | MIT
| Doc PR | -
This PR adds a `getConstraint()` method to the `ConstraintViolation` in order to access the constraint causing the violation.
Related to #7276, #7273 and #9691.
Commits
-------
ce1d209 [Validator] Added ConstraintViolation::getConstraint()
This PR was merged into the 2.3 branch.
Discussion
----------
[DomCrawler] fix the axes handling in a bc way
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11503
| License | MIT
| Doc PR |
The previous fix in #11548 for handling XPath axes was not backward compatible. In previous Symfony versions the Crawler handled nodes by holding a "fake root node". This must be taken into account when evaluating (relativizing) XPath expressions.
Commits
-------
d26040f [DomCrawler] fix the axes handling in a bc way
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes#11676).
Discussion
----------
[Form] Fixed#11675 ValueToDuplicatesTransformer accept "0" value
| Q | A
| ------------- | ---
| Bug fix? | [yes]
| New feature? | [no]
| BC breaks? | [no]
| Deprecations? | [no]
| Tests pass? | [yes]
| Fixed tickets | #11675
| License | MIT
Commits
-------
31d48abFixed#11675 ValueToDuplicatesTransformer accept "0" value
* 2.5:
[Validator] Fixed missing use statements
[Validators] Fixed failing tests requiring ICU 52.1 which are skipped otherwise
[FrameworkBundle] Fixed validator factory definition when the Validator API is "auto" for PHP < 5.3.9
return empty metadata collection if none do exist
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes#11695).
Discussion
----------
[Validators] Fixed failing tests requiring ICU 52.1 which are skipped otherwise
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
I just ran the tests with ICU 52.1 installed and noticed that a few of them failed. This PR fixes these tests.
Commits
-------
5440ed5 [Validators] Fixed failing tests requiring ICU 52.1 which are skipped otherwise
This PR was merged into the 2.3 branch.
Discussion
----------
[Validator] return empty metadata collection if none do exist
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | [The reference to the documentation PR if any]
Backport of #11614 for Symfony 2.3 and 2.4.
Commits
-------
f5bc18d return empty metadata collection if none do exist
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Validator] Fixed Constraint class to not destroy custom groups upon serialization
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11638
| License | MIT
| Doc PR | -
Commits
-------
d405f43 [Validator] Fixed Constraint class to not destroy custom groups upon serialization
HTML allow to define different form fields with the same name.
Imagine the following form:
<html>
<body>
<form action="/">
<input type="hidden" name="option" value="default">
<input type="radio" name="option" value="A">
<input type="radio" name="option" value="B">
<input type="hidden" name="settings[1]" value="0">
<input type="checkbox" name="settings[1]" value="1" id="setting-1">
<button>klickme</button>
</form>
</body>
</html>
Since the `FormFieldRegistry` can only handle one field per name, the
hidden field option is registered first before the radio field with
the same name is evaluated. Thus, the `FormFieldRegistry` returns an
`InputFormField` instance on which the `addChoices()` method can not
be called.