Updating jQuery version shipped with WordPress

This has been a long time coming; the TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker. #37110 is already few years old.

Following the recommendations of the jQuery team, the updating has to happen in stages:

  1. Remove jQuery Migrate 1.x. This is planned for WordPress 5.5.
  2. Update to the latest version of jQuery and add the latest jQuery Migrate. This is tentatively planned for WordPress 5.6 depending on test results. Updating to the latest jQuery UIUI User interface, version 1.12.1, is also planned for 5.6.
  3. Remove jQuery Migrate. This is tentatively planned for WordPress 5.7 or later, depending on testing.

As planned, a Test jQuery Updates 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 was released to makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). it easy to test different versions of jQuery, jQuery Migrate, and jQuery UI. Please install it and thoroughly test if everything works as expected, especially on the front-end, or at the settings pages of other WordPress plugins.

How to help with testing

The plugin has a settings screen found under the Plugins menu in WordPress adminadmin (and super admin). Different versions of the jQuery libraries can be selected there for testing. Please test by:

  1. Disabling jQuery Migrate, and leaving jQuery and jQuery UI at the default versions (for WordPress 5.5).
  2. Selecting jQuery 3.5.1, enabling jQuery Migrate, and selecting jQuery UI 1.12.1 (for WordPress 5.6).
Test jQuery Updates settings screen, under the Plugins menu.

Updating your code

To get ready for this jQuery update, it’s important that you update your code. The migrate plugin will assist you in identifying issues. Additionally, the jQuery Core 3.0 Upgrade Guide and 3.5 Upgrade Guide provide detailed information about what has changed. As the browser supported list is also updated, this is also a great time for you to revisit what versions of browsers are supported by your themes and plugins.

See a 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.?

If you find a bug in Test jQuery Updates, or if you run into a jQuery related issue, please report it at https://github.com/WordPress/wp-jquery-update-test. If the issue is with a default script in WordPress, please open a new ticket on Trac.

Thanks @andreamiddleton, @annezazu, and @jorbin for helping with this post.

#5-5, #jquery

Editor features for WordPress 5.5 – update

As a continuation of the previous post outlining the WordPress 5.5 Editor features, here’s an update on which of those features will be in 5.5, and which will not. In the previous post, there were two “sets” of features. The first was “definite for inclusion,” and the second was “features that need help.”

Currently the releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software. includes the following list of new additions and improvements to the editor:

  • A new blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor design.
  • Introducing block patterns and the block patterns APIs for themes and plugins.
  • A new block inserter panel with streamlined categories, collections, native support for patterns, and block directory integration.
  • An improved editing experience, with refined drag and drop, block movers, parent block selection, device previews, contextual focus highlights, multi-select formatting allowing changes to many blocks at once, ability to copy and relocate blocks easily, and better performance.
  • An expanding set of design tools with inline image editing, theme support for link color, multiple alignment options and customizable padding in cover block, mobile support for auto-playing videos, extended background and gradient support to other blocks (group, columns, media & text), broader unit control beyond pixels (rems, %, vh, vw), line height adjustments, and more.
  • Over 1500 additional changes to the editor experience.

That is an impressive list! It also includes most of the items that needed help: block patterns, block directory and block design tools. Keep an eye on this blogblog (versus network, site) in the coming weeks for 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 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. detailing each feature listed above.

Thank you to every contributor that took the time to push these features over the finish line! 🎉

However, even though lots of work went into these features and considerable progress was made, there are some features previously planned for 5.5 that could not be included:

  • The navigation block
  • The new navigation screen
  • The new widgets screen

To monitor progress and participate there are a few places to start:

  • Navigation and the navigation screen issues are tracked in the Navigation project within the GitHubGitHub GitHub 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/ repository. There are also issues not tracked in the project but labeled accordingly.

To test the current status of these projects, remember to turn them on within the Gutenberg plugin experiments screen.

Thank you for your support, contributions, and all other kinds of participation in this amazing new incoming WordPress release!

#5-5

X-post: WCEU 2020 Online Contributor Day: Feedback and achievements

X-post from +make.wordpress.org/updates: WCEU 2020 Online Contributor Day: Feedback and achievements

Devchat meeting summary: July 1st, 2020

@whyisjake led the chat for this agenda

Highlighted/Need Feedback Blogblog (versus network, site) Posts

A few blog posts and announcements were shared by @whyisjake

@azaozz recently published a plan to update the version of jQuery that is shipped with WordPress: ‬Updating jQuery version shipped with WordPress‬‬

@sergey‬ published this proposal last week to change some of the closure statuses in TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.: Proposal: Rename “invalid”, “worksforme”, and “wontfix” ticket resolutions. ‪@sergey‬‪ shared that he is waiting on more feedback and will summarize this weekend or so.‬‬

@audrasjb recently published ‬WordPress 5.5: Better fine grained control of redirect_guess_404_permalink()

@desrosj recently published External Library updates in 5.5: call for testing

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

@whyisjake noted the amazing new image editing capabilities (with gifs!) : What’s new in Gutenberg (24 June)

As a follow up, ‪@Andrei‬ posted the editor chat summary earlier today: Editor chat Summary: 1st July, 2020

@whyisjake pointed out that for anyone interested in contributing to closing some 5.5 tickets, ‪@ella‬ has a GithubGitHub GitHub 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/ board tracking issues for the net releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software..

@desrosj wants help to test SimplePie and PHPMailer! All 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 authors that utilize these libraries should receive an email alert. The updates have been in trunktrunk A 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. for at least a few weeks now, and no issues have been found yet. @ipstenu has picked it up and just needs a clone.

Upcoming Releases

WordPress 5.5 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 is right around the corner: WordPress 5.5 Development Cycle @whyisjake noted that from this point on, no more commits for any new enhancements or feature requests in this release cycle, only 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 and inline documentation. Work can continue on enhancements/feature requests not completed and committed by this point, and can be picked up for commit again at the start of the WordPress 5.6 development cycle.

Components Check-in and Status Updates

APAC Scrub @davidb‬‪ provided an update on the ‬APAC scrub last night. With Beta 1 approaching, the deadline for Feature Requestfeature request A feature request should generally begin the process in the ideas forum, on a mailing list, as a plugin, or brought to the attention of the core team, such as through scope meetings held for each major release. Unsolicited tickets of this variety are typically, therefore, discouraged. and Enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. type tickets is at that point.@audrasjb congratulated everyone on bringing the number down this past week. @whyisjake ‪asked what the process would look like between now and ~next Tuesday for these tickets? @davidb said ‬triaging while pinging owners/maintainers as much as possible for updates. Monday and Tuesday will probably see a lot of punting though, if these tickets don’t move between now and then‪. @whyisjake then asked if a ticketticket Created for both bug reports and feature development on the bug tracker. doesn’t see movement, do we normally move to Future Release or 5.6? @davidb said mostly Future Release with a comment that the owner/maintainer/committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component. can update to the current milestone when they assume ownership to avoid the “kick the can down the road” issues of the past.@whyisjake gave major props to @davidb and everyone else that takes the time to keep the ticket garden tidy.‬‬

@francina mentioned that there has been a lot of discussion in 5.3 and 5.4 about what bug fixes can be fixed. Group asked if we should revisit or continue as we did until she finds the time to write the proposal?

@audrasjb noted that ‪#48751 was intentionally punted to 5.6 and not Future release and should be left in its current milestone‬‬

@marybaum team is on track to attach rough layout and copy for the About page to the ticket on track with Beta 1 and then commit by RC1, so polyglots can have the full period to translate. She gave props to ‪@estelaris‬, ‪@yvettesonneveld‬ and ‪@abhanonstopnewsuk‬ for art direction, help with the message brief and outreach to the marketing team.

@francina gently reminded all the component maintainers that we are 6 days away from Beta 1 and ask for help if needed.

@whyisjake provided a link for the list of components, with the maintainers: Component Pages – Makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.

@whyisjake mentioned that WordPress 5.5 introduced a new sitemap component.

@Carike mentioned that there is still a significant difficulty that some components have a large number of maintainers, while only one is currently active. It prevents people from volunteering. @francina and ‪@yvettesonneveld‬ talked about the possibility of mentoring new contributors to avoid burnout.

@Carike mentioned that one couldn’t triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. tickets properly without maintainer status. @clorith said anyone can triage tickets, it’s also possible to have gardener capabilities without being a maintainer. @johnbillion seconded this and said maybe the status is not set on Trac @whyisjake posted the link to some docs around bug gardening: Bug Gardening @sergey also posted the link to a good overview for anyone interested in triaging/gardening @‬desros ‬has a new related post in his drafts and will try to wrap that up and get it published next week!‬

@audrasjb gave a few updates from the components he’s working on:

  • Everything is fine from Widgets and Menus components. The biggest remaining ticket is #48170 and it’s only waiting for review.
  • Everything is fine from Plugins and Themes auto-updates. We have few remaining tickets but no blockerblocker A bug which is so severe that it blocks a release..
  • From the accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) focus: we’ll start punting to Future soon. We still have two remaining bug scrubs to handle the remaining tickets.

New blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.-based menus page: @Andrei‬ and a bunch of other folks have been working on a new, block-based, menus page (nav-menus.php) and think it’s time to start syncing with everyone else on how things evolve. They will host a weekly chat in #core about the current evolution and state of the new navigation screen. The meeting will happen in #core every Wednesday, July 1, 2020, 12:00 AM PDT, starting next week, on Jul 8th. In general it will be a triage 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.

@sabernhardt mentioned that #50120 could benefit from more attention

Open Floor

@Hareesh asked, with regards to ticket #50503 (linked #40039), if it is conventional to make such changes for all bundled themes all the way up to Twenty Ten? @williampatton @whyisjake @audrasjb agreed it was and @whyisjake said the team normally coordinates with ‪@ianbelanger‬ who pushes those same changes to the non-bundled versions that are the in the theme repo.

@enrico.sorcinelli raised ticket #21676, based on the analysis ‪@sergey‬ he thinks that is definitively the time to take a decision for this 8-year old ticket and long awaited simple feature. ‪@sergey‬ asked everyone to read the recent comments on the ticket and share their thoughts

#5-5-2, #dev-chat-2, #summary

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 releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software..

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 RC 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 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 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 Sitesite (versus network, blog) 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 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 makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). 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 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 makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). 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 sitesite (versus network, blog) 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!

  • CSS audit status update
  • Color scheming update
    • #50504 High contrast color scheme in 5.5
  • CSS Latest and Greatest Link Share

#agenda, #core-css

Dev Chat Agenda for July 1st, 2020

It’s July! Holy smokes.

Here is the agenda for the weekly meeting happening later today: June 30th, 2020 13:00 PDT.

Highlighted/Need Feedback Blogblog (versus network, site) Posts

Meeting Notes

Discussion

Components check-in and status updates

  • News from components
  • Components that need help/orphaned components
  • Cross-component collaboration

Open Floor

Got something to propose for the agenda, or a specific item relevant to our standard list above?

Please leave a comment, and say whether or not you’ll be in the chat, so the group can either give you the floor or bring up your topic for you, accordingly.

This meeting happens in the #core channel. To join the meeting, you’ll need an account on the Making WordPress Slack.

#5-5, #agenda

X-post: Block-based Themes Meeting Agenda for July 1, 2020

X-post from +make.wordpress.org/themes: Block-based Themes Meeting Agenda for July 1, 2020

CSS Chat Summary: 25th June 2020

Full meeting transcript on Slack: https://wordpress.slack.com/archives/CQ7V4966Q/p1593118837002500

I (@notlaura) facilitated the meeting.

CSSCSS Cascading Style Sheets. audit updates

I added a summary comment with remaining items to the main CSS audit ticket, and confirmed with the group that we were in agreement to remove auditing CSS comments from the list. I also added property counts for letter-spacing and font-family to go along with the other typography-related properties.

There was general agreement that the “Determine methodology recommendations” sub-task ticketticket Created for both bug reports and feature development on the bug tracker. is complete since we have been using @ryelle excellent CSS audit tool. The next step will be determining how to automate the results, and @isabel_brison suggested that be a separate ticket. In addition to an automation ticket, I added that we will want to have a ticket to determine the display of audit data.

Color scheming updates

@ryelle mentioned the merged PR to 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/ that successfully applied the adminadmin (and super admin) color scheme using a single base color with accompanying Sass mixin vs using the post-css themes approach we’ve looked at previously.

@danfarrrow mentioned the possibility of computing the color values in native CSS using custom properties. There was agreement that this would be ideal, but that Sass or PostCSS would be required at least in part, and we would need to test out some approaches, including something like outlined in this blog post. @youknowriad mentioned an issue with the approach outlined in the blogblog (versus network, site) posts ties the colors 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. to HSL values, and we would want to have the colors available in a more generic form. Still, some experimenting is in order before we fully rule out the possibility!

CSS Latest and Greatest Link Share

I shared the gap property that can be used for horizontal and vertical spacing between elements for both flexbox and CSS grid. While support is not green across the board yet, recent versions of Chrome have full support, so we are getting close and this blog post of mine gives an overview of using the gap property with a fallback.

#core-css, #summary