Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump WP version requirement to 6.4 #13731

Merged
merged 14 commits into from
Jun 25, 2024
Merged

Conversation

Swanand01
Copy link
Collaborator

@Swanand01 Swanand01 commented Jun 21, 2024

Summary

The goal of the PR is to Bump WordPress minimum to 6.4 in following:

  • Bump in readme.txt
  • Bump in web-stories.php
  • Update minimum_supported_wp_version in phpcs.xml.dist
  • Update tests-e2e.yml and tests-unit-php.yml
  • In the Story_Post_Type class, ensure POSTER_META_KEY and PUBLISHER_LOGO_META_KEY are part of revisions
  • In the Product_Meta class, ensure PRODUCTS_POST_META_KEY is a part of revisions

User-facing changes

Not applicable.

Testing Instructions

Not applicable.

Reviews

Does this PR have a security-related impact?

No.

Does this PR change what data or activity we track or use?

No.

Does this PR have a legal-related impact?

No.

Checklist

  • This PR addresses an existing issue and I have linked this PR to it
  • I have tested this code to the best of my abilities
  • I have verified accessibility to the best of my abilities (docs)
  • I have verified i18n and l10n (translation, right-to-left layout) to the best of my abilities
  • This code is covered by automated tests (unit, integration, and/or e2e) to verify it works as intended (docs)
  • I have added documentation where necessary
  • I have added a matching Type: XYZ label to the PR

Fixes #13703

@Swanand01 Swanand01 added Group: WordPress Changes related to WordPress or Gutenberg integration Type: Task Tasks which do not involve engineering Type: Code Quality Things that need a refactor, rewrite or just some good old developer ❤️ labels Jun 21, 2024
@Swanand01 Swanand01 marked this pull request as ready for review June 21, 2024 10:24
Copy link
Contributor

github-actions bot commented Jun 21, 2024

Size Change: 0 B

Total Size: 2.76 MB

ℹ️ View Unchanged
Filename Size
assets/css/web-stories-block-rtl.css 4.65 kB
assets/css/web-stories-block.css 4.69 kB
assets/css/web-stories-carousel-rtl.css 711 B
assets/css/web-stories-carousel.css 711 B
assets/css/web-stories-dashboard-rtl.css 657 B
assets/css/web-stories-dashboard.css 659 B
assets/css/web-stories-editor-rtl.css 767 B
assets/css/web-stories-editor.css 769 B
assets/css/web-stories-embed-rtl.css 662 B
assets/css/web-stories-embed.css 664 B
assets/css/web-stories-list-styles-rtl.css 2.43 kB
assets/css/web-stories-list-styles.css 2.46 kB
assets/css/web-stories-theme-style-twentyeleven-rtl.css 102 B
assets/css/web-stories-theme-style-twentyeleven.css 102 B
assets/css/web-stories-theme-style-twentyfifteen-rtl.css 253 B
assets/css/web-stories-theme-style-twentyfifteen.css 253 B
assets/css/web-stories-theme-style-twentyfourteen-rtl.css 286 B
assets/css/web-stories-theme-style-twentyfourteen.css 286 B
assets/css/web-stories-theme-style-twentyseventeen-rtl.css 310 B
assets/css/web-stories-theme-style-twentyseventeen.css 310 B
assets/css/web-stories-theme-style-twentysixteen-rtl.css 241 B
assets/css/web-stories-theme-style-twentysixteen.css 241 B
assets/css/web-stories-theme-style-twentyten-rtl.css 142 B
assets/css/web-stories-theme-style-twentyten.css 142 B
assets/css/web-stories-theme-style-twentytwelve-rtl.css 265 B
assets/css/web-stories-theme-style-twentytwelve.css 265 B
assets/css/web-stories-theme-style-twentytwenty-rtl.css 86 B
assets/css/web-stories-theme-style-twentytwenty.css 86 B
assets/css/web-stories-theme-style-twentytwentyone-rtl.css 324 B
assets/css/web-stories-theme-style-twentytwentyone.css 324 B
assets/css/web-stories-widget-rtl.css 459 B
assets/css/web-stories-widget.css 459 B
assets/js/3768.js 13.9 kB
assets/js/3933.js 27.3 kB
assets/js/4032.js 4.74 kB
assets/js/5380.js 8.18 kB
assets/js/7830.js 38.2 kB
assets/js/911.js 218 kB
assets/js/9391.js 95 B
assets/js/945.js 49.5 kB
assets/js/9947.js 97.6 kB
assets/js/chunk-colorthief.js 2.63 kB
assets/js/chunk-ffmpeg.js 5.98 kB
assets/js/chunk-html-to-image.js 4.51 kB
assets/js/chunk-media-gallery.js 6.12 kB
assets/js/chunk-mediainfo.js 95 B
assets/js/chunk-opentype.js 97 B
assets/js/chunk-react-calendar.js 10.9 kB
assets/js/chunk-react-color.js 25.9 kB
assets/js/chunk-selfie-segmentation.js 16.3 kB
assets/js/chunk-web-stories-template-0-metaData.js 546 B
assets/js/chunk-web-stories-template-0.js 10.8 kB
assets/js/chunk-web-stories-template-1-metaData.js 537 B
assets/js/chunk-web-stories-template-1.js 9.16 kB
assets/js/chunk-web-stories-template-10-metaData.js 531 B
assets/js/chunk-web-stories-template-10.js 7.18 kB
assets/js/chunk-web-stories-template-11-metaData.js 536 B
assets/js/chunk-web-stories-template-11.js 8.77 kB
assets/js/chunk-web-stories-template-12-metaData.js 494 B
assets/js/chunk-web-stories-template-12.js 8.55 kB
assets/js/chunk-web-stories-template-13-metaData.js 521 B
assets/js/chunk-web-stories-template-13.js 6.84 kB
assets/js/chunk-web-stories-template-14-metaData.js 580 B
assets/js/chunk-web-stories-template-14.js 7.2 kB
assets/js/chunk-web-stories-template-15-metaData.js 541 B
assets/js/chunk-web-stories-template-15.js 8.68 kB
assets/js/chunk-web-stories-template-16-metaData.js 586 B
assets/js/chunk-web-stories-template-16.js 10.4 kB
assets/js/chunk-web-stories-template-17-metaData.js 542 B
assets/js/chunk-web-stories-template-17.js 8.96 kB
assets/js/chunk-web-stories-template-18-metaData.js 582 B
assets/js/chunk-web-stories-template-18.js 9.19 kB
assets/js/chunk-web-stories-template-19-metaData.js 501 B
assets/js/chunk-web-stories-template-19.js 9.05 kB
assets/js/chunk-web-stories-template-2-metaData.js 584 B
assets/js/chunk-web-stories-template-2.js 8.93 kB
assets/js/chunk-web-stories-template-20-metaData.js 548 B
assets/js/chunk-web-stories-template-20.js 8.61 kB
assets/js/chunk-web-stories-template-21-metaData.js 536 B
assets/js/chunk-web-stories-template-21.js 9.36 kB
assets/js/chunk-web-stories-template-22-metaData.js 523 B
assets/js/chunk-web-stories-template-22.js 7.37 kB
assets/js/chunk-web-stories-template-23-metaData.js 600 B
assets/js/chunk-web-stories-template-23.js 6.9 kB
assets/js/chunk-web-stories-template-24-metaData.js 516 B
assets/js/chunk-web-stories-template-24.js 11.1 kB
assets/js/chunk-web-stories-template-25-metaData.js 541 B
assets/js/chunk-web-stories-template-25.js 6.74 kB
assets/js/chunk-web-stories-template-26-metaData.js 598 B
assets/js/chunk-web-stories-template-26.js 6.89 kB
assets/js/chunk-web-stories-template-27-metaData.js 541 B
assets/js/chunk-web-stories-template-27.js 7.6 kB
assets/js/chunk-web-stories-template-28-metaData.js 532 B
assets/js/chunk-web-stories-template-28.js 8.69 kB
assets/js/chunk-web-stories-template-29-metaData.js 561 B
assets/js/chunk-web-stories-template-29.js 8.84 kB
assets/js/chunk-web-stories-template-3-metaData.js 533 B
assets/js/chunk-web-stories-template-3.js 8.16 kB
assets/js/chunk-web-stories-template-30-metaData.js 574 B
assets/js/chunk-web-stories-template-30.js 7.35 kB
assets/js/chunk-web-stories-template-31-metaData.js 503 B
assets/js/chunk-web-stories-template-31.js 9.83 kB
assets/js/chunk-web-stories-template-32-metaData.js 551 B
assets/js/chunk-web-stories-template-32.js 12.1 kB
assets/js/chunk-web-stories-template-33-metaData.js 491 B
assets/js/chunk-web-stories-template-33.js 8.83 kB
assets/js/chunk-web-stories-template-34-metaData.js 570 B
assets/js/chunk-web-stories-template-34.js 7.35 kB
assets/js/chunk-web-stories-template-35-metaData.js 565 B
assets/js/chunk-web-stories-template-35.js 8.61 kB
assets/js/chunk-web-stories-template-36-metaData.js 574 B
assets/js/chunk-web-stories-template-36.js 11.9 kB
assets/js/chunk-web-stories-template-37-metaData.js 528 B
assets/js/chunk-web-stories-template-37.js 6.09 kB
assets/js/chunk-web-stories-template-38-metaData.js 568 B
assets/js/chunk-web-stories-template-38.js 7.55 kB
assets/js/chunk-web-stories-template-39-metaData.js 586 B
assets/js/chunk-web-stories-template-39.js 7.7 kB
assets/js/chunk-web-stories-template-4-metaData.js 562 B
assets/js/chunk-web-stories-template-4.js 11.6 kB
assets/js/chunk-web-stories-template-40-metaData.js 557 B
assets/js/chunk-web-stories-template-40.js 9.73 kB
assets/js/chunk-web-stories-template-41-metaData.js 569 B
assets/js/chunk-web-stories-template-41.js 7.39 kB
assets/js/chunk-web-stories-template-42-metaData.js 521 B
assets/js/chunk-web-stories-template-42.js 6.79 kB
assets/js/chunk-web-stories-template-43-metaData.js 555 B
assets/js/chunk-web-stories-template-43.js 8.41 kB
assets/js/chunk-web-stories-template-44-metaData.js 579 B
assets/js/chunk-web-stories-template-44.js 10.6 kB
assets/js/chunk-web-stories-template-45-metaData.js 566 B
assets/js/chunk-web-stories-template-45.js 7.09 kB
assets/js/chunk-web-stories-template-46-metaData.js 532 B
assets/js/chunk-web-stories-template-46.js 5.08 kB
assets/js/chunk-web-stories-template-47-metaData.js 589 B
assets/js/chunk-web-stories-template-47.js 8.84 kB
assets/js/chunk-web-stories-template-48-metaData.js 554 B
assets/js/chunk-web-stories-template-48.js 8.68 kB
assets/js/chunk-web-stories-template-49-metaData.js 515 B
assets/js/chunk-web-stories-template-49.js 8.5 kB
assets/js/chunk-web-stories-template-5-metaData.js 557 B
assets/js/chunk-web-stories-template-5.js 9.43 kB
assets/js/chunk-web-stories-template-50-metaData.js 504 B
assets/js/chunk-web-stories-template-50.js 8.83 kB
assets/js/chunk-web-stories-template-51-metaData.js 527 B
assets/js/chunk-web-stories-template-51.js 9.92 kB
assets/js/chunk-web-stories-template-52-metaData.js 603 B
assets/js/chunk-web-stories-template-52.js 9.89 kB
assets/js/chunk-web-stories-template-53-metaData.js 553 B
assets/js/chunk-web-stories-template-53.js 5.61 kB
assets/js/chunk-web-stories-template-54-metaData.js 544 B
assets/js/chunk-web-stories-template-54.js 7.4 kB
assets/js/chunk-web-stories-template-55-metaData.js 574 B
assets/js/chunk-web-stories-template-55.js 6.88 kB
assets/js/chunk-web-stories-template-56-metaData.js 542 B
assets/js/chunk-web-stories-template-56.js 9.45 kB
assets/js/chunk-web-stories-template-57-metaData.js 527 B
assets/js/chunk-web-stories-template-57.js 14.2 kB
assets/js/chunk-web-stories-template-58-metaData.js 551 B
assets/js/chunk-web-stories-template-58.js 5.4 kB
assets/js/chunk-web-stories-template-59-metaData.js 588 B
assets/js/chunk-web-stories-template-59.js 8.66 kB
assets/js/chunk-web-stories-template-6-metaData.js 566 B
assets/js/chunk-web-stories-template-6.js 6.87 kB
assets/js/chunk-web-stories-template-60-metaData.js 513 B
assets/js/chunk-web-stories-template-60.js 8.83 kB
assets/js/chunk-web-stories-template-7-metaData.js 566 B
assets/js/chunk-web-stories-template-7.js 7.08 kB
assets/js/chunk-web-stories-template-8-metaData.js 566 B
assets/js/chunk-web-stories-template-8.js 8.28 kB
assets/js/chunk-web-stories-template-9-metaData.js 577 B
assets/js/chunk-web-stories-template-9.js 8.17 kB
assets/js/chunk-web-stories-templates.js 584 B
assets/js/chunk-web-stories-textset-0.js 4.57 kB
assets/js/chunk-web-stories-textset-1.js 5.57 kB
assets/js/chunk-web-stories-textset-2.js 6.79 kB
assets/js/chunk-web-stories-textset-3.js 12.6 kB
assets/js/chunk-web-stories-textset-4.js 3.88 kB
assets/js/chunk-web-stories-textset-5.js 5.24 kB
assets/js/chunk-web-stories-textset-6.js 4.96 kB
assets/js/chunk-web-stories-textset-7.js 8.77 kB
assets/js/generateBlurhash.worker.worker.js 1.16 kB
assets/js/web-stories-activation-notice.js 22.7 kB
assets/js/web-stories-block.js 27.5 kB
assets/js/web-stories-carousel.js 9.87 kB
assets/js/web-stories-dashboard.js 63.5 kB
assets/js/web-stories-editor.js 1.45 MB
assets/js/web-stories-embed.js 20 B
assets/js/web-stories-lightbox.js 7.31 kB
assets/js/web-stories-tinymce-button.js 9.78 kB
assets/js/web-stories-widget.js 554 B

compressed-size-action

@googleforcreators-bot
Copy link
Collaborator

googleforcreators-bot commented Jun 21, 2024

Plugin builds for 26321cb are ready 🛎️!

@Swanand01
Copy link
Collaborator Author

@swissspidy , I wasn't sure if WEBSTORIES_MINIMUM_WP_VERSION in tests/phpstan/bootstrap.php was supposed to be updated, since it was set to '0.0' while updating to WP 6.3, so I've left it as is.

Also, the PHP Unit tests against WP trunk are failing here too.

@Swanand01 Swanand01 requested a review from swissspidy June 21, 2024 10:35
@Swanand01 Swanand01 self-assigned this Jun 21, 2024
@swissspidy
Copy link
Collaborator

I wasn't sure if WEBSTORIES_MINIMUM_WP_VERSION in tests/phpstan/bootstrap.php was supposed to be updated, since it was set to '0.0' while updating to WP 6.3, so I've left it as is.

This never needs changing anymore. I will update the issue template accordingly. Sorry for the confusion.

Also, the PHP Unit tests against WP trunk are failing here too.

Yeah they will be failing everywhere :-) I'll have to find the core change that caused this and will check if we really need to adjust our tests or not. But that's something for a new issue/PR.


Let's include the post meta revision enhancement I mentioned on the issue here in this PR as well.

We can now also remove the function_exists( 'wp_prime_option_caches_by_group' ) check in the Settings::prime_option_caches() method.

Generally speaking, with the bump to 6.4 we want to see adopt all the new features in 6.4 that are relevant for this plugin. The above are just a few examples that I saw, based on the field guide.

@Swanand01
Copy link
Collaborator Author

Swanand01 commented Jun 24, 2024

Hi @swissspidy,

I have used the revisions_enabled argument when using register_post_meta in Story_Post_Type::register_meta. However, doing something similar in Product_Meta causes some tests to fail.

The error that appears is: Function register_meta was called incorrectly. Meta keys cannot enable revisions support unless the object subtype supports revisions.

This is thrown in meta.php, register_meta function:

if ( ! empty( $object_subtype ) && ! post_type_supports( $object_subtype, 'revisions' ) ) {
  _doing_it_wrong( __FUNCTION__, __( 'Meta keys cannot enable revisions support unless the object subtype supports revisions.' ), '6.4.0' );
}

Source: https://github.com/WordPress/wordpress-develop/blob/8afc34a066281682b4a856050f7c624ffb1742a5/src/wp-includes/meta.php#L1466-L1477

This shouldn't be happening, since we're passing 'object_subtype' when calling Product_Meta::register_meta, and the web-story post type has declared support for revisions as well.

@swissspidy
Copy link
Collaborator

The issue is that Product_Meta::register_meta() is called before the web-story post type is registered in the Story_Post_Type class. That's why post_type_supports( $object_subtype, 'revisions' ) returns false.

Just had a quick look at it and the reason is surprisingly trivial:

The Product_Meta class has a get_requirements() method but does not actually implement the corresponding HasRequirements interface. Fixing that resolves the issue.

Unfortunately this kind of stuff hasn't really been caught by tests (until now).

@swissspidy swissspidy added this to the 1.38.0 milestone Jun 25, 2024
@swissspidy swissspidy merged commit 8b8c84d into main Jun 25, 2024
26 checks passed
@swissspidy swissspidy deleted the fix/13703-bump-wp-min-ver-6.4 branch June 25, 2024 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Group: WordPress Changes related to WordPress or Gutenberg integration Type: Code Quality Things that need a refactor, rewrite or just some good old developer ❤️ Type: Task Tasks which do not involve engineering
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Bump WP version requirement to 6.4+
3 participants