A week with us: Beta x 2

Since our last blog update, we have had a successful Contributor day at the Yoast office and online, and WordPress has released Beta 1 and Beta 2 of version 6.1.

Ari

A lot has happened in the past few weeks!

SQLite support

We finally published our official proposal to support SQLite in WordPress Core, and the feedback has been very positive. As a follow-up to that proposal, I started working on a plugin to allow testing the implementation easier. The plugin is not yet published on the w.org repository, but you can get a preview by downloading it from its GitHub repository.

Performance improvements in WordPress Core

These past few weeks, I focused a lot on performance improvements for WordPress Core.

  • Remove duplicate calls to realpath()#56636
  • Remove repetitive calls to file_get_contents()#56637
  • Remove unnecessary calls to file_exists()#56654 
  • Remove multiple calls to get_theme_file_path()#56666
  • Improve performance of block.json files loading – #55005

In order to find bottlenecks in WordPress’s execution path, I used xdebug-profiling. I then examined the results via webgrind, and analyzed the total cost of function calls on a page load.

A lot of other performance improvements are also included by other contributors. Overall, I feel that WordPress 6.1 contains a lot of performance improvements, and we are moving in the right direction.

Gutenberg

I helped backport some changes from Gutenberg to WordPress Core for the 6.1 release. As always, I did a lot of code reviews to help move the project forward.

I also submitted a proposal to start developing forms and input blocks in Gutenberg. Forms are something that the vast majority of sites need, and WordPress should have an implementation of them. You can read more about that on #44186, and leave your own feedback. You can also test an early-bird proof-of-concept in #44214.

Carolina

Yoast Contributor Day

During the contributor day I worked on solving a problem with the navigation block, helped with answering questions from participants, and did Gutenberg issue triage (following up on open issues, testing, adding labels etc).

WordPress 6.1 and Gutenberg

My focus has been on theme related issues, both enhancements and bugs. I have also worked on updates to the Theme Developer handbook.
As is common for major releases, there has been many discussions about which features that are ready to be included in 6.1, and I have spent a lot of time following up on notifications, questions and last minute changes.
This late in a release, I am already starting to look forward to the next; many of the enhancements that I have worked on for Gutenberg did not make it into WordPress 6.1, but will hopefully be part of Gutenberg soon.

Sergey

Yoast Contributor Day

I was excited to lead the Core team table at the Yoast Contributor Day. Some of my colleagues joined the Zoom session, while some onboarded new contributors in the Yoast office in Wijchen.

The team looked into several tickets for WordPress core and WP-CLI:

  • #38431 -webkit-appearance rule should be removed from the CSS
  • #50018 Site Health: is_writable() check when there are more than 1 theme directories
  • #53404 Replace http with https entering a video link
  • #54225 Request header key case inconsistencies
  • #55941 Empty string wrongly translated to ‘0’
  • #56287 Handle PHP Notice when get_post_type_object() returns null in is_post_type_archive()
  • WP-CLI #5645 Set WP_CLI_PACKAGES_DIR in config file
  • and a few others.

Some of these tickets are already committed and will be included in WordPress 6.1, others are still a work in progress.

It felt like a productive day and a fun experience, thanks everyone who joined us! 🙌

WordPress 6.1

For the past three weeks I continued triaging and reviewing tickets for the next major release, WordPress 6.1, as part of my duties as a Core Committer.

I made seventy-seven commits to WordPress core, mostly various bug fixes and enhancements. I also led a meeting for new core contributors and triaged new tickets incoming into Trac (the bug tracking system that WordPress uses).

Some notable changes include:

  • Sending HTTP headers after querying posts in WP::main() to ensure that conditional tags work as expected. This provides better context and more flexibility when adjusting HTTP headers via the wp_headers filter or send_headers action. See ticket #56068 for more details.
  • Updating the KSES library to improve support for CSS variables and allow for using more modern CSS syntax. See tickets #55966, #56122, #56353 for more details.
  • Making adjustments to timezone selection UI and underlying functions to ensure that timezone strings deprecated in newer PHP versions are handled correctly by WordPress. Thanks Juliette! See ticket #56468 for more details.
  • Continuing with code modernization efforts on updating WordPress core and unit test suite for PHP 8.1 and preparing for PHP 8.2. Thanks everyone working on the PHP 8.2 PRs! See tickets #55652, #55656, #55787, #56513, #56514, #56033, #56034 for more details.