diff --git a/ChangeLog b/ChangeLog
index 048de228f48c4be7391d61c2629d7e445e40eff4..4fc469e9eba3b1f0772e649a5e7f44eb75274692 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -55,7 +55,7 @@ train-2012.03.01:
 train-2012.02.16:
   * improve failure mode when cookies are disabled (especially on iOS): #1056
   * serve static css/js resources from perma URLs to improve load times: #620
-  * improve UI flows concerning cancelation during primary sign in: #983 #1036
+  * improve UI flows concerning cancelation during primary sign in: #983, #1036
   * localization improvements: #1040, #1045, #1048, #1062, #1081, #1113
   * cosmetic dialog fixes: #1062, #1058, #892, #1117
   * fix bug preventing email addresses with under-bars in hostnames: #1074
@@ -88,7 +88,7 @@ train-2012.02.02:
   * secondary "cancel" style buttons have a smaller font: #1020
   * build fixes: #1021, #1024
   * (hotfix 2012.02.07) add a l10n-all.json which holds all locales we'll be shipping to production
-  * (hotfix 2012.02.07) Fix the missing email address in the "check your email" screen for the forgot password flow.  #1058
+  * (hotfix 2012.02.07) Fix the missing email address in the "check your email" screen for the forgot password flow: #1058
   * (hotfix 2012.02.07) Modify build process to pick up locales from a .json file
   * (hotfix 2012.02.07) fix production-locales.sh script to defer to the environment for configuration
   * (hotfix 2012.02.13) fix for IE users not seeing error screens sometimes: #1087
@@ -97,17 +97,17 @@ train-2012.02.02:
 train-2012.01.18:
   * support for 3rd party primary identity providers: #761, #904, #865
   * loadgen improvements
-  * Re-license under MPL2: #859 (& #827)
+  * Re-license under MPL2: #859, #827
   * clean up unused developer tools (vagrant): #861
   * (primary support) declaration of support now hosted in .well-known/browserid (was 'vep'): #865
-  * unit test fixes: #889 & #851
+  * unit test fixes: #889, #851
   * help link opens in new window: #728
   * fix 'not supported' display in IE7: #831
   * language/rendering refinements: #850, #439, #622, #818, #901, #630, #888, #345, #815
   * front end performance improvements: #899, #910
   * better UX for network timeouts: #905
-  * (hotfix 2012.01.23) Remove unwanted scrollbar in dialog: issue #947
-  * (hotfix 2012.01.23) Fix black backgrounds on IE8: issue #929
+  * (hotfix 2012.01.23) Remove unwanted scrollbar in dialog: #947
+  * (hotfix 2012.01.23) Fix black backgrounds on IE8: #929
   * (hotfix 2012.01.23) fix broken transition to "check your email": #933, #934, #935
   * (hotfix 2012.01.24) Fix "slow script" error on IE8 during keygen on behalf of primary: #956
   * (hotfix 2012.01.24) Publish javascript API to provide a native-support compatible for primaries' auth pages: #909
@@ -143,36 +143,36 @@ train-2011.12.28:
   * bcrypt now runs out of process, uses all available cores, allows for app level 503 under extreme load: #694
   * Fix "cancel" in the forgot password screen when accessed via required email: #754
   * first time a user visits browserid.org, show a "learn more" message: #384
-  * partial code versioning/cache busting implementation: #226 #687
+  * partial code versioning/cache busting implementation: #226, #687
   * improved build process - resource minification no longer leaves artifacts all over: #700
-  * clean up whitespace.  meh.  #758
+  * clean up whitespace.  meh.  : #758
   * emails now come from "BrowserID@" instead of "noreply@": #756
-  * completely new implementation for cross domain window communication (https://github.com/lloyd/winchan) #764 #766
+  * completely new implementation for cross domain window communication (https://github.com/lloyd/winchan): #764, #766
   * allow canceling of "use a different email: #765
   * improve language and UX of required email flow: #608
   * better, earlier dev errors for required email: #632
   * new assertion format (smaller by 66%) handled by verifier, to be generated by browserid next train: #507
-  * now you can change your password: #771 #114
+  * now you can change your password: #771, #114
   * load generator improvements: #782
-  * improved PRNG: #789 #735
-  * fix regressions in the above: #719 & #776
+  * improved PRNG: #789, #735
+  * fix regressions in the above: #719, #776
   * CSRF token uses better RNG: #800
 
 train-2011.12.08:
-  * improve performance of unit tests.  #686
-  * IE8 fixes.  #688
-  * logging improvements. #681
-  * loadgen fixes.  #682
-  * android fixes.  #704
-  * performance improvements. #680
-  * moar instrumentation.  #691
+  * improve performance of unit tests: #686
+  * IE8 fixes: #688
+  * logging improvements: #681
+  * loadgen fixes: #682
+  * android fixes: #704
+  * performance improvements: #680
+  * moar instrumentation: #691
 
 train-2011.12.01:
   * BrowserID now requires NodeJS >= 0.6.2
   * extensive work on load generation tool: #504
   * modularize front-end, remove deps on stealjs and JSMVC: #609, #625, #634
   * front-end refactoring: #578, #611, #608, #650, #654, #655
-  * regression fix: account consolidation possible without explicit canceling: #607 #612
+  * regression fix: account consolidation possible without explicit canceling: #607, #612
   * make it possible to gracefully update domain key at any time: #599
   * domain key now uses RSA-2048: #600
   * optimize (and combine) frontend resources (vepbundle): #606
@@ -182,8 +182,8 @@ train-2011.12.01:
   * unit test fixes: #557 (revisited), #629, #657
   * update_password WSAPI added: #560, #114
   * verifier improvements and unit tests: #467, #598, #605, #643, #642, #645, #646, 
-  * node-mysql driver update - improved for prod env  #648
-  * include a link to support.mozilla.com off of browserid.org - #533
+  * node-mysql driver update - improved for prod env: #648
+  * include a link to support.mozilla.com off of browserid.org: #533
   * added command line tool to create and account: #603
   * added command line tool to bcrypt a password: #651
   * fix button heights in firefox on browserid.org: #658
@@ -208,11 +208,11 @@ train-2011.11.17:
   * simplify and consolidate user facing help links in dialog: #553
   * clean up user facing error messages (email throttling and sent email): #579, #577, #591
   * moved 'this is not me' and 'use a different email' links based on UX suggestions: #459
-  * incrementally work to repair load_gen (not yet complete) : #504
+  * incrementally work to repair load_gen (not yet complete): #504
   * unit test fixes: #504
   * remove extraneous console logging: #574
   * improve email validation in main site (whitespace handling): #583, #429
-  * fix serious regressions related to iOS5 fixes that prevented dialog from working the second time on RPs: #580, #588 #589
+  * fix serious regressions related to iOS5 fixes that prevented dialog from working the second time on RPs: #580, #588, #589
   * fix "go back and try another" link in dialog: #587
   * added "required email" feature: #491
   * (added 2011.11.18) fix regression - sporadic assertion verification failures: #616
@@ -251,16 +251,16 @@ train-2011.11.03:
   * remember the users email as they transition between screens, when appropriate: #476
   * Suppress iOS autocapitalizion and auto-correction for email addresses: #464
   * Improve front end email address validation: #513
-  * Improve repository organization: #503 & #488
+  * Improve repository organization: #503, #488
   * As part of above and in prep for #460 - all processes (browserid, verifier, etc) are now always run separately (never combined into the same express instance
   * Test improvements: #520, #530, #531
   * Fix undefined reference (crash) in verifier after verification failure: #523 (hot-fixed in production: https://github.com/mozilla/browserid/commit/ba3c53)
   * Remove UI that corresponds to unimplemented features: #519
   * Handle upper case letters in domain part of email addresses properly: #501
-  * Use a more conventional log format that includes time-stamps when logging to file.  closes #234
+  * Use a more conventional log format that includes time-stamps when logging to file: #234
   * Shutdown gracefully whenever possible, and always log why we go down: #529
   * 'LOG_TO_CONSOLE' env var for verbose console output during tests: #530
-  * more checks around '/code_update' URL invocation - for bug #699171
+  * more checks around '/code_update' URL invocation: bug #699171
   * Many minor bug-fixes: #497, #532
   * (2011.11.08) don't crash on mysql connection timeout: #540
 
@@ -346,15 +346,15 @@ train-2011.09.22:
   * partial IE8 support (not yet usable, several small remaining bugs, and abysmal performance)
   * development harness (./run.js) now respects an IP_ADDRESS env var to bind to a specific address (other than 127.0.0.1)
   * improved first-time development experience:  `git clone && cd browserid && npm install && npm run`
-  * initial support for running locally under virtualbox via vagrant: issue #261 (thanks ozten!)
-  * (fix 2011.09.23) fix race condition between relay iframe and window introduced with IE9 support.  issue #287
-  * (fix 2011.09.23) fix blank popup on second signin invocation in same session in FFX:  issue #286
-  * (fix 2011.09.23) explicitly disable caching for /wsapi calls, prevents unwanted caching of CSRF and friends. issue #294
+  * initial support for running locally under virtualbox via vagrant: #261 (thanks ozten!)
+  * (fix 2011.09.23) fix race condition between relay iframe and window introduced with IE9 support: #287
+  * (fix 2011.09.23) fix blank popup on second signin invocation in same session in FFX: #286
+  * (fix 2011.09.23) explicitly disable caching for /wsapi calls, prevents unwanted caching of CSRF and friends: #294
 
 train-2011.09.01:
   * /ws_api/set_key always returns returns value instead of HTTP 204 response: #219
   * update javascript mvc to 3.1.0.
-  * major interframe/window communication change using a hidden relay iframe to facilitate IE: #97(still open)
+  * major interframe/window communication change using a hidden relay iframe to facilitate IE: #97 (still open)
   * link colors on browserid.org are consistent: #227
 
 train-2011.08.25:
@@ -391,23 +391,23 @@ train-2011.08.18:
 		
 train-2011.08.12:
   * massive zero-user-visibile refactoring of dialog javascript.
-  * fix cancel button in "waiting for verification state" (issue #147)
-  * all browserid source is now tri-licensed (MPL1.1/GPL/LGPL). (issue #141)
-  * fixes for mobile firefox (fennec).  (issue #140)
-  * mysql support implemented for browserid (default persistence production) (issue #71)
+  * fix cancel button in "waiting for verification state": #147
+  * all browserid source is now tri-licensed (MPL1.1/GPL/LGPL): #141
+  * fixes for mobile firefox (fennec): #140
+  * mysql support implemented for browserid (default persistence production): #71
   * json persistence support added - a standalone dead simple persistence layer which is the default for local development and requires no external software.
-  * email secrets are now persisted in the database, so upon server restart outstanding verification links are no longer invalidated (issue #91)
+  * email secrets are now persisted in the database, so upon server restart outstanding verification links are no longer invalidated: #91
   * (website) styling changes - like fix issues where links on dev page were being displayed white on white.
 	
 train-2011.08.04:
-  * when user closes dialog without clicking "cancel", properly return 'null' to the webpage (via getVerifiedEmail callback) - issue #107
-  * improve checks to warn developer that prerequisite software is missing. issue #110
-  * parameterize software to support multiple deployment environments (dev/beta/prod) issues #102 & #52
+  * when user closes dialog without clicking "cancel", properly return 'null' to the webpage (via getVerifiedEmail callback): #107
+  * improve checks to warn developer that prerequisite software is missing: #110
+  * parameterize software to support multiple deployment environments (dev/beta/prod): #102, #52
   * documentation updates.
   * improved logging (using the winston logging framework for node.js)
   * [website] fixed inclusion of youtube video (now over https to keep browsers from getting scared about mixed mode resource inclusion)
 
 train-1:
   * beginning of time, everything is new.
-  * (2011.08.03) include youtube video embedding over https (issue #112)
-  * (2011.08.04) fix mozillalabs.com link in dialog (issue #116)
+  * (2011.08.03) include youtube video embedding over https: #112
+  * (2011.08.04) fix mozillalabs.com link in dialog: #116