symfony/ux-toolkit
A tool to easily create a design system in your Symfony app with customizable, well-crafted Twig components
v3.4.0
202K downloads/mo
#3416 most downloaded on Packagist
symfony/ux-toolkit
What this package is like to depend on
Last release 23 days ago
31 Jul 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 10 of 11 stable releases
Nothing withdrawn
no release was ever pulled
7 months old
11 releases · first in 2026
9 releases in the last 12 months
see the full history below
Release timeline
9 releases · Jan 2026 to Jul 2026Releases
latest 11-
v3.4.031 Jul 2026Release notes
Open source →Changelog (v3.3.0...v3.4.0)
- feature #3740 Add
clipboardandtooltiprecipes (@kbond) - feature #3733 Document Stimulus controller CSS classes and outlets in the API reference (@kbond)
- feature #3736 Rework and normalize usage of
attributes.defaults()in kits components (@seb-jean, @Kocal) - minor #3735 Add sync-packages.php to normalize packages .gitattributes (@Kocal)
- minor #3734 Remove
heightpreview option (@Kocal) - feature #3724 Document Stimulus controllers in the recipe API reference (@kbond)
- feature #3725 Add
closeablerecipe (@kbond) - feature #3713 Boostrap Toolkit (@smnandre, @Kocal)
- bug #3720 Fix suggested frontend installation commands (@smnandre)
- feature #3719 Support kit-level dependencies (@smnandre)
- bug #3721 Require the correct twig/html-extra version for
html_attr_*filters (@Kocal) - feature #3718 Add a documentation rendering layer so kits can describe themselves (@Kocal)
- feature #3707 Add the
commonkit withlogout-linkandpost-linkrecipes (@kbond) - bug #3710 Fix
Table:CellandTable:Headclass attibutes merging (@stephen-lewis) - feature #3709 Add
ClassMergeSpacingCheckerchecker to the linter (@Kocal)
Release notes
Open source →- [Bootstrap] Add the Bootstrap kit
- [Common] Add the
commonkit, with design-system agnosticclipboard,closeable,logout-link,post-linkandtooltiprecipes - Add new linter checker
ClassMergeSpacingCheckerthat checks for invalid'<literal>' ~ attributes.render(...)pattern - Add new linter checker
AttributesDefaultsCheckerthat forbidsdata-slot(and, in Tailwind kits, ARIA, Stimulus valuedata-*-valueand statedata-*attributes) insideattributes.defaults() - [Shadcn][Flowbite] Normalize
attributes.defaults()usage: renderdata-slot, statedata-*and ARIA attributes directly, and keep onlydata-controller/data-action(plus overridable HTML defaults) inattributes.defaults() - Add per-recipe
README.mddocumentation - Document Stimulus controllers in the recipe API reference from their
@value/@target/@css-class/@outlet/@actiondocblocks, and lint those docblocks with the newStimulusControllerDocChecker - Add
RecipeDocRendererthat renders recipes docs as HTML or Markdown, to ease wiring official kits into ux.symfony.com and, in the future, previewing community kits - Add optional
colorandiconfields to the kit manifest - Include kit-global dependencies when installing a recipe
- feature #3740 Add
-
v3.3.009 Jul 2026Release notes
Open source →Changelog (v3.2.0...v3.3.0)
- feature #3700 Resolve
ux:installrecipe name case-insensitively and suggest alternatives (@Kocal) - feature #3696 Dismiss the
tooltipon scroll and resize, and stop it from intercepting pointer events while hidden (@Kocal) - feature #3694 Refactor (again) but improve
@propand@blockcomments format (@Kocal) - feature #3477 Add Sonner (@makraz)
- minor #3693 Make component rendering snapshots independent from the libxml version (@Kocal)
- feature #3482 Add Combobox (@makraz)
Release notes
Open source →- Lint component docblocks: check the
{# @prop #}and{# @block #}format and their consistency with the{% props %}declaration and the rendered blocks - [Shadcn] Add
comboboxrecipe - [Shadcn] Add
sonnerrecipe - [Shadcn] Dismiss the
tooltipon scroll and resize, and stop it from intercepting pointer events while hidden
- feature #3700 Resolve
-
v3.2.019 Jun 2026Release notes
Open source →Changelog (v3.1.0...v3.2.0)
- security #cve-2026-55878 Harden recipe installer against path traversal (@Kocal)
- bug #3682 Fix position and phantom text-node in
tooltiprecipe (@Kocal) - bug #3672 Fix linting issues (@Kocal)
- feature #3671 Allow declaring kit-global dependencies in kit manifest (@Kocal)
- bug #3659 Consider recipe deps in StimulusControllerChecker (@Kocal)
- feature #3655 Add lint kit command and CI lint workflow (@Kocal)
- bug #3652 Fix manifest dependencies (@seb-jean)
Release notes
Open source →- Add lint kit command
bin/ux-toolkit-kit-lintto check for issues in local kits - Allow declaring kit-global dependencies in a kit manifest
- Harden recipe installer against path traversal (security fix).
- Fix dependencies in several Shadcn recipe manifests
- Fix dependencies in several Flowbite v4 recipe manifests
- Fix position and remove phantom text node in the Shadcn
tooltiprecipe
-
v3.1.027 May 2026Release notes
Open source →Changelog (v3.0.0...v3.1.0)
- feature #3586 Align
button-groupwith shadcn reference (@seb-jean) - feature #3589 Align
toggle-groupwith shadcn reference (@seb-jean) - feature #3587 Align
hover-cardwith shadcn reference (@seb-jean) - feature #3584 Align
collapsiblewith shadcn reference (@seb-jean) - feature #3561 Align
tablewith shadcn reference (@seb-jean) - feature #3563 Align
skeletonwith shadcn reference (@seb-jean) - feature #3583 Align
dialogwith shadcn reference (@seb-jean) - feature #3585 Align
emptywith shadcn reference (@seb-jean) - feature #3591 Align
switchwith shadcn reference (@seb-jean) - feature #3592 Align
fieldwith shadcn reference (@seb-jean) - feature #3593 Align
radio-groupwith shadcn reference (@seb-jean) - feature #3594 Align
input-groupwith shadcn reference (@seb-jean) - feature #3590 Align
inputwith shadcn reference (@seb-jean) - feature #3559 Align
itemwith shadcn reference (@seb-jean) - feature #3574 Align
labelwith shadcn reference (@seb-jean) - feature #3573 Align
spinnerwith shadcn reference (@seb-jean) - feature #3576 Align
checkboxwith shadcn reference (@seb-jean) - feature #3577 Align
progresswith shadcn reference (@seb-jean) - feature #3581 Align
kbdwith shadcn reference (@seb-jean) - feature #3553 Align
alert-dialogwith shadcn reference (@seb-jean) - feature #3551 Align
accordionwith shadcn reference (@seb-jean) - feature #3539 Align
separatorwith shadcn reference (@seb-jean) - feature #3552 Align
alertwith shadcn reference (@seb-jean) - feature #3554 Align
aspect-ratiowith shadcn reference (@seb-jean) - feature #3555 Align
avatarwith shadcn reference (@seb-jean) - feature #3556 Align
badgewith shadcn reference (@seb-jean) - feature #3557 Align
breadcrumbwith shadcn reference (@seb-jean) - feature #3558 Align
buttonwith shadcn reference (@seb-jean) - feature #3564 Align
paginationwith shadcn reference (@seb-jean) - feature #3567 Align
tabswith shadcn reference (@seb-jean) - feature #3568 Align
tooltipwith shadcn reference (@seb-jean) - feature #3569 Align
textareawith shadcn reference (@seb-jean) - feature #3570 Align
resizablewith shadcn reference (@seb-jean) - feature #3560 Align
togglewith shadcn reference (@seb-jean) - feature #3538 Align
cardwith shadcn reference (@seb-jean) - feature #3531 Add
version-addedkey in toolkit manifest (@MrYamous) - feature #3527 Rework
collapsiblerecipe to useprovide()/inject()(@Kocal) - feature #3526 Rework
tooltiprecipe to useprovide()/inject()(@Kocal) - feature #3525 Rework
alert-dialogrecipe to useprovide()/inject()(@Kocal) - feature #3524 Rework
dialogrecipe to useprovide()/inject()(@Kocal) - feature #3523 Rework
accordionrecipe to useprovide()/inject()(@Kocal) - feature #3528 Rework
toggle-grouprecipe to useprovide()/inject()(@Kocal) - feature #3521 Rework
tabsrecipe to useprovide()/inject()(@Kocal) - feature #3478 Add hover-card recipe (@Amoifr)
- feature #3485 Add resizable recipe (@Amoifr)
- feature #3464 Add radio-group, collapsible, typography and toggle-group recipes (@Amoifr)
- feature #3459 add Dropdown and Avatar component (@DcgRG)
- feature #3586 Align
-
v3.0.009 Apr 2026Release notes
Open source →Changelog (v2.34.0...v3.0.0)
- feature #3453 Update minimum required Symfony version to 7.4 (@Kocal)
- feature #3450 Upgrade minimum required PHP version to 8.4 (@Kocal)
- feature #3368 Add kit Flowbite 4.0 base (@DcgRG)
- feature #3421 Add Toggle (@zairigimad)
- feature #3407 Allow Symfony UX 3.x packages (@Kocal)
- feature #3409 Embrace
html_attr_typefromtwig/html-extra:^3.24to correctly merge trigger's attributes (@Kocal) - bug #3398 Post-merge fixes for 3.x (@Kocal)
- bug #3187 Add phpunit.dist.xml in .gitattributes (@Kocal)
- bug #3182 Drop Symfony PHPUnit Bridge in favor of PHPUnit >= 11.0 (@Kocal)
- feature #2998 Upgrade minimum required PHP version to 8.2 (@Kocal)
- feature #2996 Update minimum required Symfony version to ^6.4 (@Kocal)
Release notes
Open source →- Minimum required Symfony version is now 7.4
- Minimum required PHP version is now 8.4
- [Shadcn] Add
radio-grouprecipe - [Shadcn] Add
collapsiblerecipe - [Shadcn] Add
typographyrecipe - [Shadcn] Add
toggle-grouprecipe
-
v2.36.119 Jun 2026Release notes
Open source →Changelog (v2.36.0...v2.36.1)
- security #cve-2026-55878 Harden recipe installer against path traversal (@Kocal)
-
v2.36.004 Apr 2026 -
v2.35.0no dateRelease notes
Open source →Changelog (v2.34.0...v2.35.0)
- feature #3368 Add kit Flowbite 4.0 base (@DcgRG)
- feature #3421 Add Toggle (@zairigimad)
- feature #3407 Allow Symfony UX 3.x packages (@Kocal)
- feature #3409 Embrace
html_attr_typefromtwig/html-extra:^3.24to correctly merge trigger's attributes (@Kocal)
-
v2.34.015 Mar 2026 -
v2.33.0no dateRelease notes
Open source →Changelog (v2.32.0...v2.33.0)
- feature #3356 Add Tabs recipe (@DcgRG)
- bug #3376 Fix initial "open" state for AlertDialog and Dialog (Sylvain Gagnot)
- bug #3373 (Shadcn] Fix Tooltip's wrapper when re-rendered by LiveComponent (Sylvain Gagnot)
- bug #3355 Fix CI (@Kocal)
- bug #3348 Fix
tailwind_mergeparentheses and simplifyattributes… (@seb-jean) - bug #3345 Rewrite
@propdocumentation to normalizeDefaults to ...(@Kocal) - bug #3343 Improve
@propand@blockannotations description (@Kocal) - feature #3326 Update Avatar component (@ker0x, @Kocal)
- feature #3318 Update Alert CSS class, add Alert:Action component (@ker0x)
- feature #3321 Add Tooltip component (@Kocal)
- feature #3292 Add Accordion component (@daFish)
- bug #3320 Fix
Fielddemo code (@Kocal) - feature #3299 Rework recipes docs/examples (@Kocal)
- bug #3300 Fix text color in dark mode for AlertDialog/Dialog components (@Kocal)
- bug #3291 Fix text color of
Badgedestructive variant (@Jibbarth) - feature #3282 Prepare base for recipe type
Block(@jeremyFreeAgent) - bug #3280 Fix compatibility issues with Symfony 8 and spatie/phpunit-snapshot-assertions (@Kocal)
- bug #3278 Fix recipe name display when asking for what alternative recipe to install (@jeremyFreeAgent)
- bug #3277 fix getRecipes method with type (@jeremyFreeAgent)
Release notes
Open source →- [Shadcn] Add
accordionrecipe - [Shadcn] Add
tabsrecipe - [Shadcn] Add
tooltiprecipe - [Shadcn] Rework templates of
alertrecipe - [Shadcn] Rework templates of
avatarrecipe - [Shadcn] Rework templates of
badgerecipe - [Shadcn] Rework templates of
buttonrecipe - [Shadcn] Rework templates of
cardrecipe - [Shadcn] Rework templates of
input-grouprecipe - [Shadcn] Rework templates of
tablerecipe - [Shadcn] Rework templates of
textarearecipe - [Shadcn] Add
Avatar:Badgecomponent - [Shadcn] Add
Avatar:Fallbackcomponent - [Shadcn] Add
Avatar:Groupcomponent - [Shadcn] Add
Avatar:GroupCountcomponent - [Shadcn] Add
Alert:Actioncomponent - [Shadcn] Remove
Avatar:Textcomponent
-
v2.32.001 Jan 2026Nothing published for this version