This PR was submitted for the 2.0 branch but it was merged into the 2.1 branch instead (closes#8098).
Discussion
----------
[HttpKernel] Fixed two bugs in HttpCache
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8097
| License | MIT
| Doc PR |
1. 304 responses always send "Content-Type: text/html; charset=UTF-8"
header
I discovered that the HttpCache::handle method calls Response::prepare
after calling Response::isModified. Response::isModified removes the
Content-Type header as it should, but Response::handle adds in the
default Content-Type header when none is set. If the default
Content-Type is not the correct Content-Type, then the Content-Type in
the cache gets clobered. I solved this problem by moving the
Response::isModified call after the Response::prepare call. I updated
the testRespondsWith304WhenIfModifiedSinceMatchesLastModified and
testRespondsWith304WhenIfNoneMatchMatchesETag tests to verify that the
Content-Type header was not being sent for 304 responses.
2. Failure to invalidate cached entities referred to by the Location
header
I discovered that the Store::invalidate method was looking for Location
and Content-Location headers to invalidate, but it was looking in the
request headers instead of the response headers. Because the
Store::invalidate method doesn't take a response, I decided it was
better to move this logic to the HttpCache::invalidate method instead.
I updated the testInvalidatesCachedResponsesOnPost test to verify that
Location headers are getting invalidated correctly.
Commits
-------
a4251bd [HttpKernel] Fixed two bugs in HttpCache
1. 304 responses always send "Content-Type: text/html; charset=UTF-8"
header
I discovered that the HttpCache::handle method calls Response::prepare
after calling Response::isModified. Response::isModified removes the
Content-Type header as it should, but Response::handle adds in the
default Content-Type header when none is set. If the default
Content-Type is not the correct Content-Type, then the Content-Type in
the cache gets clobered. I solved this problem by moving the
Response::isModified call after the Response::prepare call. I updated
the testRespondsWith304WhenIfModifiedSinceMatchesLastModified and
testRespondsWith304WhenIfNoneMatchMatchesETag tests to verify that the
Content-Type header was not being sent for 304 responses.
2. Failure to invalidate cached entities referred to by the Location
header
I discovered that the Store::invalidate method was looking for Location
and Content-Location headers to invalidate, but it was looking in the
request headers instead of the response headers. Because the
Store::invalidate method doesn't take a response, I decided it was
better to move this logic to the HttpCache::invalidate method instead.
I updated the testInvalidatesCachedResponsesOnPost test to verify that
Location headers are getting invalidated correctly.
This PR was merged into the 2.1 branch.
Discussion
----------
[Console] fix and refactor exit code handling
Split of #8038
Commits
-------
5c317b7 [Console] fix and refactor exit code handling
This PR was merged into the 2.1 branch.
Discussion
----------
[CssSelector] Fix :nth-last-child() translation
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8068
| License | MIT
| Doc PR | n/a
Same as #8072, but for < 2.3
Commits
-------
1469953 [CssSelector] Fix :nth-last-child() translation
This PR was merged into the 2.1 branch.
Discussion
----------
[DomCrawler] Fix Crawler::children() to not trigger a notice for childless node
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8048
| License | MIT
| Doc PR | n/a
Commits
-------
91b8490 Fix Crawler::children() to not trigger a notice for childless node
* 2.1:
Fixed XML syntax.
Fixed parsing of leading blank lines in folded scalars. Closes#7989.
Added a test case for Loader::import().
Fixed Loader import
[Console] Added dedicated testcase for HelperSet class
This PR was merged into the 2.1 branch.
Discussion
----------
[Validator] Fixed XML syntax in translation.
| Q | A
| ------------- | ---
| Fixed tickets |
| License | MIT
Commits
-------
0a4837d Fixed XML syntax.
This PR was merged into the 2.1 branch.
Discussion
----------
Fixed parsing of leading blank lines in folded scalars.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7989
| License | MIT
| Doc PR | n/a
Fixed the issue raised in #7989. The cause was in the way the parser determined the indentation level of block scalars. When the indentation is not manually specified, the parser now determines the indentation from the first *non-empty* line as per section [8.1.1.1.](http://www.yaml.org/spec/1.2/spec.html#id2793979) of the spec.
Commits
-------
a5441b2 Fixed parsing of leading blank lines in folded scalars. Closes#7989.
This PR was merged into the 2.2 branch.
Discussion
----------
Fixed failing 2.2 tests
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
1858b96b7d introduced a mocked context and therefore `getExecutionContext()` is was renamed to `getMockExectionContext()`.
Commits
-------
ef87ba7 [Form] Fixed a method name.
This PR was submitted for the master branch but it was merged into the 2.1 branch instead (closes#7987).
Discussion
----------
[Config] FIxed Loader::import()
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? |no
| Tests pass? | yes
| Fixed tickets | fixes#7965, replaces #7983
| License | MIT
| Doc PR | -
Commits
-------
984e56a [Config] Added a test case for Loader::import().
2f69860 [Config] Fixed Loader import
This PR was squashed before being merged into the 2.1 branch (closes#7969).
Discussion
----------
[Console] Added dedicated testcase for HelperSet class
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | NA
| License | MIT
| Doc PR | NA
Previously the HelperSet class was only tested by way of the Application testcase. This patch adds a dedicated testcase and increases test coverage of the class to 100%.
Commits
-------
37af771 [Console] Added dedicated testcase for HelperSet class
This PR was submitted for the master branch but it was merged into the 2.2 branch instead (closes#7971).
Discussion
----------
[Serializer] Fatal error in denormalizeObject for Normalizers that do not implement DenormalizerInterface
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | 7971
| License | MIT
| Doc PR |
If there is a list of Normalizers, and only some of them implement DenormalizerInterface, then a call to deserialize() can result in a fatal error.
This is because denormalizeObject does not check that the Normalizer implements DenormalizerInterface before calling supportsDenormalization on it.
Commits
-------
cacca2f [Serializer] Fixed fatal error in normalize/denormalizeObject.
This PR was merged into the 2.2 branch.
Discussion
----------
[TwigBundle] Fixed 2 namespaces
Something went wrong with the namespaces in the test directory in 2.2
Commits
-------
1788c6b Fixed 2 namespaces
This PR was merged into the 2.1 branch.
Discussion
----------
[Filesystem] Fix regression introduced in 10dea94
This is one of ideas to fix the regression from 10dea948, @kachkaev what do you think?
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| Tests pass? | yes
| Fixed tickets | #7920
| License | MIT
Commits
-------
e4913f8 [Filesystem] Fix regression introduced in 10dea948
* 2.1:
added additional tests to cover invalid argument exceptions in OutputFormatterStyle component
added a missing check for the provider key
[Validator] fixed wrong URL for XSD
[Form] Fixed transform()/reverseTransform() to always throw TransformationFailedExceptions
[Form] Fixed: String validation groups are never interpreted as callbacks
if the repository method returns an array ensure that it's internal poin...
Fix wrong method in findTaggedServiceIds(), add example to docblock.
Conflicts:
src/Symfony/Bridge/Doctrine/Form/DataTransformer/CollectionToArrayTransformer.php
src/Symfony/Component/Form/Extension/Core/DataTransformer/DataTransformerChain.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ArrayToPartsTransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoiceToValueTransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoicesToValuesTransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToArrayTransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToRfc3339TransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ValueToDuplicatesTransformerTest.php
This PR was merged into the 2.1 branch.
Discussion
----------
added a missing check for the provider key
| 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
-------
5b7e1e6 added a missing check for the provider key
This PR was merged into the 2.2 branch.
Discussion
----------
[Validator] Fixed: $traverse and $deep is passed to the visitor from Validator::validate()
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
59b78c7 [Validator] Fixed: $traverse and $deep is passed to the visitor from Validator::validate()