A Week of Symfony #774 (25-31 October 2021)

This week, Symfony 4.4.33 and 5.3.10 maintenance versions were released. Meanwhile, Symfony development activity focused on finishing and polishing many new features for the upcoming Symfony 5.4 and 6.0 versions. Lastly, we announced new speakers for the SymfonyWorld Online 2021 Winter Edition conference (December 9-10, 2021) and some new additions to the Symfony Backers program.

Symfony development highlights

This week, 143 pull requests were merged (126 in code and 17 in docs) and 70 issues were closed (60 in code and 10 in docs). Excluding merges, 74 authors made 8,915 additions and 1,431 deletions. See details for code and docs.

4.4 changelog:

396f1bf: [Dotenv] fix testLoadEnv() to start from a fresh context
b3b587c: [VarDumper] fix dumping twig templates found in exceptions
e602345: fix deprecations on PHP 8.2
36f8fe5: [Messenger] fix TraceableMessageBus implementation so it can compute caller even when used within a callback
2a98147: [PhpUnitBridge] fix symlink to bridge in docker by making its path relative
1d0102e: [Dotenv] duplicate $_SERVER values in $_ENV if they don’t exist
078df14: [Config] fix signature generation with nested attributes on PHP 8.1
d146704: [Translation] correctly handle intl domains with TargetOperation
415592a: [HttpKernel] fix ErrorException in CacheWarmerAggregate
27d8daf: [Messenger] use TransportMessageIdStamp in InMemoryTransport allows retrying

5.3 changelog:

006d345: [Messenger] move username/password fix to non-deprecated Connection class
773a05d: [Security] prevent issues with timezones and DST by using only UNIX timestamps
97c32a1: [DependencyInjection] fix autowiring tagged arguments from attributes
68537b2: [FrameworkBundle] fix service definition when local vault is disabled
a14ef91: [Lock] fix incorrect return type in PostgreSqlStore
66fcfba: [TwigBundle] fix auto-enabling assets/expression/routing/yaml/workflow extensions
e5d6b8d: [Dotenv] do not pass a boolean to the constructor of the Dotenv class
95c0c10: [Cache] allow/provide psr/simple-cache v2
078df14: [Config] fix signature generation with nested attributes on PHP 8.1
4237bc5: [Runtime] consider also $_ENV when resolving APP_RUNTIME and APP_RUNTIME_OPTIONS
f7319e6: [FrameworkBundle] trigger deprecations on stderr instead of using trigger_deprecation call
a972a6a: [RateLimiter] fix wait duration for fixed window policy
1e5fbfb: [Messenger] decouple DelayStamp from timezone settings

5.4 changelog:

5107582: [Cache] do not replace definition arguments that have not been configured
c3e4bf9: [Messenger] autoconfigurable attributes
29f42aa: [Finder] fix .gitignore infinite loop
6386c0c: [FrameworkBundle] add ResponseIsUnprocessable
ed3660a: [Validator] retrieve at most two entities in UniqueEntityValidator to check uniqueness
617a612: [DependencyInjection] show class name on DI errors
a76d746: [BrowserKit, HttpClient, Routing] support building query strings with stringables
2771d6e: [DependencyInjection] add SubscribedService attribute and deprecate current ServiceSubscriberTrait usage
ee6bbb2: [FrameworkBundle] support statusCode default param when loading template directly via route
9f4fc3f: [FrameworkBundle] rename translation:update to translation:extract
4202f2a: [Security] cache voters that will always abstain
cab3c11: [Filesystem] add third argument $lockFile to Filesystem::appendToFile()
f4d96a6: [Security] implement Access Decission Manager strategies as dedicated classes
d8f85fd: [FrameworkBundle, SecurityBundle, TwigBundle] be more precise about the required Composer version
303f0c9: [RateLimiter] add support for long intervals (months and years)
08abf4e: [Messenger] choose the proper array element to decode the message
46cda1e: [WebProfilerBundle] add a preview tab in mailer profiler for HTML email
726d360: [Console] add exact command used to trigger invocation to the completion debug log
c04478e: [Security] prevent FormLoginAuthenticator from responding to requests that should be handled by JsonLoginAuthenticator
fcfcc32: [SecurityBundle] deprecate not configuring explicitly a provider for custom_authenticators when there is more than one registered provider
ff83e85: [DoctrineBridge] allow defining connection as a param in event_subscriber/listener tags
47c41d3: [FrameworkBundle, HttpKernel] add the ability to enable the profiler using a parameter
4d96f84: [Config] add some cache on SelfCheckingResourceChecker
a3c6cca: [Console] fix backslash escaping in bash completion
9c44920: [FrameworkBundle] add completion for config:dump-reference
3f0f0ce: [Translation] add completion feature on translation pull and push commands
375a89a: [FrameworkBundle] add completion feature on translation:update command
c3522c4: [PasswordHasher] add autocompletion for security commands
12f8fae: [FrameworkBundle] add completion to debug:translation command
9fe0876: [Console] add suggestions for debug commands: firewall, form, messenger, router

6.0 changelog:

44380ad: [Serializer] use hard-coded values as tag names are not configurable anymore
9015fea: [Messenger] add types to private properties
8026b0c: [Mime] add types to private properties

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) Symfony 5 Security: Authenticators, Chapter 4: Building a Login Form
(Video) Symfony 5 Security: Authenticators, Chapter 5: Firewalls & Authenticators
(Video) Symfony 5 Security: Authenticators, Chapter 6: Authenticator & The Passport
(Video) Symfony 5 Security: Authenticators, Chapter 7: Custom User Query & Credentials
(Video) Symfony 5 Security: Authenticators, Chapter 8: Authentication Success & Refreshing the User

Newest issues and pull requests

[RFC][Console] Ability to check if VALUE_OPTIONAL option was provided
[Messenger] Deprecate MessageHandlerInterface

They talked about us

Creating custom PHPStan rules for your Symfony project
Symfony Station Communique — 29 October 2021. A Look at Symfony and PHP News
Validating requests in the Symfony app
Création de règles PHPStan personnalisées pour votre projet 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-Releases

PHP 8.0.23 released!

PHP 8.1.10 released!

PHP 7.4.30 released!