@Gargron Gargron released this May 6, 2017

Assets 2

This is a patch release that backports a few important improvements from the upcoming v1.4 release which is still a work in progress.

PuSH subscriptions is how Mastodon instances send each other statuses of followed accounts. They have to be periodically renewed (by default they run for around 30 days). Because Scalingo does not support cronjobs, and Heroku requires a separate scheduler setup, those installations are in most dire need of this update, which moves the renewal code into the Sidekiq process instead. But everyone else will also benefit from the renewals being more efficient and failure-resistant. Previous behaviour did not have retries, so if a subscription request failed, it would only be retried when you next ran the cronjob, which meant gaps in followed people's timelines for days or longer.

Fixes:

  • PuSH subscriptions refresh now run through Sidekiq, it no longer requires cronjobs (old mastodon:push:refresh rake task becomes no-op), more efficient/less hard-hitting order in which subscription requests are sent, better handling of errors and retrial in case of temporary failures (#2799)
  • Handle out-of-order delete events (e.g. when delete arrives before original status - future original status will get ignored now) (#2734)
  • Always respond with 200 to PuSH deliveries instead of 201/202, check Salmon verification synchronously to return useful error to remote server (#2733)

Upgrade notes:

  • This release includes dependency updates, that means you need to run bundle install (not required in Docker deployments)

Contributors:

@Gargron