AO3 News

Post Header

2021-11-11 18:43:18 -0500

In these recent releases, we added the ability to freeze comment threads on works and news posts; added a limit to the number of tags on works; and prepared the site for localization, starting with our email notifications. As usual, there are also bug fixes and behind-the-scenes improvements. A special thank you to our first-time contributors Chantal, Daroc Alden, Gareth Bedford, Jonathan Means, Julia Feitosa, Kate Boyd, katzenfabrik, NightGlyde, Rudolf M. Schreier (ThePadawan), and Sharra Neely!


  • Coders: ahiijny, Chantal, cosette, Daroc Alden, Enigel, Gareth Bedford, james_, Jonathan Means, Julia Feitosa, Kate Boyd, katzenfabrik, korrien, NightGlyde, redsummernight, Rudolf M. Schreier (ThePadawan), Sarken, Sharra Neely, ticking instant, tlee911
  • Code reviewers: james_, redsummernight, Sarken, ticking instant
  • Testers: Ant, Bea, Chrome, CJ Record, Claire Baker, Claudia, GoldenFalls, Huey, Izzy, james_, Lady Oscar, Laure Dauban, lydia-theda, mumble, Nary, Nat, Priscilla, Paula, QED, Qem, Rebecca Sentance, redsummernight, Ridicully, Runt, Sammie Louise, Sarken, Teyke



Comment freezing and news post comment settings, deployed on February 12th. We missed this release from the last change log post...

  • [AO3-4709] - We added comment freezing to all comments.
  • [AO3-5880] - Anonymous series used to be included in the Recent Series list on your dashboard, spoiling the whole anonymous thing a bit. They're no longer there.
  • [AO3-5928] - We disabled automatic schema dumping after migrations, since we prefer to do manual updates and it was causing annoying error messages.
  • [AO3-5972] - It's now possible to delete a comment that's been marked as spam even if it has replies.
  • [AO3-6027] - Admins can now turn off or restrict comments to registered users on admin posts.
  • [AO3-6078] - There was escaped HTML in the success message when deleting works with certain characters in the titles. We've fixed that now.
  • [AO3-6105] - We added a check to make sure edited tag set nominations belong to the tag set specified in the URL.
  • [AO3-6107] - We updated the nokogiri gem to 1.11.0.
  • [AO3-6108] - For better performance, we now cache comment counts in more places.
  • [AO3-6111] - Also for better performance, we changed the way additional kudos are loaded at the bottom of works.
  • [AO3-6115] - We fixed the rate limiting on log in attempts.
  • [AO3-6122] - We made some changes to wrangling that had the unintended side effect of preventing some tags from being added to works (and making works that already used those tags impossible to edit). We reverted those wrangling changes.
  • [AO3-6123] - We updated the mechanize gem to 2.7.7.
  • [AO3-6124] - We made it so editing the comment settings on an admin post will update the settings for translations of the post as well -- that way, no one has to manually edit a few dozen posts.


Various tag clean-up tasks and security fixes, deployed on July 27th.

  • [AO3-6187] - It was previously possible to set your works' "revised at" information to whatever you wanted, including a date in the future. Now we prevent that.
  • [AO3-6126] - Trying to delete a work that had comment threads with deleted comments in the middle used to cause an error, but now the work will be deleted successfully.
  • [AO3-6193] - We've fixed some flaky automated test failures for editing works.
  • [AO3-5941] - We've made it faster for database admins to find out which accounts have used certain IP addresses.
  • [AO3-5922] - We've also made it faster for them to look up comments by email.
  • [AO3-6186] - We cleaned up some unused bits of code relating to prompts, to make things neater.
  • [AO3-6195] - We also removed some unused scripts that were used for setting up development and staging databases. 🧹
  • [AO3-5988] - There were some works in our database with non-canonical Rating and Category tags (e.g. "Teen & Up Audiences" instead of "Teen And Up Audiences"), so we added some code that would take care of those works and get rid of the erroneous tags.
  • [AO3-6065] - We then made sure that works without a rating would receive the "Not Rated" tag (because otherwise those works were broken).
  • [AO3-5964] - There were duplicates of tags, except with spaces added at the beginning or end, which led to problems when trying to edit the space-less tags. We made those duplicates more visibly distinct and thus manageable.
  • [AO3-6110] - It was previously possible to add a parent skin of your choice to any skin you wanted, which really should not be possible! So we took care of that interesting little loophole.
  • [AO3-5679] - On the page where moderators edit challenge assignments before sending them, we weren't properly sanitizing the input our autocomplete received from the "Giver" and "Recipient" fields. We've fixed that.
  • [AO3-6165] - Whether deliberately or by accident, guest commenters sometimes enter other people's email addresses when leaving a comment. When someone replies to those comments, an annoyed person who has never used AO3 in their life writes in to complain, and then an annoyed volunteer has to manually update the email on the comment after another annoyed volunteer bans the email from being used in future comments. Now banning the email will prevent the sending of any future replies to comments from that address, eliminating one level of annoyance. (Please double check your email when you leave a guest comment! Only you can prevent annoyance fires!)
  • [AO3-6165] - We updated the addressable gem from 2.7.0 to 2.8.0.


Tag limit on works plus some code clean-up, deployed on August 26th.

  • [AO3-6094] - When sending an invitation code to someone, there should be a record of when it was sent. For some reason, there wasn't. Now this information is properly stored and displayed.
  • [AO3-5565] - It was previously possible to bookmark the same work multiple times (i.e. if you had it open in different tabs). Since you really only need one (1) bookmark of a work, we make sure to prevent duplicates now.
  • [AO3-5049] - Trying to change your email address to one already in use would result in a confusing little stack of error messages, some of which weren't even relevant. We now just give you the one that tells you that you'll have to pick a different email address, which is more helpful.
  • [AO3-6206] - We updated the text of the email that is sent to a user when an admin hides one of their works.
  • [AO3-6205] - We have added a user's ID to the user page accessed by admins, e.g. members of the Policy and Abuse team.
  • [AO3-6153] - We introduced a limit to the number of tags that can be added to a work, requiring you to remove tags if you want to edit an existing work that goes over the new limit.
  • [AO3-6196] - In our automated tests, we were using the contents of actual works graciously provided by volunteers. We have now replaced this text with more neutral placeholders.
  • [AO3-6181] - We did some rewriting of the challenge signup code to make it less redundant.
  • [AO3-5557] - We removed tests, code, and config variables for emailing abuse reports to the Policy & Abuse committee (since they already get a copy in their ticket tracker).
  • [AO3-6070] - We still had some insecure http links languishing in the footer; those are now proper https links as well.
  • [AO3-6149] - There used to be an admin-only page displaying the most recent comments across the whole site. It served no actual purpose, so we got rid of it.
  • [AO3-6069] - Our linters (tools that analyze code for style or security issues) were living in a separate file from our other gems because one of them didn't play nice with our development environments. We figured out how to fix that and moved them into the file with our other gems.


Bug fixes and lots of internationalization work, deployed on November 1.

  • [AO3-6188] - While all tag wranglers can make changes to a tag's diacritics or capitalization, only admins can make more significant edits to tag names. However, we mistakenly allowed wranglers to change any Asian characters in tag names, which definitely fell into the category of "significant edits." We've fixed it so only admins can change those characters.
  • [AO3-6168] - The position of the button for leaving kudos will no longer cause the first line of kudos-givers to wrap prematurely.
  • [AO3-6120] - When users access the Archive via a proxy, we display a security warning. However, the warning was appearing even for some addresses we own, causing confusion and concern. We've fixed that now.
  • [AO3-6038] - We now give an error message if the comment you're replying to was marked as spam before you posted your reply. (Previously, the reply would be posted.)
  • [AO3-3828] - We've made it so the automatic text on a work posted in response to a prompt in a Prompt Meme will now link to that prompt.
  • [AO3-3642] - A wrangling error message that linked to the wrong tag due to non-escaped quotation marks will now link to the correct tag.
  • [AO3-6220] - We updated some outdated FAQ links in some emails, as well as in the Terms of Service and Terms of Service FAQ.
  • [AO3-6209] - We added some new database indexes related to tag sets to speed things up a bit.
  • [AO3-6109] - For the third (and hopefully last!) time, we updated the configuration for the service our translators will use when translating emails and site copy.
  • [AO3-6103] - We did a whole bunch of work to make the text of our emails more consistent so it will be easier to translate them.
  • [AO3-5731] - If you didn't include a name in your support ticket, there was an extra space in the greeting of the emailed copy of your ticket. The space has been removed.
  • [AO3-5372] - We've tweaked the padding on bookmarks to make it more consistent across the site.
  • [AO3-2380] - Autocomplete tag suggestions will no longer rely on what the user enters matching the tag's diacritics, e.g., typing A should return results for  and vice versa.
  • [AO3-6234] - We regenerated the list of false positives and issues that still need fixing raised by our security scanner.
  • [AO3-6221] & [AO3-6222] - We updated the text of the Support and Policy & Abuse forms to reflect recent changes to the committees' responsibilities.
  • [AO3-4311] - Changing the ISO code for an existing locale with an FAQ used to cause all FAQ pages to give a 500 error. Now the FAQs will continue to work!
  • [AO3-6164] - It was possible to create an invalid FAQ category and cause all the FAQ pages to error. Fixing that seemed like a thing we should do, so we did it.


There's a limit on how many kudos guests can give in a certain time period, and on November 8, we deployed a JavaScript tweak to make that more user-friendly.

  • [AO3-6252] - We added a helpful little error message in case you try to leave kudos and run into the rate limit.