Changelog History
Page 4
-
v10.0.2 Changes
April 14, 2017๐ Changed rules
- ๐ Relax rule: Disallow import of modules using absolute paths (import/no-absolute-path) #861
- This rule was responsible for up to 25% of the running time of
standard
, so we are disabling it until its performance improves.
- This rule was responsible for up to 25% of the running time of
- ๐ Relax rule: Disallow import of modules using absolute paths (import/no-absolute-path) #861
-
v10.0.1 Changes
April 06, 2017- Internal changes (incremented dependency versions)
-
v10.0.0 Changes
April 04, 2017standard
just turned 10.0.0! ๐๐ As with every new major release, there are lots of new rules in 10.0.0 designed to help catch bugs and make programmer intent more explicit.
standard
is more popular than ever โ 330,000 downloads per month! It's even more popular โ 670,000 downloads per month โ if you include the ๐ shareable ESLint config that we also publish.๐ The most important change in 10.0.0 is that using deprecated Node.js APIs is now โก๏ธ considered an error. It's finally time to update those dusty old APIs!
๐ Deprecated APIs are problematic because they may print warning messages in the console in recent versions of Node.js. This often confuses users and leads to ๐ unnecessary support tickets for project maintainers.
๐ Some deprecated APIs are even insecure (or at least prone to incorrect usage) which ๐ can have serious security implications. For that reason,
standard
now considers usage ofBuffer(num)
to be an error, since this function returns uninitialized program memory which could contain confidential information like passwords or keys.Instead of
Buffer(num)
, consider usingBuffer.alloc(num)
orBuffer.from(obj)
which make the programmer's intent clearer. These functions exist in all currently ๐ supported versions of Node.js, including Node.js 4.x. For more background, ๐ see this Node.js issue.๐ We also improved some rules to support common patterns in code bases that use React, JSX, and Flow.
โฌ๏ธ When you upgrade, consider running
standard --fix
to automatically fix some of the issues caught by this new version.๐ New features
- โก๏ธ Update ESLint from 3.15.x to 3.19.x.
- ๐ Node.js API: Add
standard.lintTextSync
method
๐ New rules
โ (Estimated % of affected standard users, based on test suite in parens)
- ๐ Disallow using deprecated Node.js APIs (node/no-deprecated-api) #693 [13%]
- Ensures that code always runs without warnings on the latest versions of Node.js
- Ensures that safe Buffer methods (
Buffer.from()
,Buffer.alloc()
) are used instead ofBuffer()
- ๐
Enforce callbacks always called with Node.js-style error first (standard/no-callback-literal) #623 [3%]
- Functions named
callback
orcb
must be invoked withnull
,undefined
, or anError
as the first argument - Disallows using a string instead of an
Error
object - Disallows confusing callbacks that do not follow the standard Node.js pattern
- Functions named
- ๐ Disallow any imports that come after non-import statements (import/first) #806 [1%]
- ๐ Disallow unnecessary return await (no-return-await) #695 [0%]
- ๐ Disallow comma-dangle in functions (comma-dangle) #787 [0%]
- ๐ Disallow repeated exports of names or defaults (import/export) #806 [0%]
- ๐ Disallow import of modules using absolute paths (import/no-absolute-path) #806 [0%]
- ๐ Disallow Webpack loader syntax in imports (import/no-webpack-loader-syntax) #806 [0%]
- ๐ Disallow comparing against -0 (no-compare-neg-zero) #812 [0%]
๐ Changed rules
- ๐ Relax rule: allow using
...rest
to omit properties from an object (no-unused-vars) #800- This is a common and useful pattern in React/JSX apps!
- ๐ Relax rule: allow Flow
import type
statements (import/no-duplicates) #599- These are no longer considered to be "duplicate imports"
- ๐ Relax rule: Treat
process.exit()
the same asthrow
in code path analysis (node/process-exit-as-throw) #699- Makes certain other rules work better and give fewer false positives
- ๐ Relax rule: allow Unnecessary Labels (no-extra-label)
- Redundant, since "no-labels" is already enabled, which is more restrictive
-
v9.0.2 Changes
March 17, 2017๐ Changed rules
- ๐ Relax rule: Allow tagged template string expressions (no-unused-expressions) #822
-
v9.0.1 Changes
March 07, 2017๐ Changed rules
- ๐ Relax rule: Allow mixing basic operators without parens (no-mixed-operators) #816
- Specifically, these operators:
+
,-
,*
,/
,%
, and**
- Specifically, these operators:
- ๐ Relax rule: Allow mixing basic operators without parens (no-mixed-operators) #816
-
v9.0.0 Changes
February 28, 2017๐ It's time for a new major version of
standard
! As usual, this release contains a bunch of awesomeness to help you keep your code in tip-top shape!We've added several new rules designed to catch potential programmer errors (i.e. bugs), as well as rules to make programmer intent more explicit in certain circumstances.
๐ This release continues our trend of tightening up rules so that, wherever possible, there's one "right" way to do things. This design goal is intended to reduce the time that teams and maintainers spend giving code review feedback in pull requests.
โฌ๏ธ When you upgrade, consider running
standard --fix
to automatically fix some of the errors caught by the new rules in this version.โ Note: If you use the Chai test framework, you will need to make some changes to โ your tests to improve their robustness. Read about the changes you need to make.
๐ New features
- โก๏ธ Update ESLint from 3.10.x to 3.15.x
- 3 additional rules are now fixable with
standard --fix
๐ New rules
โ (Estimated % of affected standard users, based on test suite in parens)
- ๐ Disallow mixing different operators without parens (no-mixed-operators) #566 [5%]
- ๐ Enforce 1 newline at end of file (previously 1 or 2 were ok) (no-multiple-empty-lines) #733 [3%]
- ๐ Disallow Unused Expressions (no-unused-expressions) #690 [3%]
- Note: this affects users of the Chai test framework. Read about the changes you need to make.
- ๐ Disallow redundant return statements (no-useless-return) #694 [1%]
- ๐ Disallow Incorrect Early Use (no-use-before-define) #636 [0%]
- ๐ Enforce that Promise rejections are passed an Error object as a reason (prefer-promise-reject-errors) #777 [0%]
- ๐ Enforce comparing
typeof
expressions against string literals (valid-typeof) #629 [0%] - ๐ Enforce spacing around * in generator functions (generator-star-spacing) #724 [0%]
- ๐ Disallow Unnecessary Labels (no-extra-label) #736 [0%]
- ๐ Disallow spacing between template tags and their literals (template-tag-spacing) #755 [0%]
- ๐ Disallow padding within switch statements and classes (padded-blocks) #610 [0%]
- ๐ Enforce that Symbols are passed a description (symbol-description) #630 [0%]
๐ Changed rules
- ๐ Relax rule: allow TypeScript Triple-Slash Directives (spaced-comment) #660
- ๐ Relax rule: allow Flow Comments (spaced-comment) #661
-
v8.6.0 Changes
November 22, 2016- โก๏ธ Update ESLint from 3.8.x to 3.10.x
- 3 additional rules are now fixable with
standard --fix
-
v8.5.0 Changes
October 25, 2016- โก๏ธ Update ESLint from 3.7.x to 3.8.x
- 2 additional rules are now fixable with
standard --fix
-
v8.4.0 Changes
October 10, 2016- โก๏ธ Update ESLint from 3.6.x to 3.7.x
- 5 additional rules are now fixable with
standard --fix
- ๐ Use more conservative semver ranges #654
-
v8.3.0 Changes
September 29, 2016๐ 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 ๐ parser, sincestandard
can now parse ES8 (i.e. ES2017) syntax out of the box. That meansasync
andawait
will just work.- ๐ Support ES8 (i.e. ES2017) syntax.