Make WordPress Core

Opened 2 years ago

Last modified 2 months ago

#55604 new task (blessed)

Update SimplePie to version 1.7.0

Reported by: jrf's profile jrf Owned by:
Milestone: Future Release Priority: normal
Severity: normal Version: 6.0
Component: External Libraries Keywords: needs-patch needs-dev-note early needs-unit-tests 2nd-opinion
Focuses: Cc:

Description

A new version of SimplePie has just been released.

This version contains a few enhancements and some bug fixes.

The most notable change, however, is that this release contains a forward-compatibility layer for the change to PSR-4 namespaced classes which is targetted for SimplePie 2.0.0.

With some similarity to Requests - the namespaced versions of the classes are in a different base directory (src) from the original versions (library).

As WP currently only includes the files in the library directory, I would like to suggest to continue doing so for now.
This still makes the forward-compatibility layer available as all files in the library directory now create a class alias to their namespaced version.

Once 2.0.0 has been released, the files included in WP, should be switched to the files from the src directory (which is currently in place mostly to allow for Composer autoloading) and should start using the namespaced names for the SimplePie classes.

I'd recommend for this update to be mentioned in a dev-note, so plugins/themes directly using SimplePie can decide for themselves when they want to change to using the namespaced names for SimplePie classes.

Refs:

I've done a cursory check of the changes and they look sane to me, but would very much like to invite a second opinion and I'd recommend testing this change (more thoroughly than usually done for upgrades like these).

I'd also like to recommend for a few cursory tests to be added to the WP test suite to ensure that both the PSR-0 as well as the PSR-4 class names load correctly when only including the library directory in WP.

I'd recommend for this update to be applied in WP 6.1 early.

Previous: #36669, #51521, #54659

Change History (33)

This ticket was mentioned in Slack in #forums by costdev. View the logs.


2 years ago

This ticket was mentioned in Slack in #meta by costdev. View the logs.


2 years ago

#3 @costdev
23 months ago

  • Keywords needs-unit-tests 2nd-opinion added

Adding 2nd-opinion and needs-unit-tests per recommendations in the ticket summary.

This ticket was mentioned in Slack in #core by costdev. View the logs.


23 months ago

This ticket was mentioned in Slack in #core by audrasjb. View the logs.


22 months ago

This ticket was mentioned in Slack in #core by audrasjb. View the logs.


22 months ago

This ticket was mentioned in Slack in #core by brianhenryie. View the logs.


22 months ago

This ticket was mentioned in Slack in #core by chaion07. View the logs.


22 months ago

#9 @chaion07
22 months ago

Thanks @jrf for reporting this. We reviewed this ticket during a recent bug-scrub session. Based on the feedback received from the team, we feel that this ticket needs unit testing and/ or, patches before anything can be done for this ticket to move closer to a resolution.

Props: @cu121 & @markparnell

This ticket was mentioned in Slack in #core by chaion07. View the logs.


21 months ago

This ticket was mentioned in Slack in #core by audrasjb. View the logs.


20 months ago

#12 @audrasjb
20 months ago

Hello there, as per today's bug scrub, just wanted to mention that we'll give this ticket a few days before moving in to Future Release, as it is marked as early and as we're just one month away from 6.1 beta 1 :)

This ticket was mentioned in Slack in #core by chaion07. View the logs.


20 months ago

This ticket was mentioned in Slack in #core by audrasjb. View the logs.


20 months ago

This ticket was mentioned in Slack in #core by chaion07. View the logs.


20 months ago

#16 @chaion07
20 months ago

  • Milestone changed from 6.1 to Future Release

Thanks @jrf for reporting this. We reviewed this ticket during a recent bug-scrub session. We are updating the ticket with the following changes:

  1. Updating milestone to Future Release considering no significant change has taken place.

Props to @audrasjb

#17 @jrf
20 months ago

  • Milestone changed from Future Release to 6.2

#18 @jrf
19 months ago

In the mean time SimplePie 1.7.0 has just been released:

Note: as the codebase has undergone a code style cleanup, the diff is kind of useless.
For a code review of the 1.7.0 release, we'll probably need to review the individual commits (with the exception of the code style one).


Based on the discussion in this ticket in the SimplePie repo, the intention is to make 1.7.0 an LTS branch which will keep supporting PHP 5.6 for the foreseeable future.

SimplePie 1.8.0 is slated to drop support for PHP < 7.2.

This ticket was mentioned in Slack in #core by audrasjb. View the logs.


15 months ago

#20 @audrasjb
15 months ago

  • Milestone changed from 6.2 to Future Release

As per today's bug scrub: since this ticket is marked for early commit and as it is still waiting for a patch and testing, let's move it to Future Release.

#21 @hellofromTonya
14 months ago

  • Milestone changed from Future Release to 6.3

Moving this into 6.3.

This ticket was mentioned in Slack in #core by audrasjb. View the logs.


11 months ago

#23 @audrasjb
11 months ago

  • Summary changed from Update SimplePie to version 1.6.0 to Update SimplePie to version 1.7.0

This ticket was mentioned in Slack in #core by audrasjb. View the logs.


10 months ago

#25 @audrasjb
10 months ago

  • Milestone changed from 6.3 to 6.4

No update during the 6.3 early cycle: moving to milestone 6.4.

#26 @Presskopp
10 months ago

  • Summary changed from Update SimplePie to version 1.7.0 to Update SimplePie to version 1.8.0

#27 @jrf
10 months ago

  • Summary changed from Update SimplePie to version 1.8.0 to Update SimplePie to version 1.7.0

@Presskopp Unfortunately upgrading to 1.8.0 is not an option for WordPress as it raises the minimum supported PHP version to 7.2, while WP still supports PHP 5.6.

https://github.com/simplepie/simplepie/blob/1.8.0/CHANGELOG.md#180---2023-01-20

Last edited 10 months ago by jrf (previous) (diff)

#28 @Presskopp
10 months ago

Ah, yes, sorry I didn't think about that. But on the other hand the support for 5.6 could end soon, see https://core.trac.wordpress.org/ticket/57345#comment:111

#29 follow-up: @jrf
10 months ago

@Presskopp I hear you, but I'll believe when I see it...

#30 in reply to: ↑ 29 @Presskopp
10 months ago

Replying to jrf:

@Presskopp I hear you, but I'll believe when I see it...

:-) The hope dies last

https://make.wordpress.org/core/2023/07/05/dropping-support-for-php-5/ we're getting close @jrf

Last edited 9 months ago by Presskopp (previous) (diff)

#31 @hellofromTonya
6 months ago

  • Milestone changed from 6.4 to 6.5

I'd recommend for this update to be applied in WP 6.1 early.

6.4 is in the middle of the beta cycle with RC1 fast approaching. It's too late for early tasks. Though it's marked as a blessed task, there's work to be done in reviewing the version and preparing tests

I've done a cursory check of the changes and they look sane to me, but would very much like to invite a second opinion and I'd recommend testing this change (more thoroughly than usually done for upgrades like these).

I'd also like to recommend for a few cursory tests to be added to the WP test suite to ensure that both the PSR-0 as well as the PSR-4 class names load correctly when only including the library directory in WP.

I know this ticket has been kicked down the road release after release. Should it go into Future Release or the next milestone 6.5? Moving it to 6.5 might give it visibility, though it hasn't yet. But in the effort to keep dependencies (near) up-to-date, trying for one more major. Punting to 6.5.

This ticket was mentioned in Slack in #core by audrasjb. View the logs.


2 months ago

#33 @audrasjb
2 months ago

  • Milestone changed from 6.5 to Future Release

It’s a bit late in 6.5 cycle to commit an early ticket, moving to Future release

Note: See TracTickets for help on using tickets.