JSHint 1.0.0 RC1 29 December 2012

UPDATE: JSHint 1.0.0 RC3.


After three months and 100+ commits, JSHint 1.0.0 is ready for release. This is the biggest release for JSHint so far, and that’s why I’ve decided to run it through a release candidate phase first. I tried my best to make it as backwards compatible as possible, but there might be a small number of incompatibilities depending on how you use JSHint. Please keep that in mind and test your integration before updating to 1.0.0.

One of the biggest changes is that node-jshint is now part of the main JSHint project, which means that there will no longer be lag time between releasing a new version and publishing it on NPM. Node and NPM is now the main and recommended way of using JSHint on all platforms. This also means that starting with “1.0.0”, JSHint will start using the node-semver versioning system instead of the old rN system.

In addition, this version drops support for non-ES5 environments. This means that JavaScript engines that don’t support the ES5 syntax will not even parse JSHint’s source code. (For example, the online interface for JSHint will not work in older versions of IE.)

I’m very excited to finally release this version and I encourage everyone to try out the release candidate and report any bugs and issues you encounter. The full changelog is provided below, with examples and links to relevant issues.

Parser

This version has a completely rewritten lexer. Since it’s no longer a giant regexp, the new lexer is more robust and easier to read. I’d like to thank the authors of Esprima and Traceur since I borrowed some pieces from them.

Bug fixes:

General

Bug fixes:

CLI

This version includes several improvements to the Node version of JSHint:

Bug fixes:

What’s next?

I plan to test this release candidate for about a week before marking it as stable and publishing on NPM. And, at the same time, I will be updating the documentation and the jshint.com website. If you notice any bugs or unexpected backwards-incompatible changes, please file a bug.

RC3 is out: JSHint 1.0.0 RC3.

Here’s how you can install this release candidate:

$ npm install https://github.com/jshint/jshint/archive/1.0.0-rc1.tar.gz

For Rhino wrapper, you will need to clone our repo and build jshint-rhino:

$ node make.js build
$ rhino dist/jshint-rhino.js ...

Contributors

Thanks to Bernhard K. Weisshuhn, James Allardice, Mike MacCana, Stephen Fry, Steven Olmsted, Leith Abdulla, Eric Promislow and Vlad Gurdiga for submitting patches!