3.0.0 / 2016-07-01
==================
* 3.0.0
* Build: package.json and changelog update for 3.0.0
* Docs: Update installation instructions on README ([#6569](https://github.com/eslint/eslint/issues/6569))
* Breaking: Add `require-yield` rule to `eslint:recommended` (fixes [#6550](https://github.com/eslint/eslint/issues/6550)) ([#6554](https://github.com/eslint/eslint/issues/6554))
* Fix: lib/config.js tests pass if personal config exists (fixes [#6559](https://github.com/eslint/eslint/issues/6559)) ([#6566](https://github.com/eslint/eslint/issues/6566))
* Docs: Update rule docs for new format (fixes [#5417](https://github.com/eslint/eslint/issues/5417)) ([#6551](https://github.com/eslint/eslint/issues/6551))
* Docs: Correct link to rules page (#fixes 6553) ([#6561](https://github.com/eslint/eslint/issues/6561))
* Update: Check RegExp strings for `no-regex-spaces` (fixes [#3586](https://github.com/eslint/eslint/issues/3586)) ([#6379](https://github.com/eslint/eslint/issues/6379))
* Update: Implement outerIIFEBody for indent rule (fixes [#6259](https://github.com/eslint/eslint/issues/6259)) ([#6382](https://github.com/eslint/eslint/issues/6382))
* Update: Implement IndentOuterIIFE option for indent rule (fixes [#6259](https://github.com/eslint/eslint/issues/6259))
* Switch to using numeric argument
* Rename to outerIIFEBody
* Add invalid test cases for outerIIFEBody
* Rename a helper function for consistency
* Docs: 3.0.0 migration guide ([#6521](https://github.com/eslint/eslint/issues/6521))
* Docs: Update Governance Policy (fixes [#6452](https://github.com/eslint/eslint/issues/6452)) ([#6522](https://github.com/eslint/eslint/issues/6522))
* Update: `no-unused-vars` ignores read it modifies itself (fixes [#6348](https://github.com/eslint/eslint/issues/6348)) ([#6535](https://github.com/eslint/eslint/issues/6535))
* Update: `no-unused-vars` ignores read it modifies itself (fixes [#6348](https://github.com/eslint/eslint/issues/6348))
`no-unused-vars` comes to ignore a read of a modification of itself.
- A read in RHS of an assignment to itself (e.g. `a = a + 1`)
- A read in LHS of an assignment (e.g. `a += 1`)
- Increments/Decrements (e.g. `a++`)
Those are ignored only if those exist at the direct child of an
ExpressionStatement node. This is in order to avoid false positive such
`foo(a = a + 1)`
* Fix: remove unused variables which were found by this fix.
* Chore: add some tests
* Fix: Delete cache only when executing on files (fixes [#6459](https://github.com/eslint/eslint/issues/6459)) ([#6540](https://github.com/eslint/eslint/issues/6540))
* Breaking: Error thrown/printed if no config found (fixes [#5987](https://github.com/eslint/eslint/issues/5987)) ([#6538](https://github.com/eslint/eslint/issues/6538))
* Breaking: Error thrown/printed if no config found (fixes [#5987](https://github.com/eslint/eslint/issues/5987))
* Edit message per feedback
I added @IanVS' suggestion of including the directory and ancestors-- let me know if it's too long as a result.
* Fix block comment to avoid using JSDoc
* Add tests to ensure no errors when configured
* Do not throw error if rules are specified
* Reorganizing unit tests for lib/config.js
* Reorganize code in lib/config
* Fixing JSDoc issues and unclear code
* Fix: false negative of `no-useless-rename` (fixes [#6502](https://github.com/eslint/eslint/issues/6502)) ([#6506](https://github.com/eslint/eslint/issues/6506))
* Update: Add fixer for prefer-const (fixes [#6448](https://github.com/eslint/eslint/issues/6448)) ([#6486](https://github.com/eslint/eslint/issues/6486))
Also improve grammar in prefer-const error message.
* Chore: Update index and `meta` for `"eslint:recommended"` (refs [#6403](https://github.com/eslint/eslint/issues/6403)) ([#6539](https://github.com/eslint/eslint/issues/6539))
* Better wording for the error reported by the rule "no-else-return" [#6411](https://github.com/eslint/eslint/issues/6411) ([#6413](https://github.com/eslint/eslint/issues/6413))
* Better wording for the error reported by the rule "no-else-return" [#6411](https://github.com/eslint/eslint/issues/6411)
* Fix: Better wording for the error reported by the rule "no-else-return" (fixes [#6411](https://github.com/eslint/eslint/issues/6411))
Signed-off-by: Olivier Thomann
* Fix: Better wording for the error reported by the rule "no-else-return" (fixes [#6411](https://github.com/eslint/eslint/issues/6411))
Signed-off-by: Olivier Thomann
* Update: Add fixer for arrow-parens (fixes [#4766](https://github.com/eslint/eslint/issues/4766)) ([#6501](https://github.com/eslint/eslint/issues/6501))
* Docs: Remove Box as a sponsor ([#6529](https://github.com/eslint/eslint/issues/6529))
* Docs: fix max-lines samples (fixes [#6516](https://github.com/eslint/eslint/issues/6516)) ([#6515](https://github.com/eslint/eslint/issues/6515))
Current docs contains invalid samples of `max-lines` rules configuration:
`eslint max-lines: ["error", 2, {"skipComments": true}]`
should be
`eslint max-lines: ["error", {"max":2, "skipComments": true}]`
* Breaking: Update eslint:recommended (fixes [#6403](https://github.com/eslint/eslint/issues/6403)) ([#6509](https://github.com/eslint/eslint/issues/6509))
* Docs: Add "Proposing a Rule Change" link to CONTRIBUTING.md ([#6511](https://github.com/eslint/eslint/issues/6511))
This gets CONTRIBUTING.md and README.md in sync in terms of providing guidance for different types of issues.
* Docs: Update pull request steps (fixes [#6474](https://github.com/eslint/eslint/issues/6474)) ([#6510](https://github.com/eslint/eslint/issues/6510))
* Docs: Consistent example headings & text pt3 (refs [#5446](https://github.com/eslint/eslint/issues/5446)) ([#6492](https://github.com/eslint/eslint/issues/6492))
* Docs: Consistent example headings & text pt3 [#5446](https://github.com/eslint/eslint/issues/5446)
Just a single doc in this batch due to variance in changes:
Headings were already present, however they were
over-complicated; I separated out the old (ES3/5) feature
from the heading and put it in a block quote to distinguish
it from the new (Reflect API) feature.
As per previous batches, ensured text above examples is
consistent as per [#5446](https://github.com/eslint/eslint/issues/5446)
This PR does not attempt to address issues other than
those stated above; such issues will be dealt with on
subsequent sweeps of the docs detailed in [#6444](https://github.com/eslint/eslint/issues/6444).
* Docs: space around fenced code
* Docs: Remove blockquotes (refs [#6492](https://github.com/eslint/eslint/issues/6492))
* Docs: Consistent example headings & text pt4 (refs [#5446](https://github.com/eslint/eslint/issues/5446)) ([#6493](https://github.com/eslint/eslint/issues/6493))
* Docs: Consistent example headings & text pt4 [#5446](https://github.com/eslint/eslint/issues/5446)
Final batch of es6 docs for this sweep!
1. Ensure each doc has "Examples" heading, and that each
option-specific example pair also has a suitable heading.
2. Ensure text above examples is consistent as per [#5446](https://github.com/eslint/eslint/issues/5446)
This PR does not attempt to address issues other than
those stated above; such issues will be dealt with on
subsequent sweeps of the docs detailed in [#6444](https://github.com/eslint/eslint/issues/6444)..
* Docs: Fixed lint errors in doc
docs/rules/sort-imports.md: 161: MD004 Unordered list style
docs/rules/sort-imports.md: 162: MD004 Unordered list style
docs/rules/sort-imports.md: 163: MD004 Unordered list style
docs/rules/sort-imports.md: 164: MD004 Unordered list style
docs/rules/sort-imports.md: 37: MD007 Unordered list indentation
docs/rules/sort-imports.md: 37: MD010 Hard tabs
docs/rules/sort-imports.md: 38: MD010 Hard tabs
docs/rules/sort-imports.md: 39: MD010 Hard tabs
docs/rules/sort-imports.md: 40: MD010 Hard tabs
* Docs: List indentation should be 4, not 2
FYI: I've requested enhanced error reporting for markdown linter - e.g.
to expose rule settings in error messages:
https://github.com/DavidAnson/markdownlint/issues/23#issuecomment-227430
171
* Docs: Consistent example headings & text pt2 (refs [#5446](https://github.com/eslint/eslint/issues/5446))([#6491](https://github.com/eslint/eslint/issues/6491))
1. Ensure each doc has "Examples" heading, and that each
option-specific example pair also has a suitable heading.
2. Ensure text above examples is consistent as per [#5446](https://github.com/eslint/eslint/issues/5446)
This PR does not attempt to address issues other than
those stated above; such issues will be dealt with on
subsequent sweeps of the docs detailed in [#6444](https://github.com/eslint/eslint/issues/6444)..
Note: Skipped no-duplicate-imports due to [#6455](https://github.com/eslint/eslint/issues/6455), will
come back to that one at later date.
* Docs: Fixing typos (refs [#5446](https://github.com/eslint/eslint/issues/5446))([#6494](https://github.com/eslint/eslint/issues/6494))
These typos were picked up in earlier PR but due to me making a mess of
github I've had to put them in a separate PR. See [#6453](https://github.com/eslint/eslint/issues/6453) for original PR.
* Fix: false negative of `object-shorthand` (fixes [#6429](https://github.com/eslint/eslint/issues/6429)) ([#6434](https://github.com/eslint/eslint/issues/6434))
I refactored the logic flow. The new flow has 3 parts.
1. Check whether it should be ignored always or not.
2. Check for concise properties.
3. Check for longform properties.
Then I fixed it for [#6429](https://github.com/eslint/eslint/issues/6429).
* Docs: more accurate yoda-speak ([#6497](https://github.com/eslint/eslint/issues/6497))
* more accurate yoda-speak
* tightening up the yoda-speak to avoid confusion
* remove ellipses
* Fix: add warnIgnored flag to CLIEngine.executeOnText (fixes [#6302](https://github.com/eslint/eslint/issues/6302)) ([#6305](https://github.com/eslint/eslint/issues/6305))
* Docs: Mark object-shorthand as fixable. ([#6485](https://github.com/eslint/eslint/issues/6485))
* Fix: Allow objectsInObjects exception when destructuring (fixes [#6469](https://github.com/eslint/eslint/issues/6469)) ([#6470](https://github.com/eslint/eslint/issues/6470))
* Fix: `strict` rule reports a syntax error for ES2016 (fixes [#6405](https://github.com/eslint/eslint/issues/6405)) ([#6464](https://github.com/eslint/eslint/issues/6464))
* Fix: `strict` rule reports a syntax error for ES2016 (fixes [#6405](https://github.com/eslint/eslint/issues/6405))
* followes suggestions
* Docs: Rephrase documentation for `no-duplicate-imports` ([#6463](https://github.com/eslint/eslint/issues/6463))
Fixes [#6455](https://github.com/eslint/eslint/issues/6455)
* Docs: improve `no-native-reassign` and specifying globals (fixes [#5358](https://github.com/eslint/eslint/issues/5358)) ([#6462](https://github.com/eslint/eslint/issues/6462))
* Docs: improve `no-native-reassign` and specifying globals (fixes [#5358](https://github.com/eslint/eslint/issues/5358))
* follow corrections.
* Chore: Remove dead code in excuteOnFiles (fixes [#6467](https://github.com/eslint/eslint/issues/6467)) ([#6466](https://github.com/eslint/eslint/issues/6466))
* Chore: Simplify eslint process exit code (fixes [#6368](https://github.com/eslint/eslint/issues/6368)) ([#6371](https://github.com/eslint/eslint/issues/6371))
* Breaking: Drop support for node < 4 (fixes [#4483](https://github.com/eslint/eslint/issues/4483)) ([#6401](https://github.com/eslint/eslint/issues/6401))
* Breaking: use default for complexity in eslint:recommended (fixes [#6021](https://github.com/eslint/eslint/issues/6021)) ([#6410](https://github.com/eslint/eslint/issues/6410))
* Fix: Exit init early if guide is chosen w/ no package.json (fixes [#6476](https://github.com/eslint/eslint/issues/6476)) ([#6478](https://github.com/eslint/eslint/issues/6478))