Title: Update the updater
Author: Francesca Marano
Published: November 27, 2020
Last modified: April 30, 2021

---

 [  ](https://profiles.wordpress.org/francina/) [Francesca Marano](https://profiles.wordpress.org/francina/)
2:04 pm _on_ November 27, 2020     
Tags: [core ( 756 )](https://make.wordpress.org/core/tag/core/),
[updater ( 21 )](https://make.wordpress.org/core/tag/updater/)   

# Update the updater

WordPress updates for CoreCore Core is the set of software required to run WordPress.
The Core Development Team builds WordPress., plugins, and themes are based on a 
number of Core classes:

 * [https://developer.wordpress.org/reference/classes/wp_upgrader/](https://developer.wordpress.org/reference/classes/wp_upgrader/)
 * [https://developer.wordpress.org/reference/classes/core_upgrader/](https://developer.wordpress.org/reference/classes/core_upgrader/)
 * [https://developer.wordpress.org/reference/classes/theme_upgrader/](https://developer.wordpress.org/reference/classes/theme_upgrader/)
 * [https://developer.wordpress.org/reference/classes/plugin_upgrader/](https://developer.wordpress.org/reference/classes/plugin_upgrader/)

Alongside these main classes are several other update-related classes and functions,
including those for updating translations.

## 󠀁[󠀁[Which updates are we talking about?

The ability to manually update WordPress from the adminadmin (and super admin) area,
and to install and update plugins and themes, has existed since 2.3 in 2007.

Auto-update features were added in WordPress 3.7 (for minor releases), extended 
in 5.5 (as opt-in for plugins and themes), and 5.6 (major releases). To make the
user experience of auto-updates even better, and build trust with [users and extenders](https://make.wordpress.org/updates/2020/05/01/care-and-influence-a-theory-about-the-wordpress-community/),
it’s important that this mechanism works well and provides all the failsafe checks
needed.

The WordPress Core update has proven to be generally reliable, but it doesn’t actually
have many tests nor is well documented. There are also some reliability concerns
around adding new files and the overall number of changed files, which is the reason
WordPress currently tries to [keep the number of changed files in minor releases to a minimum](https://make.wordpress.org/core/2017/03/11/continuing-inline-docs-improvements-adjacent-to-4-8/#comment-32248).

Plugins and themes updaters are older: in general, all of them can be improved.

## 󠀁[󠀁[Why now?

With the introduction of auto-updates, these processes are run even more often. 
So relatively small issues get triggered more often, and with that become a bigger
problem. They also now more often run unattended: an auto update that breaks could
lead to quite problematic results.

As one of the most widely used plugins in the WordPress ecosystem, at Yoast we have
already experienced some pains related to these processes. That, combined with the
fact that these processes will now trigger more often, made us decide to actively
work on these issues. 
We believe that other 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/](https://wordpress.org/plugins/)
or can be cost-based plugin from a third-party. and theme authors have gone through
the same experiences and we hope they, and other interested people, will join us
in this effort of updating the updater.

## 󠀁[󠀁[What are we working on

In January, team members at Yoast will start

 * combing through TracTrac An open source project by Edgewall Software that serves
   as a bug tracker and project management tool for WordPress. to find all open 
   tickets: start with Core, then move to Plugins and eventually Themes;
 * reviewing all the classes involved to make sure their code is efficient and if
   there is room for improvement.

## 󠀁[󠀁[What are the next steps

This is a big project, one that can help other thousands of companies, so I hope
you will join us in the effort.

~We have created a GitHubGitHub GitHub is a website that offers online implementation
of git repositories that can easily be shared, copied and modified by other developers.
Public repositories are free to host, private repositories require a paid subscription.
GitHub introduced the concept of the ‘pull request’ where code changes done in branches
by contributors can be reviewed and discussed before being merged by the repository
owner. [https://github.com/](https://github.com/) repository under Yoast’s company
account.~ _After research, since a plugin is not needed and the work is done on 
existing tickets in Core, GitHub is not the right place._

As soon as we will start working actively on the project, you will find in it a 
project board where we are documenting and managing all we are doing. Once the research
part is over, and the steps to take to improve the updaters are clear, we will start
weekly meetings in [#core](https://make.wordpress.org/core/tag/core/) or a dedicated
channel.

## 󠀁[󠀁[Timeline

 * January 2021 – February – Research and proposal phase
 * March – May – Coding and documenting

I hope you will join us!

_Thanks [@sergeybiryukov](https://profiles.wordpress.org/sergeybiryukov/) and [@joostdevalk](https://profiles.wordpress.org/joostdevalk/)
for the peer review.
30/11 – Updated for clarity, thanks [@audrasjb](https://profiles.wordpress.org/audrasjb/)
and [@claytoncollie](https://profiles.wordpress.org/claytoncollie/) for the questions
and the suggestions

[#updater](https://make.wordpress.org/core/tag/updater/)

### Share this:

 * [  Threads ](https://make.wordpress.org/core/2020/11/27/update-the-updater/?share=threads)
 * [  Mastodon ](https://make.wordpress.org/core/2020/11/27/update-the-updater/?share=mastodon)
 * [  Bluesky ](https://make.wordpress.org/core/2020/11/27/update-the-updater/?share=bluesky)
 * [  X ](https://make.wordpress.org/core/2020/11/27/update-the-updater/?share=x)
 * [  Facebook ](https://make.wordpress.org/core/2020/11/27/update-the-updater/?share=facebook)
 * [  LinkedIn ](https://make.wordpress.org/core/2020/11/27/update-the-updater/?share=linkedin)

 1.  ![](https://secure.gravatar.com/avatar/6f505c6be9a951929a99becb6b413dcfa583a5ca3dd0f7320766fee1481f0f82?
     s=32&d=mm&r=g)
 2.   [Jb Audras](https://profiles.wordpress.org/audrasjb/)  3:07 pm _on_ November 
     27, 2020
 3.  Interesting project, [@francina](https://profiles.wordpress.org/francina/). I’m
     in, though I’d love this to be discussed in the existing Upgrade/Install component
     weekly team meetings, with the CoreCore Core is the set of software required to
     run WordPress. The Core Development Team builds WordPress. updates team. The weekly
     meeting happens on Tuesdays at 19:00 UTC. Thanks!
 4.   * ![](https://secure.gravatar.com/avatar/241584c8900ae5ccd62ff4c9db7d58e58bc9e0dc0162d4bdcac2a916d586c7ed?
        s=32&d=mm&r=g)
      *  [Francesca Marano](https://profiles.wordpress.org/francina/)  8:03 am _on_
        November 30, 2020
      * Hi [@audrasjb](https://profiles.wordpress.org/audrasjb/) thanks for pointing
        this out. Yup, the plan is of course to work alongside the component maintainers
        🙂 Regarding the meetings: once we’ll get to that point of the project, I believe
        we can decide together when and where to hold them for maximum efficiency. 
        Thanks!
      * ![](https://secure.gravatar.com/avatar/241584c8900ae5ccd62ff4c9db7d58e58bc9e0dc0162d4bdcac2a916d586c7ed?
        s=32&d=mm&r=g)
      *  [Francesca Marano](https://profiles.wordpress.org/francina/)  4:23 pm _on_
        December 1, 2020
      * Also, [@audrasjb](https://profiles.wordpress.org/audrasjb/), I should have 
        pinged you before publishing. I was eager to send this out into the world, 
        to avoid having one more draft in my to-do list 😇 Let’s discuss this tomorrow
        during dev-chat!
 5.  ![](https://secure.gravatar.com/avatar/6b22b6398078b36356fd6bcc1263d88265707bcec202c31fd4f6b76ada89f01f?
     s=32&d=mm&r=g)
 6.   [Clayton Collie](https://profiles.wordpress.org/claytoncollie/)  3:16 pm _on_
     November 27, 2020
 7.  Initially, I read this in my inbox and didn’t know which 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/](https://wordpress.org/plugins/) or can be cost-
     based plugin from a third-party. or company you were referring to. Not until I
     clicked through and saw your Yoast avatarAvatar An avatar is an image or illustration
     that specifically refers to a character that represents an online user. It’s usually
     a square box that appears next to the user’s name..
 8.  > As one of the most widely used plugins in the WordPress ecosystem, we have already
     > experienced some pains related to these processes.
 9.  > We have created a GitHubGitHub GitHub is a website that offers online implementation
     > of git repositories that can easily be shared, copied and modified by other 
     > developers. Public repositories are free to host, private repositories require
     > a paid subscription. GitHub introduced the concept of the ‘pull request’ where
     > code changes done in branches by contributors can be reviewed and discussed 
     > before being merged by the repository owner. [https://github.com/](https://github.com/)
     > repository under our company account.
 10. Would be nice to reference things by an explicit name instead of “our company”
     or “our plugin”.
 11. Other than that, everything else sounds great. I appreciate the work being done
     on such an important part of WordPress.
 12.  * ![](https://secure.gravatar.com/avatar/241584c8900ae5ccd62ff4c9db7d58e58bc9e0dc0162d4bdcac2a916d586c7ed?
        s=32&d=mm&r=g)
      *  [Francesca Marano](https://profiles.wordpress.org/francina/)  8:04 am _on_
        November 30, 2020
      * Thank you [@claytoncollie](https://profiles.wordpress.org/claytoncollie/)! 
        You are absolutely right, amended for clarity 🙂

Comments are closed.

# Post navigation

[← CSS Chat Agenda: 26 November 2020](https://make.wordpress.org/core/2020/11/26/css-chat-agenda-26-november-2020/)

[A Week in Core – November 30, 2020 →](https://make.wordpress.org/core/2020/11/30/a-week-in-core-november-30-2020/)