{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":378169967,"defaultBranch":"2.x","name":"ux-twig-component","ownerLogin":"symfony","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-06-18T14:07:48.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/143937?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1713880418.0","currentOid":""},"activityList":{"items":[{"before":"c186c43c269aef0500910d5768f94c1ef798b167","after":"6bd7c878571c62f081555b527ad62fae2859912a","ref":"refs/heads/2.x","pushedAt":"2024-05-15T20:10:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"[TwigComponent] Update DOC preMount validation data code","shortMessageHtmlLink":"[TwigComponent] Update DOC preMount validation data code"}},{"before":"2dccdcbe03efee93da7deb74837baaa5386aeb33","after":"c186c43c269aef0500910d5768f94c1ef798b167","ref":"refs/heads/2.x","pushedAt":"2024-05-08T13:52:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"[TwigComponent] Fix EscaperExtension deprecation","shortMessageHtmlLink":"[TwigComponent] Fix EscaperExtension deprecation"}},{"before":"8bb0c0c7a76c02e96fbab19bce7808cf8651769b","after":"2dccdcbe03efee93da7deb74837baaa5386aeb33","ref":"refs/heads/2.x","pushedAt":"2024-05-08T13:34:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"bug #1820 [TwigComponent] Allow input props to have the same name as context variables (squrious)\n\nThis PR was merged into the 2.x branch.\n\nDiscussion\n----------\n\n[TwigComponent] Allow input props to have the same name as context variables\n\n| Q | A |\n|--------------|-----|\n| Bug fix? | yes |\n| New feature? | no |\n| Issues | - |\n| License | MIT |\n\nIt looks like #1652 introduced an issue with input props and parent context.\n\nIf:\n- A component prop has the same name as a variable in the parent context\n- The context variable is used to set the prop value as an input prop\n- The component is rendered with the embed strategy\n\nThen, the default value of the prop is used instead of the one passed to the component.\n\nExample:\n\n```twig\n{# templates/components/Hello.html.twig #}\n\n{% props name = 'John' %}\n
\n Hello {{ name }}!\n
\n```\n\n### Render embedded\n\n```twig\n{% set name = 'Bryan' %}\n\n```\n\nWrong output:\n```html\n
\n Hello John!\n
\n```\n\n### Render with function\n\n```twig\n{% set name = 'Bryan' %}\n\n```\n\nCorrect output:\n```html\n
\n Hello Bryan!\n
\n```\n\nCommits\n-------\n\n7c4030b8 [TwigComponent] Allow input props to have the same name as context variables","shortMessageHtmlLink":"bug #1820 [TwigComponent] Allow input props to have the same name as …"}},{"before":"7ab4cc7747914d20e4c372c91556f2173a369d41","after":"8bb0c0c7a76c02e96fbab19bce7808cf8651769b","ref":"refs/heads/2.x","pushedAt":"2024-05-08T13:29:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"[TwigComponent] Remove wrongly added configuration","shortMessageHtmlLink":"[TwigComponent] Remove wrongly added configuration"}},{"before":"6f42825b2064cff9269feedd1cf4f8b06119c476","after":"7ab4cc7747914d20e4c372c91556f2173a369d41","ref":"refs/heads/2.x","pushedAt":"2024-04-30T17:46:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"[TwigComponent]: Fix silently failing tests","shortMessageHtmlLink":"[TwigComponent]: Fix silently failing tests"}},{"before":"8bee7dc08b57d736c58211f4729c1906ea023d68","after":"6f42825b2064cff9269feedd1cf4f8b06119c476","ref":"refs/heads/2.x","pushedAt":"2024-04-30T15:18:53.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"minor #1780 [TwigComponent] Throws if exposed public prop is uninitialized (smnandre)\n\nThis PR was merged into the 2.x branch.\n\nDiscussion\n----------\n\n[TwigComponent] Throws if exposed public prop is uninitialized\n\nFix #1686, fix ~~#1704~~\n\nCommits\n-------\n\n52ec8066 [TwigComponent] Throws if some exposed public props are uninitialized","shortMessageHtmlLink":"minor #1780 [TwigComponent] Throws if exposed public prop is uninitia…"}},{"before":"0adbcdb89335b13df410ed686a611704e8b1ab41","after":"8bee7dc08b57d736c58211f4729c1906ea023d68","ref":"refs/heads/2.x","pushedAt":"2024-04-30T15:05:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"[TwigComponent] Fix aria attribute cannot be removed","shortMessageHtmlLink":"[TwigComponent] Fix aria attribute cannot be removed"}},{"before":"deea03a9ab05119aaa210cd2cb8dfe7f57e989cf","after":"0adbcdb89335b13df410ed686a611704e8b1ab41","ref":"refs/heads/2.x","pushedAt":"2024-04-26T15:50:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"minor #1790 [Doc] Remove the --dir option in debug:twig-component command (javiereguiluz)\n\nThis PR was squashed before being merged into the 2.x branch.\n\nDiscussion\n----------\n\n[Doc] Remove the --dir option in debug:twig-component command\n\n| Q | A\n| ------------- | ---\n| Bug fix? | yes\n| New feature? | no\n| Issues | -\n| License | MIT\n\nI tried adding the `--dir` option and the command showed an error: `The \"--dir\" option does not exist.`\n\nLooking at the source code, it looks like this option doesn't exist:\n\nhttps://github.com/symfony/ux/blob/4b3fcaea426d7493e7151c97ba63697be0cc5061/src/TwigComponent/src/Command/TwigComponentDebugCommand.php#L47-L66\n\nCommits\n-------\n\na1d873cc [Doc] Remove the --dir option in debug:twig-component command","shortMessageHtmlLink":"minor #1790 [Doc] Remove the --dir option in debug:twig-component com…"}},{"before":"47e107b12ab450fed75ae45668a5fef3d736840a","after":"deea03a9ab05119aaa210cd2cb8dfe7f57e989cf","ref":"refs/heads/2.x","pushedAt":"2024-04-26T15:49:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"[Doc] Misc fixes in Twig Component docs","shortMessageHtmlLink":"[Doc] Misc fixes in Twig Component docs"}},{"before":"fb3d978b7f19e9a94533a3bf30d68269908ffae1","after":"47e107b12ab450fed75ae45668a5fef3d736840a","ref":"refs/heads/2.x","pushedAt":"2024-04-25T14:48:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"[TwigComponent] Fix LiveComponent namespace mapping","shortMessageHtmlLink":"[TwigComponent] Fix LiveComponent namespace mapping"}},{"before":"24b2c290ec5776099b6876d725a106d12ab04aeb","after":"fb3d978b7f19e9a94533a3bf30d68269908ffae1","ref":"refs/heads/2.x","pushedAt":"2024-04-19T16:14:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"[LiveComponent][TwigComponent] Allow Twig 3.9","shortMessageHtmlLink":"[LiveComponent][TwigComponent] Allow Twig 3.9"}},{"before":"f397824fdf650a85ce16611de7b816b08921b76f","after":"24b2c290ec5776099b6876d725a106d12ab04aeb","ref":"refs/heads/2.x","pushedAt":"2024-04-19T13:36:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"minor #1487 [TwigComponent] Twig \"use_yield\" compatibility (smnandre)\n\nThis PR was squashed before being merged into the 2.x branch.\n\nDiscussion\n----------\n\n[TwigComponent] Twig \"use_yield\" compatibility\n\nUse YielReady and allow Twig 3.9\n\nNeed #1753 to be merged first\n\nCommits\n-------\n\nb07d799c [TwigComponent] Twig \"use_yield\" compatibility","shortMessageHtmlLink":"minor #1487 [TwigComponent] Twig \"use_yield\" compatibility (smnandre)"}},{"before":"d655c3549d899bccdce5de216c4ef69237ff9cbc","after":"f397824fdf650a85ce16611de7b816b08921b76f","ref":"refs/heads/2.x","pushedAt":"2024-04-19T06:37:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"-","shortMessageHtmlLink":"-"}},{"before":"73b478e0e250906a95e339be2910311a2a7217f5","after":"d655c3549d899bccdce5de216c4ef69237ff9cbc","ref":"refs/heads/2.x","pushedAt":"2024-04-18T20:48:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Auto-close PRs on subtree-splits","shortMessageHtmlLink":"Auto-close PRs on subtree-splits"}},{"before":"c4e9a1a00a6ec7aee16b1f7d649a28d0cad789b1","after":"73b478e0e250906a95e339be2910311a2a7217f5","ref":"refs/heads/2.x","pushedAt":"2024-04-18T15:04:30.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"feature #1652 [TwigComponent] merge props from template with class props (WebMamba)\n\nThis PR was squashed before being merged into the 2.x branch.\n\nDiscussion\n----------\n\n[TwigComponent] merge props from template with class props\n\n| Q | A\n| ------------- | ---\n| Bug fix? | no\n| New feature? | yes\n| Issues | Fix #1387\n| License | MIT\n\nThis PR gives you the ability to have props in your component template and in your component PHP class.\n\nCommits\n-------\n\n345833d1 [TwigComponent] merge props from template with class props","shortMessageHtmlLink":"feature #1652 [TwigComponent] merge props from template with class pr…"}},{"before":"7ae4ce4083560b0400fa03673a3e04e2969549c6","after":"c4e9a1a00a6ec7aee16b1f7d649a28d0cad789b1","ref":"refs/heads/2.x","pushedAt":"2024-04-18T15:00:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Allow debuging components with union typed props","shortMessageHtmlLink":"Allow debuging components with union typed props"}},{"before":"52f7830aeefb07e7e3018f968f4804569f2a83c1","after":"7ae4ce4083560b0400fa03673a3e04e2969549c6","ref":"refs/heads/2.x","pushedAt":"2024-04-14T17:30:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"[Twig] add additional CVA boolean tests","shortMessageHtmlLink":"[Twig] add additional CVA boolean tests"}},{"before":"072e910af41573723cf6eaa8051af59ab7ffbe33","after":"52f7830aeefb07e7e3018f968f4804569f2a83c1","ref":"refs/heads/2.x","pushedAt":"2024-04-10T11:16:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"bug #1709 [Twig] Handle aria-* attribute boolean values (smnandre)\n\nThis PR was squashed before being merged into the 2.x branch.\n\nDiscussion\n----------\n\n[Twig] Handle aria-* attribute boolean values\n\n| Q | A\n| ------------- | ---\n| Bug fix? | yes\n| New feature? | no \n| Issues | Fix #1701\n| License | MIT\n\nConvert aria-* boolean attributes to their expected string values.\n\nCommits\n-------\n\n4ac1f614 [Twig] Handle aria-* attribute boolean values","shortMessageHtmlLink":"bug #1709 [Twig] Handle aria-* attribute boolean values (smnandre)"}},{"before":"785747ab35ee3f206db43c9f1d57301ed5470aab","after":"072e910af41573723cf6eaa8051af59ab7ffbe33","ref":"refs/heads/2.x","pushedAt":"2024-04-09T22:34:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"[Twig] Resolving boolean as variant keys","shortMessageHtmlLink":"[Twig] Resolving boolean as variant keys"}},{"before":"19c748df54e405b232742bbe840a5dd2b02af1bf","after":"785747ab35ee3f206db43c9f1d57301ed5470aab","ref":"refs/heads/2.x","pushedAt":"2024-04-09T17:55:45.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"minor #1705 [TwigComponent] Fix configuration namespace end with \"\\\" (cavasinf)\n\nThis PR was merged into the 2.x branch.\n\nDiscussion\n----------\n\n[TwigComponent] Fix configuration namespace end with \"\\\"\n\n| Q | A\n| ------------- | ---\n| Bug fix? | yes\n| New feature? | no\n| License | MIT\n\nFix the doc configuration about multi namespaces as the tree builder define.\n\nhttps://github.com/symfony/ux/blob/0f8b952f08862caf7ed76b2b5b93b6b5bfe6227f/src/TwigComponent/src/DependencyInjection/TwigComponentExtension.php#L157-L159\n\n\n\nCommits\n-------\n\n1b2b111d Fix namespace end with \"\\\"","shortMessageHtmlLink":"minor #1705 [TwigComponent] Fix configuration namespace end with \"\\\" …"}},{"before":"5e709577bde6751d3673428e0444fb1f301e7421","after":"19c748df54e405b232742bbe840a5dd2b02af1bf","ref":"refs/heads/2.x","pushedAt":"2024-04-09T17:32:03.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"minor #1653 [Twig] CVA - Rework implementation + documentation (smnandre)\n\nThis PR was squashed before being merged into the 2.x branch.\n\nDiscussion\n----------\n\n[Twig] CVA - Rework implementation + documentation\n\n| Q | A\n| ------------- | ---\n| Bug fix? | no\n| New feature? | no\n| Issues | ..\n| License | MIT\n\nTry another implementation + add some tests.\n\nUpdated/added a lot of documentation in the CVA class.\n\nAll tests are green but i'm not 100% sure this made no change at all :|\n\n`@WebMamba` I let you decide what you want to do with it (i needed a class to test some things :) ) .. really open to any choice :)\n\n`@kbond` that does not include your modifications i think :|\n\nCommits\n-------\n\n1301956d [Twig] CVA - Rework implementation + documentation","shortMessageHtmlLink":"minor #1653 [Twig] CVA - Rework implementation + documentation (smnan…"}},{"before":"00897b4bc6f1f848ffa7c857e640faed0d74f735","after":"5e709577bde6751d3673428e0444fb1f301e7421","ref":"refs/heads/2.x","pushedAt":"2024-03-27T18:33:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Remove experimental tag to HTML syntax\n\nWhat do you think ? Pretty stable now ?","shortMessageHtmlLink":"Remove experimental tag to HTML syntax"}},{"before":"463b5157d1c35842b994e4084afb36c56e63d3fa","after":"00897b4bc6f1f848ffa7c857e640faed0d74f735","ref":"refs/heads/2.x","pushedAt":"2024-03-23T14:39:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"feat(twig): Allow nested attributes","shortMessageHtmlLink":"feat(twig): Allow nested attributes"}},{"before":"51a98623695ff89a5aa80eab117c0ba6c7eb3fa5","after":"463b5157d1c35842b994e4084afb36c56e63d3fa","ref":"refs/heads/2.x","pushedAt":"2024-03-21T14:46:04.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"minor #1633 Fix typo on only and without methods documentation (JeanDavidDaviet)\n\nThis PR was squashed before being merged into the 2.x branch.\n\nDiscussion\n----------\n\nFix typo on only and without methods documentation\n\n| Q | A\n| ------------- | ---\n| Bug fix? | no\n| New feature? | no\n| Issues |\n| License | MIT\n\nThere are two typos in the `only` and `without` examples.\nThe intermediate representation still have the style and the classes attributes respectively.\n\nCommits\n-------\n\ndcfcbd74 Fix typo on only and without methods documentation","shortMessageHtmlLink":"minor #1633 Fix typo on only and without methods documentation (JeanD…"}},{"before":"077e3d8c8c37bbc90b3fa671dcd2c0b0dccda3c2","after":"51a98623695ff89a5aa80eab117c0ba6c7eb3fa5","ref":"refs/heads/2.x","pushedAt":"2024-03-20T19:15:05.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"feature #1609 [Twig] allow stringable objects as attribute values (kbond)\n\nThis PR was merged into the 2.x branch.\n\nDiscussion\n----------\n\n[Twig] allow stringable objects as attribute values\n\n| Q | A\n| ------------- | ---\n| Bug fix? | yes\n| New feature? | no\n| Issues | n/a\n| License | MIT\n\nAllows passing a stringable objects as attribute values.\n\n```twig\n{# currently #}\n {# error because stringableUriObject isn't scalar #}\n\n{# with this PR #}\n {# auto converts stringableUriObject to string #}\n```\n\nCommits\n-------\n\nf33539c1 [Twig] allow stringable objects as attribute values","shortMessageHtmlLink":"feature #1609 [Twig] allow stringable objects as attribute values (kb…"}},{"before":"44ff08732105ae361c8f54f6d0d2eaa4c3837cd7","after":"077e3d8c8c37bbc90b3fa671dcd2c0b0dccda3c2","ref":"refs/heads/2.x","pushedAt":"2024-03-20T19:13:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Fix typo","shortMessageHtmlLink":"Fix typo"}},{"before":"c32c4b10d6dc7761cfe3f14d1b244becc1d67a12","after":"44ff08732105ae361c8f54f6d0d2eaa4c3837cd7","ref":"refs/heads/2.x","pushedAt":"2024-03-11T22:11:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"[Twig] allow compound variant value to be string","shortMessageHtmlLink":"[Twig] allow compound variant value to be string"}},{"before":"99fdfd2ec9fd6d4b032c0610cbeb6437226bf05f","after":"c32c4b10d6dc7761cfe3f14d1b244becc1d67a12","ref":"refs/heads/2.x","pushedAt":"2024-03-11T01:28:31.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"feature #1600 CVA: Allow array for base, variants and compound (WebMamba)\n\nThis PR was merged into the 2.x branch.\n\nDiscussion\n----------\n\nCVA: Allow array for base, variants and compound\n\n| Q | A\n| ------------- | ---\n| Bug fix? | no\n| New feature? | yes\n| Issues | Fix #1586\n| License | MIT\n\nCommits\n-------\n\n600685c9 CVA: Allow array for base, variants and compound","shortMessageHtmlLink":"feature #1600 CVA: Allow array for base, variants and compound (WebMa…"}},{"before":"459c9aa54ddcc400a33d398035c3b8403fb03077","after":"99fdfd2ec9fd6d4b032c0610cbeb6437226bf05f","ref":"refs/heads/2.x","pushedAt":"2024-03-06T17:12:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"[TwigComponent] Register safe classes in the configurator","shortMessageHtmlLink":"[TwigComponent] Register safe classes in the configurator"}},{"before":"049cd957ad85669b565e66625811749f7c3ebc1c","after":"459c9aa54ddcc400a33d398035c3b8403fb03077","ref":"refs/heads/2.x","pushedAt":"2024-03-05T16:53:20.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"feature #1571 [TwigComponent] attributes.has() method (barbieswimcrew)\n\nThis PR was squashed before being merged into the 2.x branch.\n\nDiscussion\n----------\n\n[TwigComponent] attributes.has() method\n\n| Q | A\n| ------------- | ---\n| Bug fix? |no\n| New feature? | yes\n| Issues | -\n| License | MIT\n\nProvide a `ComponentAttributes::has()` function to be able to check via `{{ attributes.has('foo') }}` whether the attribute has been passed.\n\nI would like to show the use case in the following example. Using `attributes.has('href')`, I check whether the TwigComponent has set an 'href' attribute when it is called. If so, an `` tag should be rendered, otherwise a `