Make WordPress Core


Ignore:
Timestamp:
12/15/2022 09:30:26 PM (22 months ago)
Author:
hellofromTonya
Message:

External Libraries: Update Requests library to version 2.0.0.

This is a major release and contains breaking changes.

Most important changes to be aware of for this release:

  • All code is now namespaced. Though there is a full backward compatibility layer available and the old class names are still supported, using them will generate a deprecation notice (which can be silenced by plugins if they'd need to support multiple WP versions). See the upgrade guide for more details.
  • A lot of classes have been marked final. This should generally not affect userland code as care has been taken to not apply the final keyword to classes which are known to be extended in userland code.
  • Extensive input validation has been added to Requests. When Requests is used as documented though, this will be unnoticable.
  • A new WpOrg\Requests\Requests::has_capabilities() method has been introduced which can be used to address #37708.
  • A new WpOrg\Requests\Response::decode_body() method has been introduced which may be usable to simplify some of the WP native wrapper code.
  • Remaining PHP 8.0 compatibility fixed (support for named parameters).
  • PHP 8.1 compatibility.

Release notes: https://github.com/WordPress/Requests/releases/tag/v2.0.0

For a full list of changes in this update, see the Requests GitHub:
https://github.com/WordPress/Requests/compare/v1.8.1...v2.0.0

This commit also resolves 2 blocking issues which previously caused the revert of [52244]:

  • New Requests files are loaded into wp-includes/Requests/src/, matching the location of the library. In doing so, filesystems that are case-insensitive are not impacted (see #54582).
  • Preload: During a Core update, the old Requests files are preloaded into memory before the update deletes the files. Preloading avoids fatal errors noted in #54562.

Follow-up to [50842], [51078], [52244], [52315], [52327], [52328].

Props jrf, schlessera, datagutten, wojsmol, dustinrue, soulseekah, szepeviktor. costdev, sergeybiryukov, peterwilsoncc, ironprogrammer, antonvlasenko, hellofromTonya, swissspidy, dd32, azaozz, TobiasBg, audrasjb.
Fixes #54504.
See #54582, #54562.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/functions/maybeSerialize.php

    r53890 r54997  
    214214        $serialized = maybe_serialize( $value );
    215215
    216         if ( get_class( $value ) === 'Requests_Utility_FilteredIterator' ) {
     216        if ( get_class( $value ) === 'WpOrg\Requests\Utility\FilteredIterator' ) {
    217217            $new_value = unserialize( $serialized );
    218             $property  = ( new ReflectionClass( 'Requests_Utility_FilteredIterator' ) )->getProperty( 'callback' );
     218            $property  = ( new ReflectionClass( 'WpOrg\Requests\Utility\FilteredIterator' ) )->getProperty( 'callback' );
    219219            $property->setAccessible( true );
    220220            $callback_value = $property->getValue( $new_value );
     
    234234        return array(
    235235            'filtered iterator using md5'  => array(
    236                 new Requests_Utility_FilteredIterator( array( 1 ), 'md5' ),
     236                new WpOrg\Requests\Utility\FilteredIterator( array( 1 ), 'md5' ),
    237237            ),
    238238            'filtered iterator using sha1' => array(
    239                 new Requests_Utility_FilteredIterator( array( 1, 2 ), 'sha1' ),
     239                new WpOrg\Requests\Utility\FilteredIterator( array( 1, 2 ), 'sha1' ),
    240240            ),
    241241            'array iterator'               => array(
Note: See TracChangeset for help on using the changeset viewer.