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 our bug tracker.
Preparation for WordPress 6.2 final release is underway. This post shares the release process, including the timeline and how you can help. The post will be kept up to date as the release process evolves.
The Dry Run is a key event as a final walk-through for the final release. As noted above, the current plan is to start it on 2023-03-27 16:00. You are invited to observe and/or participate. It’ll happen in the #core Slack channel.
What happens during the dry run?
Review 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. reports to determine if any are critical to warrant another RCrelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). (release candidaterelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta).).
Checks and any necessary updates are made in the src/wp-admin/includes/update-core.php file.
Pre-release scripts are run to ensure test suites, coding standards, and other automated checks pass.
If the results are acceptable, the release goes into a 24-hour code freeze period.
24-Hour Code Freeze
After the dry run and before the release party starts, a mandatory 24-hour code freeze goes into effect.
What does this mean? No source code for 6.2.0 (i.e., in the 6.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".) can be changed during these 24 hours.
What happens if a critical bug is reported during this period? The release squad will meet with committers and maintainers to determine if the issue is a blockerblockerA bug which is so severe that it blocks a release..
If yes, another RC release happens, and the release process restarts (meaning the dry run is repeated, and then the 24-hour code freeze clock restarts).
If not, then the bug is targeted for 6.2.1.
The Release Party
The release party on March 28th will start no sooner than 24h after the code freeze starts, with the exact time to be determined accordingly. You are invited to observe and/or participate. It’ll happen in the #core Slack channel.
The release party walks through the steps in the Major Version Release process for anyone who wants to follow along.
Please note releasing a major version requires more time than releasing a 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. or release candidate. There are more steps in the process. If any last-minute issues need addressing, more time will be needed.
How You Can Help
A key part of the release process is checking that the ZIP packages work on all the available server configurations. If you have some of the less commonly used servers available for testing (IIS, in particular), that would be super helpful. Servers running older versions of PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 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/. will also need testing.
You can start this early by running the WordPress 6.2 RC3 packages, which are built using the same method as the final packages.
During the release party, options will be provided on how to help test the release package.
Tips on What to Test
In particular, testing the following types of installs and updates would be much appreciated:
Does a new WordPress install work correctly? This includes running through the manual install process, as well as WP-CLIWP-CLIWP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/https://make.wordpress.org/cli/ or one-click installers.
Test upgrading from 4.0.38, 4.9.22, 5.8.6, 5.9.5, 6.0.3, 6.1.1, and 6.2 RC4, as well as any other versions possible.
Remove the wp-config.php file and test a fresh install.
Test single site and 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/networknetwork(versus site, blog) (both subdirectory and subdomain) installations.
Testing the following user flows on both desktop and mobile would be great to validate each function as expected:
Publish a post, including a variety of different blocks.
Comment on the post.
Install a new 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/theme, or upgrade an existing one.
Change the site language.
If you’re a plugin developer, or if there are complex plugins you depend upon, test that they’re working correctly.
To get ready for the final release of WordPress 6.2 on March 28, 2023, an RC4 has been put together to help cover some last-minute fixes.
Here’s what’s changed since RC3:
Revert changesets [55358] and [55360], restoring the wp_insert_user() function back to its previous state, to avoid a regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. on the related wp_update_user() function (see tickets #57967 and #57394).
Thanks to everyone who has assisted with testing this release. Your feedback and help in filing 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. reports keep the WordPress experience stable, smooth, and delightful. It’s critical work and a great way to contribute to the project—especially in these final moments before release day.
How to install RC4
This version of the WordPress software is under development. Please do not install, run, or test this version of WordPress on production or mission-critical websites. Instead, it is recommended that you test RC4 on a test server and site.
You can test WordPress 6.2 RC4 in three ways:
Option 1: Install and activate the WordPress Beta TesterpluginPluginA 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 (select the “Bleeding edgebleeding edgeThe latest revision of the software, generally in development and often unstable. Also known as trunk.” channel 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./RCrelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). Only” stream).
Option 3: Use the following WP-CLIWP-CLIWP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/https://make.wordpress.org/cli/ command:
wp core update --version=6.2-RC4
Keep WordPress bug-free—help with testing
Without your testing support, hitting important product milestones would be a much bigger challenge. It’s also a meaningful way to contribute to the project. If you’re new to testing, or it’s been a while, this detailed guide can help you get started.
If you think you have run into an issue, please report it to the Alpha/Beta area in the support forums. If you are comfortable writing a reproducible bug report, you can file one on WordPress Trac. You can also check your issue against a list of known bugs.
Test your plugins and themes
As you test your latest versions against RC4, make sure you update the “Tested up to” version in your plugin’s readme file to 6.2. If you find compatibility problems, please post detailed information to the support forums.
Silent RC4 will address a backward compatibility issue (#57967) on March 23. More on the 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. is in this discussion on Slack.
And:
The WordPress Developer Blog is out of 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., and officially launched! Please check it out. You are most welcome to:
@azaozz suggested that it is time to make a large update to this component, taking care about bugs and enhancements.
@marybaum said the maintainers, who also include @webcommsat, @oglekler, and @nalininonstopnewsuk, will follow up. (Ed. note: Look for this starting in April, once the current release has landed.)
@azaozz suggested publishing dev notesdev noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. there as well (right now the 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. has only a link in the footer).
@jeffpaul requested to auto-publish posts in the CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. channel and @bph will follow up with it.
A week in Core
@bph suggested renaming ‘A week in Core’ to ‘A week in TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.’, because it doesn’t cover 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/ project activity on 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 be the repository owner. https://github.com/, and they are highlighted separately in What’s New in Gutenberg. @francina offered to continue this discussion in the P2P2A free theme for WordPress, known for front-end posting, used by WordPress for development updates and project management. See our main development blog and other workgroup blogs.(Ed. note: that is, this very Make/core blog) in the comments section of the last Week in Core.
@francina: What brought you to check dev chats in the first place? A lively, if brief, discussion followed. Francesca also suggested more discussion next week—and a post on the Core blog, to stimulate asynchronous conversations.
“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 Site Editor project (formerly called Full Site Editing).
The latest release of the pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party is lighter on user-facing features than normal and focuses heavily on 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, testing, and other much-needed improvements. But, there are some welcome additions, such as turning paragraphs into columns, an improved Cover 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., and new template descriptions in the site editor.
The Cover block now supports the text color design tool. The enhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. makes it easier for users and theme authors to customize the color for all inner blocks with a single setting. Along with this benefit, the change made it easier to handle transforms from the Media & Text block.
The Cover block also now works the same as the Group block with its layout handling. Currently, the block only supports the flow layout and is set to a constrained width by default. It does not yet support flex layout variations.
The update brings consistency to layout handling, building atop a standardized system that will make for fewer edge cases and necessary customizations for theme authors.
Theme authors should test their themes against this update. In the past, some have had to work around the layout limitations of the Cover block, and the block’s support of the standard layout system may override custom implementations.
Updated template descriptions
Template descriptions have received a major overhaul in the latest update. Nearly all of them have been updated to better explain what each template does. This should make it easier for users to understand each template’s purpose when customizing it in the Site Editor.
Other Notable Highlights
A new textColumns property has been added as a “block supports” feature and is now in the style engine. It will allow users to split text-based blocks into columns. Developers can opt into this for their custom blocks, but no coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks support the feature yet. There are open tickets for adding it to the Paragraph and Post Excerpt blocks in future updates.
Theme authors can now target the :link and :any-link pseudo-elements in theme.json, giving them more control over styling hyperlinks.
The FontSizePicker component allows for an array of custom units to be defined. This is the first step toward allowing theme authors to eventually control the available units if their themes support custom font sizes. However, the editor’s Typography panel does not yet support this feature.
Change Log
Enhancements
Site Editor
Adjust whileHover effect to be a bit subtler and less pronounced. (48928)
Go direct to edit from manage all templates list. (48764)
Move “Add Template”‘s descriptions to tooltips. (48710)
Add descriptions to all panels in the Site Editor’s dark side. (48739)
Add hover animation to site editor canvas. (48575)
Fix non-us spelling in 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.. (48976)
Prevent the saving button from showing when renaming templates. (48399)
Navigation Sidebar: Change the logic about which navigation gets selected for the sidebar. (48689)
Add “Added by” description to template part navigation sidebar. (48732)
Add border radius to off canvas 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. items. (48798)
Add page details when viewing a specific page. (48650)
Duotone: Limit SVG 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. output to used filters. (48995)
Open convert to links modal on select of a page item. (48723)
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.: Remove 16:10. (48969)
FormTokenField: Hide suggestions list on blur event if input value is 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.. (48785)
Design Tools
Block Supports: Add text columns (column count) to typography block supports. (33587)
Global Styles
Move the global styles provider to the app level component. (49011)
Add support for :link and :Any-link in 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.. (48634)
Add compound class to layout wrapper for global spacing styles. (47952)
Block 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.
Block Deprecations: Provide extra data for isEligible check. (48815)
Post Editor
Provide static native editor help article slugs. (48802)
Try getting Post Content layout on server before editor loads. (45299)
Packages
Introduce prependHTTPS URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org util. (47648)
Bug Fixes
Block Library
Embed Block: Fix Aspect Ratio Classes #29641. (41141)
Ensure aspect ratio is applied when Post Featured Image block is linked. (48495)
Fix PostContent initial render by waiting for the canEdit request. (48642)
Fix navigation block off-canvas appender for empty menus. (48907)
Fixes extra UIUIUser interface in navigation block inspector. (48679)
Import Classic Menu using the menu name as the block menu title. (48771)
Navigation Link: Remove color generation code. (48927)
Navigation: Fix missing state for MenuControls. (48921)
Update missing translationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. from label. (48760)
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. Importer: Fix Widget Group block imports. (48669)
Query 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.: Show variant patterns even if there are no patterns for the Query Loop block. (48793)
Comments: Fix ‘sprintf requires more than 1 params’ error. (49054)
Adjust Post Featured Image PanelBody label to “Settings”. (49076)
Add help text to Gallery Image Size control. (49074)
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. of created Navigation menu title. (48773)
Make sure the directly inserted block in the Nav block is a Page link. (48740)
Tweak label for Latest Posts 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. control. (49077)
Page List Block: Show untitled pages on page list on the editor. (48772)
Site Editor
Don’t offer Classic block as a recovery action when not registered. (49051)
Fix browser history when synchronising state with urls. (48731)
Fix lingering insertion point within template parts. (48913)
Remove actions from SidebarNavigationScreenWrapper. (48935)
Update template descriptions with more detail. (48934)
Global Styles
Fix typo: Use WP_Theme_JSON_Gutenberg instead of WP_Theme_JSON class name. (48648)
Fix: Crashes on getNodesWithSettings and getNodesWithStyles. (49023)
Fix: Global Styles crash in updateConfigWithSeparator when not block styles are passed. (49045)
Fix: Global Styles getNodesWithStyles expects an object with elements. (49044)
Fix: Global Styles getPresetsClasses crashes if no selector is passed. (49024)
Fix: Global styles forces a white background. (49042)
Style Book: Move 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. to root of content area to support styles that overflow block previews. (48664)
WP_Theme_JSON: Sync indirect properties changes from core. (48646)
ResizeTooltip: Use default.fontFamily on tooltip. (48805)
ResponsiveWrapper: Use aspect-ratio CSSCSSCascading Style Sheets. prop and support SVG elements. (48573)
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)
Make sure useFocusOnMount runs when all the children tabbable elements have mounted. (42187)
Distraction Free Mode: Don’t show the metaboxes. (48947)
Don’t add Post Content layout styles to title in the post editor. (48663)
Fix animation and browser console error when returning from template edit mode. (48930)
Block Editor
LinkControl: Remove HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. from suggestion title before passing it to TextHighlight component. (48685)
Order initial block items in Navigation with PrivateInserter. (48752)
BlockInvalidWarning: Prefer canInsertBlockType and refactor to hooksHooksIn WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.. (49052)
Fix: Incorrect selector generated by append_to_selector method. (48759)
Block Library
Lodash: Remove _.get() from various blocks. (48491)
Data Layer
Lodash: Refactor away from _.set() in core-data. (48784)
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 be the repository owner. https://github.com/ Actions
Prefer committercommitterA developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component. over author date for perf results timestamp. (48673)
Documentation
Add links to hook documentation in curation doc. (48653)
Add missing playwright end-to-end documentation to toc.json. (48447)
Adding examples of how to programmatically remove the panels in Document sidebar. (48895)
Adds link to post on the developer blogblog(versus network, site) to the deprecation page. (49069)
Add position: Sticky to the Opt-in into UI controls appearanceTools section. (48763)
Duotone: Style Engine: Add unit testunit testCode written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. and associated refactoring. (49033)
Query Block: Add tests for getValueFromObjectPath() util. (48956)
First time contributors
The following PRs were merged by first time contributors:
@abhi3315: Link Control – Add support for text only labels. (47930)
@hbhalodia: Change higher order with-constraint-tabbing from .js to .tsx. (48162)
@sboerrigter: Fix incorrect css property in editor-color-palette documentation. (48333)
@shreyasikhar: Site Editor Sidebar: Add line-height for template/parts name and update width for edit button. (48160)
@suvrodattamitu: Style Engine: Fix wrong property name letterSpacing to lineHeight. (48091)
@tomdevisser: Remove copy for managing a block’s style variations. (48367)
Contributors
The following contributors merged PRs in this release:
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 March 13 and March 20, 2023.
30 commits
70 contributors
51 tickets created
4 tickets reopened
46 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.
Code changes
Administration
Define the $title global on the Menus screen for classic themes – #57918
Update dashboard welcome panel colors, remove broken link – #57759
Build/Test Tools
Fix issue with add method in object-cache.php – #57963
Add test class for wp_enqueue_stored_styles() – #57841
Add test class for wp_script_is() – #57841, #57958
Improve documentation and variable names in some formatting tests – #57841
Rename test class and improve tests for wp_get_global_stylesheet() – #57841, #57958
Use the data_ prefix for various data provider methods – #57841
Cache 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.
Add a warning when calling _get_non_cached_ids with 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. ids – #57593
Correct the second parameter’s name in _get_non_cached_ids() – #40420
Code Modernization
Fix dynamic properties in WP_Admin_Bar – #56876, #56034
Coding Standards
Remove unused variable in WP_Plugins_List_Table::single_row() – #55132
Remove unused variables in WP_Comment_Query – #57482
Use single quotes for strings without variables in register_block_style_handle() – #57903
Date/Time
Remove usage of mysql2date in generate_postdata method – #57683
Docs
Fix typo in _validate_cache_id() description – #57593
Editor
Correctly load RTL stylesheets for non-core blocks – #57903
Show scheduled text when changing to new future dates – #31040
Update wordpress packages for 6.2 RC2 – #57471 – #57895
Update wordpress packages for 6.2 RC3 – #57471, #57929
Return false for empty paths in 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.::exists() methods – #33058
HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. API
Allow filter property to accept a URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in safecss_filter_attr() – #57780
Released the Performance Lab 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 2.1.0 yesterday
15.4 RCrelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). is scheduled (now available for testing)
commented on the agenda post: “I’m seeking feedback on some proposals to preload Navigation Menus and Template Parts (server side) in order to improve the perceived editor load times.It does involve certain compromises and assumptions which I’d like to discuss in more detail and also find more concrete evidence for. Any help much appreciated.”
Open Floor
@Mdxf
commented on the agenda: “I vote to improve the perceived load times on the Browser Mode + also on the “back to WP adminadmin(and super admin) menu” action (when clicking on the site logo on top left) !!! (here on FF it is very slow, i did not test on Chrome)….” @ndiego suggested you create new GitHub issue, detailing exactly what you are seeing . In his experience, slowness in the Site Editor that is exacerbated by third-party plugins, so it would be good to also understand the setup you use.
“As everyone is aware, we have a LOT of open issues and PRs in 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/ repo. The TriagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. team does a fantastic job, and @mamaduka and I have been running weekly 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. scrubs here in #coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.-editor. Yet, the number of open items continues to rise. After the 6.2 release, I will be spending some time thinking about how we can better tackle this situation, but I did want to also call attention to a discussion started by @tomjdevisser on 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 be the repository owner. https://github.com/ Discussion: “Auto-closing inactive issues to shift focus towards important issues” If you have time to provide feedback or thoughts, it would be much appreciated.”
@hellofromtonya contributed how it is handled in TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.
“In Trac, there are 2 ways it’s handled:
Add a close keyword with a comment that it will be closed in x amount of time without reporter follow-up.
Or close with a reason and a comment to re-open if more information is available for further investigation or consideration.
This is a manual ticketticketCreated for both bug reports and feature development on the bug tracker.-by-ticket triage process” She clarified further: “The close keyword with message gives all who previously contributed to the ticket the opportunity to revive it. If they are still interested in it, it invites them back while also setting the expectation that it will be closed otherwise.”
@francina led the chat. The meeting start on the coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. channel of the Make WordPress SlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/..
The agenda, prepared by @webcommsat, has a full list of 6.2 links, only new links are listed below.
WordPress 6.2 RC 2 landed on Tuesday, March 14, 2023! Please download and test, and remember that in the RCrelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). period:
It takes two committers to commit code to the 6.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".
The 6.3 branch is open for early tickets, proposals and more
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/ 15.4 is underway.
@johnbillion raised #57916, about 6.2 server-side performance regressions. @hellofromtonya noted the ticketticketCreated for both bug reports and feature development on the bug tracker. is about assessing performance and will not generate any late commits to 6.2.
@costev highlighted that he, @ironprogrammer, and @afragen are working on an update to the WordPress 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. Tester 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 that will add a section where users can report 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. right in the interface.
The meeting is scheduled facilitator will be @francina and @marybaum will draft the meeting summary. If you would like to volunteer for the summary, add a comment to this ticketticketCreated for both bug reports and feature development on the bug tracker. for @webcommsat.
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/ 15.4 Release Candidaterelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). is scheduled.
What’s new in Gutenberg 15.3? (March 13, 2023) – posted by @richtabor. This version tightens up the site editing experience, adds a new “Time to Read” 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., and some Duotone enhancements.
3. Highlighted posts
A Week in CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress., March 6-13, 2023 – thanks to @audrasjb
48 commits
62 contributors
47 tickets created
8 tickets reopened
68 tickets closed
And welcome to the five new contributors from this week!
4. Releases
Useful information on the next major WordPress release 6.2:
Performance team has also been considering TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. Ticket #57916 to explore and assess 6.2 server-side performance regressions.
Any additional updates from the Release Squad will be shared in the meeting.
5. Request for help with tickets/ components/ blockers/
If you have a ticket or request to help, please add a comment to the agenda post. Please indicate if you will be attending the meeting live and be able to highlight the issue further if needed.
If you are unable to attend dev chat live, you can add further details of the issue you would like highlighted either in comments, or message Core Team reps @webcommsat and @hellofromtonya with the additional information to raise in this week’s meeting for you.
6. Open floor
Items for this agenda item and the previous one are welcome from across time zones. Please add suggestions in comments on this post. Thanks.
As agreed in last weeks chat, this week we are following the new agenda structure below that is more aligned with our 2023 roadmap
During each priority project update, we will aim to 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.) the individuals who contributed suggestions for that priority project in the 2023 roadmap, to get any updates on progress
@joemcgill Following a week of recovery from a bike accident, I’ve resumed working on gathering some profiling data on the most recent release candidaterelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta).. I’m hoping to wrap up that work this week and have some new ideas to focus on for the 6.3 cycle
Tracking a performance regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. in 6.2 RCrelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). https://github.com/WordPress/wordpress-develop/pull/4235
@olliejones Work on the SQLite database integration continues. Lots of tiny details transliterating one irregular SQL grammar to another. Nothing big to report.
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/. & CSSCSSCascading Style Sheets.
@10upsimon We’re making progress on some of the final implementation details related to handling inline scripts, and doing some internal testing and research into how other projects are already implementing async/defer to look for possible conflicts. We should have something to share in a couple of weeks. In the meantime, we’d appreciate any examples you have of projects that are manually adding async/defer, so we can check them against our approach.
@flixos90 I have been researching remaining problems with lazy-loaded LCP images in WordPress sites in the last week, will continue to do so today. I’m using 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. Archive to identify the most common problems and look at specific sites for samples to dig further
@flixos90 Noting that the enhancements that will hopefully come out of this work will benefit the fetchpriority="high" work as well
@adamsilverstein quick update from me: at WordCampWordCampWordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Asia a few weeks ago, I ran an “image comparison game” where users picked from two images (generated in WordPress at different compression levels and in WebP or JPEG) trying to tell which one was closer to the original. we had around 50 “choices” registered which isn’t much, but in any case I’m planning to analyze that data this week and should have some sort of results to share next week.
@clarkeemily we did have ‘Automated performance testing has been committed to the WP coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. repo https://core.trac.wordpress.org/changeset/55459‘ highlighted last week
@joemcgill We’re successfully getting automated performance data on every commit to core now, which is a cool milestone. I expect that we’ll continue to improve those capabilities over time, but this is a nice starting point.
@joegrainger We plan to complete the infrastructure for 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 Checker by the end of next week. Once complete we will start to perform some initial testing and review the infrastructure before working on the additional checks. Progress can be seen on the GitHub repo here. Please feel free to take a look and leave any thoughts/ideas you may have in the repo.
@flixos90 Happy to answer any questions on the data I gathered
@spacedmonkey Doing some research, realpath seems to be taking up a lot of resources
@flixos90 Is the realpath() usage something that was introduced in 6.2?
@spacedmonkey No, but I think it has been made worse.
@joemcgill After thinking about the original issue some more, I’m wondering if what @flixos90 observed is mainly a side-effect of things being moved around in the application lifecycle, which means that there are more callbacks firing on init, but overall the total response time is still an improvement over 6.1.X.
@flixos90 The overall total response time for classic themes is now actually worse in 6.2 than 6.1
@joemcgill That’s not what I’m seeing in our automated tests though.
@flixos90 Yeah I also didn’t see that in my previous tests. However what I have consistently seen is init being slower than in 6.1
@flixos90 FWIW, the automated tests are running core trunk . The tests I have been conducting are using built ZIP releases of the Betas and RCs. Not sure how relevant that is, but it may make a difference
@flixos90 The ZIP files are in principle closer to the real world experience, that’s why I’ve been using them in addition to the development repository
@joemcgill Zips should be built from the build folder, which is what the automated tests are testing
@flixos90 request for @spacedmonkey or @joemcgill to run the comparison between 6.1.1 production ZIP and 6.2-RC1 ZIP on your machines? Just to validate, maybe something is off on my environment
@joemcgill Happy to double check using local profiling at the 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. tester plugin later today.
@spacedmonkey I might try using Local envoirment and other tools and see if i can reproduce
@johnbillion Are all these tests using the theme 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. data?
@joemcgill The automated tests are. Not sure about how others are testing.
@flixos90 Good call @johnbillion My own local performance testing I’ve done only with the regular WP content (“Hello world”), nothing added. I know that’s not representative of real-world experience, but @joemcgill and @spacedmonkey please try to use that too for specifically the attempt to validate what I’m seeing on my end
@joemcgill If other folks can do A/B comparisons of the total response time for WP 6.1.1 vs 6.2-RC1 and share data on that issue, it could certainly help.
@spacedmonkey Fakerpress is great for generating posts from multiple authors, adds comments, terms and users.
@flixos90 So to summarize, just to reproduce, I’m seeing the regression locally in this environment:
between 6.1.1 and 6.2-RC1
a site with LocalWP
using TT1 theme
using Performance Lab plugin for Server-Timing, with no modules enabled
no content on the site other than what a clean WP core install gives you
@johnbillion Are you able to test again with the theme unit test data Felix? That way we have a somewhat unified set of data that’s in use for the tests
@flixos90 I certainly can. That said though, we also would still need to validate why I see a regression with the default content, so I would appreciate if someone else could run that on their end
@flixos90 Last but not least, I want to highlight something here (which I tried to also call out on the ticketticketCreated for both bug reports and feature development on the bug tracker.): Regardless of whether WP 6.2 is faster than 6.1, init is slower than before for classic themes. That has surfaced in all performance benchmarks I have done up to date. So while we should validate the overall test results, we should look into what is going on in init and why it has become worse in 6.2
@joemcgill Back to my initial comment. I am curious if this is a side effect of some things being refactored during this release which has caused more work to be done on the init callback that was previously happening elsewhere. It could be that it’s fine that we’re doing more work on init than we were before if the overall execution time is improved.
@flixos90 Potentially that’s the case, in which case the “regression” would be fine. But we need to validate that
@joemcgill I think it would be helpful to review what is hooked to init in 6.2 vs 6.1 and compare differences.
@flixos90 So we need to check how those functions’ code changed
@johnbillion Briefly from me for a core issue related to performance: I’ve been working to remove use of the now-deprecated SQL_CALC_FOUND_ROWS in core, starting with its use in WP_Query. PR here: https://github.com/WordPress/wordpress-develop/pull/3863 which continues work from a couple older PRs. There are a few outstanding items to address, I might ask for some help from interested parties on the performance team if I can’t make much progress myself over the next few weeks. Apart from that, the more eyes the merrier on this change!
@flixos90 Last but not least: Next Monday is the release of the Performance Lab plugin 2.1.0, so we need to get a few PRs ready
@flixos90 I have been working on a fix for the object-cache.php compatibility issues which I’m about to open a PR for. Would be great to get some reviews today/tomorrow so we can include it in 2.1.0
You must be logged in to post a comment.