AO3 News

Post Header

2016-10-09 17:41:43 -0400

This release includes several bug fixes concerning gift exchanges, the usual handful of miscellaneous improvements, and a much improved challenge matching process!

We have drastically sped up gift exchange matching by reducing the number of database queries involved in the process. Through the magic of hash mapping, caching, batching, indexing, and pre-processing, we've made matching at least five to ten times faster, depending on your challenge settings -- and we've eliminated the recently-implemented constraints that were causing difficulties for challenges that relied on hand-matching. Note that you won't notice any difference when putting your challenge together -- all these changes only affect back-end processes.

We think that all gift exchanges will benefit from the new code, but some challenges will see especially noticeable improvements. This includes single-fandom exchanges as well as fanwork fests that let participants offer and request fic, art, podfic, etc. through Additional Tags.

(Shoutout to tickinginstant for not only making these changes, but for doing it as a drive-by contributor through our GitHub presence. Many, many thanks! ♥)


  • Coders: james, Naomi, Sarken, tickinginstant
  • Code reviewers: Ariana, james, Naomi, Sarken
  • Testers: Lady Oscar, Naomi, Sarken



  • [AO3-4635] - We vastly improved the way challenge matches are calculated, which should ensure a much smoother experience for gift exchange mods and participants. Additionally, we now have much better automated test coverage for this feature.
  • [AO3-4505] - In the challenge settings, gift exchange mods can set a message to be sent to all participants with their assignment. Previously, line breaks in that message would not be preserved in the emails. Now they are!
  • [AO3-4652] - When a challenge assignment didn't include a rating -- either because rating wasn't an option on the sign-up form or because the recipient had not chosen a rating -- assignment emails included a line saying "Rating: Choose Not To Use Archive Warnings." This managed to be both inaccurate and unnecessary, so we removed it. Now ratings will only appear in assignment emails if your recipient has specified a rating.
  • [AO3-4654] - The assignment emails weren't properly listing all tag types (Rating, Warning, Relationship, etc.) that had been set to "Any" in the matched participant's sign-up. Fixed!
  • [AO3-4656] - In further assignment email bugs, a link to the user's Assignments page was mislabeled as "your archive dashboard"; this is now properly labeled.
  • [AO3-4657] - Challenge assignment emails included an ugly "Sent at sent_at" mishap in the footer. Now the line displays the actual time the message was sent.
  • [AO3-4655] - The "Optional Tags:" line in challenge sign-up blurbs was rather misaligned and has been nudged into its proper position now.


  • [AO3-4664] - We fixed a security issue regarding pseuds that could occur when commenting, bookmarking, signing up for a challenge, posting a chapter, or nominating a tag.
  • [AO3-4343] - The automated response to Support form submissions also included the "Sent at sent_at" line in the footer. Not anymore! In fact, it's been fixed for all emails where this problem occurred. \o/
  • [AO3-4616] - One of our automated tests would sometimes fail for no discernible reason. A reason has been found and now it shouldn't fail anymore. (Rule #1: It's always caching. Rule #2: It's always caching.)
  • [AO3-4651] - We limit the number of abuse reports about any given work on the Archive, as even one message will make sure the Abuse team investigates the case. This feature came loose in our last deploy, however. Now it's working again!

Known Issues

See our Known Issues page for current issues.