chore: grunt bump push to upstream
chore: allow "Merge pull request" commit msgs
chore: update changelog links to point to testacular
chore: update contributors
feat: set urlRoot to /__testacular__/ when proxying the root
feat(adapter.requirejs): normalize paths before appending timestamp

Because paths like /base/a/../some.js do not match entries in __testacular__.files, so let's normalize these paths first.
test(adapter.requirejs): refactor to be more testable, add some tests
fix(proxy): fix crashing proxy when browser hangs connection

When the browser hangs up socket and we didn't manage to start responding
to request, it seems that resp parameter in 'proxyError' event is not filled out.

Sample resp: { domain: null,
  _events: { finish: [Function] },
  _maxListeners: 10,
  output: [],
  outputEncodings: [],
  writable: true,
  _last: false,
  chunkedEncoding: false,
  shouldKeepAlive: true,
  useChunkedEncodingByDefault: true,
  sendDate: true,
  _hasBody: true,
  _trailer: '',
  finished: false }

So, it doesn't have a .socket object and crashes the process:

ERROR [testacular]: [TypeError: Cannot read property 'destroyed' of undefined]
TypeError: Cannot read property 'destroyed' of undefined
    at i (/usr/lib/node_modules/testacular/lib/proxy.js:67:49)
    at EventEmitter.emit (events.js:126:20)
    at EventEmitter.emit (events.js:106:17)
    at ClientRequest.proxyError (/usr/lib/node_modules/testacular/node_modules/http-proxy/lib/node-http-proxy/http-proxy.js:186:14)
    at ClientRequest.g (events.js:192:14)
    at ClientRequest.EventEmitter.emit (events.js:96:17)
    at Socket.socketCloseListener (http.js:1378:9)
    at Socket.EventEmitter.emit (events.js:126:20)
    at Socket._destroy.destroyed (net.js:358:10)
    at process.startup.processNextTick.process._tickCallback (node.js:244:9)

So, to fix it, we use req, which is guaranteed to be filled out and .socket.destroyed is set to true in this case.
chore(deps): update socket.io to 0.9.13

Testacular 0.5.9 npm install fails during ws@0.4.0 preinstall on CentOS configuration

Socket.io 0.9.0 depends on ws 0.4.0, which appears had a bug in it.  Update to latest socket.io to fix this.

Error output is below.  

'''
 npm http GET https://registry.npmjs.org/amdefine
 
 > ws@0.4.0 preinstall /data/build/jenkins/workspace/webr-master-chrome/Webr/node_modules/testacular/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
 > make
 
 node-waf configure build
 make: node-waf: Command not found
 make: *** [all] Error 127
 npm ERR! error rolling back Error: ENOTEMPTY, rmdir '/data/build/jenkins/workspace/webr-master-chrome/Webr/node_modules/testacular/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test'
 npm ERR! error rolling back  socket.io-client@0.9.0 { [Error: ENOTEMPTY, rmdir '/data/build/jenkins/workspace/webr-master-chrome/Webr/node_modules/testacular/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test']
 npm ERR! error rolling back   errno: 53,
 npm ERR! error rolling back   code: 'ENOTEMPTY',
 npm ERR! error rolling back   path: '/data/build/jenkins/workspace/webr-master-chrome/Webr/node_modules/testacular/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test' }




 npm ERR! ws@0.4.0 preinstall: `make`
 npm ERR! `sh "-c" "make"` failed with 2
 npm ERR! 
 npm ERR! Failed at the ws@0.4.0 preinstall script.
 npm ERR! This is most likely a problem with the ws package,
 npm ERR! not with npm itself.
 npm ERR! Tell the author that this fails on your system:
 npm ERR!     make
 npm ERR! You can get their info via:
 npm ERR!     npm owner ls ws
 npm ERR! There is likely additional logging output above.
 
 npm ERR! System Linux 2.6.32-279.14.1.el6.centos.plus.x86_64
 npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install"
 npm ERR! cwd /data/build/jenkins/workspace/webr-master-chrome/Webr/epubrender
 npm ERR! node -v v0.8.14
 npm ERR! npm -v 1.1.65
 npm ERR! code ELIFECYCLE
 npm http 304 https://registry.npmjs.org/amdefine
 npm ERR! Error: ENOENT, lstat '/data/build/jenkins/workspace/webr-master-chrome/Webr/node_modules/testacular/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/app.js'
 npm ERR! If you need help, you may report this log at:
 npm ERR!     <http://github.com/isaacs/npm/issues>
 npm ERR! or email it to:
 npm ERR!     <npm-@googlegroups.com>
 
 npm ERR! System Linux 2.6.32-279.14.1.el6.centos.plus.x86_64
 npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install"
 npm ERR! cwd /data/build/jenkins/workspace/webr-master-chrome/Webr/epubrender
 npm ERR! node -v v0.8.14
 npm ERR! npm -v 1.1.65
 npm ERR! path /data/build/jenkins/workspace/webr-master-chrome/Webr/node_modules/testacular/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/app.js
 npm ERR! fstream_path /data/build/jenkins/workspace/webr-master-chrome/Webr/node_modules/testacular/node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/app.js
 npm ERR! fstream_type File
 npm ERR! fstream_class FileWriter
 npm ERR! code ENOENT
 npm ERR! errno 34
 npm ERR! fstream_stack Writer._finish.er.fstream_finish_call (/usr/local/nodejs/node-v0.8.14-linux-x64/lib/node_modules/npm/node_modules/fstream/lib/writer.js:284:26)
 npm ERR! fstream_stack Object.oncomplete (fs.js:297:15)
 npm http GET https://registry.npmjs.org/cli
 npm http 304 https://registry.npmjs.org/cli
 npm ERR! 
 npm ERR! Additional logging details can be found in:
 npm ERR!     /data/build/jenkins/workspace/webr-master-chrome/Webr/epubrender/npm-debug.log
 npm ERR! not ok code 0
 '''
Merge pull request #342 from ashtuchkin/patch-1

Crash when proxied request is hung up by browser.
Merge pull request #339 from bitwiseman/patch-3

chore(deps): Use socket.io@0.9.13
chore: update deps to the latest
fix(init): fix the logger configuration

Closes #340
chore: add .gitattributes to handle line endings

I'm tired of people committing Windows line endings ;-)
chore: remove the unused docs
chore: always update contributors before release
chore: update contributors
chore: release v0.5.10
fix(adapter.requirejs): do not configure baseUrl automatically

I believe in most cases people need to use different baseUrl anyway. This means
people need to understand that Testacular serves files under `/base/*` (which is
the basePath from the testacular.conf.js) and under `/absolute/*` (files from
outside of the project's basePath). But it's less magic and less confusing.

See #291, #292 for more info.

Closes #291
test(e2e): fix the coverageRequire e2e test

Broken by 63f3f409ae85a5137396a7ed6537bedfe4437cb3, now we need to set the baseUrl manually.