Editor chat Summary: 1st July, 2020

This post summarizes the weekly editor chat meeting agenda here. Held on Wednesday, 1st July 2020 held in Slack. Moderated by @andraganescu.

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ version 8.4.0

Gutenberg version 8.4.0 was released.
A huge thank you to @noisysocks for helping for tackling the huge release.

Here is the nice release post.  It was a packed release with the Image Editing as highlight.

WordPress 5.5.

@ellatrix is maintaining a project board for 5.5 of issues/PRs that need to go into the next release.

Monday Gutenberg 8.5 RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). will be released, which is the last Gutenberg release going into WP 5.5, so all features and enhancements that need to go in WP 5.5 must be (ready) in this release. After that, we ideally only backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. regressions or limited bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes for new things. 

It’s also time to start thinking about dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase.. Anybody can help by writing a dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. for any of these features doing their best to cover:

  • explaining the change
  • why it was done
  • and, if it’s an impacting change, how to update the third-party code

Monthly Plan

The monthly plan for June. A plan for July is in the works by @annezazu

Task Coordination

@zeb

My PR to move reusable blocks to their own tab in the inserter is nearly ready, but there is one remaining end-to-end test failure that I need help to resolve. Remember, this is on the WP 5.5 must-have list: PR:23296

I’ve made some great improvements to the Heading blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. heading level checker PR. If feedback is positive, it should be good to merge: PR:22650

I have a PR to add color controls to the List block. A lot of users have asked for this feature, and some contributors have suggested that we get this in soon for WP 5.5. However, there are some big editor style conflicts that I think need resolving first. I need help to get this one to progress any further. Once it is resolved, it will open the door to other list-based blocks getting color controls: PR:21387

My PR to lighten the editor DOM of the Buttons block is still stuck. I need technical help to resolve it. I consider this PR vital to fixing the current confusing/broken state of the Buttons block’s alignment controls. My plans to fix the block rely on this initial task being completed first. I would really like to get this done before WP 5.5: PR:23222

I have a PR to polish the Custom HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. block which needs design feedback and a code review: PR: 21711

I have a PR to update several usages of Lodash.includes to the vanilla Array.prototype.includes. I’ve double and triple checked this PR to avoid errors. All I need is a review before I can merge: PR: 21063

While rebasing that PR, I discovered a bug in a unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. which I have fixed in a separate PR that needs a review: PR: 23599

My PR to convert ReusableBlockEditPanel to a function component and add type info is still waiting for reviews: PR: 21181

I have a PR to convert PostSavedState to a functional component. It also awaits reviews: PR: 23038

@gziolo

I’m backporting changes to WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. from Gutenberg and helping in general to have everything sorted out for betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1

@annezazu

@joen

I’d love eyes on this one, which tightens up the sidebarSidebar A 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. controls: PR: 23578

@ajlende

I’ve been continuing work with the image editor. I have two open bug fix PRs: WordPress/gutenberg#23432 and WordPress/gutenberg#23569 (which also paves the way for re-adding flip controls) which could use review. And I simplified the scope of my batch APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. PR mentioned last week WordPress/gutenberg#23369. If we intend to release the API not under an experimental flag, I’d like to get this change into 5.5 since I think it’s a much nicer API to use.

@itsjusteileen

I’ve been testing in Full Site Editing and reviewing docs for the Block Directory

@nrqsnchz

 I’ve been helping with designing flows for template creation in FSE, and reviewing/testing PRs for a11yAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) and design. Also started looking into updating .org Gutenberg preview

Nik Tsekouras

I’ve worked on merged PR that adds unlink support in Buttons Block PR: 23445

PR for enabling add row/column in Table block, after having added one — needs review PR: 23508

I have a PR for allowing the Pullquote to have the same transforms with Quote block — needs review PR: 23562

@mapk

I’m focusing on 5.5 to help review and test where needed.

@youknowriad

  • I’ve worked on our CI setup and used GithubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ Actions instead of Travis.
  • I’ve been working on the iterations to the inserter
  • Trying to help cleaning the patterns to include to Core
  • I’m also working on a job to run Gutenberg e2e tests on Core to ensure the editor is stable on Core too: PR: 356
  • Reviewing different PRs here and there

@paaljoachim

 I am helping to get the dev environment tips and tricks in place to help any user for migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. to various node and npm versions.

@michaelarestad

We’re working on flows to create new templates and would love your feedback on initial needs/ideas here.

Open Floor

@noah

For those that use the WordPress Figma libraries, updates are on the way to incorporate the new block editor patterns, as well as some general cleaning to make these more relevant. In the Components and Patterns files, there’s a page called “In Progress” where I’m building out the new elements. Once those are approved, we’ll migrate them to the main pages.


Arpit G Shah

How can we manage to work with the new contributors?

@andraganescu

Myself and a bunch of other folks who have been working on a new, block-based, menus page (nav-menus.php) in wp-adminadmin (and super admin) will host a weekly chat in #core every Wednesday, 2020, 07:00 AM UTC, starting next week, on Jul 8th.

In general it will be a triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. around issues in GitHub labeled with either `[Feature] Navigation screen` or `[Block] Navigation` but also completely open to exploring any subject around improving the navigation creation process in WordPress, increasing compatibility with the incoming FSE and also maintaining backwards compatibility.

#core-editor, #core-editor-summary, #core-restapi, #gutenberg

External Library updates in WordPress 5.5: call for testing

Edit 7/1/20: The post initially indicated that a minified version of Moment.js was now included in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. This was incorrect, a minified version has always been included, but as a direct copy from upstream. That copy now has a sourceMappingURL reference (which is not desired). For that reason, the library is now minified in the Core build process instead. That sentence was removed to prevent confusion. Props @sergeybiryukov for catching that.

Edit 7/2/20: After this note was published, new versions of the Moment.js and getID3 libraries were committed. The version updates for each have been adjusted appropriately.


WordPress 5.5 is currently slated to bring some long awaited updates to a handful of external libraries bundled with Core. A few of the updates are particularly large, and while backwards compatibility measures were taken, they could potentially require adjustments to plugins, themes, and custom code. For that reason, this developer note also doubles as a call for testing.

Please help test these library updates, and report back any bugs to help ensure that no edge cases were missed during the initial testing.

You can test these changes by installing the WordPress Beta Tester pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party (choose the “bleeding edgebleeding edge The latest revision of the software, generally in development and often unstable. Also known as trunk. nightlies” option), or download the nightly package directly (regenerated from trunk daily).


Remember, running the nightly version of WordPress is not recommended for production environments. Consider setting up a local development environment to test instead.


A full list of External Library tickets can be found on Trac, but below are the library updates currently slated to ship with WordPress 5.5, including all of the details you need to be aware of. The libraries that require an extra keen attention to detail are marked “please test”.

PHPMailer (please test)

Because of conflicting PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher support policies (support for PHP < 5.5 in was dropped in newer versions of the PHPMailer library), WordPress Core has been stuck on the 5.x version of PHPMailer for quite some time, even though a newer, 6.x version exists. However, now that WordPress only officially supports PHP back to version 5.6.20, PHPMailer can finally be updated.

This is a major update to the library. Please help by testing this update to ensure any edge cases are discovered.

Plugins that appear to be utilizing the library will soon receive an email to test their code. Below is what you need to know about the changes as they relate to WordPress Core.

Note: this is not an exhaustive list. For a more complete list of changes, please consult the Upgrading from PHPMailer 5.2 to 6.0 guide.

New file locations

To make updating the library easier, the PHPMailer files have been moved into the wp-includes/PHPMailer directory. The old files will remain for backwards compatibility and load the new corresponding files, but loading them will now throw a _deprecated_file() warning.

  • wp-includes/class-phpmailer.php is replaced by wp-includes/PHPMailer/PHPMailer.php.
  • wp-includes/class-smtp.php is replaced by wp-includes/PHPMailer/SMTP.php.

Additionally, the phpmailerException class is now separated into its own file, wp-includes/PHPMailer/Exception.php (previously, it was included at the bottom of the class-phpmailer.php file). When loading the PHPMailer library, the Exception.php file is required, and should also be loaded. If the old class-phpmailer.php file is loaded, the exception class will be loaded automatically to minimize failures.

New PHPMailer namespace

In past versions, the PHPMailer class existed within the global space. However, moving forward, the PHPMailer library is under the new PHPMailer\PHPMailer namespace. Below is an example of the old usage, and an example of the new way to utilize the library.

Old method

<?php
require_once ABSPATH . WPINC . '/class-phpmailer.php;
$phpmailer_instance = new PHPMailer();

New methods

Both examples will produce identical results.

<?php
use PHPMailer\PHPMailer\PHPMailer;
require_once ABSPATH . WPINC . '/PHPMailer/PHPMailer.php;
require_once ABSPATH . WPINC . '/PHPMailer/Exception.php;
$phpmailer_instance = new PHPMailer();
<?php
require_once ABSPATH . WPINC . '/PHPMailer/PHPMailer.php;
require_once ABSPATH . WPINC . '/PHPMailer/Exception.php;
$phpmailer_instance = new PHPMailer\PHPMailer\PHPMailer();

Similar changes must also be made when utilizing the PHPMailer Exception class.

The old classes have been registered as aliases of the new, properly namespaced classes using class_alias() in PHP (this is true for the PHPMailer, phpmailerException and SMTP classes). This means that a plugin containing code similar to the “old method” will continue to work seamlessly until it can be updated (with the exception of the _deprecated_file() notice).

Note: the aliases will only exist if the old, deprecated files are included. A plugin relying on Core to load the PHPMailer library will not have an alias present as the new files are now loaded instead.

Deprecated elements have been removed

Another big change in the 6.x update was the removal of all deprecated properties and methods. A full list of removed elements can be found in the upgrade guide.

Plugins using PHPMailer

All plugins that appear to be utilizing PHPMailer will soon be receiving an email notification to test their code and make any necessary adjustments.


For more information, check out the full list of changes included with this update, the PHPMailer 6.0 upgrade guide, or the related TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets (#41750, #50379, #50380).

SimplePie (please test)

SimplePie is a RSS and Atom feed framework bundled with WordPress Core to handle the consumption of RSS and Atom feeds. The library has remained largely untouched for several years, but has been updated from version 1.3.1 to the latest version (1.5.5) for WordPress 5.5.

This update includes bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes, compatibility fixes for newer versions of PHP, added support for additional date formats, and minor improvements to ensure that feeds continue to be parsed correctly. Support for caching feed data to Redis and Memcached has also been added.

It is highly recommended that you test your code if your site fetches and processes RSS/Atom feeds.

Plugin authors were previously notified to test their code against the 1.5.5 update in early May, and the authors of plugins that were identified as using SimplePie should have received an additional follow up email. While no issues have been reported so far, it’s still possible that there may be undiscovered edge cases.

For more information, check out the full list of changes in SimplePie 1.3.1 to 1.5.5, or the related Trac ticketticket Created for both bug reports and feature development on the bug tracker. (#36669).

Twemoji

Earlier this year, the Unicode Consortium announced that Emoji v13.0 had been finalized. In addition to the 62 brand new emojis that were added, 55 gender and skin-tone variants were also added.

Platforms will begin rolling out native support later this year. But why wait? The Twemoji library has already been updated to support the new emojis, and that update will be included in WordPress 5.5.

So start spicing up your blogblog (versus network, site) about ninja (🥷) techniques, using tamales (🫔) and olives (🫒) on your food blog, and beavers (🦫) or polar bears (🐻‍❄️) on your wildlife blog.

For more information, check out the full list of new emojis added in Emoji v13.0, the Twemoji 13.0 release notes, or the corresponding ticket on Trac (#50148).

Masonry & imagesLoaded

The Masonry library has been updated from version v3.3.2 to 4.2.2, and the related imagesLoaded library has been updated from v3.2.0 to v4.1.4.

The biggest change in this update is the removal of support for IE versions 8 & 9. Core has not supported these versions of IE since WordPress 4.8, but if supporting these versions of Internet Explorer is important to your user base, please explore enqueuing your own versions of these libraries instead.

For more information, check out the full list of changes in Masonry, the full list of changes in imagesLoaded, or the related Trac ticket (#37675).

getID3

The getID3 library has been updated from version v1.9.18 to v1.9.20. This is a minor update that fixed several bugs. These fixes included one that caused a PHP notice when using PHP 7.4 and processing MP3 audio files.

For more information, check out the full list of changes in getID3 or the related Trac ticket (#49945).

Moment.js

The Moment.js library has been updated from version 2.22.2 to 2.27.0. For more information, check out the full list of changes in Moment.js, or the related Trac ticket (#50408).

clipboard.js

The clipboard.js library has been updated from version v2.0.4 to v2.0.6. For more information, check out the related Trac ticket (#50306).

Props @earnjam for technical review, @newyorkerlaura and @justinahinon for proof reading.

#5-5, #dev-notes, #external-libraries

CSS Chat Agenda: 2nd July 2020

This is the agenda for the upcoming CSSCSS Cascading Style Sheets. meeting scheduled for Thursday, July 2, 2020, 5:00 PM EDT.

This meeting will be held in the #core-css channel in the Making WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/..

If there’s any topic you’d like to discuss, please leave a comment below!

#agenda, #core-css