Merge branch '4.1' into 4.2

* 4.1:
  Update PR template
  bumped Symfony version to 4.1.9
  updated VERSION for 4.1.8
  updated CHANGELOG for 4.1.8
  bumped Symfony version to 3.4.20
  updated VERSION for 3.4.19
  updated CHANGELOG for 3.4.19
  [Console] Move back root exception to stack trace in verbose mode
This commit is contained in:
Nicolas Grekas 2018-11-27 08:40:44 +01:00
commit 5e2e3fd56a
4 changed files with 76 additions and 1 deletions

View File

@ -1,6 +1,6 @@
| Q | A
| ------------- | ---
| Branch? | master for features / 2.8 up to 4.1 for bug fixes <!-- see below -->
| Branch? | master for features / 3.4 up to 4.2 for bug fixes <!-- see below -->
| Bug fix? | yes/no
| New feature? | yes/no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks? | no <!-- see https://symfony.com/bc -->

View File

@ -7,6 +7,49 @@ in 4.1 minor versions.
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v4.1.0...v4.1.1
* 4.1.8 (2018-11-26)
* bug #29318 [Console] Move back root exception to stack trace in verbose mode (chalasr)
* bug #29332 [PropertyAccess] make cache keys encoding bijective (nicolas-grekas)
* bug #29298 [Routing] fix trailing slash redirection when using RedirectableUrlMatcher (nicolas-grekas)
* bug #29297 [Routing] fix trailing slash redirection when using RedirectableUrlMatcher (nicolas-grekas)
* bug #29313 [PropertyAccessor] fix encoding of cache keys (nicolas-grekas)
* bug #28917 [DoctrineBridge] catch errors while converting to db values in data collector (alekitto)
* bug #29317 [WebProfiler] Detect non-file paths in file viewer (ro0NL)
* bug #29305 [EventDispatcher] Unwrap wrapped listeners internally (ro0NL)
* bug #27314 [DoctrineBridge] fix case sensitivity issue in RememberMe\DoctrineTokenProvider (PF4Public)
* bug #29310 [MonologBridge] Return empty list for unknown requests (ro0NL)
* bug #29308 [Translation] Use XLIFF source rather than resname when there's no target (thewilkybarkid)
* bug #26244 [BrowserKit] fixed BC Break for HTTP_HOST header (brizzz)
* bug #28147 [DomCrawler] exclude fields inside "template" tags (Gorjunov)
* bug #29222 [Dotenv] properly parse backslashes in unquoted env vars (xabbuh)
* bug #29256 [HttpFoundation] Fixed absolute Request URI with default port (thomasbisignani)
* bug #29274 [Routing] Remove duplicate schemes and methods for invokable controllers (claudusd)
* bug #29271 [HttpFoundation] Fix trailing space for mime-type with parameters (Sascha Dens)
* bug #29243 [Cache] fix optimizing Psr6Cache for AdapterInterface pools (nicolas-grekas)
* bug #29247 [DI] fix taking lazy services into account when dumping the container (nicolas-grekas)
* bug #29249 [Form] Fixed empty data for compound date interval (HeahDude)
* bug #29265 [Bridge/PhpUnit] Use composer to download phpunit (nicolas-grekas)
* bug #28769 [FrameworkBundle] deal with explicitly enabled workflow nodes (xabbuh)
* bug #29223 [Validator] Added the missing constraints instance checks (thomasbisignani)
* bug #28966 [PropertyAccessor] Fix unable to write to singular property using setter while plural adder/remover exist (karser)
* bug #29182 [Form] Fixed empty data for compound date types (HeahDude)
* bug #29191 [Routing] generate(null) should throw an exception (nicolas-grekas)
* bug #29185 [Form] Fixed keeping hash of equal \DateTimeInterface on submit (HeahDude)
* bug #29141 [Workflow] Fixed bug of buildTransitionBlockerList when many transition are enabled (Tetragramat, lyrixx)
* bug #29137 [Workflow][FrameworkBundle] fixed guard event names for transitions (destillat, lyrixx)
* bug #28731 [Form] invalidate forms on transformation failures (xabbuh)
* bug #29152 [Config] Unset key during normalization (ro0NL)
* bug #29165 [DI] align IniFileLoader to PHP bugfix #76965 (nicolas-grekas)
* bug #29115 Change button_widget class to btn-primary (neFAST)
* bug #29131 [Dotenv] dont use getenv() to read SYMFONY_DOTENV_VARS (nicolas-grekas)
* bug #29057 [HttpFoundation] replace any preexisting Content-Type headers (nicolas-grekas)
* bug #29076 [Serializer] Allow null values when denormalizing with constructor missing data (danut007ro)
* bug #29104 [DI] fix dumping inlined services (nicolas-grekas)
* bug #29054 [VarDumper] fix dump of closures created from callables (nicolas-grekas)
* bug #29102 [DI] fix GraphvizDumper ignoring inline definitions (nicolas-grekas)
* bug #29107 [DI] dont track classes/interfaces used to compute autowiring error messages (nicolas-grekas)
* 4.1.7 (2018-11-03)
* bug #28820 [DependencyInjection] Fix tags on multiple decorated service (Soner Sayakci)

View File

@ -801,6 +801,13 @@ class Application
// exception related properties
$trace = $e->getTrace();
array_unshift($trace, array(
'function' => '',
'file' => $e->getFile() ?: 'n/a',
'line' => $e->getLine() ?: 'n/a',
'args' => array(),
));
for ($i = 0, $count = \count($trace); $i < $count; ++$i) {
$class = isset($trace[$i]['class']) ? $trace[$i]['class'] : '';
$type = isset($trace[$i]['type']) ? $trace[$i]['type'] : '';

View File

@ -849,6 +849,31 @@ class ApplicationTest extends TestCase
$this->assertContains('Dummy type "@anonymous" is invalid.', $tester->getDisplay(true));
}
public function testRenderExceptionStackTraceContainsRootException()
{
$application = new Application();
$application->setAutoExit(false);
$application->register('foo')->setCode(function () {
throw new class('') extends \InvalidArgumentException {
};
});
$tester = new ApplicationTester($application);
$tester->run(array('command' => 'foo'), array('decorated' => false));
$this->assertContains('[InvalidArgumentException@anonymous]', $tester->getDisplay(true));
$application = new Application();
$application->setAutoExit(false);
$application->register('foo')->setCode(function () {
throw new \InvalidArgumentException(sprintf('Dummy type "%s" is invalid.', \get_class(new class() {
})));
});
$tester = new ApplicationTester($application);
$tester->run(array('command' => 'foo'), array('decorated' => false));
$this->assertContains('Dummy type "@anonymous" is invalid.', $tester->getDisplay(true));
}
public function testRun()
{
$application = new Application();