{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":20519989,"defaultBranch":"5.x","name":"faq-bundle","ownerLogin":"contao","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-06-05T09:50:44.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1206136?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716543504.0","currentOid":""},"activityList":{"items":[{"before":"bb3ea9882d92f0722502ebb6d05c742ddacc3e8d","after":"54d5d41706ce4148a9bb03afdb83a75e8295c185","ref":"refs/heads/5.x","pushedAt":"2024-05-07T09:25:33.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Merge branch '5.3' into 5.x\n\n# Conflicts:\n#\tCHANGELOG.md\n#\tcalendar-bundle/contao/languages/it/tl_module.xlf\n#\tcore-bundle/config/listener.yaml\n#\tcore-bundle/contao/languages/it/default.xlf\n#\tcore-bundle/contao/languages/it/tl_article.xlf\n#\tcore-bundle/contao/languages/it/tl_content.xlf\n#\tcore-bundle/contao/languages/it/tl_maintenance.xlf\n#\tcore-bundle/contao/languages/it/tl_member.xlf\n#\tcore-bundle/contao/languages/it/tl_module.xlf\n#\tcore-bundle/contao/languages/it/tl_page.xlf\n#\tcore-bundle/contao/languages/it/tl_theme.xlf\n#\tcore-bundle/contao/languages/it/tl_user.xlf\n#\tcore-bundle/contao/languages/sl/default.xlf\n#\tcore-bundle/contao/languages/sl/exception.xlf\n#\tcore-bundle/contao/languages/sl/explain.xlf\n#\tcore-bundle/contao/languages/sl/modules.xlf\n#\tcore-bundle/contao/languages/sl/tl_article.xlf\n#\tcore-bundle/contao/languages/sl/tl_content.xlf\n#\tcore-bundle/contao/languages/sl/tl_files.xlf\n#\tcore-bundle/contao/languages/sl/tl_image_size.xlf\n#\tcore-bundle/contao/languages/sl/tl_log.xlf\n#\tcore-bundle/contao/languages/sl/tl_maintenance.xlf\n#\tcore-bundle/contao/languages/sl/tl_member.xlf\n#\tcore-bundle/contao/languages/sl/tl_module.xlf\n#\tcore-bundle/contao/languages/sl/tl_page.xlf\n#\tcore-bundle/contao/languages/sl/tl_settings.xlf\n#\tcore-bundle/contao/languages/sl/tl_theme.xlf\n#\tcore-bundle/contao/languages/sl/tl_user.xlf\n#\tnews-bundle/contao/languages/it/tl_module.xlf","shortMessageHtmlLink":"Merge branch '5.3' into 5.x"}},{"before":"4cc550b0051be846e3d7c4dcd3fa37ebfa297c07","after":"ccf982b71179fc3c5cf304928d3e9513477fb90d","ref":"refs/heads/5.3","pushedAt":"2024-05-03T10:46:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Do not use the deprecated `replaceInsertTags` hook (see #7164)\n\nDescription\n-----------\n\nWe currently trigger several `Using the \"replaceInsertTags\" hook has been deprecated…` deprecations because we still use the legacy hook.\r\n\r\nIs this a bug?\n\nCommits\n-------\n\n99a451de Do not use deprecated replaceInsertTags hook","shortMessageHtmlLink":"Do not use the deprecated replaceInsertTags
hook (see #7164)"}},{"before":"b57039bc278247eae4f75f2a477b613e97b8aed9","after":"4cc550b0051be846e3d7c4dcd3fa37ebfa297c07","ref":"refs/heads/5.3","pushedAt":"2024-04-25T13:06:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"PHP 8.4 compatibility (see #7156)\n\nDescription\n-----------\n\nThis fixes the `Implicitly marking parameter … as nullable is deprecated, the explicit nullable type must be used instead` deprecations in PHP 8.4.\n\nCommits\n-------\n\n8d00f5c7 PHP 8.4 compatibility\ne7c328e9 Enable the type hint order fixer","shortMessageHtmlLink":"PHP 8.4 compatibility (see #7156)"}},{"before":"81714d73471432cfb24e74ba511e6cdc987ab331","after":"bb3ea9882d92f0722502ebb6d05c742ddacc3e8d","ref":"refs/heads/5.x","pushedAt":"2024-04-16T11:01:50.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Merge branch '5.3' into 5.x\n\n# Conflicts:\n#\tCHANGELOG.md\n#\tcalendar-bundle/contao/languages/tr/tl_module.xlf\n#\tcomments-bundle/contao/languages/tr/default.xlf\n#\tcomments-bundle/contao/languages/tr/tl_calendar.xlf\n#\tcomments-bundle/contao/languages/tr/tl_faq.xlf\n#\tcomments-bundle/contao/languages/tr/tl_faq_category.xlf\n#\tcomments-bundle/contao/languages/tr/tl_news_archive.xlf\n#\tnews-bundle/contao/languages/tr/tl_module.xlf\n#\tnewsletter-bundle/contao/languages/tr/tl_newsletter.xlf","shortMessageHtmlLink":"Merge branch '5.3' into 5.x"}},{"before":"e3cb79b4643ccb833e70fd5347f11936814e4522","after":"b57039bc278247eae4f75f2a477b613e97b8aed9","ref":"refs/heads/5.3","pushedAt":"2024-04-16T10:04:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Update and run the tools (see #7119)\n\nDescription\n-----------\n\n\n\nCommits\n-------\n\n0302dc06 Update and run the tools","shortMessageHtmlLink":"Update and run the tools (see #7119)"}},{"before":"8ff0d4cd844a06aa9b7b9f7e79cd84e096aa9b1a","after":"81714d73471432cfb24e74ba511e6cdc987ab331","ref":"refs/heads/5.x","pushedAt":"2024-04-12T11:50:30.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Merge branch '5.3' into 5.x","shortMessageHtmlLink":"Merge branch '5.3' into 5.x"}},{"before":"961103282c4b571403358427e63c944420ef7454","after":"e3cb79b4643ccb833e70fd5347f11936814e4522","ref":"refs/heads/5.3","pushedAt":"2024-04-12T07:48:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Use Encore to minify the SVG icons (see #7107)\n\nDescription\n-----------\n\nNow we finally no longer need Gulp.\n\nCommits\n-------\n\n0d2453c7 Use Encore to minify the SVG icons\neba79bab Remove Gulp\n87538b58 Enable the `noSpaceAfterFlags` option again\naa173358 Run `yarn build`\n1b16c3bc Remove the entrypoints.json and manifest.json files\n7e4642da Ignore the generated .json files\n5f3487e1 Also optimize the public icons\n18f87ec2 Update the dependencies","shortMessageHtmlLink":"Use Encore to minify the SVG icons (see #7107)"}},{"before":"57adbe0549291d00be633b3bf02f80e0d1293cf5","after":"961103282c4b571403358427e63c944420ef7454","ref":"refs/heads/5.3","pushedAt":"2024-03-21T16:25:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Update the changelog and the language files","shortMessageHtmlLink":"Update the changelog and the language files"}},{"before":"24dee7804624731a7983af7daf5c4be5ad3d5c6a","after":"ff683673f08d0645d2eba532e6d731b0330fde0a","ref":"refs/heads/4.13","pushedAt":"2024-03-20T11:25:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Update the changelog and the language files","shortMessageHtmlLink":"Update the changelog and the language files"}},{"before":"47c8c823262fe8cdf9f8bf867c83b65cc4d6311d","after":"8ff0d4cd844a06aa9b7b9f7e79cd84e096aa9b1a","ref":"refs/heads/5.x","pushedAt":"2024-03-08T09:13:12.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Merge branch '5.3' into 5.x\n\n# Conflicts:\n#\tCHANGELOG.md\n#\tCONTRIBUTORS.md\n#\tcalendar-bundle/contao/languages/lv/tl_calendar_events.xlf\n#\tcalendar-bundle/contao/languages/lv/tl_module.xlf\n#\tnews-bundle/contao/languages/lv/tl_module.xlf\n#\tnews-bundle/contao/languages/lv/tl_news.xlf\n#\tnewsletter-bundle/contao/languages/lv/tl_newsletter.xlf","shortMessageHtmlLink":"Merge branch '5.3' into 5.x"}},{"before":"c4f364ae9f0907b9d83111e416ab212c32984ebb","after":"57adbe0549291d00be633b3bf02f80e0d1293cf5","ref":"refs/heads/5.3","pushedAt":"2024-03-08T09:07:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Update the changelog and the language files","shortMessageHtmlLink":"Update the changelog and the language files"}},{"before":"2e06e211a972f22610d7906684f4db952175a975","after":"c4f364ae9f0907b9d83111e416ab212c32984ebb","ref":"refs/heads/5.3","pushedAt":"2024-03-08T08:01:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Use `Model::findById()` instead of `Model::findByPk()` (see #6916)\n\nDescription\n-----------\n\nAs suggested in https://github.com/contao/contao/pull/6912#issuecomment-1953933996.\n\nCommits\n-------\n\n46e13539 Deprecate the `Model::findByPk()` logic\n0883f65c Remove the deprecation again and update the tools","shortMessageHtmlLink":"Use Model::findById()
instead of Model::findByPk()
(see #6916)"}},{"before":"655ec1d90cffae6def94ffff07ad343ec3fc35bd","after":"47c8c823262fe8cdf9f8bf867c83b65cc4d6311d","ref":"refs/heads/5.x","pushedAt":"2024-02-20T10:45:15.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Merge branch '5.3' into 5.x","shortMessageHtmlLink":"Merge branch '5.3' into 5.x"}},{"before":"e5240b8d2afa8de10163534174f852c95d2492c7","after":"2e06e211a972f22610d7906684f4db952175a975","ref":"refs/heads/5.3","pushedAt":"2024-02-20T10:39:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Inconsistent use of `findById()` and `findByPk()` (see #6912)\n\nDescription\n-----------\n\nThere were a few places where we used `findById()` instead of `findByPk()`, which we normally use to find a model by ID. This would not work if we ever renamed the primary key, even though that will most likely never happen.\n\nCommits\n-------\n\nfb2d794e Inconsistent use of `findById()` and `findByPk()`","shortMessageHtmlLink":"Inconsistent use of findById()
and findByPk()
(see #6912)"}},{"before":"ed1fedb77bf8893a2c8a77dce5db2d57b345c00d","after":"e5240b8d2afa8de10163534174f852c95d2492c7","ref":"refs/heads/5.3","pushedAt":"2024-02-20T08:24:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Remove unnecessary inline `@var` annotations (see #6902)\n\nDescription\n-----------\n\nWe generally use inline `@var` annotations for PhpStorm and PHPStan.\r\n\r\nPhpStorm now understands a lot more than when we added the inline `@var` annotations, so I was able to remove many of them. And PHPStan prefers more robust ways to ensure type safety anyway, so I replaced the PHPStan-related annotations with return type extensions where possible.\n\nCommits\n-------\n\n3bfda662 Remove unnecessary inline @var annotations in the calendar bundle\n77582d7d Remove unnecessary inline @var annotations in the comments bundle\n52339d87 Remove unnecessary inline @var annotations in the FAQ bundle\nf6a81d73 Remove unnecessary inline @var annotations in the listing bundle\n4790c503 Remove unnecessary inline @var annotations in the manager bundle\nf6dd8095 Remove unnecessary inline @var annotations in the news bundle\n2ae60b1a Remove unnecessary inline @var annotations in the newsletter bundle\n41cc39d2 Remove unnecessary inline @var annotations in the core bundle\n35b70b4a Fix the @template annotation of the ResponseContext class\nc3d3038f Fix a call in the Model class\nf4a29eca Fix the reverse PHPUnit tests\nad050a81 Use findByPk() instead of getRelated()\n32a4ce41 Final touch-ups","shortMessageHtmlLink":"Remove unnecessary inline @var
annotations (see #6902)"}},{"before":"fb626b2831c54b6d4364c15abcd6531d35eb9fe1","after":"655ec1d90cffae6def94ffff07ad343ec3fc35bd","ref":"refs/heads/5.x","pushedAt":"2024-02-12T15:18:45.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Merge branch '5.3' into 5.x\n\n# Conflicts:\n#\tCHANGELOG.md\n#\tCONTRIBUTORS.md\n#\tcore-bundle/contao/languages/ja/tl_maintenance.xlf\n#\tcore-bundle/contao/languages/sl/tl_theme.xlf\n#\tcore-bundle/contao/languages/tr/tl_maintenance.xlf","shortMessageHtmlLink":"Merge branch '5.3' into 5.x"}},{"before":"a83bbae7a1cc8e22cd96444d2ecb6543cb3ab032","after":"f26e2d70500e78147734f275d5b55f12374086bf","ref":"refs/heads/5.2","pushedAt":"2024-02-12T13:18:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Update the changelog and the language files","shortMessageHtmlLink":"Update the changelog and the language files"}},{"before":"3ec1c90eb71008148578d9323e498e48655e5d8c","after":"ed1fedb77bf8893a2c8a77dce5db2d57b345c00d","ref":"refs/heads/5.3","pushedAt":"2024-02-09T09:43:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Update and run the tools (see #6873)\n\nDescription\n-----------\n\n\n\nCommits\n-------\n\n2745c0e1 Update and run the tools","shortMessageHtmlLink":"Update and run the tools (see #6873)"}},{"before":"2ecf93a5cd96a2498aec47dcf32c85c0138b4333","after":"3ec1c90eb71008148578d9323e498e48655e5d8c","ref":"refs/heads/5.3","pushedAt":"2024-01-26T13:48:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Update the changelog and the language files","shortMessageHtmlLink":"Update the changelog and the language files"}},{"before":"64bbec8c6947901d69688a9d94e7019b4739f500","after":"fb626b2831c54b6d4364c15abcd6531d35eb9fe1","ref":"refs/heads/5.x","pushedAt":"2024-01-25T17:15:38.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Merge branch '5.3' into 5.x\n\n# Conflicts:\n#\t.github/PULL_REQUEST_TEMPLATE.md","shortMessageHtmlLink":"Merge branch '5.3' into 5.x"}},{"before":"5c186ed129661ca0e0213a7e8ea423002611e217","after":"2ecf93a5cd96a2498aec47dcf32c85c0138b4333","ref":"refs/heads/5.3","pushedAt":"2024-01-25T10:31:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Use auto-configuration where possible (see #6743)\n\nDescription\n-----------\n\nI‘m adding the PR to save the work, however, the configuration is still scattered and not fully visible anywhere. I wish we wouldn‘t use auto-configuration at all, then the config files would be the single source of truth.\n\nCommits\n-------\n\n63e4959a Show the relative path to the config files instead of just the name\nac21392f Check the tags\nc43c1e76 Do not register the PickerProviderInterface for autoconfiguration in …\n9db0db03 Use auto-configuration where possible\n055a01c6 Fix the reverse order tests\nb925a196 Fine-tuning","shortMessageHtmlLink":"Use auto-configuration where possible (see #6743)"}},{"before":"4d9c9fa4dac87f44db97dbca548bc0f556e6de77","after":"5c186ed129661ca0e0213a7e8ea423002611e217","ref":"refs/heads/5.3","pushedAt":"2024-01-22T12:21:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leofeyer","name":"Leo Feyer","path":"/leofeyer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1192057?s=80&v=4"},"commit":{"message":"Support CSP on WYSIWYG editors like TinyMCE (see #6719)\n\nDescription\n-----------\n\nNow that CSP has landed in https://github.com/contao/contao/pull/6631 (❤️ 🥳 ) we can properly prevent inline styles from being applied randomly which adds yet another layer of security to Contao.\r\n\r\nMy local tests showed that everything is working perfectly fine, except for inline style attributes on our RTE/tinyMCE/WYSIWYG editor fields. Obviously, if you use something like\r\n\r\n```html\r\n
Foobar
\r\n```\r\n\r\nthis won't work anymore now, as this is possibly forbidden if you do not allow inline styles in your CSP (which you shouldn't as it weakens the policy).\r\n\r\nHere's a quick draft of how we could improve on this. I thought I'd code it real quick as it's easier to understand for everybody if there's code to look at 😊 \r\nThe logic is pretty simple: extract the `style` attributes from HTML and if they match an allow-list of pre-defined properties (for security reasons), auto-generate CSP hashes for them.\n\nCommits\n-------\n\naf729ce9 Support CSP on WYSIWYG editors like tinyMCE\n737f2d2f Combine multiple identical styles to one CSS class\n343a656d Switch to hashing implementation\ne920800b Remove library\n5d49663a Switch to regex implementation\n9f7cd5af Finished implementation preparing for @ausi\n7bd17a47 Update core-bundle/src/Twig/Extension/ContaoExtension.php\n7cd9d160 Adjust the pull request template\n3e5cf53c CSP WYSIWYG (#15)\na327b522 Added calls on all templates\n5e3f6477 Fixed tests\n054c0eb1 Make method nullable\n347c77f4 Revert changes\nf1a4a314 Fix regex\n0e9e2158 Decode HTML entities before parsing the styles\ndb67dc12 Test TemplateTrait::extractStyleAttributesForCsp()\n8cda64e4 Fix font regex\n11b55607 Rename extract_styles_for_csp to csp_inline_styles\nf991bbdc Rename extractStyleAttributesForCsp to cspInlineStyles\n6de2fdd1 Rename inlineStyle to cspInlineStyle\n\nCo-authored-by: ausi