<!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>[55629] trunk: External Libraries: Update the Requests library to version 2.0.6.</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/55629">55629</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/55629","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-04-05 13:10:53 +0000 (Wed, 05 Apr 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'>External Libraries: Update the Requests library to version 2.0.6.

This is a maintenance release with minor changes:
* Fix typo in deprecation notice.
* Minor internal improvements for passing the correct type to function calls.
* Confirmed compatibility with PHP 8.2. No changes were needed, so Requests 2.0.1 and higher can be considered compatible with PHP 8.2.
* Various documentation improvements and other general housekeeping.

References:
* [https://github.com/WordPress/Requests/releases/tag/v2.0.6 Requests 2.0.6 release notes]
* [https://github.com/WordPress/Requests/compare/v2.0.5...v2.0.6 Full list of changes in Requests 2.0.6]

Follow-up to <a href="https://core.trac.wordpress.org/changeset/54997">[54997]</a>, <a href="https://core.trac.wordpress.org/changeset/55007">[55007]</a>, <a href="https://core.trac.wordpress.org/changeset/55046">[55046]</a>, <a href="https://core.trac.wordpress.org/changeset/55225">[55225]</a>, <a href="https://core.trac.wordpress.org/changeset/55296">[55296]</a>.

Props jrf, costdev.
Fixes <a href="https://core.trac.wordpress.org/ticket/58079">#58079</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunksrcwpincludesRequestssrcAutoloadphp">trunk/src/wp-includes/Requests/src/Autoload.php</a></li>
<li><a href="#trunksrcwpincludesRequestssrcCapabilityphp">trunk/src/wp-includes/Requests/src/Capability.php</a></li>
<li><a href="#trunksrcwpincludesRequestssrcCookieJarphp">trunk/src/wp-includes/Requests/src/Cookie/Jar.php</a></li>
<li><a href="#trunksrcwpincludesRequestssrcCookiephp">trunk/src/wp-includes/Requests/src/Cookie.php</a></li>
<li><a href="#trunksrcwpincludesRequestssrcIdnaEncoderphp">trunk/src/wp-includes/Requests/src/IdnaEncoder.php</a></li>
<li><a href="#trunksrcwpincludesRequestssrcIriphp">trunk/src/wp-includes/Requests/src/Iri.php</a></li>
<li><a href="#trunksrcwpincludesRequestssrcRequestsphp">trunk/src/wp-includes/Requests/src/Requests.php</a></li>
<li><a href="#trunksrcwpincludesRequestssrcResponseHeadersphp">trunk/src/wp-includes/Requests/src/Response/Headers.php</a></li>
<li><a href="#trunksrcwpincludesRequestssrcResponsephp">trunk/src/wp-includes/Requests/src/Response.php</a></li>
<li><a href="#trunksrcwpincludesRequestssrcTransportCurlphp">trunk/src/wp-includes/Requests/src/Transport/Curl.php</a></li>
<li><a href="#trunksrcwpincludesRequestssrcTransportFsockopenphp">trunk/src/wp-includes/Requests/src/Transport/Fsockopen.php</a></li>
<li><a href="#trunksrcwpincludesRequestssrcUtilityCaseInsensitiveDictionaryphp">trunk/src/wp-includes/Requests/src/Utility/CaseInsensitiveDictionary.php</a></li>
<li><a href="#trunksrcwpincludesRequestssrcUtilityFilteredIteratorphp">trunk/src/wp-includes/Requests/src/Utility/FilteredIterator.php</a></li>
<li><a href="#trunksrcwpincludesclassrequestsphp">trunk/src/wp-includes/class-requests.php</a></li>
<li><a href="#trunktestsphpunittestshttpincludeOldRequestsClassphp">trunk/tests/phpunit/tests/http/includeOldRequestsClass.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunksrcwpincludesRequestssrcAutoloadphp"></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/Requests/src/Autoload.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/Requests/src/Autoload.php   2023-04-04 23:35:21 UTC (rev 55628)
+++ trunk/src/wp-includes/Requests/src/Autoload.php     2023-04-05 13:10:53 UTC (rev 55629)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -166,7 +166,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                if (!defined('REQUESTS_SILENCE_PSR0_DEPRECATIONS') || REQUESTS_SILENCE_PSR0_DEPRECATIONS !== true) {
</span><span class="cx" style="display: block; padding: 0 10px">                                        // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error
</span><span class="cx" style="display: block; padding: 0 10px">                                        trigger_error(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                'The PSR-0 `Requests_...` class names in the Request library are deprecated.'
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                         'The PSR-0 `Requests_...` class names in the Requests library are deprecated.'
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 . ' Switch to the PSR-4 `WpOrg\Requests\...` class names at your earliest convenience.',
</span><span class="cx" style="display: block; padding: 0 10px">                                                E_USER_DEPRECATED
</span><span class="cx" style="display: block; padding: 0 10px">                                        );
</span></span></pre></div>
<a id="trunksrcwpincludesRequestssrcCapabilityphp"></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/Requests/src/Capability.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/Requests/src/Capability.php 2023-04-04 23:35:21 UTC (rev 55628)
+++ trunk/src/wp-includes/Requests/src/Capability.php   2023-04-05 13:10:53 UTC (rev 55629)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -28,7 +28,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * Note: this does not automatically mean that the capability will be supported for your chosen transport!
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @var array<string>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @var string[]
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        const ALL = [
</span><span class="cx" style="display: block; padding: 0 10px">                self::SSL,
</span></span></pre></div>
<a id="trunksrcwpincludesRequestssrcCookieJarphp"></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/Requests/src/Cookie/Jar.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/Requests/src/Cookie/Jar.php 2023-04-04 23:35:21 UTC (rev 55628)
+++ trunk/src/wp-includes/Requests/src/Cookie/Jar.php   2023-04-05 13:10:53 UTC (rev 55629)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -49,7 +49,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Normalise cookie data into a \WpOrg\Requests\Cookie
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param string|\WpOrg\Requests\Cookie $cookie
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param string|\WpOrg\Requests\Cookie $cookie Cookie header value, possibly pre-parsed (object).
+        * @param string                        $key    Optional. The name for this cookie.
</ins><span class="cx" style="display: block; padding: 0 10px">          * @return \WpOrg\Requests\Cookie
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function normalize_cookie($cookie, $key = '') {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -106,7 +107,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Unset the given header
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param string $offset
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param string $offset The key for the item to unset.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        #[ReturnTypeWillChange]
</span><span class="cx" style="display: block; padding: 0 10px">        public function offsetUnset($offset) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -171,7 +172,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Parse all cookies from a response and attach them to the response
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param \WpOrg\Requests\Response $response
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param \WpOrg\Requests\Response $response Response as received.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        public function before_redirect_check(Response $response) {
</span><span class="cx" style="display: block; padding: 0 10px">                $url = $response->url;
</span></span></pre></div>
<a id="trunksrcwpincludesRequestssrcCookiephp"></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/Requests/src/Cookie.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/Requests/src/Cookie.php     2023-04-04 23:35:21 UTC (rev 55628)
+++ trunk/src/wp-includes/Requests/src/Cookie.php       2023-04-05 13:10:53 UTC (rev 55629)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -36,8 +36,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Cookie attributes
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * Valid keys are (currently) path, domain, expires, max-age, secure and
-        * httponly.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * Valid keys are `'path'`, `'domain'`, `'expires'`, `'max-age'`, `'secure'` and
+        * `'httponly'`.
</ins><span class="cx" style="display: block; padding: 0 10px">          *
</span><span class="cx" style="display: block; padding: 0 10px">         * @var \WpOrg\Requests\Utility\CaseInsensitiveDictionary|array Array-like object
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -46,8 +46,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Cookie flags
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * Valid keys are (currently) creation, last-access, persistent and
-        * host-only.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * Valid keys are `'creation'`, `'last-access'`, `'persistent'` and `'host-only'`.
</ins><span class="cx" style="display: block; padding: 0 10px">          *
</span><span class="cx" style="display: block; padding: 0 10px">         * @var array
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -66,11 +65,13 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Create a new cookie object
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param string $name
-        * @param string $value
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param string                                                  $name           The name of the cookie.
+        * @param string                                                  $value          The value for the cookie.
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param array|\WpOrg\Requests\Utility\CaseInsensitiveDictionary $attributes Associative array of attribute data
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param array $flags
-        * @param int|null $reference_time
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param array                                                   $flags          The flags for the cookie.
+        *                                                                                Valid keys are `'creation'`, `'last-access'`,
+        *                                                                                `'persistent'` and `'host-only'`.
+        * @param int|null                                                $reference_time Reference time for relative calculations.
</ins><span class="cx" style="display: block; padding: 0 10px">          *
</span><span class="cx" style="display: block; padding: 0 10px">         * @throws \WpOrg\Requests\Exception\InvalidArgument When the passed $name argument is not a string.
</span><span class="cx" style="display: block; padding: 0 10px">         * @throws \WpOrg\Requests\Exception\InvalidArgument When the passed $value argument is not a string.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -279,7 +280,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">        public function normalize() {
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ($this->attributes as $key => $value) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $orig_value = $value;
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        $value      = $this->normalize_attribute($key, $value);
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+                       if (is_string($key)) {
+                               $value = $this->normalize_attribute($key, $value);
+                       }
+
</ins><span class="cx" style="display: block; padding: 0 10px">                         if ($value === null) {
</span><span class="cx" style="display: block; padding: 0 10px">                                unset($this->attributes[$key]);
</span><span class="cx" style="display: block; padding: 0 10px">                                continue;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -299,7 +304,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Handles parsing individual attributes from the cookie values.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @param string $name Attribute name
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param string|boolean $value Attribute value (string value, or true if empty/flag)
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param string|int|bool $value Attribute value (string/integer value, or true if empty/flag)
</ins><span class="cx" style="display: block; padding: 0 10px">          * @return mixed Value if available, or null if the attribute value is invalid (and should be skipped)
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        protected function normalize_attribute($name, $value) {
</span></span></pre></div>
<a id="trunksrcwpincludesRequestssrcIdnaEncoderphp"></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/Requests/src/IdnaEncoder.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/Requests/src/IdnaEncoder.php        2023-04-04 23:35:21 UTC (rev 55628)
+++ trunk/src/wp-includes/Requests/src/IdnaEncoder.php  2023-04-05 13:10:53 UTC (rev 55629)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -137,7 +137,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @internal (Testing found regex was the fastest implementation)
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param string $text
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param string $text Text to examine.
</ins><span class="cx" style="display: block; padding: 0 10px">          * @return bool Is the text string ASCII-only?
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        protected static function is_ascii($text) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -148,7 +148,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Prepare a text string for use as an IDNA name
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @todo Implement this based on RFC 3491 and the newer 5891
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param string $text
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param string $text Text to prepare.
</ins><span class="cx" style="display: block; padding: 0 10px">          * @return string Prepared string
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        protected static function nameprep($text) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -160,7 +160,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * Based on \WpOrg\Requests\Iri::replace_invalid_with_pct_encoding()
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param string $input
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param string $input Text to convert.
</ins><span class="cx" style="display: block; padding: 0 10px">          * @return array Unicode code points
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @throws \WpOrg\Requests\Exception Invalid UTF-8 codepoint (`idna.invalidcodepoint`)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -329,10 +329,10 @@
</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">                                                // output the code point for digit t + ((q - t) mod (base - t))
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                $digit   = $t + (($q - $t) % (self::BOOTSTRAP_BASE - $t));
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                         $digit   = (int) ($t + (($q - $t) % (self::BOOTSTRAP_BASE - $t)));
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 $output .= self::digit_to_char($digit);
</span><span class="cx" style="display: block; padding: 0 10px">                                                // let q = (q - t) div (base - t)
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                $q = floor(($q - $t) / (self::BOOTSTRAP_BASE - $t));
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                         $q = (int) floor(($q - $t) / (self::BOOTSTRAP_BASE - $t));
</ins><span class="cx" style="display: block; padding: 0 10px">                                         } // end
</span><span class="cx" style="display: block; padding: 0 10px">                                        // output the code point for digit q
</span><span class="cx" style="display: block; padding: 0 10px">                                        $output .= self::digit_to_char($q);
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -381,7 +381,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @param int $delta
</span><span class="cx" style="display: block; padding: 0 10px">         * @param int $numpoints
</span><span class="cx" style="display: block; padding: 0 10px">         * @param bool $firsttime
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @return int New bias
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @return int|float New bias
</ins><span class="cx" style="display: block; padding: 0 10px">          *
</span><span class="cx" style="display: block; padding: 0 10px">         * function adapt(delta,numpoints,firsttime):
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span></span></pre></div>
<a id="trunksrcwpincludesRequestssrcIriphp"></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/Requests/src/Iri.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/Requests/src/Iri.php        2023-04-04 23:35:21 UTC (rev 55628)
+++ trunk/src/wp-includes/Requests/src/Iri.php  2023-04-05 13:10:53 UTC (rev 55629)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -395,11 +395,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        // preceding "/" (if any) from the output buffer; otherwise,
</span><span class="cx" style="display: block; padding: 0 10px">                        elseif (strpos($input, '/../') === 0) {
</span><span class="cx" style="display: block; padding: 0 10px">                                $input = substr($input, 3);
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                $output = substr_replace($output, '', strrpos($output, '/'));
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         $output = substr_replace($output, '', (strrpos($output, '/') ?: 0));
</ins><span class="cx" style="display: block; padding: 0 10px">                         }
</span><span class="cx" style="display: block; padding: 0 10px">                        elseif ($input === '/..') {
</span><span class="cx" style="display: block; padding: 0 10px">                                $input = '/';
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                $output = substr_replace($output, '', strrpos($output, '/'));
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         $output = substr_replace($output, '', (strrpos($output, '/') ?: 0));
</ins><span class="cx" style="display: block; padding: 0 10px">                         }
</span><span class="cx" style="display: block; padding: 0 10px">                        // D: if the input buffer consists only of "." or "..", then remove
</span><span class="cx" style="display: block; padding: 0 10px">                        // that from the input buffer; otherwise,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -824,7 +824,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                else {
</span><span class="cx" style="display: block; padding: 0 10px">                        $iuserinfo = null;
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if (($port_start = strpos($remaining, ':', strpos($remaining, ']'))) !== false) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+               if (($port_start = strpos($remaining, ':', (strpos($remaining, ']') ?: 0))) !== false) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $port = substr($remaining, $port_start + 1);
</span><span class="cx" style="display: block; padding: 0 10px">                        if ($port === false || $port === '') {
</span><span class="cx" style="display: block; padding: 0 10px">                                $port = null;
</span></span></pre></div>
<a id="trunksrcwpincludesRequestssrcRequestsphp"></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/Requests/src/Requests.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/Requests/src/Requests.php   2023-04-04 23:35:21 UTC (rev 55628)
+++ trunk/src/wp-includes/Requests/src/Requests.php     2023-04-05 13:10:53 UTC (rev 55629)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -148,7 +148,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @var string
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        const VERSION = '2.0.5';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ const VERSION = '2.0.6';
</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">         * Selected transport name
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -642,12 +642,14 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Set the default values
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * The $options parameter is updated with the results.
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param string $url URL to request
</span><span class="cx" style="display: block; padding: 0 10px">         * @param array $headers Extra headers to send with the request
</span><span class="cx" style="display: block; padding: 0 10px">         * @param array|null $data Data to send either as a query string for GET/HEAD requests, or in the body for POST requests
</span><span class="cx" style="display: block; padding: 0 10px">         * @param string $type HTTP request type
</span><span class="cx" style="display: block; padding: 0 10px">         * @param array $options Options for the request
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @return void $options is updated with the results
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @return void
</ins><span class="cx" style="display: block; padding: 0 10px">          *
</span><span class="cx" style="display: block; padding: 0 10px">         * @throws \WpOrg\Requests\Exception When the $url is not an http(s) URL.
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -824,9 +826,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Internal use only. Converts a raw HTTP response to a \WpOrg\Requests\Response
</span><span class="cx" style="display: block; padding: 0 10px">         * while still executing a multiple request.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * `$response` is either set to a \WpOrg\Requests\Response instance, or a \WpOrg\Requests\Exception object
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param string $response Full response text including headers and body (will be overwritten with Response instance)
</span><span class="cx" style="display: block; padding: 0 10px">         * @param array $request Request data as passed into {@see \WpOrg\Requests\Requests::request_multiple()}
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @return void `$response` is either set to a \WpOrg\Requests\Response instance, or a \WpOrg\Requests\Exception object
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @return void
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        public static function parse_multiple(&$response, $request) {
</span><span class="cx" style="display: block; padding: 0 10px">                try {
</span></span></pre></div>
<a id="trunksrcwpincludesRequestssrcResponseHeadersphp"></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/Requests/src/Response/Headers.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/Requests/src/Response/Headers.php   2023-04-04 23:35:21 UTC (rev 55628)
+++ trunk/src/wp-includes/Requests/src/Response/Headers.php     2023-04-05 13:10:53 UTC (rev 55629)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -27,7 +27,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Avoid using this where commas may be used unquoted in values, such as
</span><span class="cx" style="display: block; padding: 0 10px">         * Set-Cookie headers.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param string $offset
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param string $offset Name of the header to retrieve.
</ins><span class="cx" style="display: block; padding: 0 10px">          * @return string|null Header value
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function offsetGet($offset) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -69,7 +69,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Get all values for a given header
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param string $offset
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param string $offset Name of the header to retrieve.
</ins><span class="cx" style="display: block; padding: 0 10px">          * @return array|null Header values
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @throws \WpOrg\Requests\Exception\InvalidArgument When the passed argument is not valid as an array key.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -79,7 +79,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        throw InvalidArgument::create(1, '$offset', 'string|int', gettype($offset));
</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">-                $offset = strtolower($offset);
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if (is_string($offset)) {
+                       $offset = strtolower($offset);
+               }
+
</ins><span class="cx" style="display: block; padding: 0 10px">                 if (!isset($this->data[$offset])) {
</span><span class="cx" style="display: block; padding: 0 10px">                        return null;
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span></span></pre></div>
<a id="trunksrcwpincludesRequestssrcResponsephp"></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/Requests/src/Response.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/Requests/src/Response.php   2023-04-04 23:35:21 UTC (rev 55628)
+++ trunk/src/wp-includes/Requests/src/Response.php     2023-04-05 13:10:53 UTC (rev 55629)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -137,16 +137,16 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @link https://php.net/json-decode
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param ?bool $associative Optional. When `true`, JSON objects will be returned as associative arrays;
-        *                           When `false`, JSON objects will be returned as objects.
-        *                           When `null`, JSON objects will be returned as associative arrays
-        *                           or objects depending on whether `JSON_OBJECT_AS_ARRAY` is set in the flags.
-        *                           Defaults to `true` (in contrast to the PHP native default of `null`).
-        * @param int   $depth       Optional. Maximum nesting depth of the structure being decoded.
-        *                           Defaults to `512`.
-        * @param int   $options     Optional. Bitmask of JSON_BIGINT_AS_STRING, JSON_INVALID_UTF8_IGNORE,
-        *                           JSON_INVALID_UTF8_SUBSTITUTE, JSON_OBJECT_AS_ARRAY, JSON_THROW_ON_ERROR.
-        *                           Defaults to `0` (no options set).
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param bool|null $associative Optional. When `true`, JSON objects will be returned as associative arrays;
+        *                               When `false`, JSON objects will be returned as objects.
+        *                               When `null`, JSON objects will be returned as associative arrays
+        *                               or objects depending on whether `JSON_OBJECT_AS_ARRAY` is set in the flags.
+        *                               Defaults to `true` (in contrast to the PHP native default of `null`).
+        * @param int       $depth       Optional. Maximum nesting depth of the structure being decoded.
+        *                               Defaults to `512`.
+        * @param int       $options     Optional. Bitmask of JSON_BIGINT_AS_STRING, JSON_INVALID_UTF8_IGNORE,
+        *                               JSON_INVALID_UTF8_SUBSTITUTE, JSON_OBJECT_AS_ARRAY, JSON_THROW_ON_ERROR.
+        *                               Defaults to `0` (no options set).
</ins><span class="cx" style="display: block; padding: 0 10px">          *
</span><span class="cx" style="display: block; padding: 0 10px">         * @return array
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span></span></pre></div>
<a id="trunksrcwpincludesRequestssrcTransportCurlphp"></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/Requests/src/Transport/Curl.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/Requests/src/Transport/Curl.php     2023-04-04 23:35:21 UTC (rev 55628)
+++ trunk/src/wp-includes/Requests/src/Transport/Curl.php       2023-04-05 13:10:53 UTC (rev 55629)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -465,7 +465,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @param string $response Response data from the body
</span><span class="cx" style="display: block; padding: 0 10px">         * @param array $options Request options
</span><span class="cx" style="display: block; padding: 0 10px">         * @return string|false HTTP response data including headers. False if non-blocking.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @throws \WpOrg\Requests\Exception
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @throws \WpOrg\Requests\Exception If the request resulted in a cURL error.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        public function process_response($response, $options) {
</span><span class="cx" style="display: block; padding: 0 10px">                if ($options['blocking'] === false) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -561,7 +561,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Format a URL given GET data
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param string $url
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param string       $url  Original URL.
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param array|object $data Data to build query using, see {@link https://www.php.net/http_build_query}
</span><span class="cx" style="display: block; padding: 0 10px">         * @return string URL with data
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span></span></pre></div>
<a id="trunksrcwpincludesRequestssrcTransportFsockopenphp"></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/Requests/src/Transport/Fsockopen.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/Requests/src/Transport/Fsockopen.php        2023-04-04 23:35:21 UTC (rev 55628)
+++ trunk/src/wp-includes/Requests/src/Transport/Fsockopen.php  2023-04-05 13:10:53 UTC (rev 55629)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -51,6 +51,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        private $max_bytes = false;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        /**
+        * Cache for received connection errors.
+        *
+        * @var string
+        */
</ins><span class="cx" style="display: block; padding: 0 10px">         private $connect_error = '';
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -405,7 +410,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Format a URL given GET data
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param array $url_parts
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param array        $url_parts Array of URL parts as received from {@link https://www.php.net/parse_url}
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param array|object $data Data to build query using, see {@link https://www.php.net/http_build_query}
</span><span class="cx" style="display: block; padding: 0 10px">         * @return string URL with data
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span></span></pre></div>
<a id="trunksrcwpincludesRequestssrcUtilityCaseInsensitiveDictionaryphp"></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/Requests/src/Utility/CaseInsensitiveDictionary.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/Requests/src/Utility/CaseInsensitiveDictionary.php  2023-04-04 23:35:21 UTC (rev 55628)
+++ trunk/src/wp-includes/Requests/src/Utility/CaseInsensitiveDictionary.php    2023-04-05 13:10:53 UTC (rev 55629)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -95,7 +95,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Unset the given header
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param string $offset
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param string $offset The key for the item to unset.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        #[ReturnTypeWillChange]
</span><span class="cx" style="display: block; padding: 0 10px">        public function offsetUnset($offset) {
</span></span></pre></div>
<a id="trunksrcwpincludesRequestssrcUtilityFilteredIteratorphp"></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/Requests/src/Utility/FilteredIterator.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/Requests/src/Utility/FilteredIterator.php   2023-04-04 23:35:21 UTC (rev 55628)
+++ trunk/src/wp-includes/Requests/src/Utility/FilteredIterator.php     2023-04-05 13:10:53 UTC (rev 55629)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -28,7 +28,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Create a new iterator
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param array $data
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param array    $data     The array or object to be iterated on.
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param callable $callback Callback to be called on each value
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @throws \WpOrg\Requests\Exception\InvalidArgument When the passed $data argument is not iterable.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -46,14 +46,25 @@
</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><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @inheritdoc
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * Prevent unserialization of the object for security reasons.
</ins><span class="cx" style="display: block; padding: 0 10px">          *
</span><span class="cx" style="display: block; padding: 0 10px">         * @phpcs:disable PHPCompatibility.FunctionNameRestrictions.NewMagicMethods.__unserializeFound
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
+        * @param array $data Restored array of data originally serialized.
+        *
+        * @return void
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        #[ReturnTypeWillChange]
</span><span class="cx" style="display: block; padding: 0 10px">        public function __unserialize($data) {}
</span><span class="cx" style="display: block; padding: 0 10px">        // phpcs:enable
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        /**
+        * Perform reinitialization tasks.
+        *
+        * Prevents a callback from being injected during unserialization of an object.
+        *
+        * @return void
+        */
</ins><span class="cx" style="display: block; padding: 0 10px">         public function __wakeup() {
</span><span class="cx" style="display: block; padding: 0 10px">                unset($this->callback);
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -75,7 +86,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><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @inheritdoc
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * Prevent creating a PHP value from a stored representation of the object for security reasons.
+        *
+        * @param string $data The serialized string.
+        *
+        * @return void
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        #[ReturnTypeWillChange]
</span><span class="cx" style="display: block; padding: 0 10px">        public function unserialize($data) {}
</span></span></pre></div>
<a id="trunksrcwpincludesclassrequestsphp"></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/class-requests.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/class-requests.php  2023-04-04 23:35:21 UTC (rev 55628)
+++ trunk/src/wp-includes/class-requests.php    2023-04-05 13:10:53 UTC (rev 55629)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -19,7 +19,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> if (!defined('REQUESTS_SILENCE_PSR0_DEPRECATIONS') || REQUESTS_SILENCE_PSR0_DEPRECATIONS !== true) {
</span><span class="cx" style="display: block; padding: 0 10px">        // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error
</span><span class="cx" style="display: block; padding: 0 10px">        trigger_error(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                'The PSR-0 `Requests_...` class names in the Request library are deprecated.'
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         'The PSR-0 `Requests_...` class names in the Requests library are deprecated.'
</ins><span class="cx" style="display: block; padding: 0 10px">                 . ' Switch to the PSR-4 `WpOrg\Requests\...` class names at your earliest convenience.',
</span><span class="cx" style="display: block; padding: 0 10px">                E_USER_DEPRECATED
</span><span class="cx" style="display: block; padding: 0 10px">        );
</span></span></pre></div>
<a id="trunktestsphpunittestshttpincludeOldRequestsClassphp"></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/http/includeOldRequestsClass.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/http/includeOldRequestsClass.php        2023-04-04 23:35:21 UTC (rev 55628)
+++ trunk/tests/phpunit/tests/http/includeOldRequestsClass.php  2023-04-05 13:10:53 UTC (rev 55629)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15,7 +15,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_should_include_old_requests_class() {
</span><span class="cx" style="display: block; padding: 0 10px">                $this->expectDeprecation();
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $this->expectDeprecationMessage( 'The PSR-0 `Requests_...` class names in the Request library are deprecated.' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $this->expectDeprecationMessage( 'The PSR-0 `Requests_...` class names in the Requests library are deprecated.' );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                new Requests();
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span></span></pre>
</div>
</div>

</body>
</html>