(#1878) - pull md5 out and just use a module
(#1883) & (#1842) - split ajax up into 2 parts, also figured out how to do the version thing
(#1843) - Get tests passing on saucelabs
(#1809) - proper through stream for all docs, and handle errors