This PR was merged into the 2.3 branch.
Discussion
----------
[FileSystem] Windows fix
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | https://github.com/symfony/symfony/issues/16783
| License | MIT
| Doc PR |
* Fixes edge case on windows where PHP does not generate a PHP Warning but instead returns a wrong result https://bugs.php.net/bug.php?id=71103
* Improved error reporting on `unlink` used in `remove()`
Commits
-------
0d5f7e2 Update FileSystem
This PR was squashed before being merged into the 2.3 branch (closes#17831).
Discussion
----------
Create PULL_REQUEST_TEMPLATE.md
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | n/a
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
Github has support for issue and template files (`issue_template.md` and `pull_request_template.md`). The contents of these files will auto-populate new issues/PRs.
This PR creates a `PULL_REQUEST_TEMPLATE.md` file using the [Symfony Pull Request Template](https://symfony.com/doc/current/contributing/code/patches.html#make-a-pull-request).
See https://github.com/blog/2111-issue-and-pull-request-templates
Commits
-------
ac8f8f8 Create PULL_REQUEST_TEMPLATE.md
This PR was merged into the 2.3 branch.
Discussion
----------
[Yaml] fix default timezone to be UTC
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
e9ee877 [Yaml] fix default timezone to be UTC
This PR was merged into the 2.3 branch.
Discussion
----------
Remove duplicate validation in RedirectResponse
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
d27c4f4 Remove duplicate validation in RedirectResponse
This PR was merged into the 2.3 branch.
Discussion
----------
[DependencyInjection] don't rely on deprecated YAML parser feature
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #17814
| License | MIT
| Doc PR |
see [failing tests for the 2.7 branch](https://travis-ci.org/symfony/symfony/jobs/109537695#L2238)
Commits
-------
c8d387f don't rely on deprecated YAML parser feature
This PR was merged into the 2.3 branch.
Discussion
----------
fix YAML syntax in functional tests config
| Q | A
| ------------- | ---
| Fixed tickets |
| License | MIT
see failing tests in #17809
Commits
-------
d9af4bc fix YAML syntax in functional tests config
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes#17707).
Discussion
----------
Remove InputOption::VALUE_REQUIRED mode from $default parameter description
Reopening previous PR, providing more information
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Remove InputOption::VALUE_REQUIRED mode from $default parameter description as InputOption::setDefault() throws an exception only when called with InputOption::VALUE_NONE mode.
In practice the $default not null value could be still used in VALUE_REQUIRED mode in case InputOption was never set but accessed from InputDefinition::getOption() method.
There is an important difference between 2 concepts. Not required Option AND not required option Value. When the not required Option is not provided the default value still could be taken from required option Value instance.
Relevant (correct) test case:
https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Console/Tests/Input/InputOptionTest.php#L136
Commits
-------
3c06151 Remove InputOption::VALUE_REQUIRED mode from $default parameter description as InputOption::setDefault() throws an exception only when called in InputOption::VALUE_NONE mode. In practice the $default value could still be accessed in InputOption::VALUE_REQUIRED mode in case InputOption was never set but accessed from InputDefinition::getOption() method
In practice the $default value could still be accessed in InputOption::VALUE_REQUIRED mode in case InputOption was never set but accessed from InputDefinition::getOption() method
This PR was squashed before being merged into the 2.3 branch (closes#17099).
Discussion
----------
[Form] Fixed violation mapping if multiple forms are using the same (or part of the same) property path
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #5656
| License | MIT
| Doc PR |
Commits
-------
f005c80 [Form] Fixed violation mapping if multiple forms are using the same (or part of the same) property path
This PR was squashed before being merged into the 2.3 branch (closes#17719).
Discussion
----------
[DependencyInjection] fixed exceptions thrown by get method of ContainerBuilder
[DependencyInjection] fixed exceptions thrown by get method of ContainerBuilder
Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
The ContainerBuilder class wasn't implementing the ContainerInterface interface as it should according to the Liskov substitution principle.
It caused dependency on implementation instead than on the interface when using an instance of the ContainerBuilder class.
For example this code:
```php
<?php
use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException;
use Symfony\Component\DependencyInjection\ContainerInterface;
/* @var $container ContainerInterface */
try {
$container->get("wrong_service_key");
} catch (ServiceNotFoundException $e) {
//action on a wrong key
}
```
works for correct implementations of the ContainerInterface interface, but the ContainerBuilder class was breaking that by throwing more abstract exceptions.
As the ServiceNotFoundException exceptions inherits from the InvalidArgumentException exception, this change shouldn't break code which catches the InvalidArgumentException exception while fetching values from a ContainerInterface interface implementation.
Commits
-------
aecb0fa [DependencyInjection] fixed exceptions thrown by get method of ContainerBuilder
This PR was merged into the 2.3 branch.
Discussion
----------
[Form] remove useless code in ResizeFormListener
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
088c20c [Form] remove useless code in ResizeFormListener
This PR was merged into the 2.3 branch.
Discussion
----------
[DomCrawler] Clarify the value returned by getPhpFiles()
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #14021
| License | MIT
| Doc PR | -
The comment was previously suggesting the returned value is similar to the one stored in $_FILES, while it is more similar to the way PHP stores submitted form values. It is actually more convenient to have it this way, so rather then changing the returned value (which would break BC), it is better to clarify the comment.
Commits
-------
a694401 [DomCrawler] Clarify the value returned by getPhpFiles()
The comment was previously suggesting the returned value is similar to the one stored in $_FILES, while it is more similar to the way PHP stores submitted form values. It is actually more convenient to have it this way, so rather then changing the returned value (which would break BC), it is better to clarify the comment.
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes#17742).
Discussion
----------
[DependencyInjection] Fix#16461 Container::set() replace aliases
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #16461
| License | MIT
| Doc PR | -
`Container::set()` now overrides any previously alias defined with the same name. Please see #16461 for the background.
Example:
- given `event_dispatcher` is an alias to `debug.event_dispatcher`
- when I run: `$container->set('event_dispatcher', new FakeEventDispatcher)`
- *before this patch*: nothing happens
- *after this patch*: the `event_dispatcher` is now my fake event dispatcher
Commits
-------
be85d16 [DependencyInjection] Fix#16461 Let Container::set() replace existing aliases
This PR was merged into the 2.3 branch.
Discussion
----------
Added more exceptions to singularify method
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #16532
| License | MIT
| Doc PR | -
Added exceptions for `series`, `news` and `services`.
Commits
-------
f5daa0d Added more exceptions to singularify method
This PR was submitted for the 2.8 branch but it was merged into the 2.3 branch instead (closes#17763).
Discussion
----------
Remove unnecessary retrieval and setting of data
| Q | A
| ------------- | ---
| Bug fix? | No
| New feature? | No - optimisation
| BC breaks? | No
| Deprecations? | No
| Tests pass? | Yes
| Fixed tickets | -
| License | MIT
| Doc PR | None
Commits
-------
ea52400 remove unnecessary retrieval and setting of data
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpFoundation] BinaryFileResponse sendContent return as parent. (2.3)
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
`BinaryFileResponse` extends `Response` and overrides the `sendContent`-method. It would be nice if it also returns as the parent does, i.e. itself. This makes it easier to deal with diff. `Response` classes.
The other fixes are to make SCA easier. No BC-breaks AFAIK.
Commits
-------
120dfe4 sendContent return as parent.
This PR was merged into the 2.3 branch.
Discussion
----------
[FrameworkBundle] Fix a typo
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
89133e6 [FrameworkBundle] Fix a typo
This PR was submitted for the 3.0 branch but it was merged into the 2.3 branch instead (closes#17702).
Discussion
----------
[TwigBridge] forward compatibility with Yaml 3.1
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
047c195 [TwigBridge] forward compatibility with Yaml 3.1
This PR was merged into the 2.3 branch.
Discussion
----------
[appveyor] Ignore failures due to STATUS_ACCESS_VIOLATION errors
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #15617
| License | MIT
| Doc PR | -
E.g. https://ci.appveyor.com/project/fabpot/symfony/build/1.0.5754#L1525
Commits
-------
1d4ea39 [appveyor] Ignore failures due to STATUS_ACCESS_VIOLATION errors
This PR was merged into the 2.3 branch.
Discussion
----------
[DependencyInjection][Routing] add files used in FileResource objects
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/17598#discussion_r51756307
| License | MIT
| Doc PR |
Starting with Symfony 3.1, the constructor of the `FileResource` class
will throw an exception when the passed file does not exist.
Commits
-------
4f865c7 add files used in FileResource objects