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 comes with a new place for notes: they now float in a margin next to the content, so collaborating no longer means closing the 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.. Adding a categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging., a 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.), or a post to a 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. now takes a single search, and the Gallery 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. can sort its images and tint all of them with one duotone.
The design tools consistency work started in 24.1 continues with about 80 more PRs, and the release also includes more than 60 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. fixes plus some 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) and performance improvements. For developers, ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org 19 is now enabled by default, and feedback on it is welcome and needed.
Notes move into a canvas margin beside the content
Until now, floating notes and the Settings sidebar couldn’t be open at the same time, and the notes column took space away from the content. In Gutenberg 24.2, notes live in a margin the editor reserves next to the canvas, so they stay visible while you change blocks or post settings (#83786).
When the canvas gets narrower, each thread shrinks to its author’s 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., and clicking the avatar expands the thread again. A new Notes submenu in the Options menu expands, minimizes, or hides the notes, and the editor remembers your choice (#83768).
Other changes make working with notes safer: deleting a note now shows an Undo action (#83988), a note or reply you haven’t sent is kept when you select another block (#84110), and the notes scroll together with the canvas (#83852).
One search for every link in a navigation menu
Adding anything other than a page to a navigation menu used to mean knowing the right block first, like Category Link or Tag Link, and then searching inside it. Now the link search of the Navigation block looks through every type of content at once and shows the type beside each result, so pages, posts, categories, and tags are one search away (#83408). Switching an existing link to another type, for example from a category to a page, also no longer means deleting it and adding it again.
The same search lists the blocks a navigation menu accepts, so typing “Home” finds the Home Link block (#83652). Results are now ranked by type too, with posts and pages before categories, tags, and media, and nothing is discarded when several types are searched together. That ranking applies to every link search in the editor, so on large sites, tags and attachments no longer push the post you’re looking for out of the results (#83407).
Sort any gallery and tint all of its images
The Order by control of the Gallery block now works for galleries of hand-picked images too. Choosing Newest to oldest, Oldest to newest, A → Z, or Z → A sorts the images once, and you can still drag them into any other order afterwards. Random moved into the same control and shuffles the images on the front end each time the page loads (#83438).
Galleries also gain duotone support. One 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. now tints every image in a gallery, either from the block settings or, for every gallery on the site, from Global Styles. A duotone set on a single image keeps priority over the one set on the gallery (#83978).
Design tools reach even more blocks
The design tools consistency work continues with about 80 more PRs. Some highlights:
Minimum width and height controls, previously available on five blocks, now reach 40, including Buttons, Columns, Heading, Media & Text, and Post Title.
Shadows reach ten more blocks, including Paragraph, List, Buttons, Social Icons, and Gallery.
Duotone reaches Gallery, Media & Text, and Video, so a video can now match the tint of the images around it (#83979, #83981).
Background images and gradients reach Button, List, List Item, and Media & Text.
Line indent reaches Heading, Post Author Biography, and Poetry, which also gains text columns and fit text.
Every block and support is listed in the changelog.
React 19 is now on by default and some Interactivity 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. enhacements
Gutenberg 24.2 turns the React 19 experiment on by default (#83784). Sites now load React 19 for the react and react-dom scripts, unless a theme or 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. known to have compatibility issues is active, so folks using one of those keep React 18. That list started from the issues observed on WordPress.comWordPress.comAn online implementation of WordPress code that lets you immediately access a new WordPress environment to publish your content. WordPress.com is a private company owned by Automattic that hosts the largest multisite in the world. This is arguably the best place to start blogging if you have never touched WordPress before. https://wordpress.com/ and was extended for this release (#84607).
If you maintain a plugin or theme that uses React, please test it with Gutenberg 24.2 and report any issue you find. If something breaks on a site, turn React 19 off under Gutenberg > Experiments. To set the inert attribute in a way that works with both React 18 and React 19, use the new @wordpress/react-inert-value package (#83987).
The Interactivity API also gets two additions. The new data-wp-html directive renders HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. from the store, the same way data-wp-text renders text, and it only accepts values marked as trusted with asDangerousHTML() (#83092):
import { asDangerousHTML, store } from '@wordpress/interactivity';
store( 'myPlugin', {
state: {
get description() {
return asDangerousHTML(
'<p>A <strong>formatted</strong> description.</p>'
);
},
},
} );
The router now exposes state.navigating and state.initiator, so a block knows when a client-side navigation is in progress and which block started it (#83280).
Other notable highlights
Restore original image: after cropping an image, the Image editor offers Restore original image in its More options menu, so going back to the uncropped image no longer needs a trip to the Media Library (#81805).
Button links: the link popover of the Button block opens only when you click Link or press the keyboard shortcut, instead of every time you select a linked button (#30166).
Columns: the column count slider is gone. Add a column with the plus button next to the Columns button in the block toolbar, and remove one like any other block (#83262).
Options menu: the View group now has Appearance, Notes, and Panels submenus. Sidebars added by plugins moved into Panels, and their pinned toolbar buttons stay where they were (#82976).
Post author: the author field is always searchable, and it searches users on the server, so the right person shows up on sites with many users (#83323).
Navigation Link states: Global Styles can style the hover, focus, focus-visible, and active states of navigation links, starting with typography (#83451).
Icon search: the icon library also matches keywords, so “hamburger” finds the Menu icon and “gear” finds Settings (#82367).
Reduced motion: the Video and Cover blocks don’t autoplay in the editor when reduced motion is preferred, and Cover background embeds don’t autoplay on the front end either (#83337, #83452).
Inserter performance: opening the inserter blocks the main thread for less time, and selecting another block while it’s open no longer re-renders every item in it (#83437, #83284).
New post slugs: a new post could be published with the auto-draft slug after clicking into the Slug field. That no longer happens (#83518).
Interactivity API Router: Add reactive navigation lifecycle and initiator API. (83280)
Enhancements
Dashboard Widgets: Let a mounted 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. declare actions at runtime. (83877)
Avatar: Explain that avatars use the GravatarGravatarIs an acronym for Globally Recognized Avatar. It is the avatar system managed by WordPress.com, and used within the WordPress software.
https://gravatar.com service. (83567)
Button: Add background image, size, and gradient support. (83950)
Button: Only open the link popover on explicit user action. (30166)
Buttons: Add minimum width and height support. (83894)
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.: Add minimum width and height support. (83578)
Post 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.: Add border style support. (83956)
Post Terms: Add minimum width and height support. (83586)
Post Time to Read: Add minimum width and height support. (83598)
Post Title: Add minimum width and height support. (83600)
Preformatted: Add minimum width and height support. (83587)
Block Supports: Add background-clip block support infrastructure. (77141)
Block Supports: Ensure position type is a string. (83500)
Block Switcher: Show design system focus ring on pattern previews. (83933)
Fit text: Size each block instance in a 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 independently. (83985)
Fix translator comments for block count announcements. (83555)
Honour background skip serialization in the editor. (83943)
Inserter: Use design system focus ring for previews. (83126)
Notes: Move floating notes into a canvas margin. (83786)
Bug Fixes
Connectors: Keep a stored API key read-only when it can’t be verified. (83889)
Date: Drop a trailing backslash instead of formatting it as “undefined”. (81528)
Experiments: Don’t invalidate saved option with a legacy key. (84619)
useServerSideRender: Parse messages from caught errors. (83365)
Components
BorderControl: Remove % from the border width units. (83492)
Checkbox: Prevent rounded themes from making checkboxes circular. (83526)
CollapsibleCard: Scope the 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. focus ring to its own trigger. (81314)
FocalPointPicker: End a drag released over the editor canvas. (83348)
Menu: Disable triggers instead of roots in consumers. (83791)
PaletteEdit: Stop changing the slug when renaming a preset. (83750)
Popover: Close non-modal popovers on 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. interaction. (83509)
Popover: Drop the will-change hint once the popover stops moving. (77359)
RadioControl: Keep a 16px visual with a larger hit target. (83840)
SandBox: Fix embed previews that require a referrer in Safari. (84014)
TextControl: Use design system colors when disabled. (83307)
Theme: Fix virtual modules, root styles, and seed validation. (83355)
Theme: Improve accessibility, API documentation, and compatibility checks. (83358)
Theme: Make 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 token fallback transforms syntax-aware. (83356)
Theme: Preserve global token references in Lightning CSS. (83359)
UI: Align selection popup checkmarks with the first label line. (82942)
UI: Preserve Autocomplete item type inference. (84095)
Columns: Allow dropping a column at the outer edges. (83274)
Fix ‘Manage allowed blocks’ not shown when it’s the only ‘Advanced’ control. (84067)
Fix style / nested attribute overwrite during multi-selection. (80070)
Paste: Give each pasted data-URI image unique filename to avoid upload collisions. (79480)
Paste: Replace non-breaking spaces at the edges of text with regular spaces. (83464)
Rich text: Fix iOSiOSThe operating system used on iPhones and iPads. double tap selection, preventing focus capture under editable host. (81042)
Show whitespace changes in the Resolve Block diff. (82397)
Style states: Fix exception when there’s no selected block. (84140)
Typography: List only the weights inside a variable font’s range. (83128)
Block Library
Group, Cover: Track drop zone element in state. (83756)
Image: Fix 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. CSS url() value in circle-mask style. (82333)
Image: Fix lightbox using thumbnail aspect ratio instead of original image ratio. (79058)
Image: Fix the lightbox overlay becoming unusable (can’t close) when it isn’t a direct child of <body>. (83480)
Image: Improve specificity of the lightbox button selector. (70800)
Math: Store cell alignment in the MathML and polyfill alignment and overlines in Chromium. (83164)
Post Featured Image: Fix crash when isLink is enabled. (81584)
Tag Cloud: Update styles and add !important. (70224)
Template Part: Fall back to rendering a template part from the theme file if the db version is unavailable. (83809)
Collaboration
Notes: Delete permanently when the trashTrashTrash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days. is disabled. (84102)
Notes: Draw the canvas divider from body so it uses the theme text color. (84158)
Notes: Keep anchor writes out of undo history. (84079)
Notes: Preserve unsent note and reply drafts. (84110)
Notes: Reset paragraph top margin in floating notes. (84101)
Notes: Restore child notes trashed along with their parent note. (84100)
Notes: Restrict menu actions for resolution notes and resolved threads. (73243)
Notes: Scroll floating notes with the canvas. (83852)
Media
Media Editor: Fix pan drag flooding undo history after wheel zoom. (83558)
Media Editor: Stop the crop pixel snap from recording undo history. (83571)
MediaEdit: Show a checkerboard background behind image previews. (83846)
MediaUpload: Fix console error when reopening Gallery media library. (76749)
MediaUpload: Fix the gallery prop ignoring allowedTypes. (78257)
Data Layer
CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Rank link suggestions by type, and stop discarding merged results. (83407)
RTC: Fix undo breaking for non-synced entities. (83888)
DataViews
Fields: Fix AuthorView for users who can’t edit users. (83498)
Measure the container as the data view mounts to avoid a single column flash. (83752)
Post Editor
Editor: Fix new posts being published with the auto-draft slug. (83518)
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/: Add action-trash link to posts and comments. (84045)
Site Editor
ExtensibleExtensibleThis is the ability to add additional functionality to the code. Plugins extend the WordPress core software. Site Editor: Pass custom block categories to the blocks store. (83762)
Global Styles: Fix popover position in Styles screen. (84048)
DataViews: Fix README to describe sort() as receiving field values, not items. (83483)
Design System: Clarify tooltip labeling and UI review guidance. (83898)
Docs: Clarify wordpress/ui icon color requirements. (83564)
Docs: Describe isolated dependencies for agents. (84141)
Docs: Fix published Vitest migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies.-guide links. (83449)
Docs: Note that block attributes and global styles values are untrusted at render time. (83473)
Docs: Recommend UI Tabs for switching views. (83516)
Docs: Refine design system agent guidance. (84007)
Docs: Remove CheckboxControl heading from InspectorControls example. (83844)
Docs: Update deprecation testing guidance for shared reset. (83989)
Env: Change the core branchbranchA directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". from 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. to master in the documentation. (83566)
Media Editor: Remove initial state seeding from the session. (83893)
Media Utils: Add MediaEdit as a private API. (84046)
Return 0 from the edit root lookup when there is no edit root. (84096)
Block Library
Breadcrumbs: Fix typo in aria label translationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. context. (84112)
Playlist: Replace the waveform player 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. with its no-autoinit entry. (83132)
Global Styles: Ignore 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. values of unexpected types. (84523)
Tools
PR 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.: Move the props list into the shared comment. (82302)
Props Bot: Skip bare reviews that duplicate their review comment runs. (84076)
Testing
Block editor: Isolate mutable test fixtures. (83098)
Block editor: Wait for final keyboard link suggestions. (83489)
Block library: Isolate order-sensitive test interactions. (83101)
Blocks: Isolate registration state in tests. (83099)
Build Tools: Fix flaky ESM package types test timeout. (84068)
Changelog validator: Ignore Markdown, Storybook, and configuration files. (83618)
CI: Check CHANGELOG presence for published tooling and configuration packages. (83577)
Coding standards: Skip anonymous class methods in block library function name sniffsniffA module for PHP Code Sniffer that analyzes code for a specific problem. Multiple stiffs are combined to create a PHPCS standard. The term is named because it detects code smells, similar to how a dog would "sniff" out food.. (83900)
Developer tools: Simplify editor setup and add Zed settings. (84143)
Fix check type declarations errors when running npm run dev. (84070)
Ignore composer vendor files from top-level gitignore. (22283)
Link upstream fixes for Storybook and Vitest warnings. (83632)
Release Tooling: Read the npm v12 JSON output shapes. (84075)
Release: Rewrite SVNSVNSubversion, the popular version control system (VCS) by the Apache project, used by WordPress to manage changes to its codebase. publication scripts in Node.js. (84034)
Over the last few days, there have been a few actions taken on TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. and in the WordPress 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/ organization that are aimed at clarifying who is looking after areas of the project, and making it easier for contributors to do their work.
Maintainer Cleanup
The lists of CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Component Maintainers and Core Bug GardenersBug GardenerA contributor who has been given advanced privileges in Trac. have been updated to remove contributors where they have either moved on from contributing to the project, have not contributed regularly to a given component, or have not connected their GitHub and WordPress.org accounts. If you feel that you were removed in error, please DM @desrosj or @jorbin in SlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ or comment below and you can be re-added.
As always, anyone is welcome to be a Component Maintainer or Bug Gardener. If you are interested in contributing to the project in these ways, feel free to volunteer in the comments below, share your interest during a Core Dev Chat or in #core, or stop by a component meeting in Slack if the one you’re interested in holds them regularly. Additionally, please ensure your GitHub and WordPress.org accounts are connected.
WordPress Organization GitHub Teams
The following teams have been added to the WordPress/wordpress-develop repository with triagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors.-level access:
Gutenberg: Contributors with multiple PRs merged to 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/. This is roughly the Gutenberg equivalent of Trac bug gardeners.
Members of the WordPress Core PR Triage team have also been invited to the new WordPress Core Bug Gardeners. Since this group’s permissions and purpose align with the responsibilities of being a Bug GardenerBug GardenerA contributor who has been given advanced privileges in Trac., the old team was unnecessary.
Assigning triage-level access will allow team members to request code reviews from other members of the WordPress organization, assign labels, and generally help garden pull requests.
Efforts have been made to ensure all existing component maintainers and bug gardeners are imported to these groups, but some contributors may have been missed. If you received an invitation, it must be accepted within 7 days. Please comment on this post if you believe you were accidentally missed.
In recent years, the CI load across coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. WordPress 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/ repos increased as the project evolved. This is normal for an active project.
But, the load can be especially high when running the full PHPUnit matrix at once on many PRs, such as during a release with many 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. branches. Cases like this mean the number of jobs can strain the capacity of the system.
Ahead of 7.1, we’ve landed a round of trims and reliability fixes aimed at increasing capacity and running leaner while ensuring quality checks still run.
This CI work builds on the test-suite optimization work from many contributors in the past.
Two key changes
Trimmed the PHPUnit matrix to boundary PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher versions (#12719 on 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., #12720 for 7.0). Full PHP coverage kept, redundant database combinations dropped. Per run: ~52% fewer jobs and ~54% fewer job-minutes.
Fetch the 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/ build once per run (#12701) instead of once per job, plus bounded retries on Docker image pulls (#12703). Runs needing a rerun to go green roughly halved, from ~68% to ~36%.
Source: measured per run from the GitHub Actions 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. (job counts and durations, and rerun counts) across comparable runs before / after the changes.
Pilot a dedicated larger-runner pool for use during release windows to help with concurrency issues (more on that in a future update).
Note: The PHPUnit tests themselves could be further tuned. The trims above cut job count, not job duration—so we could give more attention to the tests themselves to find more efficiency.
“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 introduces responsive global 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. styles with states, brings further improvements to the experimental Content Types management screens, and adds a wave of 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) refinements to the 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. interface. The @wordpress/ui package gains a new SelectControl and motion design tokens, while modals now render as bottom sheets on mobile. Other changes include 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.-to-block transforms, Grid component enhancements, Connectors refinements, and continued Real-time Collaboration reliability fixes.
You can now customize how individual blocks look on different screen sizes, right from Global Styles.
Head to Global Styles → Blocks, and you’ll find a new States dropdown on each block with Tablet and Mobile options. Select a state, make your style changes, and they’ll apply only to that breakpoint.
This allows theme developers and site builders to define different block styles depending on viewport size and interaction state, paving the way for more adaptive designs managed entirely through the editor. (#77513)
Add motion design tokens (duration and easing) to wordpress/theme
Adds motion design tokens to @wordpress/theme — a set of duration and easing curve tokens for standardizing animation timing across components — and adopts them in Dialog, Modal, and Menu/DropdownMenu.
Modal renders as a bottom sheet on mobile
The Modal component now adapts to narrow viewports by rendering as a bottom sheet, providing a more touch-friendly experience on phones and small tablets. (#77956)
With the new position, important actions are easier to reach with one hand.
Other Notable Highlights
Content Types management improvements (experimental): The experimental Content Types screens are extended with several refinements: 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. visibility fields let you control where taxonomies appear (#77835), slugs are now auto-filled from the singular label (#77938), and new term/post type count fields provide an at-a-glance view of content usage (#78157). Additional quality-of-life actions—duplicate, view, and quick-edit—round out the management experience.
SelectControl added to @wordpress/ui. A new SelectControl primitive joins the design-system package, offering a consistent select input across the editor and adminadmin(and super admin) surfaces. (#77809)
Shortcode-to-block transforms. The Embed block now recognizes [ embed ] shortcodes (#77937), and the Shortcode block offers block-specific transforms when the text matches a registered shortcode (#77944).
Grid component improvements. The @wordpress/grid package gains a renderResizeHandle render prop (#77811), an edit-mode overlay for DashboardGrid and DashboardLanes (#78199), document cursor lock during resize (#77813), and resize-runaway prevention near the viewport edge (#77854).
Revisions accessibility improvements. Diff markers now enforce a 24×24 px minimum target size per WCAGWCAGWCAG is an acronym for Web Content Accessibility Guidelines. These guidelines are helping make sure the internet is accessible to all people no matter how they would need to access the internet (screen-reader, keyboard only, etc) https://www.w3.org/TR/WCAG21/. 2.5.8 (#77671), use diagonal stripe patterns to avoid color-only distinction (#77904), and display tooltips (#77690). The revisions slider now paginates by 100 per page for better performance (#77200).
Real-time Collaboration reliability fixes. Title divergence between users on page refresh has been resolved (#77666), a race condition on room creation that could split the update log is fixed (#77675), and find_canonical_storage_post_id() no longer returns null incorrectly (#78053).
Connectors refinements.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. registration now supports an is_active callback (#77897), settings are only auto-registered when the referenced plugin is actually installed and active (#77273), and the Connectors page works on read-only file systems (#77521).
Changelog
Features
Block Editor
Try responsive global block styles with states. (77513)
Enhance the Connectors page on the read-only file system. (77521)
Enhancements
Components
Add SelectControl component to wordpress/ui. (77809)
Add motion design tokens (duration and easing) to wordpress/theme. (76097)
Button: Align link variant underline with Link and ExternalLink. (77842)
docgen: Automatic documentation handle for TypeScript overloads. (77558)
ui/Tooltip, ui/IconButton: Add positioner slot 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.. (78089)
Shortcode: Offer block-specific transforms when text matches a registered shortcode. (77944)
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.: Add context to table 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./footer label. (78007)
Block Editor
Fix the target block for copying direct insert block attributes. (77877)
Make Block Inserter search input sticky while scrolling. (77698)
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. Types: Bootstrap registry into the dashboard client. (77917)
Widget Types: Replace bootstrap with resolver. (77847)
npm Packages
Build: Add widgets/ folder support to wordpress/build. (77347)
Taxonomy edit route: Declare @wordpress/base-styles as dependency. (77901)
Bug Fixes
Components
ColorPalette: Fix duplicate-key warnings and incorrect selection with identical color values. (78004)
Fix: Only auto-register settings if the plugin the connector references is installed and active. (77273)
Increase the right padding of the callout for the mobile layout. (78126)
Block Library
Embed: Tighten raw URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org transform isMatch. (78021)
Fix: The buttons block shows the inserter picker when multiple allowed blocks are registered. (77858)
Fix: Shortcode block does not render in Navigation Overlay. (77511)
Post Editor
Editor: Paginate revisions slider by 100 per page. (77200)
Notes: Keep tall floating threads scrollable on short content. (77821)
defaultRenderingMode value not respected when changed using block_editor_settings_all. (77870)
Site Editor: Preserve non-global editor styles in pattern previews. (77957)
Preserve the leading number when pasting single-line text like dates. (77949)
Add aria-label to the Revisions button in the Post Summary 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.. (78140)
Widget Types: REST endpoint and coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.-data entity. (77987)
Image editor: Suppress image editor undo/redo while a crop interaction is active. (77930)
Image editor: Update sidebar aspect ratio and resize controls. (78046)
Media Editor Modal: Improve image cropper interactions (undo/redo, pan, zoom, rotation), expand keyboard shortcuts and accessibility (focus borders, landmark regions, panel headings), and fix empty metadata fields. (77782, 77826, 77863, 77871, 77875, 77878, 77898, 77899, 78078, 78189). This is an MVPMinimum Viable Product"A minimum viable product (MVP) is a product with just enough features to satisfy early customers, and to provide feedback for future product development." - WikiPedia version, and it’s ready for testing here: https://make.wordpress.org/core/2026/05/21/media-editor-modal-call-for-testing/
Media editor: Replace fine-rotation slider with RotationRuler. (77906)
Grid: Add a warning about being under development. (78022)
Backend default layout 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.. (78040)
Add Classic block migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. notice. (78090)
Image block: Try syncing updated metadata fields (alt and caption) from the media editor. (78139)
Media Editor Experiment: Add a route, based on the media editor modal, and refactor the modal components. (77994)
Documentation
Block Editor: Clarify logic for ‘directInsert’ inner blocks setting. (77873)
Design System: Add missing packages to Storybook introduction. (77504)
Docs: Shortcode transforms with wrapped content + rawHandler JSDoc. (78003)
Document how to ignore VSCode Workspace Settings. (77608)
RTC: Clarify WPBlockSelection type and link to duplicates in other packages. (77862)
Revise README for FocalPointPicker component to use object-position. (77722)
UI: Add component status notes to Storybook. (77988)
UI: Add missing Portal subcomponents to Storybook. (78108)
UI: Improve documentation for compound exports. (78212)
Update nvm installation script to version 0.40.4. (77996)
Update references to the default branchbranchA directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch".. (77606)
Code Quality
Add a 1-day minimum release age to npm installs. (78191)
Script Modules: Guard setAccessible() calls behind the PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher < 8.1 check. (78137)
Inline z-index values across Block Manager, 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. boxes, pattern chooser, sticky search, layout, and Popover, and remove local z-index helper entries. (77753, 77759, 77772, 77806, 77807, 77808, 78180, 78181)
Post Editor
Editor: Refactor ‘PostPublishPanel’ into a function component. (78083)
Edit Post: Fix suppressed errors in the Layout component. (77940)
Notes: Separate intent from mechanics in openTheSidebar. (78039)
Fix the flaky Menu space key 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.. (77972)
Fonts: Move admin menu compat from experimental to WordPress-7.0. (78227)
Block Editor
Add translationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. context for “Exit pattern”. (78158)
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. changes in core. (78103)
Refactor client-side style states to use nodes. (78000)
Refactor accordion to use CollapsibleCard. (77903)
Classic Block: Use onReplace prop for migration actions. (78113)
Data Layer
ESLint: Replace eslint-plugin-react-compiler with eslint-plugin-react-hooks. (69962)
RTC: Add 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. tests for the data corruption 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. due to the cursor scope issue. (77662)
Welcome back to a new issue of Week in CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between September 4 and October 9, 2023.
Please note that exceptionally and because of personal vacations, this Week in Core issue covers 4 weeks 😊
269 commits
337 contributors
295 tickets created
43 tickets reopened
277 tickets closed
TicketticketCreated for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.
Welcome back the latest issue of Week in CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress., covering changes [40239-40291]. Here are the highlights:
53 commits
22 contributors
101 tickets created
12 tickets reopened
48 tickets closed
TicketticketCreated for both bug reports and feature development on the bug tracker. numbers based on trac timeline for the period above. The following is a summary of commits, organized by component.
Code Changes
Administration
List Tables: After [38703], [38706], and [40118], adjust the jQuery selector to make the selection of a range of checkboxes work again. [40268]#40056
Build/Test Tools
Tests: Use 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. URLs for wordpress.comWordPress.comAn online implementation of WordPress code that lets you immediately access a new WordPress environment to publish your content. WordPress.com is a private company owned by Automattic that hosts the largest multisite in the world. This is arguably the best place to start blogging if you have never touched WordPress before. https://wordpress.com/ assets in Tests_HTTP_Functions and Tests_Image_Functions. [40289]#31091
Update .travis.yml to include latest improvements from 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.. [40288]#35105, #40100, #30755, #36291, #36490
Switch to Node 0.12.18 when testing the 4.2 branchbranchA directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch".. [40285]#35105
Build/Test tools: Get Travis builds working on HHVM again. [40274]#40100
Build/Test tools: Don’t install PHPUnit on the travis:js builds. Saves a couple of minutes of build time. [40273]#40100
Build/Test tools: Switch to Node 4.7.2 when testing the 4.5 branch. [40266]#35105
Build/Test tools: Don’t override the wp_set_auth_cookie() and wp_clear_auth_cookie() functions. [40265]#39367
Docs: Remove the duplicate hook documentation for the newly introduced send_auth_cookiesfilterFilterFilters 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.. [40264]#39367
On Travis CI install and use the node version which is specified in package.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.. [40258]#35105
Build/Test tools: Account for PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher 5.2 when using Composer to install PHPUnit. [40257]#39822, #40086
Build/Test tools: Explicitly use PHPUnit 5.7 for the PHP 7 builds on Travis. [40255]#39822, #40086
Build/Test tools: Remove the unnecessary clone of the twentysixteen repo. [40253]#31550, #40066
Twenty Seventeen: Correct grammar in ‘Page Layout’ control description. [40270]#40107
Canonical
Strip trailing punctuation from permalinks. [40256]#20383
Date/Time
Docs: Correct @return type for calendar_week_mod(). [40254]#40077
Media
Improve wording of the AYS warning when permanently deleting uploads, tags, posts. [40283]#39712
Misc
Build/Test tools: Don’t attempt to report PHP’s extensions when running HHVM jobs on Travis. It doesn’t work. [40267] #
Build/test tools: Add some more debugging to Travis and bring the format of the Xdebug fix inline with branches. [40259] #
Updates for 4.6. Merge of and to the 4.6 branch.
Query
Tests: Use assertSame() for WP_Query ‘orderby’ tests. [40278]#38034
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/
Welcome to the Week in CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. — Week Four, with super-exciting news from around WordPress-land, and Core changes and updates for Sept. 13–21, 2015 (commits [34093]–[34361]). This week’s core contributorsCore ContributorsCore 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 number 106! I’m especially jazzed about the number of new names on the list, and want to thank everyone for your effort this week.
News you can use
The WP 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/ team submitted a proposal to merge 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. into core, with a two-phase integration plan. The merge proposal blog post also does a nice job of presenting the history of the plugin and some use cases.
MultisitemultisiteUsed to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site is making some pretty big changes, including the addition of the WP_Network class. Check out this blog post, which outlines some of the changes and a roadmap for future updates for 4.4.
Interested in the user-focused part of WordPress? Of course you are! Join in the conversation about “Potential UI/UX projects in core.”
Code changes
Here are some highlights from the 268 change sets published to TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.; the complete report is available online in plain-text format for a bit more in-depth coverage.
Welcome to the Week in CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress., with updates from weeks 2 & 3: Aug. 31 – Sept. 12, 2015, changesets [33821]–[34092].
It’s been a busy couple of weeks in Core, with almost too many changes to count (for the record, this one covers 271 commits!). I’m going to keep this update shorter than usual and highlight some of the bigger changes.
If you’re interested in helping write this weekly post, pingPingThe act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.”@morganestes in #core-weekly-update on Slack.
Here’s some highlights of recent changes in core, along with some future plans and ongoing initiatives. Remember, Core moves pretty fast. If you don’t stop and look around once in a while, you could miss it.
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./2 is coming! Here’s a list of tickets that need attention to get WordPress ready.
As described in this post by @johnbillion, the show_ui flag for post types now gets fully honored. See #33763 for the ticketticketCreated for both bug reports and feature development on the bug tracker. discussion.
A new helper function, wp_validate_action( $action = '' ), was introduced in [34059] and is used throughout adminadmin(and super admin) instead of directly accessing $_REQUEST['action'].
A new file, wp-admin/includes/noop.php, was created to load all of the noop functions for load-script|styles.php and is only loaded by those files. DRYs in the process. [34037]#33813
Schema change introduced in [34030] to increase the length of wp_options.option_name to 191 chars. #13310
Implement a priority system for Help Tabs to add them at specific positions. [33985]#19828
MultisitemultisiteUsed to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site: Don’t allow sites to be created with the following reserved slugs: wp-admin, wp-content, wp-includes[33952]#33615
Updated recommendations for minimum versions of PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher (5.6) and 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 (5.5), with a special note that Oracle only actively supports MySQL for 5 years after a General Availability release. [33937][33946]
For the full report, visit https://core.trac.wordpress.org/log/?verbose=on&format=changelog&rev=34092&stop_rev=33821&limit=400&mode=stop_on_copy.
Howdy! Sorry, I dropped the ball last week so this week’s Weekly Roundup is a double issue — it covers April 4, 2015 [32003] to April 18, 2015 [32140].
This week marks the release of RC1, which is the first release that many 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. authors and betaBetaA 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. testers will test heavily. If you don’t already, now is a good time to check out the Alpha/Beta forums for any issues that crop up during this testing cycle.
We’re only days away from the release of 4.2; let’s finish strong! 🏃👏 Here’s the rundown of recent changes:
TinyMCE
Update to 4.1.9+. Changes:
Fixed 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. where extra empty paragraphs would get deleted in WebKit/Blink due to recent Quriks fix.
Fixed bug where the editor wouldn’t work properly on IE 12 due to some required browser sniffing.
Fixed bug where formatting shortcut keys where interfering with Mac OS X screenshot keys. [32058]#31895
Disable the wp-autoresize plugin in iOSiOSThe operating system used on iPhones and iPads.. All iframes there are already expanded to the height of the content document. [32095]#31937
Update the “Keyboard Shortcuts” modal. [32060]#29558
Fix our shortcuts on Mac, use Ctrl + Opt + letter. [32059]#29558
Use window.twemoji directly in the wpemoji plugin. Gives a chance to the browser to lazy load twemoji.js when reloading the page. [32142]#31901
Remove the empty paragraph that sometimes is left over after adding an image caption. [32141]#32003
wpView
Remove selected views when inserting content but not when loading all content, and remove the ref. to the selected view node on resetting the views. [32140]#31998
Empty the content in the timeout, so it doesn’t render iframes twice. [32022]#31669
Build/Test Tools
During PHPUnit tests, don’t autodetect permalink structure during WP installation. [32139]#31994
Move the built media JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. files up a directory to their previous location and naming convention. [32125]#31912 (see [31373])
Use 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. URLs for codex.wordpress.orgWordPress.orgThe community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/. [32116]#27115
Explain all placeholders in translator comment, not just the first one. [32111]#31675
Ensure post title input is not shortened for non-public post types. [32071]#30968
Improve handling of incomplete From and Content-Type headers in wp_mail(). [32070]#30266
wpLink: always show the URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org field at the top. [32017]#28206
Force default 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. for HiDPI avatars on Discussion Settings. [32129]#31972
TranslationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. and Strings
Merge strings that describe the same command. [32078]#31776
Update placeholder for FTPFTPFTP is an acronym for File Transfer Protocol which is a way of moving computer files from one computer to another via the Internet. You can use software, known as a FTP client, to upload files to a server for a WordPress website. https://codex.wordpress.org/FTP_Clients credentials. [32077]#31922
After [31941], use the decoupled strings from wp-admin/network/themes.php in wp-admin/network/site-themes.php as well. [32029]#28502
Correct grammar when referring to “a user” vs “an user” in several places. [32025]#31894
Administration
Fix flickering of the adminadmin(and super admin) menu on over-scrolling. [32089]#30900
Dashboard: Ensure images other than avatars (such as emoji replacements) in recent comments are not incorrectly positioned. [32076]#31919
Admin menu: fix colors for focus state and in IE8. [32075]#31345
Dismissible notices: more precise positioning across browsers. [32068]#31233
Reset padding for buttons in theme details modal. [32128]#31963
Don’t print the custom-background class in body_class() when a default color is in use. [32081]#28687
Toolbar: Search item consistency for focus state and IE8. [32074]#31322
Pointers: Make the dismiss icon a consistent size. [32069]#31915
Update more instances of default admin blues and grays. [32051]#31234
Emoji and Smilies
Tweak which smiley matches which emoji. [32105][32107] #31709
Update our few remaining smilies to better align with Twemoji, and add frownie.png until Twemoji provides a build containing it. [32104]#31709
The emoji JS files should be run through the script_loader_srcfilterFilterFilters 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., as they would be if they were registered scripts. [32097]#31938
Tidy up the wp_encode_emoji() regex, and clarify the function comment on Unicode 8 support. [32096]
Twenty Fourteen: update editor styles to better account for adaptive images in small screens. [32094]#31934
Twenty Fifteen: update editor styles to better account for adaptive images in small screens. [32090]#31934
Theme Compat: Make string translatable and add translator comments. Added in [31941]. [32084]#28502, #31921
Move initialization of $customizeSidebar to api.ThemesSection.initialize() to prevent cases where the result can be undefined. [32119]#31793
Translator comment should just reference placeholder numbers, not the actual placeholders. [32112]#31675
Tell developers how to correctly silence register_sidebar() notices. [32110]#31675
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.
Refresh nonces when a session expires and the user logs in again. [32054]#31294
Widgets: Improve sync logic for select[multiple] inputs. [32012]#31885
Headers: Improve handling of the initial 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. model.[32091]#31786, #31742
Theme Switcher
Fix some esoteric breakage in iOS Safari. [32103]#31794
Don’t deactivate section on empty search results. [32083]#31889
Remove “Add New” reference from customize-controls.js. [32004]#31837
Use text input for the search field to prevent double tap issues for Preview and Customize buttons on iOS. [32127]#31794
Don’t re-render a theme control if it has already been rendered.
Bring back spinners, now without bouncing select elements. [32101]#22839, #30725
Fix the media modal Insert into post button on narrow screens by limiting the width of .media-toolbar-primary and .media-toolbar-secondary only inside .attachments-browser (the top toolbar). [32121]#31908
Insert from URL: Make sure the link text is actually used. [32055]#29476
Make sure the spinner in the media modal is visible on narrow screens (without affecting the media grid). [32120]#30725
Build Tools
Don’t override minified libraries included in coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. [32066]#31477
Docs
Remove unnecessary inline @see tags from a variety of parameter and return descriptions in wp-includes/wp-db.php. [32050]#31888
Remove unnecessary inline @see tags from the wpdb::process_field_charsets()DocBlockdocblock(phpdoc, xref, inline docs). [32049]#31888
Add a missing return description for has_header_image(). [32048]#31888
Fix a variety of inline documentation syntactical issues in wp-includes/taxonomy.php. [32047]#31888
Add a missing @accesstagtagA 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.) to the DocBlock for the WP_Meta_Query->$clauses property. Also adds a missing return description for WP_Meta_Query::get_clauses(). [32044]#31888
Add a variety of missing descriptions and fix syntax for wp_scripts(),_wp_scripts_maybe_doing_it_wrong(), and wp_script_add_data(). [32040]#31888
Remove an unnecessary inline @see tag and document the $wpdb global in two WP_Comment_Query methods. [32038]#31888
Add missing parameter and return descriptions to WP_Customize_Widgets->filter_customize_dynamic_setting_args(). [32036]#31888
Add parameter and return descriptions for WP_Customize_Widgets->get_setting_type(). [32035]#31888
Add missing @access tags to two DocBlocks in WP_Customize_Setting. [32034]#31888
Document the $theme property in WP_Customize_Themes_Section. Also adds a missing@access tag to the DocBlock for WP_Customize_Themes_Section->render(). [32033]#31888
Cleanup DocBlock syntax, add a missing parameter description for WP_Customize_Manager->set_post_value(). [32031]#31888
Add inline doc syntax fixes for WP_Customize_Manager->doing_ajax(). Also adds a return description. [32030]#31888
Add documentation for the $type and $theme properties in WP_Customize_Theme_Control. Also add some missing @access tags to various DocBlocks. [32028]#31888
Fix description alignment for the category_css_class filter docs. [32026]#31888
Add documentation for the $type, $mime_type, and $button_labels properties in WP_Customize_Media_Control. [32023]#31888
Clarify the DocBlock summary and parameter description forwp_edit_attachments_query_vars(). [32019]#31888
Add proper descriptions for the @global and @param tags in the wp_media_attach_action() DocBlock. [32018]#31888
Clarify the DocBlock description for wp_print_request_filesystem_credentials_modal(). [32016]#31888
Clarify 4.2.0 changelog entry, add global description to the DocBlock for WP_Users_List_Table->single_row(). [32015]#31888
Add missing @since versions from a variety of methods in WP_Press_This. [32014]#31888
Add missing DocBlocks for the _limit_array(), _limit_string(), _limit_url(),_limit_img(), _limit_embed(), and _process_meta_entry() utility methods in WP_Press_This. [32013]#31888
Add a return description to the DocBlock for WP_Posts_List_Table->is_base_request(). [32009]#31888
Add an @see mention for Plugin_Upgrader, plus spacing to the wp_ajax_update_plugin()delcaration. [32006]#31888
Add a more descriptive function summary for options_discussion_add_js(). [32005]#31888
Fix Docblock syntax for the taxonomy_parent_dropdown_args filter. [32003]#31888
Add a missing return description for wp_styles(). [32041]#31888
wp_install_maybe_enable_pretty_permalinks() should have a consistent @return value. [32027]#6481, #31888
Change the subhead strings on credits.php and freedoms.php to match about.php.
Link the Emoji Codex article in the emoji blurb.
Add a second sentence to the 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.comAccessibilityAccessibilityAccessibility (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) blurb.
Switch positions for the JavaScript Accessibility and Complex Query Ordering sections for balance. [32131]#31929
Move wp-plugin-update-success event to after lock is released [32133]#31978, #31819
Use named function instead of anonymous function, making it testable and replaceable. [32126]#31964
When dbDelta() is checking whether an index is defined in a CREATE TABLE statement, don’t worry if 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 has a subpart defined on an index, but the CREATE TABLE doesn’t. [32108]#31869
Script Loader
Revert [31030] and [31033]. Incidentally, there is no lazy-loading happening here anyway.
Do not show the bookmarklet upgrade notice when accessing directly press-this.php. [32122]#31968
Add mb_strlen() compatibility function. Works the same way as the existing mb_substr() compatibility function. [32114]#31951
Check the bookmarklet version and add the update notice from PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher. [32106]#31942
Add ARIA attributes to the alerts container. [32102]#31942
Fix focusing the Standard Editor link after saving draft, if the user has not focused another element. [32098]#31923
Change the link text to Standard Editor. [32093]#31923
When saving a draft change the text of the Save Draft button to “Saving…” [32092]#31923
Update documentation for press_this_save_redirect filter after [31992]. [32143]#31996
wp_update_term() should check if get_term() returned null. [32117]#31954
Avoid an unexpected object error when syncing global terms. Pass the expected single value, rather than object, when recursively calling global_terms(). [32064]#31914, #31149
Here we go again! It’s time to look at what’s going on in WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. This edition of WordPress Core Weekly covers March 28, 2015 [31916] through April 4, 2015 [32002].
Note: If you want to write the next WordPress Core Weekly summary, check out the schedule over at make/docs and get in touch in the #core-weekly-update Slack channel.
Highlights from this week
This week WordPress 4.2 Beta 4 got released. This hopefully last betaBetaA 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. saw lots of 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) improvements and added the ability to make adminadmin(and super admin) notices dismissible. Emoji support in core is now pretty stable – maybe the next weekly post is written in emojis only? Also, there were some notes posted on utf8mb4 and the term splitting in WordPress 4.2.
Last but not least, @obenland and @wonderboymusic were announced as release leads for WordPress 4.3 and 4.4, respectively. Congrats! 🎉
Code Updates
Posts, Post Types
After [31114] and [31323], ‘View Post’ generated in get_sample_permalink_html() should go to pretty permalink. [32002]#30910
Avoid duplicate classes for different terms with UTF–8 slugs in post_class() and body_class(). [31979]#30883
In WP_Posts_List_Table::get_views(), don’t add the current class to the all status link if ->user_posts_count has a value, which triggers the additional mine status. [31959]#24869
Users
WP_User_Query: When querying users with fields=all, ensure that caps and roles are filled for the current site. [32001]#31878
When updating the email address for an existing user, make sure the email address is not already in use. [31963]#30647
Comments
Remove hidden user_id input from wp_comment_reply(). [31999]#30307
Use a more specific selector for comment moderation hotkeys after [31513]. [31929]#31545
Respect numerical keys in add_query_arg(). Avoid the use of array_replace() in add_query_arg(). [31966][31967]#31306
TinyMCE: always focus the editor after using the floated toolbar. [31972]#30619
Emoji
Enhance twemoji.js to support passing of additional attributes for the replacement images. [31948]#31627
When encoding emoji into HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities, 0 was being incorrectly trimmed from the right side of the hex string, causing some characters to be encoded incorrectly. [31926]
When staticizing emoji into <img> tags, include an alt attribute of the original Emoji, to match both Smiley and Twemoji <img> tags. [31924]
Accessibility improvements for Themes screen: fix keyboard events and callbacks for the Search field, increase trigger timeout a bit, improve Esc. key handling. [31994]#26600
Improve focus styling of add-new-theme link. [31952]#31203
Add a 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. to short-circuit wp_prepare_themes_for_js(). [31943]#31789
Administration
Accessibility improvements for Options general screen: add missing labels and aria attributes. [31993]#31144
Accessibility: Add landmark roles to WordPress admin areas. [31955]#31450
Make sure the update button in “At a Glance” dashboard 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. does not overlap with long strings. [31928]#30766
Press This
Prevent pasting of HTML in the title H2. Insert the clipboard text instead. [31987]#31768
Use more accurate wording on Tools screen. [31980]#31836
Use the error message returned by wp_update_post() instead of a generic one. [31930]#31808
Fix accessibility for the post options “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.”. Fix size of the Add CategoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. button. [31925]#31575
Upgrade/Install
Introduce a string representing bulk 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. update success, ready for string freeze. Not used yet. [31991]#31770
Plugins Browser: Replace the download count with the number of Active installs of the plugin. [31990]#31865
Add beforeunload string for shiny updates. [31989]#31769
Update aria-label when doing a shiny plugin update [31982]#31722
Add some logic into wp_tempnam to prevent it creating ‘falsey’ directory names that might get used elsewhere within WordPress. [31936]#31811
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.
Merge title strings on Edit Site screens. [31962]#31844
Remove unused printf() on networknetwork(versus site, blog) setup screen. [31961]#31841
Decouple strings where the singular and plural form are not just the same string with different numbers, but essentially two different strings. [31941][31951]#28502
Theme Switcher: Switch the details/live preview buttons. [31954]#31791
Theme Switcher: Use the global panel back button instead of adding a new one. [31918]#31794
Theme Switcher: Fix 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. HTML markup when New Theme control is added. [31950]#31203
Make the available widgets overlay closable on narrow screens. [31974]#28784
Defer rendering theme controls until the section is displayed. [31944]#31793
Revert [31911]. We want to preserve url and returnURLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org parameters to make the experience smoother. [31933]#31782
Increase size of search field and disable text size adjustment to prevent auto zooming. [31917]#31794
Admin notices: Make (most) core notices dismissible. These no longer return upon refreshing the page when JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. is on and working, so users should be able to dismiss them. [31973]#31233, #23367
Bundled Theme
Twenty Eleven: add postMessage support for header_textcolor to improve the user experience in the 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.. [31971]#24128
Twenty Fifteen: adjust scroll behavior to make sure sidebar height is calculated during scroll events, not just resize events. [31934]#31734
Twenty Thirteen: make sure submenu links work correctly on small screens with touch events. [31932]#31762
Formatting
Alter the regex in wptexturize() to properly handle input like: <> "Hello world" <>. [31965]#30344
Permalinks
When shifting WP_Rewrite::flush_rules() to a later action if it was called too early, make sure to do a hard flush if requested. [31964]#30501
Media
When editing an image from the editor, and the image has a value for alignment (but not for width or caption), don’t bail without first checking that the alignment’s value is not alignnone. If so, add the class to the <a> before bailing. [31958]#21848
Media Library: Add a label for attachment type select in list mode. [31942]#31795
Editor
wpLink: Enable smooth scrolling on iOSiOSThe operating system used on iPhones and iPads. devices. [31957]#31612
Database
When we check the character set of a column, and find that it’s utf8mb4, we should also check that the current connection supports utf8mb4. It’s possible that the environment may have changed since upgrading the DB, so we can fall back to utf8 when that happens. [31947]#31771
When we’re checking to see if the 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 client library supports utf8mb4, we need a separate check for mysqlnd versions, which using different version numbering to libmysqlclient. [31939]#31644
Login and Registration
Disable body scrolling when session expired log in modal is open. [31945]#31610
Media
Revert using require for JS modules because that made them read-only for the public. [31935]#31684, #28510
Menus
Fix duplicate ID for Save Menu button on Menus screen. [31927]#31803
You must be logged in to post a comment.