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.
Real-time collaboration now shows collaborator text selections, not just cursor positions. When another user selects text, you see their selection highlighted in their assigned colour — matching the behaviour you’d expect from collaborative editors like Google Docs.
The presence UIUIUser interface has also been polished: avatars are redesigned, you can now see your own presence indicator, and a new Writing preference lets you control whether you receive collaborator notifications. Under the hood, peer limits and disconnection debouncing improve stability for busier editing sessions. (76107, 75652, 76413, 76460, 76565, 76114)
Button pseudo-state styling in Global Styles
A new “State” dropdown now appears next to the Button 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. title in Global Styles. Selecting a state — Hover, Focus, or Active — switches all the style controls below to edit that specific state. The block preview updates live to show the selected state, giving you a visual preview of how the button will appear on the frontend.
While 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. has supported pseudo selectors for some time, there has been no visual interface to edit them until now. The Button block is the starting point, with the architecture designed to expand to other blocks in future releases. Separately, theme.json now also supports styling the current/active navigation menuNavigation MenuA theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. item and its interactive states, giving theme authors control over active-page highlighting without custom CSSCSSCascading Style Sheets.. (75627, 75736, 76326)
Site Logo & Icon in the Design panel
Site logo and icon management now has its own dedicated screen in the Design panel. The new screen uses a compact media editor for both fields, making it quicker to set or swap your site’s logo and favicon without navigating through adminadmin(and super admin) settings or finding the block settings. (76116)
Connectors extensibility
The Connectors screen, introduced in 22.7, now has a registry 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. that allows plugins to register their own connectors. Plugins can use registerConnector() to add entries to the Connectors admin page, and unregisterConnector() to remove them.
These extension points allow any 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. to integrate with the Connectors system, so it can grow beyond the built-in providers. (76364, 76541, 76142).
Other Notable Highlights
Add navigation links from 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. List View: You can now add new links directly from the Site Editor’s sidebar List View for navigation menus, rather than needing to open the block inspector. (75918)
Client-side media processing: Client-side image uploads now support the AVIF format, cross-origin isolation no longer breaks third-party plugin iframes, and server-side plugins that process uploaded images (for watermarking, CDN sync, etc.) now work correctly alongside client-side processing. (76371, 75991, 74913, 76616)
Command Palette in the admin bar: A trigger button for the Command Palette now appears in the WordPress admin bar, making it accessible from anywhere in the admin. The button displays the keyboard shortcut for your platform (⌘K on Mac, Ctrl+K on Windows/Linux). (75757)
Changelog
Features
Collaboration
RTC: Add preference for collaborator notifications. (76460)
Add primitive Text component to wordpress/ui. (75870)
Add styles for outside days in Calendar components. (76199)
Admin UI: Add Storybook stories for Breadcrumbs and Page components. (76467)
Adopt surface-width design tokens for Dialog, Notice, and Modal widths. (76494)
Collapsible.Card: Make contents hidden until found. (76498)
CollapsibleCard: Move trigger to the whole 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.. (76265)
Editor: Polish real-time collaboration presence UI and move 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. to editor package. (75652)
ui/Card: Increase padding, align with legacy Card. (76368)
Admin UI: Update font size for title and breadcrumbs to match. (76452)
Connectors
Add AI Experiments plugin callout with install/activate functionality. (76379)
Add connectors registry for extensibility. (76364)
Add empty state when no connectors are registered. (76375)
Add unregisterConnector and upsert support. (76541)
Move plugin status computation to script module data. (76409)
Sync PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher code with WordPress CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. (76443)
Update page identifier to options-connectors. (76142)
WP Admin: Update Connectors screen footer text for consistency. (76382)
Block Library
Block Library: Improve the design of MediaControlPreview and MediaControl. (76430)
Link Picker: Use Homepage badge instead of Page if Homepage. (75929)
Navigation link: Add support to style current menu item via theme.json. (75736)
Navigation: Allow creating new links in site editor sidebar List View. (75918)
Post Date: Migrate to textAlign block support. (75856)
Post 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.: Migrate to textAlign block support. (75860)
Tabs: Disable anchor support on Tab Menu Item. (76442)
Tabs: Restructure Tabs Menu and inner blocks. (75954)
Media: Add hooksHooksIn 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. and extension points for client-side media processing. (74913)
Collaboration
RTC: Add collaborator selection highlighting in rich text. (76107)
RTC: Allow filtering of SyncConnectionModal. (76554)
RTC: Auto-register custom taxonomyTaxonomyA taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. rest_base values for CRDT sync. (75983)
RTC: Remove post list lock icon and replace user-specific lock text. (76322)
Use V2 Yjs methods for HTTPHTTPHTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. Polling. (76304)
Media Upload Modal: Try an uploading state with popover in the footer. (76228)
Set placeholder to 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. field. (76342)
Add confirmation dialog before disconnecting/detaching. (75713)
Interactivity API
Add client-side navigation block with interactive features. (76331)
Command Palette
Add command palette trigger button to admin bar. (75757)
Bug Fixes
Post Editor
Add isNavigationPostEditorKey symbol to fix menu display context. (76461)
Allow Post Content to be edited when ‘Show template’ is active and Post content is nested in a Template Part. (76305)
Client-side media processing: Try plumbing invalidation to the block-editor’s mediaUpload onSuccess callback. (76173)
Editor: Fix autosaves for draft and auto-draft posts. (76624)
Fix: QuickEdit: Consolidate how “Status > Scheduled” works. (76129)
Navigation: Disable Mobile Menu in Isolated Editor or Site Editor Preview. (76203)
Notes: Disable for 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.. (76180)
Page Parent: Change the default value of ‘fieldValue’ state. (76354)
Page/Post Content Focus Mode: Fix insertion into Post Content block. (76477)
RTC: Place sync connection modal in front of popover. (76431)
Revisions: Show changed block attributes in inspector sidebar. (76550)
Revisions: Use useSubRegistry={false} to fix global store selectors. (76152)
Site Editor: Ensure editor settings are populated with server-side settings ASAP. (75785)
Block Library
Cover Block: Add a playlist parameter to loopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop YouTube background videos. (76004)
Disables anchor support for the Page Break block. (76434)
Fix: Update the playlist-track file permissions from 755 to 644. (76315)
Fix: Use add_filter() for get_block_type_variations hook. (76297)
HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. & ShortcodeShortcodeA shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site.: Disable viewport visibility support. (76138)
API Fetch: Respect caller-provided Content-Type in httpV1 middleware. (76285)
Connectors
Add logo URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org support for custom AI providers. (76190)
Align Gutenberg init hook priorities with Core. (76161)
Fetch specific plugin instead of all plugins. (76594)
Gate unavailable install actions behind install 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).. (75980)
Improve placeholder text and make it translatable. (75996)
Improve responsive layout for small viewport and screens. (76231, 76186)
Move API key validation and masking to REST dispatch level. (76327)
Show API key source for env vars and wp-config constants. (76266)
Fix RTL styling on AI plugin callout banner. (76497)
Fix RTL styling on Connectors, Font Library, and boot-based admin pages. (76496)
Components
Compose: Implement useCopyToClipboard and useCopyOnClick with native clipboard API. (75723)
Fix token fallback plugins breaking JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. strings with quoted font names. (76254)
TimePicker: Clamp month day to valid day for month. (76400)
useMediaQuery: Support in-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. queries via new WindowContext. (76446)
Block Editor
Block Bindings: Remove source items constrained by enums. (76200)
Fix HEIC upload error handling and sub-size format. (76514)
Navigation Editor: Allow any blocks to be inserted by gating contentOnly insertion rules to section blocks. (76189)
Rename and visibility modals: Gate shortcuts behind canEditBlock to prevent triggering in revisions UI. (76168)
Fix shortcode conversion when separated by tags. (76213)
DataViews
Add spinner in DataViewsLayout in initial load of data. (76486)
DataForm datetime control: Fix date handling. (76193)
Fields: Hide scheduledDateField from the list and filters. (76247)
Fix last column classname in table layout. (76133)
Fix layout scrolling in constrained-height containers. (76453)
Collaboration
Fix list sidebar reset during real-time collaboration. (76025)
Fix 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. changelog PR for Gutenberg #75746. (76154)
Use apiFetch 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)., allow nonce refresh. (76283)
Fix CRDT serialization of nested RichText attributes. (76597)
Fix TypeError in areEditorStatesEqual when selection is undefined. (76163)
Fix cursor index sync with rich text formatting. (76418)
Fix error when entity record doesn’t have ‘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.’ property. (76311)
Fix performance regressionregressionA 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. on post save. (76370)
Interactivity API
Fix router initialization race condition on Safari/Firefox. (76053)
Fix crypto.randomUUID crash in non-secure contexts. (76151)
Make Window.scheduler required to match DOM lib. (76271)
Site Editor
Fix block style variations not rendering in Site Editor Patterns page. (76122)
Site Editor > Templates: Fix author 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.. (76625)
Client Side Media
Media: Enable AVIF support for client-side uploads. (76371)
Upload Media: Loosen client-side media processing requirements. (76616)
Global Styles
Theme_JSON: Prevent implicit coercion in to_ruleset. (76392)
Fix block pseudo-state styles incorrectly applied to default state. (76326)
Patterns
Block context menu: Context menu not closing for disconnecting unsynced pattern menu items. (75405)
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)
Revisions: Skip rendered fields in REST APIREST APIThe REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”)
https://developer.wordpress.org/rest-api/ responses. (76347)
Design Tools
Block Visibility: Add fetchpriority=auto to IMG tags in blocks with conditional viewport visibility to prevent potential erroneous high loading priority. (76302)
Experiments
Post Editor
Add experiment: Render the editor inspector with DataForm. (76244)
Fields: Add post content information field. (76309)
Fields: Add support for classic themes in template. (76441)
Template field: Match exactly the behavior of post template panel. (76596)
Site Editor
ExtensibleExtensibleThis is the ability to add additional functionality to the code. Plugins extend the WordPress core software. Site Editor: Make canvas previews full height. (76201)
Move site editor preview CSS to boot package. (76211)
Sync some post list changes with Extensible Site Editor. (76243)
Documentation
Add Client-Side Navigation documentation to manifest and table of contents. (76351)
Data: Update documentation for global ‘dispatch’ and ‘select’ methods. (76134)
Docs: Document controlled/uncontrolled prop naming conventions for @wordpress/ui. (76281)
Add [Package] UI label to PR labeler configuration. (76411)
Add support for linting annotations and other static analysis workflow improvements. (76120)
CI: Don’t build release notes during plugin build workflow for WP Core sync. (76398)
CI: Simplify strategy matrix in Build Gutenberg Plugin Zip workflow. (76435)
Check for IS_WORDPRESS_CORE before npm_package_config_IS_WORDPRESS_CORE. (76334)
ESLint: Add bare token check to no-unknown-ds-tokens. (76210)
Fix IS_GUTENBERG_PLUGIN env var override in build configuration. (76605)
Only run label enforcement workflow on open PRs. (76274)
Publish built Gutenberg plugin to the 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/ Container Registry. (75844)
Remove function_exists checks from PHP template. (76062)
Upgrade actionlint and run linting when composite actions are modified. (76503)
Scripts: Relax wordpress/env peer dependency to allow newer versions. (76192)
Ensure consistent, repeatable build results when inlining WASM files via wasmInlinePlugin. (76113)
You must be logged in to post a comment.