Auto-updates feature meeting summary – June 16, 2020

These are the weekly notes for the WP Auto-updates team meeting that happened on Tuesday June 16, 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.

Reminder: WP Auto-updates Feature has been merged into WordPress Core so bugs reports and enhancements requests should now happen on Core Trac.

Update on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets

#50215Help Tabs implementation.
This ticketticket Created for both bug reports and feature development on the bug tracker. was discussed by the team and the 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. was merged by @whyisjake during the meeting.

#50268Auto-update email notifications.
@desrosj is working on a new patch.

#50350Provide 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 and theme versions informations in auto-updates email notifications.
This ticket still needs a patch. @audrasjb is working on it.

#49771Double “Updated!” text blocks when updating theme.
This one still needs a patch.

#50280Enable auto-updates shows for plugins with no support.
This ticket is now very close to be ready for commit. @azaozz and @pbiron are on it.

#41910Scheduled maintenance message.
This ticket was raised by @paaljoachim. As it is outside the auto-updates feature scope, the best way to move forward on this proposal is to point it out in core devchat.

HelpHub documentation

@audrasjb touched bases with the Docs team last meeting on Monday. @milana_cap is available to review it.

It should be done ahead of 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. date so localized versions of HepHub have time to translate it before WordPress 5.5 release. @audrasjb is going to open a MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. Trac ticket to follow this task.

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 WordPress 5.5

@audrasjb proposed the following structure for the dev note:

  • Introduction
  • How to hook into the general auto-updates interface
    • Disable the whole auto-updates UIUI User interface
    • Plugins screen (single and multisites)
    • Themes screen (multisites)
    • Themes screen (single sites)
    • Update screen
  • How to hook into auto-updates email notifications
    • Success notifications
    • Failure notifications
    • Mixed notifications
  • WP-Cron & plugins/themes auto-updates
  • Auto-updates Help Tabs

Feel free to comment below or to get in touch in core-auto-updates Slack Channel if you have any suggestion for this dev note.

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

Merge Announcement: Extensible Core Sitemaps

This proposal seeks to integrate basic, extensibleExtensible This is the ability to add additional functionality to the code. Plugins extend the WordPress core software. XML sitemaps functionality into WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress..

While web crawlers are able to discover pages from links within the sitesite (versus network, blog) and from other sites, sitemaps supplement this approach by allowing crawlers to quickly and comprehensively identify all URLs included in the sitemap and learn other signals about those URLs using the associated metadata.

Purpose & Goals

Sitemaps help WordPress sites become more discoverable by providing search engines with a map of content that should be indexed. The Sitemaps protocol is a URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org inclusion protocol and complements robots.txt, a URL exclusion protocol.

A Sitemap is an XML file that lists the URLs for a site. Sitemaps can optionally include information about each URL: when it was last updated, how often it changes, and how important it is in relation to other URLs of the site. This allows search engines to crawl the site more effectively and to discover every public URL the site has made available. 

This core sitemaps feature aims to provide the base required functionality for the Sitemaps protocol for core WordPress objects, then enables developers to extend this functionality with a robust and consistent set of filters. For example, developers can control which object types (posts, taxonomies, authors) or object subtypes (post types, taxonomies) are included, exclude specific entries, or extend sitemaps to add optional fields. See below for the full list.

Project Background

The idea of adding sitemaps to core was originally proposed in June 2019.  Since then, development has been ongoing in 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/, and weekly meetings in the #core-sitemaps channel started this year to push development forward. Several versions of the feature plugin have been released on 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/ 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 repository, with the latest 0.4.1 representing the state that is considered ready to merge into core. The team is currently working on preparing the final patch to include on the Trac ticket.

Implementation Details

XML Sitemaps will be enabled by default making the following object types indexable:

  • Homepage
  • Posts page
  • Core post types (i.e. pages and posts)
  • Custom post types
  • Core taxonomies (i.e. tags and categories)
  • Custom taxonomies
  • Author archives

Additionally, the robots.txt file exposed by WordPress will reference the sitemap index.

A crucial feature of the sitemap plugin is the sitemap index. This is the main XML file that contains the listing of all the sitemap pages exposed by a WordPress site. By default, the plugin creates a sitemap index at /wp-sitemap.xml which includes sitemaps for all supported content, separated into groups by type. Each sitemap file contains a maximum of 2,000 URLs per sitemap, when that threshold is reached a new sitemap file is added.

By default, sitemaps are created for all public post types and taxonomies, as well as for author archives. Several filters exist to tweak this behavior, for example to include or exclude certain entries. Also, there are plenty of available 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. for plugins to integrate with this feature if they want to, or to disable it completely if they wish to roll their own version.

Contributors and Feedback

The following people have contributed to this project in some form or another:

Adrian McShane, @afragen, @adamsilverstein, @casiepa, @flixos90, @garrett-eclipse, @joemcgill, @kburgoine, @kraftbj, @milana_cap, @pacifika, @pbiron, @pfefferle, Ruxandra Gradina, @swissspidy, @szepeviktor, @tangrufus, @tweetythierry

With special thanks to the docs, polyglots, and security teams for their thorough reviews.

Available Hooks and Filters

Check out the feature plugin page for a full list of filters and also a few usage examples.

Frequently Asked Questions

How can I disable sitemaps?

If you update the WordPress settings to discourage search engines from indexing your site, sitemaps will be disabled. Alternatively, use the wp_sitemaps_is_enabled 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., or use remove_action( 'init', 'wp_sitemaps_get_server' ); to disable initialization of any sitemap functionality.

How can I disable sitemaps for a certain object type or exclude a certain item?

Using the filters referred to above – check out the feature plugin page for examples.

Does this support lastmod, changefreq, or priority attributes for sitemaps?

By default, no. Those are optional fields in the sitemaps protocol and not typically consumed by search engines. Developers can still add those fields if they want to using the filters referred to above.

lastmod in particular has not been implemented due to the added complexity of calculating the last modified dates for all object types and sitemaps with reasonable performance. For a common website with less frequent updates, lastmod does not offer additional benefits. For sites that are updated very frequently and want to use lastmod, it is recommended to use a plugin to add this functionality.

What about image/video/news sitemaps?

These sitemap extensions were declared a non-goal when the project was initially proposed, and as such are not covered by this feature. In future versions of WordPress, filters and hooks may be added to enable plugins to add such functionality.

Are there any UIUI User interface controls to exclude posts or pages from sitemaps?

No. User-facing changes were declared a non-goal when the project was initially proposed, since simply omitting a given post from a sitemap is not a guarantee that it won’t get crawled or indexed by search engines. In the spirit of “Decisions, not options”, any logic to exclude posts from sitemaps is better handled by dedicated plugins (i.e. SEO plugins). Plugins that implement a UI for relevant areas can use the new filters to enforce their settings, for example to only query content that has not been flagged with a “noindex” option.

Are there any privacy implications of listing users in sitemaps?

The sitemaps only surface the site’s author archives, and do not include any information that isn’t already publicly available on a site.

Are there any performance implications by adding this feature?

The addition of this feature does not impact regular website visitors, but only users who access the sitemap directly. Benchmarks during development of this feature showed that sitemap generation is generally very fast even for sites with thousands of posts. Thus, no additional caching for sitemaps was put in place.

If you want to optimize the sitemap generation, for example by optimizing queries or even short-circuiting any database queries, use the filters mentioned above.

What about sites with existing sitemap plugins?

Many sites already have a plugin active that implements sitemaps. For most of them, that will no longer be necessary, as the feature in WordPress core suffices. However, there is no harm in keeping them. The core sitemaps feature was built in a robust and easily extensible way. If for some reason two sitemaps are exposed on a website (one by core, one by a plugin), this does not result in any negative consequences for the site’s discoverability.

#5-5, #feature-plugins, #feature-projects, #merge-proposals, #sitemaps, #xml-sitemaps

Auto-updates feature meeting summary: June 9, 2020

These are the weekly notes for the WP Auto-updates team meeting that happened on Tuesday June 9, 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.

Reminder: WP Auto-updates Feature has been merged into WordPress Core so any 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. report or enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. request should happen on Core Trac.

Update on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets

Some tickets were recently fixed:

There are still few remaining tickets to address:

  • #50215 – Help Tabs implementation. @audrasjb is going to put together the feedback the team received into a new 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..
  • #50268 – Auto-update email notifications. @desrosj is the owner of the ticketticket Created for both bug reports and feature development on the bug tracker., but any help is welcome to refresh the current patch.
    Worth noting this ticket was splitted in two. This part will focus only on text changes.
  • #50350 – Provide 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 and theme versions informations in auto-updates email notifications. This one was opened during the meeting and it is the other part of #50268.
  • #49771 – Double Updated! text blocks when updating theme. This one is not 100% related to auto-updates but @paaljoachim wanted to mention it during the meeting.
  • #50280 – Enable auto-updates shows for plugins with no support. This one is actively reviewed.

Next steps

HelpHub documentation

@desrosj mentioned that we’ll need a documentation page on HelpHub. @audrasjb will get in touch with the Docs team on next Monday 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 plugin and theme auto-updates feature is properly documented on the end users documentation.

@desrosj added that it should be done ahead of 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. date so localized versions of HepHub have time to translate it before WordPress 5.5 release. @audrasjb added that it could be nice to open a MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. Trac ticket to follow this task.

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 WordPress 5.5

@audrasjb to draft a basis for the feature’s dev note so it can be discussed and iterated during next week’s meeting.

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

XML Sitemaps Meeting: June 9th, 2020

Since the last blog post about the XML feature project we have seen many fruitful discussions and great progress towards WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. inclusion.

This post aims to give an overview of the things currently in progress, and the items that should be discussed in the upcoming meeting on 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/..

Updates

  • Version 0.4.0
    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. was published last week in an effort to add the last remaining features before
  • Merge proposal post
    Work continued on the draft, and contributors will be pinged for review before publishing.
  • Core 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.
    A pull request has been started 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/ that aims to serve as the basis for this.

Agenda: June 9th

The next meeting will be held on Tuesday, June 9h at 16.00 CEST.

Items on the agenda so far:

  • 0.4.1 release
  • Core patch
  • Open floor

Want to add anything to the above? Please leave a comment here or reach out on Slack.

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

#agenda, #feature-plugins, #feature-projects, #sitemaps, #xml-sitemaps

XML Sitemaps Meeting: May 26th, 2020

A lot has been going on since our last blog post. Besides many improvements and fruitful discussions in the XML Sitemaps feature project, the proposed schedule for WordPress 5.5 has been published.

The first 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. is currently slated for July 7, which still gives us a bit of time to finish work on our project. We’re getting close to a state where we feel comfortable publishing a merge proposal for inclusion in WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. as part of the 5.5 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..

This post aims to give an overview of the things currently in progress, and the items that should be discussed in the upcoming meeting on 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/..

Updates

  • Custom elements in sitemap (#151)
    The pull request proposing a simple 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. still needs some documentation, but overall ready for review.
  • PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 Warning on PHP < 7.3 (#186)
    A pull request has been opened to fix this edge case. Ready for review.
  • Filters for individual sitemap entries (#191)
    Freshly proposed over the weekend, this PR makes it easier to modify sitemap data while having access to the necessary post/term/user objects for context. Ready for review.
  • 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. to modify WP_Query arguments (#183)
    Feedback from initial code review still needs to be incorporated.
  • Removing core_ prefixes from code (#182)
    Still some feedback that needs to be incorporated. Tests are currently not passing. Otherwise very close.
  • Custom elements in stylesheet (#152)
    PR #163 is still work in progress. The feeling last time was that it might be too complex for core, and perhaps better off as 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.
    If the pre-existing stylesheet is deemed to not satisfy the needs, we could also omit the stylesheet completely if wanted.
  • Merge proposal post
    We started with an early draft for this, and will share the draft post with the broader group once we feel more comfortable with it.
  • Core 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.
    Not yet in progress, as there are some bigger outstanding PRs needed for this. We’ll likely start with a first proof-of-concept PR that can then serve as the basis for discussion.

Agenda: May 26th

The next meeting will be held on Tuesday, May 26th at 16.00 CEST.

Items on the agenda so far:

  • Going through items from updates above
  • Open floor

Want to add anything to the above? Please leave a comment here or reach out on Slack.

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

#agenda, #feature-plugins, #feature-projects, #sitemaps, #xml-sitemaps

Auto-updates feature meeting summary: May 12, 2020

These are the weekly notes for the WP Auto-updates team meeting that happened on Tuesday May 12, 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.

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.

Update on core 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 is in charge of the core patch. It should be ready around the middle of this week. Paul asked whether it’s better to do a pull request against wordpress-develop 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 or a diff file on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress..

@azaozz answered both would work, and have different pluses and minuses:

  • Pull requests can be reviewed in inline comments, but are harder to modify by different people.
  • A diff file would need to be applied to a svn checkout before testing, but easier to iterate (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). new diffs)

Paul will send a diff file.

WP auto-updates version 0.8.0

Here are the expected steps for the core merge:

  1. Publish the diff file on the related Trac ticketticket Created for both bug reports and feature development on the bug tracker. (#50052)
  2. After merge details are known, update Pull request #123 – Self-deactivate the plugin after the functionality has been merged to core
  3. 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. WP Auto-updates version 0.8
  4. Commit the Trac diff file to WordPress Core

@azaozz noted that releasing version 0.8 after the diff is available on Trac is needed to make sure 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 can self deactivate once the diff file is merged into WordPress core. The check in version 0.7 doesn’t actually work with the patch, because the name of the function it is checking changed in the patch

The plugin’s options should also be deleted from WordPress installs once the plugin is uninstalled by sites owners. @audrasjb opened pull request #125 to handle that.

The team noted the feature plugin reached 900+ active installs. 77% are running version 0.7, 12% are running version 0.6 and 11% are running versions 0.6.0 or less.

@whyisjake also implemented prettier on the plugin. It allows to run CSSCSS Cascading Style Sheets./JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. lint check, using npm test , and to fix linting issues using ESLint --fix option.

Open floor

@azaozz shared some thoughts about keeping some stats on successful/failed autoupdates, on 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/ 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. side. It’s not a blockerblocker A bug which is so severe that it blocks a release. for merging and can be added later. The idea is to potentially have anonymous/aggregated stats per plugin/theme. This is also related to the Tide project, which can use those stats to determine how “safe” an update may be.

@audrasjb asked if it’s directly related to this feature or if it should be handled in a separate ticket/project. For @azaozz, it is part of plugins and themes auto-updates, but it can be a separate Trac ticket.

@pbiron asked if we were talking about stats on the results of auto-updates, or about user preferences for what should be auto-updated (since whether an auto-update is attempted can be controlled by other plugins, such as Easy Updates Manager, etc). Andrew answered that it may be both.

@audrasjb asked what would be the main benefit for the end user? Having prompts to alert on “not recommended” updates? @azaozz doesn’t think it would be a direct communication but an auto-update may be eventually stopped/postponed if there are many failures.

@apedog wanted to mention a version-rollback feature for plugins. For them, it would become relevant as more installations start using WP Auto-updates feature plugin. @audrasjb answered it should eventually be introduced independently of auto-updates feature as it’s not only related to this type of updates mechanism. @apedog pointed out that breakage occurring from a manual update gives the user immediate feedback. An over-night auto-update (especially if multiple plugins/themes were updated) could make debugging much harder. @audrasjb added that the best way to move this independent project forward is to open a ticket on Trac if it doesn’t exists yet. @sergeybiryukov added that WP Core do perform a rollback if a background core update fails (enabled for minor versions by default), that might be helpful when looking into implementing this for plugins and themes too.

@apedog also asked whether WP Auto-updates log the previous version vs new version? For example, for a user encountering breakage from an auto-update. Sitesite (versus network, blog) breakage can occur even on successful updates – simply due to 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.. @audrasjb answered there is no such log mechanism in core, even for manual updates.

@pbiron asked @audrasjb if Pull request 121 – Add help tabs on update-core, plugins, and themes admin screens is going to be ready on time for version 0.8.0. @audrasjb is on it, but it will probably needs copy review.

The team agreed Help Tabs will be handled separately from the initial core patch, to give it time for copy review.

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

XML Sitemaps Meeting: May 12th, 2020

It’s been a while since the last blog post about the XML Sitemaps feature project. Today I’d like to summarize the developments since last month, and also post the agenda for our upcoming meeting.

Updates

  • Version 3.0 (#181)
    A pull request has been opened to add the change log for our next 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., which includes a good amount of improvements over the last version. The goal is for this to be one of the last releases before we put our efforts into a merge proposal.
    Most notable changes: important refactorings, rewrite rule fixes, removal of lastmod.
  • Custom elements in sitemap (#151)
    There is no consensus yet about what 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. for adding custom elements (beyond lastmod or priority) could look like, especially when dealing with custom namespaces.
  • Custom elements in stylesheet (#152)
    There is still an open PR that tries 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). the XSLT stylesheet more dynamic so it automatically displays sitemap elements added by plugins. That means there’s some overlap with the issue mentioned above.
    Interesting side affect: the PR proposes a new esc_xml() function that might be worth looking into.
  • Road towards WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. (#164)
    We’re full steam ahead on improving the source code so it better aligns with WordPress core standards, as well as getting feedback from various core teams on 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 (i.e. polyglots, 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), docs). Also, there is now a 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. to reference! See #50117.

Agenda: May 12th

The next meeting will be held on Tuesday, May 12th at 16.00 CEST.

Items on the agenda so far:

  • Version 3.0 (#181)
  • Custom elements
  • Stylesheets
  • Currently open issues and pull requests. Including:
    • Removing trailing slashes on URLs (#134)
    • Sanitizing object subtypes for use in URLs (#166)
    • Adding 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. for WP_Query args (#131) (needs owner)
  • Current roadmap status
  • Open floor

Want to add anything to the above? Please leave a comment here or reach out on 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/..

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

#agenda, #feature-plugins, #feature-projects, #sitemaps, #xml-sitemaps

Auto-updates feature meeting summary: May 4, 2020

These are the weekly notes for the WP Auto-updates team meeting that happened on Tuesday May 4, 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

Last week, we announced the incoming core merge of the Feature Plugin 💥

@whyisjake already opened the Trac ticket. It will be used to merge the feature into WordPress core.

However, @azaozz and other people raised some issues, especially with JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors./AJAX implementation. Our top priority is to fix them before sending a full 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. on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress..

Version 0.7 scope: core merge prerequisites

Version 0.7.0 will be focused on core merge prerequisites.

@pbiron is currently working on cleaning the AJAX part of 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. For reference, see PR #103 on GitHub. This is one of the major blockers before core merge and that’s why we absolutely need a new 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. before the core merge. @azaozz added that this pull request is almost ready to be merged.

While @pbiron is working on cleaning the existing AJAX code, @audrasjb will focus on other minor issues, like internationalization issues raised by @PascalC.

Once PR #103 is merged, the team will release version 0.7.0 and give it around one week to be tested before sending the patch proposal on Trac.

@azaozz pointed out issue #95 which raises some user interface issues. The setting that the users can change (enable|disable auto-updates) is actually the default setting. It can be changed at the moment of updating by plugins and by core. He thinks it should be reflected in the UIUI User interface to avoid giving wrong expectations to users. It can be addressed by changing the wording and/or the name of the functions, for example by replacing the existing functions with something like maybe_auto_update_plugins or default_auto_update_plugins. Concerning the interface wording, @audrasjb noted it could be addressed by changing the column heading: Enable/disable auto-updates or Toggle auto-updates so users could understand we’ll be able to disable it later. By the way, the team agreed this concern is not a blockerblocker A bug which is so severe that it blocks a release. for the merge.

After few discussions, it was also decided to remove the feature’s constants. Indeed, constants are used in WordPress core for specific cases:

  • Very early use, before WP is loaded
  • For use mostly by hosting companies/low level settings
  • Mostly for things that are really “constant” (never change)

@audrasjb will remove the existing constants once PR #103 is merged.

@azaozz also noted few small bugs on the AJAX action links. It kind of “jumps” when you click on the link, then “flashes” different text (when the networknetwork (versus site, blog) is fast) and the user cannot see/read the changed text, then it changes it again. These bugs are not a blocker for core merge and can be fixed in WordPress core after the merge. @pbiron noted that some of these bugs will be fixed in PR #103. @azaozz added that adding some delay (so text changes are readable) would be nice, or alternatively not changing the text while AJAX is running is another thing. (so there is only one text change instead of two).

The team also discussed the idea to add some filters for plugin authors to override what is outputted in the UI, for example to show something like “Updates enabled by [plugin/theme name]”.


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

#5-5, #auto-update, #core-auto-updates, #feature-projects, #feature-autoupdates

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.

Sitesite (versus network, blog) 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