{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":54374659,"defaultBranch":"main","name":"core","ownerLogin":"TYPO3-CMS","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-03-21T09:12:51.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/3920091?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715675759.0","currentOid":""},"activityList":{"items":[{"before":"a8179ae1c027ba3c960fde79d866bdd8091f8a21","after":"12e8c2b6c309575948e2d3b94d35125c024014c3","ref":"refs/heads/main","pushedAt":"2024-06-07T10:35:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[FEATURE] Allow custom translations for extbase validators\n\nExtbase validators use hardcoded translation keys to display messages\nwhen a validated value is not valid. It is however only possible to\noverwrite the translation keys globally, which in many scenarios is\nnot suitable. It is also not possible to define an individual\ntranslation key on property or validator basis, so translated\nmessages can not be individualized for the current usage scope.\n\nThis feature introduces the possibility to define custom translation\nkeys or a custom message for extbase validators by using validator\noptions. This allows developers to provide individual translation\nkeys for the current usage scope as shown in the example below:\n\n```\n 'validator' => 'NotEmpty',\n 'options' => [\n 'nullMessage' => 'LLL:EXT:my_extension/Resources/Private/Language/locallang.xlf:validation.myProperty.notNull',\n 'emptyMessage' => 'LLL:EXT:my_extension/Resources/Private/Language/locallang.xlf:validation.myProperty.notEmpty',\n ],\n])]\nprotected string $title = '';\n```\n\nThis change also deprecates the validator option `errorMessage`\nof the `RegularExpressionValidator` in favor to the new\n`message` option.\n\nAdditionally, 3 unused translation keys in the locallang.xlf\nfile have been removed.\n\nResolves: #102326\nReleases: main\nSigned-off-by: Torben Hansen \nChange-Id: Ie1932c7d51a29ac5655adf2ce226b2bd44a682f4\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81696\nTested-by: Oliver Klee \nReviewed-by: Simon Schaufelberger \nTested-by: Benni Mack \nReviewed-by: Garvin Hicking \nReviewed-by: Benni Mack \nTested-by: Simon Schaufelberger \nTested-by: core-ci \nTested-by: Garvin Hicking ","shortMessageHtmlLink":"[FEATURE] Allow custom translations for extbase validators"}},{"before":"5e250a1e4e2327b5aebc3651f313454883d5fb60","after":"a8179ae1c027ba3c960fde79d866bdd8091f8a21","ref":"refs/heads/main","pushedAt":"2024-06-07T08:36:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[FEATURE] User TsConfig option for default resources ViewMode\n\nBy default, resources are displayed as tiles in listings since\nTYPO3 v12.1 (#99155).\n\nThe preferred view mode can be selected by a user and is saved\nin his uc data.\n\nWith the new User TSconfig option `options.defaultResourcesViewMode`\nit's now also possible to define the inital view mode for a\nuser (group).\n\nResolves: #102155\nRelated: #99155\nReleases: main\nChange-Id: Ibbdf03504b853519a14a360110b51491b916e14f\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84508\nReviewed-by: Benni Mack \nReviewed-by: Julian Hofmann \nReviewed-by: Oliver Bartsch \nTested-by: core-ci \nTested-by: Julian Hofmann \nTested-by: Benni Mack \nTested-by: Oliver Bartsch ","shortMessageHtmlLink":"[FEATURE] User TsConfig option for default resources ViewMode"}},{"before":"e1780cabfb96b6ce518575ee0303a742e813acf5","after":"5e250a1e4e2327b5aebc3651f313454883d5fb60","ref":"refs/heads/main","pushedAt":"2024-06-07T00:32:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[TASK] Make TS [END] an own include object\n\nThe new v12 TypoScript parser works pretty well. It is time\nto rule out some of its rough edges in v13: In hinsight,\nthe biggest structural issues of the rewrite reside in the\nIncludeTree structure, which has been oversimplified at some\nplaces.\n\nOne problem is reflected within the BE modules 'TypoScript ->\nIncluded TypoScript' and 'Page TSconfig -> Include page TSconfig',\nwhich are not as easy to grasp as they could be. Those are\nessentially a straight view of the created IncludeTree.\n\nThe patch changes a single decision within these trees:\n\"condition end\" token (\"[END]\" / \"[GLOBAL]\") have been added\nto the line stream of the currently given tree object until\nnow, but they should be a dedicated node reflected in the tree.\n\nThe patch turns \"condition stop\" into dedicated objects within\nthe tree. This makes BE include tree display more easy to grasp\nand allows simplified scanning for missing and superfluous condition\nstop lines in the future. It is also a base for better rendering\nof the \"code view\" within the modules.\n\nAdditionally, condition and condition-else now render their\ncondition tokens in the BE modules, which should help\nintegrators to understand the tree more easily by simplified\nmatching to known parts of TS source.\n\nResolves: #103990\nRelated: #97816\nRelated: #102103\nReleases: main\nChange-Id: Ifb375ba321d98a17a372f49a5a096968387893ce\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84511\nTested-by: Stefan Bürk \nTested-by: core-ci \nReviewed-by: Georg Ringer \nTested-by: Jasmina Ließmann \nTested-by: Georg Ringer \nReviewed-by: Jasmina Ließmann \nReviewed-by: Stefan Bürk ","shortMessageHtmlLink":"[TASK] Make TS [END] an own include object"}},{"before":"53337f00bfed81461f4e35f0e80de5b1f9867555","after":"223e8d06f28648f3a7dc483580d9093c0239f5d7","ref":"refs/heads/12.4","pushedAt":"2024-06-05T15:36:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[TASK] Require array in setFlatConstants()\n\nConstant substitution in TS parser is implemented in\nConstantAwareTokenStream. It kicks in by casting the\nstream to string after existing constants have been\nset using ConstantAwareTokenStream->setFlatConstants().\n\nTo not have a \"polluted\" stream after setFlatConstants(),\nthe constants are reset using setFlatConstants(null)\nafter use. Ugly. Patch #102742 established a partial\nsolution already by cloning the stream instead.\n\nFinish the clone approach to disallow setFlatConstants(null).\nAdd two missing void return annotations at related places\nalong the way.\n\nResolves: #103982\nRelated: #97816\nRelated: #102742\nReleases: main, 12.4\nChange-Id: I964bb40dfa1e29b23f876ba85ad05ba2a94ca6d6\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84507\nTested-by: core-ci \nReviewed-by: Christian Kuhn \nTested-by: Christian Kuhn ","shortMessageHtmlLink":"[TASK] Require array in setFlatConstants()"}},{"before":"e6349dab8391ec1bbf0348af85821d0b1a91ca3a","after":"e1780cabfb96b6ce518575ee0303a742e813acf5","ref":"refs/heads/main","pushedAt":"2024-06-05T15:34:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[TASK] Require array in setFlatConstants()\n\nConstant substitution in TS parser is implemented in\nConstantAwareTokenStream. It kicks in by casting the\nstream to string after existing constants have been\nset using ConstantAwareTokenStream->setFlatConstants().\n\nTo not have a \"polluted\" stream after setFlatConstants(),\nthe constants are reset using setFlatConstants(null)\nafter use. Ugly. Patch #102742 established a partial\nsolution already by cloning the stream instead.\n\nFinish the clone approach to disallow setFlatConstants(null).\nAdd two missing void return annotations at related places\nalong the way.\n\nResolves: #103982\nRelated: #97816\nRelated: #102742\nReleases: main, 12.4\nChange-Id: I964bb40dfa1e29b23f876ba85ad05ba2a94ca6d6\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84506\nReviewed-by: Stefan Bürk \nReviewed-by: Garvin Hicking \nTested-by: Garvin Hicking \nTested-by: core-ci \nTested-by: Christian Kuhn \nReviewed-by: Christian Kuhn \nTested-by: Stefan Bürk ","shortMessageHtmlLink":"[TASK] Require array in setFlatConstants()"}},{"before":"3184a2d016cec9bf6bf3a718851be71e4539f726","after":"a13c9983f893bfb296099b2c730bab9eeb3e8438","ref":"refs/heads/11.5","pushedAt":"2024-06-05T15:07:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[BUGFIX] Perform is_dir without trailing slash\n\nWorkaround a PHP issue which will produce an open_basedir\nrestriction warning if `is_dir()` is used on a regular file\nwhen the trailing slash is provided.\n\nResolves: #103943\nReleases: main, 12.4, 11.5\nChange-Id: Iaa83658113ff8abb0ab8051b519f76135effd627\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84437\nTested-by: core-ci \nTested-by: Benjamin Franzke \nReviewed-by: Benjamin Franzke ","shortMessageHtmlLink":"[BUGFIX] Perform is_dir without trailing slash"}},{"before":"bbe39420cf962a936329350134bbfaff3cbf4eb1","after":"53337f00bfed81461f4e35f0e80de5b1f9867555","ref":"refs/heads/12.4","pushedAt":"2024-06-05T15:05:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[BUGFIX] Perform is_dir without trailing slash\n\nWorkaround a PHP issue which will produce an open_basedir\nrestriction warning if `is_dir()` is used on a regular file\nwhen the trailing slash is provided.\n\nResolves: #103943\nReleases: main, 12.4, 11.5\nChange-Id: Iaa83658113ff8abb0ab8051b519f76135effd627\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84461\nTested-by: Benjamin Franzke \nTested-by: core-ci \nReviewed-by: Benjamin Franzke ","shortMessageHtmlLink":"[BUGFIX] Perform is_dir without trailing slash"}},{"before":"a09842b196f206d7a810e7f9992e4993f40d3e1a","after":"e6349dab8391ec1bbf0348af85821d0b1a91ca3a","ref":"refs/heads/main","pushedAt":"2024-06-05T15:03:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[BUGFIX] Perform is_dir without trailing slash\n\nWorkaround a PHP issue which will produce an open_basedir\nrestriction warning if `is_dir()` is used on a regular file\nwhen the trailing slash is provided.\n\nResolves: #103943\nReleases: main, 12.4, 11.5\nChange-Id: Iaa83658113ff8abb0ab8051b519f76135effd627\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84452\nTested-by: Christian Kuhn \nTested-by: Benjamin Franzke \nTested-by: Stefan Bürk \nReviewed-by: Stefan Bürk \nReviewed-by: Christian Kuhn \nReviewed-by: Benjamin Franzke \nTested-by: core-ci ","shortMessageHtmlLink":"[BUGFIX] Perform is_dir without trailing slash"}},{"before":"d2f343d19a3b72537aea6598df531b5e847e2b36","after":"bbe39420cf962a936329350134bbfaff3cbf4eb1","ref":"refs/heads/12.4","pushedAt":"2024-06-05T14:11:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[TASK] Add description to allowed_languages field\n\nIt might not be clear to users how the allowed_languages field works\nby default when setting permissions for a backend user or group.\n\nIf no languages are selected from the allowed_languages list,\nall languages will be available for the given user or group.\n\nTo make this clearer, a description has been added to explain it\nstraightforwardly.\n\nResolves: #103757\nReleases: main, 12.4\nChange-Id: If0c0fd9c998f51a0e44617faae3365f2e02bc82e\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84503\nTested-by: Christian Kuhn \nReviewed-by: Christian Kuhn \nTested-by: core-ci ","shortMessageHtmlLink":"[TASK] Add description to allowed_languages field"}},{"before":"1a472356463849f5876832b8df25d9cbd0b3009f","after":"a09842b196f206d7a810e7f9992e4993f40d3e1a","ref":"refs/heads/main","pushedAt":"2024-06-05T14:09:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[TASK] Add description to allowed_languages field\n\nIt might not be clear to users how the allowed_languages field works\nby default when setting permissions for a backend user or group.\n\nIf no languages are selected from the allowed_languages list,\nall languages will be available for the given user or group.\n\nTo make this clearer, a description has been added to explain it\nstraightforwardly.\n\nResolves: #103757\nReleases: main, 12.4\nChange-Id: If0c0fd9c998f51a0e44617faae3365f2e02bc82e\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84078\nTested-by: Torben Hansen \nReviewed-by: Garvin Hicking \nReviewed-by: Guido Schmechel \nTested-by: Garvin Hicking \nTested-by: Christian Kuhn \nReviewed-by: Christian Kuhn \nTested-by: core-ci \nReviewed-by: Torben Hansen \nReviewed-by: Thomas Hohn \nTested-by: Guido Schmechel ","shortMessageHtmlLink":"[TASK] Add description to allowed_languages field"}},{"before":"17fbf4a239c29476dec263de54bb5236f446c9a0","after":"3184a2d016cec9bf6bf3a718851be71e4539f726","ref":"refs/heads/11.5","pushedAt":"2024-06-05T14:05:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[TASK] Relogin on lost ac test session\n\nSometimes - for unknown reasons - a session gets\nlost in acceptance tests. Tests then hang in BE login\nwaiting for BE load and fail with a timeout.\nWe now catch this timeout and relogin, and also enable\ncookie debug output to increase chances to fix the\nreal issue.\n\nResolves: #103981\nRelated: #103086\nReleases: main, 12.4, 11.5\nChange-Id: I0b10118968933b52523bbee8f8f608db60ad884e\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84502\nTested-by: core-ci \nTested-by: Christian Kuhn \nReviewed-by: Stefan Bürk \nTested-by: Stefan Bürk \nReviewed-by: Christian Kuhn ","shortMessageHtmlLink":"[TASK] Relogin on lost ac test session"}},{"before":"5ca948d0c791b4ce333b397025985f7cb510d70c","after":"1a472356463849f5876832b8df25d9cbd0b3009f","ref":"refs/heads/main","pushedAt":"2024-06-05T14:03:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[TASK] Relogin on lost ac test session\n\nSometimes - for unknown reasons - a session gets\nlost in acceptance tests. Tests then hang in BE login\nwaiting for BE load and fail with a timeout.\nWe now catch this timeout and relogin, and also enable\ncookie debug output to increase chances to fix the\nreal issue.\n\nResolves: #103981\nRelated: #103086\nReleases: main, 12.4, 11.5\nChange-Id: I0b10118968933b52523bbee8f8f608db60ad884e\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84499\nTested-by: core-ci \nTested-by: Christian Kuhn \nTested-by: Stefan Bürk \nReviewed-by: Christian Kuhn \nReviewed-by: Benjamin Franzke \nTested-by: Benjamin Franzke \nReviewed-by: Stefan Bürk ","shortMessageHtmlLink":"[TASK] Relogin on lost ac test session"}},{"before":"3671865e0455d4671fb1da4310e9423329d320e7","after":"d2f343d19a3b72537aea6598df531b5e847e2b36","ref":"refs/heads/12.4","pushedAt":"2024-06-05T14:01:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[TASK] Relogin on lost ac test session\n\nSometimes - for unknown reasons - a session gets\nlost in acceptance tests. Tests then hang in BE login\nwaiting for BE load and fail with a timeout.\nWe now catch this timeout and relogin, and also enable\ncookie debug output to increase chances to fix the\nreal issue.\n\nResolves: #103981\nRelated: #103086\nReleases: main, 12.4, 11.5\nChange-Id: I0b10118968933b52523bbee8f8f608db60ad884e\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84501\nReviewed-by: Christian Kuhn \nReviewed-by: Stefan Bürk \nTested-by: Stefan Bürk \nTested-by: Christian Kuhn \nTested-by: core-ci ","shortMessageHtmlLink":"[TASK] Relogin on lost ac test session"}},{"before":"ff3e6685789619d97748e678853ed9279027b447","after":"3671865e0455d4671fb1da4310e9423329d320e7","ref":"refs/heads/12.4","pushedAt":"2024-06-05T10:24:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[TASK] Clarify constants do not work in constant conditions\n\nFrontend TypoScript 'constants' do support conditions. But\nconstants can not be used within conditions, just like\nconstants in general can not be used within constants.\n\nThe patch adapts the \"new TS parser\" ReST to clarify.\n\nResolves: #103953\nRelated: #97816\nReleases: main, 12.4\nChange-Id: I0e21a320582f2f0edbde432fe36767540ab7993b\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84460\nTested-by: Christian Kuhn \nReviewed-by: Christian Kuhn \nTested-by: core-ci ","shortMessageHtmlLink":"[TASK] Clarify constants do not work in constant conditions"}},{"before":"8a32bedfdbf98c99bf7fcb9ea4d83301048a99a1","after":"5ca948d0c791b4ce333b397025985f7cb510d70c","ref":"refs/heads/main","pushedAt":"2024-06-05T10:22:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[TASK] Clarify constants do not work in constant conditions\n\nFrontend TypoScript 'constants' do support conditions. But\nconstants can not be used within conditions, just like\nconstants in general can not be used within constants.\n\nThe patch adapts the \"new TS parser\" ReST to clarify.\n\nResolves: #103953\nRelated: #97816\nReleases: main, 12.4\nChange-Id: I0e21a320582f2f0edbde432fe36767540ab7993b\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84497\nReviewed-by: Garvin Hicking \nTested-by: Christian Kuhn \nTested-by: Stefan Bürk \nTested-by: Garvin Hicking \nReviewed-by: Oliver Klee \nTested-by: core-ci \nReviewed-by: Christian Kuhn \nTested-by: Oliver Klee \nReviewed-by: Stefan Bürk ","shortMessageHtmlLink":"[TASK] Clarify constants do not work in constant conditions"}},{"before":"ec57121573c22338dbc6f8e65c2469ddc9a8b03c","after":"ff3e6685789619d97748e678853ed9279027b447","ref":"refs/heads/12.4","pushedAt":"2024-06-05T10:10:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[BUGFIX] Add constant evaluation in TypoScript functions\n\nWe missed a TypoScript feature with the new parser.\nFunction operator modifier values can use constants:\n\nfoo = 42\nfoo := addToList({$my.constant})\n\nThe solution is two fold: Until now, the value of a\nfunction body was a single T_VALUE token. This is\nturned into a stream of tokens that can consist of\nmultiple T_VALUE and T_CONSTANT tokens. This is\nhandled in the tokenizers. Secondly, the AST builders\nneed to deal with these token streams now, and take\ncare available constants are hand over to\nConstantAwareTokenStream before the stream is cast\nto string and single functions are evaluated.\n\nThe BE modules *do* reflect constant substitutions in\nfunction modifier bodies, but not in an ideal way.\nAn @todo within the responsible CommentAwareAstBuilder\noutlines ideas how this could be improved.\n\nNote TYPO3 v13 supports constant fallbacks here\nas well, this syntax feature came with #103671.\nThis works, but is NOT supported in v12:\n\nfoo := addToList({$my.constant ?? $fallback.constant})\n\nResolves: #102742\nRelated: #97816\nRelated: #103671\nReleases: main, 12.4\nChange-Id: Ib5e0872fe1ea2b78bd0a7e05caccd9874b5668d4\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84498\nTested-by: core-ci \nTested-by: Christian Kuhn \nReviewed-by: Christian Kuhn ","shortMessageHtmlLink":"[BUGFIX] Add constant evaluation in TypoScript functions"}},{"before":"33b2b679c4044ad8c551bd20bb8e4dfb662e9968","after":"8a32bedfdbf98c99bf7fcb9ea4d83301048a99a1","ref":"refs/heads/main","pushedAt":"2024-06-05T10:08:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[BUGFIX] Add constant evaluation in TypoScript functions\n\nWe missed a TypoScript feature with the new parser.\nFunction operator modifier values can use constants:\n\nfoo = 42\nfoo := addToList({$my.constant})\n\nThe solution is two fold: Until now, the value of a\nfunction body was a single T_VALUE token. This is\nturned into a stream of tokens that can consist of\nmultiple T_VALUE and T_CONSTANT tokens. This is\nhandled in the tokenizers. Secondly, the AST builders\nneed to deal with these token streams now, and take\ncare available constants are hand over to\nConstantAwareTokenStream before the stream is cast\nto string and single functions are evaluated.\n\nThe BE modules *do* reflect constant substitutions in\nfunction modifier bodies, but not in an ideal way.\nAn @todo within the responsible CommentAwareAstBuilder\noutlines ideas how this could be improved.\n\nNote TYPO3 v13 supports constant fallbacks here\nas well, this syntax feature came with #103671.\nThis works, but is NOT supported in v12:\n\nfoo := addToList({$my.constant ?? $fallback.constant})\n\nResolves: #102742\nRelated: #97816\nRelated: #103671\nReleases: main, 12.4\nChange-Id: Ib5e0872fe1ea2b78bd0a7e05caccd9874b5668d4\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82633\nTested-by: Stefan Bürk \nReviewed-by: Stefan Bürk \nTested-by: Garvin Hicking \nReviewed-by: Garvin Hicking \nTested-by: Christian Kuhn \nTested-by: core-ci \nReviewed-by: Christian Kuhn ","shortMessageHtmlLink":"[BUGFIX] Add constant evaluation in TypoScript functions"}},{"before":"eb17825068236cccb956e48f0c02c3ea1b3516b6","after":"ec57121573c22338dbc6f8e65c2469ddc9a8b03c","ref":"refs/heads/12.4","pushedAt":"2024-06-04T18:27:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[BUGFIX] Prefer to throw in IdentifierFunctionLine\n\nThere is a subtle difference between a PHP error and a\ndedicated thrown exception: When an object knows it\nshould return something, but can't, because it has not\nbeen set up correctly, then the implementation is\nresponsible of throwing a \"i'm incomplete\" exception:\nThis is not an error in the class, but a wrong set up\nusage, and this should throw, and should not error out\nwith a return type mismatch error.\n\nThe patch changes two getters of TS parser related\nIdentifierFunctionLine to obey this difference and\nnow throws in case it \"has been set up incompletely\".\n\nIn this case, an IdentifierFunctionLine is only\n\"complete\" after at least an identifier token stream\nand a function name token has been set: After being\nfully set up, these two properties must have a value.\nThe object knows this and the two getters now throw\nan exception instead of failing with a type error.\n\nResolves: #103977\nRelated: #97816\nReleases: main, 12.4\nChange-Id: I772d774fbaae3c2ec7ff4c9abc6ef4964254259d\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84496\nTested-by: core-ci \nReviewed-by: Christian Kuhn \nTested-by: Christian Kuhn ","shortMessageHtmlLink":"[BUGFIX] Prefer to throw in IdentifierFunctionLine"}},{"before":"00cadc6ae9a4a7161d97fbf12984b46157ef8c49","after":"33b2b679c4044ad8c551bd20bb8e4dfb662e9968","ref":"refs/heads/main","pushedAt":"2024-06-04T18:25:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[BUGFIX] Prefer to throw in IdentifierFunctionLine\n\nThere is a subtle difference between a PHP error and a\ndedicated thrown exception: When an object knows it\nshould return something, but can't, because it has not\nbeen set up correctly, then the implementation is\nresponsible of throwing a \"i'm incomplete\" exception:\nThis is not an error in the class, but a wrong set up\nusage, and this should throw, and should not error out\nwith a return type mismatch error.\n\nThe patch changes two getters of TS parser related\nIdentifierFunctionLine to obey this difference and\nnow throws in case it \"has been set up incompletely\".\n\nIn this case, an IdentifierFunctionLine is only\n\"complete\" after at least an identifier token stream\nand a function name token has been set: After being\nfully set up, these two properties must have a value.\nThe object knows this and the two getters now throw\nan exception instead of failing with a type error.\n\nResolves: #103977\nRelated: #97816\nReleases: main, 12.4\nChange-Id: I772d774fbaae3c2ec7ff4c9abc6ef4964254259d\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84495\nTested-by: core-ci \nReviewed-by: Oliver Klee \nReviewed-by: Garvin Hicking \nReviewed-by: Anja Leichsenring \nTested-by: Oliver Klee \nReviewed-by: Stefan Bürk \nReviewed-by: Christian Kuhn \nTested-by: Garvin Hicking \nTested-by: Stefan Bürk \nTested-by: Anja Leichsenring \nTested-by: Christian Kuhn ","shortMessageHtmlLink":"[BUGFIX] Prefer to throw in IdentifierFunctionLine"}},{"before":"face883a609c18c77fd5c55b8a22421a6ac2f1eb","after":"00cadc6ae9a4a7161d97fbf12984b46157ef8c49","ref":"refs/heads/main","pushedAt":"2024-06-04T16:43:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[BUGFIX] Declare setFlatConstants() returns void\n\nAdd a missing return value in\nConstantAwareTokenStream->setFlatConstants().\n\nResolves: #103976\nRelated: #97816\nReleases: main, 12.4\nChange-Id: Ia4d10f846db2bf26f721c5eb03781d3592073a08\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84493\nTested-by: Christian Kuhn \nReviewed-by: Stefan Bürk \nTested-by: Stefan Bürk \nTested-by: Garvin Hicking \nReviewed-by: Garvin Hicking \nTested-by: core-ci \nReviewed-by: Christian Kuhn ","shortMessageHtmlLink":"[BUGFIX] Declare setFlatConstants() returns void"}},{"before":"eee0ac9a9475ae0fd54863651c5d5490b626199a","after":"eb17825068236cccb956e48f0c02c3ea1b3516b6","ref":"refs/heads/12.4","pushedAt":"2024-06-04T16:41:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[BUGFIX] Declare setFlatConstants() returns void\n\nAdd a missing return value in\nConstantAwareTokenStream->setFlatConstants().\n\nResolves: #103976\nRelated: #97816\nReleases: main, 12.4\nChange-Id: Ia4d10f846db2bf26f721c5eb03781d3592073a08\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84494\nReviewed-by: Christian Kuhn \nTested-by: Christian Kuhn \nTested-by: core-ci ","shortMessageHtmlLink":"[BUGFIX] Declare setFlatConstants() returns void"}},{"before":"cab927e524c093c8cd9c3f0fc23271d101c4ae56","after":"eee0ac9a9475ae0fd54863651c5d5490b626199a","ref":"refs/heads/12.4","pushedAt":"2024-06-04T16:24:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[BUGFIX] Do not set original token value stream in TS AstBuilder\n\nThe 'original value token stream' is a helper used in\nBE TypoScript modules to render a possible constant\nsubstitution.\nIt is enough if the CommentAwareAstBuilder handles this,\nwhich is used in those cases: getOriginalValueTokenStream()\nis only called by fluid as 'child.originalValueTokenStream'\nwhen rendering TS trees in the backend. Those use\nCommentAwareAstBuilder and not \"production\" AstBuilder.\nThe patch avoids calling setOriginalValueTokenStream() as\na minor micro optimization which may also help the garbage\ncollection to clean up some objects more early in FE.\n\nResolves: #103975\nRelated: #97816\nReleases: main, 12.4\nChange-Id: Ifa54b36877d5eb1c1d712433efa2d07fd1ad8bd8\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84492\nReviewed-by: Christian Kuhn \nTested-by: Christian Kuhn \nTested-by: core-ci ","shortMessageHtmlLink":"[BUGFIX] Do not set original token value stream in TS AstBuilder"}},{"before":"7c04bac7194527e53adbc7720f3f151e2a49ebd6","after":"face883a609c18c77fd5c55b8a22421a6ac2f1eb","ref":"refs/heads/main","pushedAt":"2024-06-04T16:22:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[BUGFIX] Do not set original token value stream in TS AstBuilder\n\nThe 'original value token stream' is a helper used in\nBE TypoScript modules to render a possible constant\nsubstitution.\nIt is enough if the CommentAwareAstBuilder handles this,\nwhich is used in those cases: getOriginalValueTokenStream()\nis only called by fluid as 'child.originalValueTokenStream'\nwhen rendering TS trees in the backend. Those use\nCommentAwareAstBuilder and not \"production\" AstBuilder.\nThe patch avoids calling setOriginalValueTokenStream() as\na minor micro optimization which may also help the garbage\ncollection to clean up some objects more early in FE.\n\nResolves: #103975\nRelated: #97816\nReleases: main, 12.4\nChange-Id: Ifa54b36877d5eb1c1d712433efa2d07fd1ad8bd8\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84491\nTested-by: Stefan Bürk \nReviewed-by: Garvin Hicking \nReviewed-by: Christian Kuhn \nTested-by: Garvin Hicking \nTested-by: Christian Kuhn \nTested-by: core-ci \nReviewed-by: Stefan Bürk ","shortMessageHtmlLink":"[BUGFIX] Do not set original token value stream in TS AstBuilder"}},{"before":"a2d45e27469213184a6f092bb3a5b010fe59ffdf","after":"7c04bac7194527e53adbc7720f3f151e2a49ebd6","ref":"refs/heads/main","pushedAt":"2024-06-04T08:30:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[TASK] Reduce GU::makeInstance calls in Unit Tests\n\nAdditional potential functionality (DI, XClass resolving, etc.) of\nGU::makeInstance is usually not a wanted behaviour in unit tests.\nFor creation of system under test `new` should be used.\nDependencies, if necessary, should be mocks.\nThis patch reduces the obvious cases, more complicated ones will\nbe tackled with follow ups.\n\nResolves: #103902\nReleases: main, 12.4\nChange-Id: I07cbe6f10fe11e1239cdd5f0fe7496948eed5a44\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84386\nTested-by: Oliver Klee \nReviewed-by: Benjamin Franzke \nReviewed-by: Oliver Klee \nTested-by: Benjamin Franzke ","shortMessageHtmlLink":"[TASK] Reduce GU::makeInstance calls in Unit Tests"}},{"before":"f7d4634297cdb1a3dfcd8666b17a3c762a9e200b","after":"cab927e524c093c8cd9c3f0fc23271d101c4ae56","ref":"refs/heads/12.4","pushedAt":"2024-06-04T08:28:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[TASK] Reduce GU::makeInstance calls in Unit Tests\n\nAdditional potential functionality (DI, XClass resolving, etc.) of\nGU::makeInstance is usually not a wanted behaviour in unit tests.\nFor creation of system under test `new` should be used.\nDependencies, if necessary, should be mocks.\nThis patch reduces the obvious cases, more complicated ones will\nbe tackled with follow ups.\n\nResolves: #103902\nReleases: main, 12.4\nChange-Id: I07cbe6f10fe11e1239cdd5f0fe7496948eed5a44\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84485\nReviewed-by: Benjamin Franzke \nTested-by: Benjamin Franzke \nTested-by: core-ci ","shortMessageHtmlLink":"[TASK] Reduce GU::makeInstance calls in Unit Tests"}},{"before":"6e41f320a0d05bf97ccc491e5401ae346a946d6e","after":"a2d45e27469213184a6f092bb3a5b010fe59ffdf","ref":"refs/heads/main","pushedAt":"2024-06-03T07:46:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[TASK] Use CPP in FileDumpController\n\nWith this change, CPP is used in FileDumpController.\n\nResolves: #103963\nReleases: main\nChange-Id: I42ff822a06fd0e138a8d3109163ea4fc76a09ae2\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84474\nTested-by: Benni Mack \nTested-by: Stefan Bürk \nTested-by: core-ci \nReviewed-by: Benni Mack \nReviewed-by: Stefan Bürk ","shortMessageHtmlLink":"[TASK] Use CPP in FileDumpController"}},{"before":"a01ba06c71eb099094e6a3562c46f5b1946272ee","after":"6e41f320a0d05bf97ccc491e5401ae346a946d6e","ref":"refs/heads/main","pushedAt":"2024-06-03T06:06:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[TASK] Deprecate namespaced shorthand validator usage in extbase\n\nIt is possible to use the namespaced shorthand notation in extbase\nto add validators for properties or arguments. As an example,\n`TYPO3.CMS.Extbase:NotEmpty` will be resolved as\n`TYPO3\\CMS\\Extbase\\Validation\\Validator\\NotEmptyValidator` or\n`Vendor.Extension:Custom` will be resolved as\n`\\Vendor\\MyExtension\\Validation\\Validator\\CustomValidator`.\n\nThe namespaced shorthand notation for extbase validators has\nhowever never been documented and is rarely used in extensions.\n\nThis change deprecates the usage of the namespaced shorthand\nnotation for validators in extbase.\n\nResolves: #103965\nReleases: main\nChange-Id: I787401cc3271cc54fed5c875a27cfde545b4e6dc\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84477\nTested-by: core-ci \nTested-by: Georg Ringer \nReviewed-by: Georg Ringer \nTested-by: Benni Mack \nReviewed-by: Benni Mack ","shortMessageHtmlLink":"[TASK] Deprecate namespaced shorthand validator usage in extbase"}},{"before":"667503c19651fb167b92abc3ec2e9ef5d28f143d","after":"f7d4634297cdb1a3dfcd8666b17a3c762a9e200b","ref":"refs/heads/12.4","pushedAt":"2024-05-31T08:08:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[BUGFIX] Do not render nonceProxy if nonce has not been consumed\n\nAllow proxies to cache the TYPO3 content by stripping the nonce from\nthe generated CSP header if the nonce was not actually consumed.\n\nAlso ensure that the nonce value substitution consumes a nonce\nto ensure that a (replaced) nonces in cached-content receive\na matching CSP header as well.\n\nResolves: #103942\nReleases: main, 12.4\nChange-Id: I437c83de522ff4a6f4ee0ef2f13881d24bfb990c\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84455\nTested-by: core-ci \nTested-by: Benjamin Franzke \nReviewed-by: Benjamin Franzke ","shortMessageHtmlLink":"[BUGFIX] Do not render nonceProxy if nonce has not been consumed"}},{"before":"52b783e4a0e94a0476679469436ccd35e87af81e","after":"a01ba06c71eb099094e6a3562c46f5b1946272ee","ref":"refs/heads/main","pushedAt":"2024-05-31T08:06:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[BUGFIX] Do not render nonceProxy if nonce has not been consumed\n\nAllow proxies to cache the TYPO3 content by stripping the nonce from\nthe generated CSP header if the nonce was not actually consumed.\n\nAlso ensure that the nonce value substitution consumes a nonce\nto ensure that a (replaced) nonces in cached-content receive\na matching CSP header as well.\n\nResolves: #103942\nReleases: main, 12.4\nChange-Id: I437c83de522ff4a6f4ee0ef2f13881d24bfb990c\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84435\nTested-by: Benjamin Franzke \nTested-by: core-ci \nReviewed-by: Benjamin Franzke \nReviewed-by: Oliver Hader \nTested-by: Oliver Hader \nReviewed-by: Kai Ole Hartwig \nTested-by: Willi Wehmeier \nReviewed-by: Willi Wehmeier ","shortMessageHtmlLink":"[BUGFIX] Do not render nonceProxy if nonce has not been consumed"}},{"before":"5efc69e6dc7f53f2b3ad06fa57b61ace30793355","after":"667503c19651fb167b92abc3ec2e9ef5d28f143d","ref":"refs/heads/12.4","pushedAt":"2024-05-29T08:13:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TYPO3IncTeam","name":"TYPO3 GmbH","path":"/TYPO3IncTeam","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440329?s=80&v=4"},"commit":{"message":"[BUGFIX] Resolve falsy ENV-variables in YAML Site Configuration values\n\nUsing '%env(SOME_VARIABLE)%' within a site configuration YAML\ndid not resolve contents in SOME_VARIABLE that were\nfalsy ('false', '0', 0).\n\nThis patch now properly converts those falsy values to actual\nvalues.\n\nTests are added to verify the new behavior and prevent\nfuture regressions. Drive-by fix on Unit tests which did\nnot actually remove env vars after testing, putenv('var')\nis needed instead of putenv('var='), because the latter\nwill keep the environment var around (with an empty value).\n\nResolves: #91710\nReleases: main, 12.4\nChange-Id: I99d64f080737ada38fd58a63f4e04e5b0d8c9ef3\nReviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84453\nTested-by: Stefan Bürk \nTested-by: core-ci \nReviewed-by: Stefan Bürk ","shortMessageHtmlLink":"[BUGFIX] Resolve falsy ENV-variables in YAML Site Configuration values"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXxsjUQA","startCursor":null,"endCursor":null}},"title":"Activity · TYPO3-CMS/core"}