Fixed parsing of leading blank lines in folded scalars. Closes #7989.
merged branch ezzatron/yaml-folded-leading-newlines (PR #7997)

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.
Fixed XML syntax.
merged branch aforsblo/translation_syntax_fix (PR #8006)

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.
removed CHANGELOG for 2.0 as it is not maintained anymore
Fix Crawler::children() to not trigger a notice for childless node
merged branch lazyhammer/issue-8048 (PR #8054)

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
[CssSelector] Fix :nth-last-child() translation
[Console] fix and refactor exit code handling
merged branch lazyhammer/issue-8068-2.1 (PR #8073)

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
merged branch Tobion/console-exit-code (PR #8080)

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
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.
merged branch jdesrosiers/ticket_8097 (PR #8098)

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
Added type of return value in VoterInterface.
merged branch richsage/voterinterface-docblock-type (PR #8117)

This PR was submitted for the master branch but it was merged into the 2.1 branch instead (closes #8117).

Discussion
----------

[Security] Added type of return value in VoterInterface.

| Q             | A
| ------------- | ---
| Fixed tickets | none
| License       | MIT

Simple addition of the return type for the `supportsClass` method, as per the `supportsAttribute` method doc in the interface.

Commits
-------

c176d1e [Security] Added type of return value in VoterInterface.
 [Finder] Fix unexpected duplicate sub path related AppendIterator issue
merged branch alquerci/issue-4922 (PR #8127)

This PR was squashed before being merged into the 2.1 branch (closes #8127).

Discussion
----------

 [Finder] Fix unexpected duplicate sub path related AppendIterator issue

Bug fix: yes
New feature: no
BC breaks: no
Deprecations: no
Tests pass: yes
Fixes: https://github.com/symfony/symfony/pull/4993#issuecomment-8515845
Todo: -
License of the code: MIT

> @dg:  I am afraid it is not working, see this example http://davidgrudl.com/tmp/appenditerator-finder.zip.

Commits
-------

45b68e0  [Finder] Fix unexpected duplicate sub path related AppendIterator issue
[Finder] Fix iteration fails with non-rewindable streams
merged branch alquerci/ticket-3585-7834 (PR #8120)

This PR was squashed before being merged into the 2.1 branch (closes

Discussion
----------

[Finder] Fix iteration fails with non-rewindable streams

<table>
  <tr>
    <th>Q</th><th>A</th>
  </tr>
  <tr>
    <td>Bug fix?</td><td>yes</td>
  </tr>
  <tr>
    <td>New feature?</td><td>no</td>
  </tr>
  <tr>
    <td>BC breaks?</td><td>no</td>
  </tr>
  <tr>
    <td>Deprecations?</td><td>no</td>
  </tr>
  <tr>
    <td>Tests pass?</td><td>yes</td>
  </tr>
  <tr>
    <td>Fixed tickets</td><td>#3585, #7834</td>
  </tr>
  <tr>
    <td>License?</td><td>MIT</td>
  </tr>
</table>

- [x] Add a good detection of non seekable stream
- [x] Add some unit tests

But the iteration under ftp stream still not work properly. Edit: need
tests for that.

Commits
-------

169c0b9 [Finder] Fix iteration fails with non-rewindable streams
Fix several instances of doubled words

One in an exception; the rest in docblocks.