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.
The live meeting will focus on the discussion for upcoming releases, 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
The WordPress 6.5 retrospective post has been published, please fill in the survey if you would like to leave feedback or suggestions for improvements to the release process.
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.6
There are currently 15 open tickets in the 6.5.3 release milestone. There is more information about this release in this post, including the 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 schedule and how you can get involved.
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.2
As there are no immediate 6.6 discussion points and the 6.6 release squad has not yet been finalized, we can discuss some previously suggested topics:
How can we get PHP8 support completed and out of “compatible with exceptions”: suggested by @jorbin
Aligning the coding standards for CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. and Gutenberg so that both can use the same tooling: also suggested by @jorbin
Feel free to suggest additional topics in the comments.
Create 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. 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: A new major version of the plugin, v2.0.0, has been released, including many new features for exporting themes. See a full list of changes in the changelog.
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 team launched the Performance Lab pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party version 3.0.0 on Mon April 15
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 (WP 6.6)
Performance Lab plugin (and other performance plugins)
Final decision regarding streamlining PL plugin and other standalone plugins #1061
Active priority projects
Improve template loading
INP research opportunities
Improving the calculation of image size attributes
Optimized autoloaded options
WordPress Performance Trac Tickets
For WordPress 6.6:
Nothing to discuss this week
Performance Lab Plugin (and other Performance Plugins)
Final decision regarding streamlining PL plugin and other standalone plugins #1061
@thelovekesh added a workflow diagram on the issue itself and had some initial conversation with @swissspidy as well.
In the new workflow, we will be aiming to automate the other chores like:
auto creation of a release branchbranchA directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch".
raise a PR on 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. from the release branch which will be having updated since tags and bumped version.
renaming of milestone and creating a next milestone.
@mukesh27 has the following PR ready for review PR #1148 – Warning notice about read-only file system remove even when all plugins are installed
@westonruter For Speculative Loading, I learned about an issue yesterday where WooCommerce links to add-to-cart and remove-from-cart are erroneously being prefetched/prerendered. WooCommerce shouldn’t be using links for these UIUIUser interface elements, but such is WP.
The PRs to fix the issues have been merged and I’m wanting to do a release of Speculative Loading today
@thekt12ticketticketCreated for both bug reports and feature development on the bug tracker.#59595 – PR#6392 is good for some initial review and feedback. Findings and reasoning behind each changes is added to PR description and inline comments. In TT4 homepage, I can see 4% improvement for non persistent cache and 6% improvement for site with persistent cache.
Working on improving performance for 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. Template PR#6369 ( current results not that good )
Template Parts caching PR#6391 ( current results not that good )
opened a few coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. tickets about adopting 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. to replace jQuery (#60986#60985 and #60987) These are open for contributions if anyone wants to get a chance to try the Interactivity API out.
created a sheet with the list of scripts identified in the audits and have started to inventory which themes/plugins have public GitHubGitHubGitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ repositories we can contribute to.
created a PR to add custom metrics to httparchive so we can track adoption of the Interactivity API and I also started exploring adding performance instrumentation to the Interactivity API, so we can debug performance issues with callbacks.
Improving the calculation of image size attributes
One of the first steps to this project is to get a baseline of what the impact of inaccurate sizes attributes have on the web. I’ve updated an earlier HTTPArchive query that was created a few years ago to get some of that info, and am planning to work with @adamsilverstein on some additional ways to measure the impact of any changes we make.
I’ll plan on creating a bit of a roadmap for how we can improve the sizes attribute via a Performance Lab project once we’re happy with how to measure this.
@joostdevalk I’ve done (in what’s probably a pretty rough way) something similar to what @swissspidy proposed in his ticket too; measure which options are used, remove autoload from those that aren’t used
I was kinda shocked by the results on some sites, going from multiple megabytes of options to 2-300 KB
I do still think though that maybe we should look at more aspects. We currently only have autoload yes and no, and I’ve basically always thought it’s weird that we don’t use the fact that it’s a string to also allow other contexts, like admin
Anyway, my code is there, happy to look at it together with someone and build something for performance labs
@joostdevalk One other thing related to options; the impact of a “miss” on an option that’s supposed to be autoloaded is actually way higher, as that always results in a DB query. If we could get a way to prevent that from happening, by having a get_autoloaded_option or something like that, I think the impact could be quite big.
@joemcgill For 6.6, we just added some functionality in #42441 that could be useful for automating some of this. After that change, any new option that is added can have its autoload value determined based on some additional criteria. For example, in that issue disables autoloading for large options if they weren’t explicitly added while passing true to the autoload param.
@spacedmonkey I have a new 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. for #59442
TDLR – Cache key generation in WP_Query results in duplicate queries is the cache keys do not match. I have fixed 3/4 examples of where cache keys do no match even through the queries are the same.
Asked for a PR review please
@benoitfouc Yesterday, a new version of WebP upload was released. The plugin was renamed because he gonna evolve by accepting the AVIF format. Is there a PR or something about this evolution? I think this new version need to be able to convert JPEG, PNG and WebP into AVIF https://github.com/WordPress/performance/issues/371
WordPress 6.5.3 is scheduled to be the next maintenance release for the 6.5 version. Its release will follow the following preliminary schedule:
2 May 2024 – 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). made available and announced here on the make/coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. site.
7 May 2024 – Final release made available.
Specific times will be decided in advance and adjustments to the schedule may be made. All adjustments will be noted in this post.
Minor or Maintenance releases of WordPress are intended as 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.-fix releases. If you have a tracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.ticketticketCreated for both bug reports and feature development on the bug tracker. that you think should be considered, please put it in the 6.5.3 milestone. If you have a githubGitHubGitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ issue, please add it to the 6.5.x Editor Tasks board. If you lack bug gardening capabilities and have a ticket or issue you wish to highlight for 6.5.3, please add a comment here.
Note: except in extreme situations, only bug fixes will be considered and generally only bugs that have been introduced during the 6.5 cycle.
Get involved with 6.5.3
Bug Scrubs will happen in the #core room during the following times:
Each of the open tickets is going to require development work along with testing and review. You can also run your own scrubs to help ensure that all of the correct tickets are fixed in this release. Additionally, while the intent is for no new translated strings in this release, some locales have strings in 6.5 in need of translation.
General coordination for the release will happen in the #6-5-release-leads channel and decisions around code for the release will be made in the #core room.
This minor releaseMinor ReleaseA set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. will be led by @grantmkin and myself (@jorbin).
Thank you to @grantmkin for pre-publication review.
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 version 3.0.0 launch on Mon April 15
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 (6.6)
Future release
Performance Lab plugin (and other performance plugins)
Need to finalise a decision regarding streamlining PL plugin and other standalone plugins #1061
Active priority projects
INP research opportunities
Improve template loading
Open floor
If you have any topics you’d like to add to this agenda, please add them in the comments below.
Starting Monday, April 15th 2024 at 13:00 UTC there will be a bundled theme 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.
Currently, there are over 326 tickets in the bundled theme component queue. Recently, efforts have been made to reduce the queue, which is going well. This is part of the default theme taskforce work this year. Now is also a great time to introduce a scrub as part of that process. The following is what to expect:
An hour going through tickets one by one.
Progressing each ticketticketCreated for both bug reports and feature development on the bug tracker. raised in some way: this might be through keywords or time-framed discussions.
Congratulations to all who helped make WordPress 6.5! Now that it has launched, I invite you to reflect and share your thoughts on the release process and squad to learn, iterate, and improve for future releases.
Whether you led, contributed, tested, followed along—whatever your role, even if you didn’t have one—you are welcome to participate in this retrospective. So please take a moment to complete the form or leave public feedback in the comments below.
Please note: the survey is not anonymous. That’s in case a relevant person wants to reach you for further clarification. But your email address will not be shared publicly, and nobody is going to use it for any other purpose.
The form and comments will be open until April 26th, 2024. Shortly thereafter, you’ll see a follow-up post with collected, anonymized results.
Again, thank you for your contributions to 6.5 “Regina,” and for taking the time to help make future releases even better!
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.6
@jeffpaul commented that “at least finalizing the CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. & Editor tech leads and an 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). would go a long way towards formally kicking off.”
@jorbin said, “I’ve also seen a couple questions about default themes and getting that kicked off during this release, I think getting an answer there would be helpful”
@joemcgill asked, “…what the focuses of this release would be. @chanthaboune originally proposed that 6.6 be held as a maintenance and polish release in this post, but I’m unsure if that’s still the plan.” And later, “To be clear, I’m not necessarily advocating for 6.6 to be mainly a polish release, I just see the need to be intentional in release planning if we want to actually execute that objective.”
Later in the meeting @jorbin shared an initial proposed schedule for 6.5.3.
The first minor releaseMinor ReleaseA set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. for 6.5 is out, though it was a quick turnaround security release. For a proper minor release, I would like to gather thoughts on the following plan:
@grantmkin has volunteered to help on the editor side (Thank you!)
I would like to suggest a target of 7 May for 6.5.3 with an RC on 2 May. This will allow for about 4 weeks to identify and fix any bugs. I think Tuesday’s have served us fairly well.
To assist in this, I would like to start bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrubs. I’m thinking twice weekly with one focused on tracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. and one on githubGitHubGitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ until we get closer to the release with the last few looking at both bug trackers
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.2
During discussion we checked in on the progress that the 6.5 release coordinators are making on organizing a release retro post (see this thread). @marybaum confirmed that @priethor, @marybaum, and @akshayar are working on this and will update the #6-5-release-leads channel soon.
It was confirmed that retros have been a part of our release process for several previous releases. Many of them can be found by lookin at the retrospectivetagtagA 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.) on this site.
Highlighted posts
The full list of posts from the last week in Core can be read on the agenda at this link.
Open floor
Tony Gravagno proposed that retrospectives could be used for marketing. “People need an occasional reminder and reinforcement that their platform of choice is aggressively maintained, despite occasional press about 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 vulnerabilities … which is all most people see about WP.” He then suggested that this might be better discussed in the #marketing channel.
Damon Cook shared that he has recently added details to the Project Updates and Details area in key Gutenberg GitHub Project boards (example: WordPress 6.6 Editor Tasks). Damon is planning on trying to keep those up to date throughout the cycle.
This prompted @jeffpaul to ask whether these updates could be provided on make/core to capture a broader audience.
“My lens is for someone who’s not in lots of GitHub issues, PRs, or boards and finds it hard to stay current on what’s transpiring there and thus not as able to contribute without that context. Trying to find ways to bring some of that scattered context back to make/core for broader consumption and contextual understanding.”
Damon was open to experimenting on how to best cross-share info in both places. “…for now, I just wanted to make folks aware that I’ve started utilizing the feature and can even deactivate or remove it if it is confusing.”
The full conversation about these status updates starts here.
@dmsnell wanted to remind folks about his proposal to remove support for HTML4 and XHTML. “Doing this is mostly ceremonial, since those formats aren’t supported in reality. Removing them officially though gives us liberty to modernize existing code and improve WordPress’ HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.-handling reliability. More info in the linked ticketticketCreated for both bug reports and feature development on the bug tracker.: #59883“.
The live meeting will focus on the discussion for upcoming releases, 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.
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.6
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.2
We will plan on following up on formalizing a release team for 6.6 and check in on the progress that the 6.5 release coordinators are making on organizing a release retro post (see this thread).
Feel free to suggest additional topics related to this release in the comments.
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.: check out the in progress PR for Add full page client-side navigation experiment setting work as part of what’s planned for 6.6
Create 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. 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: Add theme json inspector has been added for the next release of the plugin, solving a big enhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. request!
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.
Plan to launch 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 version 3.0.0 on Mon April 15
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 (WP 6.6)
Performance Lab plugin (and other performance plugins)
Open discussion regarding streamlining PL plugin and other standalone plugins #1061
Active priority projects
INP research opportunities
Improve template loading
WordPress Performance Trac Tickets
For WordPress 6.6:
@adamsilverstein volunteered to be the performance release leadRelease LeadThe community member ultimately responsible for the Release. for 6.6
Performance Lab Plugin (and other Performance Plugins)
Open discussion regarding streamlining PL plugin and other standalone plugins #1061
It would be great if we could have distinct releases per plugin, and automate it completely. Even before we had standalone plugins, the Performance Lab release process involves quite a bit of manual work, like bumping versions and adding changelog in PRs. It takes just a very short time, so not a big overhead, but still prone to human error
@joemcgill I definitely like the idea of making the release on GH the result of a release rather than the cause of a release. Seems like we need to better define all of the requirements that an updated process should meet prior to diving into implementation. Is there someone consolidating those requirements?
@thelovekesh has volunteered to pick this up, aiming for next Monday to collect everyone’s feedback and to generate a proposed approach
@mukesh27 has been working on below some follow-up PRs.
PRs that have been merged:
PR #1116 – Delete option when uninstalling the Modern Image Formats plugin
PR #1117 – Update GitHubGitHubGitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ actions dependency
@flixos90 opened https://github.com/WordPress/performance/issues/1118 which is about enhancing the npm run since script to support standalone plugins. This unlocks a simple yet valuable improvement to our current publishing workflow for standalone plugins. That said, this is separate from the main discussion we should have here as it doesn’t holistically change anything. I just wanted to mention it for reference
@adamsilverstein still working through the results, some discussion has continued in comments on the doc. I also saw @swissspidy opened this ticketticketCreated for both bug reports and feature development on the bug tracker. which is related to one of the findings #60962 (thanks!)
One other small update, part of the INP doc suggests a move towards 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. adoption could be helpful, in that regard I have added custom metrics to httparchive so we can track API adoption: https://github.com/HTTPArchive/custom-metrics/pull/113
@westonruter For sites still using MediaElement.js, I’ve identified some code that appears to be needlessly spending ~50 ms (when profiling at 6x CPU slowdown on my machine) to check if the pointer-events style is supported. Since this is now supported by >98% of browsers, I think this entire 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. of logic should be replaced with just a simple export const SUPPORT_POINTER_EVENTS = true given this.
Granted, this would be more of a LCP fix than an INP fix since it happens early when the page is loading.
@spacedmonkey I am going to look into adding new functions for loading multiple networknetwork(versus site, blog) option at once. These plan to mirror the new options for site options. Everyone happy to add this to performance focus?
I also want to look into a ticket I created regarding changing how query caches are invalidated
At the moment, we use last change as a salt for cache keys. This results in validation but it also means for high traffic sites that generate lots of content, lots of keys being generated. So much so that people are turning the query caches off.
I want to find a way to reuse the same query cache keys even after invalidation. Instead of make a new cache and hoping a the existing one falls out of cache, reuse the same key and sort the last modified time as part of the object.
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Editor project (formerly called Full Site Editing).
With more than 150 pull requests (PRs), Gutenberg 18.1 is packed with features 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 to suit all tastes — new pattern and template part insertion functionality, site backgrounds in global styles, accessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) and performance improvements.
Lovers of documentation and code quality enhancements will be pleased to learn that their favorite PRs make up almost a third of the total number in this release!
As always, a big thank you goes out to all who contributed, with special gratitude to first-time contributors. Great work!
Version 18.1 extends background image support to top-level global styles in the Site Editor, which means you can add custom background images and photos to sites. Images can set to repeat, or be displayed as contain or cover backgrounds. (#59454)
And for those wondering — yes, as well as regular images, looping animated gifs will also work.
See more with data views
Whether it’s sorting or searching your patterns in grid and table layouts (#60337), or filtering and previewing all of your sites pages (#59950), version 18.1 brings further design consistency to configurable adminadmin(and super admin) views, not to mention quicker access and management of site assets.
Alongside the continuous integration into 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 workflows, data views have undergone improvements to accessibility and keyboard navigation (#59637).
Pattern schema and insertion
Pattern insertion gets an upgrade in the latest version of Gutenberg. The editor canvas will zoom out when browsing and inserting patterns using the block inserter, allowing a greater overview of how your patterns appear alongside the rest of your site’s content. (#59775)
Patterns are a powerful way to define design assets with configurable content. You can now give your patterns a “schema” by naming blocks that are overridable in all instances of those patterns. Users of your patterns will be able to see exactly which blocks are editable via a handy list in the 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.. (#59977)
Swap and edit template parts
When editing your site’s templates, you can select template parts and immediately view alternative designs for that template part in the sidebar. Want to replace your footer design? Click on your template’s footer and select a new one from the available designs. Voilà! (#60203)
Gutenberg has long had an option to preview a page’s template when editing that page. 18.1 lets you select and edit a page’s important template parts, such as the headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. and footer. To do so, click on a template part, then hit “Edit” in the toolbar. (#60010)
Other notable highlights
The editor displays a confirmation modal before clearing template customizations. (#60119)
You can collapse non-selected items in the list view using a handy new keyboard shortcut (Option-L on Mac, or Alt-L on Windows). (#59978).
Changelog
View the full changelog
Enhancements
Block Editor
Zoom out: Invoke zoom out mode when opening the patterns tab, and move the code to do so to a shared hook. (59775)
Block Previews: Update shadows in different contexts. (60161)
Update: Move post actions to the editor package. (60092)
Consolidate when showing revisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. link or action. (60194)
Editor: Update hover color of editor document title. (60113)
Add content schema to pattern editing view. (59977)
Close inspector on pattern categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. select. (60004)
Focus block selection button only in navigation mode. (60207)
Pattern Shuffling: Make the results deterministic. (60074)
Add __next40pxDefaultSize to Image block Title Attribute. (60117)
Add support “HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Element” to Site Tagline. (59654)
Image: Remove temporary image check for rendering controls. (60212)
Reduce specificity of block library styles conflicting with block supports. (59457)
Update navigation blocks to use consistent link UIUIUser interface labels and field sizes. (60116)
Summary: Polish 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.. (60110)
Data views: Add confirmation modal for clearing customizations in templates. (60119)
Data views: Make trashTrashTrash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days. a quick action again. (60165)
List View
Add keyboard shortcut to collapse list view items other than the focused item. (59978)
Adjust the List View close icon to resemble the Inspector close icon. (59999)
Update “Actions” string to “Options” in List View. (60136)
Templates
Add filterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. to allow extending the list of post content blocks. (60068)
Render non-editable preview of template part when user does not have capability to edit template part. (60326)
Template Parts: Remove pattern title from sidebar. (60160)
Template Parts: Update replace flow to separate template parts from patterns. (60203)
Template Parts: Update the ‘Replace’ label to ‘Design’. (60156)
Zoom Out
Add a delete control to toolbar on zoomed out mode. (60214)
Media dialog push content in zoomed out mode. (60170)
Components
Popover / ToggleGroupControl: Use useReducedMotion() from @wordpress/compose. (60168)
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/.
Allow view access of template rest endpoint to anyone with the edit_post capability. (60317)
Site Editor: Consolidate save button functionality. (60077)
Revert #60300: Make sure the CSSCSSCascading Style Sheets. class id-dark-theme is added to the editor 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. body. (60616)
Block Editor
Make sure the CSS class is-dark-theme is added to the editor iframe body. (60300)
BackportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch.r57868 (Editor: Prevent font folder naive filtering causing infinite loops) from WordPress-Develop. (60141)
Block templates
Add null check to prevent errors in get_block_template filter. (60491)
Utilities
URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org: Return early in getFilename where URL argument is falsy. (60265)
Accessibility
Data Views
Add click-to-select behavior on table rows. (59803)
Data views list layout: Apply focus styles to items on focus-visible rather than focus. (60253)
Add auto generated 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. documentation for editor package. (60356)
Fix @todo tags to follow standards in WordPress comments. (60148)
Fix Font Collection 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. schema definition. (60285)
Fix: InvalidinvalidA resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. documentation link to load 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/.. (60181)
Fix: Invalid links to the block supports api. (60199)
Fix: Non existent link to submitting to the block directory. (60389)
Interactivity API: Variable name correction in the documentation. (60056)
Create Block: Update external template documentation to include variants. (60095)
Update: Use getPostIcon selector on document bar. (60128)
Distraction free: Remove unwanted space from string. (60108)
Global Styles
Additional CSS: Add code comments contextualising tranformStyles for clarity. (60267)
Global styles: output :root selector for CSS custom properties. (42084)
Style Engine: Continue get_classnames 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. after adding the default classname. (60153)
Font Library
Add test for Font Library and Theme Style Variations. (60250)
Update google fonts font collection data URL to the latest version available. (60079)
Block Library
Image: Use the new ‘useUploadMediaFromBlobURL’ hook. (60208)
Navigation Block: Add test coverage to check that post content is not removed. (60189)
Site Editor
DataViews: Don’t memoize every callback ‘PagePages’ component. (60103)
History: Simplify the push and replace methods. (60112)
Rich Text
RichText: Separate fallback instance ID for selection retrieval. (60277)
Block Locking
E2E: Test BlockSwitcher availability in l-post-ul-group CPT. (60254)
Data Views
DataViews: Fix reactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. warning error in list layout. (60101)
Tools
Testing
Automated Testing: Remove Puppeteer CI Job. (59311)
Blocks: Fix double gutenberg_ prefix in built dynamic blocks PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher. (60288)
First-time contributors
The following PRs were merged by first-time contributors 🎉 :
@interdevel: Fix @todo tags to follow standards in WordPress comments. (60148)
You must be logged in to post a comment.