ESLint v3.0.0 released

We just pushed ESLint v3.0.0, which is a major release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release. This release also has some breaking changes, so please read the following closely.

As breaking changes can cause problems for some users, we’ve created a migration guide describing the changes in great detail along with the steps you should take to address them. Not all ESLint users will be affected by the changes, however, we recommend everyone read the migration thoroughly.

Highlights

This is a summary of the major changes you need to know about for this version of ESLint.

Requires Node.js 4 or higher

ESLint v3.0.0 now requires Node.js 4 or higher. Going forward, our plan is always to support the LTS version of Node.js and periodically end-of-life support for older Node.js versions. As both Node.js v0.10 and v0.12 will be out of maintenance mode at the end of 2016, we hope that this change won’t affect too many users.

If you still need ESLint to run on Node.js < 4, then we recommend staying with ESLint v2.13.1 until you are ready to upgrade your Node.js version.

eslint:recommended Update

We’ve added some new rules to eslint:recommended that we believe are important for all users. You can read more about these changes in the migration guide.

Configuration is Now Required

One of the most confusing aspects of ESLint for new users has been that ESLint doesn’t do anything unless you provide a configuration. While this is good from a configurability perspective (we don’t force any configuration on you), we still get a lot of reports from new users who don’t understand what’s happening. As such, we decided to make configuration a requirement for ESLint and will not longer run if no configuration is present. Instead, ESLint will output an error when it can’t find a configuration file and no configuration information is provided on the command line. More information is available in the migration guide.