<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[56695] trunk: Coding Standards: Upgrade WPCS to version 3.0.0.</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { white-space: pre-line; overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="https://core.trac.wordpress.org/changeset/56695">56695</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"https://core.trac.wordpress.org/changeset/56695","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>SergeyBiryukov</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2023-09-26 00:24:43 +0000 (Tue, 26 Sep 2023)</dd>
</dl>

<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>Coding Standards: Upgrade WPCS to version 3.0.0.

This is an important release which makes significant changes to improve the accuracy, performance, stability and maintainability of all sniffs, as well as making WordPressCS much better at handling modern PHP.

WordPressCS 3.0.0 contains breaking changes, both for people using ignore annotations, people maintaining custom rulesets, as well as for sniff developers who maintain a custom PHPCS standard based on WordPressCS.

If you are an end-user or maintain a custom WordPressCS based ruleset, please start by reading the [https://github.com/WordPress/WordPress-Coding-Standards/wiki/Upgrade-Guide-to-WordPressCS-3.0.0-for-ruleset-maintainers Upgrade Guide to WordPressCS 3.0.0 for ruleset maintainers] which lists the most important changes and contains a step by step guide for upgrading.

If you are a maintainer of an external standard based on WordPressCS and any of your custom sniffs are based on or extend WordPressCS sniffs, please read the [https://github.com/WordPress/WordPress-Coding-Standards/wiki/Upgrade-Guide-to-WordPressCS-3.0.0-for-Developers-of-external-standards Upgrade Guide to WordPressCS 3.0.0 for Developers].

In all cases, please read the complete changelog carefully before you upgrade.

This commit:
* Updates the Composer dependencies to use the new version, including updating the underlying PHP_CodeSniffer dependency to the new minimum supported version for WPCS.[[BR]] Note: the Composer PHPCS installer plugin is no longer explicitly required as it is now a dependency of WPCS, so the dependency is inherited automatically.
* Updates the ruleset for WPCS 3.0.0. This includes:
 * Raising the memory limit to be on the safe side as WPCS 3.0.0 contains a lot more sniffs.
 * Removing explicit inclusions of extra rules, which have now been added to the `WordPress-Core` ruleset..
 * Updating property names for select sniffs.
 * Updating one exclusion - the `WordPress.CodeAnalysis.AssignmentInCondition` sniff has been (partially) replaced by the `Generic.CodeAnalysis.AssignmentInCondition` sniff.
 * Adding one new exclusion.
* Downgrades one new error to a warning.[[BR]] The `Generic.Files.OneObjectStructurePerFile` sniff enforces that there is only one OO structure declaration per file. At this time, this sniff would yield 29 errors. By downgrading the sniff to a ''warning'', the build can pass and the issues can be fixed in due time. For now, the test directory will be excluded until the issues are fixed (as the test directory CS run does not allow for warnings).
* Updates ignore annotations for WPCS 3.0.0.

Reference: [https://github.com/WordPress/WordPress-Coding-Standards/releases/tag/3.0.0 WPCS 3.0.0 release notes].

Follow-up to <a href="https://core.trac.wordpress.org/changeset/43571">[43571]</a>, <a href="https://core.trac.wordpress.org/changeset/44574">[44574]</a>, <a href="https://core.trac.wordpress.org/changeset/45600">[45600]</a>, <a href="https://core.trac.wordpress.org/changeset/47927">[47927]</a>.

Props jrf, jorbin, desrosj.
See <a href="https://core.trac.wordpress.org/ticket/59161">#59161</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkcomposerjson">trunk/composer.json</a></li>
<li><a href="#trunkphpcsxmldist">trunk/phpcs.xml.dist</a></li>
<li><a href="#trunksrcwpadminincludesclasswpsitehealthautoupdatesphp">trunk/src/wp-admin/includes/class-wp-site-health-auto-updates.php</a></li>
<li><a href="#trunksrcwpadminincludesimagephp">trunk/src/wp-admin/includes/image.php</a></li>
<li><a href="#trunksrcwpadminpluginsphp">trunk/src/wp-admin/plugins.php</a></li>
<li><a href="#trunksrcwpincludescategorytemplatephp">trunk/src/wp-includes/category-template.php</a></li>
<li><a href="#trunksrcwpincludesformattingphp">trunk/src/wp-includes/formatting.php</a></li>
<li><a href="#trunksrcwpincludespostphp">trunk/src/wp-includes/post.php</a></li>
<li><a href="#trunktestsphpunittestscustomizemanagerphp">trunk/tests/phpunit/tests/customize/manager.php</a></li>
<li><a href="#trunktestsphpunittestsformattingcapitalPDangitphp">trunk/tests/phpunit/tests/formatting/capitalPDangit.php</a></li>
<li><a href="#trunktestsphpunittestsmetaphp">trunk/tests/phpunit/tests/meta.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkcomposerjson"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/composer.json</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/composer.json       2023-09-26 00:23:25 UTC (rev 56694)
+++ trunk/composer.json 2023-09-26 00:24:43 UTC (rev 56695)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -16,9 +16,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                "ext-dom": "*"
</span><span class="cx" style="display: block; padding: 0 10px">        },
</span><span class="cx" style="display: block; padding: 0 10px">        "require-dev": {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
-               "squizlabs/php_codesniffer": "3.6.0",
-               "wp-coding-standards/wpcs": "~2.3.0",
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         "squizlabs/php_codesniffer": "3.7.2",
+               "wp-coding-standards/wpcs": "~3.0.0",
</ins><span class="cx" style="display: block; padding: 0 10px">                 "phpcompatibility/phpcompatibility-wp": "~2.1.3",
</span><span class="cx" style="display: block; padding: 0 10px">                "yoast/phpunit-polyfills": "^1.1.0"
</span><span class="cx" style="display: block; padding: 0 10px">        },
</span></span></pre></div>
<a id="trunkphpcsxmldist"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/phpcs.xml.dist</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/phpcs.xml.dist      2023-09-26 00:23:25 UTC (rev 56694)
+++ trunk/phpcs.xml.dist        2023-09-26 00:24:43 UTC (rev 56695)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15,11 +15,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">        <!-- Whenever possible, cache the scan results and re-use those for unchanged files on the next scan. -->
</span><span class="cx" style="display: block; padding: 0 10px">        <arg name="cache" value=".cache/phpcs.json"/>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        <!-- Set the memory limit to 256M.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <!-- Set the memory limit to 512M.
</ins><span class="cx" style="display: block; padding: 0 10px">                  For most standard PHP configurations, this means the memory limit will temporarily be raised.
</span><span class="cx" style="display: block; padding: 0 10px">                 Ref: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Advanced-Usage#specifying-phpini-settings
</span><span class="cx" style="display: block; padding: 0 10px">        -->
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        <ini name="memory_limit" value="256M"/>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <ini name="memory_limit" value="512M"/>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        <!-- Strip the filepaths down to the relevant bit. -->
</span><span class="cx" style="display: block; padding: 0 10px">        <arg name="basepath" value="./"/>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -113,24 +113,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        -->
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        <rule ref="WordPress-Core"/>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        <rule ref="WordPress.CodeAnalysis.EmptyStatement"/>
</del><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        <!-- Enforce no parenthesis for language constructs, and only one space immediately after.
-                Including this rule is temporary until it is moved from the WordPress-Extra ruleset to
-                the WordPress-Core ruleset upstream.
-       -->
-       <rule ref="PEAR.Files.IncludingFile.BracketsNotRequired">
-               <type>warning</type>
-       </rule>
-       <rule ref="PEAR.Files.IncludingFile.UseRequire">
-               <type>warning</type>
-       </rule>
-       <rule ref="PEAR.Files.IncludingFile.UseRequireOnce">
-               <type>warning</type>
-       </rule>
-       <rule ref="Squiz.WhiteSpace.LanguageConstructSpacing"/>
</del><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</del><span class="cx" style="display: block; padding: 0 10px">         <!--
</span><span class="cx" style="display: block; padding: 0 10px">        #############################################################################
</span><span class="cx" style="display: block; padding: 0 10px">        SNIFF-SPECIFIC CONFIGURATION
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -138,6 +122,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">        -->
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        <!-- These rules are being set as warnings instead of errors, so we can error check the entire codebase. -->
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        <rule ref="Generic.Files.OneObjectStructurePerFile.MultipleFound">
+               <type>warning</type>
+               <!-- Exclude the unit tests as no warnings are allowed there. Note: these issues should be fixed and the exclude removed! -->
+               <exclude-pattern>/tests/phpunit/*</exclude-pattern>
+       </rule>
</ins><span class="cx" style="display: block; padding: 0 10px">         <rule ref="WordPress.DB.PreparedSQL.InterpolatedNotPrepared">
</span><span class="cx" style="display: block; padding: 0 10px">                <type>warning</type>
</span><span class="cx" style="display: block; padding: 0 10px">        </rule>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -153,7 +142,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        <rule ref="WordPress.NamingConventions.ValidVariableName">
</span><span class="cx" style="display: block; padding: 0 10px">                <properties>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        <property name="customPropertiesWhitelist" type="array">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 <property name="allowed_custom_properties" type="array">
</ins><span class="cx" style="display: block; padding: 0 10px">                                 <!-- From database structure queries. -->
</span><span class="cx" style="display: block; padding: 0 10px">                                <element value="Collation"/>
</span><span class="cx" style="display: block; padding: 0 10px">                                <element value="Column_name"/>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -209,7 +198,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        <rule ref="WordPress.PHP.NoSilencedErrors">
</span><span class="cx" style="display: block; padding: 0 10px">                <properties>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        <property name="custom_whitelist" type="array">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 <property name="customAllowedFunctionsList" type="array">
</ins><span class="cx" style="display: block; padding: 0 10px">                                 <element value="ssh2_connect"/>
</span><span class="cx" style="display: block; padding: 0 10px">                                <element value="ssh2_auth_password"/>
</span><span class="cx" style="display: block; padding: 0 10px">                                <element value="ssh2_auth_pubkey_file"/>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -239,6 +228,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">        #############################################################################
</span><span class="cx" style="display: block; padding: 0 10px">        -->
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        <!-- Assignments in while conditions are a valid method of looping over iterables. -->
+       <rule ref="Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition">
+               <exclude-pattern>*</exclude-pattern>
+       </rule>
+
</ins><span class="cx" style="display: block; padding: 0 10px">         <!-- Exclude checking of line endings when reporting errors, but fix them when running phpcbf.
</span><span class="cx" style="display: block; padding: 0 10px">                 Git and SVN manage these pretty well cross-platform as "native".
</span><span class="cx" style="display: block; padding: 0 10px">                 Allow configuration files. -->
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -255,6 +249,12 @@
</span><span class="cx" style="display: block; padding: 0 10px">                <exclude-pattern>/wp-tests-config-sample\.php</exclude-pattern>
</span><span class="cx" style="display: block; padding: 0 10px">        </rule>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        <!-- Exclude sample config from modernization to prevent breaking CI workflows based on WP-CLI scaffold.
+                See: https://core.trac.wordpress.org/ticket/48082#comment:16 -->
+       <rule ref="Modernize.FunctionCalls.Dirname.FileConstant">
+               <exclude-pattern>/wp-tests-config-sample\.php</exclude-pattern>
+       </rule>
+
</ins><span class="cx" style="display: block; padding: 0 10px">         <rule ref="PEAR.NamingConventions.ValidClassName.Invalid">
</span><span class="cx" style="display: block; padding: 0 10px">                <exclude-pattern>/tests/phpunit/tests/*</exclude-pattern>
</span><span class="cx" style="display: block; padding: 0 10px">                <!-- Exclude some old classes that cannot be renamed, as it would break back compat. -->
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -274,9 +274,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">                <exclude-pattern>/src/wp-includes/class-wpdb\.php</exclude-pattern>
</span><span class="cx" style="display: block; padding: 0 10px">        </rule>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        <!-- Assignments in while conditions are a valid method of looping over iterables. -->
-       <rule ref="WordPress.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition">
-               <exclude-pattern>*</exclude-pattern>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <!-- Temporarily ignore this sniff for block files until the changes from upstream make it into core.
+                This can be removed once the block-library package is updated for WP 6.4. -->
+       <rule ref="Squiz.Functions.MultiLineFunctionDeclaration.SpaceAfterFunction">
+               <exclude-pattern>/src/wp-includes/blocks/*</exclude-pattern>
</ins><span class="cx" style="display: block; padding: 0 10px">         </rule>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        <!-- Allow the WP DB Class and related tests for usage of direct database access functions. -->
</span></span></pre></div>
<a id="trunksrcwpadminincludesclasswpsitehealthautoupdatesphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/includes/class-wp-site-health-auto-updates.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/includes/class-wp-site-health-auto-updates.php 2023-09-26 00:23:25 UTC (rev 56694)
+++ trunk/src/wp-admin/includes/class-wp-site-health-auto-updates.php   2023-09-26 00:24:43 UTC (rev 56695)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -228,7 +228,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                // Search all directories we've found for evidence of version control.
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ( $vcs_dirs as $vcs_dir ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        foreach ( $check_dirs as $check_dir ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                // phpcs:ignore WordPress.CodeAnalysis.AssignmentInCondition,Squiz.PHP.DisallowMultipleAssignments
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         // phpcs:ignore Generic.CodeAnalysis.AssignmentInCondition,Squiz.PHP.DisallowMultipleAssignments
</ins><span class="cx" style="display: block; padding: 0 10px">                                 if ( $checkout = @is_dir( rtrim( $check_dir, '\\/' ) . "/$vcs_dir" ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                        break 2;
</span><span class="cx" style="display: block; padding: 0 10px">                                }
</span></span></pre></div>
<a id="trunksrcwpadminincludesimagephp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/includes/image.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/includes/image.php     2023-09-26 00:23:25 UTC (rev 56694)
+++ trunk/src/wp-admin/includes/image.php       2023-09-26 00:24:43 UTC (rev 56695)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -700,7 +700,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        // The denominator must not be zero.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        if ( 0 == $denominator ) { // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison -- Deliberate loose comparison.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ if ( 0 == $denominator ) { // phpcs:ignore Universal.Operators.StrictComparisons.LooseEqual -- Deliberate loose comparison.
</ins><span class="cx" style="display: block; padding: 0 10px">                 return 0;
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span></span></pre></div>
<a id="trunksrcwpadminpluginsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/plugins.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/plugins.php    2023-09-26 00:23:25 UTC (rev 56694)
+++ trunk/src/wp-admin/plugins.php      2023-09-26 00:24:43 UTC (rev 56695)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -511,7 +511,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                // Return early if all selected plugins already have auto-updates enabled or disabled.
</span><span class="cx" style="display: block; padding: 0 10px">                                // Must use non-strict comparison, so that array order is not treated as significant.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                if ( $new_auto_updates == $auto_updates ) { // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         if ( $new_auto_updates == $auto_updates ) { // phpcs:ignore Universal.Operators.StrictComparisons.LooseEqual
</ins><span class="cx" style="display: block; padding: 0 10px">                                         wp_redirect( $redirect );
</span><span class="cx" style="display: block; padding: 0 10px">                                        exit;
</span><span class="cx" style="display: block; padding: 0 10px">                                }
</span></span></pre></div>
<a id="trunksrcwpincludescategorytemplatephp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/category-template.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/category-template.php       2023-09-26 00:23:25 UTC (rev 56694)
+++ trunk/src/wp-includes/category-template.php 2023-09-26 00:24:43 UTC (rev 56695)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -881,7 +881,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px">        } elseif ( isset( $args['single_text'] ) && isset( $args['multiple_text'] ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                // If no callback exists, look for the old-style single_text and multiple_text arguments.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                // phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralSingle,WordPress.WP.I18n.NonSingularStringLiteralPlural
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         // phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralSingular,WordPress.WP.I18n.NonSingularStringLiteralPlural
</ins><span class="cx" style="display: block; padding: 0 10px">                 $translate_nooped_plural = _n_noop( $args['single_text'], $args['multiple_text'] );
</span><span class="cx" style="display: block; padding: 0 10px">        } else {
</span><span class="cx" style="display: block; padding: 0 10px">                // This is the default for when no callback, plural, or argument is passed in.
</span></span></pre></div>
<a id="trunksrcwpincludesformattingphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/formatting.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/formatting.php      2023-09-26 00:23:25 UTC (rev 56694)
+++ trunk/src/wp-includes/formatting.php        2023-09-26 00:24:43 UTC (rev 56695)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -831,7 +831,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        $tagregexp = implode( '|', array_map( 'preg_quote', array_keys( $shortcode_tags ) ) );
</span><span class="cx" style="display: block; padding: 0 10px">        $spaces    = wp_spaces_regexp();
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        // phpcs:disable Squiz.Strings.ConcatenationSpacing.PaddingFound,WordPress.WhiteSpace.PrecisionAlignment.Found -- don't remove regex indentation
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ // phpcs:disable Squiz.Strings.ConcatenationSpacing.PaddingFound,Universal.WhiteSpace.PrecisionAlignment.Found -- don't remove regex indentation
</ins><span class="cx" style="display: block; padding: 0 10px">         $pattern =
</span><span class="cx" style="display: block; padding: 0 10px">                '/'
</span><span class="cx" style="display: block; padding: 0 10px">                . '<p>'                              // Opening paragraph.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5683,7 +5683,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        return urldecode( basename( str_replace( array( '%2F', '%5C' ), '/', urlencode( $path ) ), $suffix ) );
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-// phpcs:disable WordPress.WP.CapitalPDangit.Misspelled, WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid -- 8-)
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+// phpcs:disable WordPress.WP.CapitalPDangit.MisspelledInComment,WordPress.WP.CapitalPDangit.MisspelledInText,WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid -- 8-)
</ins><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="cx" style="display: block; padding: 0 10px">  * Forever eliminate "Wordpress" from the planet (or at least the little bit we can influence).
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span></span></pre></div>
<a id="trunksrcwpincludespostphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/post.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/post.php    2023-09-26 00:23:25 UTC (rev 56694)
+++ trunk/src/wp-includes/post.php      2023-09-26 00:24:43 UTC (rev 56695)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1382,7 +1382,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        if ( false === $args->label_count ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                // phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralSingle,WordPress.WP.I18n.NonSingularStringLiteralPlural
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         // phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralSingular,WordPress.WP.I18n.NonSingularStringLiteralPlural
</ins><span class="cx" style="display: block; padding: 0 10px">                 $args->label_count = _n_noop( $args->label, $args->label );
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span></span></pre></div>
<a id="trunktestsphpunittestscustomizemanagerphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tests/phpunit/tests/customize/manager.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/customize/manager.php   2023-09-26 00:23:25 UTC (rev 56694)
+++ trunk/tests/phpunit/tests/customize/manager.php     2023-09-26 00:24:43 UTC (rev 56695)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1345,7 +1345,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // User saved as one who can bypass content_save_pre filter.
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertStringContainsString( '<script>', get_option( 'custom_html_1' ) );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $this->assertStringContainsString( 'Wordpress', get_option( 'custom_html_1' ) ); // phpcs:ignore WordPress.WP.CapitalPDangit.Misspelled
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $this->assertStringContainsString( 'Wordpress', get_option( 'custom_html_1' ) ); // phpcs:ignore WordPress.WP.CapitalPDangit.MisspelledInText
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // User saved as one who cannot bypass content_save_pre filter.
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertStringNotContainsString( '<script>', get_option( 'custom_html_2' ) );
</span></span></pre></div>
<a id="trunktestsphpunittestsformattingcapitalPDangitphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tests/phpunit/tests/formatting/capitalPDangit.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/formatting/capitalPDangit.php   2023-09-26 00:23:25 UTC (rev 56694)
+++ trunk/tests/phpunit/tests/formatting/capitalPDangit.php     2023-09-26 00:24:43 UTC (rev 56695)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1,5 +1,5 @@
</span><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-// phpcs:disable WordPress.WP.CapitalPDangit.Misspelled -- ðŸ™ƒ
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+// phpcs:disable WordPress.WP.CapitalPDangit.MisspelledInText -- ðŸ™ƒ
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="cx" style="display: block; padding: 0 10px">  * @group formatting
</span></span></pre></div>
<a id="trunktestsphpunittestsmetaphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tests/phpunit/tests/meta.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/meta.php        2023-09-26 00:23:25 UTC (rev 56694)
+++ trunk/tests/phpunit/tests/meta.php  2023-09-26 00:24:43 UTC (rev 56695)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -378,7 +378,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $string_mid = "{$meta_id}.0";
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison -- intentional implicit casting check
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         // phpcs:ignore Universal.Operators.StrictComparisons.LooseEqual -- intentional implicit casting check
</ins><span class="cx" style="display: block; padding: 0 10px">                 $this->assertTrue( floor( $string_mid ) == $string_mid );
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertNotFalse( get_metadata_by_mid( 'user', $string_mid ) );
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertNotFalse( update_metadata_by_mid( 'user', $string_mid, 'meta_new_value_2' ) );
</span></span></pre>
</div>
</div>

</body>
</html>