Change file paths to be __dirname relative, so that bin/hubot can be run from any PWD
Fix loading top level scripts from a hubot instance created for deployment
Allow hubot to react on events

Events might get triggered by scripts.

For example: You have a script, which can trigger and event that some one committed to a repo. This script can be used by anyone, but the reaction should be different by every company. So it's possible to trigger a build, or just post a message in chat.

As a plus with the same event triggered by different scripts, so it wouldn't make a difference if you commit into github or just another (maybe SVN) repo. But other scripts can rely on that 'commit-received' command and act the same way.
added docs for event system
Add examples and urls to documentation settings
Version bump to 2.3.4
Fix shell adapter to log full stack on error, not just the first line
Command line option for extra scripts dirs
Escape the hyphens in the roles regexes

Inside square brackets, unescaped hyphens are position dependent. They
act like hyphens normally when at the beginning or end of a square
bracket expression. Otherwise it's used to signify a character range.

http://stackoverflow.com/questions/4068629/how-to-match-hyphens-with-regular-expression/4068725#4068725
Merge pull request #361 from rlipman/roles-hyphen-bugfix

Escape the hyphens in the roles regexes
Check for null when there are no images

if I did something like "hubot image me ablederfl33wo", I would get an error like:

/opt/hubot/scripts/google-images.coffee:47
      images = images.responseData.results;
                                  ^
TypeError: Cannot read property 'results' of null
    at imageMe (/opt/hubot/scripts/google-images.coffee:47:35)
    at IncomingMessage.ScopedClient.request (/opt/hubot/node_modules/hubot/node_modules/scoped-http-client/lib/index.js:61:20)
    at IncomingMessage.EventEmitter.emit (events.js:126:20)
    at IncomingMessage._emitEnd (http.js:366:10)
    at HTTPParser.parserOnMessageComplete [as onMessageComplete] (http.js:149:23)
    at Socket.socketOnEnd [as onend] (http.js:1356:12)
    at TCP.onread (net.js:418:26)
switching google endpoint to https
switching translate.coffee to use https
Change "download latest" link to master zipball
Bump coffee-script dependency version
fix 2 minor grammar mistakes in README.md
Merge pull request #380 from strugee/master

Make a slightly ambiguous statement in the README less ambiguous
node v0.8 support
Use GET to get Campfire rooms, not POST

There's no need to use POST when fetching a room from Campfire, and
doing so risks running up against Campfire's POST rate limit (50 POSTs
in 5 seconds).
version bump to 2.3.5 for campfire fix