WCEU 2025 Core Committers Meeting Notes

At 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. Europe last week, CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Committers in attendance (including emeritus) gathered for a brief informal meeting.

Photo credit: Levente András Tóth

There was no formal agenda, but a few goals for the meeting were mentioned at the beginning:

  • Allow newer committers to meet more senior ones.
  • Allow anyone to raise questions, concerns, or suggestions that have been on their minds.
  • Just spend some time together chatting and getting to know each other.

Below are some brief notes from discussions that happened following Chatham House Rule.

6.9 Release Cycle

The current major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope. cycle was discussed for a bit. More specifically, what should the targeted features be? With (more) recent changes to contributor availability, it’s possible there could be a 6.9 this calendar year (was later confirmed as the goal by Matt in the fireside chat).

A new or revised short-term roadmap would help committers and contributors alike participate more effectively by providing clarity on the current focus areas, goals, and targeted features. For the long-term, clarity on whether the 4 phases are still accurate objectives.

6.8.x Releases

These should continue to be planned and executed as necessary. If major releases are going to be less frequent, carefully including smaller features and enhancements in minor versions would be beneficial.

If the timeline for the next major release does change, minor releases may not have as many contributor resources. That needs to be watched to ensure continued success of minor releases.

Possible Short-Term Targets 

A handful of possible short-term features and tasks were identified to explore:

  • address technical debt
    • there are many areas of the code base that can likely be moved from Core to a canonical 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. For example, the Links/Bookmarks 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.
    • No-op or remove severely outdated classes deprecated long ago (3.0 times). For example, Snoopy. 
  • Perform ticketticket Created for both bug reports and feature development on the bug tracker. triaging without being afraid to say “no” more often.
  • Discuss what role themes have in present day WordPress.
    • Should we continue creating default themes going forward?
    • What do we want  as a project from 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. themes?
    • How does the pattern directory, font library, block plugins, etc. replace traditional theme components?
  • Audit the importer plugins.
    • Can we possibly archive repositories for importers for services long decommissioned?
    • Should we mark the importers as canonical plugins?
  • Better contextual integration points for canonical plugins (suggest installing to the user when performing related actions)
  • How can we better collect feedback from users that choose to install canonical plugins?

Bring Back User Testing

Previously, the project conducted user testing. That seems to have stopped, but this practice was very beneficial and informative. It showed how the software is actually used by users and whether the intended experience was achieved.

It would be great to resume this practice. However, users are goal oriented, not feature oriented. The outcome of user testing is usually not fine grained tickets for small, specific things. This requires different skill sets to address findings (foundational problems in experience vs. bugs to fix).

Increased Amount and Quality of Testing

If releases are spaced out more (ie. once per year), testing early and often is more important to avoid a large number of bugs down the home stretch of a release cycle.

There were questions around whether we were doing a good job encouraging the right types of quality testing.

  • the testing during release parties can likely be covered more effectively by E2E tests. Contributors are performing the same actions and not truly testing the features that are being shipped.
  • This allows for better testing actual features with specific interactions.
  • The ideal testing could be detailed prior to the release party.
  • When developer notes are published, they could include specific testing instructions.
  • A specific 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. outlining the different testing paths and intended outcomes could also be published to the Make Test blogblog (versus network, site).
  • Testing during release parties is a great way to get started contributing, but it’s gotten to a point where that testing is not a good use of resources. Too many people doing the same shallow testing at once. 
  • Can the 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. testing plugin contextually bring in testing instructions?
  • Can the beta testing plugin better engage the user. Some inspiration can be taken from Apple’s Testflight.

Next Meeting

It’s time to schedule the next virtual Core 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. meeting on Zoom. The date and time of this will be coordinated in the #core-committers channel in 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/.

Props @johnbillion, @flixos90 for pre-publish review.

#core-committer-meetings, #core-committers

Summary, Dev Chat, June 11, 2025

Start of the meeting in 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/., facilitated by @francina. 🔗 Agenda post.

Announcements 📢

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. Europe 2025 Recap

Missed WordCamp Europe? No worries — catch up with a recap by @benjamin_zekavica and see here what happened at this year’s event.

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/ Release posts are online

Thank you @luminuu and @cbravobernal for your great work! 🥳

AI Team – First Team Chat

The first AI Team chat takes place tomorrow at 16:00 UTC in #core-ai. Open to all – a great opportunity to learn more about ongoing projects, ask questions, and connect with the team.

Forthcoming releases 🚀

WordPress 6.8.2 and beyond

The CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Team is putting together a squad for future minor releases. A release squad for 6.8.2 should be announced soon. Follow #6-8-release-leads for updates.

Discussion 💬

Discussion on Ticketticket Created for both bug reports and feature development on the bug tracker. #49442 (parse_blocks() Filter)

Ticket #49442, which proposes adding a filter to the result of parse_blocks(), is currently assigned to the 6.9 milestone. During the discussion, it was noted that the ticket still lacks test coverage (needs-test-info).

Creating a minimal test case was suggested to help move the ticket forward. It was also recommended to raise the topic in the Gutenberg repository for broader feedback and discussion.

Open Floor 🎙️

Improvements to the Docker Environment

@westonruter is working on several enhancements to the built-in Docker environment for wordpress-develop. The goal is to address various minor issues and “paper cuts” encountered during development. The first pull request with initial changes is ready for review, with more substantial improvements to follow in separate PRs. Feedback and reviews are welcomed to help improve the development environment for everyone involved.

PHPStan Code Quality

@justlevine has submitted several small pull requests aimed at improving code quality using PHPStan for version 6.9. The PRs are intentionally kept small to minimize conflicts and speed up integration. Support from reviewers and committers is appreciated to help keep the codebase cleaner and more maintainable. See #63268

Props to @francina and @audrasjb for review.

#6-8, #core, #dev-chat, #summary

X-post: AI Chat Agenda – 12 June 2025

X-comment from +make.wordpress.org/ai: Comment on AI Chat Agenda – 12 June 2025

What’s new in Gutenberg 21.0? (11 June)

“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 tag) 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 Site Editor project (formerly called Full Site Editing).


Gutenberg 21.0 has been released and is available for download!

This release continues the ongoing effort to refine the editing experience, improve 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), and streamline 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. customization. Below is a curated summary of the most notable changes in this release.

The HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Element is now selectable on Button and Separator blocks.

Users can now choose between <a> and <button> elements for better accessibility in the Advanced panel of the Button block.

For the Separator block, they can choose between <hr> and <div>.

Extensive ToolsPanel Refactoring

Many block settings panels—including Button, Comment blocks, Embed, File, List, Navigation, Post Title, RSS, and more—have been refactored to use the unified ToolsPanel interface, providing a more consistent and organized editing experience.

Accessibility and usability

Several blocks, including Button, Columns, and Details, received keyboard accessibility improvements and better focus management.

Numerous bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes address issues with block controls, gallery image captions, social link translations, and more, resulting in a smoother editing workflow.

Changelog

Enhancements

Block Library

  • Button Block: Add HTML Element selection in Advanced settings. (70139)
  • Comment Date: Convert Comment Date block settings to ToolsPanel. (70248)
  • Comment Author Name Block: Refactor setting panel to use ToolsPanel. (69407)
  • Comment Edit Link: Refactor settings panel to use ToolsPanel. (70247)
  • Comment Title: Refactor settings panel to use ToolsPanel. (70246)
  • Comments Pagination Block: Refactor settings panel to use ToolsPanel. (70245)
  • Embed Block: Refactor setting panel to use ToolsPanel. (69636)
  • File Block: Refactor setting panel to use ToolsPanel. (70189)
  • Form Input: Convert Form Input block settings to ToolsPanel. (70249)
  • Form: Convert Form block settings to ToolsPanel. (70253)
  • Latest posts: Change panel body to tools panel. (70200)
  • List Block: Refactor setting panel to use ToolsPanel. (69387)
  • Navigation Link, Navigation Submenu: Hide title UIUI User interface controls while keeping attribute support. (70234)
  • Navigation: Refactor display panel to use ToolsPanel. (68011)
  • Post Title: Refactor settings panel to use ToolsPanel. (70229)
  • RSS: Refactor setting panel to use ToolsPanel. (70213)
  • Separator: Change html element option visibility. (70185)
  • ShortcodeShortcode A 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.: Add role attribute to content in block.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.. (70164)
  • Video: Add option to set a track as default. (70227)

Components

  • ComboboxControl: Handle Unicode characters when matching values. (70180)
  • DropZone: Allow overriding the default icon. (70236)

Block Transforms

  • Adds transforms functionality to Post comments link and post comments number. (70287)

Bug Fixes

Block Library

  • Button: Avoid empty block control slot. (70191)
  • Fix: Click-through blur effect when gallery images have a caption. (69067)
  • Pullquote block: Cannot override cite element style via theme.json. (70260)
  • Social Link: Localize social service names for translations. (70199)
  • Social: Moves size settings to inspector controls. (70186)

Components

  • Ensure SVG Images Without a Width Attribute Are Displayed Correctly in FocalPointPicker. (70061)
  • FormTokenField: Fix filtering with full-width string. (70232)

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

  • iAPI: Make storePart argument optional in overloads. (70296)

Post Editor

  • Editor: Better normalize strings for hierarchical term filtering. (70178)

Block Editor

  • Flex Layout: Fix incorrect default alignment values for Vertical Alignment Control component. (68866)

Accessibility

Block Library

  • Button: Avoid focus loss when unlinking using keyboard. (70192)
  • Columns block: Don’t use ToolsPanelItem for Columns setting. (70210)
  • Details Block: Fix keyboard accessibility issues and allow list view selection to show up inner blocks. (70056)

Components

  • Toolbar: Adjust colors for dark mode support. (69278)

Experiments

Interactivity API

  • iAPI: Remove the full-page client-side navigation experiment. (70228)

Documentation

  • Docs: Added the missing ALT attribute to all images. (70225)
  • Docs: Remove misleading section from curating the editor experience. (70262)
  • Fix parameter hint for canInsertBlocks. (70305)
  • Fix: Render_block_core_site_title function doc has missing return type. (70269)
  • Improve default ALT attribute value for images in documentation. (70226)
  • JSON schema: Clean reference URLs. (70274)
  • Removed Empty line and corrected typo in inline document. (70203)
  • Replace “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 “panel” in tutorial.md. (70257)
  • Small grammar fix in glossary.md. (70292)
  • The wp_admin_notice() function should be called instead of custom HTML for adminadmin (and super admin) notice in docs/how-to-guides/notices/README.md. (70231)
  • Updated small typo in inline documentation. (70187)
  • useDropZone: Refactor documentation to use the correct function syntax. (70286)
  • block.json schema: Add role field. (70272)

Code Quality

Block Editor

  • Clarify ‘clientId’ prop use for ‘HTMLElementControl’. (70258)
  • ImageSizeControl: Use margin-free style. (70202)

Components

  • Remove forced focus of InputControl on mousedown. (41118)
  • SuggestionsList: Remove unused code. (70195)

Block Library

  • Video: Use a unique ‘key’ in the ‘TrackList’ component. (70263)

Tools

Testing

  • Cover Block: Add E2E Test for FocalPointPicker. (69077)
  • E2E: Add general end-to-end tests for templateLock functionality. (70160)
  • Fix end-to-end test for block API / filtered blocks. (51882)
  • Format .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 be the repository owner. https://github.com/ workflows .yml file. (70219)
  • Account for tests env port being overridden from 8889 in PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher unit tests. (70267)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@aurooba @catgofire @DAreRodz @dhruvikpatel18 @himanshupathak95 @im3dabasia @Infinite-Null @Mamaduka @Mayank-Tripathi32 @Mukulsingh27 @nani-samireddy @OpuRockey @pmbaldha @ravigadhiya007 @Rishit30G @SainathPoojary @shail-mehta @shimotmk @stokesman @t-hamano @troychaplin @vipul0425 @vk17-starlord @westonruter @yogeshbhutkar

Props @luminuu, @priethor and @mamaduka for peer review. Props @joen for visual assets.

#block-editor, #core-editor, #gutenberg, #gutenberg-new

What’s new in Gutenberg 20.8 and 20.9?

We’re catching up with these posts now, as they have not been posted in a while. Since the recent releases have been smaller in scope, this post combines updates from both the 20.8 (May 14) and 20.9 (May 28) releases.

Both versions introduce a collection of enhancements, bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes, and improvements. These updates concentrate on refining the editor experience, improving 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), and ensuring consistent design. Additionally, the releases incorporate under-the-hood updates focused on code quality and performance.

  • 20.8 (14 May)
    • Prevent duplicate HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. main elements for improved accessibility.
    • Search functionality in template swapping modal.
    • Changelog
  • 20.9 (28 May)
    • Search 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.: Move search setting to inspector.
    • Move Styles to top of 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. navigation.
    • Changelog

20.8 (14 May) – Highlights

Prevent duplicate HTML main elements for improved accessibility.

The HTML Element option now includes validation to prevent duplicate <main> tags, enhancing accessibility and HTML compliance. (70002)

Screenshot of the editor, showing the advanced panel of a group block in the right sidebar with the new main tag warning.

Search functionality in template swapping modal.

The template swapping modal now includes a search feature for smoother navigation. (69667)

Screenshot of the template modal, the cursor is in the new search bar between the heading and the template previews.

Changelog

Enhancements

  • Create Block: Add --textdomain flag to create block tool. (69802)

Components

  • Guide: Make next and previous button text customizable. (69907)
  • Popover: Add virtual padding to prevent it from hitting the viewport edge. (69555)

Document Settings

  • Editor: Add search functionality to template swapping modal. (69667)

Block Editor

  • WidgetWidget A 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. Editor: Don’t close the inserter when focusing outside it. (67838)

Editor

  • Use split view for 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 only when canvas is iframed and “Desktop” view. (69958)

New APIs

Widgets Editor

  • Edit Widgets: Save lock control via actions. (69984)

Bug Fixes

  • 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 be the repository owner. https://github.com/ Actions: Fix components changelog CI check. (70034)
  • Persist git credentials when publishing via lerna. (70007)
  • 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: Fix deprecation for ‘apply_block_hooks_to_content_from_post_object’. (69909)
  • ServerSideRender: Don’t render the previous error response in loading state. (69988)
  • ServerSideRender: Refactor fetchData to use useCallback and refs. (69237)

Block Library

  • Author, Author Name block: Fix PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher warning error when there is no context. (69949)
  • Block Editor: Allow editing invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. blocks as HTML. (69902)
  • Block Editor: Prevent negative width values in Spacer block when used inside a row block. (68845)
  • Calendar block: Disable edit as HTML support. (69961)
  • Image: Avoid stale URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org when reselecting the same image from the library. (69985)
  • Latest Posts: Update content display labels to Display post content and Content length. (69839)
  • Navigation Link, Navigation Submenu: Fix undefined key warning. (69951)
  • fix: Update the logic of fetching current URL in loginout block. (70031)

Block Editor

  • Block HTML: Add box-sizing property to prevent overflow. (70014)
  • Fix: Improve warning message and add spacing in HTMLElementControl. (70002)
  • MediaPlaceholder: Fix Regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. with media URL input type to allow a local URL path. (70043)
  • Prevent block merging on blocks with the ‘disabled’ editing mode. (69918)

Components

  • Don’t mutate ‘ALL_CSS_UNITS’ default value in ‘useCustomUnits’. (70037)
  • Fix double border in ItemGroup when last item is focused. (70021)
  • Fix: Duotone unset button. (69981)
  • ToggleGroupControl: Fix active background for empty string value. (69969)

Site Editor

  • Check user permissions before rendering export menu item. (69971)

Widgets Editor

  • Fix: Browser Warnings when closing keyboard shortcut modal. (69929)

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

  • Fix: Missing conversion from 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. styled variable to CSSCSS Cascading Style Sheets. variable. (69551)

Typography

  • Fix: Prevent FontSizePicker crash when no font size exists. (68733)

Icons

  • Remove width / height attributes from svg element. (43747)

Accessibility

  • Keyboard Shortcuts: Revert delete shortcut to access + z. (69931)

Block Library

  • Add new HTMLElementControl component. (69904)

Performance

Block Library

  • Latest Posts: Delay inspector control queries until the block is selected. (69898)
  • Latest Posts: Embed author in response. (69889)

Document Settings

  • Lazy load post authors’ data. (69950)

Documentation

  • Add WP version note for ‘setAttributes’ updater function. (69972)
  • Create Block: Add --textdomain in create-block README. (69927)
  • Docs: Add post meta limitations to Block Bindings API documentation. (68583)
  • Docs: Added copy and code for style_data. (69920)
  • Fix missing CSS import in data basics tutorial code. (69914)
  • Fix typos. (69957)
  • Fix: Remove an unnecessary @return 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.) from this 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. docblockdocblock (phpdoc, xref, inline docs). (69960)

Code Quality

  • ServerSideRender: Use useLayoutEffect to update latestPropsRef. (69999)
  • Stylelint: Migrate configuration from JSON to JavaScript format. (69590)
  • theme.json: Unify property order. (70033)

Themes

  • Simplify color specifications from rgba to rgb. (70008)

Block Editor

  • Simplify condition selectors for ‘useHasBlockToolbar’. (69930)

Block Library

  • Latest Posts: Only fetch necessary fields for categories. (69888)

Components

  • ColorPicker: Add tests for ColorPicker Alpha slider. (69203)

Tools

Testing

  • Automated Testing: Skip storybook smoke test. (69943)
  • List View: Add end-to-end test to verify pasting block styles via keyboard. (69979)
  • Try: Fix ‘wp-polyfill’ script dependents 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.. (69912)
  • Workflows: Try different SHA. (70048)

First-time contributors

The following PRs were merged by first-time contributors:

  • @jrmd: Block Editor: Prevent block merging on blocks with the ‘disabled’ editing mode. (69918)
  • @Maikuolan: Navigation Link, Navigation Submenu: Fix undefined key warning. (69951)

Contributors

The following contributors merged PRs in this release:

@bph @Debarghya-Banerjee @georgestephanis @himanshupathak95 @im3dabasia @Infinite-Null @johnbillion @jrmd @karthikeya-io @Maikuolan @Mamaduka @Mayank-Tripathi32 @Rishit30G @SH4LIN @shimotmk @stokesman @Sukhendu2002 @t-hamano @yogeshbhutkar


20.9 (28 May) – Highlights

Search Block: Move search setting to inspector.

The settings of the search block have been moved from the block toolbar to the inspector panel for better consistency with other coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks. (70144)

Move Styles to top of sidebar navigation.

Move the Styles navigation item to the top position in the Site Editor’s main sidebar navigation, before Navigation, Pages, Templates, and Patterns. (68582)

Changelog

Enhancements

  • Base Styles: Update to modern Sass module system. (70135)
  • Post Publish Panel: Open view post links in a new tab. (70127)
  • Revert Adminadmin (and super admin) bar: Update the Edit Site link. (69974)

Block Library

  • Custom HTML: Add role attribute to content in block.json. (70154)
  • HTML Block: Remove space below textarea. (70055)
  • Post Navigation Link: Reverse order of variations. (70149)
  • RSS: Add role attribute to content in block.json. (70166)
  • Search Block: Move search setting to inspector. (70144)

Write mode

  • Details block: Add role attribute to summary. (70124)
  • Enable Code block content editing in contentOnly. (70111)
  • Enable More block’s “Read more” text editing in contentOnly mode. (70100)
  • Post blocks: Enhance contentOnly editing experience. (70148)
  • Table Block: Enhance contentOnly Editing Experience. (70114)

Components

  • ColorPicker: Add a visual cue when the value is copied. (70083)
  • Snackbar: Add support to open links in new tab. (69905)

Block Transforms

  • Block Library: Add missing transforms between Verse and Preformatted blocks. (70101)

Global Styles

  • Remove “global” from styles variation in schema descriptions. (70089)

Site Editor

  • Move Styles to top of sidebar navigation. (68582)

Bug Fixes

  • DOM: Add summary element to focusable elements. (70051)
  • Site Editor: Fix PHP warnings in gutenberg_get_site_editor_redirection. (70062)
  • URL: Handle HTML entities and ampersand in ‘cleanForSlug’. (70078)
  • Workflows: Persist git credentials when publishing packages via Lerna. (70058)

Block Library

  • Button: Limit scope of width style for link. (70054)
  • Image: Provide ‘defaultValue’ for ‘ResolutionTool’ component. (70122)
  • Post Template: Don’t rely on the default ‘ignore_sticky’ 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/. value. (70020)

Components

  • Fix Styling for TextControland TextAreaControl in dark themes. (69640)
  • Fix URLPopover input handling to properly update value. (70156)

Post Editor

  • Editor: Honor rich/code editor settings when deriving the editor mode. (70080)
  • Hide “Create template part” menu from block settings dropdown for classic themes. (65568)

Block Editor

  • MediaPlaceholder: Fix potential error in ‘handleBlocksDrop’. (70090)

Accessibility

  • Editor: Add label inTextareaControl in CollabSidebar. (70133)

Global Styles

  • Background Image Panel: Fix focus loss. (69813)
  • Move Randomize colors button to Edit Palette panel. (70128)

Documentation

  • Add example doc comment. (70116)
  • Docs: Clarify versions in WordPress page title. (70112)
  • Docs: Fix PEG.js link. (70082)
  • Docs: Interactivity API Block removed. (69513)
  • Modify the spinner example code. (70084)
  • Popover: Update Popover component documentation. (70106)
  • RichText Readme – Fix 404 URL To Mozilla documentation. (70171)
  • Updated backticks to quotes. (70070)

Code Quality

  • ServerSideRender: Colocate delayed spinner logic. (70147)
  • Stylelint: Customise warning for CSS variables used outside components package. (70108)
  • Stylelint: Customise warning message for flex-direction warning. (70057)

Block Library

  • Blocks: Remove TODO for post comment block conversion. (70110)

Components

  • withIgnoreIMEEvents: Update documentation for clarity. (70098)

Font Library

  • Fix missing trailing period in user message. (70132)

Tools

Build Tooling

  • Workflows: Add option for publishing the latest npm packages. (70079)

Testing

  • end-to-end Tests: Add test suite for columns block template lock. (69089)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@carolinan @himanshupathak95 @igorradovanov @im3dabasia @Infinite-Null @jasalt @karthikeya-io @Mamaduka @Mayank-Tripathi32 @peterwilsoncc @SainathPoojary @shimotmk @SirLouen @StevenDufresne @Sukhendu2002 @t-hamano @unscripted @yogeshbhutkar


Props to @yogeshbhutkar and @luminuu for writing this post and @priethor and @cbravobernal for reviewing.

#block-editor, #core-editor, #gutenberg, #gutenberg-new

What’s new in Gutenberg 20.6 and 20.7?

We’re catching up with these posts now, as they have not been posted in a while. Since the recent releases have been smaller in scope, this post combines updates from both the 20.6 (April 3) and 20.7 (April 22) releases.

Both versions introduce a collection of enhancements, bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes, and improvements. These updates concentrate on refining the editor experience, improving 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), and ensuring consistent design. Additionally, the releases incorporate under-the-hood updates focused on code quality and performance.

  • 20.6 (3 April)
    • Navigation 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.: Add transparency slider for submenu background.
    • Changelog
  • 20.7 (22 April)
    • Navigation in Site View: Automatically expand all options.
    • Editor: Enable starter pattern modal for all post types.
    • Changelog

20.6 (3 April) – Highlights

Navigation Block: Add transparency slider for submenu background

This PR adds the ability to set a transparent background for Navigation Block submenus by enabling the alpha (transparency) channel in the color picker for the submenu background setting. (69379)

Changelog

Enhancements

Block Library

  • Feature: Adding support for more granular controls over the ToC block. (69063)
  • Navigation Block: Add transparency slider for submenu background. (69379)
  • Query Total: Add interactivity.clientNavigation block support. (69661)
  • RSS Block: Add option to open links in new tab/window and control rel attributes. (69641)

Block Editor

  • Add keyboard shortcut (cmd(ctrl)+option(alt)+v) to paste styles. (69196)
  • BlockPatternsExplorer: Hide scrollbar from 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. if not scrollable. (69706)

Post Editor

  • Editor: Revert new default rendering mode for Pages. (69680)

Bug Fixes

  • BlockBreadcrumb: Wrap text node in span 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.). (69605)
  • Fix Media & Text block preview alignment on larger devices. (67097)
  • Format Library: Ensure inline image with updates persist after removing the ‘width’. (69683)
  • Include blocks manifest build process in Webpack configuration to fix create-block bug with missing blocks manifest file. (69578)

Block Library

  • Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. Block: Prevent default action on image click to fix linking to post. (69716)
  • Fix CategoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. List Block: Add optional chaining to 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. name. (69703)
  • Fix(embed-block): Only call setAttributes() when attrs change. (68141)
  • Fix: Correct ‘Displaying 1 – 0 of 0’ issue when no results are found. (69666)
  • Image block: Omit max width observer element in galleries. (69601)
  • PostCommentsForm: Fix submit button width regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5.. (69651)

Components

  • ComboboxControl: Replace undefined variable usage with color-mix for disabled selection. (69621)
  • CustomSelectControl: Use dynamic fill color for check icon. (69626)
  • Fix autocomple UIUI User interface flicker when deleting trigger prefix. (69562)
  • Update NumberControl stepping to match HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. number input stepping. (34566)

Block Editor

  • LinkControl: Fix visually Duplicative label and placeholder. (69620)
  • PatternsExplorerModal: Fix empty patterns in starter content category. (69629)

Post Editor

  • Post Template Panel: Render create-new-template-modal over post-template-panel. (69713)

Global Styles

  • Site Editor: Make the text “Custom Styles” translatable. (69677)

Site Editor

  • Set IFRAME_REQUEST constant for classic theme site preview. (69535)

Document Settings

  • PostStatus: Prevent form submission from refreshing the page. (69526)

Accessibility

Document Settings

  • Post Template Panel: Preserve parent modal when closing template creation dialog. (69724)

Block Library

  • Site Title: Prevent saving and rendering a value made of only spaces. (69628)

Block Editor

  • Fix shift+tab from post title. (69520)

Components

  • Global Styles: Prevent Unwanted ItemGroup List Rendering in Border Panel. (68633)

DataViews

  • Display Checkbox by default in dataviews. (67874)

Performance

Block Library

  • Image: Don’t subscribe to current post changes. (69630)
  • Navigation Link: Don’t check validity when block editing is disabled. (69627)
  • Navigation Link: Improve performance by only requesting entities when selected. (69633)
  • Navigation Link: Optimize ‘getBlockParentsByBlockName’ selector call. (69631)

Documentation

  • Developer Documentation: Update VS Code settings in the contribution guide. (69670)
  • Editor: Clarify icon prop behavior in README. (69672)
  • Fix: Missing comma in DataView documentation example. (69721)
  • Modify the AnglePickerControl example code. (69673)
  • Modify the RangeControl example code. (69591)
  • Reference splitTask from interactivity package in documentation. (69602)
  • Storybook: Update ToolbarItem and ToolbarDropdownMenu exports. (69618)
  • Update the list of 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/ versions in WordPress versions. (69700)
  • scripts: Fix broken changelog link. (69654)

Code Quality

Components

  • Component: Extract getNodeText to its own file and add unit tests. (69135)
  • Fixed broken className test for NumberControl. (69540)

Post Editor

  • PreviewDropdown: There’s no need to unlock the ‘getRenderingMode’ selector. (69682)

Font Library

  • FontLibraryModal: Remove temporary margin-bottom override. (69674)

Site Editor

  • Update old URLs to new path-based URLs. (69585)

Tools

Testing

  • Fix end-to-end and performance tests. (69690)
  • Fix flaky Typewriter end-to-end test. (69623)
  • Refactor ‘Template hierarchy’ end-to-end tests. (69692)
  • Upgrade Playwright to v1.51.1. (69622)
  • e2e: Fix taxomomies test. (69723)

Build Tooling

  • Fix Tests: Update browserslist and caniuse-lite to latest versions. (69669)

First-time contributors

The following PRs were merged by first-time contributors:

  • @gmovr: Feature: Adding support for more granular controls over the ToC block. (69063)
  • @im3dabasia: Fix Media & Text block preview alignment on larger devices. (67097)

Contributors

The following contributors merged PRs in this release:

@bph @chrisbellboy @dhruvikpatel18 @felixarntz @gmovr @himanshupathak95 @im3dabasia @Infinite-Null @karthick-murugan @Mamaduka @Mayank-Tripathi32 @Rishit30G @SainathPoojary @shimotmk @Sourav61 @StevenDufresne @stokesman @t-hamano @westonruter @yogeshbhutkar


20.7 (22 April) – Highlights

Navigation in Site View: Automatically expand all options.

This PR changes the default state of navigation submenus in Site View from collapsed to expanded, making all navigation options immediately visible to users without requiring manual expansion. (69343)

Editor: Enable starter pattern modal for all post types.

This PR fixes the starter pattern modal so it works for all post types, not just pages. It removes the restriction that was limiting the modal to only appear when creating new pages. (69753)

Changelog

Enhancements

  • Format Library: Add a feature to set the alpha value to Highlight. (67525)
  • Playwright end-to-end utils: Add new emulateNetworkConditions helper. (69865)

Block Library

  • Details: Enable all non-interactive formats. (68741)
  • Heading: Add/correct typography examples. (69812)
  • Navigation in Site View: Automatically expand all options. (69343)
  • Remove experimental status from comments count and comment link blocks. (69832)
  • Table Block: Preserve Column Alignment when Pasting Markdown Tables. (69322)
  • Tag Cloud: Remove unnecessary full-width padding. (69725)

Block Editor

  • Remove truncation from media tab preview tooltips. (69741)
  • Support passing updater function to ‘setAttributes’. (69709)

Media

  • Remove @shopify/web-worker Dependency from packages/upload-media. (69816)

Bug Fixes

  • DataViews: Ensure consistent display of primary ellipsis in list layout. (69846)
  • Scripts: Fix blocks manifest generation when directory name has space. (69766)

Block Library

  • Enhance Featured Image Block: Don’t include interactive elements within an element. (69730)
  • Featured Image: Don’t render empty Resolution tools panel if media is not set. (69805)
  • Fix: Background wrapper for ‘Button Inside’ option. (69624)
  • Fix: Update the static text and make them translatable in the Blocks example. (69859)
  • Fixed Media & Text Block – Image not rendered properly on frontend when inside stack. (68610)
  • Query LoopLoop The 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.: Don’t overwrite the ‘query.inherit’ attribute value. (69698)
  • Query Loop: Fix ‘undo trap’ and improve debouncing for ‘Keyword’ control. (69845)
  • ToC: Fix condition for ‘Limit heading levels’. (69811)
  • ToC: Fix related block attribute persistence. (69734)

Block Editor

  • Block Tools: Prevent showing block toolbar when block interface is hidden. (69795)
  • Block drag & drop: Enable mouse click on input/textarea elements in Firefox. (69781)
  • Fix: Restore static properties on deprecated __experimentalLinkControl. (69860)
  • Fix: Space visualizer showing previous value. (69747)

Post Editor

  • Fix: Save custom template with non-latin slug. (69732)
  • Iframeiframe iFrame 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.: Don’t enable for block themes in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. if v2 blocks exist. (69778)

Document Settings

  • PostPublishPanel: Fix post title overflow. (69804)

Patterns

  • Editor: Enable starter pattern modal for all post types. (69753)

Components

  • UI Components: Add theme support for FormTokenField and ComboboxControl. (69638)

Accessibility

  • DataViews: Always show primary action for list layout if hover isn’t supported. (69876)

Block Library

  • Navigation Link, Navigation Submenu: Remove the title attribute controls. (69689)
  • Navigation block: Fix submenu Escape key behavior. (69837)
  • Social Icons: Remove custom placeholder state. (69821)

Components

  • Button: Update hover styles to account for pressed state for tertiary button. (68542)
  • Global Styles: Fix incorrect usage of ItemGroup in the Background image panel. (68631)

DataViews

  • ActionModal: Add support for customisable focusOnMount. (69609)

Documentation

  • Add WithCloseHandlers story. (69688)
  • Create Block: Improve support for blocks manifest and relevant Core APIs. (69767)
  • Docs: Improve document and parameters in render_block_core_* function. (69856)
  • Fix: Incorrect Type of wp_widget_factory in render_block_core_legacy_widget Doc Block. (69775)
  • Fix: Expose TypeScript types for subcomponents. (69619)
  • Latest Posts block: Add missing @global PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher documentation. (69763)

Code Quality

  • Block Parser: Remove description for singular since tag. (69799)
  • Fix Documentation inconsistencies in Block Parser classes. (69785)
  • Stylelint-config: Add stylelint-scss as a peer dependency. (69685)

Block Library

  • Query Loop: Remove unused ‘Columns’ control. (69843)
  • Search: wp-block-search__inside-wrapper classname trailing spaces. (69405)
  • Social Icons: Fix effect dependencies. (69824)
  • Social Icons: Remove unused editor style. (69836)

Block Directory

  • Update metadata fields requested from server. (69801)

Components

  • Update gradient-parser dependency from 0.1.5 to 1.0.2. (69783)

Tools

Testing

  • Automated Testing: Add 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 be the repository owner. https://github.com/ Actions workflow for Storybook smoke testing. (69679)
  • E2E: Split list view keyboard shortcuts into multiple tests. (69231)
  • Workflows: Ignore ‘widgets’ for manual backports. (69792)

Build Tooling

  • Workflows: Ignore ‘block-serialization-default-parser’ for manual backports. (69791)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@carolinan @Debarghya-Banerjee @dhruvikpatel18 @dilipbheda @himanshupathak95 @im3dabasia @Infinite-Null @jonathanbossenger @karthikeya-io @Mamaduka @Mayank-Tripathi32 @Rishit30G @SainathPoojary @shimotmk @snehapatil2001 @stokesman @Sukhendu2002 @swissspidy @t-hamano @timse201 @yogeshbhutkar


Props to @priethor and @cbravobernal for reviewing this post.

#block-editor, #core-editor, #gutenberg, #gutenberg-new

Dev Chat Agenda – June 11, 2025

The next WordPress Developers Chat will take place on Wednesday June 11, 2025 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.

Forthcoming releases 🚀

WordPress 6.8.2 and beyond

  • The CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Team is putting together a squad for future minor releases. A release squad for 6.8.2 and 6.8.3 will be announced soon.

Discussions 💬

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.

TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. Tickets

Misc Topics

Bottlenecks when publishing posts. Mentioned by @justlevine in 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/.. Proposed solutions:

  • Create a list of reviewers with publishing privileges so an author knows who to contact to move things forward once the post has been peer-reviewed.
  • Create a list of volunteer authors who can help with drafts. For example: 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/ Release Manager could fulfil their responsibility by tagging those volunteers.
  • Create a 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 be the repository owner. https://github.com/ action from wordpress/gutenberg that triggers a Slack message to Core on Gutenberg release.
    • This solution can also automate a message about rc1 in Slack 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.) volunteers in #core-editor 

@jorbin replied that there might be consent issues and it’s also hard to predict who is active on a day in/day out basis. Starting from a message in #core or #core-editor for someone with publish permissions to review and publish could be enough.

To be discussed 🙂

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.

#6-8, #6-8-3, #agenda, #dev-chat, #trac, #wceu-25

WordCamp Europe 2025 | Recap of the event

The 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/. at 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. Europe 2025 was a great success. A significant number of participants actively contributed to the advancement of WordPress. The CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team welcomed new members who bring valuable expertise and commitment to the project. 🥳

Contributor Day

Copyright by Jeroen Rotty, Pantelis Orfanos, Claudio Schwarz, Paco Marchante

Five New Core ContributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org.

A warm welcome to five new Core contributors: @anukasha, @hage, @mapoken, @nimeshatxecurify, and @vishalbhisara. Their contributions are greatly appreciated, and their future involvement is highly anticipated. Welcome aboard!

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/ Release Articles

@luminuu and @bph prepared the latest Gutenberg release articles, a crucial task for keeping the community informed. One of these articles is already live and can be found here:

Dev Blogblog (versus network, site) & Supporting Newcomers
@marybaum drafted the Call for an upcoming Dev Blog article. At the same time, @mamaduka introduced new contributors to Gutenberg and offered valuable advice and guidance.

Tickets Status

Progress was made on six tickets: #29798, #63530, #63534, #63535, #44083, and #60566.
Four of these were successfully fixed — a fantastic result! 🎉

Gratitude to Table Leads

Copyright by Jeroen Rotty and Thanh Nguyen

A special thank-you goes to the outstanding Table Leads: @apermo, @benjamin_zekavica, @johnbillion, and @mamaduka. Their helpfulness and support were widely recognized, and their willingness to share knowledge made a significant impact on the day’s success.

Who Was There

Thanks to everyone who participated and dedicated time and energy:
@adamsilverstein, @apermo, @benjamin_zekavica, @bph, @desrosj, @fabiankaegy, @johnbillion, @karmatosed, @luminuu, @mamaduka, @marybaum, @printsachen1, and @ravigadhiyawp.

Missed some talks?

WordCamp Europe 2025 featured a vibrant mix of sessions—ranging from content strategy and community building to cutting-edge AI techniques. All talks are now available on WordPress.tv, along with links to the presentation slides.

Looking Ahead

As with every year, WordCamp Europe concluded with the valuable opportunity to meet in person. The addition of new contributors brings renewed energy and motivation to future efforts.

Thank you all. The future of WordPress is looking bright 🙌

Credits: WordCamp Europe 2025

Props @mamaduka, @johnbillion, @apermo, @audrasjb, and @mikachan for helping out on Contributor Day! And thank you to @francina, @jorbin, and @karmatosed for reviewing and providing feedback on this recap article.

#contributor-day, #core, #wceu25

What’s new in Gutenberg 20.4 and 20.5?

We’re catching up with these posts now, as they have not been posted in a while. Since the recent releases have been smaller in scope, this post combines updates from both the 20.4 (March 5) and 20.5 (March 20) releases.

Both versions introduce a collection of enhancements, bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes, and improvements. These updates concentrate on refining the editor experience, improving 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), and ensuring consistent design. Additionally, the releases incorporate under-the-hood updates focused on code quality and performance.

  • 20.4 (5 March)
    • Persist the user’s ‘Show Template’ preference in the editor
    • Query LoopLoop The 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. 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. now supports sorting posts by menu order
    • Changelog
  • 20.5 (20 March)
    • The create-block package now supports blocks manifest and relevant CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. APIs by default
    • Changelog

20.4 (5 March) – Highlights

Persist the user’s ‘Show Template’ preference in the editor

The editor now remembers the ‘Show Template’ preference set by the user and uses it as the default rendering mode. (69286)

Query Loop Block now supports sorting posts by menu order

The Query Loop block now lets users sort posts by their menu order, in both ascending and descending order, for post types that support it. (68781)

Changelog

Enhancements

  • Generate built CSSCSS Cascading Style Sheets. file containing the adminadmin (and super admin) color theme CSS custom properties. (69128)

Post Editor

  • Editor: Conditionally enable the new default rendering mode for Pages. (69160)
  • Editor: Persist user’s ‘Show Template’ preference. (69286)
  • Editor: Restore starter content modal. (69081)
  • Post Template Panel: Display popover on the left side of 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.. (69134)

Block Library

  • Post Navigation Link: Enable all non-interactive formats. (69325)
  • Pullquote: Adding missing alignment style. (68121)
  • Query Loop: Add menu_order as sorting option. (68781)

Site Editor

  • Enhance 404 message styling. (69234)

Media

  • Media Utils: Restrict file uploads with multiple prop in uploadMedia and mediaUpload. (69175)

Components

  • BorderControl: Always show Reset button. (69066)

Block Editor

  • Block Action: Implement cut functionality in block actions and settings menu. (68554)

Global Styles

  • Allow :Focus-visible pseudo-selector to be set in theme.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.. (68521)

Design Tools

  • Post Comments Count: Add Border Support. (68223)

Bug Fixes

  • Core Data: Allow ‘null’ as raw attribute value. (69257)
  • Dataviews: Fix alignment issue of “Title” column 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.. (68840)
  • Fix addQueryArgs and removeQueryArg on URLs with fragments. (69313)
  • Post formats: Make title and description human readable. (69275)
  • Site Editor: Fix back link from “Navigation” sub-menus in mobile web. (69192)
  • TextControl: Fix text direction for URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org and email fields in block editor for RTL languages. (68561)

Block Library

  • Fix: Extra top and bottom margin issue in Social Link block for classic theme below twenty twenty. (69100)
  • Make navigation block wavy underline more visible on dark backgrounds. (69004)
  • Template Part block: Guard against get_block_file_template returning null. (69309)
  • Video Block: Disable autoplay when video is not muted. (69232)

Post Editor

  • Editor: Add an extra check before enabling the new default rendering mode for Pages. (69209)
  • Editor: Avoid a ‘flash’ when rendering in ‘template-locked’ mode. (69173)
  • Editor: Revert bulk editing support for post actions. (69341)

Site Editor

  • Fix space on the left or right of the menu in mobile view. (69327)
  • Show pattern categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. step in navigation for mobile. (69206)
  • Site Hub: Navigate correctly in mobile view. (69157)

Components

  • Notice: Fix text contrast for dark mode. (69226)
  • NumberControl: Fix invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. attributes for infinite bounds. (69033)

Colors

  • Format Library: Prevent the text and color picker from overlapping. (69169)
  • Format Library: Text-color popover width to fit sidebar. (68881)

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

  • iAPI Router: Revert “Handle styles assets on region-based navigation”. (69222)

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

  • Fix typo for ‘ignore_sticky_posts’ 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/. support. (69171)

Block Editor

  • Inserter: Hide drag-and-drop help text on mobile devices when previewing patterns. (69159)

Block hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.

  • Fix duplicated insertion in Post Content. (69142)

REST API

  • Adds the site reading options to the index. (69106)

Block API

  • Block support: Add server-side processing for ariaLabel. (69096)

Document Outline

  • Show heading blocks when template-lock is enabled. (69073)

Media

  • Improve display of error returned from the REST API when an unsupported image type is uploaded. (68788)

Accessibility

Components

  • Cover: Fix placeholder color options keyboard accessibility. (68662)
  • InputControl: Ensure consistent placeholder color. (69334)

Post Editor

  • Improve the EntitiesSavedStates modal dialog design and labeling. (67792)
  • Swap fullscreen mode snackbar notice message. (69305)

Patterns

  • Close patterns modal on insertion and focus on inserted pattern. (68975)

Block Editor

  • Fix CSS classes for the post editor iframeiframe iFrame 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. body. (68481)

Performance

Interactivity API

  • Introduce withSyncEvent action wrapper utility and proxy event object whenever it is not used. (68097)

Documentation

  • Added Missing Double Quote in Number Control. (69207)
  • Added Missing Global Documentation in Query Total Block. (69233)
  • Added php.net/date links. (69280)
  • Components: Fix typo for notice color in readme.md. (69204)
  • Docs: Add Documentation for Adding Block Variations Using get_block_type_variations Hook. (68434)
  • Docs: Removes notes about Block Hooks only supporting static theme elements. (65455)
  • Fix Syntax Issue in Documentation. (69166)
  • Fix typo incorrect article before “user interface”. (69168)
  • FontSizePicker: Fix FontSizePicker Storybook control type and improve documentation. (68936)
  • Update 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/.-in-the-block-editor.md – fix link. (62431)
  • docs: Correction in plugin-sidebar-0.md. (69268)

Code Quality

  • Fields: Avoid ‘useSelect’ warnings in the template component. (69344)
  • Remove unnecessary opacity override for Firefox placeholders. (69312)
  • Revert “Feature: Add navigation.isLoading state to core/router store (#67680)”. (69330)

Post Editor

  • Editor: Use a stable array ref as fallback value in ‘BlockVisibility’. (69288)

Site Editor

  • Test: Add end-to-end test for 404 page. (69272)

Tools

Testing

  • ESLint: Improve lint regex for preventing “toggle” word usage in translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. ready functions. (68958)
  • Media Utils: Add tests for new error behavior. (69215)
  • Performance Tests: Update method for creating sample content. (69210)
  • Tests: Fix preloading end-to-end test. (69228)
  • end-to-end Tests: Add Block Hooks Test Coverage. (69044)

Various

Plugin

  • ESLint: Add rule to prevent usage of the word ‘sidebar’ in translatable strings. (68894)

Post Editor

  • Update template-related messages to improve clarity for custom post types. (67722)

First-time contributors

The following PRs were merged by first-time contributors:

  • @alexchrysovergis: Fix typo incorrect article before “user interface”. (69168)
  • @andreawetzel: Components: Fix typo for notice color in readme.md. (69204)
  • @kellymears: docs: Correction in plugin-sidebar-0.md. (69268)

Contributors

The following contributors merged PRs in this release:

@adamsilverstein @afercia @alexchrysovergis @andreawetzel @benazeer-ben @carolinan @DAreRodz @davilera @fabiankaegy @felixarntz @himanshupathak95 @huubl @im3dabasia @Infinite-Null @jonathanbossenger @juanmaguitar @kellymears @Mamaduka @ockham @Rishit30G @SainathPoojary @shail-mehta @shimotmk @singhakanshu00 @snehapatil2001 @stokesman @Sukhendu2002 @swissspidy @t-hamano @yogeshbhutkar


20.5 (20 March) – Highlights

The create-block package now supports blocks manifest and relevant Core APIs by default

Blocks created using the create-block package now include a block manifest file by default, making it easier to manage metadata and improving performance when working with multiple block types. (69446)

Pre-publish panel: Do not show suggestions for tags and categories if there are none.

The conditions that determine if the pre-publish panel should show suggestions to add categories or tags have been updated if no categories or tags are added. (69453)

Changelog

Enhancements

  • Admin bar: Update the Edit Site link. (69271)
  • Enhance create-block package to support blocks manifest and relevant Core APIs by default. (69446)
  • Remove trailing periods from Show or hide settings panel. (69356)
  • Site Editor: Make current theme and editor settings available to route area resolvers. (69299)

Block Library

  • Button Block: Add draft page creation capability. (69368)
  • Query Total: Update the block color support settings. (69500)

Block Editor

  • BlockEditor: Resolve MediaReplaceFlow UIUI User interface text inconsistency. (69546)

Site Editor

  • Add period to Design description. (69537)

Post Editor

  • Pre-publish panel: Do not show suggestions for tags and categories if there are none. (69453)

DataViews

  • DataView Actions Modal: Allow customizable modal size through props. (69302)

Bug Fixes

Block Library

  • Archives Block: Fix showLabel default state. (69469)
  • Comment Template: Use fallback when there’s an 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. error. (69422)
  • Fix: Show the author and author name examples in the Stylebook. (69436)
  • Image block: Unwrap img element in editor. (68666)
  • Latest Posts: Make Latest Posts block consistent with sticky posts display. (69428)
  • Query Total: Prevent stricted type fatal errors on post per page. (69508)
  • Social Icons: Disable edit as HTML support. (69374)
  • Spacer: Revert height defaults to 100px if left unset. (69450)
  • SpacerControls: Default the height to 100px if left unset. (68819)
  • Table Of Contents: Include headings exclusively within the core/post-content block. (69366)

Site Editor

  • Classic themes: Prevent access to parts of the Site Editor. (69473)
  • Hide admin bar in classic theme site preview. (69514)
  • Prevent access to the Design/Styles screen from classic themes without StyleBook support. (69377)
  • Show save panel in mobile layout. (69448)
  • Site Editor Sidebar: Fix header scrolling in mobile layout. (69413)

Global Styles

  • Shadow, Duotone: Fix reset button style. (69471)
  • ShadowsPanel: Remove Flex Wrapper from Subtitle. (69541)

Post Editor

  • Autocompleters: Change user slug color. (69003)
  • Editor: Fix ‘slug’ editing in ‘template-locked’ mode. (69516)

Document Settings

  • Editor: Use disabled state for ‘Change template’ menu item. (69558)

Style Book

  • Classic theme site preview: Make all interactive elements unclickable. (69522)

Document Outline

  • Disable selection for non-content headings. (69506)

Block Editor

  • Fix error from popover scroll hook. (69479)

REST API

  • Add additional default template data fields for the active theme. (69417)

Block Directory

  • Fix installations for ‘template-locked’ mode. (69394)

Layout

  • Layout Support: Replace incremental IDs with hashes. (68210)

Accessibility

Post Editor

  • Editor: Refactor the ‘PostVisibility’ component. (69451)
  • Make password protected input fields consistent. (69440)

Components

  • Button: Remove fixed width from small and compact buttons with icons. (69378)
  • Remove non translatable additional info from font size picker visual label and improve labeling. (69011)

Block Editor

  • ARIA: Fix invalid DropdownMenu children structure. (69441)

Block Library

  • Site Title: Fix logic for ‘aria-current’ attribute. (68909)

Performance

Post Editor

  • Editor: Optimize queries for ‘useAllowSwitchingTemplates’ hook. (69560)
  • Editor: Optimize selector queries for Homepage and Posts Page actions. (69461)
  • Editor: Preload template lookup. (69454)

Site Editor

  • Fix template lookup preloading for non-draft pages. (69400)

Experiments

  • Added Missing Trailing periods in Experiment Settings Page. (69395)

Documentation

  • Docs/update reference to JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. build setup 404 in scripts README, fix absolute links. (69495)
  • Fix: Update invalid JSON Schema link in README.md. (69505)
  • Update documentation about wp-scripts build-blocks-manifest in relation to new WordPress 6.8 function. (69445)

Code Quality

  • Alignment note with WordPress report 62426. (69519)
  • Core Data: Update ‘__unstableBase’ entity types. (69556)

Block Library

  • Audio Block: Refactor setting panel to use ToolsPanel. (69324)

Global Styles

  • Removed color.__experimentalDuotone from core blocks. (58241)

Tools

Testing

  • Restore post preview end-to-end tests. (69447)
  • Skip failing post preview end-to-end tests. (69429)
  • Template UI mu-plugin: Run 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. after the setup_theme action. (69542)

Various

Plugin

  • Update hierarchical data compat directory. (69550)

First-time contributors

The following PRs were merged by first-time contributors:

  • @Anuj-Rathore24: Fix: Update invalid JSON Schema link in README.md. (69505)
  • @bschneidewind: Site Title: Fix logic for ‘aria-current’ attribute. (68909)
  • @dontfeedthecode: Docs/update reference to JS build setup 404 in scripts README, fix absolute links. (69495)
  • @sabbir1991: Removed color.__experimentalDuotone from core blocks. (58241)
  • @SirLouen: Alignment note with WordPress report 62426. (69519)

Contributors

The following contributors merged PRs in this release:

@afercia @Anuj-Rathore24 @bschneidewind @carolinan @cbravobernal @DAreRodz @dhruvikpatel18 @dontfeedthecode @felixarntz @HILAYTRIVEDI @himanshupathak95 @im3dabasia @Infinite-Null @Mamaduka @sabbir1991 @SainathPoojary @shail-mehta @shimotmk @SirLouen @stokesman @t-hamano @yogeshbhutkar


Props to @yogeshbhutkar for writing the post and @luminuu and @bph reviewing it.

#block-editor, #core-editor, #gutenberg, #gutenberg-new

Summary, Dev Chat, June 4, 2025

Start of the meeting in 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/., facilitated by @audrasjb. 🔗 Agenda post.

Announcements 📢

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. Europe is today!

Forthcoming releases 🚀

WordPress 6.8.2 and beyond

The CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Team is putting together a squad for future minor releases. A release squad for 6.8.2 should be announced soon. Follow #6-8-release-leads for updates.

Discussion 💬

@sirlouen posted a blogpost in the Make/Test team P2P2 A free theme for WordPress, known for front-end posting, used by WordPress for development updates and project management. See our main development blog and other workgroup blogs.The Code Review Flaw in the Workflow.

As a follow-up to this post, he asked the following to be discussed:

After a couple of weeks, I’m almost done on reviewing the Workflow Keywords sequence. I only need some extra info in the committing part as is the part I’m less knowledgeable, so I would need some committers to help me out on the review

[I] need committers to help with the revision of the Workflow Keywords (specially the 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. and 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. part where I have more doubts). First I’m willing to publish an article explaining the new ideas with the first revision of the revised diagram and it could serve as an attention call for anyone willing to make an opinion or add anything else before the final proposal.

Some discussion happened in the Core Slack channel about this post/proposal.

To sum-up, some committers pointed out that:

  • @jorbin: This post seems to make the assumption that just because there is 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. and the patch has no flaws, that it should be committed, but if something should be committed isn’t just a question of if there is a patch ready, it’s also things such as: Does this fit within the current priorities? Is this going to cause issues with future backwards compatibility? Are there alternative solutions that haven’t been considered that should be? How risky is this to commit? What other teams would be affected by this change? Have they been given a chance to chime in?
  • @desrosj: The crux of the post seems to suggest we can’t create a report for tickets that need a code review with the current keywords. Wouldn’t a report that shows tickets with has-testing and has-patch but does not have commit accomplish the same thing?
  • @sirlouen pointed out that the post is not completely assuming that every patch perfectly reviewed must be committed, but every patch perfectly reviewed should be considered by committers with more priority than patches from scratch.

The discussion then switched to patches that are reviewed and tested, and waiting for a committer review and commit:

  • @jorbin: Bringing those tickets up during bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrubs can be a great way to get attention on them, [but] just because it fits [someone’s] definition of 100% baked doesn’t mean that a committer is going to agree.
  • @audrasjb: The best way to help these tickets is to ask to move them into the current milestone.
  • @jorbin: There are about 75 bug gardeners who can modify milestones in addition to all of the committers. In addition, there is nothing that would prevent at the end of the bug scrub a post along the lines of: “After this scrub, we think that the following tickets should be included in 6.8.2 and the following ones in 6.9”. Once someone has demonstrated enough good judgement, they will likely be given bug gardener status so that they can do it themselves.

@justlevine wanted to bring attention to ticketticket Created for both bug reports and feature development on the bug tracker. #61175: “Beyond the usual i could use a bit of help from people better skilled at WP CI/CD (PHPStan passes locally, but isn’t discovering certain symbols when run on CI)”. See the related GitHub PR.

Props to @benjamin_zekavica for review.

#6-8, #core, #dev-chat, #summary