WordPress 6.1 Release Candidate 5 (RC5) Now Available for Testing

WordPress 6.1 is scheduled for release next week on November 1, 2022! This RC5 release is the last milestone for testing ahead of the official release.

The following issues have been addressed since RC4:

  • get_attached_file(): New call to path_join() can have poor performance on NFS file systems (see #56924)

Thank you to all of the contributors who tested the BetaBeta A 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 candidate One 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). releases and provided feedback. Testing is a critical part of making each release strong and a great way to contribute to WordPress.

Installing RC5

This version of the WordPress software is under development. Please do not install, run, and test this version of WordPress on production or mission-critical websites. Instead, it is recommended that you install RC5 on a test server and site. 

You can test WordPress 6.1 RC5 in three ways:

Option 1: Install and activate the WordPress Beta Tester pluginPlugin A 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 edge The latest revision of the software, generally in development and often unstable. Also known as trunk.” channel and “Beta/RC Only” stream).

Option 2: Direct download the release candidate version (zip).

Option 3: Run the following command to upgrade via WP-CLIWP-CLI WP-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/:
wp core update --version=6.1-RC5

Plugin and Theme Developers

All plugin and theme developers are encouraged to complete testing of their respective extensions against WordPress 6.1 RC5 and update the “Tested up to” version in their readme file to 6.1 this week. If you find compatibility problems, please post detailed information to the support forums, so these items can be investigated promptly.

Review the WordPress 6.1 Field Guide, for more details on this release.

You can find additional information on the entire 6.1 release cycle.

Check the Make WordPress Core blog for 6.1-related developer notes for further details on the 6.1 release.

How to Help Test WordPress

Testing for issues is critical for stabilizing a release throughout its development. Testing is also a great way to contribute to WordPress. If you are new to testing, check out this detailed guide that will walk you through how to 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 bugbug A 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. report, you can file one on WordPress Trac. This is also where you can find a list of known bugs.

Can you speak and write in a language other than English? Help translate WordPress into more than 100 languages!


Haikus for RC5

Here’s two haikus for this final RC.

How about one more?
Getting closer and closer
Have you tested yet?

Last minute backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch.
Networked storage is tricky
Let’s make it faster


Props @davidbaumwald, @cbringmann, and @jpantani for post publish review, and @mikeschroder for the second haiku.

#6-1, #releases

Dev Chat summary, October 27, 2022

Notes from the weekly WordPress developers chat held in the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. channel on the Make WordPress SlackSlack Slack 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 on Slack.

The meeting was led by @marybaum and @webcommsat.

1. Welcome

Agenda followed for the meeting.

Summary from dev chat on October 19, 2022 thanks to @marybaum.

2. Announcements

Today is the last dev chat before 6.1 launches on Tuesday.

WordPress 6.1 Release Candidate 3 is now available. Thank you to everyone who supported this and to the testers at the release party.

3. Blogblog (versus network, site) posts of note

@audrasjb gives a summary and thanks all the people involved on core tickets in the latest A Week in Core.

@priethor has published a guide to the final release process. You can start testing and other preparations for the big day now!

@sabernhardt discusses some new markup and styles in the world of Multisite.

@estelaris showcases a new design for HelpHub.

Gutenberg 14.4 has been released by first-time release leadRelease Lead The community member ultimately responsible for the Release. @JuanMe and is available in the plugin repo – Make blog post will be published tomorrow.

4. Releases

The following updates on 6.1 were shared or received by the release squad members.

@desrosj: two issues have been identified as potentially necessary fixes for an Release Candidaterelease candidate One 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). 4 (RC4), which is safe to anticipate at some point tomorrow.

Update from October 27, 2022: @desrosj and @priethor referred to the Release Day process post. This Release Day post will be kept updated as needed.

5. Components and tickets

a) @sergeybiryukov: Upgrade/Install component: Bringing attention again to the call to action for testing the Rollback feature on make/hosting.

Build/Test Tools component: A new workflow was introduced for testing and building default themes. Thanks @desrosj and @peterwilsoncc! Visit ticketticket Created for both bug reports and feature development on the bug tracker. #56898 for more details.

I18Ni18n Internationalization, 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. component: A performance issue in WP_Textdomain_Registry was identified and resolved. Thanks @swisspidy, @flixos90, @jonnyharris (check id), @ocean90, @costdev. More details on ticket #39210.

Date/Time, General, Permalinks component: No major news this week.

b) Testing PluginPlugin A 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 Dependencies

@afragen gave a reminder on the call to action for testing Plugin Dependencies. He requested feedback from hosting companies who have not as yet replied on the Rollback Updater Failure. The full discussion can be read in Slack – please note that there are some message threads as part of this discussion too.

@hellofromtonya added: “The goal is to collect data and feedback on shared web hosting platforms to address concerns. As many web hosts can get involved, the better.”

c) Mary shared a message from @nalininonstopnewsuk: Nalini has been supporting a new contributor, @Robin, who wants to get more involved with the project. He is interested in helping with the components, after coming to dev chat and hearing about them. He may be able to help with the login/ registration component. Nalini has suggested he comes along with her to some scrubs for the Quick/ Bulk Edit component and follows some tickets to learn more about components and TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.. She also asks if a maintainer in the APAC timezone would be able to share with this contributor how they maintain a component. There is currently no maintainer for the login/ registration component.

6. Open Floor

@pbiron drew attention to a discussion in core earlier in the week. Read the discussion in full in the Make WordPress Slack. The discussion focused on changes to the plugin that are not released into the wild in the form of a GutenbergGutenberg The 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 for any testing/confirmation before being ported over for inclusion in Core (especially for a major releasemajor release A 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. during RCrelease candidate One 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).).

Props to: @webcommsat for the dev chat summary, and to @marybaum for review.
Thank you too to those who confirmed various sections.

#6-1, #dev-chat, #summary

WordPress 6.1 Release Candidate 4 (RC4) Now Available for Testing

WordPress 6.1 is scheduled for release next week on November 1, 2022! This RC4 release is the last milestone for testing ahead of the official release.

The following issues have been addressed since RC3:

  • Global Styles: Not working for third-party blocks (see #56915)
  • WP_Theme_JSON_Resolver::get_user_data_from_wp_global_styles is incorrectly cached (see #56901)

Thank you to all of the contributors who tested the BetaBeta A 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 candidate One 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). releases and provided feedback. Testing is a critical part of making each release strong and a great way to contribute to WordPress.

Installing RC4

This version of the WordPress software is under development. Please do not install, run, and test this version of WordPress on production or mission-critical websites. Instead, it is recommended that you install RC4 on a test server and site. 

You can test WordPress 6.1 RC4 in three ways:

Option 1: Install and activate the WordPress Beta Tester pluginPlugin A 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 edge The latest revision of the software, generally in development and often unstable. Also known as trunk.” channel and “Beta/RC Only” stream).

Option 2: Direct download the release candidate version (zip).

Option 3: Run the following command to upgrade via WP-CLIWP-CLI WP-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/:
wp core update --version=6.1-RC4

Plugin and Theme Developers

All plugin and theme developers are encouraged to complete testing of their respective extensions against WordPress 6.1 RC4 and update the “Tested up to” version in their readme file to 6.1 this week. If you find compatibility problems, please post detailed information to the support forums, so these items can be investigated promptly.

Review the WordPress 6.1 Field Guide, for more details on this release.

You can find additional information on the entire 6.1 release cycle.

Check the Make WordPress Core blog for 6.1-related developer notes for further details on the 6.1 release.

How to Help Test WordPress

Testing for issues is critical for stabilizing a release throughout its development. Testing is also a great way to contribute to WordPress. If you are new to testing, check out this detailed guide that will walk you through how to 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 bugbug A 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. report, you can file one on WordPress Trac. This is also where you can find a list of known bugs.

Can you speak and write in a language other than English? Help translate WordPress into more than 100 languages!


A Haiku for RC4

One last step needed
Making six point one better
Together we launch


Props @davidbaumwald and @cbringmann for post publish review, and @jpantani for the haiku.

#6-1, #releases

WordPress 6.1 Release Day Process

Preparation for WordPress 6.1 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.

Release Timeline Overview

The current plan is:

Edit History

  • October 27th: Dry Run was rescheduled to start earlier, as proposed in #6-1-release-leads.
  • October 31st: Provided RC6 launch, 24-hour code freeze start time, and release party start time.

Dry Run ✅

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 2022-10-31 14:00. You are invited to observe and/or participate. It’ll happen in the #core Slack channel.

What happens during the dry run?

  • Review bugbug A 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 candidate One 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 candidate One 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. This locking period started on 2022-10-31 23:29.

What does this mean? No source code for 6.1.0 (i.e., in the 6.1 branchbranch A 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 blocker.

  • 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.1.1.

The Stable Release Party 📅

The final release will occur on 2022-11-01 23:30 in #core.

The release party on November 1st 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 betaBeta A 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 different server configurations available. 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 PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher and MySQLMySQL MySQL 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 even start this early by running the WordPress 6.1 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-CLI WP-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.37, 4.9.22, 5.8.6, 5.9.5, 6.0.3, and 6.1 RC3, as well as any other versions possible.
  • Remove the wp-config.php file and test a fresh install.
  • Test single site and multisitemultisite Used 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.
  • Does it upgrade correctly? Are the files listed in $_old_files removed when you upgrade?
  • Does multisite upgrade properly?

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 pluginPlugin A 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.

Props to @desrosj and @zoonini for peer review.

#6-1, #core, #release-process

A Week in Core – October 24, 2022

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between October 17 and October 24, 2022.

  • 49 commits
  • 75 contributors
  • 63 tickets created
  • 12 tickets reopened
  • 51 tickets closed

The Core team is currently working on the next major releasemajor release A 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., WP 6.1 🛠

Ticketticket Created 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

  • Update the Dashboard welcome banner for 6.1 – #56703

Bootstrap/Load

  • Correct sending the X-Pingback headerHeader The 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 WP::send_headers()#56840

Build/Test Tools

  • Ensure PHPCSPHP Code Sniffer PHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS. related workflows are properly marked as failed – #55652
  • Hardcode the ref for the workflow dispatch on failure – #55652
  • Remove use of set-output in Action workflows – #56820
  • Update third-party welcome Action – #56793
  • Add a test case for safecss_filter_attr() with object-position property – #56793
  • Correct the wp_theme_json_data_default filterFilter Filters 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. name in assertion messages – #56796, #56835
  • Increase test coverage for WP_Theme_JSON_Resolver#56835
  • Make the message for skipping some tests with an external object cache more consistent – #56793
  • Move padding-* test data in KSES tests into its own test case – #56793

Bundled Themes

  • Twenty Twenty-Three: Sync the latest fixes for RC2 – #56383

Coding Standards

  • Use strict comparison in wp-admin/update-core.php#56866

Docs

  • Add missing default parameter value in themes_api() docblockdocblock (phpdoc, xref, inline docs)#56862, #56792
  • Add missing default parameter value in trackback_response() docblock – #56867, #56792
  • Align spelling with American English – #56811, #56792
  • Align spelling with American English – #56811, #56792
  • Document the usage of $wp_query global in WP_Media_List_Table::display_rows()#56839

Editor

  • Add font size constraints for fluid typography – #56467
  • Fix legacy group inner blockBlock Block 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. wrappers in constrained layouts – #56467
  • Fix modal height responsiveness on link popup editor – #53174
  • Update packages for 6.1 Release Candidaterelease candidate One 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). 2 – #56467
  • Allow arrays for deprecated asset types in block registration – #56707

Embeds

  • Broaden the Tumblr oEmbed matcher to include all Tumblr URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org structures – #56733

General

  • Correctly refer to “npm” and “Node.js” – #56816

Help/About

  • Restore the correct header image for WordPress 6.1 – #56703
  • Typo correction in Dashboard Screen Options – #56884
  • Update copy & style for About page and subpages – #56357
  • Update the About header image – #56703, #56357

I18Ni18n Internationalization, 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.

  • Change how WP_Textdomain_Registry stores the default languages path – #39210

KSES

  • Display a notice if any of the required globals are not set – #47357

Media

  • Add object-fit to the allowed list of CSSCSS Cascading Style Sheets. properties – #56855

Networks and Sites

  • Revert the use of the metadata APIAPI An 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. for *_network_options functions – #56845, #37181

Query

  • Remove placeholder from query cache key. – #56802

Role/Capability

  • Revert the newly added update_role function for 6.1

Upgrade/Install

  • Add a conditional to facilitate testing of the Rollbacks feature project – #56057

Props

Thanks to the 75 people who contributed to WordPress Core on Trac last week: @xknown (10), @peterwilsoncc (9), @audrasjb (8), @SergeyBiryukov (7), @martinkrcho (6), @bernhard-reiter (5), @costdev (5), @paulkevan (5), @jrf (4), @davidbaumwald (4), @kebbet (4), @sabernhardt (4), @spacedmonkey (4), @mukesh27 (4), @dd32 (3), @richtabor (3), @johnbillion (3), @andrewserong (2), @rezakhan995 (2), @ehtis (2), @timothyblynjacobs (2), @tykoted (2), @desrosj (2), @cbravobernal (2), @voldemortensen (2), @isabel_brison (2), @pbiron (2), @ironprogrammer (2), @poena (2), @webcommsat (1), @johnjamesjacoby (1), @bph (1), @courane01 (1), @strategio (1), @rinatkhaziev (1), @dlh (1), @chaion07 (1), @dansoschin (1), @dhl (1), @talldanwp (1), @noisysocks (1), @mikachan (1), @beafialho (1), @kafleg (1), @vortfu (1), @matveb (1), @annezazu (1), @Joen (1), @rebasaurus (1), @gziolo (1), @raduiason (1), @ckanderson22 (1), @ivanjeronimo (1), @seriouslysenpai (1), @manfcarlo (1), @doctorlai (1), @pento (1), @KnowingArt_com (1), @bosconiandynamics (1), @TJNowell (1), @nendeb55 (1), @sergeybiryukov (1), @pavelschoffer (1), @flixos90 (1), @ocean90 (1), @upadalavipul (1), @saumil1611 (1), @rakibwordpress (1), @ramonopoly (1), @TobiasBg (1), @afragen (1), @ryelle (1), @adampickering (1), @mikeschroder (1), and @peterwiloncc (1).

Congrats and welcome to our 9 new contributors of the week: @rezakhan995, @raduiason, @ckanderson22, @ivanjeronimo, @seriouslysenpai, @doctorlai, @KnowingArt_com, @pavelschoffer, @saumil1611 ♥️

Core committers: @audrasjb (14), @sergeybiryukov (12), @davidbaumwald (8), @desrosj (6), @ryelle (2), @jorbin (2), @bernhard-reiter (1), @swissspidy (1), @joedolson (1), @pento (1), and @spacedmonkey (1).

#6-1, #core, #week-in-core

Dev Chat summary, October 19, 2022

Notes from the weekly WordPress developers chat held in the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. channel of the Make WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/..

The start of the meeting on Slack.

1. Welcome

@webcommsat and @ndiego led the weekly WordPress developers chat meeting on this agenda.

Last week’s summary – October 12, 2022.

2. Announcements

WordPress 6.1 Release Candidate 2 was released on Tuesday, October 18, 2022, and is available for testing. For reference on how to help test WordPress, check out this comprehensive guide.

The What’s new in Gutenberg Plugin 14.3 article was published last week detailing all of the enhancements in GutenbergGutenberg The 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/ 14.3.

On Monday, October 17, 2022, there was a WordPress 6.0.3 Security Release. This is a major security update with a dozen of fixes. Everyone is encouraged to update to 6.0.3.

3. Blogblog (versus network, site) Posts of Note

4. Upcoming Releases

The next major WordPress release is 6.1. As mentioned above, WordPress 6.1 Release Candidate 2 is available for testing. You can find the latest developer notes at the dev-notes-6-1 tagtag A 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.).

@audrasjb gave a triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. report that we have 9 tickets in the milestone, and everyone is welcome to help move them toward a resolution before RC3.

@ndiego gave a triage report for the Editor that there is still a handful of issues/PRs that are being worked through.

@webcommsat shared that a couple more bugbug A 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 are scheduled in the coming weeks.

@jeffpaul emphasized the need for help on the outstanding TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. and GitHubGitHub GitHub 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/ issues and encouraged folks to continue testing RC2. We are less than 2 weeks away from release!

@pbiron raised an issue related to the 6.0.3 security release: #56855: Featured Image bug in 6.0.3. The full discussion on this topic is available in Slack starting here, which resulted in a patchpatch A 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. being created.

Concerning the translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. of the upcoming release, @audrasjb indicated that there have been some string changes. @webcommsat shared that translations for WordPress can be submitted via the related projects on translate.wordpress.org. The newest default theme, Twenty Twenty-Three, is also available for translation. The monthly polyglot newsletter will be out soon and have more information on this.

5. Maintainers and Tickets

a) Component Maintainers updates

@sergeybiryukov reported that for Upgrade/Install, a call to action for testing the Rollback feature was posted on the Make Hosting blog. There was no major news for Build/Test Tools, Date/Time, General, I18Ni18n Internationalization, 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., or Permalinks.

@webcommsat reported that the next bulk/edit and About/Help components scrub and triage will be held Monday, October 24, 2022, at 20:00 UTC. The scrub this week was postponed.

b) Tickets to highlight

There were no tickets highlighted.

5. Open Floor

@pbiron shared the patch that he put together for the Featured ImageFeatured image A 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. bug (#56855) that he highlighted in the Upcoming Releases section of the Dev Chat.

@webcommsat reported that the Documentation Team will be holding its first dedicated Contributor Day in #docs on October 25, 2022.

Next meeting: Wednesday October 26, 2022 at 20:00 UTC

Props to @webcommsat for meeting preparation and to @webcommsat and @ndiego for facilitating and collaborating on the summary.

#6-1, #core, #dev-chat, #summary

A Week in Core – October 17, 2022

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between October 10 and October 17, 2022.

  • 73 commits
  • 141 contributors
  • 67 tickets created
  • 7 tickets reopened
  • 100 tickets closed

The WordPress Security Team released WordPress 6.0.3 🚀

The Core team is currently working on the next major releasemajor release A 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., WP 6.1 🛠

Ticketticket Created 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

Build/Test Tools

  • Add missing newline character on unit tests files after [54443]#56611
  • Add unit testunit test Code 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. for non-existing blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.-styles registration – #56664
  • Expand unit tests for theme.json#56611
  • Remove note about some PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher versions being allowed to fail – #56009
  • Update third-party GitHubGitHub GitHub 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 – #56820
  • Delete leftover image sub-sizes after WP_Customize_Manager tests – #56807
  • Relocate the tests for recommended PHP, MySQLMySQL MySQL 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/., and MariaDB versions – #45867
  • Revert unintentional change in [54508]#56817
  • Temporarily skip WOFF file test on PHP 8.2 – #56817
  • Use assertSame() in some WP_Theme_JSON tests – #55654

Bundled Themes

  • Bump version numbers for 6.1 – #56450
  • Twenty Nineteen: Add missing compiled CSSCSS Cascading Style Sheets. declarations after [54413]#55981
  • Twenty Seventeen: Prevent scaling issues on featured images using Safari on iPadOS – #48195
  • Twenty Ten: Adjust Pullquote Block paragraph font size – #56730
  • Twenty Twenty-Three: Bug fixes and improvements for RC1 – #56383

Cache APIAPI An 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.

  • Introduce wp_cache_supports() function – #56605

Code Modernization

  • Add AllowDynamicProperties attribute to recently introduced classes – #56513, #56034

Coding Standards

  • Remove two unnecessary spaces – #55647

Comments

  • Consistently normalize user_ID to user_id in wp_new_comment()#56244
  • Return early from comment_form() if an invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. post ID is passed – #56243

Docs

  • Clarify default values for a few block function parameters – #56596
  • Correct parameter name for deleted_{$meta_type}meta action – #56806
  • Fix $cache_headers param type in site_status_page_cache_supported_cache_headers#56805, #55646
  • Fix typo in a @since note for _get_cron_array()#55646, #56792
  • Improve wp_get_object_terms() return type – #56327, #55646
  • Inline comment typo correction in wp_image_file_matches_image_meta()#55646, #56792
  • Various improvements to inline docblocks – #55646

Editor

  • Add test data for Fluid Typography – #56467
  • Bump wordpress packages for 6.1 Release Candidaterelease candidate One 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 – #56467
  • Change gutenberg_get_typography_font_size_value() calls to wp_get_typography_font_size_value()#56467
  • Dynamic site editor template names performance improvements – #56467
  • Ensure WP_Query and WP_Term_Query results are referenced properly when creating dynamic template names for use in the site editor – #56467
  • Fix PHP notice in WP_Block_Supports when no attributes declared – #56799
  • Fix performance regressionregression A 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 WP_Theme_JSON_Resolver – #56467
  • Fix version in WP_Theme_JSON_Resolver::get_block_data() – #56467
  • Merge latest fluid typography bugfixes for 6.1 Release Candidate 1 – #56467
  • Reinstate old persistence system configuration for the block editor usage data – #56778
  • Remove extra line break in build_template_part_block_instance_variations()#56467
  • Rename new theme_json_{$context} filters – #56796
  • Global Styles: Improve performance of WP_Theme_JSON::get_merged_data method – #56467

Embeds

  • Revert Google Data Studio as trusted provider – #55771

External Libraries

  • Further fix jQuery deprecations in WordPress core – #51812

Formatting

  • Strip object replacement characters from slugs – #55117

General

  • Remove instances of _wp_http_referer from GET forms in the adminadmin (and super admin)#54106

Help/About

  • Update the About page for 6.1 – #56357

I18Ni18n Internationalization, 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.

  • Revert [54469]#37287
  • Use wp.i18n._n() for plural forms in wp_print_admin_notice_templates()#37287

Login and Registration

  • Rename is_login_screen() function to is_login()#19898, #56400

Menus

  • Remove .menu-item-has-children on wp_nav_menu last level menu items when $depth arg is used – #28620

Networks and Sites

  • Ensure fileupload_maxk is an int to avoid potential fatal errors – #55926

Posts, Post Types

  • Ensure all entries in the list returned by wp_parse_list() are scalar – #55838

Query

  • Avoid PHP notices when get_queried_object() returns null#29660
  • Prevent PHP notice when get_post_type_object() returns null in is_post_type_archive()#56287

REST APIREST API The 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/.

  • Simplify the check for an array of arrays in register_rest_route()#56804

Security

  • Comments: Apply kses when editing comments
  • Customize: Escape blogname option in underscores templates
  • General: Validate host on “Are you sure?” screen
  • Mail: Reset PHPMailer properties between use
  • Media: Refactor search by filename within the admin
  • Pings/trackbacks: Apply KSES to all trackbacks
  • Posts, Post types: Apply KSES to post-by-email content
  • Posts, Post types: Remove emails from post-by-email logs
  • Query: Validate relation in WP_Date_Query
  • REST API: Lockdown post parameter of the terms endpoint
  • Widgets: Escape RSS error messages for display

TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.

  • Correct an invalid @param tagtag A 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.)#55646

Upgrade/Install

  • Provide dirpath in error messages when _unzip_file_pclzip() cannot create directories – #54477
  • Revert a temporary conditional for testing the Rollbacks feature project – #56057

Users

  • Fetch user by login in retrieve_password() if not found by email – #53634

XML-RPC

  • Avoid loopback request in blogger.getUsersBlogs#56492

Props

Thanks to the 141 (!) people who contributed to WordPress Core on Trac last week: @audrasjb (13), @SergeyBiryukov (13), @peterwilsoncc (11), @xknown (9), @desrosj (8), @mukesh27 (7), @costdev (7), @dd32 (7), @spacedmonkey (7), @martinkrcho (6), @hellofromTonya (5), @sabernhardt (5), @ironprogrammer (5), @kebbet (5), @paulkevan (5), @davidbaumwald (4), @bernhard-reiter (4), @oandregal (4), @aristath (3), @petitphp (2), @mikeschroder (2), @timothyblynjacobs (2), @pbearne (2), @chaion07 (2), @ndiego (2), @joen (2), @azaozz (2), @ocean90 (2), @robinwpdeveloper (2), @adamsilverstein (2), @annezazu (2), @jrf (2), @johnbillion (2), @voldemortensen (2), @talldanwp (2), @gunterer (2), @johnjamesjacoby (2), @ehtis (2), @tykoted (2), @BaneD (1), @maciejmackowiak (1), @archon810 (1), @cantuaria (1), @TimothyBlynJacobs (1), @johnregan3 (1), @daxelrod (1), @boblindner (1), @mrfoxtalbot (1), @azouamauriac (1), @markparnell (1), @mdgl (1), @iCaspar (1), @kucrut (1), @slobodanmanic (1), @priyomukul (1), @antonvlasenko (1), @n8finch (1), @bbobnis (1), @felipeelia (1), @donmhico (1), @nikkigagency (1), @dmsnell (1), @mjkhajeh (1), @dkotter (1), @msolution (1), @JarretC (1), @justinahinon (1), @sean212 (1), @Clorith (1), @whaze (1), @hiyascout (1), @wildworks (1), @luminuu (1), @critterverse (1), @webprom (1), @colorfultones (1), @beafialho (1), @scruffian (1), @hztyfoon (1), @poena (1), @tillkruess (1), @tahmidulkarim (1), @madhudollu (1), @mikachan (1), @daledupreez (1), @ideag (1), @bhrugesh12 (1), @datainterlock (1), @nendeb55 (1), @iamarinoh (1), @abhanonstopnewsuk (1), @marybaum (1), @richtabor (1), @jeffpaul (1), @eidolonnight (1), @laurlittle (1), @priethor (1), @cbringmann (1), @ryelle (1), @dansoschin (1), @adampickering (1), @tweetythierry (1), @sergeybiryukov (1), @skithund (1), @divyeshgodhani (1), @mukeshpanchal27 (1), @TobiasBg (1), @dariak (1), @boniu91 (1), @rakibwordpress (1), @peterwiloncc (1), @vortfu (1), @matveb (1), @courane01 (1), @flixos90 (1), @bjorsch (1), @woji29911 (1), @cbravobernal (1), @czapla (1), @sarahricker (1), @ipajen (1), @eclev91 (1), @nouarah (1), @noplanman (1), @bwbama (1), @deksar (1), @zikubd (1), @kanlukasz (1), @andrewserong (1), @utsavmadaan823 (1), @sterlo (1), @mikejolley (1), @nacin (1), @swissspidy (1), @Howdy_McGee (1), @darkskipper (1), @boonebgorges (1), @yellyc (1), @ramonopoly (1), @isabel_brison (1), and @rsiddharth (1).

Congrats and welcome to our 19 (!) new contributors of the week: @BaneD, @cantuaria, @boblindner, @iCaspar, @bbobnis, @nikkigagency, @hiyascout, @iamarinoh, @adampickering, @rakibwordpress, @woji29911, @ipajen, @nouarah, @bwbama, @zikubd, @kanlukasz, @utsavmadaan823, @darkskipper, @yellyc ♥️

Core committers: @audrasjb (30), @sergeybiryukov (16), @davidbaumwald (10), @desrosj (8), @hellofromtonya (4), @johnbillion (2), @jorgefilipecosta (1), @ryelle (1), and @peterwilsoncc (1).

#6-1, #core, #week-in-core

Dev Chat agenda, October 19, 2022

The meetings take place on Wednesdays at  20:00 UTC in the #core channel on Slack, and usually last an hour. All are welcome to attend or catch up via the summary.

About Dev Chat.

The publication of the Dev Chat agenda was held until after the WordPress 6.1 RC2 release party concluded to include the updates from this.

1. Welcome

Dev Chat summary, October 12, 2022 – thanks to @marybaum for writing it.

2. Announcements

WordPress 6.1 Release Candidate 2 is available to test.

What’s new in Gutenberg Plugin 14.3.

3. Blogblog (versus network, site) posts of note

New handbook from WordPress Core Performance.

4. Forthcoming releases

Dev Notesdev note Each 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. for 6.1 are in process, going through tech and editorial review, and published as they are ready. Find them at the dev-notes-6-1 tagtag A 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 Field GuideField guide The field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page. will be out shortly. Thanks to the efforts led by the release docs team.

WordPress 6.1 Release Candidate 1 is available to test.

Dev Notes relating to the 6.1 release.

If you have an update from release leads or any teams collaborating on related items, please add a comment.

5. Component maintainers updates / tickets / requests for help

Please add your request for tickets you would like to raise as a comment.

6. Open Floor

Please add your Open Floor item as a comment.

#6-1#agenda#dev-chat

#6-1, #agenda, #dev-chat

WordPress 6.1 Field Guide

WordPress 6.1 Release Candidaterelease candidate One 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 is out and it’s time to take a look at what changes we can expect. Release squad and many contributors worked hard on both TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. and GitHubGitHub GitHub 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/; with more than 120 enhancements and feature requests, 241 bug fixes, 42 other blessed tasks, which makes it over 400 tickets in Trac; and 50 Trac pull requests bringing GutenbergGutenberg The 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/ changes into coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. In Gutenberg repo there were 1684 pull requests of which 425 new features and enhancements and 428 bugbug A 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, while the rest is tooling, testings, documentation, and code quality.

New release comes with massive performance improvements, accessibilityAccessibility Accessibility (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) enhancements, first default blockBlock Block 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. based themes marked as accessibility ready, new hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. and functions, private functions being open for public use and many more.

Performance

With 45 Trac tickets for 6.1, 19 components got various performance improvements. The most significant improvements arrived in WP_Query and REST APIREST API The 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/., which will impact a large portion of your next page load.

If there is one thing you take from performance updates, let it be caching queries in WP_Query. It’s been a long dream for many developers and, once you test it, it will be all that you hoped for. REST API is richer for several priming caches and lighter for prepare_links (if you want it). Site Health will check your Persistent Object Cache and Page Cache, while several private Cache APIAPI An 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. functions are now public. You’ll also be able to flush cache by group, declare supported cache features, validate cache keys and more.

Besides Query, REST API, Site Health, and Cache API, performance improvements can be found in Multisitemultisite Used 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, Bootstrap, Media, Post (Post Types), Editor, Database and many other components. There are too many changes to mention them all here, but you are invited to read the Field guideField guide The field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page. on performance improvements in WordPress 6.1.

Other performance improvements:

  • Posts, Post Types – Post title should not be translatable in get_user_data_from_wp_global_styles method. #55392
  • Quick/Bulk Edit – Check the show_in_quick_edit taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. property when processing the data for bulk edited posts. #42474
  • RevisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. – Use latest_id as the array key for the latest revision ID. #55857

Accessibility

Similar to performance, accessibility improvements arrive in 28 Trac tickets, spread over 13 components. We have first block-based bundled themes marked with accessibility ready tagtag A 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.), Twenty Twenty-Three and Twenty Twenty-Two. Forms, site/template and block editors, administration screens and many more accessibility improvements are coming in with 6.1 release.

Block Editor

WordPress 6.1 is bringing 10 Gutenberg releases into core – 13.1, 13.2, 13.3, 13.4, 13.5, 13.6, 13.7, 13.8, 13.9, 14.0, and 14.1.

Among many changes in these 10 releases of the pluginPlugin A 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, a lot of effort was made in making blocks and other Gutenberg features more available in classic themes, which will ensure easier transition to hybrid and block-based themes.

New ways to extend various parts of block editor tools which were very much needed in everyday development, such as scaffolding block variants with create-block tool, content locking updates, filtering theme.json data, extending Query block, Style Engine, new ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. hooks for easier data access, and many more.

Themes

Themes are getting more control over styling elements, layout, and navigation while classic themes also get control over block-based template parts and theme.json. Read all about these in dev notesdev note Each 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. below.

Updated Settings and Styles in Theme.jsonJSON JSON, 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.

New server-side filters in WordPress 6.1 will allow hooking into theme.json data (see 56467 and 54251 for more info).

REST API

REST API gets nice improvements for /search endpoint as well as pretty-printing JSON responses, which can be added as query parameter but also controlled via rest_json_encode_options filterFilter Filters 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..

Administration

Login and Registration

Media

In 5.8 we welcomed support for WebP image format and excitement was high when generating WebP format was merged into core (54097, 54094, and 54086) for 6.1. However, this commit has been reverted in 54226 with recommendation of integrating the feature into the Canonical plugin.

Changes in #54788 allow for the muted property to be used in video elements, which solves for content that wishes to autoPlay when a page is viewed.

Database

A file containing the wpdb class is renamed from wp-includes/wp-db.php to wp-includes/class-wpdb.php to conform to the coding standards. If you’ve been including this file directly, do not worry – a new wp-db.php file is created and it’s loading the old, now renamed file. Read more in #56268.

MariaDB 10.2 has reached EOL (end of life). The minimum version of MariaDB supported is now 10.3 (see #55791).

Other developer updates

As mentioned above, WordPress 6.1 comes with a serious number of new hooks and functions, which will make Miscellaneous dev notedev note Each 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. very useful for theme and plugin developers.

But wait, there is more!

Application Passwords

Allow a Super Adminadmin (and super admin) to set an application password on a site they’re not a member of. #53224

Autosave

Block autosaving from overwriting changes when locked from editing. #55659

Cache API

Prevent excessive notoptions key lookups. #56639

Charset

Normalize to Unicode NFC encoding before converting accent characters in remove_accents()#35951

Cron API

  • Modify _get_cron_array() to always return an array. #53940

Editor

  • Universalize functions for checking block editor status. #51819
  • Clarify that get_page_template() doesn’t work on block themes. #56394
  • Block Patterns: Add new Footers categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. #56416
  • Spacer block: color control (only text color) #43660 (background in next version)

Embeds

  • Support for Google Data Studio #55771
  • Pocket Casts as an oEmbed provider #55860
  • Tumblr reader URLs #56733

External Libraries

Several external libraries have been updated to their latest versions. These include PHPMailer, GetID3, Moment, Sodium Compat, jQuery, jQuery UIUI User interface, MediaElement.js, Clipboard.js, and Underscore

  • Add support for WebP images in the Thickbox library. #55786
  • Update PHPMailer to 6.6.4 #55976, #56016, #56413
  • Update the Underscore library for 6.1 #56030
  • Update Moment library for 6.1 #56031
  • Update jQuery UI library for 6.1 #56239
  • Update mediaelement.js to version 4.2.17 #56319
  • Update jQuery to version 3.6.1 #56451
  • Update Sodium Compat to 1.19.0 #56564, #56653
  • Update GetID3 to version 1.9.22 #56692

Formatting

  • Normalize to Unicode NFC encoding before converting accent characters in remove_accents() #24661
  • Replace all esc_url_raw() calls in core with sanitize_url(). #55852
  • Allow min()max()minmax(), and clamp() values to be used in inline CSSCSS Cascading Style Sheets.. #55966
  • KSES: Allow more layout-related CSS properties. #56122
  • KSES: Allow assigning values to CSS variables. #56353

General 

  • Formatting: Add support for Enums in is_serialized(). #53299
  • Replace phpversion() function calls with PHP_VERSION constant. #55680
  • Blocks: Remove duplicate use of realpath() in register_block_style_handle(). #56636
  • Block Editor: Remove repetitive calls to file_get_contents() in block editor settings. #56637
  • General: Remove file_exists() checks after calling realpath(). #56654
  • Blocks: Remove extra get_theme_file_path() calls in register_block_style_handle(). #56666
  • General: Ensure wp_rand() returns 0 when $min and $max values are equal to 0. #55194

I18Ni18n Internationalization, 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.

I18N: Introduce WP_Textdomain_Registry to store text domains and their language directory paths. #39210 

Login and Registration

  • Required fields in networknetwork (versus site, blog) registration. #54344
  • Explicitly associate errors with input fields. #54483

Media

Respect EXIF Rotations. #54937

Networks and Sites

  • Move global_terms_enabled() to its proper final resting place. #21734 
  • Use metadata API in *_network_options` functions. #37181
  • Store main site ID of a network in network options. #55802

Posts, Post Types

Correct the check for non-existing post in get_post_permalink(). #45329

Script Loader

  • Ensure block script is enqueued, regardless of render_callback. #56470
  • Added support for preload links (similar to resource hints) #42438

Taxonomy

  • Standardise the format used to describe arguments passed to actions and filters inside wp_insert_term() and wp_update_term(). #55441
  • Set use_desc_for_title to false by default in wp_list_categories() #55530
  • Associate field descriptions with fields. #55651

Upgrade/Install

Track php extensions and image library support for WebP and AVIF. #48116

Widgets

Store default options for uninitialized widgets. #54677

Thanks to @sabernhardt, @bph, @jeffpaul, @desrosj, @webcommsat, @spacedmonkey, @sergeybiryukov and @audrasjb for peer review.

#6-1, #field-guide

Block API changes in WordPress 6.1

WordPress 6.1 introduces several new BlockBlock Block 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. APIAPI An 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. features available via the block.json file.

As a recap, the block.json file was introduced in WordPress 5.5 and has been encouraged as the canonical way of registering block types since the WordPress 5.8 release. Many of the recent Block API features, including the ones in this post, depend on block.json being available on the server.

PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher templates for rendering blocks

Before WordPress 6.1, the main output of a block would often be generated in either a JavaScriptJavaScript JavaScript 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/. save function, or in a PHP render_callback function.

WordPress 6.1 adds a third way: a separate PHP template file. The path can be specified via the render property of block.json:

{
    "render": "file:./render.php"
}

If you don’t have a render_callback setting specified, then the template is used instead. It behaves similarly, but feels much more like traditional WordPress template handling.

The template path is prefixed with file: and relative to the location of the block.json file, following the npm specification.

The render.php template could look like this:

<p <?php echo get_block_wrapper_attributes(); ?>>
    <?php esc_html_e( 'Hello from a dynamic block!', 'my-plugin' ); ?>
</p>

Note: The entire file is used as a template, so there’s no need to define additional wrapping functions.

The following variables are available inside the template:

  • $attributes (array): The block attributes.
  • $content (string): The block default content.
  • $block (WP_Block): The block instance.

Use multiple scripts per block

The WordPress 6.1 version enables defining multiple script files in all relevant block.json entries: editScript, script, and viewScript. (Trac #56408) It’s now possible to pass a script handle registered with the wp_register_script function, a path to a JavaScript file relative to the block.json file, or an array with a mix of both:

{
    "editorScript": "file:./index.js",
    "script": "file:./script.js",
    "viewScript": [ "file:./view.js", "example-shared-view-script" ]
}

WordPress maintains a degree of backwards compatibility by passing along only the first (string) item to any existing code working with these values.

Note: Processing a single string requires a different code than processing an array of strings. Therefore, the WP_Block_Type class and the /wp/v2/block-types REST APIREST API The 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/. endpoint deprecate accessing string values through their old names: editor_script, script, view_script, editor_style, and style.

The full array of scripts can be accessed via the following new properties of the WP_Block_Type class and the /wp/v2/block-types REST API endpoint:

  • editor_script_handles,
  • script_handles,
  • view_script_handles,
  • editor_style_handles, and
  • style_handles.

Furthermore, the scripts and styles registered in block.json will automatically be loaded for static and dynamic blocks in WordPress 6.1. Previously, the dynamic blocks were expected to register their assets.

Combined with the support for multiple stylesheets per block shipped with WordPress 5.9, this change enables developers to use multiple entries for all supported asset types.

Import individual coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks from @wordpress/block-library

The import of individual core blocks (Pull request #42258) from the @wordpress/block-library npm package was enabled to help developers reduce the bundle size of their applications. Prior to this change, the use of a single core block required pulling in the entire set.

Individual core blocks can be imported in three different ways:

// You can import and automatically register the block:
import '@wordpress/block-library/build-module/verse/init';

// Or you can automatically register the block and reuse the reference:
import verseBlock from '@wordpress/block-library/build-module/verse/init';

// Or you can import the init function without registering the block…
import { init } from '@wordpress/block-library/build-module/verse';

// …and then register the block when needed:
const verseBlock = init();

Props to @gziolo, and @revgeorge for technical review, to @bph and @webcommsat for final review.

#6-1, #dev-notes, #dev-notes-6-1, #developer-documentation