Versions and Release Cycle

This content was generated with the assistance of AI and should be verified against the official documentation before being relied on in production.

This sub-section’s WordPress bibliography lists the reference material consulted while preparing these pages.

This page was written against WordPress 7.1.3 (released 2026-10-06; 7.1.4, a security release of 2026-10-28, is the version to run in production), with WordPress 7.2 in beta (Beta 2 shipped on 2026-10-27; the final release is planned for 2026-12-08, the date the 7.1.4 announcement gives), the Gutenberg plugin 24.2.0, WP-CLI 2.12.0 and @wordpress/env 12.0.0. WordPress 7.1 requires PHP 7.4 or later and the requirements page recommends PHP 8.3 or later. Every date and version below was checked on 2026-10-28 against the release archive, the WordPress Versions page, the roadmap and the Make WordPress Core release pages.

Knowing how WordPress versions work matters to every audience of this sub-section. Site owners and administrators need to know which updates are safe to apply automatically and how long an older branch still gets security fixes. Theme, plugin and block developers need to know when an API appeared, how to declare the versions they support, and how to test against the next release before it ships. In the Lumen Press scenario, the production site follows the latest 7.1.x, the staging site runs the 7.2 betas and release candidates, and the lumen-catalog plugin declares and checks the core versions it relies on.

Version numbers: X.Y is the major release

WordPress does not use semantic versioning. The Core Handbook defines a major version by the first two numbers (6.8, 6.9, 7.0, 7.1) and a minor version by the third (7.1.1, 7.1.2, 7.1.3):

Kind Examples What it contains

Major release (X.Y)

6.9, 7.0, 7.1, 7.2

A full development cycle: new user features, new developer APIs, database schema changes, bundled theme updates, new minimum requirements. Named after a jazz musician (7.1 "Mary Lou", 7.0 "Armstrong", 6.9 "Gene").

Minor release (X.Y.Z)

7.1.1, 7.1.4, 7.0.7

Maintenance and security fixes for one major branch. No new features, and no new files are expected to be deployed. Applied automatically by default.

Pre-release

7.2-alpha-NNNNN, 7.2-beta2, 7.2-RC1

Development snapshots, betas and release candidates of the next major release. Never for production.

Nightly build

7.2-beta2-64861

The current development code, with the Subversion revision appended.

The step from 6.9 to 7.0 is exactly as big as the step from 6.8 to 6.9: the first digit rolls over after .9 and carries no extra meaning. A "7.0" is not a rewrite and does not break more than any other major release. Older books read the numbers the semantic-versioning way. Pro WordPress in particular treats X as the major version, Y as a minor feature release and Z as a patch, which leads to the wrong conclusion that 6.9 → 7.0 is the only "big" upgrade and that 6.8 → 6.9 is a small one. In WordPress, every X.Y change is a major upgrade that deserves a staging test, and every Z change is a maintenance or security release that should be applied quickly.

Where the version is recorded

Core keeps its version numbers in wp-includes/version.php, which every request loads. The file is overwritten on each update and must never be edited:

Variable Value in 7.1.3 Meaning

$wp_version

7.1.3

The release. Read it through wp_get_wp_version() (6.7+) or get_bloginfo( 'version' ).

$wp_db_version

61833

The database schema revision. wp-admin/upgrade.php (or wp core update-db) runs the schema upgrade when the stored db_version option is lower.

$required_php_version

7.4

The minimum PHP version; WordPress refuses to load below it.

$required_mysql_version

5.5.5

The minimum MySQL version the code still runs on; the requirements page recommends far newer servers (see Requirements and Hosting).

Some security plugins overwrite the global $wp_version to hide the version from visitors. That is security through obscurity (the version can be inferred from asset hashes and file contents anyway) and it breaks code that compares the global. WordPress 6.7 added wp_get_wp_version(), which reads version.php itself and always returns the unmodified value.

The quickest way to see the version of a site is WP-CLI. The commands below were run against a Lumen Press staging container; check-update lists the updates offered by WordPress.org for the installed version:

$ wp core version --extra
WordPress version: 7.1.3
Database revision: 61833
TinyMCE version:   4.9110 (49110-20250317)
Package language:  en_US

$ wp core check-update
Success: WordPress is at the latest version.

# The same command on a site still running 6.8.3:
$ wp core check-update
version	update_type	package_url
6.8.11	minor	https://downloads.w.org/release/wordpress-6.8.11-partial-3.zip
7.1.3	major	https://downloads.wordpress.org/release/wordpress-7.1.3.zip

The second output shows the two upgrade paths an old site has: a minor update inside its own branch (6.8.3 → 6.8.11, a small partial package) and a major update to the current release.

Release cadence

The cadence has changed several times, so statements such as "WordPress ships three major releases a year" are only approximately true:

  • 2024: three major releases (6.5 in April, 6.6 in July, 6.7 in November).

  • 2025: in April 2025 the project announced a move to one major release a year, citing contributor resources, and called 6.8 the last major release of the year. The plan was revised and 6.9 shipped in December, so 2025 had two major releases.

  • 2026: the published proposal and the roadmap plan three major releases, roughly every four months: 7.0, 7.1 (released on the last day of WordCamp US) and 7.2 (planned near the State of the Word in December). 7.0 was proposed for 2026-04-09 and shipped on 2026-05-20, after its release candidates were extended and real-time collaboration was pulled from it.

The roadmap states that new features are frozen one month before a release, and that projected dates are for rough planning only. Plans for later years are announced on Make WordPress; check the roadmap rather than assuming a fixed rhythm.

timeline title WordPress major releases, 2024 to 2026 section 2024 2024-04-02 : 6.5 Regina 2024-07-16 : 6.6 Dorsey 2024-11-12 : 6.7 Rollins section 2025 2025-04-15 : 6.8 Cecil 2025-12-02 : 6.9 Gene section 2026 2026-05-20 : 7.0 Armstrong 2026-08-19 : 7.1 Mary Lou 2026-10-06 : 7.1.3 and 7.0.7 security releases 2026-10-20 : 7.2 Beta 1 2026-10-28 : 7.1.4 security release 2026-11-17 : 7.2 RC1 planned 2026-12-08 : 7.2 final planned
Figure 1. WordPress major releases from 6.5 to 7.2, with the 7.2 milestones

Phases of a major release

A major release goes through the same phases each time. The 7.2 dates below come from the Make WordPress Core 7.2 page as of 2026-10-28:

Phase 7.2 date What happens

Alpha

from August 2026

trunk is open for development of 7.2. Feature work lands mostly through the Gutenberg plugin (blocks, editor, admin screens) and through Trac tickets (PHP APIs, admin, performance).

Beta 1 (feature freeze)

2026-10-20

No new features or enhancements after this point; only bug fixes. Developer notes and the About page are written. Features that are not "reasonably ready" are moved to the next release.

Beta 2, 3, 4

2026-10-27, 2026-11-03, 2026-11-10

Weekly testing releases.

Release Candidate 1

2026-11-17

Hard string freeze (translators can complete their work), the 7.2 branch is created, and the field guide is published.

RC2, RC3

2026-11-24, 2026-12-01

Only regressions and release blockers are fixed.

Dry run and code freeze

2026-12-07

A 24-hour code freeze before the release.

Final release

2026-12-08

The 7.2 package is published and offered as an update.

Official pages do not agree on the exact final date. The 7.2 release page lists 2026-12-08, and the 7.1.4 announcement of 2026-10-28 repeats that 7.2 is planned for 2026-12-08; the call for volunteers proposed Wednesday 2026-12-09, and the roadmap and the WordPress Versions page list 2026-12-10. Treat the week of 2026-12-08 as the target and follow the Make WordPress Core blog for the final announcement.

Minor releases do not follow a schedule. Maintenance releases usually come a few weeks after a major release (7.1.1 on 2026-09-17, 7.1.2 on 2026-09-22) and security releases ship when they are ready, often for every supported branch on the same day (7.1.3, 7.0.7, 6.9.10, 6.8.11 and others on 2026-10-06). 7.1.4, released on 2026-10-28, is a security-only release three weeks after 7.1.3, and the current version of WordPress: it fixes a remote code execution weakness in the upgrade process, a series of stored XSS issues (block markup, the Interactivity API, Customizer selective refresh, several blocks, privacy data removal requests, user logins), a stored denial of service in the Interactivity API, the disclosure of unpublished Customizer changesets and of Notes to users who cannot edit the post, and it updates the bundled root certificates.

What is in the 7.2 beta

Two features that earlier planning described as "upcoming" are present in 7.2 Beta 2: a Secrets API (wp-includes/secrets.php, storage for credentials such as AI provider keys, managed only through code and WP-CLI in this release) and the new default theme Ipsum, a minimal block theme that requires WordPress 7.2. Both can still change or be removed before the final release, so pages in this sub-section describe them as upcoming and nothing in the Lumen Press code depends on them.

The Gutenberg plugin as the feature pipeline

Most user-facing features (blocks, the Site Editor, Global Styles, the admin screens built with DataViews, the Interactivity API) are developed in the Gutenberg plugin and merged into core during each alpha phase. The plugin ships a release candidate and then a stable version on a two-week cycle (24.1.0 on 2026-09-30, 24.2.0 on 2026-10-14, 24.3.0 RC1 on 2026-10-20). Version 24.2.0 requires WordPress 7.0 or later and PHP 7.4 or later.

The Block Editor Handbook keeps the mapping of Gutenberg versions to core releases:

WordPress Includes Gutenberg up to

6.5

17.7

6.6

18.5

6.7

19.3

6.8

20.4

6.9

21.9

7.0

22.6

7.1

23.6

This mapping explains two common surprises. A feature described in a Gutenberg release post (for example a block support added in 24.x) is not in core until the next major release that includes that Gutenberg version. And a feature can appear in Gutenberg as an "experiment" for many releases before it ships, or never ship at all; React 19, for example, was deferred beyond 7.1 and continues as an experiment in the plugin. Installing the Gutenberg plugin on a production site gives early access to features, but it is aimed at early adopters and testers: it changes the editor every two weeks, and its experiments are opt-in for a reason. Lumen Press installs it only on staging.

Testing pre-releases

There are four supported ways to run a beta, a release candidate or a nightly build. None of them belongs on a production site.

Method How

WordPress Beta Tester plugin

Adds Tools > Beta Testing. "Point release nightlies" stay on the current branch and test the next minor release; "Bleeding edge nightlies" follow trunk; the Beta/RC option updates only to published betas and release candidates. Updates then arrive through Dashboard > Updates.

WP-CLI

wp core update --version=7.2-beta2 installs a specific pre-release; --version=nightly installs the latest nightly build.

Download

The release archive lists every beta and RC package; the nightly is https://wordpress.org/nightly-builds/wordpress-latest.zip.

wp-env or Playground

Point a disposable local environment at a pre-release package (see below, and Local Development Environments).

The Lumen Press staging server is moved through the 7.2 cycle with WP-CLI. Every command below was run against a WordPress 7.1.3 site in a container; take a database backup first, because there is no supported way back (see the end of this section):

# Back up first: pre-releases change the database schema.
wp db export "lumen-staging-$(date +%F).sql"

# A specific beta or release candidate.
wp core update --version=7.2-beta2
wp core update-db
wp core version --extra
# WordPress version: 7.2-beta2
# Database revision: 64486

# The latest nightly build (the Subversion revision is appended).
wp core update --version=nightly
wp core version
# 7.2-beta2-64861

Developers who test a plugin against the next release usually prefer a throwaway environment. @wordpress/env accepts a core value that is a release ZIP URL or a WordPress/WordPress Git reference, so the lumen-catalog repository keeps one configuration for the current release and one for the beta:

{
  "$schema": "https://schemas.wp.org/trunk/wp-env.json",
  "core": "https://wordpress.org/wordpress-7.1.3.zip",
  "phpVersion": "8.4",
  "plugins": [ "." ],
  "config": {
    "WP_DEBUG": true,
    "WP_DEBUG_LOG": true,
    "SCRIPT_DEBUG": true
  }
}

The beta configuration is a second file, .wp-env.beta.json, selected with --config:

{
  "$schema": "https://schemas.wp.org/trunk/wp-env.json",
  "core": "https://wordpress.org/wordpress-7.2-beta2.zip",
  "phpVersion": "8.4",
  "plugins": [ "." ],
  "port": 8890,
  "testsPort": 8891
}
npm install --save-dev @wordpress/env@12.0.0   # requires Node.js 22.13 or later
npx wp-env start                               # 7.1.3 on http://localhost:8888
npx wp-env start --config=.wp-env.beta.json    # 7.2 Beta 2 on http://localhost:8890

Going back from a pre-release to a stable version is not supported. wp core update --version=7.1.3 --force replaces the files, and wp core update-db then only rewrites the stored db_version option (from 64486 back to 61833 in the run above); schema and data changes made by the newer version are not reverted. Restore the database backup instead. The same applies to the "Re-install" button on Dashboard > Updates.

Security releases and backports

Only the latest major branch is actively supported. As a courtesy, the security team also backports security fixes to older branches, so that sites that cannot upgrade still receive them through automatic minor updates. The 7.1.3 and 7.1.4 announcements say the fixes went to all branches still eligible, currently through 4.7 (for 7.1.4 the backports were still being published as they became ready). The eligible range shrinks over time:

  • security updates for 3.7 to 4.0 ended in December 2022

  • security updates for 4.1 to 4.6 ended in July 2025, after a period with a non-dismissible notice on those sites

  • hardening changes and bug fixes are not backported; only specific security patches are

A backport is not a support promise: there is no guaranteed time frame, and a fix that is too large to backport safely stays in the current branch only. The WordPress Versions page lists the backports with the same date (for example 7.0.7, 6.9.10, 6.8.11, 6.7.10, 6.6.10 and 6.5.13 on 2026-10-06, next to 7.1.3).

Minor releases, including these backports, are installed automatically by default. Sites installed on 5.6 or later also receive major releases automatically, unless a version-control checkout is detected. The WP_AUTO_UPDATE_CORE constant selects the policy; Lumen Press production keeps automatic minor updates and takes major releases through staging:

<?php
// wp-config.php (Lumen Press production): minor and security releases only.
define( 'WP_AUTO_UPDATE_CORE', 'minor' );

true enables development, minor and major updates, false disables all three, and 'minor' enables only minor updates. A site that runs a development version (a beta, RC or nightly) receives development updates, which is how the staging site moves from Beta 2 to Beta 3 by itself. Turning automatic updates off completely (AUTOMATIC_UPDATER_DISABLED) also stops security releases and is discouraged. The full set of constants and filters, rollback of failed plugin updates and update strategies for teams are covered in Updates and Auto-Updates.

What’s new from 6.5 to 7.2

None of the older books covers the releases after 6.6. The table lists the changes that later pages of this sub-section rely on; the field guide of each release has the full list.

Release Date Main changes

6.5 "Regina"

2024-04-02

Font Library (install and manage fonts in block themes), Block Bindings API (connect block attributes to custom fields and other sources), Interactivity API and Script Modules, plugin dependencies (Requires Plugins header), AVIF images, revisions for templates and template parts, DataViews for pages, templates and patterns, appearance tools for classic themes. Last release to support PHP 7.0 and 7.1.

6.6 "Dorsey"

2024-07-16

Section styles (block style variations defined in JSON for whole sections), color and typography sets in style variations, pattern overrides for synced patterns (Heading, Paragraph, Button and Image), rollback of failed plugin auto-updates, theme.json version 3, global-styles specificity capped at 0-1-0, large options no longer autoloaded. PHP 7.2 minimum.

6.7 "Rollins"

2024-11-12

Twenty Twenty-Five, zoom out mode for working with whole patterns, a Block Bindings UI for custom fields, font size presets in Global Styles, sizes="auto" for lazy-loaded images, HEIC uploads converted to JPEG where the server supports it, wp_get_wp_version(), a notice when translations are loaded before init.

6.8 "Cecil"

2025-04-15

bcrypt password hashing (existing hashes are rehashed on the next login), speculative loading of likely next pages, the Style Book for classic themes with editor styles or a theme.json, faster block type registration and query caching, DataViews refinements.

6.9 "Gene"

2025-12-02

Notes (block-level editorial comments with email alerts), the Abilities API (PHP), the Command Palette across the whole admin, Accordion and Math blocks, hiding blocks, fit text, the template enhancement output buffer, PHP 8.5 beta support. The PHP AI Client SDK and the MCP Adapter were published alongside, outside core. Blocks registered with an apiVersion below 3 trigger console warnings, in preparation for the iframed editor.

7.0 "Armstrong"

2026-05-20

AI Client and the Connectors screen (Settings > Connectors; no AI provider bundled), client-side Abilities API, admin refresh (new color scheme, typography, view transitions), Font Library page for every theme, visual revisions, navigation overlays, hiding blocks per device, custom CSS per block instance, pattern overrides for custom blocks, contentOnly editing by default for unsynced patterns, PHP-only block registration (autoRegister), Interactivity API watch(), a Breadcrumbs block. PHP 7.4 minimum. Real-time collaboration was removed before release.

7.1 "Mary Lou"

2026-08-19

Responsive styles and configurable viewports in Global Styles and theme.json, pseudo and custom state styles, the media editor (crop, rotate, flip and metadata in one window), client-side image processing before upload, AVIF, HEIC and HDR gain-map handling, infinite scrolling in the Media Library, the post editor always iframed, Abilities API filters and the unified public exposure flag, speculative loading configurable by constants or environment variables. React 19 deferred. Minor releases 7.1.1 (2026-09-17), 7.1.2 (2026-09-22), 7.1.3 (2026-10-06, maintenance and security) and 7.1.4 (2026-10-28, security only, the current release).

7.2 (in beta)

planned 2026-12-08

New default theme Ipsum, the Secrets API (code and WP-CLI only), and the fixes of the beta cycle. Contents are not final until RC1.

Real-time collaboration did not ship

Real-time collaborative editing was developed during the 7.0 cycle and announced as a 7.0 feature, then removed from 7.0 on 2026-05-08, twelve days before the release, because the approach was not considered robust enough for core (server load and race conditions under real traffic). It was not part of 7.1 either. Work continues on a different, "server-aware" approach with no release scheduled. Articles written during the 7.0 beta that describe live co-editing as a core feature are wrong; what core offers for editorial collaboration is Notes (6.9) and post locking. Collaboration experiments may still appear in the Gutenberg plugin.

PHP compatibility

The Core Handbook keeps a table of the PHP versions each WordPress release supports. It marks each pair as supported or not:

WordPress Minimum PHP Supported PHP Notes

6.5

7.0

7.0 – 8.3

6.6

7.2

7.2 – 8.3

PHP 7.0 and 7.1 dropped

6.7

7.2

7.2 – 8.4

6.8

7.2

7.2 – 8.4

6.9

7.2

7.2 – 8.5

PHP 8.5 with beta support at release

7.0

7.4

7.4 – 8.5

PHP 7.2 and 7.3 dropped

7.1

7.4

7.4 – 8.5

7.2

7.4

not yet listed

Beta 2 still declares PHP 7.4 as minimum

"Supported" means core runs on that PHP version; it does not mean every plugin does. The requirements page recommends PHP 8.3 or later, and the Hosting Handbook recommends 8.4 or later; PHP 7.4 has had no security support from the PHP project since November 2022. The practical rule for Lumen Press is the newest PHP version that both the current WordPress branch and every active plugin support. The PHP-side changes between versions are covered in PHP: What’s New and Migration, and server requirements in Requirements and Hosting.

Declaring and checking versions in plugins and themes

A plugin or theme declares the versions it supports in its main file header (a theme in style.css):

  • Requires at least: the oldest WordPress version. Since 5.2 WordPress refuses to activate a plugin when the running version is older, and the plugin installer marks it as incompatible.

  • Requires PHP: the oldest PHP version, enforced the same way.

  • Tested up to: the newest WordPress major version it was tested with (7.1, not 7.1.3). The Plugin Directory shows a notice when it falls several major releases behind, so it is updated after testing each beta cycle.

Inside the code, there are two kinds of checks. is_wp_version_compatible() (5.2+) compares against a release number; it strips -beta, -RC and other suffixes, so on 7.2-beta2 a check for 7.2 already returns true. function_exists() or class_exists() checks for an API directly, which also works when the API comes from a feature plugin and is the better choice when a function exists. The lumen-catalog plugin uses both, in its main file:

<?php
/**
 * Plugin Name:       Lumen Catalog
 * Plugin URI:        https://lumenpress.example/lumen-catalog/
 * Description:       Book catalogue for Lumen Press: books, genres, series and the lumen/v1 REST API.
 * Version:           0.1.0
 * Requires at least: 6.9
 * Requires PHP:      7.4
 * Tested up to:      7.1
 * Author:            Lumen Press
 * License:           GPL-2.0-or-later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain:       lumen-catalog
 *
 * @package LumenCatalog
 */

defined( 'ABSPATH' ) || exit;

/**
 * Returns the features that the running WordPress version offers to Lumen Catalog.
 *
 * Version checks decide on releases; function_exists() checks decide on optional APIs
 * that a site may also get from a feature plugin.
 *
 * @return array<string, bool>
 */
function lumen_catalog_features() {
	return array(
		// Abilities API (PHP) shipped in 6.9.
		'abilities'      => function_exists( 'wp_register_ability' ),
		// AI Client shipped in 7.0; no provider is bundled, so support is checked separately.
		'ai_client'      => function_exists( 'wp_ai_client_prompt' ),
		// PHP-only block registration (autoRegister) shipped in 7.0.
		'php_only_block' => is_wp_version_compatible( '7.0' ),
		// The post editor is always iframed from 7.1 onwards.
		'iframed_editor' => is_wp_version_compatible( '7.1' ),
	);
}
$ wp eval 'var_export( lumen_catalog_features() ); echo PHP_EOL, wp_get_wp_version(), PHP_EOL;'
array (
  'abilities' => true,
  'ai_client' => true,
  'php_only_block' => true,
  'iframed_editor' => true,
)
7.1.3

On 7.1.3 every check is true, and wp_get_wp_version() returns the real version even if another plugin has changed the global. On a site still running 6.8, the header alone stops the plugin:

$ wp core version
6.8.3
$ wp plugin activate lumen-catalog
Warning: Failed to activate plugin. Current WordPress version (6.8.3) does not meet minimum requirements for Lumen Catalog. The plugin requires WordPress 6.9.
Error: No plugins activated.

Raising Requires at least is a decision with consequences: sites below it stop receiving the plugin’s updates from the directory, including its security fixes. Lumen Press raises it only when the plugin needs an API from a newer release, and keeps it at most two major releases behind the current one. The plugin header and lifecycle are covered in detail in Plugin Fundamentals.

Where older books are out of date

  • Version numbers. Reading 7.1.3 as major 7, minor 1, patch 3 is wrong for WordPress, as explained above: 7.1 is the major release and 3 the maintenance release. The same misreading leads to calling 6.x releases "minor" upgrades that need no testing.

  • Release frequency. "Three releases a year" was the plan in 2024 and again in 2026, but 2025 had two; the roadmap is the source, not a fixed rule.

  • Features dated to the wrong release. Block themes and the Site Editor arrived in 5.9, not in 5.4–5.6; plugin dependencies arrived in 6.5, so the claim that plugins cannot depend on each other is outdated; reusable blocks became synced patterns in 6.3.

  • Coverage gap. The three books stop around 6.4–6.6. Everything in the 6.7 to 7.2 rows of the table above (bcrypt, speculative loading, Notes, the Abilities API, the AI Client, PHP-only blocks, responsive styles, the always-iframed editor, PHP 7.4 minimum) is documented only in the official handbooks, field guides and developer notes.

All corrections are collected in Where Older Books and Tutorials Are Outdated.