Version check and opt-in site reporting

mandela This page provides a specification for the ability to implement an easy way to check for updates in the version of MediaWiki used on a site as well as the ability to automate the checks and provide installation information to the maintainers of MediaWiki. For discussion about the rationale, please see the RFC.

The API that is queried for the update information is not specified here. We expect to mock something up on wmflabs.

Special:Version page (simple interface)
When a user visits a MediaWiki Special:Version page, the program will check to see if the user has the "checkupdate" right. By default, users in the administrator group have this right.

If the user has "checkupdate", they will see the following interface changes to the Special:Version page:
 * “Check for Updates Now” button beside “Installed Software” button. (“Check for Updates Now” button will only check for updates, no other information will be sent.)
 * “Notify Me When an Update is Available” checkbox - clicking this box will use AJAX to tell the MediaWiki installation to set up the job to check for updates or, when the checkmark is removed, remove the job from the job queue.
 * A question mark ("[?]") link on page will link to a Special:Updates page, which will provide the administrator with information about what will be sent and where it will sent when automated checks are made.
 * If the user does not have the "checkupdate" right, then they will see no changes to the Special:Version page.

Special:Updates page (to be added to core MediaWiki)

 * Will provide more details than the Special:Version page.
 * The page will initially only work to provide information about MediaWiki Core. The ability to check for updates to extensions will be added later.
 * A dropdown will allow the user to specify if they are checking LTS versions, point release updates, or major releases.
 * Default to LTS and security updates for LTS version.
 * Default to maintenance releases and security updates.
 * Prioritize point releases by default until EOL.
 * Opt-in (i.e. default unchecked) “Notify Me When an Update is Available” checkbox.
 * Notifications will be sent by default using.
 * on-wiki notices (similar to "You have new messages" notice).
 * email (based on user's enotif settings).
 * By default, opting in to automatic notifications will send the wiki's name, the wiki's URL, API URL, and the current version. The ability to limit what is sent will be offered.