Make WordPress Core

Opened 11 years ago

Closed 11 years ago

#25654 closed defect (bug) (fixed)

Auto core update emails might advertise the wrong version

Reported by: nacin's profile nacin Owned by: nacin's profile nacin
Milestone: 3.7 Priority: normal
Severity: normal Version:
Component: Upgrade/Install Keywords: has-patch commit i18n-change
Focuses: Cc:

Description

Background updates are a separate "offer" via the API, as in, one can be told to update from 3.7.2 to 3.8.1, but we can also silently serve an auto-update in-branch, to 3.7.3, to that site. This enables us to keep sites secure even when they are running relatively recent but out-of-date branches.

The code that handles the emails for auto-updates will simply use the auto-update version number. As in, "WordPress %2$s is available. Please update!" Rather than telling them 3.7.3, we should tell them that 3.8.1 is available.

If an auto update to 3.7.3 is successful, we should replace "No further action is needed on your part." with "WordPress 3.8.1 is also available. Updating is easy and only takes a few moments:" (The first sentence there is a new string).

If an auto update to 3.7.3 is unattempted or failed, we should simply tell them that we tried but couldn't update their site, and that they should update to 3.8.1 now.

If an auto update to 3.7.3 critically failed, we currently say "Your site at %1$s experienced a critical failure while trying to update to the latest version of WordPress, %2$s." That's not good, as it might not be the latest version. We do however say "If it says you need to update, you should do so:", so that email doesn't need to change otherwise.

Attachments (3)

25654.diff (3.4 KB) - added by dd32 11 years ago.
25654.2.diff (8.0 KB) - added by nacin 11 years ago.
25654.3.diff (9.7 KB) - added by nacin 11 years ago.

Download all attachments as: .zip

Change History (10)

@dd32
11 years ago

#1 @dd32
11 years ago

  • Keywords has-patch added

25654.diff is an untested swipe at the issues raised above

@nacin
11 years ago

#2 @nacin
11 years ago

  • Keywords commit added

25654.2.diff is tweaked and tested.

#3 follow-up: @dd32
11 years ago

25654.2.diff looks good to me

One question, why this change though?

If things are successful and we're now on the latest, mention plugins and themes if any are out of date.

#4 in reply to: ↑ 3 @nacin
11 years ago

  • Keywords i18n-change added

Replying to dd32:

25654.2.diff looks good to me

One question, why this change though?

If things are successful and we're now on the latest, mention plugins and themes if any are out of date.

If we're already telling them that they should go update core, that's the call to action I care most about. When they do, they'll find that plugins and themes are out of date.

Only if they have no other call to action (core is running the latest version, everything is OK) should we include a little note about plugins/themes. That's at least how I originally envisioned it, that's why that line only appears in success emails.

#5 @nacin
11 years ago

One more thing we should do... auto_update_core_notified and auto_update_core_failed should become regular options (on the main site), rather than using get_site_option(), to follow the locking code and such.

@nacin
11 years ago

#6 @nacin
11 years ago

In 25872:

Show the nag we show for a stuck .maintenance file when an auto update failed.

see #25654.

#7 @nacin
11 years ago

  • Owner set to nacin
  • Resolution set to fixed
  • Status changed from new to closed

In 25873:

Make some changes to the email templates to account for the fact that an auto update offer might not be to the latest version.

For example, 3.7.2 install is served a 3.7.3 update, but the current version is 3.8.1.

This commit also allows for core update notification emails to be sent even when we are unable to run an auto update due to filesystem configuration (VCS checkout or file permissions). But, since these emails go through WP_Automatic_Updater, they will not be sent if the updater is outright disabled.

fixes #25654.

Note: See TracTickets for help on using tickets.