AO3 News

Post Header

2019-02-24 15:47:56 UTC

Our new downloads are here! E-book files of works are now generated by Calibre, include images, and are about 12% less buggy than before. We also fixed a handful of unrelated issues that had been bothering us. A special thank you to our first-time contributor Angela!


  • Coders: Angela, bingeling, cosette, DreamSea, Elz, james_, Naomi, redsummernight, Sarken, Tal, ticking instant
  • Code reviewers: james_, redsummernight, Sarken, ticking instant
  • Testers: Adi M., Alex, Aline, bingeling, cosette, galvelociraptor, GoldenFalls, hhertzof, Izzy, james_, JenS, Jocelin, Lady Oscar, MagnusIsMyRock, nimadge, Paula, Priscilla, Rebecca Sentance, redsummernight, Sarken, ticking instant



  • [AO3-3880] - We have moved to the Calibre command line interface for generating e-book files and fixed several download-related bugs in the process (the following is only a partial list). You can find a few more details in our previous announcement.
  • [AO3-5614] - In addition to EPUB and MOBI, we now offer the AZW3 format as well.
  • [AO3-5622] - All three formats now include any images embedded in the work.
  • [AO3-3434], [AO3-2316], [AO3-3049] - Previously, the downloadable versions of a work wouldn't properly update in some cases, partly due to caching. We now make sure a new e-book file is generated if the work had been edited, so all downloads are as fresh as can be.
  • [AO3-4706] - If you happened to have the link to a downloadable file of an unrevealed work, you could previously download that file. Now you'll be told to wait for reveals like everyone else, essentially.
  • [AO3-2642] - Works with certain characters in the title (such as "This & That") would lead to awkward file names with partially escaped HTML entities (This amp That.pdf). We now strip these characters completely (This That.pdf), which is neater.
  • [AO3-3900] - If the work title started with a hyphen, MOBI downloads just wouldn't work at all. Took care of that too.
  • [AO3-5272] - MOBI files would also error if a work had more than 400,000 words. Now the sky is the limit! (Unless your sky contains like 3 million words, then even the new code might tap out.)
  • [AO3-3037] - EPUBs were previously missing chapter endnotes; we now make sure all notes are present and accounted for.
  • [AO3-3020] - Attempting to download a work when the download file had not been generated yet used to result in a server error. We are now checking for the existence of the download and showing an error message if the file is not ready yet.

Misc. Fixes

  • [AO3-5532] - A deleted work inside an anonymous or unrevealed collections would sometimes lead to an error 500 when a mod tried to reveal or de-anon the collection. Now this shouldn't happen anymore.
  • [AO3-5089] - Annoyingly enough, having a bookmark in an unrevealed collection would also cause an error when trying to reveal that collection. No more! \o/
  • [AO3-3583] - Editing your bookmark search would drop the type selection (work, series, or external work); now it'll hold on to whichever you picked in the first place.
  • [AO3-5375] - The language menu was missing from the bookmark filters, so we've added it. Now you can filter bookmarked works by language. However, please note that series and external works don't have a language set and therefore will not be included when filtering by language.
  • [AO3-5574] - When deleting a pseud and being presented with the option to either delete the associated bookmarks or transfer them to a different pseud, selecting the "Cancel" option would not actually cancel the process. Instead, it would delete the pseud and the bookmarks. Ouch! Now the "Cancel" button will actually take you back to your pseuds page without deleting anything.
  • [AO3-5198] - We used to display the number of times a particular work or site skin was used; however, that number would always be 0 for work skins. Since the feature didn't get much use anyway, we just got rid of the pesky count and moved on.
  • [AO3-5602] - There was a typo in the ToS FAQ. We fixed it.
  • [AO3-5400] - After an admin had been deleted, any page detailing an action taken by that admin would throw an error 500. Now it'll display the information (e.g. about a hidden work) with a friendly "Admin deleted" note.


  • [AO3-5607] - We had previously been using Ubuntu Trusty for tests on our CI service, but now we've switched to Xenial, which is closer to our production environment and reduces the amount of set up that has to be done when we run our tests.
  • [AO3-5582] - We updated the version of Elasticsearch that was used for running automated tests on our CI services. Now it matches the version we actually use on the site (6.5.2).

Edit 24 February 2019, at 22:18 UTC: Please note that in order to avoid handing out old versions of downloads, we have cleared the download cache. Our download servers will be under some strain over the next several days as new downloads are generated and cached, so you may get an error when downloading a work. If you do, please try again later.

Edit 10 March 2019, at 09:22 UTC: We've added some whitespace to the header information on work downloads and have again cleared the cache to avoid serving old versions. As a result, there may be some slowness for the next few days.