Presence API Feature Plugin

The Presence API is an experimental feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins that provides a system-wide awareness layer โ€” who is logged in, what adminadmin (and super admin) screens they are on, and which posts they are editing.

This idea of presence I think is really cool and seeing where people areโ€ฆ you log into your WordPress, I see oh Matias is moderating some comments, Lynn is on the dashboard maybe reading some newsโ€ฆ that idea of like you log in and you can kind of see the neighborhood of like who else is also there.

Matt Mullenweg, WordPress 7.0 planning session

Problems this aims to solve

  • There is currently no way to see who else is logged into the WordPress admin at the same time.
  • Posts being actively edited by another user are only surfaced when a lock collision occurs, by which point work may already overlap.
  • The post list provides no indication of which posts have active editors until a user tries to open one.

Hereโ€™s what that looks like in practice:

Try it yourself in WordPress Playground: 5-user blueprint. The blueprint creates 5 editor accounts with live presence spread across admin screens and posts, so the widgets, admin bar, and post list are populated the moment Playground boots โ€” no second browser or incognito window needed.

See it at scale: 40-user blueprint. Same setup, 40 seeded editors โ€” useful for seeing how the widgets, admin bar, and post list handle density.

What the pluginPlugin 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. provides

  • Dashboard widgets: โ€œWhoโ€™s Onlineโ€ and โ€œActive Postsโ€
  • Admin bar online indicator with avatarAvatar An 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. stack for on-screen presence
  • Post list โ€œEditorsโ€ column
  • Users list โ€œOnlineโ€ filterFilter Filters 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.
  • REST endpoints and WP-CLIWP-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/ commands
  • Post-lock bridge (coexists with existing _edit_lock behavior)

All features are gated on the edit_posts capabilitycapability Aย 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).. Full technical details are in the GitHub repository.

Background

During WordPress 7.0 development, discussion in #64696 identified that storing high-frequency ephemeral data in shared tables causes persistent cache invalidation site-wide. This feature plugin was built to test that workload independently using a dedicated ephemeral data table with a 60-second TTL. Data flows through the existing Heartbeat API. The plugin was presented at a coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. dev chat and subsequently transferred to the WordPress GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โ€˜pull requestโ€™ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ organization. It was submitted to the WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ plugin directory on April 6, 2026.

Feedback welcome

This plugin is experimental. Feedback on the following is especially helpful:

  • Are the UIUI User interface surfaces (widgets, admin bar, post list) useful as presented?
  • Are there admin screens or workflows where presence would be valuable?

Discussion and development: #feature-presence-api on WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/

Bug reports and discussion: GitHub Issues

Thank you to @jorbin and @desrosj for helping to stand up this feature plugin.

Props @peterwilsoncc, @mindctrl, @czarate, @davidbaumwald, @dd32, @maxschmeling, and @westonruter for the architectural discussion in #64696 that informed this work.

#performance, #presence-api

WordPress 7.0 Release Party Updated Schedule

Good news, everyone! WordPress 7.0 has a new release date: May 20th, 2026!

Thank you all for your flexibility in these recent weeks while WordPress contributors around the world worked tirelessly on necessary architectural improvements for the 7.0 release. The team aims to ensure that this software version is the most stable and most performant it can be, while still delivering the much anticipated cornerstone features mapped out for WordPress 7.0.

Below is the new release schedule, with expected dates and times for each release party, and the release squad contributors involved in each party for the 7.0 milestone. It also includes the pre-release versions that have already been released, and a (pending) call for testing from web hosts meant to help ensure compatibility across hosting systems.

Note: While the most recent pre-release version was RC2, the RC3 release will be treated like aย betaBeta 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.ย version in practice. That means that your continued testing and feedback, particularly on the part of web hosts, will be incredibly valuable in keeping the development process informed during the next phase of this release cycle. Thank you all for your continued testing!

Release Schedule

As always, last-minute adjustments to this schedule are possible, and there could be additional timeline iterations based on the impact of host feedback to ensure that feedback is properly addressed. The release squad will do its best to communicate any changes promptly by posting in the #core Slack channel, publishing a post on the change, and updating this post as the canonical reference.

Date (UTC)MilestoneEmcee / Release LeadRelease Lead The community member ultimately responsible for the Release.Committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component.SecurityMission Control (Coordination)
February 19, 2026 at 15:00 UTCBeta 1@amykamala@ellatrix@audrasjb@sergeybiryukov
February 26, 2026 at 15:00 UTCBeta 2@amykamala@ellatrix@audrasjb@sergeybiryukov
March 5, 2026 at 14:00 UTC Beta 3@amykamala@audrasjb
Committing from WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what theyโ€™ve learned throughout the year and share the joy. Learn more. Nice Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/!
@audrasjb@sergeybiryukov
March 10, 2026 at 23:30 UTC
Unplanned beta following the 6.9.2-6.9.3 security releases
Beta 4@desrosj@sergeybiryukov@sergeybiryukov@sergeybiryukov
March 12, 2026 at 15:00 UTCBeta 5@chaion07@ellatrix@audrasjb@sergeybiryukov
March 24, 2026 at 15:00 UTCRCrelease 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). 1@amykamala@ellatrix@audrasjb@sergeybiryukov
March 26, 2026 at 15:00 UTCRC 2@4thhubbard@ellatrix@audrasjb@sergeybiryukov
April 24, 2026Call for host testing@desrosjn/an/an/a
May 8, 2026 at 15:00 UTCRC 3 (in name, but test as a โ€œnew Beta 1โ€)@amykamala@ellatrix@audrasjb@sergeybiryukov
May 14, 2026 at 15:00 UTCRC 4 (in name, but acting as a โ€œnew RC1โ€)@4thhubbard @chaion07@ellatrix@audrasjb@sergeybiryukov
Tuesday, May 19, 2026 at 15:00 UTC

Dry Run / 24-Hour Code FreezeTBDTBDTBDTBD
Wednesday, May 20, 2026

Time TBA
General ReleaseTBDTBDTBDTBD

How to Join the Party

  • All parties happen in the #core channel on Slack.
  • Everyone is welcome! First-timers, veteran contributors, and all those curious about the process are invited.

Here are detailed instructions on how to contribute to a release party.

Thank you to every contributor and community member that helps make 7.0 a success. See you at the parties!

Props to @desrosj, @4thhubbard, @annezazu, @griffbrad,@peterwilsoncc, and @jeffpaul for helping devise the new schedule, and @desrosj, @jeffpaul, and @sumitsingh for reviewing this post.

#7-0, #release

What’s new in Gutenberg 23.0? (22 April)

โ€œWhatโ€™s new in GutenbergGutenberg The 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/โ€ posts (labeled with the #gutenberg-new tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder,ย hereโ€™s an overviewย of different ways to keep up with Gutenberg and the Editor.

Whatโ€™s New In
Gutenberg 23.0?

Gutenberg 23.0 has been released and is available for download!

This release introduces a revisionsRevisions The 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. panel for templates, template parts, and patterns (experimental), and extends the Site Editorโ€™s Design โ€บ Identity panel with Site Title and Site Tagline fields, completing the set alongside the previously added Site Logo and Icon. Real-time collaboration gains compatibility with legacy metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. boxes and a range of reliability improvements, while the blockBlock Block 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 receives several quality-of-life refinements.

A total of 174 PRs were merged in Gutenberg 23.0, with 8 first-time contributors.

Table of contents

  1. Revisions panel in templates, template parts, and patterns (experimental)
  2. Site Title and Site Tagline in the Design โ€บ Identity panel
  3. Other Notable Highlights
  4. Note for users of the Guidelines experiment
  5. Changelog
    1. Enhancements
    2. Bug Fixes
    3. Accessibility
    4. Performance
    5. Experiments
    6. Documentation
    7. Code Quality
    8. Tools
  6. First-time contributors
  7. Contributors

Revisions panel in templates, template parts, and patterns (experimental)

Editing a template, template part, or pattern now surfaces the same Revisions panel previously available only for posts and pages. When any of these entities has revisions, a Revisions row appears in the sidebarSidebar A 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. with access to review and restore prior versions, matching the behavior already in place for regular post types.

This is part of the ongoing Editor Inspector: Use DataForm experiment, which is progressively rolling out a unified DataForm-based inspector across all post types. Enable the experiment from Gutenberg โ†’ Experiments to try it in the Site Editor or while editing a template from the Post Editor. (#77008)

Site Title and Site Tagline in the Design โ€บ Identity panel

The Design โ€บ Identity panel โ€” introduced in 22.8 with Site Logo and Site Icon โ€” now also includes Site Title and Site Tagline. All four identity settings sit in a single panel, editable directly from the Site Editor without a trip to Settings โ†’ General. Because the title and tagline fields write to the same root/site entity that the Site Title and Site Tagline blocks read from, edits show up live in the editor canvas as you type. The panel uses consistent field styling across text and media controls, so the four settings read as one unified form. (#76264)

Other Notable Highlights

  • Real-time Collaboration, legacy meta box compatibility. PluginPlugin 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. authors can now mark individual meta boxes as RTC-compatible using a new __rtc_compatible_meta_box flag, so the presence of a legacy meta box no longer unconditionally disables collaboration. Site administrators can also apply the flag to third-party meta boxes via the existing filter_block_editor_meta_boxes hook. (#76939)
  • Real-time Collaboration, reliability. Concurrent edits to array-type block attributes โ€” such as table rows โ€” are now preserved when the array is restructured (#77164). A single corrupted sync update no longer crashes the whole poll cycle and disconnects every room (#76968). Gutenbergโ€™s activation hook now honors the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. WP_ALLOW_COLLABORATION constant, giving hosts a reliable kill switch (#77084).
  • Keyboard shortcuts for moving blocks surface in tooltips. The block toolbarโ€™s move-up / move-down tooltips now display their keyboard shortcuts. (#76992)
  • Spacing side controls re-order when unlinked. When link mode is off, the four side inputs are arranged in a more predictable order. (#66317)
  • Separator block honors the --- shortcutโ€™s default variation. Inserting a Separator via the Markdown-style --- shortcut now applies the blockโ€™s default style variation, matching the behavior of inserting it through the inserter. (#77135)

Note for users of the Guidelines experiment

If you had the Guidelines experiment enabled in a previous release, 23.0 renames its internal identifiers from content-guidelines / content_guideline to guidelines / guideline. The rename covers the custom post typeCustom Post Type WordPress 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. slug, REST base, meta keys, experiment flag, and Redux store. Because the experiment flag itself is renamed, it will appear disabled after updating โ€” youโ€™ll need to re-enable it from Gutenberg โ†’ Experiments and re-enter any previously saved guidelines. (#77147, #77223)

Changelog

Enhancements

Components

  • wordpress/ui: Add global CSSCSS Cascading Style Sheets. defense module. (76783)
  • Adminadmin (and super admin) UIUI User interface: Increase page headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitorโ€™s opinion about your content and you/ your organizationโ€™s brand. It may also look different on different screen sizes. vertical padding. (77152)
  • Admin UI: Update Page background color to surface-neutral. (76869)
  • Autocomplete: Remove getAutoCompleterUI factory pattern. (77048)
  • DataForm: Add min/max date range support for date and datetime fields. (77201)
  • DataForm: Show tooltip in edit button in panel layout. (77024)
  • DataForm: Support disabled controls. (77090)
  • FormToggle: Update disabled styles. (77208)
  • Media Upload Modal: Persist view configuration. (77288)
  • Text: Remove UA margins. (76970)
  • UI Text: Mark as recommended. (77044)
  • UI/Dialog: Add explicit margin-inline-end rule to Title. (77334)
  • UI: Update @base-ui/react from 1.3.0 to 1.4.0. (77308)
  • UI: Use Text component for Badge typography. (77295)
  • Use --wpds-cursor-control design token for interactive controls. (76786), (77259)
  • @wordpress/ui: Add Popover. (76438)
  • ui/AlertDialog: Better async confirm APIs, fully use base uiโ€™s AlertDialog. (76937)
  • ui/Dialog: Update Header layout, refactor Title to use Text. (77161)
  • ui: Expose container portal prop on all overlay Popup components. (77163)

Block Library

  • Add context for next/previous enlarge image. (76967)
  • Image block: Validate attachment ID exists before treating image as local. (77178)
  • Search Block: Ensure color settings apply to input field when button is disabled. (77219)
  • Tab Menu Item: Simplify active tab menu item style. (77195)
  • Tabs: Remove sequential numbering from new tab labels. (77321)
  • Use entity link title for link control preview. (77155)

Guidelines

  • Guidelines CPT: Rename from โ€œcontent guidelinesโ€ to โ€œguidelinesโ€ (slug, classes, routes). (77147), (77223)
  • Guidelines: Make the CPT type-aware. (77491)
  • Improve guideline revision UXUX User experience. (76560)
  • Registers wp_guideline_type taxonomyTaxonomy A 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.. (77156)
  • Update actions-section and import/export workflow. (76621)

Post Editor

  • DataViews: Simplify defaultLayouts prop. (77232)
  • RTC: Add filterable flag for meta box RTC compatibility. (76939)
  • RTC: Change SyncConnectionModal to isSyncConnectionErrorHandled filterFilter Filters 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. and drop IS_GUTENBERG_PLUGIN check. (76853)

Block Editor

  • Display shortcuts for moving blocks via tooltips. (76992)
  • Re-order spacing side controls when unlinked. (66317)

Connectors

  • Update the AI plugin settings page slug we link to after activation. (77336)

DataViews

  • Classify admin-ui and dataviews to components. (76959)

Global Styles

  • Renamed focus visible label. (77292)

REST APIREST API The 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/

  • Add date field in templates and template parts. (77134)

Media

  • Media Modal Experiment: Set matching picker grid layout properties for when a user switches layouts. (77118)

Collaboration

  • Backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch.: Improve validation and permission checks for WP_HTTP_Polling_Sync_Server. (76987)
  • RTC: Add optional shouldSync function to entity sync configuration. (76947)
  • RTC: Respect WP_ALLOW_COLLABORATION in Gutenberg for activation hook. (77084)

Site Editor

  • Add Site Tagline and Site Title to Design > Identity panel. (76264)

Bug Fixes

Components

  • Calendar: Fix disabled styles. (77138)
  • Card: Set default foreground color on root. (77013)
  • Checkbox: Fix disabled styles. (77132)
  • DataForm: Remove text-transform from panel field labels. (77196)
  • DataViews: Fix compact density clipping and remove top/bottom padding. (77054)
  • Fix autocomplete overlapping trigger matching. (77018)
  • FormTokenField: Fix disabled styles. (77137)
  • RTC: Fix inline inserter reset on update sync. (76980)
  • RadioControl: Add support for disabling radio group. (77127)
  • Remove sandbox allow-same-origin for core/htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. blocks. (77212)
  • TextArea: Add disabled styles. (77129)
  • UI: Normalize render prop and ref forwarding patterns. (77160)

Block Library

  • Cover block: Fix embed video background Error 153 in editor. (76904)
  • Fix overflow of highlighted white-space in Code Block. (77085)
  • Image block: Hide drag handles while an upload is in progress. (77121)
  • Paragraph: Prevent onEnter splitting of parent block when insertion of that block type is not allowed. (77291)
  • Post Author Biography: Preserve occurrence of white spaces. (71133)
  • RTC: Core/cover block minor compatibility fixes. (76916)
  • Search block: Match behavior of global styling for border and color with local styling (inspector controls) to remove inconsistency. (77060)
  • Search block: Derive โ€˜isSearchFieldHiddenโ€™ value. (77082)
  • Separator Block: Apply default block variation when inserting via --- shortcut. (77135)
  • Upload external media: Ensure notice only fires once. (77218)

Block Editor

  • Fix SyntaxError in Autocompleter UI when pasting matching content. (76961)
  • LinkPicker: Decode HTML entities in link preview title. (77170)
  • Prevent Enter key from inserting paragraphs in contentOnly sections. (76989)
  • RTC: Fix โ€œEdit as HTMLโ€ content reset during collaboration. (77043)
  • Writing Flow: Fix format toolbar not appearing when selecting text from block edge. (77136)
  • contentOnly template lock: Fix block insertion and removal rules. (77119)
  • Fix numeric value clearing in preset input controls. (77139)

Guidelines

  • Guidelines CPT: Skip registration when post type already exists. (77486)

Data Layer

  • Core Data: Fix โ€˜useEntityPropโ€™ for raw attributes. (77120)
  • Core Data: Fix incorrect pagination for non-paginated entities. (76406)
  • RTC: Fix core/table cell merging. (76913)
  • RTC: Fix orphaned meta causing dirty editor state. (77529)
  • RTC: Improve array attribute stability when structural changes occur. (77164)
  • getMergedItemsIds: Receive full page bigger than perPage. (77262)

Connectors

  • Account for mu-plugins when resolving plugin.file status. (76994)
  • Donโ€™t clobber third-party custom render in registerDefaultConnectors. (77116)
  • Hide Akismet unless already installed. (76962)
  • Replace speak() with notice store for state changes. (77174)
  • Update help text from โ€˜resetโ€™ to โ€˜manageโ€™. (76963)

Post Editor

  • Fields: Fix postContentInfoField when there are edits. (76901)
  • Fix: Restore editor canvas padding in classic themes. (76864)
  • RTC: Fix button flickering on retry dialog. (77234)
  • RTC: Predefined retry schedules for disconnect dialog, make more lenient. (76966)
  • Revision: Fix โ€˜Show changesโ€™ button reset state. (77122)

Collaboration

  • Fix failing โ€˜WP_HTTP_Polling_Sync_Serverโ€™ unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression.. (77025)
  • RTC: Fix disconnect dialog due to uneditable entity. (77242)
  • RTC: Isolate sync update failures to prevent full disconnect. (76968)

Global Styles

  • Fix duotone filter not applying on style variation switch. (77229)
  • Global Styles Revisions: Fix footer overflow. (77103)

DataViews

  • Fix Gutenberg_REST_View_Config_Controller_7_1 PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher warnings. (77290)

Patterns

  • Fix custom categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. in site editor not displaying pattern actions. (77251)

Media

  • MediaEdit: Handle โ€˜*โ€™ wildcard in validateMimeType. (77168)

Client Side Media

  • Use image.copyMemory() for batch thumbnail generation. (76979)

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โ€œdirect accessโ€ (i.e. unassisted) and โ€œindirect accessโ€ meaning compatibility with a personโ€™s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

Components

  • ValidatedRangeControl: Fix aria-label rendered as [object Object]. (77042)

Performance

Post Editor

  • Autocompleters: Move and improve links search. (76995)

Client Side Media

  • Add performance metrics for client-side media processing. (76792)

Experiments

Post Editor

  • Add revisions panel to templates, template parts and patterns. (77008)

Documentation

  • Add missing documentation in collaboration.php. (77173)
  • Autocomplete: Clarify โ€˜isDebouncedโ€™ setting limitation. (77062)
  • Docs: Add README for DatePicker and TimePicker Components. (70365)
  • Editor: Fix โ€˜selectedNoteโ€™ action JSDoc. (77080)
  • Eslint: Suggest alternative in no-setting-ds-tokens rule. (77154)
  • Fix: A sentence has no ending punctuation in README.md file. (77027)
  • HStack, VStack: Mark as not recommended for use. (77041)
  • Improve CSS setup instructions in package readmes. (76975)
  • Storybook: Enable theming toolbar for wp-components. (77038)
  • Storybook: Fix โ€œDefaultโ€ cursor option in theming toolbar. (77037)
  • UI/Tooltip: Add usage guidelines documentation. (77158)
  • UI: Use Link component in details story example. (76997)
  • iAPI Docs: Fix typos, code errors, and inaccuracies in the documentation. (76636)
  • ui/docs: Add additional global css setup instructions. (77228)

Code Quality

  • TypeScript: Migrate a11yAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โ€œdirect accessโ€ (i.e. unassisted) and โ€œindirect accessโ€ meaning compatibility with a personโ€™s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) package to TS. (70680)

Components

  • Add .scss files to CSS module linting. (77140)
  • Block Directory: Use --wpds-cursor-control design token. (77330)
  • Autocomplete: Refactor useAutocomplete to use useReducer. (77020)
  • BoxControl: Remove unused state for icon side. (77143)
  • Build Tools: Update TypeScript to 6.0.2. (77010)
  • Button: Remove obsolete Safari + VoiceOver workaround. (77107)
  • Button: Remove unused Storybook stylesheet. (77031)
  • Dataviews: Remove unneeded ref callbacks. (77179)
  • Extract the autocomplete matcher into a separate function. (76957)
  • FormTokenField: Remove unnecessary styles. (77263)
  • Textarea: Remove unnecessary styles. (77221)
  • Theme: Rename typography tokens to use โ€œtypographyโ€ prefix. (76912)
  • Update ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org function names for better ESLint detection. (77148)
  • i18ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: Make sprintf return FormattedText for type-safe createInterpolateElement. (76974)
  • ui/Card: Remove redundant margin reset from Card.Title. (77187)
  • ui/VisuallyHidden: Standardize composition pattern. (77190)

Block Editor

  • Block Editor store: Refactor controlledInnerBlocks to Set. (77094)
  • Global Styles: Move pseudo-state slicing logic into useStyle hook. (77104)
  • BlockMover: Remove unused disabled button props. (76993)
  • Extract getElementCSSRules from useBlockProps. (77327)
  • updateBlockListSettings: Convert state to Map, do all updates in one action. (46392)

Post Editor

  • BlockStyleVariationOverridesWithConfig: Change name and fix lint errors. (77130)
  • ESLint plugin: Disable jsx-a11y/heading-has-content. (77073)
  • Edit Post: Fix warning in โ€˜useMetaBoxInitializationโ€™ hook. (77311)
  • RTC: Store metaboxes RTC-compatible flag on location entries. (77361)
  • Revisions: Simplify fetching. (77086)

Block Library

  • Tabs: Simplify anchor handling. (77189)
  • TypeScript: Migrate packages/list-reusable-blocks package to TypeScript. (70518)
  • TypeScript: Migrate viewport package. (71118)

Data Layer

  • Remove remaining esModuleInterop usage. (77095)
  • Blocks: Convert blocks package to TypeScript. (76312)

Guidelines

  • Remove jsxRuntime pragma. (77255)

Icons

  • Override WP_Icons_Registry singleton with Gutenberg icons registry. (76455)

Annotations

  • TypeScript: Migrate annotations package to TS. (70602)

Tools

Testing

  • Autocomplete: Fix flaky end-to-end tests. (77322)
  • E2E Tests: Ensure artifacts generate correctly and remove unnecessary artifacts. (77093)
  • Fix page.waitForFunction call arguments in e2e tests. (77300)
  • Guidelines: Add end-to-end tests based on the Settings page testing instructions. (77192)
  • Remove โ€˜Homeโ€™ and โ€˜Endโ€™ key usage from Navigation tests. (77102)
  • Restore original template registration tests alongside activation variants. (77068)
  • Tests: Auto-fix some new โ€˜eslint-plugin-playwrightโ€™ warnings. (77314)
  • Tests: Fix workspace test scripts (wp-env not found, argument forwarding). (77055), (77083)

Build Tooling

  • Add iteration issue template. (77113)
  • Build: Fix glob ignore patterns in dot-prefixed directories. (75114)
  • Convert directories in test/ to workspaces. (74684)
  • Env: Fix loopback requests when running on non-default ports. (77057)
  • Fix lint-staged APIAPI An 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. documentation path. (77203)
  • Resolve package-lock.jsonJSON JSON, 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. inconsistency for @babel/eslint-parser. (77256)
  • Storybook: Fix end-to-end subpath exports and add CI build smoke test. (77034)
  • Refactor: Migrate bin/api-docs to tools/api-docs as workspace @wordpress/api-docs-generator. (77019)
  • Upgrade ESLint to v10. (76654)

Data Layer

  • Fix pre-existing lint errors across the codebase. (77002)
  • Remove unused catch block variables across the codebase. (76969)

First-time contributors

The following PRs were merged by first-time contributors:

  • @DarkMatter-999: Fix numeric value clearing in preset input controls. (77139)
  • @dkotter: Update the AI plugin settings page slug we link to after activation. (77336)
  • @dpmehta: Search block: Match behavior of global styling for border and color with local styling (inspector controls) to remove inconsistency. (77060)
  • @mehrazmorshed: Fix: A sentence has no ending punctuation in README.md file. (77027)
  • @prachigarg19: Fix duotone filter not applying on style variation switch. (77229)
  • @samvaidya: Image block: Validate attachment ID exists before treating image as local. (77178)
  • @sandipr942: Added missing documentation in collaboration.php. (77173)
  • @superdav42: Connectors: Donโ€™t clobber third-party custom render in registerDefaultConnectors. (77116)

Contributors

The following contributors merged PRs in this release:

@adamsilverstein @Adi-ty @aduth @alecgeatches @andrewserong @annezazu @aswasif007 @BugReportOnWeb @CGastrell @chriszarate @ciampo @coderGtm @DAreRodz @DarkMatter-999 @dinhtungdu @dkotter @dpmehta @ellatrix @gziolo @hbhalodia @iamchughmayank @Infinite-Null @ingeniumed @jameskoster @jeryj @jorgefilipecosta @jsnajdr @kushagra-goyal-14 @madhusudhand @MaggieCabrera @Mamaduka @manzoorwanijk @mehrazmorshed @mirka @nerrad @ntsekouras @oandregal @prachigarg19 @R1shabh-Gupta @ramonjd @samvaidya @sandipr942 @scruffian @shail-mehta @Shekhar0109 @shrivastavanolo @superdav42 @Swanand01 @t-hamano @talldan @tyxla @USERSATOSHI @yashjawale @yogeshbhutkar

Twenty Twenty-Seven: Team Announcement

Thank you to everyone who responded to the original call for volunteers. The response was genuinely wonderful and made clear how much folks care about getting a great default theme out for 7.2. Joining lead designer @iamarinoh, Iโ€™m happy to share that @onemaggie and @poena will serve as co-lead developers. @juanfra will be taking on a new role as lead mentor and I want to share a bit about why that role exists.

Those who read through the comments may have noticed @juanfra mentioning his interest in mentoring and sharing his Twenty Twenty-Five experience with new leads. That interest sparked a larger conversation about how to bring a more explicit mentorship focus to this new default theme effort. With a head start on this theme compared to previous years, and with an increasing focus on Education programs in WordPress to help new contributors find meaningful entry points, thereโ€™s a real opportunity to do something more intentional here than before. Theme development is one of the more approachable and impactful areas to get involved in. As a result, the explicit mentorship angle is designed to bring more folks into the theme creation process in a structured, supported way rather than hoping people find their footing on their own. @juanfra will be taking point here but everyone working on the theme in a lead role will help make the mentorship approach a reality.ย 

This goes beyond helping make Twenty Twenty-Seven a reality. Itโ€™s about expanding who feels equipped and welcome to contribute to theme work in WordPress more broadly.

If you expressed interest and are keen to contribute, stay tuned as the mentorship angle itself is forming alongside the theme design. More on how to get involved will be shared as the theme takes shape.ย 

Thanks to @onemaggie @poena @juanfra @iamarinoh for reviewing this post and for stepping up to lead here.ย 

#7-2, #default-theme, #theme

Block Visibility in WordPress 7.0

As of WordPress 6.9, you can hide any blockBlock Block 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. entirely withย blockVisibility: falseย in block metadata. In WordPress 7.0, viewport-based visibility rules give your users the power to show or hide blocks per device type โ€” desktop, tablet, or mobile โ€” without affecting other viewports.

Controls are available in the block toolbar, block inspector sidebarSidebar A 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 command palette to launch the block visibility options modal. In List View, blocks with active visibility rules show icons that indicate which viewports they are hidden on.

Note: Blocks hidden by viewport areย rendered in the DOM.ย The hiding happens in the CSSCSS Cascading Style Sheets..

Thatโ€™s different fromย blockVisibility: false. That keeps the block from rendering in the DOM, thus it canโ€™t ever show on the front end.

Updatedย blockVisibilityย metadata structure

The existing hide-everywhere behavior has NOT changed:

{
  "metadata": {
    "blockVisibility": false
  }
}

But in WordPress 7.0, a newย viewportย key gives you and your JSONJSON JSON, 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.-literate users finer control, per breakpoint:

{
  "metadata": {
    "blockVisibility": {
      "viewport": {
        "mobile": false,
        "tablet": true,
        "desktop": true
      }
    }
  }
}

Theย viewportย key is deliberately nested, leaving room for more sources (e.g., user role, time-based rules) to come in 7.1 and beyond.

The three supported viewport keys areย mobile,ย tablet, andย desktop. In 7.0 these map to fixed breakpoints, but you can expect configurable breakpoints andย theme.jsonย integration in WordPress 7.1 โ€” seeย #75707.

Hereโ€™s how this all looks in serialized block markup:

<!-- wp:paragraph {"metadata":{"blockVisibility":{"viewport":{"mobile":false}}}} -->
<p>Hidden on mobile.</p>
<!-- /wp:paragraph -->

How to get your theme or pluginPlugin 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. ready

Does your theme or plugin generate, transform, or parse block markup server-side? Then itsย blockVisibilityย metadata field might now contain a boolean (false) or an object ({ viewport: { ... } }). If your code assumes a scalar value, youโ€™ll want to update it to handle both forms.

Blocks and patterns that include hardcodedย blockVisibilityย metadata will work out of the box, and so will your reusable blocks that have visibility rules.

If your blocks donโ€™t interact with markup on the server

Then you donโ€™t have to do anything! Viewport visibility is part of theย blockVisibilityย block support and applies automatically. You donโ€™t need a separate opt-in inย block.json.

Coming soon! To a future release near you

Current plans call for configurable breakpoints andย theme.jsonย integration for block visibility to land in WordPress 7.1. At that point, youโ€™ll be able to let your themes and other products define almost any viewport labels and breakpoints you need, far beyond the fixed mobile/tablet/desktop defaults. Followย #75707ย for progress.

Props to @andrewserong and @marybaum for helping to write this dev notedev note Each 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..


References

#7-0, #dev-notes, #dev-notes-7-0

Elevating Individuals

Posting here since it spans +make.wordpress.org/design/ , +make.wordpress.org/community/ +make.wordpress.org/marketing/ +make.wordpress.org/meta/ .

My request: Letโ€™s go back to how we used to elevate individual identity and contribution. Learn how to celebrate sponsorship in ways that encourage and cheer equally or more volunteers and people contributing in their spare time, and remember thatโ€™s how almost all of us started and how beautiful and fun that was.

To expand a bit on what I tried to say in the Q&A, I was referring to this tweet:

HFkC1nSagAAoUBl

Krupa, sorry to use you as an example, but the giant SELF EMPLOYED on your badge shocked me, and led me down a path of thinking of all the ways my push to get companies doing what Automattic and Yoast has created some issues in its success, and the unintended consequences itโ€™s maybe led us to.

Iโ€™m not saying someone deliberately created this bad badge design on purpose or maliciously, but I do want to know what led to a result here that everyone involved thought Name and Company was just fine, and no one advocated for personal info you could have on a badge, and that we have before in previous designs. I would suggest WEBSITE since weโ€™re software trying to help people make websites, and want to encourage and promote that, then WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ username, for same reason, maybe hometown because thatโ€™s usually one of the first things people ask and itโ€™s interesting. Iโ€™d put all those things over the company, because the company for people who want to show it off is usually obvious from their shirt or buttons before you can read the badge.

@desrosj and @peterwilsoncc, Very sorry today for only being able to express disagreement in such a brief and unnuanced way. Iโ€™d love to get a Zoom when Iโ€™m feeling better so we can discuss and understand each otherโ€™s positions better.

Be a good conversationalist

I know I get annoyed when the first question someone asks when you meet is โ€œwhat do you do for work?โ€ Here are fun openers that are better, and how can that inspire how we experiment with badges.

Individual Complaints

I was first made aware of this issue by hearing complaints from coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. WP devs who said they feel like we doing so much more to recognize the contribution of companies. Iโ€™ve heard several versions of โ€œitโ€™s a bigger deal for me to contribute without being paid for it!โ€

Where else is this showing up?

  • In every Five for the Future testimonial.
  • Very much on the pluginPlugin 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. and theme directories.
  • In the business model of WordCamps.
  • In a lot of our language and goals.
  • In my presentations starting probably 6-7 years ago.

Weโ€™re measuring and celebrating inputs and contributions, not impact or results

I keep repeating this as the biggest thing we need to change in the WordPress culture and way of doing things. In hindsight, how silly is it to emphasize hours pledged in Five for the Future and not actual activity? And then check regularly if that activity is actually aligned with our goals, or perhaps working against them? (It has happened!)

When is more contribution a bad thing? How has our emphasis on participation, process, or inclusive consensus slowed us down, even as we add more people? Are we surprised, given The Mythical Man-Month figured that out in 1975! What have we lost, and who have we lost, as a result of the structure and processes weโ€™ve created?

How am I so smart yet so dumb sometimes?! ๐Ÿ™‚

Hereโ€™s a better version. The most powerful question from Jerry Collona: โ€œHow have I been complicit in creating the conditions I say I donโ€™t want?โ€ It works so well in all parts of life.

WordPress Core Dev Environment Toolkit: A Faster Path to Your First Core Contribution

One of the most common complaints from Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/ facilitators is this: participants spend the entire session trying to set up their local environment and never get to actually contribute.

Before writing a single line of code, a first-time WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. contributor typically needs to install GitGit Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/, Node.js, npm, Docker, configure everything correctly, and troubleshoot whatever breaks along the way. At in-person events, this alone can take hours โ€” sometimes the full day.

The WordPress Core Dev Environment Toolkit aims to eliminate this friction entirely.

What is it?

The WordPress Core Dev Environment Toolkit is a desktop application (available for macOS, Windows, and Linux) that sets up a full WordPress core development environment with zero prerequisites.

You install it, choose a directory for wordpress-develop, click a button, and you have:

  • A cloned wordpress-develop repository
  • A running WordPress dev server
  • The ability to make code changes and generate a patchpatch A 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.

No Git, no Node.js, no npm, no Docker needed. Everything is bundled inside the application as JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors./WASM, powered by WordPress Playground.

Download the app โ†’

What does it do?

Once installed, the app lets you:

  • Clone wordpress-develop into a directory of your choice
  • Run npm install, npm run build, and npm run dev automatically
  • Start a WordPress dev server using Playgroundโ€™s CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress.
  • Make changes to core files directly
  • Generate a patch from your changes, ready to attach to a TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker.

The entire toolchain โ€” npm, Node, Git โ€” runs as JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a userโ€™s browser. https://www.javascript.com/WASM bundled with the app. Thereโ€™s no terminal work required for the basic contributor workflow.

Hereโ€™s the full setup flow โ€” from a fresh install to a running WordPress development environment:

Once your environment is running, generating a patch to submit to Trac takes just a few clicks:

Why this matters for Contributor Days

Environment setup has historically been one of the biggest drop-off points during Contributor Days. When participants canโ€™t get set up in time, the session is over before it starts โ€” regardless of their interest or motivation.

This tool makes it realistic to go from attendee to first patch in a single afternoon. Itโ€™s designed specifically for the Contributor Day context: fast setup, no prerequisites, no troubleshooting.

How to use it at your next Contributor Day

If youโ€™re organizing or facilitating a core table at a WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what theyโ€™ve learned throughout the year and share the joy. Learn more.:

  1. Share the download link with participants ahead of the event so they can install it at home on good WiFi (the app is a larger download).
  2. Walk through the setup at the start of the session: install, click to set up the environment, make a small change, generate a patch.
  3. Point participants to the Core Contributor Handbook for guidance on what to contribute and how once theyโ€™re set up.

Download and feedback

  • GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โ€˜pull requestโ€™ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ repository and releases: https://github.com/WordPress/experimental-wp-dev-env
  • The tool is experimental and under active development. Feedback is welcome via GitHub issues.

If you use this tool at a Contributor Day, please share how it went โ€” either in the comments below or in the #core channel on SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. Reports from the field help prioritize improvements.

Props to @greenshady @desrosj @audrasjb for review

+make.wordpress.org/playground/ +make.wordpress.org/test/ +make.wordpress.org/community/

#contributor-day, #playground, #wordcamp

Extending the 7.0 Cycle

After discussions with project leadership, the decision has been made to delay the 7.0 release by a few weeks to finalize key architectural details.

WordPress 7.0 is shaping up to be a big release, with some great highlight features and a long list of improvements. Iโ€™m excited to get this in the hands of users. Within that context, contributors have been hard at work discussing, iterating, and polishing every detail.

One of the larger items for this release is the introduction of real-time collaboration primitives, which includes built-in support for HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. polling to ensure the widest possible reach and access to this capabilitycapability Aย 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).. To support this system in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., a new custom table was proposed. While there was general agreement that it would be nice to have for collaborative editing and sync coordination, it was paused due to time and design uncertainties.

Due to a combination of rapid iteration around data storage solutions and cache invalidation strategies, discussions were held before RC2. This led to a path forward that addresses the outstanding concerns by continuing to store content changes in postmeta while moving awareness/presence information about users in session to transients. This approach avoids rapid and frequent cache invalidation issues with special handling for collaborative editing metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. fields. Since then, Matt has expressed a preference to revisit the custom table and ensure adequate time is given to come up with the best design possible from the start. To support this, more time is being added to the 7.0 cycle to ensure the best solution for the overwhelming majority of users is included.

Additionally, there was one extra consideration raised about use cases beyond the real time support (like accommodating broader sync use cases) that should also be discussed to ensure we design the right primitives in the broadest possible sense. After getting more clarity on how a new table will look and function, a new final timeline for 7.0 will be announced. This will likely be a delay of a few weeks, as there are many features that will benefit users, and it would be counterproductive to hold them back for too long. The extra time will help ensure we can process all the feedback given so far and ensure the design can stand the test of time. New features and enhancements not already in core will not be considered for inclusion.

Overall, the intention in shipping collaborative editing in 7.0 as an opt-in is to give the WordPress ecosystem time to adapt to a major change. For hosts, this can have an impact in WordPress resource usage and database interactions. WordPress sites are generally very read-heavy, but collaborative features inherently involve a writing state that is then rebroadcast to other users. The HTTP polling mechanism as designed is a lowest-common-denominator approach, but its broad compatibility comes at the cost of relative inefficiency compared to more specialized solutions like WebSockets. Itโ€™s important to empower site owners and hosts to have full control during this process. So, rather than enabling the feature for 100% of users on day one, the opt-in approach allows usage to ramp up organically. Hosts can monitor requests to the sync endpoints, perform profiling to ensure their particular caching and request management approaches are appropriate, etc.

Thus far, for example, WordPress.com has done extensive testing on this feature and has demonstrated that the conservative defaults, the limit on the number of collaborators, and the number of active editor sessions in the shared environment make HTTP polling a viable transport that can work on essentially any WordPress host without additional dependencies. Other hosts are encouraged to test this as well, and a call for testing will be coming to make.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org//hosting after the final architecture has been committed.

For pluginPlugin 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. developers, many popular plugins still rely on metaboxes for their UIUI User interface. These plugins submit their inputs when a post is saved in the editor via GutenbergGutenberg The 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/โ€™s compatibility mode. This approach, on its own, is not compatible with collaborative editing, which builds on the wordpress/data package used by the blockBlock Block 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 to detect and sync changes across all users in a session, gracefully handling common types of conflicts. As a result, real-time collaboration is disabled when metaboxes are present. The 7.0 cycle will be a window in which these plugin developers can implement a bridge to make their metaboxes compatible or adopt more modern Gutenberg APIs that will instead render their UI in a way that more seamlessly integrates with the editor. Learn more in the official dev note for the feature and, for more details on migrating from metaboxes, see the Meta Boxes guide in the Block Editor Handbook.

Thank you to everyoneโ€™s continued commitment to ensuring 7.0 is an outstanding release, both from a features and stability perspective.

Props to @jorbin @desrosj @annezazu @griffbrad @4thhubbard for helping review this post.ย 

#7-0

Twenty Twenty-Seven default theme: Call for Volunteers

After aligning with @photomatt and @4thhubbard, Iโ€™m excited to announce a call for volunteers to work on the Twenty Twenty-Seven default theme alongside @iamarinoh who has been chosen as the lead designer. Please comment below to express your interest in helping with the development of the theme.ย 

As a reminder, the default theme ships with the last release of the year. For this year, that will be 7.2 which is set to be released in early December. For anyone volunteering to help, please keep this timeline in mind as it means being available to help during that timeframe in particular as well as in these early stages.ย 

To set us all up for success, this call for volunteers is being shared on the early side so folks have plenty of time to get started, complete iterations, and land something wonderful for the broader community. Thanks to all who consider helping with the next default theme!

If you are interested in volunteering, please leave a comment below by Friday, March 27th.

Thanks to @iamarinoh @desrosj @onemaggie for reviewing this post.

#7-2, #theme

Dev Chat Agenda โ€“ April 15, 2026

The next WordPress Developers Chat will take place on Wednesday, April 15, 2026, at 15:00 UTC in theย coreย channel onย Make WordPress Slack.

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ย ticketticket Created 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 ๐Ÿ“ข

WordPress 7.0 Updates

The release schedule is currently still on hold, pending further validation of a new release candidaterelease 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)..

General announcements

Discussions ๐Ÿ’ฌ

The discussion section of the agenda is for discussing important topics affecting the upcoming release or larger initiatives that impact the CoreCore Core 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.

#7-0, #agenda, #core, #dev-chat