A Week of Symfony #884 (4-10 December 2023)

This week, Symfony celebrated the SymfonyCon Brussels 2023 conference with great success. During the hackday, the community contributed many bug fixes and new features for the upcoming Symfony 7.1 version. Lastly, we announced the next SymfonyCon edition: SymfonyCon Vienna 2024 (December 5 – 6, 2024).

Symfony development highlights

This week, 73 pull requests were merged (40 in code and 33 in docs) and 44 issues were closed (32 in code and 12 in docs). Excluding merges, 49 authors made 10,323 additions and 48,883 deletions. See details for code and docs.

5.4 changelog:

a0b3913: [Serializer] fix nullable int cannot be serialized
650f153: [Messenger] avoid reconnecting active Redis connections
57f60d0: [Console] fix xterm detection
7f778ac: [Dotenv] properly handle SYMFONY_DOTENV_VARS being the empty string
7121397: [Console] fix color support check on non-Windows platforms
ff864b1: [Mailer] stop using the (local) AWS shared configuration in PHPUnit
be829a9: [Validator] update Slovak translations

6.3 changelog:

db099a3: [HttpKernel] catch TypeError if the wrong type is used in BackedEnumValueResolver
1c87e55: [ExpressionLanguage] fix null coalescing propagation
c481dba: [WebProfilerBundle] fix intercept external redirects
83b5c67: [VarDumper] test intl formatter broken since dumper does not replace the nnbsp character by standard space
27bc8d6: [FrameworkBundle] added missing XML attribute in Webhook config XSD

6.4 changelog:

a314b65: [SecurityBundle] fix redeclaration of InternalSecurity class when opcache preload is active
f58cf04: [WebProfilerBundle] fix „Copy as cURL“
f0099d9: [FrameworkBundle] fix profiling command in web context
fec8909: [FrameworkBundle] fix profiling commands without router

7.0 changelog:

abf4125: [WebProfiler] fix unclosed JS script cannot be parsed

7.1 changelog:

ca43978: [CssSelector, Serializer, Translation, Command] clean unused code
4644f47: [PropertyInfo] make PhpDocExtractor::getDocBlock() public
e6c260d: [HttpFoundation] add UploadedFile::getClientOriginalPath() to support directory uploads
11f09e0: [Messenger] improve PHPDoc descriptions of attribute classes and properties
dc330b0: [Messenger] add –all option to messenger:consume
5d50fa8: [PropertyAccess, Serializer] fix „type unknown“ on denormalize
05b677c: [Mailer] dispatch event for Postmark’s „inactive recipient“ API error
229cbf2: [Workflow] add getEnabledTransition() method annotation to WorkflowInterface
48951a0: [Cache, Messenger] make both options redis_sentinel and sentinel_master available everywhere
c4e97eb: [HttpClient] add HttpOptions->addHeader as a shortcut to add an header in an existing options object
088bd94: [Mailer] add Azure bridge
37634c6: [Form] errors Property Paths mismatch CollectionType children when removing an entry
5ae3df5: [Security, SecurityBundle] add #[IsCsrfTokenValid] attribute

Newest issues and pull requests

[AssetMapper] Support requiring Sass .scss files in the same way as CSS
[Messenger] Support extending AsMessageHandler attribute
Built In automatic Scheduler monitoring
[Messenger] Add $previous to failed message details
[AssetMapper] Some comments and questions
[Routing] Use the controller’s FQCN as default internal route name, instead of app_controller_method

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.7.4
and 5.7.5
versions with the following changes:

Avoid adding the same service more than once in psh configs (@fabpot)
Add –api flag to local:new command to create a new API project (@pierredup)

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.

This week, SymfonyCasts continued publishing videos of a new course called 30 Days with LAST Stack which is free until January 15, 2024:

(Video) 30 Days with LAST Stack, Chapter 04: 3rd Party JavaScript Packages
(Video) 30 Days with LAST Stack, Chapter 05: CSS
(Video) 30 Days with LAST Stack, Chapter 06: Tailwind CSS
(Video) 30 Days with LAST Stack, Chapter 07: Stimulus
(Video) 30 Days with LAST Stack, Chapter 08: Symfony UX Packages
(Video) 30 Days with LAST Stack, Chapter 09: Turbo Drive

They talked about us

Symfony Station Communiqué – 08 December 2023
SymfonyCon follow-up: Doctrine entities vs Domain entities
Master task scheduling with Symfony Scheduler
How to Implement a Simple Queue in Symfony
Symfony and iRODS Optimization: Python, Asynchronous Handling, and Redis Integration
PHP and Symfony Apps As Standalone Binaries
Month of Sylius: November
Des filtres enregistrés dans vos admins Sonata
Maîtrisez la planification des tâches avec Symfony Scheduler
SymfonyCon Brussel 2023
Symfony Profilerのココが好き!
symfony/skeletonのcomposer.jsonを読んでみる
symfonyでvalidationのメッセージを日本語化したメモ

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-Releases

PHP 8.3.15 released!

PHP 8.2.27 released!

PHP 8.1.31 released!

Generated by Feedzy