ESLint 0.17.0 released

We just pushed ESLint 0.17.0, which is a minor release upgrade. This release includes new features and bug fixes.

Highlights

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

Changes to JSX/React handling

In this release, we made the decision to stop supporting React semantics of JSX. We had previously been checking JSX for identifiers in our rules and realized we could only do that correctly by building-in knowledge of how React works. Such knowledge already hurt us when the semantics changed a bit, and we really didn’t want to find ourselves in that situation again.

ESLint will continue to support JSX syntax but will no longer apply React semantics to that syntax. Since we know that many ESLint users want React semantics, we’ve ensured there’s a way for the excellent eslint-plugin-react to fill this gap. Specifically, we’ve added a new method that is available to rules that can indicate a variable has been used. Many of the React-based errors people were reporting related directly to interpretation of when variables had been used, and this change lets other plugin authors augment what ESLint thinks has been used.

More ECMAScript 6 fixes

As a result of being the first tool to fully support ECMAScript 6, we’ve found a lot of bugs and issues both in ESLint and our dependencies. We’ve been working as quickly as possible to fix issues and work with other projects to fix their issues as well.

Deprioritizing new rules

Because we are so focused on ECMAScript 6 support, we are deprioritizing adding new rules right now. You may still file issues for rules you’d like, but they likely won’t be addressed by the ESLint team until after 1.0.0 is released. We will still accept pull requests for new rules, we just won’t be spending much time on implementing new rules ourselves until after 1.0.0.

1.0.0 Update

We had hoped this next release would be 1.0.0, but we aren’t quite there yet. The biggest remaining task is to use the finalized AST node structure for rest and default parameters as well as switching to use the new handler property of TryStatement. Espree needs to be updated with the new nodes before we can start that integration process.

We are preparing a list of breaking changes that will be coming in v1.0.0 and are tracking them on #1898. Stay tuned to that issue so you know what to expect.

Breaking Changes

Bug Fixes

Features

Enhancements

Dependency Upgrades

Documentation