Updated: 24 Jan 2022
Preparation for WordPress 5.9 final release is underway. This post shares the release process, including the timeline and how you can help.
The current plan is:
Update: The Dry Run was successfully completed ✅ See the process in the #core Slack channel.
The Dry Run is a key event to determine readiness for the final release.
As noted above, the current plan is to start it on 2022-01-24 15:00. You are invited to observe and/or participate. It’ll happen in the #core Slack channel.
What happens during the dry run?
- Review bug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. reports to determine if any are critical to warrant another RC One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). (release candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta).).
- Checks and updates are done in the
- Pre-release scripts are run to ensure test suites, coding standards, and checks pass.
If the results are acceptable, the release goes into a 24-hour code freeze period.
24 Hour Code Freeze
Update: The 24-hour code freeze is in effect 🕜
After the dry run and before the release party starts, a 24-hour code freeze goes into effect.
What does this mean? No source code for 5.9.0 (i.e., in the 5.9 branch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch".) can be changed during these 24 hours.
What happens if a critical bug is reported during this period? The release squad will meet with committers and maintainers to determine if the issue is a blocker A bug which is so severe that it blocks a release..
- If yes, another RC release happens, and the release process restarts (meaning the dry run is repeated and then the 24-hour code freeze clock restarts).
- If no, then the bug is targeted for 5.9.1.
The Release Party 🎉
WooHoo, you’ve made it to release day 🎉!
As noted above, the current plan is to start the release party on 2022-01-25 19:20. You are invited to observe and/or participate. It’ll happen in the #core Slack channel.
The release party walks through the steps in the Major Version Release process for anyone who wants to follow along.
Please note releasing a major version requires more time than releasing a beta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. or release candidate. There are more steps in the process. If there are any last-minute issues that need addressing, more time will be needed.
How You Can Help
A key part of the release process is checking that the ZIP packages work on all the different server configurations available. If you have some of the less commonly used servers available for testing (IIS, in particular), that would be super helpful. Servers running older versions of PHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher and MySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. will also need testing.
You can even start this early, by running the WordPress 5.9 RC3 packages, which are built using the same method as the final packages.
During the release party, options will be provided on how to help test the release package.
Tips on What to Test
In particular, testing the following types of installs and updates would be much appreciated:
- Does a new WordPress install work correctly? This includes running through the manual install process, as well as WP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ or one-click installers.
- Test upgrading from 4.0.33, 4.9.18, 5.7.2, 5.8.3, and 5.9 RC 3, as well as any other versions possible.
wp-config.php file and test a fresh install.
- Test single site and multisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site/network (versus site, blog) (both subdirectory and subdomain) installs.
- Does it upgrade correctly? Are the files listed in
$_old_files removed when you upgrade?
- Does multisite upgrade properly?
Testing the following user flows, on both desktop and mobile, would be great to validate each function as expected:
- Publish a post, including a variety of different blocks.
- Comment on the post.
- Install a new plugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party/theme, or upgrade an existing one.
- Change the site language.
- If you’re a plugin developer, or if there are complex plugins you depend upon, test that they’re working correctly.
Props to @jeffpaul for peer review and @marybaum, @webcommsat, and @cbringmann for editing.