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.
This post lists 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. scrub sessions dedicated to move things forward towards the next major WordPress release, 6.5, slated for March 26, 2024.
Everyone is welcome to join to help triagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. tickets, explore tickets to contribute to by creating patches, writing or conducting tests, providing code reviews, and more. Things to keep in mind:
all features and enhancements should be in the 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. before 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. 1 (February 13, 2024) and most bugs and all strings need to be there before 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). 1 (RC1)
If you are working on a 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., it is helpful if you can please plan your contribution to give enough time for other contributors to make suggestions, review and test.
Have a regular component scrub or triage session? 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.”@audrasjb, @chaion07, @rajinsharwar on Slack to have it added to this page.
Start your own triage sessions
Decide what you want to focus on first.
The 6.5 triage sessions and moving forward these tickets are the priority for the coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. team and the release. If you would like to lead sessions for these, they can be arranged and added to this schedule.
However, if you are interested in particular component or user focus, for example, to take care about RTL-tickets, this will be very welcome too.
Could you run a session to scrub old tickets? There are treasures which would benefit from scrubs and more contributors working on them in older tickets.
How to help?
In the core channel on Slack,ping @audrasjb, @chaion07, @rajinsharwar or one of the core team reps on Slack with the day and time you’re considering as well as the report or tickets you want to scrub.
Useful reports and information
More will be added as the development cycle progresses
Need a refresher on bug scrubs? Checkout Leading Bug Scrubs in the core handbook.
The live meeting will focus on the discussion for updates on 6.5, and have an open floor section.
Additional items will be referred to in the various curated agenda sections, as below. If you have ticketticketCreated for both bug reports and feature development on the bug tracker. requests for help, please do continue to post details in the comments section at the end of this agenda.
Announcements
WordPress 6.5 RC 3 was released on March 19, 2024. Thanks to everyone involved and those who helped test.
Forthcoming releases
Next major releasemajor releaseA release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.5
Updates from the release squad can be shared in the Dev Chat.
Please continue to test the 6.5 release. See this list of key features to test, which was published alongside WP 6.5 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. 3.
Next 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/ release: 18.0
Gutenberg 18.0 is scheduled for release on March 27 and will include these issues.
Discussions
This week the discussion will focus on any priority topics that need to be raised before the launch of WordPress 6.5.
Proposed topics
Are there any priority topics needed for discussion ahead of the WordPress 6.5 release?
Is there a need for a silent 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).?
Feel free to suggest additional topics related to this release in the comments.
Font Library 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. fixed around loading and unloading font faces in the browser when toggling the variants
Tickets for 6.5 will be prioritized. Please include detail of tickets / PR and the links into comments, and if you intend to be available during the meeting if there are any questions or will be async.
The topic is on how do agencies and freelancers adjust their workflow and tooling to provide a consistent experience for their clients. The difference between classic themes and 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. themes are considerable. For instance, block themes have settings information stored in various places (database and 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.), and templates and patterns are handled differently. How does it all change workflows regarding version controlversion controlA version control system keeps track of the source code and revisions to the source code. WordPress uses Subversion (SVN) for version control, with Git mirrors for most repositories. and deployment. Is there a common method that could be identified and help other agencies and freelancers in their work with block themes?
In this informal discussion could touch on
Common issues agencies encounter
How people use the Create Block Theme 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,
How to manage theme.json,
Tools and automation helpers.
and a lot more
Everyone is welcome at this Hallway Hangout, but it covers topics that are geared towards developers in agencies and freelancers working with client projects.
Join us on Wednesday, March 27, 2024, at 16:00 UTC. The Zoom link will be shared on the day in the #outreach channel.
WordPress 6.5 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). 3 is today (Mar 19)
Reminder on timezone difference for the next week, this chat will remain at 16:00 UTC and then shift to 15:00 UTC from April 2, 2024
Priority Items
Structure:
WordPress performance TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
Current release
Future release
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 (and other performance plugins)
No updates this week, will be removed from agenda moving forwards unless there are proactive updates on release 1.1
Improve template loading
@thekt12 I should be able to raise a PR for review today, for #59600 including template part caching
INP research opportunities
@adamsilverstein I have continued working on INP research in a colab nostly by querying httparchive data. Recently I added a few new queries that gather:
Plugins on WordPress sites with not good INP (based on Wapalyzer detection)
Long task scripts on WordPress sites with not good INP (using the long task audit)
Long task scripts on WordPress sites overall
I then focused in on scripts by path and ran some group queries that only look at the path. Removing the host part ensures we catch common scripts that run across many WordPress sites. Finally, I am grouping by host to see if any 3p stand out at a top level. I’m collecting all the resulting data in a sheet and will soon be ready to summarize the findings in a doc and share everything!
WordPress 6.5 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). 3 is today (Mar 19)
Reminder on timezone difference for the next week, this chat will remain at 16:00 UTC and then shift to 15:00 UTC from April 2, 2024
Priority items
WordPress performance TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
Current release
Future release
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 (and other performance plugins)
Active priority projects
INP research opportunities
Improve template loading
Plugin checker
Open floor
If you have any topics you’d like to add to this agenda, please add them in the comments below.
This guide outlines major developer features and breaking changes in 6.5 and is published in the 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). cycle to help inform WordPress extending developers, CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. developers, and others.
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/ included in this release has 373 enhancements, 515 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, and 65 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.
Changes in 6.5 are spread across 40 Core components. Below is the breakdown of the most important ones.
Table of contents
Minimum System Requirements
The minimum version of 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 been raised from v5.0 to v5.5.5. (#60036) (blog announcement)
Major Features (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.)
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. Editor
WordPress 6.5 brings 10 Gutenberg releases into core – 16.8, 16.9, 17.0, 17.1, 17.2, 17.3, 17.4, 17.5, 17.6, and 17.7. You will find new features, APIs, and various improvements. Highlights include the 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., Font Library, and Block Bindings API.
HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. API
WordPress 6.5 brings significant updates to the HTML API. The 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.) processer has received a major overhaul and a further amount of the HTML specification is now supported. If you have been sub-classing WP_HTML_Tag_Processor, there are some specific changes you should pay attention to.
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.
The Performant Translations feature plugin has been merged into Core. The new translation system is much faster and uses less memory with the new .l10n.php format; it also continues to support all three existing translationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. formats: .l10n.php, .mo, and .po files. Two new filters translation_file_format and load_translation_file are introduced.
AVIF support comes to 6.5. AVIF is a modern image format that can be up to 50% smaller than JPEGs while maintaining the same image quality. You can now upload/edit/resize/save AVIF images if supported by your hosting environment. The way you operate on AVIF images remains the same as with other existing image formats. If you run 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, there is a FAQ just for you.
The Script Modules API brings native 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/. Module support to 6.5 and provides two modules for use with the WordPress Interactivity API.
It is strongly recommended that developers currently utilizing JavaScript modules in their extensions migrate to the Script Modules API.
A 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’s dependencies can be declared by using a new Requires Plugins 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. in the dependent plugin’s main file. The header must contain a comma-separated list of 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/-formatted slugs.
Example:
/** * Plugin Name: Bridge for Foo and Bar * Requires Plugins: foo, bar */
Dependency slug conditions:
Dependent plugins hosted on WordPress.org can only declare dependencies that are also hosted on WordPress.org.
Dependent plugins not hosted on WordPress.org can declare dependencies whether hosted on WordPress.org or elsewhere.
Declaring a plugin dependency places the following requirements:
Requirements on dependent plugins:
Cannot be installed until its dependencies are installed.
Cannot be activated until its dependencies are activated.
Requirements on dependency plugins:
Cannot be deactivated while its dependents are activated.
Cannot be deleted while its dependents are installed.
The following features are not currently supported:
Version management
Must-Use plugins as dependencies
Themes that require plugins
Automatic deactivation of dependent plugins
A new 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.wp_plugin_dependencies_slug has been introduced to allow for alterations to dependency slugs.
A new class WP_Plugin_Dependencies has been introduced with public API methods available.
The UIUIUser interface of the plugin row the plugin row has been changed to reflect a plugin’s dependencies/dependents. The UI of dependent plugin cards has been changed to reflect its dependencies, with modal links to install and activate them first.
Automatic redirection from Plugins > Add New is no longer performed upon activation of a plugin.
Props to @cosdev for review.
Additional Changes
External Libraries
The following libraries were updated to the latest versions:
wordpress/scripts version 17 has dropped official support for unmaintained Node.js versions. The oldest supported Node.js version is now Node.js 18. (Misc Editor Dev Changes)
Classic themes can now opt in to appearance tools support. (#60118)
Media
Control of jpeg progressive image output has been enabled. A new image_save_progressive filter has been added, which controls whether intermediate image sizes are saved in a progressive format (when available). By default, progressive image output is disabled, matching the current behavior. (#21668)
Permalinks
Caddy web server: support pretty permalinks when Caddy web server is detected. (#41877)
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/.
A featured_media field for 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. (also known as a poster image) has been added to the REST API wp/v2/media attachments endpoint. (#41692)
Site Health
Site ID has been included in the debug data on multisite installations. (#60081)
Upgrade/Install
During bulk upgrades, a theme upgrade is now checked for satisfying the minimum WordPress version or the server PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher version. This was previously done for plugins, but not themes. (#59758)
New/Modified 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.
Introduced in WordPress 6.5, the Font Library allows users to manage fonts directly in the editor. It comes with a set of APIs that allow developers to control, adapt, and disable its behavior.
Font Collections
A Font Collection is a list of font family definitions that can be installed by the user via the editor. The font family definition is a fontFamily item in theme.json format. By default, WordPress 6.5 allows users to opt-in to a collection listing for Google Fonts. To allow sites to remain GDPR compliant, installing a Google Font downloads the file to the WordPress server.
When a Font Collection is registered, it will appear in the Font Library UIUIUser interface in the editor. From here, users can install and activate fonts from the collection.
Adding a Font Collection
A new Font Collection can be added using the wp_register_font_collection() function. This can be done by supplying a list of font families and their font faces in either PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher or 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. format as part of the Font Collection array.
Here is an example of adding a Font Collection in PHP:
Please note that the name and description fields of the Font Collection array must be translatable, which can be achieved by wrapping the strings in the _x() function. Font Family names are not typically translated. For more information and background discussion, see #60509.
JSON format for the font_families field can be a local path or a remote URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org that points to the JSON file.
Removing a Font Collection
A Font Collection can be disabled by using the wp_unregister_font_collection() function. Here is an example which disables the default font collection:
Fonts definitions are based on the theme.json format for font settings. “Installing” a font to the site saves the theme.json formatted settings from the collection into the database, so the font can be activated for any theme.
When the font is “activated,” the Global Styles settings for the theme are updated so that the font is included, along with the fonts defined by the theme, and can be used in the typography settings for Global Styles and individual blocks.
When switching to a new theme, installed fonts need to be re-activated, to update the site’s Global Styles settings for that theme. If Global Styles for a theme are reset, this will deactivate all installed fonts, but they will remain installed on the site and can be reactivated as desired.
Additionally, the Font Library can be used to deactivate fonts included with the theme, if they aren’t needed, to improve the loading performance of the site.
Customizing the Fonts Upload Directory
Please note that some of the following details, such as function names, may change prior to the 6.5 release. For more information, see #60751 and 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/ issue #59699.
By default, fonts will be uploaded to the wp-content/fonts directory. However, this location can be customized as required using the font_dirfilterFilterFilters 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.. For installations that don’t support modification of the wp-content directory, wp-content/uploads/fonts will be used as a fallback directory.
It is possible to return the location of the fonts upload directory by using wp_get_font_dir().
The example below changes the fonts directory to the WordPress “Uploads” directory (by default, this is wp-content/uploads):
$fonts_dir = $uploads_basedir . '/fonts'; // Generate the URL for the fonts directory from the font dir. $fonts_url = str_replace( $uploads_basedir, $uploads_baseurl, $fonts_dir );
When modifying the upload location, it is important to ensure that the chosen location exists and has appropriate read/write permissions set.
Like the wp-content/uploads directory, the fonts upload directory will not adhere to wp_is_file_mod_allowed / DISALLOW_FILE_MODS to prevent font uploads.
Disable the 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/.
The unregister_post_type() function can be used to remove the post types associated with the Font Library and by extension the REST API:
For detailed documentation about each of the new endpoints, please refer to the REST API Handbook and #57616.
Props and a massive thank you to everyone who helped put this dev notedev 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. together:@mmaattiiaass, @grantmkin, @peterwilsoncc, @youknowriad, @get_dave, @stevenlinx, @leonnugraha.
WordPress 6.5 RC 2 was released yesterday, March 12, 2024 and Gutenberg 17.9 was released earlier today. Please continue to help test and provide feedback.
Forthcoming Releases
Next major releasemajor releaseA release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.5
We are in the final weeks before WordPress 6.5 is scheduled to be released, with our final scheduled 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). (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). 3) scheduled for next week.
There are several important changes to our normal development process during the RC stage. For more, see this post: WordPress 6.5 Release Candidate Phase.
Please continue to test the 6.5 release. See this list of key features to test, which was published alongside WP 6.5 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. 3.
@marybaum confirmed the release team for RC3 on Tuesday, March 19, 2024. @audrasjb as the 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., with @hellofromtonya on backup and @davidbaumwald as mcpilot; @akshaya will host with @priethor as backup.
@swissspidy also shared that RC3 is the last scheduled RC before the stable release. The topmost priority should be solving the Font Library uploads location as per Josepha’s recent blog post. If you would like to help, there is an open architecture discussion where you can get involved, and a couple of remaining related PRs:
Primarily, we need to find a robust way to ensure that, when deleting a font, the font files are deleted from the right folder. If we don’t have a solution for the above by RC3 we could consider an additional fourth RC.
There are also some open Interactivity API bugs and editor bugs, but nothing severe. It would be helpful if these issues had owners. @joemcgill suggested scheduling another 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. scrub this week to review these issues and assign owners.
Next 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/ release: 18.0
Gutenberg 18.0 is scheduled for release on March 27 and will include these issues.
Discussion
The discussion today started with organizing release squads for 6.5.x and 6.6 releases.
@jorbin confirmed that we’re still looking for folks to be involved in the 6.5.x maintenance releases. Please reach out if you’re available to help with these releases – particularly if you were already involved in the 6.5 releases (but that’s not a requirement).
@priethor has a draft for a post that identifies people who have raised their hands for 6.6.
A related discussion topic is whether we should reevaluate the size of release squads prior to 6.6. This came out of the discussion following the 6.5 release squad announcement (context). There was a discussion around the pros and cons of having larger release squads, including:
Larger squads spread the responsibility that used to be focused on just one person to a bigger team. However;
It doesn’t feel like there is much need for others to help or be involved when there are so many people responsible for a release.
The more individuals, the greater number of relationships and opportunities for both cliques and interpersonal conflictconflictA conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved..
It sometimes leaves the team not knowing who should be making key decisions about features.
There were also suggestions for better documenting the responsibilities both within the release squad and within a lead group. Also, having feature leads would be helpful, i.e. folks spearheading and owning a specific big feature in a release.
@joemcgill suggested that we could review the release squad size as part of a debrief post for 6.5, and @priethor is working on a proposal for a reduced release squad that will be published in the upcoming days.
Highlighted posts
The full list of posts from the last week in CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. can be read on the agenda at this link.
Summary of the WordPress Developer Blogblog(versus network, site) meeting, which took place in the #core-dev-blog channel on 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/.. Start of the meeting in Slack.
Introducing 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. Bindings:
If you are interested in taking on a topic from this list or know someone who would be a good person to write about them, comment on the issue. Alternatively, 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.”@bph or @greenshady in Slack either in the #core-dev-blog channel or in a DM.
There were a few items brought up in the open floor session of the meeting.
@meszarosrob asked if there should be some type of boilerplate for authors who are writing advanced-level tutorials. Specifically, a list of prerequisites to link to for readers that can be reused. There was no overall consensus, particularly given that topics can be wide-ranging that no single list can cover. But it may be worth exploring.
@ndiego proposed adding a description to the Roundup tag (used for What’s new for developers? posts). This was added after the meeting since it was low-hanging fruit.
@greenshady brought up a topic to discuss async since it was the end of the meeting: Should we approve topics without a specific writer already onboard? We’ve had approved topics linger for months when this has happened in the past (and still have a few with no writers).
The live meeting will focus on the discussion of proposals and releases, updates on 6.5, and have an open floor section.
Additional items will be referred to in the various curated agenda sections, as below. If you have ticketticketCreated for both bug reports and feature development on the bug tracker. requests for help, please do continue to post details in the comments section at the end of this agenda.
Announcements
WordPress 6.5 RC 2 was released on March 12, 2024. Thanks to everyone involved and those who helped test.
Forthcoming releases
Next major releasemajor releaseA release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.5
Updates from the release squad can be shared in the Dev Chat.
Please continue to test the 6.5 release. See this list of key features to test, which was published alongside WP 6.5 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. 3.
Next 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/ release: 18.0
Gutenberg 18.0 is scheduled for release on March 27 and will include these issues.
Discussions
This week the discussion will focus on any priority topics that need to be raised before the next 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). for WordPress 6.5.
Proposed topics
Are there any priority topics needed for discussion ahead of WordPress 6.5 RC 3?
Update on A Call for 6.6 release squad
Should we reduce the number of leads on a release squad?
Feel free to suggest additional topics related to this release in the comments.
CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor Updates
Color and typography presets that are defined in theme variations are now exposed within the color and typography sections of Global Styles.
List 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. items can now be indented using the tab key.
Users can now shuffle between random patterns via the block toolbar when inserting a pattern.
Tickets for 6.5 will be prioritized. Please include detail of tickets / PR and the links into comments, and if you intend to be available during the meeting if there are any questions or will be async.
“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.
As with Gutenberg 17.8, many contributors are still focused on polishing for the upcoming WordPress 6.5 release, so this Gutenberg release continues to prioritize stability and 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. Enhancements and new features are highlighted below.
As a reminder, with WordPress 6.5 now 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). phase, bug fixes from the Gutenberg 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 are backported for inclusion in 6.5 as needed. However, new features in Gutenberg 17.9 will not be included in WordPress 6.5.
Color and typography presets that are defined in theme variations are now exposed within the color and typography sections of Global Styles. This new feature allows users to mix and match color presets or typography from different variations, offering greater flexibility for designs from a given theme. (56622)
Indenting List 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. items via the tab key
The List block now supports indenting and outdenting when the selection is at the beginning of the List item. This improves the usability of the List block by allowing indenting via the keyboard, while still preserving existing tabbing behavior in the editor canvas when the selection is elsewhere within the block. (59199)
Shuffle option when choosing patterns
When a pattern is inserted and has categories defined, and where the pattern contains a single top-level block such as a Group block, a shuffle button is exposed in the block toolbar that allows a user to cycle through random patterns. This makes it easier to quickly browse through a variety of available patterns in specific scenarios. (59251)
Swap Template Parts in the Inspector
When selecting a Template Part in the site editor, the replace flow is now more discoverable with previews of alternate Template Parts available to select from the block inspector controls. This allows for a more at-a-glance approach to browsing different options for swapping out headers and footers. (55128)
Other Notable Highlights
Background images can now be set in the root of theme.json to provide site-wide background images (59354). There is currently no UIUIUser interface for it in Global Styles, and this will be explored in future releases.
For container blocks that use allowedBlocks, insert before and after actions are now supported on child blocks (59162).
Use drag handles to set row and column span and see a dotted outline of block placement when the new “Grid interactivity” experiment is enabled (59052).
Changelog
Full changelog available
Enhancements
Data Views
Apply hover styles to 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. chip while being configured. (59236)
Display all checkboxes when a single item is selected. (59233)
Pages data view: Make ‘View’ button open a new tab. (59554)
Update 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. titles for Template and Page management data views. (59011)
Global Styles
Add background image to top-level 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. styles. (59354)
Add color and typography presets to Global Styles. (56622)
Create a shared component for typography previews. (59503)
Enqueue block custom CSSCSSCascading Style Sheets. only when block renders on the page. (58991)
Style Book: Should persist when browsing global styles panels. (59261)
Block Library
Introduce the ‘useUploadMediaFromBlobURL’ utility hook. (59350)
Remove redundant copy from PanelBody titles. (59278)
Template Parts: Add a replace flow to the inspector controls. (55128)
Site Editor
Block Theme Previews: Remove “Looking for Template Parts?” hint. (59092)
Remove the site editor sidebar navigation edit button. (59335)
Scale the zoomed out mode to fit available space. (59342)
View full zoomed out mode canvas while inserting patterns. (59337)
Update the spacing in the font collection panel. (59357)
Post Editor
Editor: Standardize 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. button size to 32px. (58532)
Add Shuffle option to sections via pattern categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.. (59251)
Use block naming for marking blocks as overridable in patterns. (59268)
Components
Storybook: Add mechanism to redirect moved stories. (59181)
Nested / Inner Blocks
InnerBlocks: Support insert before/after block actions when using allowedBlocks. (59162)
Plugin
Update cherry pick script to add Backported to WP Core label for backports. (58970)
Bug Fixes
Block Library
Columns: Correctly recalculate column widths when the column count is increased by more than 2 at once. (59301)
Group: Fix alignment of Group block placeholder text. (59271)
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.: Don’t show publicly non-queryable taxonomies. (59458)
Image: Remove scrolling of empty image blocks. (59305)
Site Logo: Update URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for site icon settings with fallback for WP coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. versions earlier than 6.5. (59485)
Site Logo: Update capitalization of Use as Site Icon toggle. (59383)
Title & 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.: Hide non content controls when block editing mode is ‘contentOnly’. (59295)
Font Library
Avoid creating font families without font faces. (59436)
Avoid loading theme fonts twice and assume they were already resolved by the font face resolver. (59421)
Changed installFont to installFonts so that multiple font families can be installed at once. (59451)
Fixed the font family modal to open in state when a font is already selected. (59379)
Font collection pagination: Add min height to avoid infinite number. (59241)
Hide UI elements when user lacks permissions. (59332)
Load/Unload the font face in browser when toggling the variants. (59066)
Use SearchControl component for search input. (59589)
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.
Fix navigate() issues related to initial state merges. (57134)
Navigation: Add missing empty space to print out valid HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.. (59255)
Prevent unwanted subscriptions to inherited context props. (59273)
HStack, VStack: Stop passing 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. props. (59416)
Rich text: Fix typing into empty flex element. (59473)
URLPopover: Fix a problem with the layout of link settings. (58906)
Fix issue with appender jumping when creating a new pattern. (59582)
Allow event bubbling even if keydown is passed. (59474)
Custom Fields
Block Bindings: Fix console error when selecting a bound block. (59598)
Change default “Connected to a custom fieldCustom FieldCustom Field, also referred to as post meta, is a feature in WordPress. It allows users to add additional information when writing a post, eg contributors’ names, auth. WordPress stores this information as metadata. Users can display this meta data by using template tags in their WordPress themes.” message in bindings. (59434)
Fix inserting button block when pressing enter in a block with bound text attribute. (59361)
Fix query loop with block bindings not working in the editor as expected. (59283)
Data Views
DataViews: Don’t use combobox when there are few available options. (59341)
DataViews: Set color for primary field/a element when focused. (58814)
Ensure ResizableFrame does not force Cover blocks within the editor to show drag handles. (59262)
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.: Scale html instead of iframe element for zoomed out mode. (59334)
Zoom out mode: Only apply grey background for mode. (59377)
Site Editor: Fix Global Styles outdated output. (59628)
Fix site editor crashing when not fully loaded. (59658)
Global Styles
Dynamically set border panel label based on the controls available. (59358)
Shadow: Fix layout collapse when indicator is selected. (59309)
Theme JSON: Check for null values to cater for blockGap. (59258)
Remove the extra unneeded color variations panel. (59718)
Post Editor
Command Palette: Prevent mode switching if only one editor mode is available. (59299)
Editor: Fix post type check in isEditingTemplate selector. (59105)
Top Toolbar: Fix ‘collapsed’ state synchronization. (59267)
Block 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.
Display toggle for hooked blocks added via filter. (59396)
Navigation Block: Fix erroneous escaping of ampersands. (59561)
Patterns
Disable image caption if part of synced pattern. (58916)
Disable selection checkbox if no bulk actions are eligible. (58950)
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)
Docs: Fix typo in blocks attributes guide. (59571)
Docs: Remove TOC, update formatting, and fix grammar in Interactivity API reference. (59406)
Fix @wordpress/interactivity module ID in documentation. (59419)
Fix: Multi line comment format on footnotes block. (59312)
Format PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher inline comments correctly. (59452)
Interactivity API Docs: Add async actions documentation. (59401)
Interactivity API Docs: Add initial version of getContext and getElement. (59293)
Interactivity API Docs: Add server functions documentation. (59373)
Interactivity API Docs: Add withScope description. (59542)
Interactivity API Docs: Fix code not closing. (59395)
Interactivity API Docs: Update image with WordPress Make Core source. (59281)
Interactivity API Docs: Merge Interactivity documentation to keep consistency with other packages. (59270)
Theme JSON Tests: Refactor base styles to a static variable. (58975)
Update: Simplify code and use capture events instead of pointer-events hack. (59565)
l10nL10nLocalization, or the act of translating code into one's own language. Also see internationalization. Often written with an uppercase L so it is not confused with the capital letter i or the numeral 1. WordPress has a capable and dynamic group of polyglots who take WordPress to more than 70 different locales.: Unify terminology to screen size. (59456)
Block Library
BlockPopover: Remove __unstableCoverTarget and __unstableRefreshSize in favour of BlockPopoverCover. (59228)
SnackbarList, Snackbar: 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.. (59157)
Global styles: Rename typography elements file. (59355)
Synced Patterns
Remove unneeded pattern overrides translationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. strings. (59269)
Navigation Menus
Revert removal of Nav fallback auto embed. (59220)
Tools
Testing
Add a fixture for the wp/block pattern block current version with overrides. (59492)
E2E: Refactor setup method to support class inheritance in RequestUtils. (59362)
Migrate ‘autosave’ end-to-end tests to Playwright. (58171)
Playwright: Pass the payload to createPost in data instead of query params to avoid URI too long errors. (59463)
You must be logged in to post a comment.