Changelog (v3.0.0...v3.1.0)
- security #557 [LiveComponent] Require X-Requested-With header to prevent CSRF (@Kocal)
- security #cve-2026-49216 [Autocomplete] Fix XSS via unescaped AJAX response data (@Kocal)
- security #cve-2026-49208 [LiveComponent] Parse format-less date LiveProps strictly with RFC 3339 (@Kocal)
- security #cve-2026-49209 [LiveComponent] Cap the number of actions per
_batchrequest (@Kocal) - security #cve-2026-49210 [LiveComponent] Reject malicious child component tags (@Kocal)
- security #cve-2026-49212 [LiveComponent] Bind HMAC checksum to component name and slot (@Kocal)
- security #cve-2026-49211 [Autocomplete] Escape LIKE wildcards in the search query (@Amoifr)
- feature #3601 [Translator] Add
ux:translator:warm-cachecommand (@Kocal) - feature #3432 [LiveComponent] Improve form validation error messages in exceptions (@PierreCapel)
- feature #3455 Use
twig.safe_classtag and movesetLexertoTwigComponentPass(@GromNaN) - feature #3586 [Toolkit][Shadcn] Align
button-groupwith shadcn reference (@seb-jean) - feature #3589 [Toolkit][Shadcn] Align
toggle-groupwith shadcn reference (@seb-jean) - feature #3587 [Toolkit][Shadcn] Align
hover-cardwith shadcn reference (@seb-jean) - feature #3584 [Toolkit][Shadcn] Align
collapsiblewith shadcn reference (@seb-jean) - feature #3561 [Toolkit][Shadcn] Align
tablewith shadcn reference (@seb-jean) - feature #3563 [Toolkit][Shadcn] Align
skeletonwith shadcn reference (@seb-jean) - feature #3583 [Toolkit][Shadcn] Align
dialogwith shadcn reference (@seb-jean) - feature #3585 [Toolkit][Shadcn] Align
emptywith shadcn reference (@seb-jean) - bug #3566 [LiveComponent] Make
LiveComponentSubscribersafe-by-default (@Kocal) - feature #3591 [Toolkit][Shadcn] Align
switchwith shadcn reference (@seb-jean) - feature #3592 [Toolkit][Shadcn] Align
fieldwith shadcn reference (@seb-jean) - feature #3593 [Toolkit][Shadcn] Align
radio-groupwith shadcn reference (@seb-jean) - feature #3594 [Toolkit][Shadcn] Align
input-groupwith shadcn reference (@seb-jean) - feature #3590 [Toolkit][Shadcn] Align
inputwith shadcn reference (@seb-jean) - feature #3559 [Toolkit][Shadcn] Align
itemwith shadcn reference (@seb-jean) - feature #3574 [Toolkit][Shadcn] Align
labelwith shadcn reference (@seb-jean) - feature #3573 [Toolkit][Shadcn] Align
spinnerwith shadcn reference (@seb-jean) - feature #3576 [Toolkit][Shadcn] Align
checkboxwith shadcn reference (@seb-jean) - feature #3577 [Toolkit][Shadcn] Align
progresswith shadcn reference (@seb-jean) - feature #3581 [Toolkit][Shadcn] Align
kbdwith shadcn reference (@seb-jean) - feature #3553 [Toolkit][Shadcn] Align
alert-dialogwith shadcn reference (@seb-jean) - feature #3551 [Toolkit][Shadcn] Align
accordionwith shadcn reference (@seb-jean) - feature #3539 [Toolkit][Shadcn] Align
separatorwith shadcn reference (@seb-jean) - feature #3552 [Toolkit][Shadcn] Align
alertwith shadcn reference (@seb-jean) - feature #3554 [Toolkit][Shadcn] Align
aspect-ratiowith shadcn reference (@seb-jean) - feature #3555 [Toolkit][Shadcn] Align
avatarwith shadcn reference (@seb-jean) - feature #3556 [Toolkit][Shadcn] Align
badgewith shadcn reference (@seb-jean) - feature #3557 [Toolkit][Shadcn] Align
breadcrumbwith shadcn reference (@seb-jean) - feature #3558 [Toolkit][Shadcn] Align
buttonwith shadcn reference (@seb-jean) - feature #3564 [Toolkit][Shadcn] Align
paginationwith shadcn reference (@seb-jean) - feature #3567 [Toolkit][Shadcn] Align
tabswith shadcn reference (@seb-jean) - feature #3568 [Toolkit][Shadcn] Align
tooltipwith shadcn reference (@seb-jean) - feature #3569 [Toolkit][Shadcn] Align
textareawith shadcn reference (@seb-jean) - feature #3570 [Toolkit][Shadcn] Align
resizablewith shadcn reference (@seb-jean) - bug #3565 [Autocomplete] Use
hash_equals()to compare theextra_optionschecksum (@Amoifr) - feature #3560 [Toolkit][Shadcn] Align
togglewith shadcn reference (@seb-jean) - feature #3538 [Toolkit][Shadcn] Align
cardwith shadcn reference (@seb-jean) - feature #3505 [Turbo] Add
<turbo-mercure-stream-source>custom element (@seb-jean) - feature #3531 [Toolkit] Add
version-addedkey in toolkit manifest (@MrYamous) - feature #3460 [CalendarLink] Add component (@zairigimad)
- bug #3508 [LiveComponent] Fix dynamic template resolution when using "loading" attribute (@xDeSwa)
- bug #3500 [TwigComponent] Include attribute name in null value error message (@IndraGunawan)
- feature #3527 [Toolkit][Shadcn] Rework
collapsiblerecipe to useprovide()/inject()(@Kocal) - feature #3526 [Toolkit][Shadcn] Rework
tooltiprecipe to useprovide()/inject()(@Kocal) - feature #3525 [Toolkit][Shadcn] Rework
alert-dialogrecipe to useprovide()/inject()(@Kocal) - feature #3524 [Toolkit][Shadcn] Rework
dialogrecipe to useprovide()/inject()(@Kocal) - feature #3523 [Toolkit][Shadcn] Rework
accordionrecipe to useprovide()/inject()(@Kocal) - feature #3528 [Toolkit][Shadcn] Rework
toggle-grouprecipe to useprovide()/inject()(@Kocal) - feature #3521 [Toolkit][Shadcn] Rework
tabsrecipe to useprovide()/inject()(@Kocal) - feature #3512 [TwigComponent] Add
provide()andinject()Twig functions (@Kocal) - feature #3478 [Toolkit][Shadcn] Add hover-card recipe (@Amoifr)
- feature #3485 [Toolkit][Shadcn] Add resizable recipe (@Amoifr)
- feature #3462 [Turbo] Add TurboFrame service to detect Turbo Frame requests (@seb-jean)
- feature #3439 [Turbo] Add minimal frame layout template (@seb-jean)
- feature #3464 [Toolkit][Shadcn] Add radio-group, collapsible, typography and toggle-group recipes (@Amoifr)
- feature #3442 [LiveComponent] Use
aria-busyattribute during component re-render (@Amoifr) - feature #3459 [Toolkit][Flowbite] add Dropdown and Avatar component (@DcgRG)