The WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. development team builds WordPress! Follow this site for general updates, status reports, and the occasional code debate. There’s lots of ways to contribute:
Found a bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.?Create a ticket in our bug tracker.
Please feel free to add your announcement(s), blog posts, agenda item(s), and tickets that need eyeballs, to the comments! And if you’re a component maintainer with an update or a request, please add that too.
Then will move on to items listed under “Required for subsequent coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.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.(es)” in Create WebP images on upload #22
Already working on a proposed core patch and 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. based upon what’s already in the pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party so far; will have that ready for review by next week
@codekraft has been making progress on AVIF compression working in browser for future exploration
@lu: Why are we only creating WebP versions for JPEGs, not PNGs, too?
@adamsilverstein: Lossless compression and transparency are currently not well supported on the server. We need to work on getting libgd to fully support these for WEbP. For now we’re focused on swapping WebP for JPEG where it’s a 1:1 replacement. Imagick supports these better so we could add an enhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. when that is present.
@spacedmonkey: Good to know; we should document this somewhere, such as release notes, as there will be more questions like these.
@spacedmonkey: For #19 Add low quality image placeholders, the XWP team has been discussing and wondering if instead of creating a low-quality version of an image, it might be better to find and store a primary (base) color of the image
We’re seeking 1-2 POCs for this group; if you’re interested, please comment here or pingPingThe act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” in SlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.
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/.
@flixos90: A few small tweaks to make to our release workflows based upon discoveries during yesterday’s release. #213 Prepare 1.0.0-beta.2 release is the issue for the next release.
@flixos90: Makes sense after we’ve protected the branches that shouldn’t get deleted (trunk and release/*
@josklever: Had an issue where some images couldn’t be loaded on my WP dashboard and it was caused by a widgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. that was disabled in the screen options. It appears that all the widgets are loaded even if disabled. Would this be a performance improvement? Or is there a good reason to load resources for disabled widgets?
@adamsilverstein: Sounds like a core 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., but don’t see a Trac ticket for it
@spacedmonkey: Agreed that there are massive performance and file size wins there, but in Web Stories we converted GIF to MP4 using JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. in browser, which unfortunately won’t work in many WP contexts
@adamsilverstein: Could potentially provide a browser-based approach in core if server support is lacking
@andronocean: Would be concerned about server resource usage with larger GIFs or budget hosts
@gagan0123: If sever support is lacking, someone will have to do it manually rather than by CLICLICommand Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. or cron job
@spacedmonkey: We used an ffmpeg library which requires array buffering, which isn’t available in older browsers and requires isolation of the page, meaning that images and scripts could not be hotlinked
@swisspidy: It’s doable, but there could be conflicts
Welcome back to a new issue of Week in CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between February 28 and March 7, 2022.
21 commits
43 contributors
62 tickets created
3 tickets reopened
48 tickets closed
The Core team is currently working on the next 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., WP 5.9.2, and on the next major, WP 6.0 🛠
TicketticketCreated for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.
Code changes
Administration
Require a valid action parameter to be set for admin-ajax.php requests – #55212
Bootstrap/Load
Stop unnecessary queries when using the do_parse_requestfilterFilterFilters 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. – #10886
Coding Standards
Improve formatting in /wp-admin/user-edit.php – #54673
Comments
Guard against potential PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher notices in get_comment_author and get_comment_ID – #54379
Docs
Add a @since note for WP::parse_request() about the new return value – #10886
Add inline comments for non-visible characters in sanitize_title_with_dashes() – #47912, #54729
Correct the indentation in delete_term_relationships filter – #54673
Update the DocBlockdocblock(phpdoc, xref, inline docs) for the wpmu_new_blog action to suggest wp_initialize_site as an alternative – #49612
Use third-person singular verbs for function descriptions in wp-includes/class-wp-user.php – #54729
Use third-person singular verbs for function descriptions in wp-includes/formatting.php, per the documentation standards – #54729
Improve MS Edge user-agent sniffsniffA module for PHP Code Sniffer that analyzes code for a specific problem. Multiple stiffs are combined to create a PHPCS standard. The term is named because it detects code smells, similar to how a dog would "sniff" out food. – #55297
I18Ni18nInternationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.
Add a $locale parameter for remove_accents() – #54415
Media
Allow wp_check_filetype() to support query strings in URLs – #30377
Networks and Sites
Suggest wp_initialize_site as an alternative for the deprecated wpmu_new_blog action – #49612
Query
Make sure WP_Query::get_queried_object() works for author_name before ::get_posts() is run – #55100
Tests
Restore the original user role in the (add|remove)_user_rolehooksHooksIn 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. test – #54164
Themes
Correct the logic for displaying a _doing_it_wrong() notice for add_theme_support( 'html5' ) – #51657
Hide blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. themes’ live preview link following installation – #54878
Make sure the current_theme_supports-{$feature} filter is consistently applied – #55219
Users
Bring some consistency to user role hooks – #54164
Introducing 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: After the WordPress performance team began work on it in November 2021, the first version of the plugin is finally here and ready for testing. You can download it or install it directly from your WordPress dashboard. Your testing and feedback will allow iterating towards adding future performance optimizations in WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress..
What is the Performance Lab plugin?
The Performance Lab plugin is a set of modules that aim to improve performance in WordPress. While this may sound similar to the numerous other performance plugins in the WordPress ecosystem, the Performance Lab plugin exists for an entirely different purpose: It is a collection of performance-related “feature projects” for WordPress core.
Feature projects are intended to gather a group of people to explore potential ideas for WordPress core.
Historically, feature projects have usually been implemented as separate feature plugins. The Performance Lab plugin provides a centralized location for performance-related features which are intended to eventually be merged into WordPress core. Therefore, it should be considered a betaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process.-testing plugin. The plugin’s performance modules can be individually enabled in the plugin’s settings screen, so that they can be tested in isolation or in combination. Being able to activate/deactivate modules is similar to activating individual plugins, but the Performance Lab approach comes with benefits: For both developers and end users, it removes the burden of keeping track of several plugins. For developers, it additionally reduces maintenance and encourages collaboration between developers.
Another benefit of the single plugin approach taken with the Performance Lab plugin is that it provides room for experimentation. Some modules included in the plugin are explicitly marked as experimental, and while the entire plugin is for testing WordPress performance features, those modules are at a particularly early stage of exploration and therefore could lead to unexpected results This also leads to the clarification that all performance modules bundled in the Performance Lab plugin are at different stages of development. For example, some may already be official WordPress core feature projects, others may be proposed as feature projects in the near future. Some experimental modules may remain in exploration for a few months to come.
Because the Performance Lab plugin is a collection of potential WordPress core feature modules, the list of modules included may drastically change over time. New modules may be added regularly, while other modules may be removed in a future plugin version once they have landed in a WordPress core release. Also keep in mind that the Performance Lab plugin is not a full replacement for other WordPress performance plugins you may be using already.
Who develops the Performance Lab plugin?
The Performance Lab plugin is being actively worked on by the WordPress performance team, which was formed in late October 2021. The plugin is the primary project of the team where new performance features are being explored and implemented. It complements the direct contributions to WordPress core, which happen for smaller fixes or for features that already have seen significant testing in the plugin.
The modules included in the plugin are based on the priorities of the performance team contributors who meet weekly in the #performance Slack channel to discuss the ongoing efforts and priorities. The performance team takes into account the impact of different features while prioritizing work, and the modules included are also influenced by contributor interest. So far, over 250 people have joined the performance SlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel, with many of them participating in the weekly chats and reporting issues on GitHub. While code contributions to the plugin so far have been limited to just slightly more than 10 contributors, the performance team is confident that the volume of code contributions will increase over time, especially as the plugin starts seeing increased usage.
Which features come with this initial Performance Lab plugin version?
This initial release of the Performance Lab plugin (1.0.0-beta.1) comes with the following modules:
WebP Uploads: Creates WebP versions for new JPEG image uploads if supported by the server. View related GitHub issues
Persistent Object Cache Health Check: Adds a persistent object cache check for sites with non-trivial amounts of data in Site Health status. View related GitHub issues
Audit Enqueued Assets (experimental): Adds a CSSCSSCascading Style Sheets. and JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. resource check in Site Health status. View related GitHub issues
To test the WebP Uploads module, upload some JPEG images to the Media Library, and the module should ensure that the sub-sized versions are also generated in WebP and then used in the front-end when embedding such uploaded images in a post.
To test the other three modules, visit the Site Health status tab, where each module adds a corresponding new check:
The Audit Enqueued Assets module monitors the amount of scripts and stylesheets enqueued on your homepage.
The WebP support module checks whether your server environment supports creating WebP images.
The Persistent Object Cache Health Check promotes usage of an external object cache depending on the amount of data on your site.
Remember that each module you would like to test has to be activated via the plugin’s settings screen at Settings > Performance. Non-experimental modules are enabled by default. If you want to test the modules individually in isolation, you can toggle them one by one.
To learn more about the modules, you can use the GitHubGitHubGitHub is a website that offers online implementation of git repositories that can 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/ labels to follow along their development via the links from the list above. You can also review the full release changelog.
How can I support the Performance Lab plugin?
Since the Performance Lab plugin is a beta testing plugin, the most straightforward way of contributing is to use it! Test the individual modules, try to break them, explore edge-cases etc. Any feedback or bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. reports are welcome as GitHub issues or alternatively as wordpress.org support forum requests. If you have found a bug and already discovered a fix for it, you can submit a pull request. You’re also invited to share your feedback in a review. Last but not least, share the news! Only with a solid number of regular testers can the features in this plugin mature over time.
If you would like to participate in developing or shaping the direction of the plugin, the performance team would be pleased to have you join the weekly chats in the #performance Slack channel! The next one will take place at March 8, 2022, at 16:00 UTC.
Another area to contribute to the plugin is localization. If you speak a language other than English, help make the Performance Lab plugin available in your localeLocaleA locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English. by contributing translations.
Many thanks to all the community volunteers that have contributed to the Performance Lab plugin and the overall efforts of the performance team so far! This beta release is a major milestone and just the beginning – let’s continue from here.
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/ 12.8.0 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)..
These “CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor Improvement…” posts (labeled with the #core-editor-improvementtagtagA 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.)) are a series dedicated to highlighting various new features, improvements, and more from Core Editor related projects.
With Gutenberg 12.5 and the soon to be released 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/ 12.8, a 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 author can now bundle multiple sets of Styles with their theme, allowing anyone using the theme to quickly switch between them as shortcuts for customization. These different Style presets can change both settings available, like turning on/off font weight, and style options, like the default color palette. For a practical example of what this looks like, check out the quick demo below showing off how a theme could offer both light and dark Style presets:
This Styles feature gets even more exciting when it’s paired with new enhancements like the fonts API in theme.json coming to Gutenberg 12.8. That opens the door for a wide range of styles per theme — look for more and more themes to leverage this in the coming months. The following video shows off some new creative possibilities that are opened up by these new features in combination:
Start of the meeting on the Make WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.SlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel.
1. Announcements
Request: When you bring an issue to Open Floor, it would be great if you also bring a suggestion for a solution.
Comments requested by @bph on the proposal on developer.wordpress.orgWordPress.orgThe community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ and GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ Developer Hours.
Next Gutenberg Developer Hours: Tuesday March 8, 16:00 UTC. Registration link.
@afragen: Much of feedback has been in form of questions that I’ve done my best to answer. The biggest is will it be possible to add a non-dot org 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 as a dependency. The answer is that it will be up to lead developers. It could be possible by adding a simple 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. and leaving the heavy lifting to the plugin developer… essentially need lead developer buy-in.
encourage further comments and testing of both PRs to see how it might look.
@pbiron: I think non-dot-org dependencies are very important use case (e.g., Gravity Forms addons) but also think that it would be fine if they weren’t included in the first version that lands in core
Highlight of message by @sergeybiryukov: I would like to invite anyone interested to test and review the latest PR for creating temporary backups when updating plugins or themes: https://github.com/WordPress/wordpress-develop/pull/2225. I think it’s very close to being ready for commit, and would appreciate more eyes on it and more testing. More on the slack post.
WordPress 6.0 development cycle – each 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. has a development cycle section on the Make WordPress core blog.
An addition to the timeline for this release is a walkthrough of the features, on April 5, 2022
Questions in dev chat:
is there 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. scrub schedule with BetaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 a month away?
Component Maintainers – if you think you would like to help manage a component, this refresher gives more information. More maintainers are needed.
Props to: @marybaum for the agenda and leading the meeting, to Mary and @audrasjbfor reviewing the notes; and to @webcommsat for the summary of the meeting. Could you help with next week’s notes? Contact team reps @audrasjb and @marybaum
“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-newtagtagA 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.)) are posted following every Gutenberg release on a biweekly basis, discovering new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Full Site Editing project.
We are editing a template, either on site editor or post editor.
The inserter is at the root level.
The content being inserted is between other blocks (neither as the first 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. nor as the last one).
The template part (e.g. 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. / Footer / 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.) creation flow will now also show patterns, making it easier to create more advanced compositions than adding blocks one by one.
Work will continue improving the logic that decides to show a pattern or a block, so feel free to share your feedback in the Gutenberg repository!
Allow themes to highlight Patterns
Themes can now highlight specific patterns to their users!
Recommending patterns to the users is as easy as adding a pattern field to the theme.json file. When handling patterns from the Pattern Directory, you can find their slugs on the URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org when browsing them individually.
List View Improvements
Once more, the List View keeps getting better! Gutenberg 12.7 includes a few iterative improvements to improve the block editor experience.
Also, when you click on a block in the editor, the List View will expand to show the selected block for better visibility of the selection’s context within the block tree.
Changes to frontend HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. when using layouts and image blocks
In order to add consistency to the block editor, we are removing some wrappers divs that were generated on the editor in order to add alignment to some blocks.
Keep in note that this div cleaning can affect themes that support layout and many blocks that have this alignment support. Many contributors helped with testing, but theme developers are encouraged to check their themes and leave any feedback they may encounter.
Other notable highlights
Gutenberg 12.7 provides a few other iterative enhancements worth highlighting.
To avoid backward compatibility issues reported in WordPress 5.9, the automatic anchor generation for headings introduced in Gutengerg 11.8 is now opt-in. To enable this feature, simply add:
Recognizing and celebrating contributors, both and new, becomes more efficient and effective! A contributor props list has been automated when creating the release and added to the changelog! Any user who merges a PR during a Gutenberg release cycle will be aknowledged.
Group Blocks: Add margin support (top/bottom). (37344)
Comment Template: Improve comment pagination with nested replies. (38187)
Comments Query LoopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.: Show placeholder comments on site editor. (38072)
Enable tooltip for the main dashboard button. (38790)
Themes
Lowered specificity of alignment rules for support layout so wide alignments work. (38947)
Remove data-align divs for themes that support layout. (38613)
Remove the div wrapper from the aligned image blocks. (38657)
Patterns
Quick Inserter: Prioritize showing patterns instead of blocks. (38709)
Allow pattern registration from directory with theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.. (38323)
Template Parts: Show existing template parts and a list of block patterns at creation flow. (38814)
Bug Fixes
Block Library
Block Transforms: Fix Image and Video to Cover block transformations. (38959)
Cover: Fix gradient overlay (remove black background color) (38765)
File: Fix PDF file block full content fixture. (38725)
Latest Posts: Add missing class to post title. (38740)
Logo: Avoid division by zero in site logo. (38808)
Post navigation link: Use correct closing tag. (38976)
Query Loop: Display nothing if we want only sticky posts but no stickies exist. (38909)
Template Parts: Decode entities in labels. (38805)
Social Links: Only apply the social links block migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. if there’s a need for a migration. (38561)
Block Editor
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. from coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.: Global styles duotone not rendering in post editor. (38897)
Block Editor: insertDefaultBlock should not trigger an error if the default block is not registered. (38886)
Inserter: Fix focus loss after closing patterns explorer from modal. (38884)
Multi-selection: avoid RichText instances becoming disabled after multi selection. (38821)
Rehabilitate drag gesture in LineHeightControl. (38930)
RichText: Fix wrong block merging when pressing delete consecutively. (38991)
Site Editor
Add site editor initial redirect error handling. (38655)
Core Data: CanUser resolver always use the OPTIONS method. (38901)
Dom: Avoid RangeError in findPrevious method. (38961)
Apps
Fix Custom Palette colors and support multiple origins and theme cache issues. (38417)
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)
Adds aria-label to the search button, as accessibility enhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature.. (38136)
Avoid duplicate labels for “Save Draft” and “Save as pending” buttons. (38776)
RichText: Reverse disableLineBreaks to determine aria-multiline state. (38652)
TreeGrid: Add Home/End keys to jump to start/end of grid. (38679)
Performance
CSS & Styling
Use wp_unique_id() instead of uniqid() to generate CSS class names. (38891)
Improve point 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. documentation to include even more detail. (38631)
Increase support for experimental-link-color until WordPress 5.9 is the minimum version. (38711)
Links changed for Developer.wordpress.orgWordPress.orgThe community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ on block editor section. (38841)
Removing comma so that the code snippet of theme.json represents standard JSON. (38938)
theme.json Update version section docs to v2 (38937)
Update Getting Started with more granular options. (38682)
Block Library
Add instructions on how to add new core blocks to block-library. (38868)
PostTrash: Call trashPost action with no arguments, rewrite to hooksHooksIn WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.. (38615)
npm Packages
Packages: Automate cherry-picking to 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. commits created during publishing. (38977)
Packages: Ensure that private packages do not update when publishing to npm. (38946)
Tools
Testing
Add end-to-end test for merging paragraphs and soft line break afterwards. (39009)
Post Visibility end-to-end test: Improve XPath selector to avoid reliance on DOM structure. (38717)
Replace no-shadow eslint rule with @typescript-eslint/no-shadow. (38665)
RichText: Add test for merging and then splitting paragraphs. (39007)
Site Editor Tests: Use 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/. to delete templates and template parts. (38524)
TreeGrid: Add tests for callback functions. (38942)
Generate full release contributors list in release changelog. (38704)
Generate sourcemap for production 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 builds. (33718)
Mobile: Improve npm clean scripts for reactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.-native-editor. (38752)
Scripts: Do not exit build when no entry found in src directory. (38737)
Scripts: Fix Entry points are not detected in Windows OS. (38781)
Scripts: Copy PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher files from src into build. (38715)
Components
BaseControl: Refactor stories to use Controls. (38741)
Migrate Post Template Delete button from confirm() to ConfirmDialog. (37535)
Migrate the Post ‘Switch to draft’ button to ConfirmDialog component. (37491)
Storybook: Ensure rerender for RTL switcher. (38963)
Post Editor
Edit Post: Migrate store actions to thunks. (36551)
Editor store: Remove a noop SETUP_EDITOR action. (38622)
The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Post Editor
Version
Time to first block
Keypress event
Gutenberg 12.7
5.0 s
41 ms
Gutenberg 12.6
5.1 s
40 ms
WordPress 5.9
5.2 s
40 ms
Site Editor
Version
Time to first block
Keypress event
Gutenberg 12.7
4.7 s
30 ms
Gutenberg 12.6
5.2 s
29 ms
WordPress 5.9
5.2 s
29 ms
Kudos to all the contributors that helped with the release! 👏
Latest Gutenberg Release is 12.7 RC from last week. The final release for 12.7 is scheduled for today. Huge thank you to Carlos Bravo @cbravobernal for leading this release.
@mamaduka suggested issuing a point 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., once a solution is available
We used to exchange key project updates synchronously during the chat. However, many of the key 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/ projects sustain a regular cadence of updates on their tracking issues on GithubGitHubGitHub is a website that offers online implementation of git repositories that can 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/.
This week we tried async updates. The attendees are encouraged to read the latest updates directly from the following tracking issues at everyone’s leisure:
@talldanwpwrote: “I just wanted to provide an update and raise awareness of a project I’m undertaking to make each of our editors implement preferences in a consistent way. Here’s the tracking issue –. Migrate editor preferences to new package Last week I merged a PR that added a new `wordpress/preferences` package, and this week I’m going through each of our editors migrating them to use this new package. Let me know if you have any feedback or spot any bugs. Thanks!”
* Site Editor export archive now includes theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. file. * Looking for a code sanity check on Site Editor server-side redirection PR. * Currently working on 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. Locking UIUIUser interface and hope to share some early results this week.
You must be logged in to post a comment.