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.
Version 23.8 continues to build on recent releases, adding shareable URLs and an in-editor code diff view to visual 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., email notifications for users mentioned in a note, major List View performance improvements on large posts, and a smoother writing flow that renders a real default 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. in place of the empty-canvas appender.
Visual revisions: Shareable URLs and a code diff view
Visual revisions keep getting more capable. You can now link directly to a specific revision: opening a URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org with a revision parameter takes you straight to that revision in the editor, and the address bar stays up to date as you move through history so sharing the exact change you’re discussing is as simple as copying the URL. Toggle the code editor to see the diff in code. (79934, 80314)
Email notifications for mentions in notes
Collaboration in the editor took another step forward: when someone @-mentions you in a note, you now receive an email letting you know, written in your own language and linking to the editor where the conversation is happening. This completes the mentions feature whose autocomplete UIUIUser interface landed in a previous release. (79606)
Other notable highlights
The List View received a series of performance improvements that add up to a dramatically better experience on long posts. Opening it is faster thanks to a leaner rendering path that cuts most of its DOM nodes and skips a second render pass, expanding and collapsing sections triggers far fewer re-renders, and a freeze when selecting all blocks on large posts is gone. On a post with 1,000 paragraphs, “Select all” dropped from 16.8 seconds to 0.4 seconds. (81210, 80953, 80929, and others)
The empty canvas now renders a real default block instead of a lookalike appender, so what you see before typing is exactly what you get (81231). Along the same lines, a new block added next to an existing one now inherits its neighbor’s styling consistently, no matter how it was inserted (81250).
The experimental Playlist block became easier to work with: Audio blocks can transform into a Playlist and back, and you can select multiple audio files from the Media Library at once (80926). The Tabs block now shows each tab’s actual title in the Document Overview instead of a generic “Tab” label (81427) and supports Home and End keys for keyboard navigation (80912).
For developers, blocks can now declare their inner blocks template directly in registerBlockType() settings, applied synchronously at insertion (80027); @wordpress/element is importable in ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org 19 (80053); DataViews gained a time field type (80830) and configurable preview aspect ratios (79329); and @wordpress/ui now offers public Calendar and RangeCalendar components (81337).
Element: Make the package importable in React 19. (80053)
Interface: Let CSSCSSCascading Style Sheets. own the ComplementaryArea width and use AnimatePresence custom for exit. (81363)
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. Dashboard: Preserve widget chrome flex layout. (80570)
DataViews: Add time field type and control. (80830)
DataViews: Make grid and table item preview aspect ratio configurable. (79329)
IconButton: Improve keyboard shortcut 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). (80402)
Icons: Move the inline image icon into the library. (81271)
SearchableChipSelect: Add form primitive to wordpress/ui. (80779)
UI: Add Calendar and RangeCalendar, moved from components private APIs. (81337)
UI: Derive Base UI direction from WordPress i18ni18nInternationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.. (80399)
Editor: Migrate settings 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. to Tabs from wordpress/ui. (81054)
Notes: Display shortcut for form action buttons. (81064)
Visual revisions: Add a code diff view inside the editor. (80314)
Dashboard
Dashboard Widgets: Add icon and relevance to the widget action envelope. (81275)
Dashboard Widgets: Split action icons into wire and resolved forms. (81381)
Widget Dashboard: Host-tunable tile spacing via public custom properties. (81352)
Widgets: Carry a declarative icon through the widget pipeline. (80969)
Widgets Editor
Add ThemeProvider for adminadmin(and super admin) color schemes. (81173)
CustomizerCustomizerTool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. widgets: Add ThemeProvider for admin color schemes. (81174)
Global Styles
Migrate font size presets to the shared preset layer. (79811)
Migrate shadows presets to use the preset management layer. (79812)
Bug Fixes
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.coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. fixes for finalize route. (81465)
Boot: Adjust specificity of the image reset styles so components can size their own images. (80845)
Fix end-to-end tests that break when shard rebalancing changes their neighbors. (81117)
Fix: Add missing target to the webpack dev server proxy configuration. (81141)
Interface: Increase footer breadcrumb height to prevent focus ring clipping. (81145)
Views: Honor all developer-defined view configuration overrides. (80832)
Interface: Stop the secondary sidebar animating into place on page load. (81362)
Site editor: Fix sidebar item hover color. (81317)
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. schema: Allow responsive states on block style variations. (81309)
Dashboard Widgets: Remove the Hello Dolly download action. (81272)
Decode HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities in Identity fields. (81269)
Make downloadable block item labels translatable. (81237)
Edit Widgets: Fix 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. toolbar button focus ring. (81176)
Fix template modified and date return value for file templates. (80733)
Block Editor
Background: Fix the legacy gradient UI where a gradient cannot be selected. (81056)
Block Inspector: Disable the ‘Edit original’ button when the entity ID is missing. (81288)
Copy: Preserve the block when its entire text is selected. (80994)
Disclose the nested block count of a multi selection. (80745)
Fix Escape from the block toolbar and stop redundant last focus dispatches. (81319)
Fix empty list block with anchor persisting after backspace deletion. (77000)
Fix overflowing block UI being covered after a block is moved. (80824)
Link Control: Restore the preview title underline. (81083)
Make the Group action wrap blocks with a group transform. (80891)
PanelColorSettings: Restore the missing space below the panel header. (81155)
Quote & List v2: Deleting empty list item should delete list block. (42503)
Return false from isBlockSelected when there is no client ID. (81212)
Style states: Fix state deselection when selecting the already selected block. (81277)
URLInput: Skip search requests while an IME composition is in progress. (80602)
Writing flow: Forward delete an empty paragraph without breaking apart the next block. (80813)
Block Library
Clarify the GIF Video variation description. (81181)
Fix: Tabs block: Start with empty tab labels with placeholders. (81009, 81429)
Media: Reword the HEIC upload error and keep it up until dismissed. (81130)
Navigation Overlay Close: Inherit typography and color from the overlay. (80751)
Playlist: Improve audio conversion and track selection. (80926)
Playlist: Normalize Waveform Player configuration handling. (81342)
Post Author Biography: Fix horizontal overflow with long unbroken text. (81018)
Remove the editableRoot opt-in from the paragraph block. (81184)
Video: Hide settings for the GIF variation. (81142)
Fix: Add optional chaining for empty reusable block (#81165). (81177)
Components
Button: Suppress UA focus ring when focused and pressed. (81113)
DataViews: Fix array field type validation for empty values. (81378)
DataViews: Fix the between datefilterFilterFilters 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. losing a manually typed date on blur. (81150)
DataViews: Pass only eligible items to a bulk action callback. (81198)
Scope breakpoint media queries to screen so printing does not look like a resize. (81367)
Theme: Omit color properties when neither provided nor inherited. (80600)
Admin UI: Reset the wp-admin li margin that misaligns Breadcrumbs. (81134)
Post Editor
Add ThemeProvider for admin color schemes. (81112)
DataViews: Move the rich text control into the editor package. (81430)
Footnotes: Guard against 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. post 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. values. (81201)
RTC: Remove excess autosave notices (when not useful). (80539)
Render viewport state element styles in the editor. (81307)
Collaboration
Notes: Fix the mention notification email composition. (81187)
RTC: Disable custom autosave controller when RTC is disabled. (80769)
Accessibility
Fix: New route-based admin pages are empty when no JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.. (80628)
Interface: Remove incorrect aria-expanded from pin-to-toolbar button. (79874)
wp-build: Render the no-JS fallback in the generated page templates. (81365)
Block Editor
Block Mover: Add the keyboard shortcut to the buttons’ spoken description. (81380)
Components
Menu: Restore Modal focus return when menu items close. (81164)
Block Library
Tabs: Support Home and End keys for keyboard navigation. (80912)
List View: Collapse off-window placeholder rows into a single spacer row. (80953)
List View: Narrow the dependants of the memoized List View tree. (81129)
List View: Only subscribe to the block subtree for rows that can show images. (81076)
List View: Reduce per-row store subscriptions. (81136)
List View: Speed up opening by removing a forced style recalculation. (80929)
List View: Speed up opening by removing a second render pass. (80935)
List View: Pass only minimal required data to sub-tree branches. (81111)
List View: Split the context and drop dead props to cut re-renders on expand and collapse. (81159)
Documentation
Agents: Add a defensive data design skill and route to the copy guide. (81131)
Block JSON schema & PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher-only blocks: Add autoRegister support. (80173)
Block Library: Document security patchpatchA special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. releases. (81295)
Changed Build Process Link and remove unused tags. (81360)
Docs: Explain how the theme.json schema fixtures work. (81263)
Docs: Fix broken Figma links on the design resources page. (81166)
Docs: Fix broken link to the Node.js debugging guide. (81398)
Docs: Fix broken links to the removed JavaScriptJavaScriptJavaScript 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 build setup guide. (81232)
Docs: Fix typo in block file structure guide. (81348)
Docs: Remove breakpoint-only element style example from global styles guide. (81308)
Docs: Remove dependency group import guidance. (81245)
Docs: Use gutenberg instead of Gutenberg in package name. (81051)
Keycodes: Make withIgnoreIMEEvents a public 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.. (81343)
Migrate Spinner styles from Emotion to SCSS module. (80511)
New kebab-case package: Extract utility and migrate private API calls. (81294)
Theme: Colocate 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. tests with implementations. (81247)
Types: Replace remaining @ts-expect-error suppressions with proper typing. (81200)
UI: Upgrade React DayPicker to version 10. (81439)
Spacing Sizes Control: Make the control label translatable independently of the input aria label. (81240)
URLInput: Simplify keyboard handling and fix arrow keys with a text selection. (80780)
Block Library
Cover: Avoid passing null as the 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. size. (81444)
List View: Replace expand/collapse callbacks with reducer dispatch. (81138)
Query: Guard non-scalar queryId to avoid fatal in enhanced pagination. (80724)
Revise CODEOWNERS for package ownership (removing nerrad). (81175)
ESLint: Ban @ts-ignore in favour of @ts-expect-error. (81148)
Testing
Automated Testing: Add Storybook component documentation 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. testing. (80655)
CI: Add job timeouts to E2E, static checks, bundle size, and create block. (80801)
CI: Build once and reuse the build across end-to-end tests shards. (81031)
CI: Cache the system packages Playwright downloads for WebKit. (80846)
Fix: TrunktrunkA directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision. end-to-end failures caused by the navigation spec leaving plain permalinks. (81238)
Storybook e2e: Add small, compact and icon examples to button matrix. (80793)
Test: Add Vitest migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. routing guardrails. (81036)
Test: Add private Vitest configuration and migrate a pilot test. (81037)
Tests: Replace page-level selectors with locators in end-to-end specs. (81053)
You must be logged in to post a comment.