Make WordPress Core

Opened 5 months ago

Closed 4 months ago

#63961 closed task (blessed) (fixed)

Update SimplePie to version 1.9.0

Reported by: tobiasbg's profile TobiasBg Owned by: sergeybiryukov's profile SergeyBiryukov
Milestone: 6.9 Priority: normal
Severity: normal Version:
Component: External Libraries Keywords: has-patch
Focuses: Cc:

Change History (11)

#3 @SergeyBiryukov
5 months ago

  • Owner set to SergeyBiryukov
  • Status changed from new to accepted

#4 @SergeyBiryukov
5 months ago

  • Resolution set to fixed
  • Status changed from accepted to closed

In 60771:

External Libraries: Update the SimplePie library to version 1.9.0.

References:

Follow-up to [59141], [60490].

Props swissspidy, TobiasBg, SergeyBiryukov.
Fixes #63961.

#5 @swissspidy
5 months ago

Still seeing some PHP 8.5 deprecations from SimplePie:

1) Tests_Feed_FetchFeed::test_empty_charset_does_not_trigger_fatal_error
Using null as an array offset is deprecated, use an empty string instead

/var/www/src/wp-includes/SimplePie/src/IRI.php:626
/var/www/src/wp-includes/SimplePie/src/IRI.php:940
/var/www/src/wp-includes/SimplePie/src/IRI.php:722
/var/www/src/wp-includes/SimplePie/src/IRI.php:212
/var/www/src/wp-includes/SimplePie/src/Misc.php:53
/var/www/src/wp-includes/SimplePie/src/Registry.php:253
/var/www/src/wp-includes/SimplePie/src/Sanitize.php:551
/var/www/src/wp-includes/class-wp-simplepie-sanitize-kses.php:58
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2504
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2308
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2487
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2818
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2777
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2480
/var/www/src/wp-includes/SimplePie/src/Item.php:135
/var/www/src/wp-includes/SimplePie/src/Item.php:858
/var/www/src/wp-includes/SimplePie/src/Item.php:818
/var/www/src/wp-includes/SimplePie/src/Item.php:797
/var/www/src/wp-includes/SimplePie/src/Item.php:150
/var/www/src/wp-includes/SimplePie/src/Item.php:336
/var/www/tests/phpunit/tests/feed/fetchFeed.php:30
/var/www/vendor/bin/phpunit:122

13) WP_Test_REST_Widgets_Controller::test_get_items
Using null as an array offset is deprecated, use an empty string instead

/var/www/src/wp-includes/SimplePie/src/IRI.php:626
/var/www/src/wp-includes/SimplePie/src/IRI.php:940
/var/www/src/wp-includes/SimplePie/src/IRI.php:722
/var/www/src/wp-includes/SimplePie/src/IRI.php:212
/var/www/src/wp-includes/SimplePie/src/Misc.php:53
/var/www/src/wp-includes/SimplePie/src/Registry.php:253
/var/www/src/wp-includes/SimplePie/src/Sanitize.php:551
/var/www/src/wp-includes/class-wp-simplepie-sanitize-kses.php:58
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2504
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2308
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2487
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2818
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2777
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2480
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2903
/var/www/src/wp-includes/widgets/class-wp-widget-rss.php:72
/var/www/src/wp-includes/class-wp-widget.php:394
/var/www/src/wp-includes/widgets.php:2055
/var/www/src/wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php:708
/var/www/src/wp-includes/rest-api/endpoints/class-wp-rest-widgets-controller.php:159
/var/www/src/wp-includes/rest-api/class-wp-rest-server.php:1292
/var/www/src/wp-includes/rest-api/class-wp-rest-server.php:1125
/var/www/tests/phpunit/includes/spy-rest-server.php:71
/var/www/tests/phpunit/tests/rest-api/rest-widgets-controller.php:399
/var/www/vendor/bin/phpunit:122

15) Tests_Widgets_wpWidgetRss::test_url_happy_path with data set "when url is given" ('https://wordpress.org/news/feed/', '<section id="widget_rss-5" cl...eed/">')
Using null as an array offset is deprecated, use an empty string instead

/var/www/src/wp-includes/SimplePie/src/IRI.php:626
/var/www/src/wp-includes/SimplePie/src/IRI.php:940
/var/www/src/wp-includes/SimplePie/src/IRI.php:722
/var/www/src/wp-includes/SimplePie/src/IRI.php:212
/var/www/src/wp-includes/SimplePie/src/Misc.php:53
/var/www/src/wp-includes/SimplePie/src/Registry.php:253
/var/www/src/wp-includes/SimplePie/src/Sanitize.php:551
/var/www/src/wp-includes/class-wp-simplepie-sanitize-kses.php:58
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2504
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2308
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2487
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2818
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2777
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2480
/var/www/src/wp-includes/SimplePie/src/SimplePie.php:2903
/var/www/src/wp-includes/widgets/class-wp-widget-rss.php:72
/var/www/tests/phpunit/tests/widgets/wpWidgetRss.php:87
/var/www/vendor/bin/phpunit:122

#6 @TobiasBg
5 months ago

These deprecations were implemented in PHP 8.5-nightly only after the SimplePie 1.9.0 release, from what I can see, so a new upstream-release would be needed (and Core also reports this deprecation in several places :-( ).

#7 @swissspidy
5 months ago

Got it. Let's hope they tag a new release soon. The core ones are tracked in #63957

#9 @swissspidy
4 months ago

6.9 Beta 1 is next week and SimplePie hasn't pushed a new release yet including the above PR.

I suggest cherry-picking that individual change, so we're not blocked waiting for a new release.

That would resolve 3 failing tests on PHP 8.5

#10 @SergeyBiryukov
4 months ago

  • Resolution fixed deleted
  • Status changed from closed to reopened

#11 @swissspidy
4 months ago

  • Resolution set to fixed
  • Status changed from reopened to closed

In 60947:

External Libraries: Backport upstream PHP 8.5 fixes for SimplePie.

After the update to v1.9.0 in [60771], this merges a single bug fix, in absence of a new upstream release in time for 6.9 Beta.

References:

Props swissspidy.
Fixes #63961.

Note: See TracTickets for help on using tickets.