This PR was submitted for the master branch but it was merged into the 3.0 branch instead (closes#17508).
Discussion
----------
Fix repeated "has been" in two sentences of UPGRADE-3.0 file
| 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
In file UPGRADE-3.0 `has been` is repeated in two sentences.
Commits
-------
d83c92c Fix repeated has been in two sentences
This PR was merged into the 2.7 branch.
Discussion
----------
[2.7][Asset] Ability to set empty version strategy in packages
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no, but not sure, as for me test was wrong
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #14832
| License | MIT
| Doc PR |
Comment about '' thing. As you can see in xml test - we can't for attribute set null value. And for xml version '' empty string considered as null value, that affect all others formats and test is changed.
Commits
-------
646fc9c Ability to set empty version strategy in packages
This PR was merged into the 2.7 branch.
Discussion
----------
[2.7] [FrameworkBundle] [DX] Sort bundles in config commands
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | none
Reopened against `2.7` instead of #17490
This makes the behaviour of config commands a bit more user-friendly. Scanning through an ordered list should be a lot easier for the user, especially if she knows what's the exact bundle they're looking for. The sort is applied to the bundle name, as the extension alias might not always be present.
Before:
![before](https://cloud.githubusercontent.com/assets/345754/12498061/8e0ff30a-c0c1-11e5-9c96-561065eedc79.png)
After:
![after](https://cloud.githubusercontent.com/assets/345754/12498064/93019bde-c0c1-11e5-8bbc-c85a74b3f5e8.png)
Commits
-------
80d51e0 Sort bundles in config commands
This PR was merged into the 2.7 branch.
Discussion
----------
[Asset] CLI: use request context to generate absolute URLs
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #15448
| License | MIT
| Doc PR |
Commits
-------
766a648 CLI: use request context to generate absolute URLs
This PR was squashed before being merged into the 2.3 branch (closes#17497).
Discussion
----------
[SecurityBundle] Optimize dependency injection tests
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #17366
| License | MIT
| Doc PR | -
Tests building the same container multiple times. The same solution can be applied as here: #17399. This time I ran comparison tests only on 2.3. (my laptop is really slow)
**2.3 before**
```go
Time: 14.79 seconds, Memory: 48.25Mb
OK (77 tests, 227 assertions)
OK src/Symfony/Bundle/SecurityBundle/
```
**2.3 after**
```go
Time: 9.78 seconds, Memory: 48.75Mb
OK (77 tests, 227 assertions)
OK src/Symfony/Bundle/SecurityBundle/
```
Commits
-------
bf56d2f [SecurityBundle] Optimize dependency injection tests
This PR was merged into the 3.1-dev branch.
Discussion
----------
[Serializer] Add a new DateTime normalizer
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | todo
This PR add support for dates and times to the Normalizer component. It supports all date and time formats supported by PHP. Dates and times are normalized in the RFC 3339 format by default. The output format can be customized using the `$context` parameter. The default format can be changed using a constructor parameter.
Usage:
```php
use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer;
use Symfony\Component\Serializer\Serializer;
$serializer = new Serializer(array(new DateTimeNormalizer()));
echo $serializer->normalize(new \DateTimeImmutable('2016/01/01'));
// 2016-01-01T00:00:00+00:00
echo $serializer->normalize(new \DateTime('2016/01/01'));
// 2016-01-01T00:00:00+00:00
echo $serializer->normalize(new \DateTime('2016/01/01'), null, array(DateTimeNormalizer::FORMAT_KEY => 'Y'))
// 2016
var_dump($serializer->denormalize('2016-01-01T00:00:00+00:00', \DateTimeInterface::class));
// class DateTimeImmutable#1 (3) {
// public $date =>
// string(26) "2016-01-01 00:00:00.000000"
// public $timezone_type =>
// int(1)
// public $timezone =>
// string(6) "+00:00"
// }
var_dump($serializer->denormalize('2016-01-01T00:00:00+00:00', \DateTime::class));
// class DateTime#1 (3) {
// public $date =>
// string(26) "2016-01-01 00:00:00.000000"
// public $timezone_type =>
// int(1)
// public $timezone =>
// string(6) "+00:00"
// }
```
Commits
-------
6749a70 [Serializer] Add a new DateTime normalizer
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes#17478).
Discussion
----------
[HttpFoundation] Do not overwrite the Authorization header if it is already set
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #17345
| License | MIT
| Doc PR | -
Commits
-------
53ebfda [HttpFoundation] Do not overwrite the Authorization header if it is already set
This PR was merged into the 3.1-dev branch.
Discussion
----------
[Yaml] deprecate parsing the !!php/object tag
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #16877
| License | MIT
| Doc PR |
Commits
-------
3380346 [Yaml] deprecate parsing the !!php/object tag
f146c8d tag for dumped PHP objects must be a local one
This PR was merged into the 2.3 branch.
Discussion
----------
[Yaml] tag for dumped PHP objects must be a local one
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #16877
| License | MIT
| Doc PR |
Commits
-------
9d03478 tag for dumped PHP objects must be a local one
This PR was merged into the 3.1-dev branch.
Discussion
----------
[Form] Make tests compatible with master
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
I wrote tests in this PR: #17406 which was compatible only with 2.7. @xabbuh fixed it in 2.8 and 3.0 here: #17463. And this PR fixes deprecated notices in master.
Kind of an unfortunate situation...
Commits
-------
96e40b2 Fix unit tests in master
This PR was merged into the 2.8 branch.
Discussion
----------
[FrameworkBundle][Validator] Fix apc cache service deprecation
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Related to #16795
I guess the deprecation was on the wrong service.
Also, no deprecation notice was triggered about using `"apc"` as the value of the `framework.validation.cache` configuration option. This PR adds the missing deprecation.
> 📝 _NOTE_: The standard edition will need to be updated [here](https://github.com/symfony/symfony-standard/blob/2.8/app/config/config_prod.yml#L6).
Commits
-------
907bbec [FrameworkBundle][Validator] Fix apc cache service deprecation
This PR was merged into the 2.8 branch.
Discussion
----------
[Form] make tests compatible with Symfony 2.8 and 3.0
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
4d2930e make tests compatible with Symfony 2.8 and 3.0
This PR was submitted for the master branch but it was merged into the 2.7 branch instead (closes#17456).
Discussion
----------
[DX] Remove default match from AbstractConfigCommand::findExtension
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | none
Previously, `findExtension` would return the first extension that might not even match the `$name` parameter, which would quite confuse the user:
```
$ app/console config:debug TotallyNonExistentBundle
# Current configuration for "TotallyNonExistentBundle"
knp_paginator:
default_options:
sort_field_name: sort
sort_direction_name: direction
filter_field_name: filterField
filter_value_name: filterValue
page_name: page
distinct: true
template:
pagination: 'KnpPaginatorBundle:Pagination:sliding.html.twig'
filtration: 'KnpPaginatorBundle:Pagination:filtration.html.twig'
sortable: 'KnpPaginatorBundle:Pagination:sortable_link.html.twig'
page_range: 5
```
Same problem goes for the `config:dump` command. When you dumped the config for a bundle you thought you've registered, but, for example, you'd use a name that's not exactly matching, you'd get confusing output for a different bundle's configuration.
The problem was, an `Extension` [was always fetched in the finder method](https://github.com/symfony/symfony/blob/master/src/Symfony/Bundle/FrameworkBundle/Command/AbstractConfigCommand.php#L51), and name/alias misses were ignored.
Commits
-------
b85059a Remove default match from AbstractConfigCommand::findExtension