{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":715878832,"defaultBranch":"master","name":"PHP_CodeSniffer","ownerLogin":"PHPCSStandards","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-11-08T02:29:53.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/54010123?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726486106.0","currentOid":""},"activityList":{"items":[{"before":"4a13db50cebaa7d1624292d577cfe292fd7c668e","after":"d24ade54562f5ef6fbf6864fe0249190da4d4873","ref":"refs/heads/4.0","pushedAt":"2024-09-16T11:29:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"GH Actions: Bump DavidAnson/markdownlint-cli2-action from 16 to 17\n\nBumps [DavidAnson/markdownlint-cli2-action](https://github.com/davidanson/markdownlint-cli2-action) from 16 to 17.\n- [Release notes](https://github.com/davidanson/markdownlint-cli2-action/releases)\n- [Commits](https://github.com/davidanson/markdownlint-cli2-action/compare/v16...v17)\n\n---\nupdated-dependencies:\n- dependency-name: DavidAnson/markdownlint-cli2-action\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"GH Actions: Bump DavidAnson/markdownlint-cli2-action from 16 to 17"}},{"before":"5bc630ca4ed8435048d086b4ea7e28408c2bd007","after":null,"ref":"refs/heads/dependabot/github_actions/DavidAnson/markdownlint-cli2-action-17","pushedAt":"2024-09-16T11:28:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"}},{"before":"16b6f3554b7f0a7604ef65474d3bbb17cbdf6c5e","after":"335318f552418dfb8e474eae8e1034a3555d59b6","ref":"refs/heads/master","pushedAt":"2024-09-16T11:28:24.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Merge pull request #612 from PHPCSStandards/dependabot/github_actions/DavidAnson/markdownlint-cli2-action-17\n\nGH Actions: Bump DavidAnson/markdownlint-cli2-action from 16 to 17","shortMessageHtmlLink":"Merge pull request #612 from PHPCSStandards/dependabot/github_actions…"}},{"before":null,"after":"5bc630ca4ed8435048d086b4ea7e28408c2bd007","ref":"refs/heads/dependabot/github_actions/DavidAnson/markdownlint-cli2-action-17","pushedAt":"2024-09-16T05:24:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"GH Actions: Bump DavidAnson/markdownlint-cli2-action from 16 to 17\n\nBumps [DavidAnson/markdownlint-cli2-action](https://github.com/davidanson/markdownlint-cli2-action) from 16 to 17.\n- [Release notes](https://github.com/davidanson/markdownlint-cli2-action/releases)\n- [Commits](https://github.com/davidanson/markdownlint-cli2-action/compare/v16...v17)\n\n---\nupdated-dependencies:\n- dependency-name: DavidAnson/markdownlint-cli2-action\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"GH Actions: Bump DavidAnson/markdownlint-cli2-action from 16 to 17"}},{"before":"5716c8c756fe290cb42766a8798fa93b496198f3","after":"4a13db50cebaa7d1624292d577cfe292fd7c668e","ref":"refs/heads/4.0","pushedAt":"2024-09-14T10:43:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Squiz/DisallowMultipleAssignments: bug fix - dynamic property assignment on object stored in array\n\nThe sniff would try to find whether the first \"relevant\" variable found matches the start of the statement and if not, throw an error, but in the case of dynamic property access on objects stored in an array, the first \"relevant\" variable determination was off and would get stuck on the `]` close bracket of the array access.\n\nFixed now. Includes ample tests.\n\nThis should also make the sniff slightly more efficient for property access code snippets which the sniff already handled correctly.\n\nFixes 598","shortMessageHtmlLink":"Squiz/DisallowMultipleAssignments: bug fix - dynamic property assignm…"}},{"before":"0ab692aba09f4483ae0bea416421f4354a7801f3","after":null,"ref":"refs/heads/feature/598-squiz-disallowmultipleassignments-bug-fix","pushedAt":"2024-09-14T10:32:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"}},{"before":"b87dafdb1ea1c16887c8e5048513fd6952d8269d","after":"16b6f3554b7f0a7604ef65474d3bbb17cbdf6c5e","ref":"refs/heads/master","pushedAt":"2024-09-14T10:32:46.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Merge pull request #610 from PHPCSStandards/feature/598-squiz-disallowmultipleassignments-bug-fix\n\nSquiz/DisallowMultipleAssignments: bug fix - dynamic property assignment on object stored in array","shortMessageHtmlLink":"Merge pull request #610 from PHPCSStandards/feature/598-squiz-disallo…"}},{"before":"539687259815210a116f52fdef2b75d9c10c5b1b","after":"0ab692aba09f4483ae0bea416421f4354a7801f3","ref":"refs/heads/feature/598-squiz-disallowmultipleassignments-bug-fix","pushedAt":"2024-09-14T10:05:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Squiz/DisallowMultipleAssignments: bug fix - dynamic property assignment on object stored in array\n\nThe sniff would try to find whether the first \"relevant\" variable found matches the start of the statement and if not, throw an error, but in the case of dynamic property access on objects stored in an array, the first \"relevant\" variable determination was off and would get stuck on the `]` close bracket of the array access.\n\nFixed now. Includes ample tests.\n\nThis should also make the sniff slightly more efficient for property access code snippets which the sniff already handled correctly.\n\nFixes 598","shortMessageHtmlLink":"Squiz/DisallowMultipleAssignments: bug fix - dynamic property assignm…"}},{"before":"5b99d35fec3c937bb32b32a82b343001a78cce4b","after":"5716c8c756fe290cb42766a8798fa93b496198f3","ref":"refs/heads/4.0","pushedAt":"2024-09-14T10:05:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Squiz/MultiLineFunctionDeclaration: bug fix - skip over attributes\n\nThe sniff looks for `T_COMMA` tokens to find the start of the next parameter and skips over parenthesis sets and square brackets sets (like short arrays) to prevent mismatching on a `T_COMMA` which is not a parameter separator.\n\nThis logic did not take parameter attributes into account, which can contain multiple comma-separated attributes, so should also be skipped over.\n\nFixed now. Includes plenty of tests.\n\nAlso includes minor stability fix for the parentheses/square brackets skipping.\n\nNotes:\n* It could be argued that the sniff should use the `File::getMethodParameters()` method to do the parameter parsing instead. This could be done in a future iteration, but will need to be evaluated carefully for side-effects.\n* This sniff extends the PEAR `FunctionDeclaration` sniff. It has been verified that that sniff is not affected by this bug.\n\nFixes 608","shortMessageHtmlLink":"Squiz/MultiLineFunctionDeclaration: bug fix - skip over attributes"}},{"before":"f39847a55d104adb714e186ecdb6e4d8599b3cda","after":null,"ref":"refs/heads/feature/608-squiz-multilinefunctiondeclarations-bug-fix-param-attributes","pushedAt":"2024-09-14T09:58:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"}},{"before":"c0e8f4de2884a52af95ee4f516e247ff1048413b","after":"b87dafdb1ea1c16887c8e5048513fd6952d8269d","ref":"refs/heads/master","pushedAt":"2024-09-14T09:58:20.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Merge pull request #609 from PHPCSStandards/feature/608-squiz-multilinefunctiondeclarations-bug-fix-param-attributes\n\nSquiz/MultiLineFunctionDeclaration: bug fix - skip over attributes","shortMessageHtmlLink":"Merge pull request #609 from PHPCSStandards/feature/608-squiz-multili…"}},{"before":"0da0b784870531183220a432c4078575b4f34f1d","after":"f39847a55d104adb714e186ecdb6e4d8599b3cda","ref":"refs/heads/feature/608-squiz-multilinefunctiondeclarations-bug-fix-param-attributes","pushedAt":"2024-09-14T09:30:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Squiz/MultiLineFunctionDeclaration: bug fix - skip over attributes\n\nThe sniff looks for `T_COMMA` tokens to find the start of the next parameter and skips over parenthesis sets and square brackets sets (like short arrays) to prevent mismatching on a `T_COMMA` which is not a parameter separator.\n\nThis logic did not take parameter attributes into account, which can contain multiple comma-separated attributes, so should also be skipped over.\n\nFixed now. Includes plenty of tests.\n\nAlso includes minor stability fix for the parentheses/square brackets skipping.\n\nNotes:\n* It could be argued that the sniff should use the `File::getMethodParameters()` method to do the parameter parsing instead. This could be done in a future iteration, but will need to be evaluated carefully for side-effects.\n* This sniff extends the PEAR `FunctionDeclaration` sniff. It has been verified that that sniff is not affected by this bug.\n\nFixes 608","shortMessageHtmlLink":"Squiz/MultiLineFunctionDeclaration: bug fix - skip over attributes"}},{"before":"4600d9edfe7ea31aeea339498f18c446b1f3450d","after":null,"ref":"refs/heads/dependabot/github_actions/peter-evans/create-pull-request-7","pushedAt":"2024-09-09T20:17:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"}},{"before":"f9052410eb9898a3f1780278bb080dfb930b7fe9","after":"c0e8f4de2884a52af95ee4f516e247ff1048413b","ref":"refs/heads/master","pushedAt":"2024-09-09T20:17:06.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Merge pull request #611 from PHPCSStandards/dependabot/github_actions/peter-evans/create-pull-request-7\n\nGH Actions: Bump peter-evans/create-pull-request from 6 to 7","shortMessageHtmlLink":"Merge pull request #611 from PHPCSStandards/dependabot/github_actions…"}},{"before":"cee6988bb97cb1a9578888545131868eef69d45d","after":"4600d9edfe7ea31aeea339498f18c446b1f3450d","ref":"refs/heads/dependabot/github_actions/peter-evans/create-pull-request-7","pushedAt":"2024-09-09T19:49:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"GH Actions: update for new version of \"Create Pull Request\"\n\nThe \"Create Pull Request\" action has released a new major version.\n\nI have verified that the workflow as-is would still work.\n\nHowever, this new version also offers one relevant new feature:\n* Signing commits.\n The PRs created by this actions are created by the `github-actions[bot]` user. Adding the `sign-commits: true` option will allow the bot to sign the commits based on the repo default `GITHUB_TOKEN`.\n\nRefs:\n* https://github.com/peter-evans/create-pull-request/releases/tag/v7.0.0\n* https://github.com/peter-evans/create-pull-request/blob/v7.0.0/docs/concepts-guidelines.md#commit-signature-verification-for-bots","shortMessageHtmlLink":"GH Actions: update for new version of \"Create Pull Request\""}},{"before":null,"after":"cee6988bb97cb1a9578888545131868eef69d45d","ref":"refs/heads/dependabot/github_actions/peter-evans/create-pull-request-7","pushedAt":"2024-09-09T05:32:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"GH Actions: Bump peter-evans/create-pull-request from 6 to 7\n\nBumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6 to 7.\n- [Release notes](https://github.com/peter-evans/create-pull-request/releases)\n- [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v7)\n\n---\nupdated-dependencies:\n- dependency-name: peter-evans/create-pull-request\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"GH Actions: Bump peter-evans/create-pull-request from 6 to 7"}},{"before":"1d664473b2186cdf6f843574a149a989f0474331","after":"539687259815210a116f52fdef2b75d9c10c5b1b","ref":"refs/heads/feature/598-squiz-disallowmultipleassignments-bug-fix","pushedAt":"2024-09-08T19:20:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Squiz/DisallowMultipleAssignments: bug fix - dynamic property assignment on object stored in array\n\nThe sniff would try to find whether the first \"relevant\" variable found matches the start of the statement and if not, throw an error, but in the case of dynamic property access on objects stored in an array, the first \"relevant\" variable determination was off and would get stuck on the `]` close bracket of the array access.\n\nFixed now. Includes ample tests.\n\nThis should also make the sniff slightly more efficient for property access code snippets which the sniff already handled correctly.\n\nFixes 598","shortMessageHtmlLink":"Squiz/DisallowMultipleAssignments: bug fix - dynamic property assignm…"}},{"before":null,"after":"1d664473b2186cdf6f843574a149a989f0474331","ref":"refs/heads/feature/598-squiz-disallowmultipleassignments-bug-fix","pushedAt":"2024-09-08T19:18:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Squiz/DisallowMultipleAssignments: bug fix - dynamic properties\n\nThe sniff would try to find whether the first \"relevant\" variable found matches the start of the statement and if not, throw an error, but in the case of dynamic property access on objects stored in an array, the first \"relevant\" variable determination was off and would get stuck on the `]` close bracket of the array access.\n\nFixed now. Includes ample tests.\n\nThis should also make the sniff slightly more efficient for property access code snippets which the sniff already handled correctly.\n\nFixes 598","shortMessageHtmlLink":"Squiz/DisallowMultipleAssignments: bug fix - dynamic properties"}},{"before":null,"after":"0da0b784870531183220a432c4078575b4f34f1d","ref":"refs/heads/feature/608-squiz-multilinefunctiondeclarations-bug-fix-param-attributes","pushedAt":"2024-09-08T15:25:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Squiz/MultiLineFunctionDeclaration: bug fix - skip over attributes\n\nThe sniff looks for `T_COMMA` tokens to find the start of the next parameter and skips over parenthesis sets and square brackets sets (like short arrays) to prevent mismatching on a `T_COMMA` which is not a parameter separator.\n\nThis logic did not take parameter attributes into account, which can contain multiple comma-separated attributes, so should also be skipped over.\n\nFixed now. Includes plenty of tests.\n\nAlso includes minor stability fix for the parentheses/square brackets skipping.\n\nNotes:\n* It could be argued that the sniff should use the `File::getMethodParameters()` method to do the parameter parsing instead. This could be done in a future iteration, but will need to be evaluated carefully for side-effects.\n* This sniff extends the PEAR `FunctionDeclaration` sniff. It has been verified that that sniff is not affected by this bug.\n\nFixes 608","shortMessageHtmlLink":"Squiz/MultiLineFunctionDeclaration: bug fix - skip over attributes"}},{"before":"7d9f2113e5ea4858c9149559b0bc5d8678631fa0","after":"5b99d35fec3c937bb32b32a82b343001a78cce4b","ref":"refs/heads/4.0","pushedAt":"2024-09-02T13:23:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Fix conflict within PSR12.ControlStructures.ControlStructureSpacing\n\nFor multi-line control structures, the first line of code must be on the next\nline after the control structure. This sniff correctly identified such cases.\nWhen the first line of code was on the same line as the control structure, the\nsniff correctly fixed this by adding a newline between these. However, when\nthere were multiple blank lines between these, the fixer would continue adding\nnew newlines. This change fixes this bug by first removing all non-indentation\nwhite-space before adding the one expected newline. Includes test.","shortMessageHtmlLink":"Fix conflict within PSR12.ControlStructures.ControlStructureSpacing"}},{"before":"41a426cac70d410183189bc31c63f474f6f53548","after":"f9052410eb9898a3f1780278bb080dfb930b7fe9","ref":"refs/heads/master","pushedAt":"2024-09-02T13:22:27.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Merge pull request #581 from fredden/fixer-conflict/PSR12.ControlStructures.ControlStructureSpacing\n\nFix conflict within PSR12.ControlStructures.ControlStructureSpacing","shortMessageHtmlLink":"Merge pull request #581 from fredden/fixer-conflict/PSR12.ControlStru…"}},{"before":"92d5ea1c27042b097d9fa9571028134fbe4837bb","after":"7d9f2113e5ea4858c9149559b0bc5d8678631fa0","ref":"refs/heads/4.0","pushedAt":"2024-08-17T17:44:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Generic/LowerCaseKeyword: remove some redundant code\n\nThe `Tokens::$contextSensitiveKeywords` token array was introduced in PHPCS 3.7.0 via PR squizlabs/PHP_CodeSniffer 3484.\n\nPR squizlabs/PHP_CodeSniffer 3574 build onto that by removing the bulk of the target tokens from the `register()` method for the Generic/LowerCaseKeyword sniff in favour of using the predefined `Tokens::$contextSensitiveKeywords` token array.\n\nThe `T_EMPTY`, `T_EVAL`, `T_ISSET` and `T_UNSET` tokens were initially missing from the `Tokens::$contextSensitiveKeywords` array.\nThis was fixed in PHPCS 3.7.1 via PRs squizlabs/PHP_CodeSniffer 3608 and squizlabs/PHP_CodeSniffer 3610.\n\nThis means those tokens no longer need to be explicitly added as targets for the Generic/LowerCaseKeyword sniff as they are now (and have been since PHPCS 3.7.1) inherited via the `Tokens::$contextSensitiveKeywords` token array.\n\nThis commit removes the redundancy, but also adds tests to safeguard that those keywords will still be checked by the sniff.","shortMessageHtmlLink":"Generic/LowerCaseKeyword: remove some redundant code"}},{"before":"59905dbc335b330ea874650588f598a65d20df9c","after":null,"ref":"refs/heads/feature/generic-lowercasekeyword-remove-redundant-targets","pushedAt":"2024-08-17T17:43:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"}},{"before":"a30d7bdeba1817b5e005f0d452cc53a6558e3797","after":"41a426cac70d410183189bc31c63f474f6f53548","ref":"refs/heads/master","pushedAt":"2024-08-17T17:43:40.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Merge pull request #600 from PHPCSStandards/feature/generic-lowercasekeyword-remove-redundant-targets\n\nGeneric/LowerCaseKeyword: remove some redundant code","shortMessageHtmlLink":"Merge pull request #600 from PHPCSStandards/feature/generic-lowercase…"}},{"before":null,"after":"59905dbc335b330ea874650588f598a65d20df9c","ref":"refs/heads/feature/generic-lowercasekeyword-remove-redundant-targets","pushedAt":"2024-08-17T17:10:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Generic/LowerCaseKeyword: remove some redundant code\n\nThe `Tokens::$contextSensitiveKeywords` token array was introduced in PHPCS 3.7.0 via PR squizlabs/PHP_CodeSniffer 3484.\n\nPR squizlabs/PHP_CodeSniffer 3574 build onto that by removing the bulk of the target tokens from the `register()` method for the Generic/LowerCaseKeyword sniff in favour of using the predefined `Tokens::$contextSensitiveKeywords` token array.\n\nThe `T_EMPTY`, `T_EVAL`, `T_ISSET` and `T_UNSET` tokens were initially missing from the `Tokens::$contextSensitiveKeywords` array.\nThis was fixed in PHPCS 3.7.1 via PRs squizlabs/PHP_CodeSniffer 3608 and squizlabs/PHP_CodeSniffer 3610.\n\nThis means those tokens no longer need to be explicitly added as targets for the Generic/LowerCaseKeyword sniff as they are now (and have been since PHPCS 3.7.1) inherited via the `Tokens::$contextSensitiveKeywords` token array.\n\nThis commit removes the redundancy, but also adds tests to safeguard that those keywords will still be checked by the sniff.","shortMessageHtmlLink":"Generic/LowerCaseKeyword: remove some redundant code"}},{"before":"4eb806530522cb8b9eb8450753a62d4970b0ca9c","after":"92d5ea1c27042b097d9fa9571028134fbe4837bb","ref":"refs/heads/4.0","pushedAt":"2024-08-17T17:07:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Generic.PHP.LowerCaseKeyword: require lowercase anonymous class keyword","shortMessageHtmlLink":"Generic.PHP.LowerCaseKeyword: require lowercase anonymous class keyword"}},{"before":"6fbbc1078094d905f0773421f13830744a144d1e","after":"a30d7bdeba1817b5e005f0d452cc53a6558e3797","ref":"refs/heads/master","pushedAt":"2024-08-17T17:05:46.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Merge pull request #597 from maryo/lowercase-keyword-anon-class\n\nGeneric.PHP.LowerCaseKeyword: require lowercase anonymous class keyword","shortMessageHtmlLink":"Merge pull request #597 from maryo/lowercase-keyword-anon-class"}},{"before":"b168d4d68de52f93d084548f15ac5e4356dad8c9","after":"4eb806530522cb8b9eb8450753a62d4970b0ca9c","ref":"refs/heads/4.0","pushedAt":"2024-08-13T18:33:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Fix small typo in the changelog","shortMessageHtmlLink":"Fix small typo in the changelog"}},{"before":"62e4df603f00bd659c4b1f1cc43710077af9a121","after":"6fbbc1078094d905f0773421f13830744a144d1e","ref":"refs/heads/master","pushedAt":"2024-08-13T18:33:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"CS fix, my bad","shortMessageHtmlLink":"CS fix, my bad"}},{"before":"0f69726d7b40fc91d0a60aaf3b63239e79f673d2","after":"b168d4d68de52f93d084548f15ac5e4356dad8c9","ref":"refs/heads/4.0","pushedAt":"2024-08-13T18:20:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jrfnl","name":"Juliette","path":"/jrfnl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663378?s=80&v=4"},"commit":{"message":"Fix small typo in the changelog","shortMessageHtmlLink":"Fix small typo in the changelog"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xNlQxMToyOTowNC4wMDAwMDBazwAAAAS3V0VE","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xNlQxMToyOTowNC4wMDAwMDBazwAAAAS3V0VE","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0xM1QxODoyMDo0MC4wMDAwMDBazwAAAASZfsg-"}},"title":"Activity · PHPCSStandards/PHP_CodeSniffer"}