Make WordPress Core

Opened 4 weeks ago

Closed 2 weeks ago

Last modified 13 days ago

#62050 closed enhancement (fixed)

Proposal: track JPEG XL server support

Reported by: samiamnot's profile samiamnot Owned by: desrosj's profile desrosj
Milestone: 6.7 Priority: normal
Severity: normal Version:
Component: Upgrade/Install Keywords: good-first-bug has-patch commit
Focuses: Cc:

Description

Similar to tracking done (a drop late) for HEIC image format support in #61981, tracking server support for the possible future support should be implemented early, so that statistics are available for the time that #52788 will be implemented. as of the introduction of iPhone 16 (and possibly part of iOS 18 in general), JPEG XL will be natively supported, and this will likely push for an increase in support of the format in WordPress.

Change History (11)

#1 @swissspidy
4 weeks ago

  • Keywords needs-patch good-first-bug added
  • Milestone changed from Awaiting Review to 6.7

Good idea. Marking as a good first bug. See https://github.com/WordPress/wordpress-develop/pull/7288 for prior art on how to implement this.

This ticket was mentioned in PR #7355 on WordPress/wordpress-develop by @deepakrohilla.


4 weeks ago
#2

  • Keywords has-patch added; needs-patch removed

#3 @dd32
4 weeks ago

+1 API is setup to accept this now.

#4 @ayeshrajans
4 weeks ago

This is great, I think this will really come around helpful.

Note that upstream PHP GD extension does not support HEIF or JXL, so this patch assumes that gd_info() output would return "JXL Support". I'll keep an eye on the GD extension developments. Unfortunately, we are pretty close to the hard feature-freeze, so this will likely be effective since PHP 8.5.

#5 @desrosj
2 weeks ago

  • Owner set to desrosj
  • Status changed from new to reviewing

#6 @desrosj
2 weeks ago

I think we have a few options here.

  • Ship the PR as is, even though GD likely won't have this for PHP 8.4.
  • Ship only the ImageMagick data.
  • Wait and try to add both at the same time.

I am leaning towards option 1 or 2. They're wrapped in isset()/! empty() checks, so there won't be any problems if the keys are not there. And it allows the data to start flowing without needing to update WordPress in the future (it's preemptively in Core).

Are there any strong opinions against or preference for any of these suggested approaches?

#7 @ayeshrajans
2 weeks ago

I'm leaning towards option 1 too.

I spend a fair bit of time with php-src development, and if a PR comes in with JXL support, I can update this ticket with the progress. Apart from that, I don't think it's a bad idea to preemptively have this in core, so we might have data coming in without depending on a PHP + WP core update.

#8 @joemcgill
2 weeks ago

I agree that including a preliminary check for GD is good to include, even when it might need to be updated based on their eventual implementation because it gives us some ability to do support checks early.

#9 @desrosj
2 weeks ago

  • Keywords commit added

Thanks all! I'm going to go with option 1 for this iteration.

#10 @desrosj
2 weeks ago

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

In 59140:

Upgrade/Install: Indicate JPEG XL support when checking upgrades.

This adds tracking of the JPEG XL image type support alongside WebP, HEIC, and AVIF image types when requesting an upgrade from WordPress.org.

This will check for JPEG XL support in both ImageMagick and GD, even though GD technically does not yet have support for JPEG XL.

Props deepakrohilla, swissspidy, dd32, ayeshrajans, samiamnot, joemcgill.
Fixes #62050.

Note: See TracTickets for help on using tickets.