GoogleForCreators / web-stories-wp

Web Stories for WordPress
https://wp.stories.google
Apache License 2.0
758 stars 179 forks source link

Bump WP version requirement to 6.4 #13731

Closed Swanand01 closed 1 week ago

Swanand01 commented 2 weeks ago

Summary

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

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


Fixes #13703

github-actions[bot] commented 2 weeks ago

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 commented 2 weeks ago

Plugin builds for 26321cb4c84710bbef70ae6abad1124a2078b078 are ready :bellhop_bell:!

Swanand01 commented 2 weeks ago

@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.

swissspidy commented 2 weeks ago

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 commented 1 week ago

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 commented 1 week ago

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).