🐘 PHP & Symfony Digest

Denní přehled PHP, Symfony a ekosystému · pondělí 20. července 2026
Mám dostatek dat, sestavuji finální HTML digest.

TL;DR

PHP 8.5.8 a 8.4.23: koordinované bezpečnostní vydání php release

Dne 7. července 2026 tým PHP vydal synchronizované bezpečnostní záplaty pro všechny podporované větve: PHP 8.2.32, 8.3.32, 8.4.23 a 8.5.8. Nejkritičtější opravená zranitelnost je CVE-2026-14355 — heap memory corruption spouštěná funkcí openssl_encrypt() při použití AES-WRAP-PAD cipher mode.

Kromě toho záplaty řeší: CVE-2026-6722 a CVE-2026-7261 (stale pointer a use-after-free v SOAP extension při persistentních sessions), CVE-2026-7568 a CVE-2026-7258 (signed integer overflow v char array offsetu, nesprávné předávání unsigned char do ctype.h), a CVE-2026-7259 + CVE-2026-6104 (null pointer dereference v php_mb_check_encoding() a out-of-bounds access v mbfl_name2encoding_ex()). Obě větve dále opravují bypass ochrany adresářů v Phar a problémy s Opcache inheritance cache replay. Všem uživatelům PHP 8.4 a 8.5 je upgrade doporučen okamžitě.

Symfony UX 3.3.0: Vite podpora a nové Shadcn komponenty symfony release

Vydání Symfony UX 3.3.0 ze dne 15. července 2026 přináší tři velké oblasti novinek. V StimulusBundle přibyla experimentální podpora pro Vite a Rsbuild — konfiguruje se přes vite.config.js pomocí pluginu Symfony({ stimulus: './assets/controllers.json' }). Zároveň platí, že @symfony/stimulus-bridge již není výchozí dependency (zůstává jen pro Webpack Encore). Lazy-loading direktiva stimulusFetch: 'lazy' nyní funguje i ve formátu preserved comment (/*! stimulusFetch: 'lazy' */).

Toolkit (Shadcn sada) dostala dvě nové komponenty: Sonner (toast notifikace pro přechodnou zpětnou vazbu, ux:install sonner --kit=shadcn) a Combobox (autocomplete input s prohledávatelným, filtrovaným výběrem, ux:install combobox --kit=shadcn). Příkaz ux:install nově podporuje case-insensitive vyhledávání receptů a lepší chybové zprávy s návrhy alternativ. Opraveny chyby v LiveComponent (500 error na špatných payloadech, nullable kolekce) a v Autocomplete komponentě (PostgreSQL LIKE ESCAPE klauzule).

Twig 3.28.0: čísla sloupců, dynamická makra a rychlejší sandbox symfony release

Twig 3.28.0 vydaný 3. července 2026 přináší čtyři zásadní vylepšení. Za prvé, syntaktické chyby nyní zobrazují přesné číslo sloupce (nejen řádku) — přístupné přes Error::getTemplateColumn() a Token::getOffset(). Za druhé, dynamická jména maker přes tečkový operátor: {{ forms.(field)(name, value) }}, čímž odpadá nutnost deprecated funkce attribute().

Třetí oblast jsou vylepšení sandboxu: filtry, funkce, testy a tagy lze označit jako always_allowed_in_sandbox, čímž se eliminuje boilerplate v security policies bez runtime overhead. Sandbox navíc nově wrapuje pouze argumenty, které mohou být přetypovány na string (typované parametry jako int přeskakuje) — výsledkem je výrazně méně generovaného kódu. Čtvrtou novinkou je nový CorrectnessNodeVisitor, který deprecuje sémanticky chybné konstrukce (block tag uvnitř set, špatně umístěné macro, extends nebo use tagy). Třída Twig\Markup je označena jako @final.

A Week of Symfony #1019 a vývoj Symfony 8.2 symfony

Týden 6.–12. července 2026 přinesl 48 merged pull requestů (31 v kódu, 17 v dokumentaci) od 22 autorů — celkem +5 573 / −2 979 řádků. Do větve 6.4 zamířily opravy: Cache (odstranění always-true checku ve FilesystemCommonTrait), Scheduler (oprava jitteru bránícího vynechání spuštění), Serializer (podpora vnořených array položek) a Console (fallback na stty sane při obnově terminálového stavu). Pro větev 8.2 přibyla nová funkce v Security: Allow disabling redirect on logout (PR 71d1fa7) a v AssetMapper: ignorování compiled assets v debug módu (PR d56fec8).

V diskuzi jsou nové návrhy: PR #64829 zavede příkaz messenger:show pro inspekci čekajících zpráv ve frontách Messengeru, PR #64844 přidá podporu pipe operátoru ve Validator komponentě (Validation jako invokable). Paralelně pokračuje vývoj Symfony 8.2 s funkcemi jako nový Cron validační constraint, jednorázové podepsané URL (single-use signed URLs), vizuální indikátor dumpovaných proměnných v profileru a podpora non-string parametrů v constraints. Datum vydání Symfony 8.2 je plánováno na konec roku 2026.

PHPStan 2.2.5 a Pest v4.7.5: červencové aktualizace nástrojů tooling release

PHPStan dosáhl verze 2.2.5 vydané 5. července 2026. Série 2.x je aktuálně nejnovější stabilní linií statického analyzátoru — oproti původnímu PHPStan 2.0 (podzim 2024) přidala mimo jiné Level 10 pro detekci implicitně typovaných mixed hodnot a snížila spotřebu paměti o 50–70 % na velkých projektech. Doprovodný balíček phpstan/phpstan-phpunit dosáhl verze 2.0.17 (vydáno 1. července 2026) a PHPStan plugin pro Pest byl aktualizován 17. července na verzové požadavky PHP ^8.4 a PHPStan ^2.2.5.

Pest vydal v4.7.5 dne 6. července 2026. Tato verze vyžaduje PHP ^8.3.0 a PHPUnit ^12.5.30, čímž reflektuje aktuální minimum PHPUnit ekosystému. Série Pest v4 přináší nativní integraci s PHP 8.3+ funkcemi a vylepšenou interoperabilitu s PHPStan pro statickou analýzu testovacího kódu. Oba nástroje spolu pokračují v těsnější integraci — pestphp/pest-plugin-phpstan zajišťuje type-safe analýzu Pest testů přímo v PHPStan pipeline.

API Platform 5.0.0-alpha.2: první kroky k dalšímu major vydání release php

Dne 12. července 2026 byl na Packagist uvolněn API Platform 5.0.0-alpha.2 — druhá alfa verze připravovaného major release. Aktuální stabilní verze řady 4.x je 4.3.17, přičemž integrace pro Laravel (api-platform/laravel) je na verzi 4.3.13 z června 2026. API Platform 5.0 se nachází v aktivní alpha fázi a jeho vývoj probíhá souběžně s udržováním stabilní větve 4.3.

Alpha 2 zatím nemá veřejný changelog se specifickým výčtem změn, ale z trackeru projektu vyplývá, že verze 5.0 přinese zásadní architektonické změny jak pro Symfony, tak pro Laravel integraci — včetně přepracovaného API pro definici resources a nové vrstvy pro state providers. Projekt aktuálně podporuje dvě aktivní větve (4.2 a 4.3). Pro ty, kdo plánují migraci, doporučuje tým API Platform sledovat alpha cyklus a testovat kompatibilitu s existujícími projekty co nejdříve — migrační breakingy se mezi alpha verzemi mohou ještě měnit.