Apr 20, 2016
Support for npm 3.x, which puts all node modules at the top-level if …
…it can. In case the user has installed their own, incompatible version of the dependency, we still check our own version of it first. Also removed dedupe hints from dependency list, vastly simplifying it.
Apr 20, 2015
* Minor version updates: `grunt-jscs`, `grunt-mocha-cli`, `grunt-moch…
…a-istanbul`, `mocha`

* Patch updates: `grunt-contrib-jshint`, `istanbul`, `time-grunt`
* Update dependencies included for de-duping. This set of dependencies, which includes manually breaking conflicts ‘npm dedupe' doesn’t help with, saves about 9MB.
* Update dev dependencies
Mar 20, 2015
* `groc` updated to `0.8.0` - easier to set up and faster! No longer …
…requires Python Pygments module, and does work to determine what documentation should be generated before running.

* Fix: `env:default` and `env-js:default` are now run before all the test-related aliases, instead of just `env` and `env-js`. This allows you to create `env`/`env-js` sub tasks in your gruntfile and use them in other contexts.

* Minor version updates: `grunt-complexity`, `grunt-contrib-copy`, `grunt-contrib-jshint`, `grunt-mocha-istanbul`, `time-grunt`
* Patch updates: `istanbul`, `grunt-env`, `grunt-mocha-cli`, `grunt-shell`

* Tested against node `0.12.0` and io.js `1.4.3` and above - five total platforms are now included in all [Travis CI runs](https://travis-ci.org/thehelp/project)
* Did some work to de-duplicate dependencies. node_modules directory was at 52MB before the work, at 46MB after.
* Tuned the npm package a little
Feb 24, 2015
`options.staticAnalsis.excludes` can now hold an array of file paths …
…to be excluded from the jscomplexity step. Some files (especially configuration) just aren't worth the work to take the complexity down.
Dec 4, 2014
v3.4.0
* Fix bug: pass `options.jsonLint` to `registerJsonLint()` instead of `options.env`
* New: `env-js` task loading environment variables from 'env.js' by default, run before all test tasks, after `env` task
* `--coverage` option now uses `grunt-mocha-istanbul` instead of locally-installed `blanket` and htmlcov `mocha` reporter. Far easier to use.
* `test-all` task now includes only unit, integration and manual tests. Cleaner than previous implementation, which would load any files matching 'test/**/*.js', excluding only 'test/*.js' or 'test/unit/*.js'.
* Custom options can now be supplied to `registerTest()` or as `test` key provided to `standardSetup()` - including `excludes` key to customize which files and folders are instrumented for code coverage.
* Major version update: `grunt-jscs`
* Minor version updates: `grunt-contrib-copy`, `grunt-mocha-cli`, `grunt-shell`
* Patch update: `grunt-env`
* Update dev dependencies
* Note: `groc` kept back for now, despite available updates
Aug 28, 2014
v3.3.1
* Update `groc` to version that doesn't fall prey to breaking changes in `underscore` 1.7
* Major version updates: `grunt-shell`, `time-grunt` (strange; these don't seem to introduce breaking changes)
* Minor version updates: `grunt-mocha-cli`
Jul 31, 2014
v3.3.0
* `jsonlint` task added to default - verifies that *.json files in root dir are well-formed
* Minor version updates: `grunt-contrib-clean`, `time-grunt`
* Patch updates: `grunt-jscs` (moving to new name; previously `grunt-jscs-checker`)
* Update dev dependencies
Jun 23, 2014
v3.2.0
* `doc` command can now take a truthy `github` key or '--publish-docs' command-line option to publish docs to github pages
* Upgrade to a newer version of `groc` fork, and remove 'fix-groc-stylesheet' task, since the vertical space tweaks are in `groc`'s stylesheet. This was needed for github pages publish.
* TravisCI support
Jun 23, 2014
* '.md' files in the root directory now processed to 'docs/*.html' by…
… doc task

* Patch updates: `time-grunt`
* Minor version updates: `grunt-complexity`, `grunt-jscs-checker`, `grunt-mocha-cli`
* Remove docs directory from repo
* Add high-level stuff to readme
Jun 7, 2014
* Every `registerXXX()` method now takes one options parameter, looki…
…ng for keys on it, instead of direct parameters.

* `standardSetup()` now takes an `options` parameter, allowing for full customization without calling `registerXXX()` methods directly. `options.watch` is passed to `registerWatch()`, for example.
* `grunt interactive` is now `grunt manual` (still excluded from `grunt test` and included in `grunt test-all`)
* Overhaul of all documentation
* All client-side development task configuration removed, to be released in a forthcoming `thehelp-client-project`: `registerConnect()`, `registerMocha()`, `registerOptimize()`, `registerCopyFromBower()` and `registerCopyFromDist()`
* Update to latest version of my `groc` fork
* Update dev dependencies