A Week of Symfony #843 (20-26 February 2023)

This week, the upcoming Symfony 6.3 version experienced an intense development activity to finish many new features such as: adding a remember me option for JSON logins, allowing to trim parameters in XML config files, introducing a new Exclude attribute, allowing to define the batch size in Messenger component and allowing to extend the Autowire attribute.

Symfony development highlights

This week, 89 pull requests were merged (64 in code and 25 in docs) and 35 issues were closed (28 in code and 7 in docs). Excluding merges, 46 authors made 12,970 additions and 8,104 deletions. See details for code and docs.

5.4 changelog:

cd75615: fix phpdocs in HttpClient, HttpFoundation, HttpKernel, Intl components
490fa24: [WebProfilerBundle] render original (not encoded) email headers
6627291: [Workflow] remove new lines from workflow metadata
dee9e76: [Mailer, Translation] remove some static occurrences that may cause unstable tests
eb9db6c: [Contracts] fix setting $container before calling parent::setContainer in ServiceSubscriberTrait
e9bd2ab: [Cache, Messenger] fixed CallbackInterface support in async expiration handler
879b5d1: [TwigBridge] do not drop embed label classes
3db2dd6: [MonologBridge] FirePHPHandler::onKernelResponse throws PHP 8.1 deprecation when no user agent is set
0955438: [Validator] sync IBAN formats with Swift IBAN registry
01a222b: [Validator] fix translation of AtLeastOneOf constraint message
111af45: [FrameworkBundle] fix denyAccessUnlessGranted for mixed attributes
2a633cf: [VarDumper] fix error when reflected class has default Enum parameter in constructor
cfda9b4: [Translation] handle the translation of empty strings
e364f02: [TwigBridge] allow floats in html5 input type number field
5bc4d55: [Workflow] display label with new lines + colours properly when rendering a PUML dump
51b859f: [Console] fix ApplicationTest::testSetSignalsToDispatchEvent() when ran alon

6.2 changelog:

49092e3: [Form] skip password hashing on empty password
0eb0ae5: [SecurityBundle] fix Security::login() on specific firewall
6bd3af0: [Mailer] update Infobip API transport
1498f91: [Console] fix fatal error when accessing Application::signalRegistry without pcntl

6.3 changelog:

b7cb458: [TwigBundle] add alias deprecation for Twig_Environment
84658da: [DependencyInjection] allow trimming service parameters value in XML configuration files
798efba: [DependencyInjection] improve dumping closure of service closure
bef46c8: [DependencyInjection] allow extending Autowire attribute
fb03495: [Mailer] add option to enable Sandbox via dsn option sandbox=true
7008ae6: [Messenger] allow to define batch size when using BatchHandlerTrait with getBatchSize()
72cb6a6: [HttpKernel] add skip_response_headers to the HttpCache options
f523468: [Validator] implement countUnit option for Length constraint
6d29f32: [DependencyInjection] include value type when unable to dump a service container
24a5f20: [DependencyInjection] only dump array keys when value is not a list
7e2c026: [DependencyInjection] remove static from closures
c2eae43: [DependencyInjection] use short arrow closure for EmptyIterator
db16802: [DependencyInjection] only include $containerRef in compiled container when needed
a736d6a: [FrameworkBundle, HttpKernel] configure ErrorHandler on boot
0a9a264: [WebProfilerBundle] fix the rendering of query explanation with Postgresql
22c576b: [FrameworkBundle] allow disabling dumping of container to XML to improve performance
fa37492: [FrameworkBundle] add framework.http_cache.skip_response_headers option
f3722d5: [FrameworkBundle, HttpKernel] display warmers duration on debug verbosity for cache:clear command
dcfb5b8: [DependencyInjection] add support for Exclude attribute
b87aa86: [Mailer] add MailerSend bridge
681905b: [DependencyInjection] exclude current id from non-existent references alternatives
23ea82d: [Notifier] add Pushover bridge
7ed43d1: [Serializer] replace the MissingConstructorArgumentsException class with MissingConstructorArgumentException
0d57a3f: [HttpClient] add UriTemplateHttpClient
41e8f3f: [Security] add remember me option for JSON logins
3b207f2: [FrameworkBundle, HttpClient] refactor http_client decoration strategy
ad17631: [DependencyInjection] optimize out „current()“ when it’s used as service factory

Newest issues and pull requests

[RFC] [Console] typehint input as attribute?
[DependencyInjection] Introduce ClosureArgument next to ServiceClosureArgument
[Serializer] Support value resolvers?
[DomCrawler] Make validateOnParse an overwritable option
[Workflow] Allow transitions for multiple places with same name

Symfony CLI

Symfony CLI is a must-have tool when developing
Symfony applications on your local machine. It includes the
Symfony Local Server,
the best way to run local Symfony applications. This week Symfony CLI released
its new 5.5.1
version with the following changes:

Update Go to 1.20 and bump deps (@tucksaun)
Tweak PSH extensions list generator (@tucksaun)
Prevent directory traversal (@tucksaun)
Fix version command by upgrading deps (@fabpot)
Fix some typos and grammar issues (@javiereguiluz)
Fix deprecated used of github.com/docker/docker/client (@tucksaun)
Fix deb packaging for ARM v6/v7 (@tucksaun)
Fix Platform.sh PHP extension parsing (@fabpot)
Enable releasing for ARM v6 and v7 (@tucksaun)
Add support for MongoDB username and password (@tucksaun)

SymfonyCasts Updates

SymfonyCasts is the official way to learn Symfony.
Select a track for a guided path through 100+ video tutorial courses about
Symfony, PHP and JavaScript.

These were some of the most relevant SymfonyCasts updates
of the week:

(Video) API Platform 3: Mythically Good RESTful APIs, Chapter 20: Relations & Iris
(Video) API Platform 3: Mythically Good RESTful APIs, Chapter 21: Embedded Relations
(Video) API Platform 3: Mythically Good RESTful APIs, Chapter 22: Embedded Write
(Video) API Platform 3: Mythically Good RESTful APIs, Chapter 23: Adding Items to a Collection Property
(Video) API Platform 3: Mythically Good RESTful APIs, Chapter 24: Creating Embedded Objects
(Video) API Platform 3: Mythically Good RESTful APIs, Chapter 25: Removing Items from a Collection
(Video) API Platform 3: Mythically Good RESTful APIs, Chapter 26: Filtering on Relations

They talked about us

Symfony Station Communiqué – 24 February 2023
How to install Symfony with Flowbite and Tailwind CSS
How to create a custom DQL function in Symfony
API Platform Conference 2023: we’re back!
Clean Architecture, DDD, гексагональная архитектура. Разбираем на практике blog на Symfony

Call to Action

Follow Symfony on Twitter and retweet this article.
Subscribe to the Symfony blog RSS and never miss a Symfony story again.

Sponsor the Symfony project.

Symfony Blog

Read More

Latest News


PHP 8.2.4 released!

PHP 8.1.17 released!

PHP 8.0.28 released!

Generated by Feedzy