This is a blog post describing what went wrong with the release on 2026-09-17, what we did to fix it and what we have learned from it.
tl;dr - Server went boop due to an error we didn't realise, we fixed it and put something in place to catch it next time.
release1 to Integration for testing
release1 to Production
release2 to Production
If you were not logged in and tried to access a login-restricted page (e.g. your profile) you would be shown the login form. Due to a change the form would also try to include a new navigation menu at the top. This menu would check if you were authorised to see certain links and, because we'd not passed an "empty" user in correctly, it broke.
You would not encounter the issue visiting the login page normally; it only ever happened if you were redirected there from a different page.
We didn't realise being redirected to such a page would be done slightly differently to loading it and thus were not testing for that. None of our automated or manual tests took this into account thus it slipped through.
We have multiple automated tests for looking at the login page. For this release we knew we'd changed the login page so had manually tested it multiple times to be safe. Not safe enough of course.
We created a regression test for it. Every time we make a change to the codebase it goes through all the tests and if any of them fail we can't add our code until the issue is fixed. If someone accidentally reverts part of the change the regression test will fail and they will know to fix it.

