ESLint v4.0.0 released

We just pushed ESLint v4.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.

Highlights

There are several breaking changes in 4.0.0. We've created a migration guide to explain the breaking changes and describe how to upgrade.

Seven new rules have been added: array-element-newline semi-style padding-line-between-statements for-direction switch-colon-spacing array-bracket-newline no-buffer-constructor

Two rules are now autofixable with the --fix flag: no-debugger no-confusing-arrow

flag: Three rules have been deprecated in favor of the new padding-line-between-statements rule: lines-around-directive newline-after-var newline-before-return

rule: Three new utility methods have been added to the SourceCode API, and SourceCode#getComments has been deprecated.

API, and has been deprecated. A new option has been added to the object-curly-newline rule.

Changes since v4.0.0-rc.0:

Enhancements

34c4020 Update: Add support for parens on left side for-loops (fixes: #8393) (#8679) (Victor Hom)

Bug Fixes

3da7b5e Fix: Semi-Style only check for comments when tokens exist (fixes #8696) (#8697) (Reyad Attiyat)

3cfe9ee Fix: Add space between async and param on fix (fixes #8682) (#8693) (Reyad Attiyat)

Documentation

735cd09 Docs: Correct the comment in an example for no-mixed-requires (#8686) (Fangzhou Li)

Chores

4aefb49 Chore: avoid using deprecated rules on ESLint codebase (#8708) (Teddy Katz)

389feba Chore: upgrade deps. (#8684) (薛定谔的猫)

c702858 Chore: enable no-multiple-empty-lines on ESLint codebase (#8694) (Teddy Katz)

026f048 Chore: remove dead code from prefer-const (#8683) (Teddy Katz)