Improve error reported when reviewed commits are missing

Ignore that the commit prefetching failed, and just go ahead, which still
detects later that a commit is missing, and produces a slightly better
error message.
Add email.listId preference for setting custom List-Id header

Useful if using an email system (such as GMail) that doesn't support
filtering based on custom headers like the OperaCritic-* headers normally
set by Critic but does support filtering using the List-Id header.
Don't associate users with comment chains via filters

This will typically associate unnecessarily many users with unnecessarily
many comment chains.  Restrict the set of associated users to the review
owner(s) and any user that has participated in the comment chain (that
started it or has written a reply.)
Add support for 'email.enableAssociationRecipients' preference
Set "Cache-Control: max-age=3600" on image extension resources

This is sort of a workaround; should have a better cache control
mechanism.  But with Chrome, the Dashboard extensions favicon
animation causes extremely frequent reloads of the favicon images
due to no caching at all.
Don't include draft replies when counting replies

It would be fine (but unnecessary) if only the viewing user's drafts had
been included, but in practice all users' drafts were included in the
counters, which was just confusing.
Fix context expansion dropdowns in "Conflicts" view of merge

In a merge diff, we don't support context expansion in the per-parent
diff views, because that's a bit complicated.  Supporting it in the
"Conflicts" diff view, however, is trivial, but was broken due to some
simple issues in the code, fixed by this commit.
Fix diff on /showcomment in some rare situations

Even if reviewing.html.renderCodeCommentChain() decided that the comment
should be on the left ("old") side of the diff, diff.context.ContextLines
could decide it belonged on the right ("new") side of the diff instead,
if the chain was connected to a set of lines in the "new" file version.
Avoid this by explicitly telling diff.context.ContextLines whether the
comments belong on the left side.  (Showing comments on the right side,
when possible, is the default.)

IIRC, the asymmetry between the two parts of the code could lead to
diff.context.ContextLines not including the lines on the left, where the
comment markers should be, in the diff, if the comment was connected to
lines on the right side that were sufficiently far away.
Fix download link for binary files with multiple periods in the name

Improper use of str.rsplit() (no maxsplit argument) combined with
unqualified exception ignoring leads to no world domination.

Use str.rpartition() instead, and don't ignore exceptions.
Visualize byte-order-mark characters on first line in source files
Fix mime-type detection on paths containing periods
Fix database query profiling on incrementally rendered pages

For accurate profiling results, render such pages in one go (and with one
database session) instead.
Fix some kind of diff parsing issue involving binary files

If the last changed (or added/removed) file was binary, we'd add that to
the list of files in response to the StopIteration exception.  But when
doing this we should still break out of the loop, so we should re-raise
the StopIteration exception.
Improve error reporting in case of invalid input on /createreview
Simplify an "administrator role required" check
Re-implement 'highlight' parameter on /config

Instead of highlighting visually and scrolling to the selected preference,
interpret the 'highlight' parameter as a filter and display only matched
preferences.

Also interpret it as a glob (using fnmatch) instead of requiring an exact
match, thus allowing linking to a group of preferences.
Improve listing of contributing commits on squashed diffs

Can't remember how or why.
After clicking a filename to select a file in a diff, reset focus

This avoids the filename element being focused (invisibly) which in turn
avoids the browser scrolling it into view later on, which we typically
never want.
Fix tooltip for [fixup]/[squash] in logs
Possibly improve comment propagation in added/removed files

Don't remember what problem this might have fixed.