The WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. development team builds WordPress! Follow this site for general updates, status reports, and the occasional code debate. There’s lots of ways to contribute:
Found a bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.?Create a ticket in the bug tracker.
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” 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 Editor.
This release brings visual change tracking to in-editor revisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. and introduces a brand-new Icon blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.. The navigation overlay and client-side media processing both graduate from experimental status. Real-time collaboration adds cursor awareness and can now be enabled through a global settings toggle, and the Gallery block now supports lightbox navigation between images.
A total of 388 PRs were merged in Gutenberg 22.6, with 8 first-time contributors!
Table of contents
In-Editor Revisions: Visual Change Tracking
Browsing post revisions in the editor now shows a color-coded visual diff between the selected revision and its predecessor. Added text appears in green with an underline, removed text in red with a strikethrough, and formatting or attribute changes are highlighted with a yellow outline. Entire blocks, added or removed, are outlined in green or red, respectively. Visual change tracking can be toggled off to view clean content. Colors blend with currentColor so they look appropriate across all themes. (75049)
Icon Block
A brand-new Icon block lets you insert SVG icons from a curated library directly into your content. The block is powered by a new server-side SVG Icon Registration APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways., so updates to the icon registry propagate to all uses without block validation errors. A REST endpoint at /wp/v2/icons supports searching and filtering. The initial set draws from the wordpress/icons package, and the architecture is designed for future extensibility including third-party icon registration. (71227, 72215, 75576)
Navigation Overlay
Navigation blocks now have customizable overlays and give user full control over mobile hamburger menus. A prominent “Create overlay” button guides you through the setup, providing a selection of patterns to achieve a variety of designs for your overlay. The Navigation Overlay feature is no longer experimental, and is available to all users of the pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party.. (74968, 74971, 75564, 75276)
Client-Side Media Processing
Client-side media processing is a feature that leverages the browser’s capabilitiescapabilityA capability is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on their role. For example, users who have the Author role usually have permission to edit their own posts (the “edit_posts” capability), but not permission to edit other users’ posts (the “edit_others_posts” capability). to process images. This enables the use of more advanced image formats (including AVIF, WebP, and MozJPEG output encoding) and compression techniques (resulting in ~10–15% smaller file sizes with no quality loss for generated JPEG sub-sizes). It also reduces demand on the web server, thus providing smoother media workflows. As of Gutenberg 22.6, client-side media processing has graduated from experimental state to stable feature. (75081, 74910)
Real-Time Collaboration
Real-time collaboration sees a major round of development in this release. A new toggle under Settings > Writing lets you enable the feature, and once active, collaborators editing the same post see each other’s cursor positions and block selections in real time. A presence indicator in the editor headerHeaderThe 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. shows who’s currently editing. Under the hood, title, content, and excerptExcerptAn excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox. now sync via Y.text for more granular conflictconflictA conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. resolution, and numerous reliability fixes address disconnection handling, revision restores, and performance metrics. (75286, 75398, 75065, 75448, 75595)
Gallery Lightbox Navigation
The Gallery block’s “Enlarge on click” lightbox now supports navigation between images. When you click an image in a gallery, back and next buttons let you browse through the rest of the gallery without closing the lightbox. Keyboard navigation with arrow keys and screen reader announcements (“Enlarged image X of Y”) are fully supported. Images that don’t have lightbox enabled (e.g., those linked to a file URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org) are skipped during navigation. (62906)
Other Notable Highlights
Block visibility enhancements: List View now shows viewport-aware icons with tooltips indicating which viewports a block is hidden on, and hidden blocks get a simplified toolbar. The keyboard shortcut (Cmd+Shift+H / Ctrl+Shift+H) to toggle block visibility options is featured in the block context menu. (75404, 75335, 75334)
Notes keyboard shortcut: You can now create a block note with Cmd+Option+M (Mac) or Ctrl+Alt+M (Windows/Linux), and press Escape to cancel. (75287, 75288)
Verse block renamed to Poetry: The Verse block is now called Poetry. (74121)
QuickEdit stabilized: QuickEdit is now stable and opens as a modal in the Site Editor pages view. (75565, 75173)
Text-align block support migrations: Eight blocks (Author Biography, Post Author Name, Post Comments Count, Post Comments Form, Post Comments Link, Post Terms, Post Time to Read, and Term Description) have been migrated to the standardized text-align block support.
Enforced iframeiframeiFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. for the post editor: Please check here for more information. (75475)
Many of these new features will also be included in the upcoming WordPress version 7.0, so you can find more details and testing instructions over at the 7.0 Call for Testing.
Changelog
Features
wp-env: Add –config option for custom configuration files. (75087)
Client Side Media
Add AVIF, WebP and MozJPEG output encoding support. (75081)
Add device/browser capabilitycapabilityA capability is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on their role. For example, users who have the Author role usually have permission to edit their own posts (the “edit_posts” capability), but not permission to edit other users’ posts (the “edit_others_posts” capability). detection. (75863)
Add EXIF metadata tests for Client Side Media. (74909)
Add testsEnvironment option and split Gutenberg wp-env configs. (75341)
Adminadmin(and super admin)UIUIUser interface: Apply ‘text-wrap: Pretty’ to Page. (74907)
Commands: Display categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. labels and enforce category icons. (75669)
Gutenberg plugin: Always enforce the iframe in the post editor. (75475)
Layout: Update Gutenberg to match coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. after #75360 sync. (75594)
Media Utils: Auto-select uploaded files in media modal experiment. (75597)
MediaEdit: Support ordered values and reordering of items. (75207)
Replace install-path command with status command in wp-env. (75020)
Accordion: Move Accordion icons to Icon library. (75380)
Author block: When recreating, migrate the textAlign attribute of the Author block to the block style attribute. (75153)
Block Supports: Add Line Indent support using enum setting. (74889)
Blocks: Try prepending ‘httpsHTTPSHTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information.’ to URLs without protocol. (75005)
Breadcrumbs: Improve loading state rendering. (75383)
Navigation Link: Clarify Link To invalidinvalidA 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. and draft states. (74054)
Navigation Link: Go to page link and edit page for inspector sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (75262)
theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.: Enable width setting for Icon block by default. (75665)
Editor: Introduce new selectedNote editor state. (75177)
FilterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. navigation category patterns to only show in navigation-overlay template part context. (75276)
Add global setting to enable real-time collaboration. (75286)
Move PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher code to compat / backports directory. (75366)
DataForm: Mark fields as required or optional automatically. (74430)
Dataform: Adds validation support to the DataForm details layout. (74996)
Components
DataViews: Use public ColorPicker instead of internal Picker export. (75394)
DateCalendar, DateRangeCalendar: Use lighter gray for disabled dates. (75683)
ToggleGroupControl: Add visual emphasis to selected item. (75138)
[Real-time collaboration] Refine collaborator overlay with AvatarAvatarAn avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name. component integration. (75595)
Fix missed dimension token migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. in UI package. (75446)
WidgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Area: Disable renaming and visibility support. (75279)
Writing flow: Fix Cmd+A from empty RichText. (75175)
iAPI Router: Update cached styles for re-fetched pages. (75097)
ui/Button: Fix disabled styles and variable composition. (75568)
wp-env Playground: Improve mapping and core source handling. (75527)
wp-env:
Fix MySQLMySQLMySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. startup race condition causing database connection errors. (75046)
Cover block: Force LTR direction for the background URL input field. (75169)
Featured ImageFeatured imageA 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.: Added a fallback to the default value when clearing the aspect ratio control for the Featured Image. (75358)
Fix duplicate content when navigation overlay is open and nav has non-link inner blocks. (75180)
Fix: Make all Navigation Overlay Close buttons work. (75384)
Fix: Show and hook up submenu visibility for Page Lists within Navigation Blocks. (75531)
Gallery: Fix PHP warning in random order image reordering. (75678)
Gallery: Skip interactivity directives when no images have lightbox enabled. (75680)
Media & Text: Respect image_default_link_type option. (74295)
Navigation Submenu: Restore openSubmenusOnClick to usesContext for backward compatibility. (75435)
Navigation block: Remove horizontal scroll from list view. (75086)
Navigation link: Fix resetting link from the tools panel. (75228)
Navigation overlay: Fix default pattern contrast issue on dark themes. (74979)
Post Excerpt: Disable HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. element insertion. (74928)
Pullquote: Fix deprecated block validation when anchor/id attribute is present. (75132)
Improve Tab Panel accessibilityAccessibilityAccessibility (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). (75484)
Fix sidebar display logic for small screens. (75454)
Real-time Collaboration: Fix revision restore bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.. (75233)
Resize metaMetaMeta 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. box pane without ResizableBox. (66735)
Sync post content and undefined blocks value. (75437)
Update the y-protocols version and remove the unnecessary diff types. (75657)
Use Y.text for title, content and excerpt. (75448)
Documentation
Clarifies cherry-picking permissions and improves minor releaseMinor ReleaseA set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. workflow documentation. (75034)
Design System: Add guidelines for save and submit UXUXUser experience. (74811)
Docs: Add missing global documentation in block library. (75004)
Docs: Remove private GitHubGitHubGitHub 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/ team links in repository management. (75255)
Docs: Rename Interactivity API’s ‘API Reference’ to ‘Directives and Store’. (74974)
Fix: Navigation Overlay Close Block: Add missing since tagtagA 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.)#75247. (75250)
Core Data: Improve blocks cache in useEntityBlockEditor. (75400)
Docs: Add missing global documentation in rtl.php and meta-box.php. (75082)
Generate manifest PHP file based on JSON file. (75684)
Move experimental PR out of backportbackportA 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. log. (75465)
Remove backport changelog committed by mistake. (75441)
Remove the ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Native test status badges. (74674)
Restrict base-ui imports outside of UI component packages. (75143)
Select: Remove unnecessary jest.setTimeout from test. (75444)
Types: Consistently use the React namespace. (75499)
Remove unnecessary block deprecation from experimental tabs. (75208)
Storybook: Always load design tokens in Design System section. (74899)
Block Editor
Add l10nL10nLocalization, or the act of translating code into one's own language. Also see internationalization. Often written with an uppercase L so it is not confused with the capital letter i or the numeral 1. WordPress has a capable and dynamic group of polyglots who take WordPress to more than 70 different locales. context to ‘Manage allowed blocks’ string. (75239)
Real-Time Collaboration: Add end-to-end tests for RTC. (75598)
Testing
Add end-to-end test for loading settings in site editor preload spec. (75661)
Add end-to-end test for selection restoration after pattern navigation. (75575)
Add unit testunit testCode 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. for gap in block style variations fix. (75038)
You must be logged in to post a comment.