diff --git a/CHANGELOG-4.4.md b/CHANGELOG-4.4.md
index e5f07b9d13da..4de4989aabb0 100644
--- a/CHANGELOG-4.4.md
+++ b/CHANGELOG-4.4.md
@@ -7,6 +7,66 @@ in 4.4 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.4.0...v4.4.1
+* 4.4.5 (2020-02-29)
+
+ * bug #35781 [Form] NumberToLocalizedStringTransformer return int if scale = 0 (VincentLanglet)
+ * bug #35846 [Serializer] prevent method calls on null values (xabbuh)
+ * bug #35897 [FrameworkBundle] add missing Messenger options to XML schema definition (xabbuh)
+ * bug #35870 [ErrorHandler] fix parsing static return type on interface method annotation (alekitto)
+ * bug #35839 [Security] Allow switching to another user when already switched (chalasr)
+ * bug #35851 [DoctrineBridge] Use new Types::* constants and support new json types (fancyweb)
+ * bug #35716 [PhpUnitBridge] Fix compatibility to PHPUnit 9 (Benjamin)
+ * bug #35803 [Cache] Fix versioned namespace atomic clears (trvrnrth)
+ * bug #35817 [DoctrineBridge] Use new Types::* constants and support new json type (fancyweb)
+ * bug #35832 [Debug][ErrorHandler] improved deprecation notices for methods new args and return type (HeahDude)
+ * bug #35827 [BrowserKit] Nested file array prevents uploading file (afilina)
+ * bug #35707 [ExpressionLanguage] Fixed collisions of character operators with object properties (Andrej-in-ua)
+ * bug #35794 [DoctrineBridge][DoctrineExtractor] Fix indexBy with custom and some core types (fancyweb)
+ * bug #35787 [PhpUnitBridge] Use trait instead of extending deprecated class (marcello-moenkemeyer)
+ * bug #35792 [Security] Prevent TypeError in case RememberMetoken has no attached user (nikophil)
+ * bug #35735 [Routing] Add locale requirement for localized routes (mtarld)
+ * bug #35772 [Config] don't throw on missing excluded paths (nicolas-grekas)
+ * bug #35774 [Ldap] force default network timeout (nicolas-grekas)
+ * bug #35702 [VarDumper] fixed DateCaster not displaying additional fields (Makdessi Alex)
+ * bug #35722 [HttpKernel] Set previous exception when rethrown from controller resolver (danut007ro)
+ * bug #35714 [HttpClient] Correctly remove trace level options for HttpCache (aschempp)
+ * bug #35718 [HttpKernel] fix registering DebugHandlersListener regardless of the PHP_SAPI (nicolas-grekas)
+ * bug #35728 Add missing autoload calls (greg0ire)
+ * bug #35693 [Finder] Fix unix root dir issue (chr-hertel)
+ * bug #35709 [HttpFoundation] fix not sending Content-Type header for 204 responses (Tobion)
+ * bug #35710 [ErrorHandler] silence warning when zend.assertions=-1 (nicolas-grekas)
+ * bug #35676 [Console] Handle zero row count in appendRow() for Table (Adam Prickett)
+ * bug #35696 [Console] Don't load same-namespace alternatives on exact match (chalasr)
+ * bug #35674 [HttpClient] fix getting response content after its destructor throwed an HttpExceptionInterface (nicolas-grekas)
+ * bug #35672 [HttpClient] fix HttpClientDataCollector when handling canceled responses (thematchless)
+ * bug #35641 [Process] throw when PhpProcess::fromShellCommandLine() is used (Guikingone)
+ * bug #35645 [ErrorHandler] Never throw on warnings triggered by assert() and set assert.exception=1 in Debug::enable() (nicolas-grekas)
+ * bug #35633 [Mailer] Do not ping the SMTP server before sending every message (micheh)
+ * bug #33897 [Console] Consider STDIN interactive (ostrolucky)
+ * bug #35605 [HttpFoundation][FrameworkBundle] fix support for samesite in session cookies (fabpot)
+ * bug #35609 [DoctrineBridge] Fixed submitting ids with query limit or offset (HeahDude)
+ * bug #35597 [PHPunit bridge] Provide current file as file path (greg0ire)
+ * bug #33960 [DI] Unknown env prefix not recognized as such (ro0NL)
+ * bug #35342 [DI] Fix support for multiple tags for locators and iterators (Alexandre Parent)
+ * bug #33820 [PhpUnitBridge] Fix some errors when using serialized deprecations (l-vo)
+ * bug #35553 Fix HTTP client config handling (julienfalque)
+ * bug #35588 [ErrorHandler] Escape variable in Exception template (jderusse)
+ * bug #35583 Add missing use statements (fabpot)
+ * bug #35582 Missing use statement 4.4 (fabpot)
+ * bug #34123 [Form] Fix handling of empty_data's \Closure value in Date/Time form types (yceruto)
+ * bug #35537 [Config][XmlReferenceDumper] Prevent potential \TypeError (fancyweb)
+ * bug #35227 [Mailer] Fix broken mandrill http send for recipients with names (vilius-g)
+ * bug #35430 [Translation] prefer intl domain when adding messages to catalogue (Guite)
+ * bug #35497 Fail on empty password verification (without warning on any implementation) (Stefan Kruppa)
+ * bug #35546 [Validator] check for __get method existence if property is uninitialized (alekitto)
+ * bug #35332 [Yaml][Inline] Fail properly on empty object tag and empty const tag (fancyweb)
+ * bug #35489 [PhpUnitBridge] Fix running skipped tests expecting only deprecations (chalasr)
+ * bug #35161 [FrameworkBundle] Check non-null type for numeric type (Arman-Hosseini)
+ * bug #34059 [DomCrawler] Skip disabled fields processing in Form (sbogx)
+ * bug #34114 [Console] SymonfyStyle - Check value isset to avoid PHP notice (leevigraham)
+ * bug #35557 [Config] dont catch instances of Error (nicolas-grekas)
+ * bug #35562 [HttpClient] fix HttpClientDataCollector when handling canceled responses (nicolas-grekas)
+
* 4.4.4 (2020-01-31)
* bug #35530 [HttpClient] Fix regex bearer (noniagriconomie)
diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
index 005086436e80..49a466f440d3 100644
--- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
+++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
@@ -84,6 +84,8 @@
use Symfony\Component\Messenger\Handler\MessageHandlerInterface;
use Symfony\Component\Messenger\MessageBus;
use Symfony\Component\Messenger\MessageBusInterface;
+use Symfony\Component\Messenger\Transport\AmqpExt\AmqpTransportFactory;
+use Symfony\Component\Messenger\Transport\RedisExt\RedisTransportFactory;
use Symfony\Component\Messenger\Transport\TransportFactoryInterface;
use Symfony\Component\Messenger\Transport\TransportInterface;
use Symfony\Component\Mime\MimeTypeGuesserInterface;
@@ -312,6 +314,16 @@ public function load(array $configs, ContainerBuilder $container)
$container->removeDefinition('console.command.messenger_failed_messages_show');
$container->removeDefinition('console.command.messenger_failed_messages_remove');
$container->removeDefinition('cache.messenger.restart_workers_signal');
+
+ if ($container->hasDefinition('messenger.transport.amqp.factory') && class_exists(AmqpTransportFactory::class)) {
+ $container->getDefinition('messenger.transport.amqp.factory')
+ ->addTag('messenger.transport_factory');
+ }
+
+ if ($container->hasDefinition('messenger.transport.redis.factory') && class_exists(RedisTransportFactory::class)) {
+ $container->getDefinition('messenger.transport.redis.factory')
+ ->addTag('messenger.transport_factory');
+ }
}
if ($this->httpClientConfigEnabled = $this->isConfigEnabled($container, $config['http_client'])) {
@@ -1567,6 +1579,14 @@ private function registerMessengerConfiguration(array $config, ContainerBuilder
$loader->load('messenger.xml');
+ if (class_exists(AmqpTransportFactory::class)) {
+ $container->getDefinition('messenger.transport.amqp.factory')->addTag('messenger.transport_factory');
+ }
+
+ if (class_exists(RedisTransportFactory::class)) {
+ $container->getDefinition('messenger.transport.redis.factory')->addTag('messenger.transport_factory');
+ }
+
if (null === $config['default_bus'] && 1 === \count($config['buses'])) {
$config['default_bus'] = key($config['buses']);
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/messenger.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/messenger.xml
index 14117ee8e40a..9d30261c7357 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/messenger.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/messenger.xml
@@ -67,13 +67,9 @@
-
-
-
+
-
-
-
+
diff --git a/src/Symfony/Component/DomCrawler/Test/Constraint/CrawlerSelectorTextContains.php b/src/Symfony/Component/DomCrawler/Test/Constraint/CrawlerSelectorTextContains.php
index 0ddca408697f..c9d996175eab 100644
--- a/src/Symfony/Component/DomCrawler/Test/Constraint/CrawlerSelectorTextContains.php
+++ b/src/Symfony/Component/DomCrawler/Test/Constraint/CrawlerSelectorTextContains.php
@@ -45,7 +45,7 @@ protected function matches($crawler): bool
return false;
}
- return false !== mb_strpos($crawler->text(), $this->expectedText);
+ return false !== mb_strpos($crawler->text(null, false), $this->expectedText);
}
/**
diff --git a/src/Symfony/Component/DomCrawler/Test/Constraint/CrawlerSelectorTextSame.php b/src/Symfony/Component/DomCrawler/Test/Constraint/CrawlerSelectorTextSame.php
index 30271f01917a..66adadd9d4ba 100644
--- a/src/Symfony/Component/DomCrawler/Test/Constraint/CrawlerSelectorTextSame.php
+++ b/src/Symfony/Component/DomCrawler/Test/Constraint/CrawlerSelectorTextSame.php
@@ -45,7 +45,7 @@ protected function matches($crawler): bool
return false;
}
- return $this->expectedText === trim($crawler->text());
+ return $this->expectedText === trim($crawler->text(null, false));
}
/**