The WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. development team builds WordPress! Follow this site forย general updates, status reports, and the occasional code debate. Thereโs lots of ways to contribute:
Found a bugbugA 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.?Create a ticket in the bug tracker.
The live meeting will focus on the discussion for upcoming releases, and have an open floor section.
The various curated agenda sections below refer to additional items. If you haveย ticketticketCreated for both bug reports and feature development on the bug tracker.ย requests for help, please continue to post details in the comments section at the end of this agenda or bring them up during the dev chat.
The discussion section of the agenda is for discussing important topics affecting the upcoming release or larger initiatives that impact the CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Team. To nominate a topic for discussion, please leave a comment on this agenda with a summary of the topic, any relevant links that will help people get context for the discussion, and what kind of feedback you are looking for from others participating in the discussion.
Open floor ย ๐๏ธ
Any topic can be raised for discussion in the comments, as well as requests for assistance on tickets. Tickets in the milestone for the next major or maintenance release will be prioritized.
Please include details of tickets / PRs and the links in the comments, and indicate whether you intend to be available during the meeting for discussion or will be async.
Note: this decision was reverted. You can read more about it in the new dev note.
Weโve just merged a change that will be part of WordPress 7.1 that hides the Classic blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. from the block inserter by default. The Classic block stays registered, every existing Classic block keeps working and remains editable, and a new filterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. lets anyone bring it back into the inserter. This post explains what changes, why, and how to opt back in if needed.
Whatโs changing
Starting in WordPress 7.1, the Classic block (core/freeform) no longer appears in the block inserter (#11712, Trac #65166, originally #77911 in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โblocksโ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/). In practice, this means you canโt add a new Classic block from the inserter, the block library, or slash commands.
Nothing else about the block changes:
The Classic block remains registered.
All existing Classic blocks (including any <!-- wp:freeform --> content) continue to render and stay fully editable, exactly as before.
The Classic editor and the underlying TinyMCE experience are untouched. If a post type doesnโt use the block editor, nothing here applies to it.
This is purely about steering new content away from the legacy Classic block, not about removing anything you already have.
To be clear: the Classic editor is not affected at all by this change. This is strictly about the Classic block inside the block editor. If you use the Classic editor (for example, via the Classic Editor pluginPluginA 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. or on post types that donโt use the block editor), your experience stays exactly the same.
Why weโre doing this
The Classic block has been the bridge from the pre-block era into the block editor, and it has served that role well. But itโs also the one block in CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. that doesnโt behave like a block:
Architectural consistency. Every other Core block is a node in the block tree. The Classic block is the lone exception, opaque HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. rendered through a separate editor embedded inside the block editor. Keeping it as a default inserter option works against the block-first model on which the editor is built.
Reducing the inflow. The migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. path away from Classic content (Convert to Blocks) has existed for years, and Classic usage keeps shrinking. Hiding the block from the inserter stops new Classic content from being created, so that set keeps getting smaller rather than growing.
Maintenance leverage. Many block-library improvements have to special-case the Classic block. Each special handling may be small on its own, but cumulatively, this may slow down work that benefits every other block.
The broader, longer-term goal, which will be covered separately as it matures, is to make the Classic block fully opt-in and eventually to lay the groundwork for loading TinyMCE only when itโs actually needed. WordPress 7.1 is just the first user-facing step on that path. None of the later steps are happening in 7.1, and each will get its own discussion and dev notedev noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase..
Opting back in
If you (or your users) still want the Classic block available in the inserter, thereโs a dedicated filter: wp_classic_block_supports_inserter.
If youโd rather not write code, thereโs a small plugin that does exactly this, Enable Classic Block, which flips the filter on for you. The plugin has already been submitted for approval to the WordPress Plugin Directory.
Backward compatibility
This change is opt-out by design and doesnโt break anything:
No content is modified or migrated. Existing Classic blocks are left exactly as they are.
The block, its edit behavior, and the Convert to Blocks action all continue to work.
The core/freeform block remains registered, so any code that relies on it being present keeps functioning.
Restoring the previous behavior is a one-line filter (or one tiny plugin) away.
Whatโs next
Alongside this change, weโre investing in the surrounding experience so that moving away from the Classic block is smoother for everyone:
A deprecation/migration notice (experimental). Thereโs an experiment in Gutenberg that surfaces a notice inside existing Classic blocks, with one-click actions to convert the content to blocks or to a Custom HTML block. Weโre exploring this as a gentle way to highlight that the Classic block is being phased out and to make the migration path more discoverable. Itโs behind an experiment flag for now while we refine it for a WordPress release.
Improving everything around it. In parallel, weโre improving and fixing the pieces that live by the Classic block: the Custom HTML block, the Convert to Blocks path, freeform handling and conversion, and related compatibility layers. The goal is that by the time Classic content needs to move, the tools to move it are solid.
These, alongside other planned next steps, can be tracked in the dedicated tracking issue.
Weโd love your feedback
This is an early step in a longer effort, and we want to get it right. If you maintain plugins or custom integrations, run large sites, or have workflows that depend on the Classic block, weโd really like to hear from you, especially around migration and bulk-conversion needs.
We propose merging Knowledge, a new wp_knowledgecustom post typeCustom Post TypeWordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept., into WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. for the 7.1 release, with Guidelines as the first feature built on it.
Knowledge is a general primitive for storing author-facing and agent-facing site knowledge as standard WordPress content: a post type with a type taxonomyTaxonomyA taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies., the existing roles and capabilitiescapabilityAย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โedit_postsโ capability), but not permission to edit other usersโ posts (the โedit_others_postsโ capability)., native revisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision., and REST access. Guidelines uses it to give site owners a first-class place to capture the standards that shape how content is written and edited, such as voice, tone, image preferences, and per-blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. rules.
The implementation is operational in the GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โblocksโ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/pluginPluginA 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. and has been exercised by production integrations. It builds on the Guidelines experiment, proposed in February and landed in Gutenberg 22.7 in March, then shaped through community feedback into a consolidated design and stabilized for core.
Purpose & goals
Most sites already have content standards, but they live outside WordPress in documents, wikis, and institutional knowledge. Guidelines gives them a canonical home inside WordPress, available where they matter: during writing and editing.
A single store of standards serves everyone who works on a site: writers and editors applying them by hand, plugins reading them, and AI assistants drawing on them too. Each of these needs the same thing, persistent and structured knowledge about the site, and today there is no shared place to keep it. Without a common primitive, every plugin ships its own storage, its own permissions model, and its own REST surface. That is exactly the kind of fragmentation WordPress core has historically prevented, the same way wp_template, wp_block, and nav_menu_item prevented parallel solutions in their domains. Core owns the primitive. The community decides what to build on it.
The name follows that intent. โGuidelineโ describes prescriptive records well but fits memories and working notes much less naturally, while โKnowledgeโ covers both procedural content (how work should be done) and declarative content (what is known). Knowledge names the namespace. Individual records are referred to by their concrete type, a guideline, a memory, a note. The user-facing feature in WP Adminadmin(and super admin) remains Guidelines, the same way the attachment post type surfaces as Media at /wp/v2/media.
The goals, concretely:
Provide a canonical storage primitive for author-facing and agent-facing site knowledge
Ship Guidelines as the first feature built on it, demonstrating the primitive in core
Replace fragmented plugin-specific storage, capabilitycapabilityAย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โedit_postsโ capability), but not permission to edit other usersโ posts (the โedit_others_postsโ capability)., and REST models with one shared foundation
Non-goals
This merge ships storage and access, not intelligence: no AI provider, no model, no retrieval algorithm, and no autonomous memory system. The specifics below are intentionally out of scope. They remain open topics, just not blockers:
No decay, consolidation, or retrieval mechanism in core. Consuming tools accommodate staleness above the primitive.
Further built-in types are deferred and can be registered by plugins in the meantime:
skill โ a procedure that can load and apply a guideline, is planned for 7.2 pending settled loading and discovery semantics (ai#430)
plan โ task-scoped working state for a multi-step task, pending a side-effect and lifecycle model
artifact โ a reference to a versioned work product distinct from the freeform text covered by note, explored separately
Load applicability of scopes (when a scopeโs guidance applies beyond the universal site scope) is left for its own discussion.
Session state and cross-site user preferences live above the primitive.
Encryption at rest is orthogonal hardening that can land later without changing the data model.
What we propose to merge in 7.1
The wp_knowledge custom post type with native revision support
The wp_knowledge_type taxonomy and the wp_knowledge_types registration filterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output.
The built-in types guideline, memory, and note (defined below)
The *_knowledge_item capability namespace and the access model described below
The generic /wp/v2/knowledge REST routes for working with knowledge records like other post types
The Guidelines Settings page: per-scope guideline records, a filterable scope registry as the source of truth for the UIUIUser interface, and a read-only registry route at /wp/v2/knowledge/guideline-scopes
The knowledge management ability, registered through the Abilities APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways., is expected to follow in a later release.
Built-in types
Each type is defined by what the record represents and how it is applied:
guideline โ a standard, pure text that is the source of truth, such as voice, tone, image guidance, or per-block rules. A guideline does nothing on its own. It is there to be applied, either directly by an ability that pulls the text in or through a skill that loads it. The site-wide standards managed on the Settings page carry this type.
memory โ durable context explicitly saved or approved for future use, such as user preferences, stable facts, and profile context. Records are private and author-owned. The explicit save-or-approve rule is deliberate: core ships a storage primitive, not a memory architecture. Decay, consolidation, and retrieval remain things to build on top.
note โ private freeform working text, such as sticky notes, drafts, and notes synced from external tools. A record saved without a type falls back to note.
Plugins register their own types through the same filter. A plugin might add a glossary type to keep domain terminology consistent across writers, editors, and any agent that reads it:
Core relies only on the semantics of the built-in slugs it ships. Plugin types are free to define their own behavior.
Guideline scopes
Guideline scopes define the sections shown in Settings โ Guidelines and the reserved slugs used to address the corresponding guideline records. Core ships scopes such as Site, Copy, Images, and Blocks, each one a guideline record at a reserved slug like guideline-copy. Plugins register additional scopes through a filter, and the Settings page reads the registry through a read-only REST route at /wp/v2/knowledge/guideline-scopes.
Scopes are not knowledge types. The wp_knowledge_type taxonomy answers what kind of record this is (guideline, memory, note). The scope registry answers where a guideline applies in the Guidelines UI. A scope is addressed by its reserved slug, not a taxonomy term, since a term per scope would attach to exactly one record and duplicate identity into a second system.
Privacy, security, and access model
Knowledge records are not exposed as a public index. The post type is registered as an internal storage primitive, not a front-end content type: it is not publicly queryable, and management flows through the Guidelines UI, REST, and registered programmatic surfaces rather than a native public post-type UI. Collection reads require authentication, per-item reads are capability-checked through read_post, and non-publishers can only create private records. New records default to private on creation.
Actor
Site-wide guideline records
Own private records
Othersโ private records
Publish / manage global records
Subscriber
No
No
No
No
Contributor
Read where capabilities allow
Create, read, edit, delete
No
No
Author / Editor
Read where capabilities allow
Create, read, edit, delete
No
No
Administrator
Manage
Yes
Yes
Yes
This matrix reflects the access policy from gutenberg#78296 and will be aligned exactly with the final core patchpatchA special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing.. The built-in type set is defined in code through a filter, while the underlying taxonomy terms are created lazily when a record is first saved with a given type, so authoring a record can create its term. Revisions are retained, and autosave is disabled, since knowledge records have no editor session.
Testing
Enable the Guidelines experiment in Gutenberg and verify:
Settings โ Guidelines renders its sections from the scope registry, and each scope can be edited, revised, and restored through the REST APIREST APIThe REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think โphone appโ or โwebsiteโ) can communicate with the data store (think โdatabaseโ or โfile systemโ)
https://developer.wordpress.org/rest-api/
The scope registry route returns core scopes and plugin-registered scopes
A Contributor can create and read only their own private records, and a Subscriber cannot access the post type through REST
REST collection reads require authentication, and non-publishers cannot create published records
No knowledge records are exposed through front-end public queries
Automated coverage for the controller, capability mapping, and type registry ships with the implementation and will be part of the core patch.
FAQ
Is this an AI-only feature? No. The storage primitive is already used for plain note-taking and draft syncing with no AI involved, and the Guidelines experience serves any multi-author site that wants consistent standards. AI tools are one consumer among several.
Does WordPress now have a โmemory systemโ? No. Core ships storage with a clear access policy. A memory record is a durable context a user explicitly saved, comparable to a private post. Anything resembling a memory architecture, including relevance ranking, decay, or consolidation, is left to plugins and integration layers by design.
What about existing plugins that store AI context their own way? Nothing breaks. Plugins can keep their own storage or adopt the shared primitive to gain interoperability, revisions, and the capability model for free.
Why core instead of a plugin?ย Because the main value is interoperability. A plugin can store its own knowledge records, but it cannot establish a shared convention for how other plugins, editorial tools, and AI integrations store, protect, revise, and expose that knowledge. Without a core primitive, every integration defines its own architecture and the records cannot reliably interoperate. The footprint stays intentionally small: a post type, taxonomy, capabilities, and REST routes that sit unused until something writes to them, with no public queries, no frontend behavior, and no AI processing by default.
The naming and scope model are settled, so this proposal moves forward on that basis unless a blockerblockerA bug which is so severe that it blocks a release. surfaces. The open question is narrower: is the API ready to stabilize for core? The names freeze at WordPress 7.1 BetaBetaA 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. 1 on July 15, when the post type, taxonomy, REST routes, capabilities, and type slugs become long-term compatibility commitments. Feedback that would block stabilizing for core is most useful in the next three weeks, while there is still room to act on it.
Call for feedback
The questions below are where input matters most before these decisions become core commitments:
Is wp_knowledge the right long-term name for the primitive, and are guideline, memory, and note the right built-in type slugs?
Are the capability boundaries in the access model correct?
Is anything missing that should be settled before these names become core compatibility commitments?
WordPress 7.1 is set to be released on August 19th, 2026. This release advances how people work together in WordPress and opens up new functionality for all to benefit from. New Notes features, including suggestion mode and emoji reactions, make asynchronous feedback richer and more interactive. Meanwhile, real-time collaboration remains an exciting focus area with a few strategic decisions remaining to shape exactly how itโll show up in the WordPress experience. New options for responsive styling and pseudo-state styling, two longstanding areas of feedback, expand what you can do directly in the Site Editor without needing to use CSSCSSCascading Style Sheets.. A new Guidelines feature adds a persistent, structured way to encode editorial rules into WordPress, helping you keep your voice and preferences when collaborating with AI. Several new options make it easier to find your way around: see when a blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. inherits its styling from a global setting, set key details about your site in a new Identity section in the Site Editor, find what you need faster with recently used commands and suggestions shown in the command palette, and enjoy the familiarity of the adminadmin(and super admin) bar inside any of the editors. The experience of uploading and using media gets numerous updates, including a new free-form image cropper to get your images just right and client-side media improvements that support more image formats and add resiliency throughout. For those building on top of WordPress, numerous APIs are slated for more features and fixes. Expanded Unicode support is in the works so email addresses, usernames, and slugs can better reflect WordPressโ global audience. Finally, to round out the release are a slew of smaller yet important delights like a new โOn This Dayโ dashboardย widgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user., new blocks, and various writing flow improvements.
As always, whatโs shared here is being actively pursued, but doesnโt necessarily mean each will make it into the final release of WordPress 7.1.
For those who want to be involved in the release in a different, more hands on way, thereโs a new dedicated outreach effort for WordPress 7.1 to ensure collaborative editing gets the collaborative testing it needs. Learn more here.ย
AI
AI Client iteration
The AI Client is the foundational piece for running AI programmatically inside WordPress, and for 7.1 the focus stays on empowering pluginPluginA 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. authors. Two notable capabilitiescapabilityAย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โedit_postsโ capability), but not permission to edit other usersโ posts (the โedit_others_postsโ capability). are planned: generation streaming, introduced first in the PHP AI Client as an initial effort to unlock full usage in a future release, and embeddings, which represent content as vectors to enable meaning-based search across a site. These arrive alongside minor fixes that keep improving the reliability of the AI Client.
After landing a new framework for registering and managing connections to external services in 7.0, work is underway for connectors to gain more ways to authenticate beyond APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. keys. The plan is to start simple with adding username/application password support similar to the existing API key flow and then explore more general, declaratively-defined connection forms (URLs, a default-models dropdown, and more) in PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher, advancing the DataForm API in the process.ย
After shipping early as an experiment in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โblocksโ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/ to gather feedback, a new Guidelines feature lets you define writing and content guidelines that tie into AI tooling, with the ability to import/export guidelines between sites. This brings a persistent, structured system for encoding editorial rules, brand voice, and content standards directly into WordPress for humans and AI alike. As more collaboration happens directly in WordPress, this brings consistency and personalization to that collaboration.
The command palette now groups results into clear sections for recent, suggested, and matching commands. The recently used list is saved to your preferences so they persist across sessions. The design was also updated to make the list of resulting commands easier to scan and understand.
The Site Editor sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. and overall shell now follow the set WordPress admin color scheme instead of always using a fixed dark background. This ensures broader consistency across all parts of the WordPress experience when personalizing the admin with a color scheme of your choosing.
Work is underway to migrate DataViews onto the new Design System primitives for a more consistent look and feel, and to consolidate Quick Edit with the editor inspector so editing a postโs details feels the same wherever you do it. The DataForm API itself is growing more capable, including support for disabling individual controls. The Site Editorโs Pages, Templates, and Patterns screens are also becoming more extensibleExtensibleThis is the ability to add additional functionality to the code. Plugins extend the WordPress core software., with a new server-side REST endpoint that lets plugin authors register their own view and form configuration.
A dedicated Design โ Identity screen brings the essentials of your siteโs identity into one place, with an inline media editor for your logo and favicon and quick editing of your site title and tagline. The aim is to make these foundational settings simple to find and easy to update without digging into templates or needing to go searching in Settings.ย
Work continues on the shared component library in wordpress/ui and the underlying theming system that powers it. A highlight of this cycle is graduating ThemeProvider from experimental to a stable, public API, alongside finalizing the public token names (background, foreground, and stroke renames), and adding new theme-customization tokens for corner radius and element sizing. In parallel, key parts of the editor UIUIUser interface begin adopting improved components, with flyout menus extending to transforms, style variations, and the block ellipsis and transform menus.
The dashboard is getting a new โOn This Dayโ widget that resurfaces past content, a popular feature across many different platforms.ย Get motivated by looking back on what youโve written and write more content today for future reminders.
Followthis pull request introducing the โOn This Dayโ widget for more information.
Persistent admin bar across editors (aka omnibar)
The admin bar is getting some nice polish ahead of being easily accessible in the Site Editor and Block Editor. Having landed as an experiment in Gutenberg first, this work brings the toolbar into the editing experience so the admin bar is with you wherever you are. The design update removes the โHowdyโ greeting, replaces the home icon with the site icon, makes the profile avatarAvatarAn avatar is an image or illustration that specifically refers to a character that represents an online user. Itโs usually a square box that appears next to the userโs name. a circle rather than a square, and updates the legacy Dashicons icon font with wordpress/icons SVGs throughout the admin bar.
RevisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. iterations
After landing visual revisions in 7.0, this release focuses on making them even easier to read and navigate between. Planned improvements include a spark line view in the scrubbing toolbar to better visualize the history of changes, persistent URLs to allow sharing a link to a particular revision, and more.
The Abilities API gives developers and AI tooling a structured, queryable way to expose what a WordPress site can do. This cycle advances querying and filtering of abilities and implements a curated set of coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. abilities (including site settings, current-user info management, and general site awareness).
The post editor has been moving toward always running inside an iframeiframeiFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the userโs browser., which isolates the editing canvas from the adminโs styles and lets viewport-relative units and media queries work against the canvas instead of the browser window. Today the editor still drops back to a non-iframed mode whenever a block using Block API version 2 or lower is present. To make the rollout gradual, the current plan is to enforce iframing for block-based themes in this release, then extend it to all themes in a future release. In both cases, blocks need to be on Block API version 3 to work in the iframed editor, and a migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. guide is available to help extenders get there.
This release is looking to broaden Unicode support so email addresses can better reflect WordPressโ global audience. This work centers around allowing storing Unicode email addresses (Core-31992) so functions like is_email(), sanitize_email() and antispambot() can be extended to support non-ASCII addresses.ย
ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org 19 Upgrade
WordPress is upgrading from React 18 to React 19. This update will first be merged into the Gutenberg plugin ahead of an eventual pathway to Core. In this upgrade, there are several new APIs, major updates to TypeScript types, changed behaviors and more. Plugin and theme developers, please help test and review whatโs coming as early and as much as possible. To help with testing, install and activate the latest version of Gutenberg, head to the experiments page, and turn on the โReact 19โ experiment.
After WordPress 7.0 introduced the foundations of the SVG Icon API (the icon registry, a REST endpoint, and the core Icon block), 7.1โs iteration centers on opening the API up to third parties with new public functions like register_icon() and unregister_icon(), core-icons theme support, SVG sanitization and namespace validation, and collection support (similar to the Font Library) so agencies and product makers can ship their own branded icon sets. The work also explores a reusable icon picker modal for any block, Icon block enhancements like flip and rotate, and making the hardcoded icons in blocks such as Navigation, Breadcrumbs, and Details selectable through the Icon API. Alongside the API work, the core icon set itself is getting a visual refresh, with prominent icons redrawn as stroke-based designs for a more consistent, modern look.
ย Deprecating the Classic block As a first step towards making the Classic block and TinyMCE opt-in, the Classic block is planned for deprecation in 7.1, and will no longer appear in the block inserter. The related work improves migration and conversion paths and prepares the next step for making the Classic block and TinyMCE opt-in, so sites that donโt rely on the classic experience would get a lighter, faster editor.
Every new block added to Core means new possibilities for all, without needing to rely on third party blocks. 7.1 has a few new Core blocks slated for inclusion:
Playlist block, with additional waveform audio visualization.
Table of Contents block, automatically generating navigable links to the headings in your content.
New block support for the HTML block, making it possible to have editable blocks inside of a custom HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. block. This is especially useful with AI generated sites, since LLMs often create custom HTML.ย
An shortcode transform was added to the Embed block, so converting or pasting shortcodes now creates a proper Embed block instead of leaving raw shortcodeShortcodeA shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. text behind.
The Group block added support for background gradients through a new background.gradient block support, allowing gradients and background images to work together without conflicts.ย While limited to the Group block for now, block authors can adopt this new support using a simple register block type filterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. before it comes to more Core blocks.
This is a great area to contribute to the release. If interested, please help with the Dialog block for transcripts and conversations and the Marquee block for scrolling, animated content as these both are on the list of blocks to add but donโt have a champion.ย
Writing flow and drag-and-drop improvements
To ensure writing and arranging content continues to get smoother, a dedicated focus is on chipping away at everyday pain points in the writing experience. This includes a wide range of focuses from improving drag and drop to ensuring multi-selection works on touch devices.
Notes have a range of planned improvements that include notes on specific content within a block and across multiple blocks, rich text in notes, notifications for replies and follows, emoji reactions, a minified notes experience, and an โapply suggestionsโ feature.ย All of these help provide a richer, more interactive experience of collaborating with others directly in the editor.
Imagine a world with no post lock screen and with collaborators of all kinds (human and AI) working together to share content with the world through WordPress. After a monumental effort ahead of the last release, real-time collaboration marches ahead with that vision in mind and with big, open strategy questions around:
These decisions, along with the readiness of the feature, are the key aspects to get right for all of WordPress and to align with project leadership on. They impact who gets access to the feature and what the experience will be like. To help aid the decision making and reliability of the feature, thereโs a new dedicated outreach effort for WordPress 7.1 to ensure collaborative editing gets the collaborative testing it needs. Please consider getting involved and learn more here.ย
When youโre styling a block, it isnโt always clear which styles are coming from the theme, a parent, or global styles. This work explores surfacing inherited styles clearly in the sidebar so you can understand where a blockโs styles are coming from and edit at the right layer of styling, whether thatโs a global or local change.
A standardized way to style interactive states is taking shape. Support for pseudo-state styling such as hover, focus, and active has landed for both Global Styles and individual block instances, building on the broader โstatesโ effort. Further work, including custom states like styling the current menu item, continues beyond 7.1. All of this work means you can begin to style how blocks respond to interaction, like buttons changing color on hover, all without writing a line of CSS.
With WordPress 7.0, the experience of using patterns shifted to be more like editing a single block with a focus on content changes than exposing every tool available for every block in a pattern. For this cycle, work will focus on UXUXUser experience improvements based on feedback around this change, bugbugA 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. fixes, and general maintenance.ย
Responsive styling for blocks has been a long requested feature and 7.1 aims to be a big step towards more support. Building on the same style states mechanism that powers the interactive states styling for blocks, this work lets you define how a block looks at different screen sizes. This means you can apply responsive styles, like a font size at a certain viewport, directly in the editor without writing custom CSS. The feature will be available both for global styles that apply across every instance of a block, and for individual block instances. The aim is to make responsive design a built-in, first-class part of the editing experience.
After adding the ability to hide or show blocks based on viewport, theme-configurable breakpoints defined in theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. are being added to provide more flexible, customizable responsive styling.
After being punted from 7.0, client-side media processing keeps getting more capable and resilient ahead of this release. The work spans HEIC image support, Ultra HDR support, GIF-to-video conversion, more resilient uploads that retry on failure and resume after a crash or going offline, video transcoding to web-safe formats, optimization of previously uploaded media, and local poster generation during video upload so pages can render before a video finishes loading.
The Media editor modal replaces the existing inline cropping tool in the Block Editor. The modal keeps the familiar Crop button as the entry point, and brings freeform and aspect-ratio cropping, flip, fine-grained and snap rotation, and metadata editing into one dedicated workflow.
Galleries are becoming more dynamic and easier to build, with better handling of the legacy gallery shortcode on conversion, dynamic galleries that can sort or pull media attached to a post, and a quicker path in the inserterโs media tab to images attached to the current postย with thumbnails shown directly.ย
The core performance change planned for 7.1 is an update to speculative loading: when both object caching and page caching are detected, the default eagerness would move from conservative to moderate, prefetching and prerendering more readily on sites equipped to handle it so navigation feels faster.
Two further efforts are being iterated on within feature plugins you can install and benefit from today. Work in the View Transitions plugin centers around bringing smooth, animated transitions between pages on the front end. Work in the Enhanced Responsive Images plugin computes more accurate sizes values in block themes so browsers download appropriately sized images. Both are in active development, and interested contributors are welcome to help move them forward.
If you have something youโre working on that you donโt see reflected in this post, please share a comment below so we can all be aware! If youโre reading this and want to help, start with the above items and/or pingPingThe act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test itโs connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of โPing me when the meeting starts.โ me (@annezazu) in the 7.1 release leads channel. I have a list of projects that were punted from this release that Iโm happy to talk to people about taking on.ย
As with the 6.7, 6.8, 6.9, and 7.0 release cycles, WordPress 7.1 will continue the approach of forming a smaller, focused Release Squad.ย This streamlined structure places more emphasis on collaboration with the various Make Team Reps, who are encouraged to help coordinate efforts from within their respective teams.ย The goals are to reduce the overhead on the Release Squad while still ensuring each Make Teamโs contributions and priorities are represented throughout the cycle, and to reduce overlap between a Make Team RepTeam RepA Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. and that teamโs Release Squad Leads.ย Noteworthy Contributors will be captured from Team Reps towards the end of the release cycle.
The number of volunteers far exceeded the available squad roles, so we selected folks whose experience and focus best aligned with the needs of the 7.1 release.ย If you werenโt selected this time, your contributions are still incredibly valuable, and there are plenty of ways to stay involved throughout the release cycle, including testing, bugbugA 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. scrubs, triage, documentation, and more.ย Every contribution helps move WordPress forward, and weโre grateful for your continued participation.
Big thanks to everyone who volunteered for the release squad, and heartfelt appreciation to everyone helping move WordPress 7.1 forward through testing, triage, documentation, bug scrubs, and more.ย Your efforts make this release possible, and thereโs a lot to be excited about as WordPress 7.1 comes together!
The live meeting will focus on the discussion for upcoming releases, and have an open floor section.
The various curated agenda sections below refer to additional items. If you haveย ticketticketCreated for both bug reports and feature development on the bug tracker.ย requests for help, please continue to post details in the comments section at the end of this agenda or bring them up during the dev chat.
The discussion section of the agenda is for discussing important topics affecting the upcoming release or larger initiatives that impact the CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Team. To nominate a topic for discussion, please leave a comment on this agenda with a summary of the topic, any relevant links that will help people get context for the discussion, and what kind of feedback you are looking for from others participating in the discussion.
Open floor ย ๐๏ธ
Any topic can be raised for discussion in the comments, as well as requests for assistance on tickets. Tickets in the milestone for the next major or maintenance release will be prioritized.
Please include details of tickets / PRs and the links in the comments, and indicate whether you intend to be available during the meeting for discussion or will be async.
The live meeting will focus on the discussion for upcoming releases, and have an open floor section.
The various curated agenda sections below refer to additional items. If you haveย ticketticketCreated for both bug reports and feature development on the bug tracker.ย requests for help, please continue to post details in the comments section at the end of this agenda or bring them up during the dev chat.
Announcements ๐ข
CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.
The discussion section of the agenda is for discussing important topics affecting the upcoming release or larger initiatives that impact the Core Team. To nominate a topic for discussion, please leave a comment on this agenda with a summary of the topic, any relevant links that will help people get context for the discussion, and what kind of feedback you are looking for from others participating in the discussion.
Open floor ย ๐๏ธ
Any topic can be raised for discussion in the comments, as well as requests for assistance on tickets. Tickets in the milestone for the next major or maintenance release will be prioritized.
Please include details of tickets / PRs and the links in the comments, and indicate whether you intend to be available during the meeting for discussion or will be async.
Want to use collaborative editing on a regular basis.
Enjoy being an early adopter.
Feel comfortable using the latest version of the GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โblocksโ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/pluginPluginA 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..
Have the ability to participate through the 7.1 cycle (at least until 8/18/26).
Thanks in advance for helping shape the future of this feature.
Why now?
Collaborative features require an inherently collaborative way of testing. For the 7.0 cycle, a lot of time and effort was spent with more developer oriented testing, enterprise level testing, and deterministic testing with hosts. While incredibly useful, this effort broadens the scope of testing by bringing in passionate real-world early adopters across a range of hosting environments and backgrounds. For collaborative editing to truly succeed, itโs important to go beyond just getting stability, performance, and reliability right.
In running the FSE Outreach Program, I saw how powerful it was to have a dedicated space for folks to regularly interact with those building the feature for a faster feedback loopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop in the right direction. After the hard decision was made to remove collaborative editing from WordPress 7.0, the aim is that ahead of 7.1 the outreach program model provides enough structure to create meaningful feedback without being too overbearing or exclusive considering the timeframe. This was first discussed in #feature-realtime-collaboration before being brought to project leadership.ย
Who can join?
Anyone is welcome to join #collaborative-editing-outreach! Real Time Collaboration is included in the latest versions of Gutenberg, and can be enabled under `Settings > Writing` in the dashboard when the Gutenberg plugin is active.
Itโs critical people from across different hosting environments and use cases are a part of this, from nonprofits to small businesses to newsrooms. If you have a large need for collaborative editing, enjoy sharing feedback, and are comfortable with using the latest Gutenberg plugin, this is an awesome way to contribute to the WordPress project. Test team badges will be given out at the end.ย
More about the effort
The aim is to engage passionate real-world early adopters across a spread of hosting environments in a dedicated slack channel throughout the release process to ensure a tight feedback loop for both bugs and feature requests. This will take a simple form: a dedicated slack channel (#collaborative-editing-outreach) where folks can get set up with collaborative editing, share ongoing feedback, and those working on the feature can open bugs/make fixes/share improvements/etc. Compared to the FSE Outreach Program, there wonโt be ongoing themed calls for testing since they would end up being very repetitive. Instead, key updates will be shared in the slack channel to help inform folks as new fixes or features are added to give feedback on them. The latest updates for collaborative editing will be delivered through the Gutenberg plugin which is why using the latest version is a requirement for this channel. As discussed here, a featured plugin isnโt currently feasible.ย
Tied to this, outreach will be done to hosting companies to attempt to recruit participants for this outreach program. This is being done to help get as many different environments as possible represented.ย
Currently, @amykamala, @greenshady, and I will be acting as the small crew driving this forward in the slack channel, alongside the developers and designers working on this feature.ย
The live meeting will focus on the discussion for upcoming releases, and have an open floor section.
The various curated agenda sections below refer to additional items. If you haveย ticketticketCreated for both bug reports and feature development on the bug tracker.ย requests for help, please continue to post details in the comments section at the end of this agenda or bring them up during the dev chat.
Hotfix for publish button placement (TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.#65286)
Discussions ๐ฌ
The discussion section of the agenda is for discussing important topics affecting the upcoming release or larger initiatives that impact the CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Team. To nominate a topic for discussion, please leave a comment on this agenda with a summary of the topic, any relevant links that will help people get context for the discussion, and what kind of feedback you are looking for from others participating in the discussion.
Open floor ย ๐๏ธ
Any topic can be raised for discussion in the comments, as well as requests for assistance on tickets. Tickets in the milestone for the next major or maintenance release will be prioritized.
Please include details of tickets / PRs and the links in the comments, and indicate whether you intend to be available during the meeting for discussion or will be async.
Some new dev notesdev noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. were published for 7.0:
We have some issues in the milestone, but nothing that deserves an immediate 7.0.1 release (this the below discussion concerning potential hotfixes, though).
@jorbinproposed to publish a call for volunteers in the next couple days to target middle or end of June for the release.
From @masteradhoc: 3 TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets/PR are waiting for review:
#65286 is the ticketticketCreated for both bug reports and feature development on the bug tracker. we are discussing. No actions are blocked, but the publishing screen on the non blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor looks extremely messy, so itโs worth cleaning it up while 7.0.1 is being worked on. @desrosj had proposed putting a fix in the Classic Editor plugin which could absolutely work. I was thinking the Hotfix plugin would make sense since itโs possible for this to affect custom post types and people may not be using the classic editor pluginPluginA 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. at the same time. There are also other options [โฆ] but I think we should pick one and aim to get a solution out sooner rather than later.
@jeffpaul: โif weโve not confirmed it affects CPTs, then Iโm in favor of the classic editor plugin (and also that its low priority in that case)โ.
@audrasjb: โI was about to say the same thing, in fact Classic Editor (plugin) seems like a really good optionโ.
@desrosj: โMy thinking about the Classic Editor plugin instead of the Hotfix plugin is that sites that are choosing to remain using the classic editor likely have this plugin installed and activated already. So it fixes a wide number of sites just by pushing the update (provided they have auto-updates enabled, of course). I think we could still include the fix in the Hotfix plugin as well (anyone experiencing the issue without the Classic Editor plugin could install and activate), but it has far fewer users at 4,000+ compared to 9M+.โ
@audrasjb: โBut it wouldnโt affect websites where the Block Editor is disabled via a hook, or during CPT registration, etc.โ
@davidbaumwald confirmed this affects CPTs without the Classic Editor.
@jorbin: โI like the idea of both hotfix and classic editor. I will also say that hotfix should alwaysย have a lot less users than classic editor since one is designed as a short term needed plugin and the other is the hotfix pluginโ.
@jorbin and @audrasjb noted that the Hotfix plugin should be Featured in the plugins list. @audrasjb added that the plugin should also get a small assets refresh.
In conclusion, there is a path forward for the short term (use both Classic Editor and Hotfix plugins), and @jorbin and @desrosj will coordinate to put this together.
@yaniiliev asked whether there are any changes that the coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. team would like to see on the new profiles page? Anything missing, anything feeling off? This will be discussed during next weekโs meeting. Feel free to comment this summary if you have anything to share about this topic.
You must be logged in to post a comment.