€0.00 — free as in speechtonight's forecast: clear skies over production Cache: warm · Deploys: fair, 0% rollbacks expectedset by moonlight, shipped before dawn · deploy freely Page A2

❦The Daily Commit❦ ☾The Nightly Build☽

Dev news, typeset daily — PHP · AI · The Wider Stack

The developer's evening paper — PHP · AI · The Wider Stack

Wednesday, September 30, 2026 Vol. I — No. 679 · Morning editionLate edition EN DE FR ES

PHP · Releases

Symfony releases maintenance update 6.4.47

Symfony released version 6.4.47 on 29 September.

curated by Sönke

The update fixes escaping in generated PHP code and tightens Redis namespace cleanup. Serializer cache keys and YAML parsing also receive fixes, alongside HTTP client and Messenger patches. ErrorHandler now reads the fatal-error backtrace supplied by PHP 8.5.

Symfony releases maintenance update 6.4.47
Screenshot: Symfony Releases ↗

Symfony published version 6.4.47 on 29 September. Fabien Potencier signed the release. The verified commit is 9e1e0c5, tagged with GPG key ID B5690EEEBB952194.

The update corrects several DependencyInjection cases. Symfony now tracks reused environment placeholders after an extension removes them and escapes identifiers in generated PHP. Shared circular wither services expose their service ID, and tag movement between decorators is fixed. Redis namespace cleanup now escapes glob characters, and DoctrineBridge extracts UUID and ULID types more accurately, including collections indexed by custom types.

Serializer now isolates metadata caches per instance and fixes discriminator properties renamed by a name converter. A quadratic-time bug when collecting denormalization errors is also fixed. YAML parsing now handles block scalar tags and tabs correctly, and it fixes comments following empty scalars. Nested parsers now compute correct line offsets. Finder avoids excessive backtracking with consecutive glob stars and recognizes a .git file as the repository root for ignoreVCSIgnored(). WebProfilerBundle escapes workflow diagram data and listener maps, and it truncates long AJAX URLs correctly.

NativeHttpClient::stream() no longer skips responses that are not yet open, and Symfony no longer rejects highly compressed responses. Port stripping on IPv4-mapped IPv6 forwarded addresses is fixed, and NoPrivateNetworkHttpClient now covers additional non-routable ranges. HTTP/2 push is disabled by default on the framework's HTTP client, and firewalls sharing a context now dispatch events on their own dispatcher.

Messenger fixes retry priorities for AMQP messages and preserves sub-second delays in the Doctrine transport. It also resolves a Doctrine DBAL 4.5 deprecation. ErrorHandler now uses the fatal-error backtrace supplied by PHP 8.5 and stops recursing when a logger keeps throwing.

The release also reviews translations for more than a dozen languages, among them Dutch and Albanian, and adds new messages for the Audio constraint.

Read the original source ↗

Rate this article: 0

Readers’ Forum

No contributions yet — open the debate.

← The Daily CommitThe Nightly Build — Page A1