326
I Use This!
Activity Not Available

News

Analyzed 4 months ago. based on code collected almost 2 years ago.
Posted over 4 years ago by Javier Eguiluz
Contributed by Konstantin Myakshin in #31334. In the Messenger component, middleware is used to configure what happens when you dispatch ... [More] a message to a message bus. In Symfony 4.4 we've added a new middleware to clear Doctrine's entity manager after each message is consumed. Enable it by adding messenger.middleware.doctrine_clear_entity_manager to the middleware of your buses: YAML 1 2 3 4 5 6 7 8 9 # config/packages/messenger.yaml framework: messenger: buses: messenger.bus.default: default_middleware: false middleware: # ... - 'messenger.middleware.doctrine_clear_entity_manager' XML 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:framework="http://symfony.com/schema/dic/symfony" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd http://symfony.com/schema/dic/symfony https://symfony.com/schema/dic/symfony/symfony-1.0.xsd"> id="messenger.middleware.doctrine_clear_entity_manager"/> name="messenger.bus.default" default-middleware="false"/> PHP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 // config/packages/messenger.php $container->loadFromExtension('framework', [ 'messenger' => [ 'buses' => [ 'messenger.bus.default' => [ 'middleware' => [ // ... 'messenger.middleware.doctrine_clear_entity_manager', ], 'default_middleware' => false, ], ], ], ]); The first advantage of this middleware is that it reduces the memory consumption when handling messages in long-running processes. The second advantage is that it prevents unexpected side-effects. For example, in the case of an user account recovery process (where an email is sent asynchronously with Messenger and AMQP), if the email address is updated after the first try, the second email is sent to the old email address. Using this middleware will solve that problem. Be trained by Symfony experts - 2019-10-21 Lyon - 2019-10-28 Berlin - 2019-10-28 Berlin [Less]
Posted over 4 years ago by Javier Eguiluz
Contributed by Jan Schädlich in #31351. The Type constraint included in the Validator component validates that a given value is of a ... [More] specific data type. This type can be any of the valid PHP types, any of the PHP ctype functions (e.g. alnum, alpha, digit, etc.) and also the FQCN of any class: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 // src/Entity/Author.php namespace App\Entity; use Symfony\Component\Validator\Constraints as Assert; class Author { /** * @Assert\Type("Ramsey\Uuid\UuidInterface") */ protected $id; /** * @Assert\Type("string") */ protected $firstName; // ... } Starting from Symfony 4.4, the checked type can be an array of types, so you can validate that the given value type is one of several possible types. In the following example, the $accessCode property can contain only letters or only digits, but not both: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 // src/Entity/Author.php namespace App\Entity; use Symfony\Component\Validator\Constraints as Assert; class Author { // ... /** * @Assert\Type(type={"alpha", "digit"}) */ protected $accessCode; } Be trained by Symfony experts - 2019-10-21 Lyon - 2019-10-28 Berlin - 2019-10-28 Berlin [Less]
Posted over 4 years ago by Javier Eguiluz
This week, Symfony 3.4.32 and 4.3.5 maintenance versions were released. Meanwhile, the upcoming Symfony 4.4 version improved the syntax for defining method calls in YAML, improved performance of filesystem-based caches and allowed to omit the event ... [More] name when registering listeners. Symfony development highlights 3.4 changelog: 7432601: [Validator] fixed ValidValidator group cascading usage fefb2ff: [Dotenv] search variable values in ENV first then env file a8a4aad: [HttpFoundation] added plus character + to legal mime subtype 1201085: [Cache] fixed TagAwareAdapter returning invalid cache 9869754: [Validator] added the missing Swedish translations c281b3b: [Validator] added the missing Norwegian Bokmål translations 49ad46e: [VarDumper] fixed resetting the "bold" state in CliDumper 1201085: [Cache] fixed TagAwareAdapter returning invalid cache 4.3 changelog: bee0056: [HttpClient] fixed exploding values of headers 38b3dc8: [Messenger] ensure auto setup in DoctrineTransport is only done once 4223a5b: [HttpKernel] fix to populate $dotenvVars in data collector when not using putenv() 0d49141: [Form] preserved microseconds and used \DateTime::createFromImmutable() when available 49dfa8a: [Cache] clean tags folder on invalidation ac422db: [FrameworkBundle] allowed to set SameSite config to 'none' 6f58438: [Cache] removed implicit dependency on symfony/filesystem 585a7a4: [HttpClient] send Accept: / by default and remove it when needed 76f44df: [Cache] ignored unserialization failures in AbstractTagAwareAdapter::doDelete() b17ebdf: [DependencyInjection] added extra type check to php dumper 4.4 changelog: 4364850: [Intl] updated the ICU data to 65.1 b43f255: [VarDumper] added a support for casting Ramsey/Uuid ce7c0b4: [Messenger] allowed to configure the db index on Redis transport 1998814: [HttpClient] async HTTPlug client 62216ea: added types to constructors and private/final/internal methods 7db5be6: [DependencyInjection] enabled improved syntax for defining method calls in YAML 0094884: [EventDispatcher] allowed to omit the event name when registering listeners 41dfd98: [Cache] improved performance of pruning for fs-based adapters 1c81349: keeping backward compatibility with legacy FlattenException usage 28f9536: [Cache] added TagAwareMarshaller to optimize data storage when using AbstractTagAwareAdapter 38b9a27: [ErrorHandler] reworked fatal errors a84ec3a: [Mailer] added ReplyTo option for PostmarkApiTransport 0e84d3d: [Cache] fixed 2RTT + race condition in AbstractTagAwareAdapter::deleteItems() 211c651: [HttpClient] resolved promise chains on HttplugClient::wait() Master changelog: 2dba6e7: [String] renamed core classes to Byte/CodePoint/UnicodeString f6d207c: [Console] replaced posix_isatty with cross-platform and always available stream_isatty 90ca602: [String] added $lastGlue argument to join() methods Symfony Binary The Symfony binary, which provides tools for developing Symfony applications in your local machine, released its new 4.7.2 and 4.7.3 with the following changes: Disable interactivity in CI (even if they expose themselves as a TTY) Fix the use of API Tokens requests new OAuth token for each request Add a warning when the local CA should be regenerated Fix server:ca:install --force does not properly regenerate CA Add --renew flag to server:ca:install to force CA regeneration Fix server:ca:install does not re-install certificate when using --force flag Add proxy:domain:detach Add attached domain names in the output of server:status Newest issues and pull requests [Security] Add sudo mode [Messenger][RFC] Improve Messenger to support other app consuming/recieving the message Make it easier to use multiple mailers Optionally fail for deprecations in our various lint commands They talked about us How to use external services with the Symfony Validator Deploy a Symfony application with AWS Lambda: a quick guide Symfony 4 is the new Boss in PHP Framework Nuevo en Symfony 4.4: Firmando y encriptando emails Symfony. Integrando el componente Messenger con RabbitMQ Nuevo en Symfony 4.4: Nuevos métodos para filtrar HTML en los tests Symfony 4: un framework uniquement MVC ? Call to Action Give Symfony a star on GitHub Follow Symfony on Twitter and retweet this article. Subscribe to the Symfony blog RSS and never miss a Symfony story again. Be trained by Symfony experts - 2019-10-21 Lyon - 2019-10-28 Berlin - 2019-10-28 Berlin [Less]
Posted over 4 years ago by Javier Eguiluz
This week, Symfony 3.4.32 and 4.3.5 maintenance versions were released. Meanwhile, the upcoming Symfony 4.4 version improved the syntax for defining method calls in YAML, improved performance of filesystem-based caches and allowed to omit the event ... [More] name when registering listeners. Symfony development highlights 3.4 changelog: 7432601: [Validator] fixed ValidValidator group cascading usage fefb2ff: [Dotenv] search variable values in ENV first then env file a8a4aad: [HttpFoundation] added plus character + to legal mime subtype 1201085: [Cache] fixed TagAwareAdapter returning invalid cache 9869754: [Validator] added the missing Swedish translations c281b3b: [Validator] added the missing Norwegian Bokmål translations 49ad46e: [VarDumper] fixed resetting the "bold" state in CliDumper 1201085: [Cache] fixed TagAwareAdapter returning invalid cache 4.3 changelog: bee0056: [HttpClient] fixed exploding values of headers 38b3dc8: [Messenger] ensure auto setup in DoctrineTransport is only done once 4223a5b: [HttpKernel] fix to populate $dotenvVars in data collector when not using putenv() 0d49141: [Form] preserved microseconds and used \DateTime::createFromImmutable() when available 49dfa8a: [Cache] clean tags folder on invalidation ac422db: [FrameworkBundle] allowed to set SameSite config to 'none' 6f58438: [Cache] removed implicit dependency on symfony/filesystem 585a7a4: [HttpClient] send Accept: / by default and remove it when needed 76f44df: [Cache] ignored unserialization failures in AbstractTagAwareAdapter::doDelete() b17ebdf: [DependencyInjection] added extra type check to php dumper 4.4 changelog: 4364850: [Intl] updated the ICU data to 65.1 b43f255: [VarDumper] added a support for casting Ramsey/Uuid ce7c0b4: [Messenger] allowed to configure the db index on Redis transport 1998814: [HttpClient] async HTTPlug client 62216ea: added types to constructors and private/final/internal methods 7db5be6: [DependencyInjection] enabled improved syntax for defining method calls in YAML 0094884: [EventDispatcher] allowed to omit the event name when registering listeners 41dfd98: [Cache] improved performance of pruning for fs-based adapters 1c81349: keeping backward compatibility with legacy FlattenException usage 28f9536: [Cache] added TagAwareMarshaller to optimize data storage when using AbstractTagAwareAdapter 38b9a27: [ErrorHandler] reworked fatal errors a84ec3a: [Mailer] added ReplyTo option for PostmarkApiTransport 0e84d3d: [Cache] fixed 2RTT + race condition in AbstractTagAwareAdapter::deleteItems() 211c651: [HttpClient] resolved promise chains on HttplugClient::wait() Master changelog: 2dba6e7: [String] renamed core classes to Byte/CodePoint/UnicodeString f6d207c: [Console] replaced posix_isatty with cross-platform and always available stream_isatty 90ca602: [String] added $lastGlue argument to join() methods Symfony Binary The Symfony binary, which provides tools for developing Symfony applications in your local machine, released its new 4.7.2 and 4.7.3 with the following changes: Disable interactivity in CI (even if they expose themselves as a TTY) Fix the use of API Tokens requests new OAuth token for each request Add a warning when the local CA should be regenerated Fix server:ca:install --force does not properly regenerate CA Add --renew flag to server:ca:install to force CA regeneration Fix server:ca:install does not re-install certificate when using --force flag Add proxy:domain:detach Add attached domain names in the output of server:status Newest issues and pull requests [Security] Add sudo mode [Messenger][RFC] Improve Messenger to support other app consuming/recieving the message Make it easier to use multiple mailers Optionally fail for deprecations in our various lint commands They talked about us How to use external services with the Symfony Validator Deploy a Symfony application with AWS Lambda: a quick guide Symfony 4 is the new Boss in PHP Framework Nuevo en Symfony 4.4: Firmando y encriptando emails Symfony. Integrando el componente Messenger con RabbitMQ Nuevo en Symfony 4.4: Nuevos métodos para filtrar HTML en los tests Symfony 4: un framework uniquement MVC ? Call to Action Give Symfony a star on GitHub Follow Symfony on Twitter and retweet this article. Subscribe to the Symfony blog RSS and never miss a Symfony story again. Be trained by Symfony experts - 2019-10-14 Clichy - 2019-10-21 Lyon - 2019-10-28 Berlin [Less]
Posted over 4 years ago by Javier Eguiluz
Contributed by Grégoire Pineau in #33144. The DomCrawler component is mostly used in Symfony applications via functional tests, to filter ... [More] the DOM nodes of HTML/XML documents. The methods provided by DomCrawler were originally inspired by jQuery, such as eq(), first(), children(), nextAll(), etc. In Symfony 4.4 we've added three new methods frequently requested by the community: matches(), closest() and outerHtml(). Consider the following HTML snippet: 1 2 3 4 5 6 7 8 9 10 11 12 13 <html lang="en"> <body> <div class="class-1"> <h1 class="class-1">Lorem Ipsumh1> <ul class="class-2 class-3" id="id-1"> <li>1li> <li class="class-4">2li> <li>3li> ul> div> body> html> The matches(string $selector) method returns true if the node matches the given CSS selector: 1 2 $crawler->filter('#id-1')->matches('.class-3'); // true $crawler->filter('#id-1')->matches('.class-4'); // false The closest(string $selector) method returns the first ancestor of the node that matches the given CSS selector: 1 2 3 // returns the div.class-1 node and NOT the h1.class-1 node because h1 is // a sibling and not an ancestor of ul#id-1 $crawler->filter('#id-1')->closest('.class-1'); The outerHtml() method returns the whole HTML content of the node, including its own tags: 1 2 3 4 5 // returns '123' $crawler->filter('#id-1')->outerHtml(); // returns '123' $crawler->filter('#id-1')->html(); Removing all Extra White Space¶ Contributed by Hamza Amrouche in #32440. Dealing with white spaces is pretty annoying when checking the contents of some HTML tag. For example, with the following HTML snippet: 1 2 3 4 5 <div class="class-1"> <h2> Some Title Text h2> div> The following test will fail because of all the "n" and spaces that surround the title text: 1 2 // this fails because of the extra white spaces $this->assertSame('Some Title Text', $crawler->filter('.class-1')->text()); In Symfony 4.3 we introduced the assertSelectorTextContains() method to help in these situations, but starting from Symfony 4.4, you can also pass true as the second optional argument of text() to remove all extra white spaces: 1 2 // this passes because all extra white spaces are removed $this->assertSame('Some Title Text', $crawler->filter('.class-1')->text(null, true)); In addition to trimming white spaces from the beginning and the end of the string, this feature also replaces two or more white spaces inside the contents by a single white space. For example, if the original text is foo bar baz, it returns foo bar baz. Be trained by Symfony experts - 2019-10-21 Lyon - 2019-10-28 Berlin - 2019-10-28 Berlin [Less]
Posted over 4 years ago by Javier Eguiluz
Contributed by Grégoire Pineau in #33144. The DomCrawler component is mostly used in Symfony applications via functional tests, to filter ... [More] the DOM nodes of HTML/XML documents. The methods provided by DomCrawler were originally inspired by jQuery, such as eq(), first(), children(), nextAll(), etc. In Symfony 4.4 we've added three new methods frequently requested by the community: matches(), closest() and outerHtml(). Consider the following HTML snippet: 1 2 3 4 5 6 7 8 9 10 11 12 13 <html lang="en"> <body> <div class="class-1"> <h1 class="class-1">Lorem Ipsumh1> <ul class="class-2 class-3" id="id-1"> <li>1li> <li class="class-4">2li> <li>3li> ul> div> body> html> The matches(string $selector) method returns true if the node matches the given CSS selector: 1 2 $crawler->filter('#id-1')->matches('.class-3'); // true $crawler->filter('#id-1')->matches('.class-4'); // false The closest(string $selector) method returns the first ancestor of the node that matches the given CSS selector: 1 2 3 // returns the div.class-1 node and NOT the h1.class-1 node because h1 is // a sibling and not an ancestor of ul#id-1 $crawler->filter('#id-1')->closest('.class-1'); The outerHtml() method returns the whole HTML content of the node, including its own tags: 1 2 3 4 5 // returns '123' $crawler->filter('#id-1')->outerHtml(); // returns '123' $crawler->filter('#id-1')->html(); Removing all Extra White Space¶ Contributed by Hamza Amrouche in #32440. Dealing with white spaces is pretty annoying when checking the contents of some HTML tag. For example, with the following HTML snippet: 1 2 3 4 5 <div class="class-1"> <h2> Some Title Text h2> div> The following test will fail because of all the "n" and spaces that surround the title text: 1 2 // this fails because of the extra white spaces $this->assertSame('Some Title Text', $crawler->filter('.class-1')->text()); In Symfony 4.3 we introduced the assertSelectorTextContains() method to help in these situations, but starting from Symfony 4.4, you can also pass true as the second optional argument of text() to remove all extra white spaces: 1 2 // this passes because all extra white spaces are removed $this->assertSame('Some Title Text', $crawler->filter('.class-1')->text(null, true)); In addition to trimming white spaces from the beginning and the end of the string, this feature also replaces two or more white spaces inside the contents by a single white space. For example, if the original text is foo bar baz, it returns foo bar baz. Be trained by Symfony experts - 2019-10-14 Clichy - 2019-10-21 Lyon - 2019-10-28 Berlin [Less]
Posted over 4 years ago by Javier Eguiluz
Contributed by Sebastiaan Stok in #30981. Symfony 4.4 will be released in November 2019. This is the first article of the series that ... [More] shows the most important new features introduced by this Symfony version. The new Mailer and Mime components were introduced in Symfony 4.3 to replace the previous solution based on SwiftMailer. In Symfony 4.4 we've improved them with new features to allow signing and encrypting email messages using the S/MIME standard. Signing a message improves its integrity because it includes a digital signature of the hash of the entire email contents, ensuring that the original contents haven't been modified: 1 2 3 4 5 6 7 8 use Symfony\Component\Mime\Crypto\SMimeSigner; use Symfony\Component\Mime\Email; $email = (new Email())->from('...')->to('...')->html('...'); $signer = new SMimeSigner('/path/to/certificate.crt', '/path/to/certificate-private-key.key'); $signedEmail = $signer->sign($email); // now use the Mailer to send this $signedEmail instead of the original $email Encrypting a message improves its security because its contents, including any attachments, can only be read if you have the private key associated to the public key used to encrypt them: 1 2 3 4 5 6 7 8 use Symfony\Component\Mime\Crypto\SMimeEncrypter; use Symfony\Component\Mime\Email; $email = (new Email())->from('...')->to('...')->html('...'); $encrypter = new SMimeEncrypter('/path/to/certificate.crt'); $encryptedEmail = $encrypter->encrypt($email); // now use the Mailer to send this $encryptedEmail instead of the original $email Read the Signing and Encrypting Messages article in the official Symfony documentation to learn more about this feature. Be trained by Symfony experts - 2019-10-14 Clichy - 2019-10-21 Lyon - 2019-10-28 Berlin [Less]
Posted over 4 years ago by Javier Eguiluz
Contributed by Sebastiaan Stok in #30981. Symfony 4.4 will be released in November 2019. This is the first article of the series that ... [More] shows the most important new features introduced by this Symfony version. The new Mailer and Mime components were introduced in Symfony 4.3 to replace the previous solution based on SwiftMailer. In Symfony 4.4 we've improved them with new features to allow signing and encrypting email messages using the S/MIME standard. Signing a message improves its integrity because it includes a digital signature of the hash of the entire email contents, ensuring that the original contents haven't been modified: 1 2 3 4 5 6 7 8 use Symfony\Component\Mime\Crypto\SMimeSigner; use Symfony\Component\Mime\Email; $email = (new Email())->from('...')->to('...')->html('...'); $signer = new SMimeSigner('/path/to/certificate.crt', '/path/to/certificate-private-key.key'); $signedEmail = $signer->sign($email); // now use the Mailer to send this $signedEmail instead of the original $email Encrypting a message improves its security because its contents, including any attachments, can only be read if you have the private key associated to the public key used to encrypt them: 1 2 3 4 5 6 7 8 use Symfony\Component\Mime\Crypto\SMimeEncrypter; use Symfony\Component\Mime\Email; $email = (new Email())->from('...')->to('...')->html('...'); $encrypter = new SMimeEncrypter('/path/to/certificate.crt'); $encryptedEmail = $encrypter->encrypt($email); // now use the Mailer to send this $encryptedEmail instead of the original $email Read the Signing and Encrypting Messages article in the official Symfony documentation to learn more about this feature. Be trained by Symfony experts - 2019-10-21 Lyon - 2019-10-28 Berlin - 2019-10-28 Berlin [Less]
Posted over 4 years ago by Fabien Potencier
Symfony 4.3.5 has just been released. Here is a list of the most important changes: bug #33742 [Crawler] document $default as string|null (@nicolas-grekas) bug #32308 [Messenger] DoctrineTransport: ensure auto setup is only done once (@bendavies) ... [More] bug #33871 [HttpClient] bugfix exploding values of headers (@michaljusiega) bug #33834 [Validator] Fix ValidValidator group cascading usage (@fancyweb) bug #33863 [Routing] gracefully handle docre _root ini setting (@nicolas-grekas) bug #33846 [Cache] give 100ms before starting the expiration countdown (@nicolas-grekas) bug #33853 [HttpClient] fix "n _proxy" option ignored in NativeHttpClient (@Harry-Dunne) bug #33841 [VarDumper] fix dumping uninitialized SplFileInfo (@nicolas-grekas) bug #33842 [Cache] fix logger usage in CacheTrait::doGet() (@nicolas-grekas) bug #33835 [Workflow] Fixed BC break on WorkflowInterface (@lyrixx) bug #33799 [Security]: Don't let falsy usernames slip through impersonation (@j4nr6n) bug #33814 [HttpFoundation] Check if data passed to SessionBagProxy::initialize is an array (@mynameisbogdan) bug #33744 [DI] Add CSV env var processor tests / support PHP 7.4 (@ro0NL) bug #33805 [FrameworkBundle] Fix wrong returned status code in ConfigDebugCommand (@jschaedl) bug #33781 [AnnotationCacheWarmer] add RedirectController to annotation cache (@jenschude) bug #33777 Fix the :only-of-type pseudo class selector (@jakzal) bug #32051 [Serializer] Add CsvEncoder tests for PHP 7.4 (@ro0NL) feature #33776 Copy phpunit.xsd to a predictable path (@julienfalque) bug #33759 [Security/Http] fix parsing X509 emailAddress (@nicolas-grekas) bug #33733 [Serializer] fix denormalization of string-arrays with only one element (@mkrauser) bug #33754 [Cache] fix known tag versions ttl check (@SwenVanZanten) bug #33646 [HttpFoundation] allow additinal characters in not raw cookies (@marie) bug #33748 [Console] Do not include hidden commands in suggested alternatives (@m-vo) bug #33625 [DependencyInjection] Fix wrong exception when service is synthetic (@k0d3r1s) bug #32979 [Messenger] return empty envelopes when RetryableException occurs (@surikman) bug #32522 [Validator] Accept underscores in the URL validator, as the URL will load (@battye) bug #32437 Fix toolbar load when GET params are present in _wdt" route (@Molkobain) bug #32925 [Translation] Collect original locale in case of fallback translation (@digilist) bug #33691 [HttpClient] fix race condition when reading response with informational status (@nicolas-grekas) bug #33727 [HttpClient] workaround bad Content-Length sent by old libcurl (@nicolas-grekas) bug #31198 [FrameworkBundle] Fix framework bundle lock configuration not working as expected (@HypeMC) bug #33719 [Cache] dont override native Memcached options (@nicolas-grekas) bug #33703 [Cache] fail gracefully when locking is not supported (@nicolas-grekas) bug #33713 Fix exceptions (PDOException) error code type (@fruty) bug #32335 [Form] Names for buttons should start with lowercase (@mcfedr) bug #33706 [Mailer][Messenger] ensure legacy event dispatcher compatibility (@xabbuh) bug #33688 Add missing ro _attr option to FormType (@mcsky) bug #33693 [Security] use LegacyEventDispatcherProxy (@dmaicher) bug #33675 [PhpUnit] Fix usleep mock return value (@fabpot) bug #33652 [Cache] skip igbinary on PHP 7.4.0 (@nicolas-grekas) bug #33643 [HttpClient] fix throwing HTTP exceptions when the 1st chunk is emitted (@nicolas-grekas) bug #33618 fix tests depending on other components' tests (@xabbuh) bug #33626 [PropertyInfo] ensure compatibility with type resolver 0.5 (@xabbuh) bug #33620 [Twig] Fix Twig config extra keys (@fabpot) bug #33600 [Messenger] Fix exception message of failed message is dropped on retry (@tienvx) bug #33601 [HttpClient] Add default value for Accept header (@numerogeek) bug #33340 [Finder] Adjust regex to correctly match comments in gitignore contents (@Jeroeny) bug #33588 [PropertyInfo] ensure compatibility with type resolver 0.5 (@xabbuh) bug #33575 [WebProfilerBundle] Fix time panel legend buttons (@fancyweb) bug #33571 [Inflector] add support 'see' to 'ee' for singularize 'fees' to 'fee' (@maxhelias) bug #32763 [Console] Get dimensions from stty on windows if possible (@rtek) bug #33570 Fixed cache pools affecting each other due to an overwritten seed variable (@roed) bug #33517 [Yaml] properly catch legacy tag syntax usages (@xabbuh) bug #33546 [DependencyInjection] Accept existing interfaces as valid named args (@fancyweb) bug #33547 [HttpClient] Re-enable Server Push support (@dunglas) bug #33521 Fixed incompatibility between ServiceSubscriberTrait and classes with protected $container property (@a-menshchikov) bug #33518 [Yaml] don't dump a scalar tag value on its own line (@xabbuh) bug #33505 [HttpClient] fallbackto CURLMOP _MAXCONNECTS when CURLMOP _MA _HOS _CONNECTIONS is not available (@nicolas-grekas) bug #32818 [HttpKernel] Fix getFileLinkFormat() to avoid returning the wrong URL in Profiler (@Arman-Hosseini) bug #33487 [HttpKernel] Fix Apache mo _expires Session Cache-Control issue (@pbowyer) bug #33469 [FrameworkBundle] Fixed suggested package for missing server:dump command (@lyrixx) bug #31964 [Router] routing cache crash when using generato _class (@dFayet) bug #33481 [Messenger] fix empty amqp body returned as false (@Tobion) bug #33387 [Mailer] maintain sender/recipient name in SMTP envelopes (@xabbuh) bug #33449 Fix gmail relay (@Beno!t POLASZEK) bug #33391 [HttpClient] fix support for 103 Early Hints and other informational status codes (@nicolas-grekas) bug #33444 [HttpClient] improve handling of HTTP/2 PUSH, disable it by default (@nicolas-grekas) bug #33435 [Validator] Only handle numeric values in DivisibleBy (@fancyweb) bug #33437 Fix #33427 (@sylfabre) bug #33439 [Validator] Sync string to date behavior and throw a better exception (@fancyweb) bug #33436 [DI] fix support for "!tagge _locator foo" (@nicolas-grekas) bug #32903 [PHPUnit Bridge] Avoid registering listener twice (@alexpott) bug #33432 [Mailer] Fix Mailgun support when a response is not JSON as expected (@fabpot) bug #33402 [Finder] Prevent unintentional file locks in Windows (@jspringe) bug #33376 [Mailer] Remove the default dispatcher in AbstractTransport (@fabpot) bug #33357 [FrameworkBundle] Fix about command not showing .env vars (@brentybh) bug #33396 Fix #33395 PHP 5.3 compatibility (@kylekatarnls) bug #33363 [Routing] fix static route reordering when a previous dynamic route conflicts (@nicolas-grekas) bug #33385 [Console] allow Command::getName() to return null (@nicolas-grekas) bug #33353 Return null as Expire header if it was set to null (@danrot) bug #33382 [ProxyManager] remove ProxiedMethodReturnExpression polyfill (@nicolas-grekas) bug #33377 [Yaml] fix dumping not inlined scalar tag values (@xabbuh) Want to upgrade to this new release? Fortunately, because Symfony protects backwards-compatibility very closely, this should be quite easy. Read our upgrade documentation to learn more. Want to be notified whenever a new Symfony release is published? Or when a version is not maintained anymore? Or only when a security issue is fixed? Consider subscribing to the Symfony Roadmap Notifications. Be trained by Symfony experts - 2019-10-14 Clichy - 2019-10-21 Lyon - 2019-10-28 Berlin [Less]
Posted over 4 years ago by Fabien Potencier
Symfony 4.3.5 has just been released. Here is a list of the most important changes: bug #33742 [Crawler] document $default as string|null (@nicolas-grekas) bug #32308 [Messenger] DoctrineTransport: ensure auto setup is only done once (@bendavies) ... [More] bug #33871 [HttpClient] bugfix exploding values of headers (@michaljusiega) bug #33834 [Validator] Fix ValidValidator group cascading usage (@fancyweb) bug #33863 [Routing] gracefully handle docre _root ini setting (@nicolas-grekas) bug #33846 [Cache] give 100ms before starting the expiration countdown (@nicolas-grekas) bug #33853 [HttpClient] fix "n _proxy" option ignored in NativeHttpClient (@Harry-Dunne) bug #33841 [VarDumper] fix dumping uninitialized SplFileInfo (@nicolas-grekas) bug #33842 [Cache] fix logger usage in CacheTrait::doGet() (@nicolas-grekas) bug #33835 [Workflow] Fixed BC break on WorkflowInterface (@lyrixx) bug #33799 [Security]: Don't let falsy usernames slip through impersonation (@j4nr6n) bug #33814 [HttpFoundation] Check if data passed to SessionBagProxy::initialize is an array (@mynameisbogdan) bug #33744 [DI] Add CSV env var processor tests / support PHP 7.4 (@ro0NL) bug #33805 [FrameworkBundle] Fix wrong returned status code in ConfigDebugCommand (@jschaedl) bug #33781 [AnnotationCacheWarmer] add RedirectController to annotation cache (@jenschude) bug #33777 Fix the :only-of-type pseudo class selector (@jakzal) bug #32051 [Serializer] Add CsvEncoder tests for PHP 7.4 (@ro0NL) feature #33776 Copy phpunit.xsd to a predictable path (@julienfalque) bug #33759 [Security/Http] fix parsing X509 emailAddress (@nicolas-grekas) bug #33733 [Serializer] fix denormalization of string-arrays with only one element (@mkrauser) bug #33754 [Cache] fix known tag versions ttl check (@SwenVanZanten) bug #33646 [HttpFoundation] allow additinal characters in not raw cookies (@marie) bug #33748 [Console] Do not include hidden commands in suggested alternatives (@m-vo) bug #33625 [DependencyInjection] Fix wrong exception when service is synthetic (@k0d3r1s) bug #32979 [Messenger] return empty envelopes when RetryableException occurs (@surikman) bug #32522 [Validator] Accept underscores in the URL validator, as the URL will load (@battye) bug #32437 Fix toolbar load when GET params are present in _wdt" route (@Molkobain) bug #32925 [Translation] Collect original locale in case of fallback translation (@digilist) bug #33691 [HttpClient] fix race condition when reading response with informational status (@nicolas-grekas) bug #33727 [HttpClient] workaround bad Content-Length sent by old libcurl (@nicolas-grekas) bug #31198 [FrameworkBundle] Fix framework bundle lock configuration not working as expected (@HypeMC) bug #33719 [Cache] dont override native Memcached options (@nicolas-grekas) bug #33703 [Cache] fail gracefully when locking is not supported (@nicolas-grekas) bug #33713 Fix exceptions (PDOException) error code type (@fruty) bug #32335 [Form] Names for buttons should start with lowercase (@mcfedr) bug #33706 [Mailer][Messenger] ensure legacy event dispatcher compatibility (@xabbuh) bug #33688 Add missing ro _attr option to FormType (@mcsky) bug #33693 [Security] use LegacyEventDispatcherProxy (@dmaicher) bug #33675 [PhpUnit] Fix usleep mock return value (@fabpot) bug #33652 [Cache] skip igbinary on PHP 7.4.0 (@nicolas-grekas) bug #33643 [HttpClient] fix throwing HTTP exceptions when the 1st chunk is emitted (@nicolas-grekas) bug #33618 fix tests depending on other components' tests (@xabbuh) bug #33626 [PropertyInfo] ensure compatibility with type resolver 0.5 (@xabbuh) bug #33620 [Twig] Fix Twig config extra keys (@fabpot) bug #33600 [Messenger] Fix exception message of failed message is dropped on retry (@tienvx) bug #33601 [HttpClient] Add default value for Accept header (@numerogeek) bug #33340 [Finder] Adjust regex to correctly match comments in gitignore contents (@Jeroeny) bug #33588 [PropertyInfo] ensure compatibility with type resolver 0.5 (@xabbuh) bug #33575 [WebProfilerBundle] Fix time panel legend buttons (@fancyweb) bug #33571 [Inflector] add support 'see' to 'ee' for singularize 'fees' to 'fee' (@maxhelias) bug #32763 [Console] Get dimensions from stty on windows if possible (@rtek) bug #33570 Fixed cache pools affecting each other due to an overwritten seed variable (@roed) bug #33517 [Yaml] properly catch legacy tag syntax usages (@xabbuh) bug #33546 [DependencyInjection] Accept existing interfaces as valid named args (@fancyweb) bug #33547 [HttpClient] Re-enable Server Push support (@dunglas) bug #33521 Fixed incompatibility between ServiceSubscriberTrait and classes with protected $container property (@a-menshchikov) bug #33518 [Yaml] don't dump a scalar tag value on its own line (@xabbuh) bug #33505 [HttpClient] fallbackto CURLMOP _MAXCONNECTS when CURLMOP _MA _HOS _CONNECTIONS is not available (@nicolas-grekas) bug #32818 [HttpKernel] Fix getFileLinkFormat() to avoid returning the wrong URL in Profiler (@Arman-Hosseini) bug #33487 [HttpKernel] Fix Apache mo _expires Session Cache-Control issue (@pbowyer) bug #33469 [FrameworkBundle] Fixed suggested package for missing server:dump command (@lyrixx) bug #31964 [Router] routing cache crash when using generato _class (@dFayet) bug #33481 [Messenger] fix empty amqp body returned as false (@Tobion) bug #33387 [Mailer] maintain sender/recipient name in SMTP envelopes (@xabbuh) bug #33449 Fix gmail relay (@Beno!t POLASZEK) bug #33391 [HttpClient] fix support for 103 Early Hints and other informational status codes (@nicolas-grekas) bug #33444 [HttpClient] improve handling of HTTP/2 PUSH, disable it by default (@nicolas-grekas) bug #33435 [Validator] Only handle numeric values in DivisibleBy (@fancyweb) bug #33437 Fix #33427 (@sylfabre) bug #33439 [Validator] Sync string to date behavior and throw a better exception (@fancyweb) bug #33436 [DI] fix support for "!tagge _locator foo" (@nicolas-grekas) bug #32903 [PHPUnit Bridge] Avoid registering listener twice (@alexpott) bug #33432 [Mailer] Fix Mailgun support when a response is not JSON as expected (@fabpot) bug #33402 [Finder] Prevent unintentional file locks in Windows (@jspringe) bug #33376 [Mailer] Remove the default dispatcher in AbstractTransport (@fabpot) bug #33357 [FrameworkBundle] Fix about command not showing .env vars (@brentybh) bug #33396 Fix #33395 PHP 5.3 compatibility (@kylekatarnls) bug #33363 [Routing] fix static route reordering when a previous dynamic route conflicts (@nicolas-grekas) bug #33385 [Console] allow Command::getName() to return null (@nicolas-grekas) bug #33353 Return null as Expire header if it was set to null (@danrot) bug #33382 [ProxyManager] remove ProxiedMethodReturnExpression polyfill (@nicolas-grekas) bug #33377 [Yaml] fix dumping not inlined scalar tag values (@xabbuh) Want to upgrade to this new release? Fortunately, because Symfony protects backwards-compatibility very closely, this should be quite easy. Read our upgrade documentation to learn more. Want to be notified whenever a new Symfony release is published? Or when a version is not maintained anymore? Or only when a security issue is fixed? Consider subscribing to the Symfony Roadmap Notifications. Be trained by Symfony experts - 2019-10-21 Lyon - 2019-10-28 Berlin - 2019-10-28 Berlin [Less]