A Week of Symfony #791 (21-27 February 2022)

This week, Symfony announced that Symfony 6.1 will require PHP 8.1. This is needed to fix some issues related to PHP preloading. We also decided to extend Symfony 6.0 maintenance by an additional 6 months to give you more time to prepare the migration to PHP 8.1. Finally, Symfony announced the last talks and speakers for the SymfonyLive Paris 2022 conference.

Symfony development highlights

This week, 41 pull requests were merged (32 in code and 9 in docs) and 52 issues were closed (48 in code and 4 in docs). Excluding merges, 23 authors made 2,181 additions and 1,647 deletions. See details for code and docs.

4.4 changelog:

5da0d00: [Cache] add missing log when saving namespace
7bc53c6: [HttpFoundation] fix missing ReturnTypeWillChange attribute
46408f0: [VarDumper] fix dumping mysqli_driver instances
75bf7fa: [Validator] fix AssertingContextualValidator not throwing on remaining expectations
9a22b37: [Serializer] fix passing null to str_contains()
19eae7e: [DependencyInjection] clarify that using expressions in parameters is not allowed
d6ba84f: [HttpClient] fix overriding default options with null
7ce0ebe: [DependencyInjection] don’t reset env placeholders during compilation
392d88e: [Validator] improve tests for the Image and File constraints
989175a: [Mailer] fix failed exception contract when enabling Messenger in MailerInterface
65e6faa: [WebProfilerBundle] add nonces to profiler
b8bf937: [HttpClient] handle requests with null body

5.4 changelog:

49b6d7f: [Messenger] fix dealing with unexpected payload in Redis transport
87a1a34: [Lock] release Locks from Internal Store on Postgres waitAndSave
1765f3f: [Console] fix null handling in formatAndWrap()
d2ab9cf: [Validator] multi decimal to alpha for CssColor validator
30aeb85: [WebProfilerBundle] improved profiler log panel adding a filter for notice messages, fixed log priority and accessibility

6.1 changelog:

b823652: use ::class instead of FQCN
f341ce5: [PhpUnitBridge] limit the list of deprecations to 5 per message
0c1bf57: [HttpKernel] add Profiler::isEnabled() method
49b6d7f: [Messenger] fix dealing with unexpected payload in Redis transport
3eb26c1: [Routing] support the attribute type (as an alias of annotation) in annotation loaders
a14eb3f: [Serializer] deprecate support for abstract uid denormalization in UidNormalizer
8a31425: [HttpKernel] add the UidValueResolver argument value resolver
63c3e95: [Mailer] ability to customize payload when sending mail through mailjet+api
c38a9bd: [Translation] add the possibilty to export xliff translation with the .xliff suffix
1765f3f: [Console] fix null handling in formatAndWrap()
d907339: [Console] add missing return type to WrappableOutputFormatterInterface
08fa74a: bump minimum version of PHP to 8.1

Newest issues and pull requests

Allow enum type for validation groups
[Messenger] Exactly-once messages
[Messenger] [AMQP] Support decoding user/pass with special characters from DSN

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

Update supported Platform.sh services (@fabpot)
Remove some cloud:* commands (@fabpot)
Add Docker config detection when creating a project on Cloud (@fabpot)
Use terminal.Logger as base logger instead of a raw zerolog one in local:php:list (@tucksaun)
Fix book:checkout when using docker-compose.yml instead of docker-compose.yaml (@fabpot)
Fix book:checkout for Doctrine migrations (@fabpot)

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) EasyAdmin course, Chapter 18: Creating a Custom Field
(Video) EasyAdmin course, Chapter 19: configureCrud()
(Video) EasyAdmin course, Chapter 20: Custom Field JavaScript

They talked about us

Autowiring in Symfony
Symfony Examples of API Endpoints to Download Files
Simple API mocking with the Symfony HTTP client
How we got to Sylius 1.11 release – a developer’s perspective
How to Create a Connection to Spotify’s Web API Using Symfony
Symfony Station Communiqué — 25 February 2022
Symfony Form — JsonType
DDD, Hexagonal Architecture & CQRS with Symfony and Doctrine
Solid PHP – SOLID principles in PHP
Symfony Messenger vs EventDispatcher learn more
CMS en Symfony : quelles fonctionnalités ?
Substitution simple d’API avec le client HTTP 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.0.19 released!

PHP 7.4.29 released!