AO3 News

Post Header

2018-07-03 07:31:32 -0400

It's here! This mega release includes a major upgrade of our search engine (with the corresponding backend changes to get the most out of our servers), significant improvements to searching and filtering, and a few small bug fixes we just threw in while we were at it.

We want to thank everyone involved in this deploy, with an extra special shoutout to ticking instant, who went above and beyond as an external code contributor and reviewer. <3 Additionally, heartfelt thanks to everyone who has donated to the OTW, enabling us to contract out some of the more tedious coding work.

Important: We are rolling out these changes in batches, so not everyone will immediately see the new filters! Please keep an eye on the @AO3_Status Twitter account for the latest updates on our progress.


  • Coders: alexwlchan, Ariana, bingeling, cosette, de3sw2aq1, DreamSea, Elz, james_, redsummernight, Sarken, Scott, ticking instant, Wendy Randquist (Littlelines)
  • Code reviewers: Ariana, cosette, Don Denoncourt (Corgibytes), Elz, james_, redsummernight, Sarken, ticking instant
  • Testers: Ariana, bingeling, briar_pipe, CJ Record, Claire P. Baker, cosette, GoldenFalls, james_, Lady Oscar, Lex, MagnusIsMyRock, Matty, Meepu, mumble, Nrandom, Rebecca Sentance, redsummernight, Relle, Runt, Sarken, ticking instant, Veronica M, VSSAKJ, ZoëRenee


Searching and Filtering

  • [AO3-4815] - We updated Elasticsearch and wildly improved the filtering interface! \o/ This includes all the individual issues that made up this massive overhaul, excluding any bugs we caught and fixed after putting the code on the live Archive and kicking the tires before the full launch.
  • [AO3-5151] - We replaced the old /people index (which was mostly useless) with a redirect to the People Search page, e.g. when trying to reach a non-existing profile URL.
  • [AO3-5269] - Sorting work listings by the creators' usernames wasn't working right for usernames starting with numbers. Now the names should appear in the proper order!
  • [AO3-4187] - After filtering AO3 News posts by tag, the tag selection in the dropdown menu was not preserved when paging through the results. Now it is!
  • [AO3-5361] - We reworded the button link text for accessing all bookmarks to make it less vision-centric and, at the same time, fixed a visual alignment issue on bookmark listings. Neat!
  • [AO3-4138] - We also changed vision-centric and text-centric language on the History and the Marked for Later page.
  • [AO3-5412] - In the Inbox, the filtering sidebar had lost its radio buttons. Oops. We've carefully put them back and will keep closer watch now.
  • [AO3-5341] - The Search and Browse FAQ will be a little outdated while the Docs team and translators update all answers for the new search code. We've added a little box to the top of the page, linking to a news post describing the new search features, to be taken off when the FAQ updates are complete.
  • [AO3-5427] - We did, however, update the relevant help text for the search and filtering forms. \o/
  • [AO3-5232] - To make optimal use of the new Elasticsearch, search results have a built-in limit to keep output manageable. We have set this limit to 5,000 pages, or 100,000 items, and will monitor server performance.
  • [AO3-4093], [AO3-4540], [AO3-5253], [AO3-5353], [AO3-5390] - Bookmarks of series and external works were not showing up in the proper listings after a variety of tag wrangling changes or changes to the work. This all got taken care of in the process of rewriting (and then fixing) the bookmark code for Elasticsearch 6.


  • [AO3-5311] - While we're juggling two versions of Elasticsearch on the Archive, messages sent to Support will include information about which version the user is on.
  • [AO3-5319] - We fixed an issue where users were able to access other users' invitation pages, so now they can't. As you'd expect.
  • [AO3-5324] - Trying to hide a series as an admin would give Error 500 and the series wasn't actually hidden. That's all fixed now!

Data Protection

  • [AO3-5417] - Due to the General Data Protection Regulation (GDPR) going into effect on May 25, we took a break from working on our search engine overhaul to update our Terms of Service to show that we comply with GDPR's privacy guidelines.
  • [AO3-5416] - Now every time the Archive's Terms of Service are updated, users will be asked to agree to the new version before they can continue using the site, making us the millionth website that did this to you in May. Confetti!
  • [AO3-5418] - We also added GDPR-relevant information to the Invitation Requests page, so users know they have to consider whether they're of age and have read the ToS before we send that invitation.
  • [AO3-5419] - With the addition of a GDPR-appropriate info box to the "Edit My Profile" page, we now make sure you really, fully consent to having the profile information you entered to be displayed on the site, be displayed on the site.


  • [AO3-5260] - If you added a co-creator to a work or series, that person would get an email saying they'd been added as a co-creator, but it wouldn't list all the creator names for the work (such as yourself). The email is now more informative in that regard.
  • [AO3-5086] - We updated our whitelist for embeds to account for new Spotify code.
  • [AO3-5203] - The CSS help documentation (e.g. for creating work or archive skins) had inconsistent spacing around section headings. It looks much nicer now.
  • [AO3-5398] - The "Forced Logout" or "Lost Cookie" page (shown to you when running into a cookie problem we are still trying to solve) now includes a troubleshooting tip, namely going to the actual Log In page instead of using the username and password fields in the page header.
  • [AO3-5237] - Some of the little help boxes you can access through the question marks next to links or form labels have been updated with new copy. Thank you, AO3 Docs team!
  • [AO3-5415] - We noticed that loading kudos to display on a work was taking a long time, and found that we weren't making proper use of caching to avoid trips to the database. A tiny little tweak in the code makes kudos load much faster now!
  • [AO3-5321], [AO3-5339], [AO3-5354], [AO3-5366], [AO3-5384], [AO3-5385], [AO3-5439], [AO3-5451] - We updated various gems: paperclip, nokogiri, sinatra (twice!), loofah, sanitize, rails-html-sanitizer, and sprockets.

Known Issues

See our Known Issues page for current issues.