All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Update ESLint from 3.8.x to 3.10.x.
- 3 additional rules are now fixable with
- Update ESLint from 3.7.x to 3.8.x.
- 2 additional rules are now fixable with
- Update ESLint from 3.6.x to 3.7.x.
- 5 additional rules are now fixable with
- Use more conservative semver ranges #654
The last release (
8.2.0) added ES7 support. This release (
8.3.0) adds ES8
support ...just 3 days later!
This release should eliminate the need to specify
babel-eslint as a custom
standard can now parse ES8 (i.e. ES2017) syntax out of the box.
await will just work.
- Support ES8 (i.e. ES2017) syntax.
For many users, this release should eliminate the need to specify
a custom parser, since
standard can now parse ES7 (i.e. ES2016) syntax out of the
- Support ES7 (i.e. ES2016) syntax.
- Update ESLint from 3.5.x to 3.6.x.
- 4 additional rules are now fixable with
- Update ESLint from 3.3.x to 3.5.x.
- Around 10 additional rules are now fixable with
This release contains a bunch of goodies, including new rules that catch potential programmer errors (i.e. bugs) and enforce additional code consistency.
However, the best feature is surely the new
--fix command line flag to
automatically fix problems. If you ever used
and ran into issues with the lack of ES2015+ support, you'll be happy about
standard --fix is built into
standard v8.0.0 for maximum convenience, it
supports ES2015, and it's lightweight (no additional dependencies since it's part
of ESLint which powers
standard). Lots of problems are already fixable, and more
are getting added with each ESLint release.
standard also outputs a message ("Run
standard --fix to automatically fix
some problems.") when it detects problems that can be fixed automatically so you
can save time!
standard v8.0.0, we are also dropping support for Node.js versions prior to
v4. Node.js 0.10 and 0.12 are in maintenance mode and will be unsupported at the
end of 2016. Node.js 4 is the current LTS version. If you are using an older
version of Node.js, we recommend upgrading to at least Node.js 4 as soon as
possible. If you are unable to upgrade to Node.js 4 or higher, then we recommend
continuing to use
standard v7.x until you are ready to upgrade Node.js.
Important: We will not be updating the
standard v7.x versions going forward.
All bug fixes and enhancements will land in
Full changelog below. Cheers!
- Upgrade to ESLint v3 (http://eslint.org/docs/user-guide/migrating-to-3.0.0) #565
- BREAKING: Drop support for node < 4 (this was a decision made by the ESLint team)
- Expose ESLint's
--fixcommand line flag #540 standard-engine/#107
- Lightweight, no additional dependencies, fixes dozens of rules automatically
(Estimated % of affected standard users, based on test suite in parens)
- Enforce placing object properties on separate lines (object-property-newline) #524 (2%)
- Require block comments to be balanced (spaced-comment "balanced") #572 (2%)
- Disallow constant expressions in conditions (no-constant-condition) #563 (1%)
- Disallow renaming import, export, and destructured assignments to the same name (no-useless-rename) #537 (0%)
- Disallow spacing between rest and spread operators and their expressions (rest-spread-spacing) #567 (0%)
- Disallow the Unicode Byte Order Mark (BOM) (unicode-bom) #538 (0%)
- Disallow assignment to native objects/global variables (no-global-assign) #596 (0%)
- Disallow negating the left operand of relational operators (no-unsafe-negation) #595 (0%)
- Disallow template literal placeholder syntax in regular strings (no-template-curly-in-string) #594 (0%)
- Disallow tabs in file (no-tabs) #593 (0%)
- Relax rule: Allow template literal strings (backtick strings) to avoid escaping #421
- Relax rule: Do not enforce spacing around * in generator functions (https://github.com/feross/standard/issues/564#issuecomment-234699126)
- This is a temporary workaround for
babelusers who use async generator functions.
- This is a temporary workaround for
- Fix install errors for some users by updating eslint peer dependency
- Add back full node 0.10, 0.12 support
- Upgrade eslint to version ~2.10.2
- Relax "no-duplicate-imports" rule to not include
exportso the following is allowed:
- Upgrade eslint to version ~2.9.0
- Remove "rules" configuration option #367 from
package.json(Reasoning is here)
Estimated % of affected standard users, based on test suite
- Require camelCase (camelcase) [4%]
- Disallow unnecessary escape usage (no-useless-escape) [4% -- but, including many bugs]
- Disallow duplicate imports (no-duplicate-imports) [0%]
- Disallow unmodified conditions of loops (no-unmodified-loop-condition) [0%]
- Disallow whitespace before properties (no-whitespace-before-property) [0%]
- Disallow control flow statements in
finallyblocks (no-unsafe-finally) [0%]
- Disallow unnecessary computed property keys on objects (no-useless-computed-key) [0%]
- Validate spacing before closing bracket in JSX (react/jsx-space-before-closing) [0%]
- Require parens in arrow function arguments (arrow-parens)
- Pin eslint to version ~2.2.0
- Update eslint-plugin-react to version 4.0.0
- Revert: Use install location of standard as eslint
- Use eslint 2.1.0
- Fix: Use install location of standard as eslint
- Use eslint 2.0.0 stable
- Relax rule: Validate closing bracket location in JSX (jsx-closing-bracket-location)
- Fix "Error: Cannot find module 'eslint-config-standard-jsx'" with npm 2 (node 0.10, 0.12, 4)
- Internal change: Remove .eslintrc file, and use inline config
- Internal change: Move .eslintrc file to root folder
The goal of this release is to make
standard faster to install, and simpler to use.
- Eliminates 250 packages, and cuts install time in half!
- For npm 2, install time goes from 20 secs —> 10 secs.
- For npm 3, install time goes from 24 secs —> 12 secs.
- To continue using
standard-format, just install it separately:
npm install -g standard-format
React-specific linting rules are removed (#351) (#367) (eslint-config-standard-react/#13)
- JSX is still supported, and it continues to be checked for style.
- There were only a few React-specific rules, but they made it extremely difficult for users of alternatives like
deku, and unecessarily tied
standardto a single library.
- JSX rules come from
eslint-config-standard-reactdependency was removed.
The percentage (%) of users that rule changes will effect, based on real-world testing of the top ~400 npm packages is denoted in brackets.
__filenamestring concatenation (#403) (no-path-concat) [5%]
- Require parens in arrow function arguments (#309) (arrow-parens) [5%]
- Ensure that
new Promise()is instantiated with the parameter names
reject(#282) (promise/param-names) [1%]
- Enforce Usage of Spacing in Template Strings (template-curly-spacing) [1%]
- Template strings are only allowed when necessary, i.e. template string features are being used (eslint got stricter: https://github.com/eslint/eslint/issues/5147) [1%]
- Better dead code detection after conditional statements (eslint got stricter) [1%]
- Enforce spaces around
yield * something(#335) (yield-star-spacing) [0%]
- Disallow labels on loops/switch statements too (made rule stricter) (no-labels) [0%]
- Disallow unnecessary constructor (no-useless-constructor) [0%]
- Disallow empty destructuring patterns (no-empty-pattern) [0%]
- Disallow Symbol Constructor (no-new-symbol) [0%]
- Disallow Self Assignment (no-self-assign) [0%]
For power users, it might be easier to use one of these new hooks instead of forking
standard, though that's still encouraged, too!
To set custom ESLint plugins, rules, or envs, use the command line
package.json, use the "standard" property:
- There may be slight behavior changes to existing rules. When possible, we've noted these in the "New Rules" and "Removed Rules" section.
- Rule changes can be tested against every package on npm. For sanity, this is limited to packages with at least 4 dependents. Around ~400 packages.
- Using prerelease eslint version (2.0.0-rc.0). There may be breaking changes before the stable release.
no-return-assignbehavior changed with arrow functions (https://github.com/eslint/eslint/issues/5150)
- standard (v5.4.1...v6.0.0)
- eslint-config-standard (v4.4.0...v5.0.0)
- eslint-config-standard-jsx (v1.0.0)
- standard-engine (v2.2.4...v3.2.1)
- Fix for
standard-enginechange. Fix error tagline.
- firstname.lastname@example.org (history)
- Disallow duplicate JSX properties
- email@example.com (history)
- firstname.lastname@example.org (history)
- email@example.com (history)
- firstname.lastname@example.org (history)
- email@example.com (history)
- We have a changelog now, and you're reading it!
- Minor README update
- Removed direct dependency on
eslint(its now moved to standard-engine)
- firstname.lastname@example.org (history)
- Revert rule: Disallow unncessary concatenation of strings
- email@example.com (history)
- fix regression with ternary operator handling
- firstname.lastname@example.org (history)
- New rule: Disallow unncessary concatenation of strings
- New rule: Disallow duplicate name in class members
- New rule: enforce spaces inside of single line blocks
- Re-add rule: padded-blocks (Closes #170)
eslintfrom 1.1.0 to 1.3.1 (CHANGELOG)
- email@example.com (history)
- A small change to make the plugin compatible with browserify which does not affect behavior.
- firstname.lastname@example.org (CHANGELOG)
- Fix object rest/spread handling.
- Added white background to badge.svg to make it work with dark backgrounds (Closes #234)
- Minor updates to README.md
- Update to RULES.md to remove a missing hyperlink
- Add atom linter information to README.md
- Fixed duplicated word in the tagline message on the CLI
- Removed failing repository from tests (yoshuawuyts/initialize)
- email@example.com (history)
- firstname.lastname@example.org (CHANGELOG)
- Fix crash when propTypes don't have any parent
- Fix jsx-no-literals reporting errors outside JSX
- Bump eslint from 1.0.0 to 1.2.0 (CHANGELOG)
- Added more test repositories and disabled some that were failing
- Update bikeshedding link on README.md
- email@example.com (history)
- Disable Rule: react/wrap-multilines
- Minor README updates