Release ExoneraTor 4.0.0

#27356 (moved) is ready to be deployed. Let's put out ExoneraTor 4.0.0 for this major change.

Here's my deployment plan:

  • Put out the release.
  • Temporarily update m-web to stop making requests to the ExoneraTor server and instead display a maintenance notice on the ExoneraTor page.
  • Stop ExoneraTor's web server.
  • Stop ExoneraTor's cronjob.
  • Drop all tables, indexes, and functions until the database is empty.
  • Restore tables, indexes, and functions from the uploaded database dump, which is based on a backup from 4 weeks ago that has been migrated and updated locally before being uploaded back to the server.
  • Manually check the database.
  • Run the updated cronjob manually.
  • Update and reinstall the cronjob to run once per hour again.
  • Update and start ExoneraTor's web server.
  • Run tests to ExoneraTor's web server via /query.json.
  • Take out the metrics-web warning and test the ExoneraTor page.
  • Send release announcement to tor-relays@.
  • Resolve relevant tickets on Trac.

I'll post a release branch and pre-release tarball shortly.