Merge Announcement: Plugins & Themes Auto-Updates

After making the auto-updates project a feature plugin, the #core-auto-updates team is excited to announce that the plugins and themes auto-updates feature is ready for a coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. merge.

Here are the main features that have been developed:

  • The ability for website administrators to opt-in to automatic updates for plugins and themes.
  • Ability to enable/disable auto-updates on a 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-by-plugin and theme-by-theme basis.
  • Multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site support for both themes and plugins auto-updates.
  • Email notifications to send auto-update summaries to website administrators.
  • HooksHooks In 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. and constants to help developers programmatically define auto-updates settings.

To be clear, plugin and theme auto-updates already exist in WordPress core, but these new features add a fully-featured user interface to allow administrators to opt-in to these features.The feature was developed on WordPress GitHub repository and tested for a few months as a feature plugin available on WordPress repository.

@audrasjb and @pbiron hosted weekly meetings on #core-auto-updates 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/. channel, and those meetings allowed the feature to be developed at a good pace. While there are still some details currently discussed on GitHub, the feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. has been a great success, with more than 700 active installations. The plugins and themes auto-updates team is now excited to bring this feature to WordPress users and ship this feature in WordPress 5.5.

Site security is integral for modern website hosting, and bringing auto-updates to plugins and themes is a much-awaited feature in WordPress. This will allow website owners to more easily keep their site up-to-date and more secure. The core plugin team has also added a number of hooks that can be used by plugin authors and WordPress developers to customize the feature, including email notifications.

@whyisjake has opened a core ticket for the core merge. Any help is welcome to test the incoming patches.

Thank you to everyone who contributed to the feature plugin on 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/: @audrasjb, @whodunitagency, @xkon, @desrosj, @pedromendonca, @javiercasares, @karmatosed, @mapk, @afercia, @gmays, @knutsp, @pbiron, @passionate, @nicolaskulka, @bookdude13, @jeffpaul, @mukesh27, @whyisjake, @paaljoachim, @ronalfy, @timothybjacobs, @wpamitkumar and @azaozz.

#5-5, #auto-update, #feature-plugins, #feature-projects, #feature-autoupdates

Auto-updates feature meeting summary: April 28, 2020

These are the weekly notes for the WP Auto-updates team meeting that happened on Tuesday April 28, 2020. You can read the full transcript on the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-auto-updates 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/. channel.

As a reminder, WP Auto-updates Feature PluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. is developed on GitHub and is available for testing on WordPress.org plugins repository.

Core merge announcement

@whyisjake previously started a document to draft the merge announcement, and it should be ready be the end of the week.

Concerning the core merge itself, there are already two existing TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets (#48850 and #49199), but the team agreed that closing those tickets and opening a new one is the best option. We’ll ensure that the new ticketticket Created for both bug reports and feature development on the bug tracker. has a quick recap of what has been done in the feature plugin, and properly references the previous Trac tickets.

Feature plugin: next releases

While working on the Core merge patchpatch A 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., @pbiron noticed a few minor differences in the behavior of how some things in the feature plugin work compared to how similar things in the plugins/themes list tables work in core (specifically concerning bulk edits). They aren’t really bugs or enhancements, but it would 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). things more consistent. For example, WP_Plugins_List_Table doesn’t add the Activate bulk action to the dropdown if the current view is Active plugins, and we are currently always adding Enable Auto-updates even when on the Auto-updates enabled view. Those small changes can also be directly addressed in the Trac ticket.

@pbiron also raised this issue, which aims to discuss how plugins that have auto-updates enabled could be visually identified in WordPress adminadmin (and super admin). @apedog suggested to implement auto-updates action links into 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 row actions section. @audrasjb answered it was previously discussed, and the conclusion was that it is not the best choice, given that “Activate” (plugin) and “Enable” (plugin auto-update) links would introduce confusion, especially on Locales that don’t have any difference between those two terms.

@pbiron raised an issue in the Plugins screens using small viewports, but it appeared it was related to another plugin.


Next meeting is scheduled on Tuesday May 5, 2020 at 17:00 UTC.

#5-5, #auto-update, #feature-plugins, #feature-projects, #feature-autoupdates

Auto-updates feature meeting summary: April 21, 2020

These are the weekly notes for the WP Auto-updates team meeting that happened on Tuesday April 21, 2020. You can read the full transcript on the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-auto-updates 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/. channel.

As a reminder, WP Auto-updates Feature PluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. is developed on GitHub and is available for testing on WordPress.org plugins repository.

Version 0.6.0: introduce AJAX handling on auto-updates enabling/disabling

Thanks to @ronalfy who did a great job on this, auto-updates enabling and disabling action links are now using AJAX calls.

@audrasjb added wp.a11y.speak support to communicate AJAX enabling/disabling changes to screen readers.

@ronalfy opened an issue to improve AJAX responses error messages. This is currently the last issue slated to milestone 0.6.0.

@pbiron also opened an issue to evaluate the opportunity to include version info in email notifications.


Last minute edit: WP Auto-updates 0.6 was released earlier today 💥


Next step: Core merge proposal

The idea is to start to work on the core merge proposal once version 0.6 is released.

Concerning the core merge itself, @audrasjb two approaches:

  • Merging the feature in a single 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.
    • Pros: Easier testing of the overall scope.
    • Cons: A single ticket could be a potential rabbit hole, with endless discussions on the overall feature, so it could be more efficient to manage small and self contained tickets.
  • Merging the feature step by step, with several tickets
    • Pros: It’s more efficient to ship the feature step by step so the steps that are potential blockers could land later, in other releases, if they deserves more discussion. This is the process we used for the development of the feature plugin so it won’t be so difficult to reproduce those steps in several Trac tickets.
    • Cons: It’s a way more difficult to test the overall feature when there are several tickets to test.

Please feel free to comment this post to share your thoughts!

As noted by @whyisjake and @sergeybiryukov, both approaches makes sense. @pbiron noted that Lazy-loading Feature was done in one commit. However, the feature doesn’t bring any UIUI User interface change.

For @whyisjake, WP Auto-updates is pretty light as well and could fit with the single patchpatch A 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. option.

For @afragen, if the merge tickets can be made in logical, non-dependent code blocks, then it would probably be good to do it this way. Otherwise as a single patch.

@whyisjake pointed out that even if the feature is a goal for 2020, it will necessarily need an approval from @matt / @chanthaboune, first.

As it’s a mandatory first step, @whyisjake proposed his help on the Core merge proposal post and started a collaborative Google Doc.

The idea is to publish this post next week, to fit with WordPress 5.5 Alpha development planning.

@pbiron added that once our work is merged into core, we should all be prepared for some things to be reverted/changed after the first “real world” 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. tests.

Open floor

@ronalfy asked if there is any plan to handle translations auto-updates, like email notifications. @sergeybiryukov answered that when language packs were added to core, the idea was that they should always update automatically in the background and do not need a specific UI or notifications.

@paaljoachim added that with @ibdz, they added additional screenshots to the visual que issue. Additionnal thoughts are welcome.


Next meeting is scheduled on Tuesday April 28, 2020 at 17:00.

#5-5, #auto-update, #feature-plugins, #feature-projects, #feature-autoupdates

Devchat meeting summary – April 15, 2020

@davidbaumwald facilitated the chat on this agenda.

Full meeting transcript on Slack

Highlighted blogblog (versus network, site) posts

Upcoming Releases

WordPress 5.5 major releasemajor release A 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.

WordPress 5.5 Call for Tickets is still open for feedback.

@sageshilling shared that the Editor team is working on a Gallery block update for WP 5.5.

WordPress 5.4.1 minor releaseMinor Release A 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.

@audrasjb shared that on the 13 tickets in the milestone, 12 are already committed and one ticketticket Created for both bug reports and feature development on the bug tracker. still needs some work.

@whyisjake self nominated to lead WordPress 5.4.1. @davidbaumwald added that if anyone is interested in helping with 5.4.1, they can get in touch with @whyisjake. @audrasjb expressed his interest.

The idea is to ship a release candidaterelease 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). next week and a final 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. in two weeks.

Components Check-in

@imath shared an update on Comments component:

  • He is working on a 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 to progress about #35214
  • It would be nice to get some feedback on #49236, since it would be nice to have a patchpatch A 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. committed early
  • Feedback is also needed on #49179

@clorith pointed out that it would be nice to move forward on Dashboard Namespace introduction in REST API. Volunteers are welcome to contribute to the associated tickets.

@audrasjb shared 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) team main focuses for WP 5.5:

@audrasjb also shared an update about WP Auto-updates feature plugin: version 0.5 was released just before the devchat. It addresses all the feedback received from the Design and Accessibility teams.

Open floor

@audrasjb raised a question concerning WP Auto-updates feature: should it provide a way to rollback to the previous version of an auto-updated plugin? This feature was proposed in a GitHub issue.

@imath believes WordPress could 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 easier to come back to a previous version of a plugin.

@timothyblynjacobs pointed out that one of the big issues with rolling back, is that if a plugin does any kind of DB change, it can’t necessarily rollback without data loss or other breakage.

@clorith added that it might “double” the time needed per update in doing so, maybe even triple if it needs to revert as well, the increase in memory consumption, and processing time adds a new layer of potential failures as well.

@afragen raised this could be detected by the new WSOD so at least it wouldn’t white screen a site. @timothyblynjacobs answered WSOD protection would notice the error, but wouldn’t automatically deactivate the plugin.

@timothyblynjacobs thinks it would also be worth clarifying whether this would be limited to the updater automatically rolling back, or it being available for the user to take action.

For @sageshilling, ideally, the update if automated, would check for known problems and either notify site owner if detected during import.  If possible, stop import, roll back and allow the site owner to address it.

@clorith thinks the correct approach is yes, keep a backup until the update is completed so it can be reverted, and introduce an actual feature for plugins/themes to run upgrade tasks after the fact, that way the site can be confirmed still functional without triggering any DB upgrades for example.

@timothyblynjacobs thinks there would be value to plugins being able to rollback the same way coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. does if the actual upgrade process fails. But he think having a WP-Rollback [note: it’s a plugin available on the repository] type solution in core should be a separate project.

As WP Auto-updates co-lead, @pbiron added an other question to the discussion: if one want to rollback, is that something that should be in the feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. or can that be worked on after the feature plugin is merged into core? He think the WP_Automatic_Updater class has enough hooksHooks In 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. that we could work on it in the feature plugin, but it might be difficult.

@desrosj point out that the way core handles rollbacks currently is a rollback URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org is provided in the 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. response, and it gets retrieved if a severe failure occurs. There is no equivalent link returned in the API response for plugin updates.

@imath believes it’s better to have a way to manually upgrade/downgrade a plugin in WordPress before merging the feature into Core.

@desrosj thinks that for the first iteration, the WSOD may be enough for a non-technical to recover from an issue. Enabling auto-updates for plugins and themes will be opt-in, so maybe there just needs to be appropriate messaging when the site owner enables an auto-update for the first time.

@clorith agreed, when/if the feature is enabled by default, it needs rollback, but for a first iteration with manual enablling, let’s roll with what a manual way of reverting, sounds reasonable.

@audrasjb pointed out that managing updates rollback is a project in itself as it is something that should be currently available for manual updates.

@afragen asked: aren’t core rollbacks only for critical errors? Any plugin downloads and updates correctly but results in a fatal because of a coding issue sets a higher bar than we have for core.

@pbiron added that the current scope of the feature plugin has been providing a UIUI User interface for enabling/disabling auto-updates, and rollback seems to be another feature plugin itself. Also, there is a notification email that gets sent with updates successes and failures. Also @timothyblynjacobs added that WSOD would send a recovery mode email if a site has fatal error on protected endpoints. @desrosj added that in the current process to manually upgrade a plugin in the dashboard today, there is no protection for a fatal error or coding error in the plugin.

@audrasjb raised that a rollback feature would be a nice improvement to WordPress Core, but it’s useful for both manual and auto updates.

#5-4-1, #5-5, #feature-autoupdates

Auto-updates feature meeting summary: April 14th, 2020

These are the weekly notes for the WP Auto-updates team meeting that happened on Tuesday April 14th, 2020. You can read the full transcript on the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-auto-updates 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/. channel.

As a reminder, the Feature PluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. is developed on GitHub and is available for testing on WordPress.org plugins repository.

The team focused on making decisions concerning design and wording changes in WP Auto-updates version 0.5:

Remove “cycle” dashicons from the interface

The team agreed the current use of dashicons is not strictly necessary. It appears on every row and it can be too much. Also, the current update system (known as “shiny updates”) doesn’t use any dashicon except for notification messages of available updates.

The decision is to remove it from the user interface to keep it pure text + text links.

It fixes GitHub issue #71 and it is going to be addressed in pull request #74.

Replace “Enable” with “Enable auto-updates”

The team agreed that single word actions can be confusing, especially for small screens and for screen reader users.

It fixes GitHub issue #72 and it is going to be addressed in pull request #75.

Remove red links and green text

In the previous versions of WP Auto-updates, red color were used for “Disable” action links, and green color were used for “Auto-updates enabled” information texts. Last week the team agreed to replace it with standard blue links (as red is used for destructive actions) and black text.

It was already addressed in GitHub pull request #70.

Confirmation messages

Previously, the feature plugin was displaying the following messages after enabling auto-update for a theme or a 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:

  • “The selected plugins will now update automatically.”
  • “The selected plugins won’t automatically update anymore.”

The team agreed to simplify confirmation messages, and to replace them with:

  • “Selected plugins will be auto-updated.”
  • “Selected plugins will no longer be auto-updated.”

This change brings consistency with plugins and themes existing activation message.

A pull request is going to be opened on 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/ to handle the related changes.

Provide information about themes with auto-updates enabled on single-site Themes screen

On a single-site Themes screen (Appearance > Themes), there is currently no way to quickly know what themes have auto-updates enabled. The user needs to open the theme’s modal, and this is a poor user experience.

During the meeting, two solutions were discussed:

  • Use an icon on the upper-right corner of each theme in the list. It does the job, but there is a question for when the theme have an update available (there is a notification message on the top of the theme screenshot, and it may conflictconflict A conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. with the auto-update icon).

@paaljoachim tested this solution:

Icon on the upper-right of each theme.
Problem: what to do when there is an update notice?
  • Add auto-update information (or even an enable/disable auto-updates action link) at the bottom of the theme screenshot and put all the action links on a second row.

@audrasjb made a quick workaround:

Quick workaround: all action buttons are placed on a second row.

Remove auto-updates UIUI User interface from Networknetwork (versus site, blog) Adminadmin (and super admin) > Sites > Edit > Themes

@pbiron pointed out that as a general rule, auto-updates content should not appear on any screen where updates can not be performed.

Everyone agreed and Paul will add a pull request to handle this issue (#69) and remove auto-updates user interface from Network Admin > Sites > Edit > Themes.


Next meeting is scheduled on Tuesday April 21, 2020 at 17:00 UTC

#auto-update, #feature-plugins, #feature-projects, #feature-autoupdates

Auto-updates feature meeting summary: April 7th, 2020

These are the weekly notes for the WP Auto-updates team meeting that happened on Tuesday April 7th, 2020, based on this agenda. You can read the full transcript on the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-auto-updates 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/. channel.

As a reminder, the Feature PluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. is developed on GitHub and is available for testing on WordPress.org plugins repository.

Current status of the project – version 0.4 🌹

As a reminder, version 0.4 was released one week ago and contains all the core functionalities of the project. The team opened a call for testers on Make/Tests.

Version 0.5 scope and timeline

For the moment, there are 5 PRs merged into milestone 0.5.

The main goal of version 0.5 is to iterate on design and wording. There is a bunch of design focused issues, but the idea is to iterate on links colors and wording first.

All the attendees think all the links should be blue and text should be black. Indeed, red links are used for destructive actions in WordPress core, and it’s not relevant for auto-updates disabling. So let’s get rid of red links and green “Auto-updates enabled”. Let’s just use blue for links and black for text. This change will be part of 0.5.

About wording, @audrasjb wanted to point out that “auto-update” (don’t forget the hyphen) is the official wording for the feature in WordPress as it has been validated ahead of the Feature Plugin with WP project leads.

 @pbiron pointed out his concerns about removing any filters on the plugins screens, especially the “Auto-update disabled” filterFilter Filters 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., as it’s really useful to see what plugins are not auto-updated. The team agreed that this filter is not going to be removed.

How to avoid conflicts with third party plugins?

@ronalfy pointed out, from a third-party standpoint, that if a 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 uses a custom option for storing updates, it’d be nice to be able to sync the two through actions and filters. So if WordPress enables an auto-update, the plugin can hook into that action and update their own list accordingly. The same would be useful for filters when retrieving options so the plugin could theoretically merge the two. Ideally third-parties could just use WordPress options, but there’s backwards compatibility issues there.

For reference, see issue #63 and pull request #66.

@timothyblynjacobs added that being able to add bits to the auto update column itself would be useful as well.

Next steps:

  • Add an action hook on auto-update enabling and disabling for each theme/plugin.
  • Add a hook to filter the auto-update column content itself.

Discussion/decision concerning AJAX handling in the Feature Plugin

While this is not a top priority, it’s a nice to have. The team agreed to target version 0.6 for this enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature..

Discussion about the labels used for enabling/disabling auto-updates

There is a proposal to change the current action links labels.

@pbiron and @audrasjb pointed out that on/off and “plain” Enable/Disable (without “auto-updates”) could be too easily confused with Activate/Deactivate (even with them being in the Automatic Updates column).

There is definitely a need for a cross-team discussion about the best wording for those links.

Meeting time and Daylight Saving Time

The team agreed to move the meeting time from 18:00 UTC to 17:00 to follow Daylight Saving Time.

#auto-update, #feature-plugins, #feature-projects, #feature-autoupdates

Auto-updates feature weekly meeting agenda – April 7th, 2020

Next meeting is scheduled on Tuesday April 7, 2020 at 18:00 UTC and will take place on #core-auto-updates 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/. channel with the following agenda:

  • Version 0.5 scope and timeline
  • Homework: @pbiron asked attendees to think about how can we avoid conflicts with third party plugins
  • Discussion/decision concerning AJAX handling in the Feature PluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins.
  • Discussion about the labels used for enabling/disabling auto-updates
  • Daylight Saving Time: should we move the meeting time?

See you tomorrow!

#agenda, #auto-update, #feature-plugins, #feature-projects, #feature-autoupdates

Dev Chat summary – March 25, 2020

@francina facilitated the chat on this agenda.

Full meeting transcript on Slack

This devchat marked week 11 of the 5.4 release cycle.

Announcements

WordPress 5.4 Release Candidate 4 was released on Tuesday March 24, 2020 and everything went smoothly.

@audrasjb shared an update on WP Auto-updates Feature PluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins.: it was moved from his personal 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/ account to WordPress/wp-autoupdates which is the new official GitHub repository of this project. The #core-auto-updates team will try to ship version 0.4 before WP 5.4 is released. This new version aims to handle auto-updates for themes.

@afragen asked for a review of some Trac tickets which are all associated with Theme compatibility checks and will likely have interaction with the auto-updates feature. The idea is to ship them early in WordPress 5.5.

@whyisjake pointed out that he really like the work that is going on in #core-auto-updates 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/. channel and think that trying to land in the next few releases would be excellent. Related, He’d love to see #core-passwords (two-factors authentification – 2FA) land in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. too. In his opinion, the 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 is so mature at this point that having it left out almost seems like an omission. @whyisjake is going to work on a merge proposal.

@clorith raised that it would be necessary 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). sure that the 2FA proposal also highlights the concerns with how to address users locking them selves out (which was the major holdback previously).

@azaozz announced that the patch for image lazy-loading attribute is ready for testing.

Upcoming Releases

The current major is 5.4, scheduled to go out on March 31st 2020; please keep testing for all the bugs!

There are two ways do it:

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. has been branched to 5.5 on the beginning of March. That means 5.5 is officially in Alpha.

@francina announced that work for 5.6 –which is going to be an all-women release– has kicked off with an initial round of messages going out to the women that expressed interest. @angelasjin @francina and Chloé Bringmann are contacting them to hear if they are still interested, what skills they have and what expectations.

Components Check-in

@francina shared a proposal to change the Components Check-in. This is always done towards the end of the chat and feels rushed. There is never really time to dig into the topics they might bring up. Francesca shared two ideas:

  1. Schedule a weekly post where they can leave their status update, like the one for Community deputies.
  2. Adopt a Slack Bot that once a week will ask the maintainers for a status update: maybe in a new component-maintainers Slack channel. Core is getting very busy with TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. and Travis bots, and RSS.

@johnbillion added that trying a weekly post could be a good idea. Maybe every Tuesday so it’s ready for the dev chat on Wednesdays in case anything comes up.

@francina proposed to talk to #meta to set this up and test drive it for 8 weeks.

Open floor

@isabel_brison proposed to create a set of guidelines for Internet Explorer support. The CSSCSS Cascading Style Sheets. team kind of decided on starting to deprecate it, and “graceful degradation” seems a good way to go forward, meaning Core can use unsupported technology to make non-essential enhancements. Isabel wants to agree on what’s “essential” here, and created a Trac ticketticket Created for both bug reports and feature development on the bug tracker. to start the discussion: #49696

@paaljoachim suggested to puntpunt Contributors sometimes use the verb "punt" when talking about a ticket. This means it is being pushed out to a future release. This typically occurs for lower priority tickets near the end of the release cycle that don't "make the cut." In this is colloquial usage of the word, it means to delay or equivocate. (It also describes a play in American football where a team essentially passes up on an opportunity, hoping to put themselves in a better position later to try again.) default full screen mode to 5.5 as there is a pull request on Gutenberg project GitHub repository to provide an alternative approach.

@audrasjb pointed out that the proposal in this pull request would be a way better than the current implementation.

@whyisjake added that this is not a realistic change for WP 5.4, it’s a proof of concept, and not a fully tested feature.

@francina confirmed that @matt took the decision to ship WordPress 5.4 with this feature. Matt also commented in the Accessibility Team statement post.

@joyously stated it’s hard to contribute when concerns are ignored. @chanthaboune answered she can understand how they can feel ignored. A lot of that research gets done solo, and it’s often hard to remember to recap your own research. For full site editing to be a reality by the end of the year, the work can start bringing incremental changes. This change is feeling very jarring, but there is more worry about not have any mid-point between here and Full Site Editing.

@peterwilsoncc, @clorith and @audrasjb agreed that since RC4 was released, it’s not realistic to revert this change. The discussion can continue in a post-mortem post on Make/Core.

#5-4, #5-5, #5-6, #dev-chat, #feature-autoupdates, #feature-lazyloading, #two-factor

Auto-updates feature meeting summary: March 17th, 2020

These are the weekly notes for the WP Auto-updates team meeting that happened on Tuesday March 17th, 2020. You can read the full transcript on the core-auto-updates Slack channel.

As a reminder, the Feature PluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. is developed on GitHub and is available for testing on WordPress.org plugins repository.

Current status of the project – version 0.3 🦉

Version 0.3.0 was released on Monday 16th. This 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. addresses a number of issues and introduces Email Notifications.

Changelog:

  • Add functions to handle plugins updates notification emails – PR 54
  • Remove update time text after manual update – PR 43
  • Ensure “Automatic Updates” column is not added if no content would be output in the column – PR 57
  • Specific messages for delayed or disabled cron events – PR 58
  • Prevent mis-match between count in Auto-updates Enabled view and the number of plugins displayed for that view by applying ‘all_plugins’ filterFilter Filters 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. before computing that count. – PR 59

Thanks @pbiron for his invaluable help on version 0.3.

@audrasjb shared a screenshot with an example of email notification:

Please feel free to propose string changes to this first implementation of email notifications.

Version 0.4.0 will focus on backporting every auto-updates features to Themes. @audrasjb to merge this pull request as a first step for the work on themes support. Then, the idea is to open pull requests for each function/feature to be backported, so it’s easier to track progress on themes support.

@bookdude13 asked whether it’s better to open up issues to break up the work on the themes port, or to directly address them with pull requests.

@audrasjb will open an issue to list all the functions/feature that need proper 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. and to track the team’s progression.

There is also a few background tasks opened by @jeffpaul concerning 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.

Concerning Email notifications, @joostdevalk proposed to add links to the plugins changelog in those emails. @pbiron answered that it might be hard for plugins/themes not in the WordPress.orgWordPress.org The 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/ repo. @joostdevalk proposed 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 filterable. @audrasjb proposed to make the notification entirely filterable. @joostdevalk felt concerned about plugins that would override the email even when multiple plugins are updated at once.

@afragen proposed to use a filter that could be specific for each, like for example:
apply_filters( 'wp_autoupdates_email', $text, $slug )

This item will be discussed again during the next team meeting.

@pbiron wanted to discuss a specific pull request. It proposes to add filters to control whether the Enable/Disable buttons appear in the UIUI User interface for a given 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. @pbiron and @audrasjb agreed that having a filter that is specific to the UI is not the way to go and it is to be filterable then the existing auto_update_plugin hook should be used. For now, the pull request will stay open for further discussion.

Next meeting is planned on Tuesday March 24, 2020 at 18:00 UTC and will take place on #core-auto-updates 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/. channel.

#auto-update, #feature-plugins, #feature-projects, #feature-autoupdates

Auto-updates feature meeting summary: March 10th, 2020 (kick-off meeting)

These are the weekly notes for the WP Auto-updates team meeting that happened on Tuesday March 10th, 2020. You can read the full transcript on the core-auto-updates Slack channel and find the meeting’s agenda here.

It was the first meeting for the Plugins & Themes Auto-updates feature, and this kick-off meeting was really efficient and worthwhile for the project 🚀

WP Auto-updates feature general scope

Here is the current general scope of the Feature PluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins.:

  • Ability for website administrators to opt-in to automatic updates for plugins and themes in the related WP-Adminadmin (and super admin) screens
    • ✅ Done for plugins
    • 🔲 Themes: needs to be ported. Slated for milestone 0.4.
  • Ability to enable/disable auto-updates on a 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-by-plugin and theme-by-theme basis
    • ✅ Done for plugins
    • 🔲 Themes: needs to be ported. Slated for milestone 0.4.
  • Email notifications to send regular auto-update summaries to website administrators
    • 🔲 Plugins: Slated for milestone 0.3.
    • 🔲 Themes: Slated for milestone 0.4.
  • HooksHooks In 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. and constants to help developers disable or programmatically define auto-update settings
    • ✅ Done for plugins
    • 🔲 Themes: needs to be ported. Slated for milestone 0.4.

For the moment, the team started with plugins autoupdates, then all this work will have to be ported to Themes screen.

As a reminder, the Feature Plugin is developed on GitHub and is available for testing on WordPress.org plugins repository.

Current status of the project – version 0.2 🐝

Last week, version 0.2.0 was released with a lot of enhancements and bugfixes. Here is the complete changelog:

  • Remove auto-updates column from must-use and drop-ins screens – PR #39
  • Ensure the the enable/disable bulk actions appear in the dropdown and are handled in multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site – PR #38
  • Remove dashicon from “Enable” text in plugins auto-updates column – PR #36
  • Replace “Automatic Updates” with “Auto-updates” in filters – PR #35
  • Display only filters with at least one available plugin – PR #33
  • Remove setting from site option when deleting plugin – PR #32
  • Populate site health with plugins auto-updates informations – PR #24
  • In multisite, only add the “Automatic Updates” column on the plugins-networknetwork (versus site, blog) screen – PR #21
  • Add auto-update-enabled and auto-update-disabled views on the plugins screen – PR #18

@pbiron noticed some PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 notices on version 0.2.0 and made a pull request to fix them. It is milestoned for version 0.2.1, later this week.

@audrasjb shared some screenshots of the current design of WordPress Admin screens:

Click images to open them in full size (it will opens in a new tab).

@mclancy3 will open 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/ issues to provide some feedback on the Plugins screen’s user interface.

Work in progress

@pbiron raised an issue with a premium plugin that assumes there is no extra column on the plugins list table and add its own column with a colspan attribute. As mentioned by @clorith, this is not 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. in WP Auto-update feature plugin but rather a bug in this particular plugin. @jeffpaul proposed to add this to a Known Issues/Caveats section in readme files.

@jeffpaul also proposed to port the Features/to-do list section from readme.md into GitHub issues. @audrasjb already ported Email notifications and Themes auto-updates into issues, and @jeffpaul will take care of the remaining ones.

@jeffpaul pointed out that 10up uses two GitHub Actions to help deployDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. plugins to WordPress.orgWordPress.org The 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/ as well as readme/asset updates. He proposed to submit a PR to add those here and help streamline deploys to WordPress.org. For the moment, @audrasjb generates releases from the GitHub repository and deploy them manually on the plugin repository, using SVNSVN Subversion, the popular version control system (VCS) by the Apache project, used by WordPress to manage changes to its codebase.. If it’s not a top priority, it would be nice to improve this workflow.

As proposed earlier in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-sitemaps meeting, @pbiron suggested to add a label to issues when something different will have to be done to the plugin code when it gets merged into core. @audrasjb stated that it would be nice to introduce this kin of labels and also to use DocsBlocks comments to point out things that will need specific implementation on WP Core. @jeffpaul proposed to use a GitHub pull request template for that.

About next development steps, @audrasjb is currently implementing email notifications. It shouldn’t be a problem given there is an useful automatic_updates_complete action to hook on.

Porting auto-updates features from Plugins to Themes will probably be a way more difficult, as there is not so much hooks in the Themes screen template. Themes in multisite is fairly straightforward, since a list table is used there, but for single sites there is no list table so what we’ve done for plugins won’t really apply. We’ll probably end up with JavaScriptJavaScript JavaScript 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/. hacks to include the interface opt-in buttons and informations. @jeffpaul proposed to expand the focus of 5.4.x to include those hooks in the themes screen, which sounds like a perfect option right now.

Current GitHub issues

Issue 31: Automatically rollback to previous version if fatal errors detected after update

@audrasjb thinks this issue is out of the feature plugin’s scope. @clorith added that if auto-updates are off by default, yes this would be out of scope for the first 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., but definitely something to look into in the future. If they are on by default, this would be a blockerblocker A bug which is so severe that it blocks a release.. @audrasjb answered that Plugins, Themes and Core (major) auto-updates are all meant to be opt-in, in the 2020 general roadmap. The team agreed to keep this issue open for the moment.

Issue 13: Automatically delay/postpone updates

@audrasjb said Postponing updates is a great feature, but it’s not on this feature plugin scope, and not sure it’s even in Core scope. @clorith pointed out that the core solution should facilitate by providing filters and such, but not add all those options. The team agreed to keep this issue open for the moment.

Next steps

  • @audrasjb will focus on email notifications development and grant GitHub commit access to @pbiron.
  • A call for testing will be published on Make/Test once 0.2.1 is released with the PHP notices fixes.
  • @jeffpaul will work on improving the GitHub repository organization.

Next meeting is scheduled on Tuesday March 17, 2020 at 18:00 UTC and will take place on #core-auto-updates 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/. channel.

#auto-update, #feature-plugins, #feature-projects, #feature-autoupdates