GoScrobble/web/node_modules/eslint-plugin-react/CHANGELOG.md

3375 lines
178 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Change Log
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
This change log adheres to standards from [Keep a CHANGELOG](http://keepachangelog.com).
## Unreleased
## [7.24.0] - 2021.05.27
### Added
* component detection: add componentWrapperFunctions setting ([#2713][] @@jzabala @LandonSchropp)
* [`no-unused-prop-types`]: add ignore option ([#2972][] @grit96)
* version detection: support recursive processor virtual filename ([#2965][] @JounQin)
### Fixed
* [`jsx-handler-names`]: properly substitute value into message ([#2975][] @G-Rath)
* [`jsx-uses-vars`]: ignore namespaces ([#2985][] @remcohaszing)
* [`jsx-no-undef`]: ignore namespaces ([#2986][] @remcohaszing)
* [`jsx-child-element-spacing`]: Don't flag whitespace around `<br/>` tags ([#2989][] @pascalpp)
### Changed
* [Docs] [`jsx-newline`]: Fix minor spelling error on rule name ([#2974][] @DennisSkoko)
* [Refactor] [`void-dom-elements-no-children`]: improve performance
* [readme] fix missing trailing commas ([#2980][] @sugardon)
* [readme] fix broken anchor link ([#2982][] @vzvu3k6k)
* [Docs] [`jsx-child-element-spacing`]: fixes sentence which ends abruptly ([#2990][] @pascalpp)
[7.24.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.23.2...v7.24.0
[#2990]: https://github.com/yannickcr/eslint-plugin-react/pull/2990
[#2989]: https://github.com/yannickcr/eslint-plugin-react/pull/2989
[#2986]: https://github.com/yannickcr/eslint-plugin-react/pull/2986
[#2985]: https://github.com/yannickcr/eslint-plugin-react/pull/2985
[#2982]: https://github.com/yannickcr/eslint-plugin-react/pull/2982
[#2980]: https://github.com/yannickcr/eslint-plugin-react/pull/2980
[#2977]: https://github.com/yannickcr/eslint-plugin-react/pull/2977
[#2975]: https://github.com/yannickcr/eslint-plugin-react/pull/2975
[#2974]: https://github.com/yannickcr/eslint-plugin-react/pull/2974
[#2972]: https://github.com/yannickcr/eslint-plugin-react/pull/2972
[#2965]: https://github.com/yannickcr/eslint-plugin-react/pull/2965
[#2713]: https://github.com/yannickcr/eslint-plugin-react/pull/2713
## [7.23.2] - 2021.04.08
### Fixed
* [`jsx-max-depth`]: Prevent getting stuck in circular references ([#2957][] @AriPerkkio)
* [`jsx-no-target-blank`]: fix handling of `warnOnSpreadAttributes` being false ([#2953][] @Nokel81)
* [`forbid-dom-props`]: support `JSXNamespacedName` ([#2961][] @mrtnzlml)
* [`forbid-component-props`]: support `JSXNamespacedName` (@ljharb)
### Changed
* Fix CHANGELOG.md ([#2950][] @JounQin)
[7.23.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.23.1...v7.23.2
[#2961]: https://github.com/yannickcr/eslint-plugin-react/pull/2961
[#2953]: https://github.com/yannickcr/eslint-plugin-react/pull/2953
[#2957]: https://github.com/yannickcr/eslint-plugin-react/pull/2957
[#2950]: https://github.com/yannickcr/eslint-plugin-react/pull/2950
## [7.23.1] - 2021.03.23
### Fixed
* version detection: support processor virtual filename ([#2949][] @JounQin)
[7.23.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.23.0...v7.23.1
[#2949]: https://github.com/yannickcr/eslint-plugin-react/pull/2949
## [7.23.0] - 2021.03.22
### Added
* [`jsx-no-target-blank`]: add fixer ([#2862][] @Nokel81)
* [`jsx-pascal-case`]: support minimatch `ignore` option ([#2906][] @bcherny)
* [`jsx-pascal-case`]: support `allowNamespace` option ([#2917][] @kev-y-huang)
* [`jsx-newline`]: Add prevent option ([#2935][] @jsphstls)
* [`no-unstable-nested-components`]: Prevent creating unstable components inside components ([#2750][] @AriPerkkio)
* added `jsx-runtime` config, for the modern JSX runtime transform (@ljharb)
### Fixed
* [`jsx-no-constructed-context-values`]: avoid a crash with `as X` TS code ([#2894][] @ljharb)
* [`jsx-no-constructed-context-values`]: avoid a crash with boolean shorthand ([#2895][] @ljharb)
* [`static-property-placement`]: do not report non-components ([#2893][] @golopot)
* [`no-array-index-key`]: support optional chaining ([#2897][] @SyMind)
* [`no-typos`]: avoid a crash on bindingless `prop-types` import; add warning ([#2899][] @ljharb)
* [`jsx-curly-brace-presence`]: ignore containers with comments ([#2900][] @golopot)
* [`destructuring-assignment`]: fix a false positive for local prop named `context` in SFC ([#2929][] @SyMind)
* [`jsx-no-target-blank`]: Allow rel="noreferrer" when `allowReferrer` is true ([#2925][] @edemaine)
* [`boolean-prop-naming`]: add check for typescript "boolean" type ([#2930][] @vedadeepta)
* version detection: Add tests that verify versioning works for sibling and child projects ([#2943][] @jcrosetto)
* [`jsx-curly-newline`]: Update error messages ([#2933][] @jbrower2)
### Changed
* [Docs] [`jsx-no-constructed-context-values`][]: fix invalid example syntax ([#2910][] @kud)
* [readme] Replace lists of rules with tables in readme ([#2908][] @motato1)
* [Docs] added missing curly braces ([#2923][] @Muditxofficial)
[7.23.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.22.0...v7.23.0
[#2943]: https://github.com/yannickcr/eslint-plugin-react/pull/2943
[#2935]: https://github.com/yannickcr/eslint-plugin-react/pull/2935
[#2933]: https://github.com/yannickcr/eslint-plugin-react/pull/2933
[#2930]: https://github.com/yannickcr/eslint-plugin-react/pull/2930
[#2929]: https://github.com/yannickcr/eslint-plugin-react/pull/2929
[#2925]: https://github.com/yannickcr/eslint-plugin-react/pull/2925
[#2923]: https://github.com/yannickcr/eslint-plugin-react/pull/2923
[#2917]: https://github.com/yannickcr/eslint-plugin-react/pull/2917
[#2910]: https://github.com/yannickcr/eslint-plugin-react/pull/2910
[#2908]: https://github.com/yannickcr/eslint-plugin-react/pull/2908
[#2906]: https://github.com/yannickcr/eslint-plugin-react/pull/2906
[#2900]: https://github.com/yannickcr/eslint-plugin-react/pull/2900
[#2899]: https://github.com/yannickcr/eslint-plugin-react/issues/2899
[#2897]: https://github.com/yannickcr/eslint-plugin-react/pull/2897
[#2895]: https://github.com/yannickcr/eslint-plugin-react/issues/2895
[#2894]: https://github.com/yannickcr/eslint-plugin-react/issues/2894
[#2893]: https://github.com/yannickcr/eslint-plugin-react/pull/2893
[#2862]: https://github.com/yannickcr/eslint-plugin-react/pull/2862
[#2750]: https://github.com/yannickcr/eslint-plugin-react/pull/2750
## [7.22.0] - 2020.12.29
### Added
* [`jsx-key`]: added `checkKeyMustBeforeSpread` option for new jsx transform ([#2835][] @morlay)
* [`jsx-newline`]: add new rule ([#2693][] @jzabala)
* [`jsx-no-constructed-context-values`]: add new rule which checks when the value passed to a Context Provider will cause needless rerenders ([#2763][] @dylanOshima)
* [`jsx-indent-props`]: add `ignoreTernaryOperator` option ([#2846][] @SebastianZimmer)
* [`jsx-no-target-blank`]: Add `warnOnSpreadAttributes` option ([#2855][] @michael-yx-wu)
### Fixed
* [`display-name`]/component detection: avoid a crash on anonymous components ([#2840][] @ljharb)
* [`prop-types`]: function in class that returns a component causes false warning in typescript ([#2843][] @SyMind)
* [`jsx-no-target-blank`]: avoid a crash with a non-string literal ([#2851][] @ljharb)
* [`jsx-no-script-url`]: avoid crash with boolean `href` ([#2871][] @ljharb, @AriPerkkio)
* [`no-typos`]: avoid crash with computed method name ([#2870][] @ljharb, @AriPerkkio)
* [`jsx-max-depth`]: avoid crash with childless jsx child ([#2869][] @ljharb, @AriPerkkio)
* [`jsx-wrap-multilines`]: fix crash with `declaration`s that are on a new line after `=` ([#2875][] @ljharb)
* [`no-unknown-property`]: avoid crash with prop named with Object.prototype key ([#2879][] @ljharb, @AriPerkkio)
* [`prop-types`]: default argument does not count as props-types declaration ([#2877][] @golopot)
* [`jsx-props-no-multi-spaces`]: fix a false positive for beside comments ([#2878][] @golopot)
* [`jsx-no-undef`]: handle the TS parser combined with an invalid ecmaVersion ([#2882][] @ljharb)
* [`no-unused-prop-types`]: apply `skipShapeProps` to exact types ([#2883][] @golopot)
* [`no-danger-with-children`]/[`style-prop-object`]/[`no-adjacent-inline-elements`]: add category, URL ([#2891][] @thofmann)
### Docs
* [`no-unused-prop-types`]: Add new example to rule ([#2852][] @thehereward)
* [`prop-types`]: fix example ([#2881][] @technote-space)
[7.22.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.21.5...v7.22.0
[#2891]: https://github.com/yannickcr/eslint-plugin-react/pull/2891
[#2883]: https://github.com/yannickcr/eslint-plugin-react/pull/2883
[#2882]: https://github.com/yannickcr/eslint-plugin-react/issues/2882
[#2881]: https://github.com/yannickcr/eslint-plugin-react/pull/2881
[#2879]: https://github.com/yannickcr/eslint-plugin-react/issues/2879
[#2878]: https://github.com/yannickcr/eslint-plugin-react/pull/2878
[#2877]: https://github.com/yannickcr/eslint-plugin-react/pull/2877
[#2875]: https://github.com/yannickcr/eslint-plugin-react/issues/2875
[#2871]: https://github.com/yannickcr/eslint-plugin-react/issues/2871
[#2870]: https://github.com/yannickcr/eslint-plugin-react/issues/2870
[#2869]: https://github.com/yannickcr/eslint-plugin-react/issues/2869
[#2855]: https://github.com/yannickcr/eslint-plugin-react/pull/2855
[#2852]: https://github.com/yannickcr/eslint-plugin-react/pull/2852
[#2851]: https://github.com/yannickcr/eslint-plugin-react/issues/2851
[#2846]: https://github.com/yannickcr/eslint-plugin-react/pull/2846
[#2843]: https://github.com/yannickcr/eslint-plugin-react/pull/2843
[#2840]: https://github.com/yannickcr/eslint-plugin-react/issues/2840
[#2835]: https://github.com/yannickcr/eslint-plugin-react/pull/2835
[#2763]: https://github.com/yannickcr/eslint-plugin-react/pull/2763
[#2693]: https://github.com/yannickcr/eslint-plugin-react/pull/2693
## [7.21.5] - 2020.10.19
### Fixed
* [`jsx-indent-props`]: Apply indentation when using brackets ([#2826][] @Moong0122)
* [`jsx-handler-names`]: Skip inline handlers when checkInlineFunction=false ([#2833][] @onigoetz)
### Changed
* [Tests] `jsx-indent-props`: Add passing test ([#2823][] @Hypnosphi)
[7.21.5]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.21.4...v7.21.5
[#2833]: https://github.com/yannickcr/eslint-plugin-react/pull/2833
[#2826]: https://github.com/yannickcr/eslint-plugin-react/pull/2826
[#2823]: https://github.com/yannickcr/eslint-plugin-react/pull/2823
## [7.21.4] - 2020.10.09
### Fixed
* [`no-unused-prop-types`]: Silence false positive on `never` type in TS ([#2815][] @pcorpet)
* [`jsx-indent-props`]: Apply indentation when operator is used in front of the upper line ([#2808][], [#2820][] @Moong0122)
* [Deps] update `jsx-ast-utils` ([#2822][] [jsx-eslint/jsx-ast-utils#102][] @ljharb)
[7.21.4]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.21.3...v7.21.4
[#2822]: https://github.com/yannickcr/eslint-plugin-react/issues/2822
[#2820]: https://github.com/yannickcr/eslint-plugin-react/pull/2820
[#2815]: https://github.com/yannickcr/eslint-plugin-react/pull/2815
[#2808]: https://github.com/yannickcr/eslint-plugin-react/pull/2808
[jsx-eslint/jsx-ast-utils#102]: https://github.com/jsx-eslint/jsx-ast-utils/pull/102
## [7.21.3] - 2020.10.02
### Fixed
* [`prop-types`]: fix Cannot read property 'type' of undefined error when destructured param ([#2807][] @minwe)
* [`no-typos`]: avoid crash on spread syntax in createReactClass object ([#2816][] @ljharb @Songyu-Wang)
[7.21.3]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.21.2...v7.21.3
[#2816]: https://github.com/yannickcr/eslint-plugin-react/issues/2816
[#2807]: https://github.com/yannickcr/eslint-plugin-react/pull/2807
## [7.21.2] - 2020.09.24
### Fixed
* [`prop-types`]: handle RestElement in destructured param ([#2805][] @hank121314)
[7.21.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.21.1...v7.21.2
[#2805]: https://github.com/yannickcr/eslint-plugin-react/pull/2805
## [7.21.1] - 2020.09.23
### Fixed
* [`jsx-handler-names`]: avoid a crash when an inline prop is not a MemberExpression ([#2803][] @willheslam)
[7.21.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.21.0...v7.21.1
[#2803]: https://github.com/yannickcr/eslint-plugin-react/issues/2803
## [7.21.0] - 2020.09.22
### Added
* [`button-has-type`]: support trivial ternary expressions ([#2748][] @Hypnosphi)
* [`jsx-handler-names`]: add `checkInlineFunction` option ([#2761][] @dididy)
* [`jsx-no-literals`]: add `noAttributeStrings` option ([#2782][] @TaLeaMonet)
* [`prop-types`]: add support for `PropTypes.exact` ([#2740][] @jzabala)
* [`jsx-filename-extension`]: Add allow option ([#2746][] @remcohaszing)
### Fixed
* [`function-component-definition`]: ignore object properties ([#2771][] @stefan-wullems)
* [`forbid-component-props`]: Implemented support for "namespaced" components ([#2767][] @mnn)
* [`prefer-read-only-props`]: support Flow `$ReadOnly` ([#2772][], [#2779][], [#2770][] @karolina-benitez)
* [`jsx-handler-names`]: handle whitespace ([#2789][] @AriPerkkio)
* [`prop-types`]: Detect TypeScript types for destructured default prop values ([#2780][] @sunghyunjo)
* [`jsx-pascal-case`]: Handle single character namespaced component ([#2791][] @daviferreira)
* [`jsx-closing-bracket-location`]: In `tag-aligned`, made a distinction between tabs and spaces ([#2796][] @Moong0122)
* [`jsx-handler-names`]: false positive when handler name begins with number ([#1689][] @jsphstls)
* [`prop-types`]: Detect JSX returned by sequential expression ([#2801][] @mikol)
* [`jsx-props-no-multi-spaces`]: "Expected no line gap between" false positive ([#2792][] @karolina-benitez)
* [`no-unknown-property`]: check attributes with any input case ([#2790][] @julienw)
* [`prop-types`]/[`no-unused-prop-types`]: handle CallExpression in ReturnType ([#2802][] @hank121314)
* [`jsx-uses-react`]: mark fragment variables as used ([#2775][] @remcohaszing)
* [`no-unused-prop-types`]: improve component declared props detection ([#2755][] @jzabala)
* [`jsx-props-no-multi-spaces`]: Show error in multi-line props ([#2756][] @iiison)
### Changed
* [Tests] [`jsx-one-expression-per-line`]: add passing tests ([#2799][] @TaLeaMonet)
* [Tests] [`prop-types`]: add test ([#2757][] @jzabala)
[7.21.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.20.6...v7.21.0
[#2802]: https://github.com/yannickcr/eslint-plugin-react/pull/2802
[#2801]: https://github.com/yannickcr/eslint-plugin-react/pull/2801
[#2799]: https://github.com/yannickcr/eslint-plugin-react/pull/2799
[#2796]: https://github.com/yannickcr/eslint-plugin-react/pull/2796
[#2792]: https://github.com/yannickcr/eslint-plugin-react/pull/2792
[#2791]: https://github.com/yannickcr/eslint-plugin-react/pull/2791
[#2790]: https://github.com/yannickcr/eslint-plugin-react/pull/2790
[#2789]: https://github.com/yannickcr/eslint-plugin-react/pull/2789
[#2782]: https://github.com/yannickcr/eslint-plugin-react/pull/2782
[#2780]: https://github.com/yannickcr/eslint-plugin-react/pull/2780
[#2779]: https://github.com/yannickcr/eslint-plugin-react/pull/2779
[#2775]: https://github.com/yannickcr/eslint-plugin-react/pull/2775
[#2772]: https://github.com/yannickcr/eslint-plugin-react/pull/2772
[#2771]: https://github.com/yannickcr/eslint-plugin-react/pull/2771
[#2770]: https://github.com/yannickcr/eslint-plugin-react/pull/2770
[#2767]: https://github.com/yannickcr/eslint-plugin-react/pull/2767
[#2761]: https://github.com/yannickcr/eslint-plugin-react/pull/2761
[#2757]: https://github.com/yannickcr/eslint-plugin-react/pull/2757
[#2756]: https://github.com/yannickcr/eslint-plugin-react/pull/2756
[#2748]: https://github.com/yannickcr/eslint-plugin-react/pull/2748
[#2746]: https://github.com/yannickcr/eslint-plugin-react/pull/2746
[#2740]: https://github.com/yannickcr/eslint-plugin-react/pull/2740
[#1689]: https://github.com/yannickcr/eslint-plugin-react/pull/1689
## [7.20.6] - 2020.08.12
### Fixed
* [`jsx-curly-brace-presence`]: fix multiline comment case ([#2716][] @ljharb)
* [`jsx-no-useless-fragment`]: accept fragments with call expressions ([#2744][] @hasparus)
* [`jsx-no-literals`] with allowStrings doesn't work in props ([#2736][] @karolina-benitez)
* [`no-find-dom-node`]: Improve error message ([#2741][] @ecraig12345)
* [`no-typos`]/[`no-unused-prop-types`]/propType detection: Support typescript props interface extension and TSTypeAliasDeclaration ([#2721][] @hank121314)
* [`no-this-in-sfc`]/component detection: add arrow function to list of allowed position for component ([#2708][] @jzabala)
* [`no-access-state-in-setstate`]: add check for class component ([#2711][] @jzabala)
* [`prop-types`]/component detection: avoid a crash when a local `createElement` identifier exists ([#2733][] @ljharb)
### Changed
* [`no-unused-prop-types`]: add test assigning this.props to a variable
[7.20.6]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.20.5...v7.20.6
[#2744]: https://github.com/yannickcr/eslint-plugin-react/pull/2744
[#2741]: https://github.com/yannickcr/eslint-plugin-react/pull/2741
[#2737]: https://github.com/yannickcr/eslint-plugin-react/pull/2737
[#2736]: https://github.com/yannickcr/eslint-plugin-react/pull/2736
[#2733]: https://github.com/yannickcr/eslint-plugin-react/issues/2733
[#2721]: https://github.com/yannickcr/eslint-plugin-react/pull/2721
[#2716]: https://github.com/yannickcr/eslint-plugin-react/issues/2716
[#2711]: https://github.com/yannickcr/eslint-plugin-react/pull/2711
[#2708]: https://github.com/yannickcr/eslint-plugin-react/pull/2708
## [7.20.5] - 2020.07.28
### Fixed
* [`jsx-curly-brace-presence`]: disable disallowed JSX text chars check in props ([#2710][] @jzabala)
* [`no-unused-state`]: check for class expression ([#2712][] @jzabala)
* [`prop-types`]: handle anonymous functions ([#2730][], [#2731][] @odinho @wKich @jzabala)
### Docs
* [Docs] [`no-access-state-in-setstate`]: fix example ([#2724][] @youngjuning)
[7.20.5]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.20.4...v7.20.5
[#2731]: https://github.com/yannickcr/eslint-plugin-react/pull/2731
[#2730]: https://github.com/yannickcr/eslint-plugin-react/pull/2730
[#2724]: https://github.com/yannickcr/eslint-plugin-react/pull/2724
[#2712]: https://github.com/yannickcr/eslint-plugin-react/pull/2712
[#2710]: https://github.com/yannickcr/eslint-plugin-react/pull/2710
## [7.20.4] - 2020.07.26
### Fixed
* improve algorithm to check if a variable is coming from the pragma ([#2706][] @jzabala)
* [`prop-types`]: handle component returning null ([#2696][] @hank121314)
* [`prop-types`]/[`function-component-definition`]: Add check for first letter capitalization in functional component detection ([#2699][] @jzabala)
* [`prop-types`]: use variable value in prop type fields defined by variables ([#2704][] @jzabala)
* [`no-typos`]: warn on a bindingless `react` import
### Changed
* [Tests] `boolean-prop-naming`: Added test for function invocation of bool ([#2697][] @ajkovar)
* [Tests] `jsx-curly-brace-presence`, `jsx-no-comment-textnodes`: add passing tests
* [Refactor] `no-unused-state`: avoid a loop
[7.20.4]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.20.3...v7.20.4
[#2704]: https://github.com/yannickcr/eslint-plugin-react/pull/2704
[#2699]: https://github.com/yannickcr/eslint-plugin-react/pull/2699
[#2697]: https://github.com/yannickcr/eslint-plugin-react/pull/2697
[#2696]: https://github.com/yannickcr/eslint-plugin-react/pull/2696
## [7.20.3] - 2020-06-30
### Fixed
* [`no-unused-prop-types`]/[`prop-types`]: typescript interface support literal type and only FunctionComponent should have propTypes validation ([#2690][] @hank121314)
* [`no-unused-prop-types`]/TypeScript: avoid crash on indexable interface ([#2687][] @ljharb)
[7.20.3]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.20.2...v7.20.3
[#2690]: https://github.com/yannickcr/eslint-plugin-react/pull/2690
[#2687]: https://github.com/yannickcr/eslint-plugin-react/issues/2687
## [7.20.2] - 2020-06-29
### Fixed
* [`no-unused-prop-types`]: handle optional chaining ([#2679][] @hank121314)
* [`jsx-pascal-case`]: fix a false positive with "H1" ([#2683][] @ljharb)
* [`jsx-no-useless-fragment`]: avoid a crash when autofixing a self-closing React.Fragment ([#2680][] @ljharb)
* [`forbid-prop-types`]: avoid crash ([#2682][] @ljharb)
[7.20.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.20.1...v7.20.2
[#2683]: https://github.com/yannickcr/eslint-plugin-react/issues/2683
[#2682]: https://github.com/yannickcr/eslint-plugin-react/issues/2682
[#2680]: https://github.com/yannickcr/eslint-plugin-react/issues/2680
[#2679]: https://github.com/yannickcr/eslint-plugin-react/pull/2679
## [7.20.1] - 2020-06-28
### Fixed
* [`forbid-dom-props`], [`function-component-definition`]: fix schema typos ([#2667][] @mflorence99)
* [`no-unused-prop-types`]: fix with typescript eslint parser ([#2661][] @eltonio450)
### Changed
* [`forbid-prop-types`]: warn on destructured values as well ([#2676][] @ajkovar)
* relax JSX pragma regexp ([#2643][] @gfmio)
* Cache detected React version ([#2673][] @lencioni)
* [refactor] [`jsx-pascal-case`]: Remove xregexp ([#2636][] @yacinehmito))
* [Tests] a [`no-typos`] test fails in eslint v7.3 ([#2678][] @toshi-toma)
* [Deps] update `jsx-ast-utils`, `object.entries`, `resolve`
* [Dev Deps] update `@types/eslint`, `@types/estree`, `@types/node`, `@typescript-eslint/parser`, `eslint-config-airbnb-base`, `eslint-plugin-eslint-plugin`, `eslint-plugin-import`, `typescript`
[7.20.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.20.0...v7.20.1
[#2676]: https://github.com/yannickcr/eslint-plugin-react/pull/2676
[#2673]: https://github.com/yannickcr/eslint-plugin-react/pull/2673
[#2667]: https://github.com/yannickcr/eslint-plugin-react/pull/2667
[#2661]: https://github.com/yannickcr/eslint-plugin-react/pull/2661
[#2643]: https://github.com/yannickcr/eslint-plugin-react/pull/2643
[#2636]: https://github.com/yannickcr/eslint-plugin-react/pull/2636
## [7.20.0] - 2020-05-12
### Added
* support eslint v7 ([#2635][] @ljharb, @toshi-toma)
* [`forbid-component-props`][]/[`forbid-dom-props`][]: Allow a custom message with forbid props ([#2615][] @mtamhankar1)
* [`jsx-no-literals`][]: add `ignoreProps` option to ignore props validation ([#2146][] @iiison)
### Fixed
* [`jsx-sort-props`][]: only use localeCompare when case is ignored ([#2556][] @tanmoyopenroot)
* [`jsx-key`][]: add a failing test case for optional chaining ([#2610][] @JonathanLee-LX)
* [`no-unused-state`][]: handle optional chaining ([#2588][] @golopot)
* [`jsx-pascal-case`][]: Do not consider namespaces when checking for DOM ([#2638][] @yacinehmito)
* [`jsx-curly-spacing`][], [`jsx-no-bind`][], `usedPropTypes` util: avoid node.start and node.end ([25b1936][] @toshi-toma)
* [`jsx-no-target-blank`][]: allow `no-referrer` without `noopener` by default ([#2043][] @seancrater)
* [`button-has-type`][]: improve message when non-static value is used ([aecff62][] @golopot)
* [`no-adjacent-inline-elements`][]: prevent crash on nullish children ([#2621][] @Rogdham)
* [`prop-types`][]: avoid crash when spreading any type ([#2606][] @golopot))
* [`require-render-return`][]: add missing "a" ([#2604][] @leothorp)
* [`jsx-no-comment-textnodes`][]: fix for `@typescript-eslint/parser` ([#2601][] @Axnyff)
* [`displayName`][]: avoid a crash when using React.memo ([#2587][] @golopot)
### Docs
* Clean up examples in rule docs ([#2546][] @silvenon)
* [readme] Add Rules of Hooks to Other useful plugins section ([#2633][] @petetnt)
* [`no-this-in-sfc`][]: backtick `this` ([#2616][] @mrflip)
* [`function-component-definition`][]: Fix unnamedComponents option examples ([#2608][] @vkrol))
### Changed
* [Deps] Move "semver" to devDependencies ([#2595][] @rajivshah3)
* [eslint] remove `operator-linebreak` override ([#2578][] @golopot)
* [Tests] `button-has-type`: ensure no mistakenly allowed identifiers named `button`/`submit`/`reset` ([#2625][] @golopot)
* [Tests] `displayName`: add a test case ([#2593][] @golopot)
* [Dev Deps] update `@types/eslint`, `@types/estree`, `@types/node`, `@typescript-eslint/parser`, `coveralls`, `eslint-config-airbnb-base`, `eslint-plugin-import`, `typescript`
[7.20.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.19.0...v7.20.0
[#2638]: https://github.com/yannickcr/eslint-plugin-react/pull/2638
[#2635]: https://github.com/yannickcr/eslint-plugin-react/pull/2635
[#2633]: https://github.com/yannickcr/eslint-plugin-react/pull/2633
[#2625]: https://github.com/yannickcr/eslint-plugin-react/pull/2625
[#2621]: https://github.com/yannickcr/eslint-plugin-react/pull/2621
[#2616]: https://github.com/yannickcr/eslint-plugin-react/pull/2616
[#2615]: https://github.com/yannickcr/eslint-plugin-react/pull/2615
[#2610]: https://github.com/yannickcr/eslint-plugin-react/pull/2610
[#2608]: https://github.com/yannickcr/eslint-plugin-react/pull/2608
[#2606]: https://github.com/yannickcr/eslint-plugin-react/pull/2606
[#2604]: https://github.com/yannickcr/eslint-plugin-react/pull/2604
[#2601]: https://github.com/yannickcr/eslint-plugin-react/pull/2601
[#2595]: https://github.com/yannickcr/eslint-plugin-react/pull/2595
[#2593]: https://github.com/yannickcr/eslint-plugin-react/pull/2593
[#2588]: https://github.com/yannickcr/eslint-plugin-react/pull/2588
[#2587]: https://github.com/yannickcr/eslint-plugin-react/pull/2587
[#2578]: https://github.com/yannickcr/eslint-plugin-react/pull/2578
[#2556]: https://github.com/yannickcr/eslint-plugin-react/pull/2556
[#2546]: https://github.com/yannickcr/eslint-plugin-react/pull/2546
[#2146]: https://github.com/yannickcr/eslint-plugin-react/pull/2146
[#2043]: https://github.com/yannickcr/eslint-plugin-react/pull/2043
[25b1936]: https://github.com/yannickcr/eslint-plugin-react/commit/25b19365e6cc3f188d6a5ed6cecc70fe6f1af7cd
[aecff62]: https://github.com/yannickcr/eslint-plugin-react/commit/aecff625bf0590ed4d80ed6b58b81af11901f5f6
## [7.19.0] - 2020-03-06
### Added
* [`style-prop-object`][]: Add `allow` option ([#1819][] @hornta)
* [`jsx-pascal-case`][]: Support unicode characters ([#2557][] @Svish)
### Fixed
* [`prefer-stateless-function`][]: avoid crash on ts empty constructor ([#2582][] @golopot)
* [`no-adjacent-inline-elements`][]: avoid a crash ([#2575] @ljharb)
* [`no-unused-prop-types`][]: Change the reporting to point to a more accurate node ([#2292][] @jseminck)
* [`self-closing-comp`][]: consider JSXMemberExpression as component too ([#2572][] @Belco90)
* [`no-unused-prop-types`][]: make `markPropTypesAsUsed` work with `TSEmptyBodyFunctionExpression` AST node ([#2560][] @guillaumewuip)
* [`displayName`][] (but really, `propTypes` detection): do not crash on empty flow type spreads ([#2570][] @ljharb)
### Changed
* [readme] Small visual inconsistency ([#2568] @arvigeus)
* [docs] add `react/` prefix to rule name, for consistency
* [`no-unescaped-entities`][]: skip test cases that are now parsing errors in acorn-jsx@5.2.0 ([#2583] @golopot)
[7.19.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.18.3...v7.19.0
[#2583]: https://github.com/yannickcr/eslint-plugin-react/pull/2583
[#2582]: https://github.com/yannickcr/eslint-plugin-react/pull/2582
[#2575]: https://github.com/yannickcr/eslint-plugin-react/issue/2575
[#2572]: https://github.com/yannickcr/eslint-plugin-react/pull/2572
[#2570]: https://github.com/yannickcr/eslint-plugin-react/issue/2570
[#2568]: https://github.com/yannickcr/eslint-plugin-react/pull/2568
[#2560]: https://github.com/yannickcr/eslint-plugin-react/pull/2560
[#2557]: https://github.com/yannickcr/eslint-plugin-react/pull/2557
[#2292]: https://github.com/yannickcr/eslint-plugin-react/pull/2292
[#1819]: https://github.com/yannickcr/eslint-plugin-react/pull/1819
## [7.18.3] - 2020-02-02
### Fixed
* [`jsx-indent`][]: don't check literals not within JSX ([#2564][] @toshi-toma)
[7.18.3]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.18.2...v7.18.3
[#2564]: https://github.com/yannickcr/eslint-plugin-react/issue/2564
## [7.18.2] - 2020-02-01
### Fixed
* [`jsx-indent`][]: avoid a crash on non-string literals ([#2561][] @ljharb)
[7.18.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.18.1...v7.18.2
[#2561]: https://github.com/yannickcr/eslint-plugin-react/issue/2561
## [7.18.1] - 2020-02-01
### Fixed
* [`jsx-indent`][]: Does not check indents for JSXText ([#2542][] @toshi-toma)
* [`jsx-props-no-spreading`][]: add support for namespaced jsx components ([#2534][] @jonathanpalma)
* [`jsx-no-target-blank`][]: allow rel to be an expression ([#2544][] @odinho)
* [`sort-comp`][]: `|` isnt a valid regex flag; `u` and `s` are (@ljharb)
### Changed
* [Docs] use `markdown-magic` to automatically sort all rules alphabetically ([#1742][] @ybiquitous)
* [Docs] [`jsx-props-no-spreading`][]: fix typo to use correct rule ([#2547][] @jonggyun))
[7.18.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.18.0...v7.18.1
[#2547]: https://github.com/yannickcr/eslint-plugin-react/pull/2547
[#2544]: https://github.com/yannickcr/eslint-plugin-react/pull/2544
[#2542]: https://github.com/yannickcr/eslint-plugin-react/pull/2542
[#2534]: https://github.com/yannickcr/eslint-plugin-react/pull/2534
[#1742]: https://github.com/yannickcr/eslint-plugin-react/pull/1742
## [7.18.0] - 2020-01-15
### Added
* [`require-default-props`][]: add option to ignore functional components ([#2532][] @RedTn)
* [`function-component-definition`][]: Enforce a specific function type for function components ([#2414][] @Stefanwullems)
* [`no-adjacent-inline-elements`][]: Prevent adjacent inline elements not separated by whitespace ([#1155][] @SeanHayes)
* [`jsx-no-script-url`][]: prevent usage of `javascript:` URLs ([#2419][] @sergei-startsev)
### Fixed
* [`jsx-pascal-case`][]: false negative with namespacing ([#1337][] @mfyuce)
* [`jsx-curly-brace-presence`][]: Fix `curly-brace-presence` edge cases ([#2523][] @rafbgarcia)
* [`prop-types`][]: Does not validate missing propTypes for LogicalExpression ([#2533][] @toshi-toma)
* [`no-unknown-property`][]: allowTransparency does not exist in React >= v16.1 ([#1538][] @dawidvdh)
* [`jsx-curly-brace-presence`][]: Fix error related to tags line break ([#2521][] @rafbgarcia)
* [`no-typos`][]: Compilation error when method name is string instead of identifier ([#2514][] @shijistar)
* [`jsx-curly-brace-presence`][]: allow trailing spaces in TemplateLiteral ([#2507][] @doochik)
* [`no-unused-prop-types`], [`no-unused-state`]: fix false positives when using TS type assertions ([#2536][] @kdmadej)
### Changed
* [Docs] [`no-render-return-value`][]: Fix title ([#2540][] @micnic)
* [Refactor]: remove unused codes in util/propTypes ([#2288][] @golopot)
* [`no-typos`]: check static lifecycle methods ([#2006][] @bsonntag)
* [Docs] [`jsx-first-prop-new-line`][]: Fix rule name in "Rule Options" section ([#2535][] @barreira)
* [Tests] [`no-unused-prop-types`][]: Added test cases ([#977][] @dozoisch)
* [Tests] avoid running tests on pretest job
* [meta] Move eslint-plugin-eslint-plugin to devDeps ([#2510][] @nstepien)
* [Deps] update `array-includes`, `object.entries`, `object.fromentries`, `object.values`, `resolve`
[7.18.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.17.0...v7.18.0
[#2540]: https://github.com/yannickcr/eslint-plugin-react/pull/2540
[#2536]: https://github.com/yannickcr/eslint-plugin-react/pull/2536
[#2535]: https://github.com/yannickcr/eslint-plugin-react/pull/2535
[#2533]: https://github.com/yannickcr/eslint-plugin-react/pull/2533
[#2532]: https://github.com/yannickcr/eslint-plugin-react/pull/2532
[#2523]: https://github.com/yannickcr/eslint-plugin-react/pull/2523
[#2521]: https://github.com/yannickcr/eslint-plugin-react/pull/2521
[#2514]: https://github.com/yannickcr/eslint-plugin-react/pull/2514
[#2510]: https://github.com/yannickcr/eslint-plugin-react/pull/2510
[#2507]: https://github.com/yannickcr/eslint-plugin-react/pull/2507
[#2419]: https://github.com/yannickcr/eslint-plugin-react/pull/2419
[#2414]: https://github.com/yannickcr/eslint-plugin-react/pull/2414
[#2288]: https://github.com/yannickcr/eslint-plugin-react/pull/2288
[#2006]: https://github.com/yannickcr/eslint-plugin-react/pull/2006
[#1538]: https://github.com/yannickcr/eslint-plugin-react/pull/1538
[#1337]: https://github.com/yannickcr/eslint-plugin-react/pull/1337
[#1155]: https://github.com/yannickcr/eslint-plugin-react/pull/1155
[#977]: https://github.com/yannickcr/eslint-plugin-react/pull/977
## [7.17.0] - 2019-11-28
### Added
* [`jsx-no-target-blank`][]: add `allowReferrer` option ([#2478][] @eps1lon)
* [`jsx-handler-names`][]: add `checkLocalVariables` option ([#2470][] @aub)
* [`prop-types`][]: Support Flow Type spread ([#2446][] @moroine)
* [`jsx-props-no-spreading`][]: add `explicitSpread` option to allow explicit spread of props ([#2449][] @pawelnvk)
* [`jsx-no-target-blank`][]: warn on `target={'_blank'}` expressions ([#2451][] @timkraut)
* [`function-component-definition`]: Enforce a specific function type for function components ([#2414][] @Stefanwullems)
### Fixed
* [`sort-prop-types`][], [`jsx-sort-default-props`][]: disable broken autofix ([#2505][] @webOS101)
* [`no-typos`][]: improve report location ([#2468][] @golopot)
* [`jsx-no-literals`][]: trim whitespace for `allowedStrings` check ([#2436][] @cainlevy)
* [`jsx-curly-brace-presence`][]: Fix filter of undefined error with whitespace inside jsx attr curlies ([#2460][] @dustinyoste)
* [`no-render-return-value`][]: should warn when used in assignment expression ([#2462][] @jichu4n)
* [`jsx-curly-brace-presence`][]: allow trailing spaces in literal ([#2448][] @doochik)
### Changed
* [Deps] update `jsx-ast-utils`, `object.fromentries`, `resolve`
* [eslint] fix func-names and change object-shorthand to 'always' ([#2483][] @golopot)
* [Docs] `jsx-first-prop-new-line`: Fix documentation formatting ([#2489][] @pjg)
* [Docs] [`prop-types`][]: Update 'skipUndeclared' in rule options ([#2504][] @cjnickel)
* [Docs] [`jsx-first-prop-new-line`][]: fix wrong rule name ([#2500][] @zgayjjf)
* [eslint] enable eslint-plugin-eslint-plugin ([#2469][] @golopot)
* [Docs] [`jsx-props-no-multi-spaces`][]: suggest using core rule instead ([#2463][] @golopot)
* [Docs] [`jsx-first-prop-new-line`][]: add rule options ([#2465][] @SerdarMustafa1)
* [Docs] [`jsx-no-target-blank`][]: Add section about overriding for trusted links ([#2438][] @aschriner)
* [Docs] fix typo ([#2453][] @cainwatson)
* [Docs] [`no-unused-prop-types`][]: clean up prose ([#2273][] @coryhouse)
* [Docs] [`jsx-no-bind`][]: add section about React Hooks ([#2443][] @kdex)
[7.17.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.16.0...v7.17.0
[#2532]: https://github.com/yannickcr/eslint-plugin-react/pull/2532
[#2505]: https://github.com/yannickcr/eslint-plugin-react/pull/2505
[#2504]: https://github.com/yannickcr/eslint-plugin-react/pull/2504
[#2500]: https://github.com/yannickcr/eslint-plugin-react/pull/2500
[#2489]: https://github.com/yannickcr/eslint-plugin-react/pull/2489
[#2483]: https://github.com/yannickcr/eslint-plugin-react/pull/2483
[#2478]: https://github.com/yannickcr/eslint-plugin-react/pull/2478
[#2470]: https://github.com/yannickcr/eslint-plugin-react/pull/2470
[#2469]: https://github.com/yannickcr/eslint-plugin-react/pull/2469
[#2468]: https://github.com/yannickcr/eslint-plugin-react/pull/2468
[#2465]: https://github.com/yannickcr/eslint-plugin-react/pull/2465
[#2463]: https://github.com/yannickcr/eslint-plugin-react/pull/2463
[#2460]: https://github.com/yannickcr/eslint-plugin-react/pull/2460
[#2453]: https://github.com/yannickcr/eslint-plugin-react/pull/2453
[#2451]: https://github.com/yannickcr/eslint-plugin-react/pull/2451
[#2449]: https://github.com/yannickcr/eslint-plugin-react/pull/2449
[#2448]: https://github.com/yannickcr/eslint-plugin-react/pull/2448
[#2446]: https://github.com/yannickcr/eslint-plugin-react/pull/2446
[#2443]: https://github.com/yannickcr/eslint-plugin-react/pull/2443
[#2438]: https://github.com/yannickcr/eslint-plugin-react/pull/2438
[#2436]: https://github.com/yannickcr/eslint-plugin-react/pull/2436
[#2414]: https://github.com/yannickcr/eslint-plugin-react/pull/2414
[#2273]: https://github.com/yannickcr/eslint-plugin-react/pull/2273
## [7.16.0] - 2019-10-04
### Added
* [`jsx-sort-default-props`][]: make rule fixable ([#2429][] @emroussel)
### Fixed
* [`jsx-no-useless-fragment`][]: use `array-includes` over `.includes` for back compat (@ljharb)
* [`jsx-curly-brace-presence`][]: allow necessary white-space literal ([#2437][] @uniqname)
* [`jsx-curly-brace-presence`][]: warns incorrectly on trailing whitespace ([#2431][] @BC-M)
* [`no-unused-prop-types`][]: false positive when nested destructuring ([#2428][] @golopot)
[7.16.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.15.1...v7.16.0
[#2437]: https://github.com/yannickcr/eslint-plugin-react/pull/2437
[#2431]: https://github.com/yannickcr/eslint-plugin-react/pull/2431
[#2429]: https://github.com/yannickcr/eslint-plugin-react/pull/2429
[#2428]: https://github.com/yannickcr/eslint-plugin-react/pull/2428
## [7.15.1] - 2019-10-01
### Fixed
* [`jsx-curly-brace-presence`][]: bail out checks when JSXElements are passed as props ([#2426][] @vedadeepta)
### Changed
* [Docs] [`prefer-es6-class`][]: Fix typos ([#2425][] @spencerbyw)
[7.15.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.15.0...v7.15.1
[#2426]: https://github.com/yannickcr/eslint-plugin-react/pull/2426
[#2425]: https://github.com/yannickcr/eslint-plugin-react/pull/2425
## [7.15.0] - 2019-09-30
### Added
* add [`jsx-no-useless-fragment`][] rule ([#2261][] @golopot)
* [`jsx-handler-name`][]: allow `false` to disable `eventHandlerPrefix`/`eventHandlerPropPrefix` ([#2410][] @tanmoyopenroot)
* [`sort-comp`][]: add `static-variables` grouping ([#2408][] @vedadeepta)
* [`jsx-no-literals`][]: Add `allowedStrings` option ([#2380][] @benhollander)
* [`no-multi-comp`][]: Added handling for `forwardRef` and `memo` wrapping components declared in the same file ([#2184][] @jenil94)
* [`jsx-pascal-case`][]: `allowAllCaps` option now allows `SCREAMING_SNAKE_CASE` ([#2364][] @TylerR909)
### Fixed
* [`jsx-indent`][]: Fix false positive when a jsx element is the last statement within a do expression (with tests) ([#2200][] @Kenneth-KT)
* [`jsx-curly-brace-presence`][]: fix jsx tags in braces ([#2422][] @tanmoyopenroot)
* [`display-name`][]: Fix false positives ([#2399][] @BPScott)
* [`jsx-curly-brace-presence`][]: report unnecessary curly braces with children on next line ([#2409][] @vedadeepta)
* [`no-unused-prop-types`][]: false positive with callback ([#2375][] @golopot)
* Fix prop-types detection collision on renamed props ([#2383][] @yannickcr)
* [`jsx-sort-props`][]: use localeCompare rather than comparison operator ([#2391][] @tanmoyopenroot)
* [`jsx-pascal-case`][]: allow one-letter-named components ([#2395][] @Haegin)
* [`jsx-wrap-multilines`][]: fix incorrect formatting ([#2392][] @tanmoyopenroot)
* [`require-optimization`][]: fix when using arrow function in class components ([#2385][] @jenil94)
* [`no-deprecated`][]: Deprecate cWM/cWRP/cWU lifecycle methods since React 16.9.0 ([#2378][] @meowtec)
* [`jsx-key`][]: improve docs and confusing error message ([#2367][] @kaykayehnn)
* Recognize props wrapped in flow $ReadOnly<> utility type ([#2361][] @lukeapage)
* [`prop-types`][]: false positive with setState updator ([#2359][] @golopot)
### Changed
* [Docs] [`no-access-state-in-setstate`][]: update grammar ([#2418][] @neaumusic)
* [`jsx-curly-brace-presence`][], [`jsx-one-expression-per-line`][], [`no-danger-with-children`][]: add `isWhiteSpaces` to `lib/util/jsx` ([#2409][] @vedadeepta)
[7.15.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.14.3...v7.15.0
[#2422]: https://github.com/yannickcr/eslint-plugin-react/pull/2422
[#2410]: https://github.com/yannickcr/eslint-plugin-react/pull/2410
[#2409]: https://github.com/yannickcr/eslint-plugin-react/pull/2409
[#2408]: https://github.com/yannickcr/eslint-plugin-react/pull/2408
[#2402]: https://github.com/yannickcr/eslint-plugin-react/pull/2402
[#2399]: https://github.com/yannickcr/eslint-plugin-react/pull/2399
[#2395]: https://github.com/yannickcr/eslint-plugin-react/pull/2395
[#2392]: https://github.com/yannickcr/eslint-plugin-react/pull/2392
[#2391]: https://github.com/yannickcr/eslint-plugin-react/pull/2391
[#2385]: https://github.com/yannickcr/eslint-plugin-react/pull/2385
[#2383]: https://github.com/yannickcr/eslint-plugin-react/issue/2383
[#2380]: https://github.com/yannickcr/eslint-plugin-react/pull/2380
[#2378]: https://github.com/yannickcr/eslint-plugin-react/pull/2378
[#2375]: https://github.com/yannickcr/eslint-plugin-react/pull/2375
[#2367]: https://github.com/yannickcr/eslint-plugin-react/pull/2367
[#2364]: https://github.com/yannickcr/eslint-plugin-react/pull/2364
[#2361]: https://github.com/yannickcr/eslint-plugin-react/pull/2361
[#2359]: https://github.com/yannickcr/eslint-plugin-react/pull/2359
[#2261]: https://github.com/yannickcr/eslint-plugin-react/pull/2261
[#2200]: https://github.com/yannickcr/eslint-plugin-react/pull/2200
[#2184]: https://github.com/yannickcr/eslint-plugin-react/pull/2184
## [7.14.3] - 2019-07-23
### Fixed
* Fix [`prop-types`][] to ignore validation when Flow indexers are used ([#2330][] @yannickcr)
* Fix error being thrown after the first warning when react version cannot be detected ([#2336][] @abhishekdev)
* Fix component detection when `memo` and `forwardRef` are used together ([#2349][] @yannickcr)
### Changed
* Documentation improvements (@ljharb, [#2354][] @golopot)
[7.14.3]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.14.2...v7.14.3
[#2330]: https://github.com/yannickcr/eslint-plugin-react/issues/2330
[#2336]: https://github.com/yannickcr/eslint-plugin-react/pull/2336
[#2349]: https://github.com/yannickcr/eslint-plugin-react/issues/2349
[#2354]: https://github.com/yannickcr/eslint-plugin-react/pull/2354
## [7.14.2] - 2019-06-24
### Fixed
* Fix [`prop-types`][] crash on for...of destructuring ([#2326][] @yannickcr)
[7.14.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.14.1...v7.14.2
[#2326]: https://github.com/yannickcr/eslint-plugin-react/issues/2326
## [7.14.1] - 2019-06-24
### Fixed
* Fix [`prop-types`][] crash on multiple destructuring ([#2319][] @golopot)
[7.14.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.14.0...v7.14.1
[#2319]: https://github.com/yannickcr/eslint-plugin-react/issues/2319
## [7.14.0] - 2019-06-23
### Added
* Add [`jsx-curly-newline`][] rule ([#1493][] @golopot)
* Add support for nested destructuring to [`prop-types`][] ([#296][] [#1422][] @golopot)
* Add support for variables defined as props to [`prop-types`][] and [`no-unused-prop-types`][] ([#442][] [#833][] [#1002][] [#1116][] [#1257][] [#1764][] @golopot)
* Add `checkFragmentShorthand` option to [`jsx-key`][] ([#2316][] @kaykayehnn)
### Fixed
* Fix [`no-did-mount-set-state`][] and [`no-did-update-set-state`][] to handle cDU and cDM defined as class properties ([#1595][] @jaaberg)
* Fix [`sort-prop-types`][] cash when a shape PropType is defined in a variable ([#1749][] @alexzherdev)
* Fix [`no-unused-state`][] false positive when using state of non-lifecycle method ([#2274][] @golopot)
* Fix [`static-property-placement`][] false positive when accessing static property inside method ([#2283][] @dmason30)
* Fix [`prop-type`][] detection for annotated props with default value ([#2298][] @yannickcr)
### Changed
* Add ESLint 6.0.0 as valid peerDependency (@yannickcr)
* Improve [`no-render-return-value`][] performance ([#2259][] @golopot)
* Change [`jsx-sort-props`][] to report errors only on the identifier ([#2312][] @MrHen)
* Change to warn only once if react version cannot be detected ([#2276][] @ljharb)
* Documentation improvements ([#2263][] @dimitropoulos, [#2262][] @ybiquitous, [#2295][] @battaglr, [#2302][] @Jason-Cooke, [#2303][] @golopot)
* Code refactoring ([#2265][] [#2267][] [#2286][] [#2294][] @golopot, @ljharb)
* Tests improvements ([#2304][] [#1047][] @golopot, @yannickcr)
[7.14.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.13.0...v7.14.0
[#296]: https://github.com/yannickcr/eslint-plugin-react/issues/296
[#442]: https://github.com/yannickcr/eslint-plugin-react/issues/442
[#833]: https://github.com/yannickcr/eslint-plugin-react/issues/833
[#1002]: https://github.com/yannickcr/eslint-plugin-react/issues/1002
[#1047]: https://github.com/yannickcr/eslint-plugin-react/issues/1047
[#1116]: https://github.com/yannickcr/eslint-plugin-react/issues/1116
[#1257]: https://github.com/yannickcr/eslint-plugin-react/issues/1257
[#1422]: https://github.com/yannickcr/eslint-plugin-react/issues/1422
[#1493]: https://github.com/yannickcr/eslint-plugin-react/issues/1493
[#1595]: https://github.com/yannickcr/eslint-plugin-react/issues/1595
[#1749]: https://github.com/yannickcr/eslint-plugin-react/issues/1749
[#1764]: https://github.com/yannickcr/eslint-plugin-react/issues/1764
[#2259]: https://github.com/yannickcr/eslint-plugin-react/pull/2259
[#2262]: https://github.com/yannickcr/eslint-plugin-react/pull/2262
[#2263]: https://github.com/yannickcr/eslint-plugin-react/pull/2263
[#2265]: https://github.com/yannickcr/eslint-plugin-react/pull/2265
[#2267]: https://github.com/yannickcr/eslint-plugin-react/pull/2267
[#2274]: https://github.com/yannickcr/eslint-plugin-react/pull/2274
[#2276]: https://github.com/yannickcr/eslint-plugin-react/issues/2276
[#2283]: https://github.com/yannickcr/eslint-plugin-react/issues/2283
[#2286]: https://github.com/yannickcr/eslint-plugin-react/pull/2286
[#2294]: https://github.com/yannickcr/eslint-plugin-react/pull/2294
[#2295]: https://github.com/yannickcr/eslint-plugin-react/pull/2295
[#2298]: https://github.com/yannickcr/eslint-plugin-react/issues/2298
[#2302]: https://github.com/yannickcr/eslint-plugin-react/pull/2302
[#2303]: https://github.com/yannickcr/eslint-plugin-react/pull/2303
[#2304]: https://github.com/yannickcr/eslint-plugin-react/pull/2304
[#2312]: https://github.com/yannickcr/eslint-plugin-react/issues/2312
[#2316]: https://github.com/yannickcr/eslint-plugin-react/pull/2316
## [7.13.0] - 2019-05-03
### Added
* Make [`jsx-sort-props`][] fully fixable ([#2250][], @guliashvili)
* [`boolean-prop-naming`][]: add `validateNested` option to validate shape prop names ([#2234][], @pawelnvk)
* add [`static-property-placement`][] rule ([#2193][], @dmason30)
* add "detect" for flow version ([#2233][], @jedwards1211)
* [`jsx-indent`][]: Add `indentLogicalExpressions` option ([#2227][], @mdnsk)
* add [`jsx-props-no-spreading`][] ([#2191][], @ashbhir)
* [`no-string-refs`][]: Added `noTemplateLiteral` option ([#2167][], @jenil94)
* add `linkComponents` setting ([#2116][], @gbakernet)
* [`jsx-no-target-blank`][]: add support for `linkComponents` setting ([#2116][], @gbakernet)
* Add [`state-in-constructor`][] rule ([#1945][], @lukyth)
* Add [`prefer-read-only-props`][] rule ([#2110][], @golopot)
* [`no-unescaped-entities`][]: more friendly error message; add config to adjust ([#2016][], @stevemao)
### Fixed
* [`jsx-props-no-multi-spaces`][]: support generic components (ts) ([#2256][], @mateuszsokola)
* [`prop-types`][]: fix case with destructuring and default param ([#2246][], @golopot)
* [`prefer-stateless-function`][]: Ignoring pure components without props and context usage ([#2238][], @pawelnvk)
* `propTypes`: resolveSuperParameterPropsType: add null check ([#2232][], @jedwards1211)
* [`self-closing-comp`][]: stop reporting single-line spaces ([#2210][], @golopot)
* [`require-render-return`][]: more accurate report location ([#2229][], @golopot)
* [`sort-prop-types`][]: Fix sorting props with numeric keys ([#2230][], @pawelnvk)
* [`display-name`][]: fix false negative around nested functions ([#2225][], @dwelle)
* [`no-unknown-property`][]: fix case like `<Foo.bar>` ([#2207][], @golopot)
* [`jsx-curly-brace-presence`][]: accept multiline template string ([#2203][], @golopot)
* [`jsx-one-expression-per-line`][]: fix when using tabs ([#2198][], @Ohar)
* [`prop-types`][]: Fix false positive on computed member expression ([#2202][], @golopot)
* [`jsx-sort-default-props`][]: fix case with spread ([#2182][], @VincentLanglet)
* [`no-this-in-sfc`][]: Fix false positive on SFC defined as object property ([#2147][], @yannickcr)
* [`sort-comp`][]: correctly recognize instance variables declared without explicit value ([#2183][], @yannickcr)
* [`no-unused-state`][]: fix set state callback destructing & state use inside callback ([#2151][], @barakyosi)
* [`no-multi-comp`][]: correctly ignore wrapped stateless components: ([#2145][], @yannickcr)
* [`display-name`][]: avoid crash on for..of ([#2137][], @ljharb)
### Changed
* [Docs] [`no-access-state-in-setstate`][]: Use syntax highlighting for examples ([#2160][], @pReya)
* [Docs] [`jsx-fragments`][]: add "fixable" note ([#2143][], @joshunger)
* [Docs] Added shared settings info, React version default note ([#2180][], @samsch)
* [Tests] [`jsx-curly-spacing`][]: add regression test case ([#2206][], @ColCh)
[7.13.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.12.4...v7.13.0
[#2256]: https://github.com/yannickcr/eslint-plugin-react/pull/2256
[#2250]: https://github.com/yannickcr/eslint-plugin-react/pull/2250
[#2246]: https://github.com/yannickcr/eslint-plugin-react/pull/2246
[#2238]: https://github.com/yannickcr/eslint-plugin-react/pull/2238
[#2234]: https://github.com/yannickcr/eslint-plugin-react/pull/2234
[#2233]: https://github.com/yannickcr/eslint-plugin-react/pull/2233
[#2232]: https://github.com/yannickcr/eslint-plugin-react/pull/2232
[#2230]: https://github.com/yannickcr/eslint-plugin-react/pull/2230
[#2229]: https://github.com/yannickcr/eslint-plugin-react/pull/2229
[#2227]: https://github.com/yannickcr/eslint-plugin-react/pull/2227
[#2225]: https://github.com/yannickcr/eslint-plugin-react/pull/2225
[#2210]: https://github.com/yannickcr/eslint-plugin-react/pull/2210
[#2207]: https://github.com/yannickcr/eslint-plugin-react/pull/2207
[#2206]: https://github.com/yannickcr/eslint-plugin-react/pull/2206
[#2203]: https://github.com/yannickcr/eslint-plugin-react/pull/2203
[#2202]: https://github.com/yannickcr/eslint-plugin-react/pull/2202
[#2198]: https://github.com/yannickcr/eslint-plugin-react/pull/2198
[#2193]: https://github.com/yannickcr/eslint-plugin-react/pull/2193
[#2191]: https://github.com/yannickcr/eslint-plugin-react/pull/2191
[#2183]: https://github.com/yannickcr/eslint-plugin-react/issues/2183
[#2182]: https://github.com/yannickcr/eslint-plugin-react/pull/2182
[#2180]: https://github.com/yannickcr/eslint-plugin-react/pull/2180
[#2167]: https://github.com/yannickcr/eslint-plugin-react/pull/2167
[#2147]: https://github.com/yannickcr/eslint-plugin-react/issues/2147
[#2145]: https://github.com/yannickcr/eslint-plugin-react/issues/2145
[#2143]: https://github.com/yannickcr/eslint-plugin-react/pull/2143
[#2137]: https://github.com/yannickcr/eslint-plugin-react/issues/2137
[#2116]: https://github.com/yannickcr/eslint-plugin-react/pull/2116
[#2110]: https://github.com/yannickcr/eslint-plugin-react/pull/2110
[#2016]: https://github.com/yannickcr/eslint-plugin-react/pull/2016
[#1945]: https://github.com/yannickcr/eslint-plugin-react/pull/1945
## [7.12.4] - 2019-01-16
### Fixed
* [`no-unused-prop-types`][]: avoid a crash ([#2131][], @ljharb)
* [`prop-types`][]: avoid further crashes from nonexistent nodes in unusedPropTypes ([#2127][], @ljharb)
* [`prop-types`][]: Read name of callee object ([#2125][], @CrOrc)
* [`prop-types`][]: Ignore reassignments when matching props declarations with components ([#2051][], [#1957][], @yannickcr)
* [`prop-types`][], [`no-unused-prop-types`][], [`require-default-props`][]: Detect components with return statement in switch/case ([#2118][], @yannickcr)
### Changed
* [`prop-types`][], [`no-typos`][]: add passing test cases ([#2123][], [#2128][], [#2136][], [#2134][], @ljharb)
[7.12.4]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.12.3...v7.12.4
[#2136]: https://github.com/yannickcr/eslint-plugin-react/issues/2136
[#2134]: https://github.com/yannickcr/eslint-plugin-react/issues/2134
[#2131]: https://github.com/yannickcr/eslint-plugin-react/issues/2131
[#2128]: https://github.com/yannickcr/eslint-plugin-react/issues/2128
[#2127]: https://github.com/yannickcr/eslint-plugin-react/issues/2127
[#2125]: https://github.com/yannickcr/eslint-plugin-react/pull/2125
[#2123]: https://github.com/yannickcr/eslint-plugin-react/issues/2123
[#2118]: https://github.com/yannickcr/eslint-plugin-react/issues/2118
[#2051]: https://github.com/yannickcr/eslint-plugin-react/issues/2051
[#1957]: https://github.com/yannickcr/eslint-plugin-react/issues/1957
## [7.12.3] - 2019-01-04
### Fixed
* [`jsx-indent`][]: Prevent crash on valueless props ([#2120][], @jomasti)
* [`jsx-fragments`][]: avoid crashing on self-closing fragments ([#2113][], @alexzherdev)
* [`no-unused-prop-types`][]: Fix propType detection inside class bodies ([#2115][], @drx)
* [`no-unused-prop-types`][]: fix issue with propTypes misclassifying props ([#2111][], @drx)
* [`display-name`][]: fix false positive for `React.memo` ([#2109][], @jomasti)
### Changed
* [Docs] add a missing comma in the JSON settings ([#2117][], @haideralsh)
* [Docs] update README to document React version detection ([#2114][], @mohsinulhaq)
[7.12.3]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.12.2...v7.12.3
[#2120]: https://github.com/yannickcr/eslint-plugin-react/issues/2120
[#2117]: https://github.com/yannickcr/eslint-plugin-react/issues/2117
[#2115]: https://github.com/yannickcr/eslint-plugin-react/issues/2115
[#2114]: https://github.com/yannickcr/eslint-plugin-react/issues/2114
[#2113]: https://github.com/yannickcr/eslint-plugin-react/issues/2113
[#2111]: https://github.com/yannickcr/eslint-plugin-react/issues/2111
[#2109]: https://github.com/yannickcr/eslint-plugin-react/issues/2109
## [7.12.2] - 2019-01-02
### Fixed
* [`prop-types`][]: avoid crash on used prevProps ([#2095][], @ljharb)
* Version warning: Link does not end with '.' ([#2103][], @yoyo837))
* [`forbid-prop-types`][]: fix crash with propWrapper check on MemberExpressions ([#2104][], @ljharb)
[7.12.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.12.1...v7.12.2
[#2104]: https://github.com/yannickcr/eslint-plugin-react/issues/2104
[#2103]: https://github.com/yannickcr/eslint-plugin-react/pull/2103
[#2095]: https://github.com/yannickcr/eslint-plugin-react/issues/2095
## [7.12.1] - 2019-01-01
### Fixed
* [`no-unused-state`][]: Fix crash with class fields ([#2098][], @jomasti)
* [`prop-types`][]: Fix false positives inside lifecycle methods ([#2099][], @jomasti)
* [`jsx-max-depth`][]: avoid a crash ([#2102][], @ljharb)
* [`jsx-wrap-multilines`][]: avoid crash when no trailing newline ([#2100][], @ljharb)
### Changed
* Fix CHANGELOG.md ([#2097][], @alexzherdev)
[7.12.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.12.0...v7.12.1
[#2102]: https://github.com/yannickcr/eslint-plugin-react/issues/2102
[#2100]: https://github.com/yannickcr/eslint-plugin-react/issues/2100
[#2099]: https://github.com/yannickcr/eslint-plugin-react/pull/2099
[#2098]: https://github.com/yannickcr/eslint-plugin-react/pull/2098
[#2097]: https://github.com/yannickcr/eslint-plugin-react/pull/2097
## [7.12.0] - 2018-12-27
### Added
* [`no-typos`]: Support createClass ([#1828][], @alexzherdev)
* Support detecting React.forwardRef/React.memo ([#2089][], @jomasti)
* [`jsx-indent`][]: add `checkAttributes` option for JSX attribute indentation ([#2086][], @jomasti)
* Change allowed `propWrapperFunctions` setting values ([#2065][], @jomasti)
* add [`jsx-fragments`][] rule to enforce fragment syntax ([#1994][], @alexzherdev)
* Support "detect" option for React version setting ([#1978][], @alexzherdev)
* Support shorthand fragment syntax in many rules ([#1956][], @alexzherdev)
* [`jsx-no-literals`][]: print node value in warning message ([#2008][], @jlgonzalezdev)
### Fixed
* [`jsx-max-depth`][]: Fix depth of JSX siblings in a JSXEpressionContainer ([#1824][], @alexzherdev)
* [`no-array-index-key`][]: fix in React.Children methods ([#2085][], @himynameisdave)
* [`no-unused-state`][]: handle functional setState ([#2084][], @jomasti)
* version errors should log to stderr, not stdout ([#2082][], @ljharb)
* [`no-deprecated`][]: Disable legacy lifecycle methods linting for now ([#2069][], @sergei-startsev)
* ensure that react and flow versions can be numbers ([#2056][], @ljharb)
* [`forbid-foreign-prop-types`][]: ensure `allowInPropTypes` option applies to class fields ([#2040][], @Sheile)
* [`jsx-wrap-multilines`][]: catch single missing newlines ([#1984][], @MrHen)
* [`jsx-first-prop-new-line`][]: Fix for parsers (like TypeScript) ([#2026][], @HauptmannEck)
* [`sort-comp`][]: Fix fixer in case of more than 10 props ([#2012][], @tihonove)
* [`no-unused-state`][] Don't depend on state parameter name ([#1829][], @alexzherdev)
* [`no-this-in-sfc`][] fix for class properties ([#1995][], @sergei-startsev)
* [`no-this-in-sfc`][] fix rule behavior for arrow functions inside a class field ([#1989][], @sergei-startsev)
* [`destructuring-assignment`][]: handle nested props usage ([#1983][], @alexzherdev)
* [`sort-prop-types`][]: fix string property order ([#1977][], @metreniuk)
* [`jsx-no-target-blank`][]: dont crash when theres no value ([#1949][], @ljharb)
* [`prop-types`][], [`no-unused-prop-types`][]: better handle object spread ([#1939][], @alexzherdev)
### Changed
* [`jsx-fragments`][]: improve message text ([#2032][], @alexzherdev)
* [`no-unsafe`][]: handle all unsafe life-cycle methods ([#2075][], @sergei-startsev)
* [`require-default-props`][]: Change error message naming from singular defaultProp to plural defaultProps ([#2064][], @jseminck)
* [Refactor] Extract used `propTypes` detection ([#1946][], @alexzherdev)
* [Refactor] Extract `defaultProps` detection ([#1942][], @alexzherdev)
* [Refactor] Extract required `propTypes` detection ([#2001][], @alexzherdev)
* [Docs] [`no-did-mount-set-state`][], [`no-did-update-set-state`][], [`no-will-update-set-state`][]: fix docs URLs ([#2090][], @JBallin)
* [Docs] Remove statement on GC in jsx-no-bind ([#2067][], @rickhanlonii)
* [Docs] [`jsx-sort-props`][]: Fix small mistake ([#2044][], @dimitarnestorov)
* [Docs] [`no-unescaped-entities`][]: add more escape examples ([#2015][], @stevemao)
* [Docs] [`display-name`][]: mention default `ignoreTranspilerName` value ([#2002][], @OliverJAsh)
* [Docs] [`jsx-no-target-blank`][]: Add full example ([#1988][], @atomcorp)
* [Docs] Update [`jsx-no-target-blank`][].md ([#1953][], @brunocoelho)
* [Changelog] fix "Ignore class properties" contributor ([#1941][], @alexzherdev)
* [Tests] Remove redundant `require('babel-eslint')` from tests ([#2004][], @sergei-startsev)
* [Tests] [`prop-types`][]: Add tests for prop-types destructuring ([#2029][], @sstern6)
* [Tests] [`display-name`][]: add false positive component detection for destructured createElement ([#1098][], @arian)
[7.12.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.11.1...v7.12.0
[#2090]: https://github.com/yannickcr/eslint-plugin-react/pull/2090
[#2089]: https://github.com/yannickcr/eslint-plugin-react/pull/2089
[#2086]: https://github.com/yannickcr/eslint-plugin-react/pull/2086
[#2085]: https://github.com/yannickcr/eslint-plugin-react/pull/2085
[#2084]: https://github.com/yannickcr/eslint-plugin-react/pull/2084
[#2082]: https://github.com/yannickcr/eslint-plugin-react/issues/2082
[#2075]: https://github.com/yannickcr/eslint-plugin-react/pull/2075
[#2069]: https://github.com/yannickcr/eslint-plugin-react/pull/2069
[#2067]: https://github.com/yannickcr/eslint-plugin-react/pull/2067
[#2065]: https://github.com/yannickcr/eslint-plugin-react/pull/2065
[#2064]: https://github.com/yannickcr/eslint-plugin-react/pull/2064
[#2056]: https://github.com/yannickcr/eslint-plugin-react/issues/2056
[#2044]: https://github.com/yannickcr/eslint-plugin-react/pull/2044
[#2040]: https://github.com/yannickcr/eslint-plugin-react/pull/2040
[#2032]: https://github.com/yannickcr/eslint-plugin-react/pull/2032
[#2029]: https://github.com/yannickcr/eslint-plugin-react/pull/2029
[#2026]: https://github.com/yannickcr/eslint-plugin-react/pull/2026
[#2015]: https://github.com/yannickcr/eslint-plugin-react/pull/2015
[#2012]: https://github.com/yannickcr/eslint-plugin-react/pull/2012
[#2008]: https://github.com/yannickcr/eslint-plugin-react/pull/2008
[#2004]: https://github.com/yannickcr/eslint-plugin-react/pull/2004
[#2002]: https://github.com/yannickcr/eslint-plugin-react/pull/2002
[#2001]: https://github.com/yannickcr/eslint-plugin-react/pull/2001
[#1995]: https://github.com/yannickcr/eslint-plugin-react/pull/1995
[#1994]: https://github.com/yannickcr/eslint-plugin-react/pull/1994
[#1989]: https://github.com/yannickcr/eslint-plugin-react/pull/1989
[#1988]: https://github.com/yannickcr/eslint-plugin-react/pull/1988
[#1984]: https://github.com/yannickcr/eslint-plugin-react/pull/1984
[#1983]: https://github.com/yannickcr/eslint-plugin-react/pull/1983
[#1978]: https://github.com/yannickcr/eslint-plugin-react/pull/1978
[#1977]: https://github.com/yannickcr/eslint-plugin-react/pull/1977
[#1956]: https://github.com/yannickcr/eslint-plugin-react/pull/1956
[#1953]: https://github.com/yannickcr/eslint-plugin-react/pull/1953
[#1949]: https://github.com/yannickcr/eslint-plugin-react/issues/1949
[#1946]: https://github.com/yannickcr/eslint-plugin-react/pull/1946
[#1942]: https://github.com/yannickcr/eslint-plugin-react/pull/1942
[#1941]: https://github.com/yannickcr/eslint-plugin-react/pull/1941
[#1939]: https://github.com/yannickcr/eslint-plugin-react/pull/1939
[#1829]: https://github.com/yannickcr/eslint-plugin-react/pull/1829
[#1828]: https://github.com/yannickcr/eslint-plugin-react/pull/1828
[#1824]: https://github.com/yannickcr/eslint-plugin-react/pull/1824
[#1098]: https://github.com/yannickcr/eslint-plugin-react/pull/1098
## [7.11.1] - 2018-08-14
### Fixed
* stop crashing when assigning to propTypes ([#1932][], @alexzherdev)
### Changed
* Fix changelog links ([#1926][], @ferhatelmas)
* Fix changelog links ([#1929][], @alexzherdev)
[7.11.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.11.0...v7.11.1
[#1932]: https://github.com/yannickcr/eslint-plugin-react/pull/1932
[#1929]: https://github.com/yannickcr/eslint-plugin-react/pull/1929
[#1926]: https://github.com/yannickcr/eslint-plugin-react/pull/1926
## [7.11.0] - 2018-08-13
### Added
* [`jsx-one-expression-per-line`][]: add "allow" option ([#1924][], @alexzherdev)
* [`sort-prop-types`][]: add autofix ([#1891][], @finnp)
* [`jsx-no-bind`][]: Add ignoreDOMComponents option ([#1868][], @alexzherdev)
* Output a warning if React version is missing in settings ([#1857][], @alexzherdev)
### Fixed
* [`destructuring-assignment`][]: Ignore class properties ([#1909][], @alexandernanberg)
* [`destructuring-assignment`][], component detection: ignore components with confidence = 0 ([#1907][], @alexzherdev)
* [`boolean-prop-naming`][]: Handle inline Flow type ([#1905][], @alexzherdev)
* [`jsx-props-no-multi-spaces`][]: Handle member expressions ([#1890][], @alexzherdev)
* [`sort-comp`][]: Allow methods to belong to any matching group ([#1858][], @nosilleg)
* [`jsx-sort-props`][]: Fix `reservedFirst` ([#1883][], @fleischie)
* [`prop-types`][]: (flow) Stop crashing on undefined or null properties ([#1860][], @nicholas-l)
* [`no-unknown-property`][]: Make attribute "charset" valid ([#1863][], @silvenon)
* [`no-deprecated`][]: report identifier AST node instead of the class node ([#1854][], @jsnajdr)
* [`button-has-type`][]: Account for pragma ([#1851][], @alexzherdev)
* [`button-has-type`][]: improve error message when an identifier is used as the value ([#1874][], @ljharb)
* support JSXText nodes alongside Literal nodes (@ljharb)
### Changed
* Extract propTypes detection code ([#1911][], @alexzherdev)
* Fix broken links in changelog ([#1849][], @alexzherdev)
* [`no-unused-state`][]: combine spread visitors (@ljharb)
* [`jsx-one-expression-per-line`][]: Fix JSX Syntax in docs ([#1867][], @peter-mouland)
* [`jsx-max-depth`][], [`jsx-sort-default-props`][]: add missing docs urls ([#1880][], @flyerhzm)
* [`jsx-indent`][]: add test cases ([#1892][], @alexzherdev)
* [`prop-types`][]: add test cases ([#1898][], @alexzherdev)
* Add a helper function for determining function-like expressions ([#1914][], @alexzherdev)
* [`jsx-props-no-multi-spaces`][]: update docs ([#1918][], @BenRichter)
[7.11.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.10.0...v7.11.0
[#1924]: https://github.com/yannickcr/eslint-plugin-react/pull/1924
[#1918]: https://github.com/yannickcr/eslint-plugin-react/pull/1918
[#1914]: https://github.com/yannickcr/eslint-plugin-react/pull/1914
[#1911]: https://github.com/yannickcr/eslint-plugin-react/pull/1911
[#1909]: https://github.com/yannickcr/eslint-plugin-react/pull/1909
[#1907]: https://github.com/yannickcr/eslint-plugin-react/pull/1907
[#1905]: https://github.com/yannickcr/eslint-plugin-react/pull/1905
[#1898]: https://github.com/yannickcr/eslint-plugin-react/pull/1898
[#1892]: https://github.com/yannickcr/eslint-plugin-react/pull/1892
[#1891]: https://github.com/yannickcr/eslint-plugin-react/pull/1891
[#1890]: https://github.com/yannickcr/eslint-plugin-react/pull/1890
[#1883]: https://github.com/yannickcr/eslint-plugin-react/pull/1883
[#1880]: https://github.com/yannickcr/eslint-plugin-react/pull/1880
[#1874]: https://github.com/yannickcr/eslint-plugin-react/issues/1874
[#1868]: https://github.com/yannickcr/eslint-plugin-react/pull/1868
[#1867]: https://github.com/yannickcr/eslint-plugin-react/pull/1867
[#1863]: https://github.com/yannickcr/eslint-plugin-react/pull/1863
[#1860]: https://github.com/yannickcr/eslint-plugin-react/pull/1860
[#1858]: https://github.com/yannickcr/eslint-plugin-react/pull/1858
[#1857]: https://github.com/yannickcr/eslint-plugin-react/pull/1857
[#1854]: https://github.com/yannickcr/eslint-plugin-react/pull/1854
[#1851]: https://github.com/yannickcr/eslint-plugin-react/pull/1851
[#1849]: https://github.com/yannickcr/eslint-plugin-react/pull/1849
## [7.10.0] - 2018-06-24
### Added
* Allow eslint ^5 ([#1843][] @papandreou, @ljharb)
* [`no-unsafe`][] rule ([#1831][], [#1830][] @sergei-startsev)
* [`no-will-update-set-state`][]: Account for `UNSAFE_` methods ([#1845][], [#1844][] @alexzherdev)
### Fixed
* [`no-typos`][]: Fix static propTypes handling ([#1827][], [#1677][] @alexzherdev)
* [`destructuring-assignment`][]: Allow LHS ([#1825][], [#1728][] @alexzherdev)
* [`no-unused-prop-types`][]: Fix crash when encountering mixed union and intersection flow types ([#1806][] @yannickcr)
### Changed
* Typo fixes in [`jsx-no-target-blank`][] ([#1805][] @ferhatelmas))
[7.10.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.9.1...v7.10.0
[#1845]: https://github.com/yannickcr/eslint-plugin-react/pull/1845
[#1844]: https://github.com/yannickcr/eslint-plugin-react/issues/1844
[#1843]: https://github.com/yannickcr/eslint-plugin-react/pull/1843
[#1831]: https://github.com/yannickcr/eslint-plugin-react/pull/1831
[#1830]: https://github.com/yannickcr/eslint-plugin-react/issues/1830
[#1827]: https://github.com/yannickcr/eslint-plugin-react/pull/1827
[#1825]: https://github.com/yannickcr/eslint-plugin-react/pull/1825
[#1806]: https://github.com/yannickcr/eslint-plugin-react/issues/1806
[#1805]: https://github.com/yannickcr/eslint-plugin-react/pull/1805
[#1728]: https://github.com/yannickcr/eslint-plugin-react/issues/1728
[#1677]: https://github.com/yannickcr/eslint-plugin-react/issues/1677
## [7.9.1] - 2018-06-03
* Nothing was fixed; this is a republish with some updated deps. ([#1804][] @ljharb)
[7.9.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.9.0...v7.9.1
[#1804]: https://github.com/yannickcr/eslint-plugin-react/issues/1804
## [7.9.0] - 2018-06-03
### Added
* Add [`jsx-props-no-multi-spaces`][] rule ([#1755][] @ThiefMaster)
* Add `first` option to [`jsx-indent-props`][] ([#398][] @ThiefMaster)
* Add `enforceDynamicLinks` option to [`jsx-no-target-blank`][] ([#1737][] @kenearley)
### Fixed
* Fix static lifecycle methods validation in [`sort-comp`][] ([#1793][] @lynxtaa)
* Fix crash in [`no-typos`][] when encountering anonymous react imports ([#1796][] @jsg2021)
* Fix ESLint 3 support ([#1779][])
### Changed
* Documentation improvements ([#1794][] @lencioni)
* Update Travis CI configuration to test on multiple ESLint verions
[7.9.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.8.2...v7.9.0
[#1755]: https://github.com/yannickcr/eslint-plugin-react/pull/1755
[#398]: https://github.com/yannickcr/eslint-plugin-react/issues/398
[#1737]: https://github.com/yannickcr/eslint-plugin-react/issues/1737
[#1793]: https://github.com/yannickcr/eslint-plugin-react/issues/1793
[#1796]: https://github.com/yannickcr/eslint-plugin-react/pull/1796
[#1779]: https://github.com/yannickcr/eslint-plugin-react/issues/1779
[#1794]: https://github.com/yannickcr/eslint-plugin-react/pull/1794
## [7.8.2] - 2018-05-13
### Fixed
* Fix crash in [`boolean-prop-naming`][] when encountering a required shape prop type ([#1791][] @pcorpet)
[7.8.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.8.1...v7.8.2
[#1791]: https://github.com/yannickcr/eslint-plugin-react/issues/1791
## [7.8.1] - 2018-05-12
### Fixed
* Fix crash in [`no-deprecated`][] when encountering a class constructor ([#1785][] @taddei)
[7.8.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.8.0...v7.8.1
[#1785]: https://github.com/yannickcr/eslint-plugin-react/issues/1785
## [7.8.0] - 2018-05-11
### Added
* Add support for fragments to [`react-in-jsx-scope`][] ([#1758][])
* Add support for Flow generic PropType to [`require-default-props`][] ([#1724][] @Miziak)
* Add component whitelist option to [`forbid-component-props`][] ([#1732][] @ThiefMaster)
* Add support for React 16.3 lifecycle methods to [`no-unused-prop-types`][] ([#1681][] @bvaughn)
* Add support for React 16.3 lifecycle methods to [`sort-comp`][] ([#1767][] @joe-denea)
* Add support for React 16.3 lifecycle methods to [`no-typos`][]
* Add support for `prevState` and `nextState` to [`no-unused-state`][] ([#1759][])
* Add warnings for `componentWillMount`, `componentWillReceiveProps` and `componentWillUpdate` lifecycle methods in [`no-deprecated`][] ([#1750][] @sergei-startsev)
### Fixed
* Fix [`no-typos`][] false positive on custom `PropType` classes ([#1389][] @brettdh)
* Fix [`boolean-prop-naming`][] to handle required props ([#1389][] @louisscruz)
* Fix [`jsx-curly-brace-presence`][] to allow whitespace JSX container ([#1717][] @sharmilajesupaul)
* Fix [`jsx-no-bind`][] to handle ternary conditions ([#1722][] @gwenaellarmet)
### Changed
* Documentation improvements ([#1699][] @ronanmathew, [#1743][] @ybiquitous, [#1753][] @awthwathje, [#1783][] @chentsulin, [#1703][] @ferhatelmas)
[7.8.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.7.0...v7.8.0
[#1758]: https://github.com/yannickcr/eslint-plugin-react/issues/1758
[#1724]: https://github.com/yannickcr/eslint-plugin-react/issues/1724
[#1732]: https://github.com/yannickcr/eslint-plugin-react/issues/1732
[#1681]: https://github.com/yannickcr/eslint-plugin-react/pull/1681
[#1767]: https://github.com/yannickcr/eslint-plugin-react/issues/1767
[#1759]: https://github.com/yannickcr/eslint-plugin-react/issues/1759
[#1750]: https://github.com/yannickcr/eslint-plugin-react/pull/1750
[#1389]: https://github.com/yannickcr/eslint-plugin-react/issues/1389
[#1717]: https://github.com/yannickcr/eslint-plugin-react/issues/1717
[#1722]: https://github.com/yannickcr/eslint-plugin-react/issues/1722
[#1699]: https://github.com/yannickcr/eslint-plugin-react/pull/1699
[#1743]: https://github.com/yannickcr/eslint-plugin-react/pull/1743
[#1753]: https://github.com/yannickcr/eslint-plugin-react/issues/1753
[#1783]: https://github.com/yannickcr/eslint-plugin-react/pull/1783
[#1703]: https://github.com/yannickcr/eslint-plugin-react/pull/1703
## [7.7.0] - 2018-02-19
### Added
* [`forbid-foreign-prop-types`][]: add `allowInPropTypes` option ([#1655][] @iansu)
* Add [`jsx-max-depth`][] rule ([#1260][] @chriswong)
### Fixed
* [`no-access-state-in-setstate`][]: Exclude references to this.state in setState callback ([#1610][] @pfhayes)
* [`no-danger-with-children`][]: prevent infinite loop ([#1571][] @ljharb)
* [`sort-prop-types`][]: Fix sortShapeProp when shape is not an object literal ([#1669][] @justinanastos)
* [`jsx-child-element-spacing`][]: fix error location ([#1666][] @pfhayes)
* [`no-unused-prop-types`][]: fix for createClass ([#1675][] @yuri-sakharov)
* [`prop-types`][]: include nextProps checking in shouldComponentUpdate ([#1690][] @amerryma)
* [`jsx-curly-spacing`][]: refactor to fix start and end-braces in a single pass ([#1414][] @s-h-a-d-o-w)
### Changed
* [`jsx-child-element-spacing`][]: add missing docs ([#1665][] @pfhayes); fix docs ([#1670][] @SammyM)
[7.7.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.6.1...v7.7.0
[#1690]: https://github.com/yannickcr/eslint-plugin-react/pull/1690
[#1675]: https://github.com/yannickcr/eslint-plugin-react/pull/1675
[#1670]: https://github.com/yannickcr/eslint-plugin-react/pull/1670
[#1669]: https://github.com/yannickcr/eslint-plugin-react/pull/1669
[#1666]: https://github.com/yannickcr/eslint-plugin-react/pull/1666
[#1665]: https://github.com/yannickcr/eslint-plugin-react/pull/1665
[#1655]: https://github.com/yannickcr/eslint-plugin-react/pull/1655
[#1610]: https://github.com/yannickcr/eslint-plugin-react/pull/1610
[#1414]: https://github.com/yannickcr/eslint-plugin-react/pull/1414
[#1260]: https://github.com/yannickcr/eslint-plugin-react/pull/1260
[#1571]: https://github.com/yannickcr/eslint-plugin-react/issues/1571
## [7.6.1] - 2018-01-28
### Fixed
* Flow: fix crash in [`prop-types`][] with recursive type annotations ([#1653][] @jetpacmonkey)
* Fix [`no-unknown-property`][] to properly recognize `crossOrigin` instead of `crossorigin`, and allow it on `link` tags. ([#1659][] @jzDev)
* Fix [`no-access-state-in-setstate`][] to handle object spread ([#1657][] @ljharb)
[7.6.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.6.0...v7.6.1
[#1659]: https://github.com/yannickcr/eslint-plugin-react/pull/1659
[#1657]: https://github.com/yannickcr/eslint-plugin-react/issues/1657
[#1653]: https://github.com/yannickcr/eslint-plugin-react/pull/1653
## [7.6.0] - 2018-01-25
### Added
* Add [`forbid-dom-props`][] rule ([#1562][] @davazp)
* Add [`jsx-child-element-spacing`][] rule ([#1515][] @pfhayes)
* Add [`no-this-in-sfc`][] rule ([#1435][] @jomasti)
* Add [`jsx-sort-default-props`][] rule ([#281][] @b0gok)
* Add `message` option to [`boolean-prop-naming`][] ([#1588][] @louisscruz)
* Add `beforeClosing` option to [`jsx-tag-spacing`][] ([#1396][] @cjskillingstad)
* Add `instance-methods` and `instance-variables` to [`sort-comp`][] ([#599][] @RDGthree)
* Add `propWrapperFunctions` support for [`boolean-prop-naming`][] ([#1478][] @jomasti)
* Add warning for `React.addons.TestUtils` in [`no-deprecated`][] ([#1644][] @nirnaor)
* Add URL to rule documentation to the rules metadata ([#1635][] @Arcanemagus)
### Fixed
* Fix crashes in [`no-access-state-in-setstate`][] ([#1559][] @jomasti, [#1611][] @pfhayes)
* Fix crash in [`require-optimization`][] when encountering arrays with empty items as values in object ([#1621][] @kamataryo)
* Fix crash in [`no-unused-prop-types`][] when passing an empty function as a PropType ([#1542][] [#1581][] @kevinzwhuang)
* Fix crash in [`no-typos`][] when using `PropType.shape` without arguments ([#1471][] @mrichmond)
* Fix crash when using Unions in flow propTypes ([#1468][] @justinanastos)
* Fix missing meta in [`jsx-tag-spacing`][] ([#1650][] @flyerhzm)
* Fix [`no-unused-state`][] to detect usage of `this.state` as an object ([#1572][])
* Fix [`no-access-state-in-setstate`][] to detect when the `state` variable is destructured from `this.state` ([#1597][] @jaaberg)
* Fix [`jsx-no-literals`][] to correctly find string literals part of BinaryExpressions ([#1511][] @jaaberg)
* Fix [`no-typos`][] false positive on custom propTypes with isRequired ([#1607][] @lfades)
* Fix [`prop-types`][] to check for `nextProps` in `componentWillReceiveProps` ([#1636][] @xjmdoo)
* Fix [`no-unknown-property`][] to not pascal-casing `crossorigin` attribute and only allow it on script/img/video ([#1642][] @ljharb)
### Changed
* Improve [`jsx-wrap-multilines`][] auto fix ([#1576][] @sharmilajesupaul)
* Export `defaultConfig` from [`sort-comp`][] rule for programmatic use ([#1578][] @Andarist)
* Documentation improvements ([#1552][] @TSMMark, [#1566][] @lukeapage, [#1624][] @alexilyaev, @ljharb)
* Update dependencies (@ljharb)
[7.6.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.5.1...v7.6.0
[#1562]: https://github.com/yannickcr/eslint-plugin-react/pull/1562
[#1515]: https://github.com/yannickcr/eslint-plugin-react/issues/1515
[#1435]: https://github.com/yannickcr/eslint-plugin-react/issues/1435
[#281]: https://github.com/yannickcr/eslint-plugin-react/issues/281
[#1588]: https://github.com/yannickcr/eslint-plugin-react/pull/1588
[#1396]: https://github.com/yannickcr/eslint-plugin-react/issues/1396
[#599]: https://github.com/yannickcr/eslint-plugin-react/issues/599
[#1478]: https://github.com/yannickcr/eslint-plugin-react/pull/1478
[#1644]: https://github.com/yannickcr/eslint-plugin-react/issues/1644
[#1635]: https://github.com/yannickcr/eslint-plugin-react/pull/1635
[#1559]: https://github.com/yannickcr/eslint-plugin-react/issues/1559
[#1611]: https://github.com/yannickcr/eslint-plugin-react/pull/1611
[#1621]: https://github.com/yannickcr/eslint-plugin-react/pull/1621
[#1542]: https://github.com/yannickcr/eslint-plugin-react/issues/1542
[#1581]: https://github.com/yannickcr/eslint-plugin-react/issues/1581
[#1471]: https://github.com/yannickcr/eslint-plugin-react/issues/1471
[#1468]: https://github.com/yannickcr/eslint-plugin-react/issues/1468
[#1650]: https://github.com/yannickcr/eslint-plugin-react/pull/1650
[#1572]: https://github.com/yannickcr/eslint-plugin-react/issues/1572
[#1597]: https://github.com/yannickcr/eslint-plugin-react/issues/1597
[#1511]: https://github.com/yannickcr/eslint-plugin-react/issues/1511
[#1607]: https://github.com/yannickcr/eslint-plugin-react/issues/1607
[#1636]: https://github.com/yannickcr/eslint-plugin-react/issues/1636
[#1642]: https://github.com/yannickcr/eslint-plugin-react/issues/1642
[#1576]: https://github.com/yannickcr/eslint-plugin-react/pull/1576
[#1578]: https://github.com/yannickcr/eslint-plugin-react/pull/1578
[#1552]: https://github.com/yannickcr/eslint-plugin-react/pull/1552
[#1566]: https://github.com/yannickcr/eslint-plugin-react/pull/1566
[#1624]: https://github.com/yannickcr/eslint-plugin-react/pull/1624
## [7.5.1] - 2017-11-19
### Fixed
* Fix [`jsx-no-bind`][] crash ([#1543][] @jomasti)
* Fix [`no-unused-prop-types`][] crash ([#1542][] @jomasti)
### Changed
* Documentation improvements ([#1546][] @jseminck)
[7.5.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.5.0...v7.5.1
[#1543]: https://github.com/yannickcr/eslint-plugin-react/issues/1543
[#1542]: https://github.com/yannickcr/eslint-plugin-react/issues/1542
[#1546]: https://github.com/yannickcr/eslint-plugin-react/issues/1546
## [7.5.0] - 2017-11-18
### Added
* Add [`jsx-one-expression-per-line`][] rule ([#1497][] @TSMMark)
* Add [`destructuring-assignment`][] rule ([#1462][] @DianaSuvorova)
* Add [`no-access-state-in-setstate`][] rule ([#1374][] @jaaberg)
* Add [`button-has-type`][] rule ([#1525][] @Hypnosphi)
* Add warnings for `React.DOM` factories in [`no-deprecated`][] ([#1530][] @backjo)
* Add `sortShapeProp` option to [`sort-prop-types`][] ([#1476][] @jomasti)
* Add `parens-new-line` option to [`jsx-wrap-multilines`][] ([#1475][] @jomasti)
* Add `checkContextTypes` and `checkChildContextTypes` options to [`forbid-prop-types`][] ([#1533][] @jomasti)
* Add `forbidDefaultForRequired ` option to [`require-default-props`][] ([#1524][] @jomasti)
* Add new nodes support to [`jsx-wrap-multilines`][] ([#1384][] @evgeny-petukhov)
### Fixed
* Fix [`jsx-curly-brace-presence`][] auto fix by bailing out when some chars exist ([#1479][] [#1449][] @jackyho112)
* Fix [`boolean-prop-naming`][] crash with Object spread ([#1485][] @track0x1)
* Fix [`no-unused-state`][] to correctly handle arrow function class method ([#1363][] @jackyho112)
* Fix incompatibility with [`typescript-eslint-parser`](https://github.com/eslint/typescript-eslint-parser) ([#1496][] @timothykang)
* Fix [`jsx-no-bind`][] to only warn for props and account for variable declaration ([#1444][] [#1395][] [#1417][] @jackyho112)
* Fix [`no-unused-prop-types`][] to handle props usage in custom prop validators ([#1518][] @petersendidit)
* Fix [`prefer-stateless-function`][] to account for `contextTypes` and `defaultProps` ([#1521][] @jomasti)
* Fix [`jsx-no-comment-textnodes`][] to not warn when using two slashes via html entities at the beginning of a literal ([#1517][] @jomasti)
* Fix [`default-props-match-prop-types`][] crash ([#1499][] @jomasti)
* Fix [`no-unused-prop-types`][] to handle props used in the `setState` update callback ([#1507][] @petersendidit)
* Fix alignment bug in [`jsx-indent`][] ([#1246][] @jseminck)
### Changed
* Documentation improvements ([#1438][] @jseminck, [#1464][] @AlaaAttya, [#1494][] @piperchester, [#1467][] @felicio, [#1512][] @adam-golab)
* Code refactoring ([#1423][] [#1398][] @jseminck, [#1500][] [#1514][] @Aladdin-ADD, [#1502][] @SimenB, [#1508][] [#1526][] @jomasti, @ljharb)
* Update dependencies ([#1450][] @leebyron, @ljharb)
[7.5.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.4.0...v7.5.0
[#1497]: https://github.com/yannickcr/eslint-plugin-react/pull/1497
[#1462]: https://github.com/yannickcr/eslint-plugin-react/pull/1462
[#1374]: https://github.com/yannickcr/eslint-plugin-react/pull/1374
[#1525]: https://github.com/yannickcr/eslint-plugin-react/pull/1525
[#1530]: https://github.com/yannickcr/eslint-plugin-react/pull/1530
[#1476]: https://github.com/yannickcr/eslint-plugin-react/issues/1476
[#1475]: https://github.com/yannickcr/eslint-plugin-react/pull/1475
[#1533]: https://github.com/yannickcr/eslint-plugin-react/pull/1533
[#1524]: https://github.com/yannickcr/eslint-plugin-react/issues/1524
[#1384]: https://github.com/yannickcr/eslint-plugin-react/pull/1384
[#1479]: https://github.com/yannickcr/eslint-plugin-react/issues/1479
[#1449]: https://github.com/yannickcr/eslint-plugin-react/issues/1449
[#1485]: https://github.com/yannickcr/eslint-plugin-react/pull/1485
[#1363]: https://github.com/yannickcr/eslint-plugin-react/issues/1363
[#1496]: https://github.com/yannickcr/eslint-plugin-react/pull/1496
[#1444]: https://github.com/yannickcr/eslint-plugin-react/issues/1444
[#1395]: https://github.com/yannickcr/eslint-plugin-react/issues/1395
[#1417]: https://github.com/yannickcr/eslint-plugin-react/issues/1417
[#1518]: https://github.com/yannickcr/eslint-plugin-react/pull/1518
[#1521]: https://github.com/yannickcr/eslint-plugin-react/issues/1521
[#1517]: https://github.com/yannickcr/eslint-plugin-react/issues/1517
[#1499]: https://github.com/yannickcr/eslint-plugin-react/issues/1499
[#1507]: https://github.com/yannickcr/eslint-plugin-react/pull/1507
[#1246]: https://github.com/yannickcr/eslint-plugin-react/issues/1246
[#1438]: https://github.com/yannickcr/eslint-plugin-react/pull/1438
[#1464]: https://github.com/yannickcr/eslint-plugin-react/pull/1464
[#1494]: https://github.com/yannickcr/eslint-plugin-react/pull/1494
[#1467]: https://github.com/yannickcr/eslint-plugin-react/pull/1467
[#1512]: https://github.com/yannickcr/eslint-plugin-react/pull/1512
[#1423]: https://github.com/yannickcr/eslint-plugin-react/pull/1423
[#1500]: https://github.com/yannickcr/eslint-plugin-react/pull/1500
[#1514]: https://github.com/yannickcr/eslint-plugin-react/pull/1514
[#1502]: https://github.com/yannickcr/eslint-plugin-react/pull/1502
[#1508]: https://github.com/yannickcr/eslint-plugin-react/pull/1508
[#1526]: https://github.com/yannickcr/eslint-plugin-react/pull/1526
[#1398]: https://github.com/yannickcr/eslint-plugin-react/pull/1398
[#1450]: https://github.com/yannickcr/eslint-plugin-react/pull/1450
## [7.4.0] - 2017-09-24
### Added
* Add Flow 0.53 support ([#1376][] @jseminck)
* Add [`jsx-curly-brace-presence`][] rule ([#1310][] @jackyho112)
* Add support for Flow IntersectionTypeAnnotation to [`prop-types`][] and [`no-unused-prop-types`][] ([#1364][] [#1323][] @jseminck)
* Add support for Flow TypedArgument to [`no-unused-prop-types`][] ([#1412][] @jseminck)
* Add support for Flow ClassExpressions to [`prop-types`][] ([#1400][] @jseminck)
* Add support for Flow read-only props to [`no-unused-prop-types`][] ([#1388][] @jseminck)
* Add more tests for [`prop-types`][] and [`no-unused-prop-types`][] ([#1381][] @DianaSuvorova)
* Add support for increment and decrement operations to [`no-direct-mutation-state`][] ([#1386][] @zpao)
### Fixed
* Fix [`no-unused-state`][] to ignore computed property keys ([#1361][] @jackyho112)
* Fix [`no-typos`][] crash ([#1406][] @jseminck)
* Fix [`boolean-prop-naming`][] crash ([#1409][] @EvHaus)
* Fix [`prop-types`][] and [`no-unused-prop-types`][] crash with IntersectionTypeAnnotation ([#1413][] @jseminck)
### Changed
* Documentation improvements ([#1392][] @xcatliu, [#1403][] @piperchester, [#1432][] @jneuendorf)
[7.4.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.3.0...v7.4.0
[#1376]: https://github.com/yannickcr/eslint-plugin-react/issues/1376
[#1310]: https://github.com/yannickcr/eslint-plugin-react/issues/1310
[#1364]: https://github.com/yannickcr/eslint-plugin-react/issues/1364
[#1323]: https://github.com/yannickcr/eslint-plugin-react/issues/1323
[#1412]: https://github.com/yannickcr/eslint-plugin-react/pull/1412
[#1400]: https://github.com/yannickcr/eslint-plugin-react/pull/1400
[#1388]: https://github.com/yannickcr/eslint-plugin-react/issues/1388
[#1381]: https://github.com/yannickcr/eslint-plugin-react/pull/1381
[#1361]: https://github.com/yannickcr/eslint-plugin-react/issues/1361
[#1406]: https://github.com/yannickcr/eslint-plugin-react/pull/1406
[#1409]: https://github.com/yannickcr/eslint-plugin-react/pull/1409
[#1392]: https://github.com/yannickcr/eslint-plugin-react/pull/1392
[#1403]: https://github.com/yannickcr/eslint-plugin-react/pull/1403
[#1386]: https://github.com/yannickcr/eslint-plugin-react/issues/1386
[#1413]: https://github.com/yannickcr/eslint-plugin-react/issues/1413
[#1432]: https://github.com/yannickcr/eslint-plugin-react/pull/1432
## [7.3.0] - 2017-08-21
### Added
* Add checks for `propTypes`, `contextTypes` and `childContextTypes` to [`no-typos`][] ([#213][] @DianaSuvorova)
### Fixed
* Fix [`boolean-prop-naming`][] crash ([#1369][] @EvHaus)
* Fix [`no-typos`][] crash ([#1353][] @jseminck)
* Fix [`require-default-props`][] stopping when it finds a component without props ([#1380][] @brgibson)
* Fix [`no-direct-mutation-state`][] detection with nested components ([#1382][])
### Changed
* Documentation improvements ([#1383][] @mjomble)
[7.3.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.2.1...v7.3.0
[#213]: https://github.com/yannickcr/eslint-plugin-react/issues/213
[#1369]: https://github.com/yannickcr/eslint-plugin-react/issues/1369
[#1353]: https://github.com/yannickcr/eslint-plugin-react/issues/1353
[#1380]: https://github.com/yannickcr/eslint-plugin-react/pull/1380
[#1382]: https://github.com/yannickcr/eslint-plugin-react/issues/1382
[#1383]: https://github.com/yannickcr/eslint-plugin-react/pull/1383
## [7.2.1] - 2017-08-14
### Fixed
* Fix [`forbid-prop-types`][] crash on identifiers ([#1352][] @ljharb)
* Fix [`boolean-prop-naming`][] crash with propTypes wrapper ([#1354][] @dustinsoftware)
* Fix [`prop-types`][] false positive with local variable `props` ([#1288][] @DianaSuvorova)
* Fix wrapped propTypes detection ([#1366][])
### Changed
* Documentation improvements ([#1123][] @penx)
[7.2.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.2.0...v7.2.1
[#1352]: https://github.com/yannickcr/eslint-plugin-react/issues/1352
[#1354]: https://github.com/yannickcr/eslint-plugin-react/issues/1354
[#1288]: https://github.com/yannickcr/eslint-plugin-react/issues/1288
[#1366]: https://github.com/yannickcr/eslint-plugin-react/issues/1366
[#1123]: https://github.com/yannickcr/eslint-plugin-react/issues/1123
## [7.2.0] - 2017-08-09
### Added
* Add [`no-unused-state`][] rule ([#1103][] @wbinnssmith)
* Add [`boolean-prop-naming`][] rule ([#1264][] @EvHaus)
* Add [`no-typos`][] rule ([#1189][] @jseminck, [#1294][] @haridusenadeera)
* Add auto fix for [`jsx-sort-props`][] ([#1273][] @Overload119)
* Add `getters` and `setters` groups to [`sort-comp`][] ([#100][] @RDGthree)
* Add `noStrings` option to [`jsx-no-literals`][] ([#1202][] @deecewan)
* Add inverse option for `always`/`never` to [`jsx-boolean-value`][] ([#1249][] @ljharb)
### Fixed
* Fix [`no-direct-mutation-state`][] to disallow `this.state` mutation in constructor ([#832][] @burabure)
* Fix [`jsx-no-target-blank`][] crash on empty `rel` attribute ([#1269][] @dustinsoftware)
* Fix [`sort-comp`][] component detection with `ClassExpression` ([#1076][] @webOS101)
* Fix [`no-unused-prop-types`][] detection with async class properties and methods ([#1053][] @benstepp)
* Fix [`void-dom-elements-no-children`][] crash ([#1226][] @kokobeware)
* Fix [`no-danger-with-children`][] to ignore line breaks ([#1262][])
* Fix [`no-danger-with-children`][] crash with undefined ([#1287][])
* Fix [`jsx-no-target-blank`][] crash ([#1296][] @jseminck)
* Fix [`no-unused-prop-types`][] to no longer ignore components with no used props ([#1303][] @DianaSuvorova)
* Fix [`jsx-no-duplicate-props`][] crash ([#969][] @marcelmokos)
* Fix [`jsx-no-literals`][] false positives ([#1301][] @davidyorr)
* Fix [`no-find-dom-node`][] detection with named imports ([#785][] @Hypnosphi)
* Fix proTypes-related rules detection with wrapped propTypes ([#1266][] @dustinsoftware)
* Fix [`no-unused-prop-types`][] detection with propTypes wrapped in a function ([#1253][] @dustinsoftware)
* Fix [`no-unused-prop-types`][] detection with destructured use of properties ([#816][] @DianaSuvorova)
* Fix [`no-unused-prop-types`][] detection with inline functions ([#1309][] @DianaSuvorova)
* Fix [`no-unused-prop-types`][] `skipShapeProps` option with Flow annotations ([#1335][] @DianaSuvorova)
* Fix [`jsx-curly-spacing`][] schema incompatibility with ESLint 4.2.0 ([#1290][] @jseminck)
### Changed
* Documentation improvements ([#1261][] @mminer, [#1005][] @yooungt13, [#1289][] @konekoya, [#1308][] @xcatliu, [#1306][] @egberts, [#1329][] [#1344][] @DianaSuvorova)
* ES6-ify codebase ([#1274][] [#1277][] [#1281][] @dfilipidisz)
* Code refactoring (@ljharb)
* Update Travis CI and AppVeyor CI configurations (@lencioni)
[7.2.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.1.0...v7.2.0
[#1103]: https://github.com/yannickcr/eslint-plugin-react/pull/1103
[#1273]: https://github.com/yannickcr/eslint-plugin-react/pull/1273
[#1264]: https://github.com/yannickcr/eslint-plugin-react/pull/1264
[#1189]: https://github.com/yannickcr/eslint-plugin-react/issues/1189
[#1294]: https://github.com/yannickcr/eslint-plugin-react/pull/1294
[#100]: https://github.com/yannickcr/eslint-plugin-react/issues/100
[#1202]: https://github.com/yannickcr/eslint-plugin-react/pull/1202
[#1249]: https://github.com/yannickcr/eslint-plugin-react/issues/1249
[#832]: https://github.com/yannickcr/eslint-plugin-react/issues/832
[#1269]: https://github.com/yannickcr/eslint-plugin-react/issues/1269
[#1076]: https://github.com/yannickcr/eslint-plugin-react/issues/1076
[#1053]: https://github.com/yannickcr/eslint-plugin-react/issues/1053
[#1226]: https://github.com/yannickcr/eslint-plugin-react/pull/1226
[#1262]: https://github.com/yannickcr/eslint-plugin-react/issues/1262
[#1287]: https://github.com/yannickcr/eslint-plugin-react/issues/1287
[#1296]: https://github.com/yannickcr/eslint-plugin-react/issues/1296
[#1303]: https://github.com/yannickcr/eslint-plugin-react/pull/1303
[#969]: https://github.com/yannickcr/eslint-plugin-react/issues/969
[#1301]: https://github.com/yannickcr/eslint-plugin-react/issues/1301
[#785]: https://github.com/yannickcr/eslint-plugin-react/issues/785
[#1266]: https://github.com/yannickcr/eslint-plugin-react/issues/1266
[#1253]: https://github.com/yannickcr/eslint-plugin-react/pull/1253
[#816]: https://github.com/yannickcr/eslint-plugin-react/issues/816
[#1309]: https://github.com/yannickcr/eslint-plugin-react/issues/1309
[#1261]: https://github.com/yannickcr/eslint-plugin-react/pull/1261
[#1005]: https://github.com/yannickcr/eslint-plugin-react/pull/1005
[#1289]: https://github.com/yannickcr/eslint-plugin-react/pull/1289
[#1308]: https://github.com/yannickcr/eslint-plugin-react/pull/1308
[#1306]: https://github.com/yannickcr/eslint-plugin-react/issues/1306
[#1329]: https://github.com/yannickcr/eslint-plugin-react/pull/1329
[#1274]: https://github.com/yannickcr/eslint-plugin-react/pull/1274
[#1277]: https://github.com/yannickcr/eslint-plugin-react/pull/1277
[#1281]: https://github.com/yannickcr/eslint-plugin-react/pull/1281
[#1335]: https://github.com/yannickcr/eslint-plugin-react/issues/1335
[#1344]: https://github.com/yannickcr/eslint-plugin-react/pull/1344
[#1290]: https://github.com/yannickcr/eslint-plugin-react/pull/1290
## [7.1.0] - 2017-06-13
### Added
* Add [`default-props-match-prop-types`][] rule ([#1022][] @webOS101)
* Add [`no-redundant-should-component-update`][] rule ([#985][] @jomasti)
* Add [`jsx-closing-tag-location`][] rule ([#1206][] @rsolomon)
* Add auto fix for [`jsx-max-props-per-line`][] ([#949][] @snowypowers)
* Add support for lifecycle methods with `nextProps`/`prevProps` in [`no-unused-prop-types`][] ([#1213][] @jseminck)
* Add Flow SuperTypeParameters support to [`prop-types`][] ([#1236][] @gpeal)
* Add `children` option to [`jsx-curly-spacing`][] ([#857][] @fatfisz)
### Fixed
* Fix [`prefer-stateless-function`][] `ignorePureComponents` option when using class expressions ([#1122][] @dreid)
* Fix [`void-dom-elements-no-children`][] crash ([#1195][] @oliviertassinari)
* Fix [`require-default-props`][] quoted `defaultProps` detection ([#1201][])
* Fix [`jsx-sort-props`][] bug with `ignoreCase` and `callbacksLast` options set to `true` ([#1175][] @jseminck)
* Fix [`no-unused-prop-types`][] false positive ([#1183][] [#1135][] @jseminck)
* Fix [`jsx-no-target-blank`][] to not issue errors for non-external URLs ([#1216][] @gfx)
* Fix [`prop-types`][] quoted Flow types detection ([#1132][] @ethanjgoldberg)
* Fix [`no-array-index-key`][] crash with `key` without value ([#1242][] @jseminck)
### Changed
* Set ESLint 4.0.0 as valid peerDependency
* Dead code removal ([#1227][] @jseminck)
* Update dependencies (@ljharb)
* Documentation improvements ([#1071][] @adnasa, [#1199][] @preco21, [#1222][] @alexilyaev, [#1231][] @vonovak, [#1239][] @webOS101, [#1241][] @102)
[7.1.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.0.1...v7.1.0
[#1022]: https://github.com/yannickcr/eslint-plugin-react/issues/1022
[#949]: https://github.com/yannickcr/eslint-plugin-react/pull/949
[#985]: https://github.com/yannickcr/eslint-plugin-react/issues/985
[#1213]: https://github.com/yannickcr/eslint-plugin-react/issues/1213
[#1236]: https://github.com/yannickcr/eslint-plugin-react/pull/1236
[#1206]: https://github.com/yannickcr/eslint-plugin-react/issues/1206
[#857]: https://github.com/yannickcr/eslint-plugin-react/issues/857
[#1122]: https://github.com/yannickcr/eslint-plugin-react/pull/1122
[#1195]: https://github.com/yannickcr/eslint-plugin-react/pull/1195
[#1201]: https://github.com/yannickcr/eslint-plugin-react/issues/1201
[#1175]: https://github.com/yannickcr/eslint-plugin-react/issues/1175
[#1183]: https://github.com/yannickcr/eslint-plugin-react/issues/1183
[#1135]: https://github.com/yannickcr/eslint-plugin-react/issues/1135
[#1216]: https://github.com/yannickcr/eslint-plugin-react/pull/1216
[#1132]: https://github.com/yannickcr/eslint-plugin-react/pull/1132
[#1242]: https://github.com/yannickcr/eslint-plugin-react/issues/1242
[#1227]: https://github.com/yannickcr/eslint-plugin-react/pull/1227
[#1071]: https://github.com/yannickcr/eslint-plugin-react/pull/1071
[#1199]: https://github.com/yannickcr/eslint-plugin-react/pull/1199
[#1222]: https://github.com/yannickcr/eslint-plugin-react/pull/1222
[#1231]: https://github.com/yannickcr/eslint-plugin-react/pull/1231
[#1239]: https://github.com/yannickcr/eslint-plugin-react/pull/1239
[#1241]: https://github.com/yannickcr/eslint-plugin-react/pull/1241
## [7.0.1] - 2017-05-13
### Fixed
* Fix [`jsx-curly-spacing`][] `allowMultiline` option being undefined in some cases ([#1179][] @fatfisz)
* Fix [`jsx-curly-spacing`][] newline with object literals bug ([#1180][] @fatfisz)
* Fix [`prop-types`][] to not mark class static function as valid propTypes definition ([#1174][])
* Fix [`prop-types`][] crash with Flow spread operator ([#1178][])
* Fix [`void-dom-elements-no-children`][] crash on faulty `createElement` detection ([#1101][])
* Fix [`require-default-props`][] error message for quoted props ([#1161][])
### Changed
* Update dependencies
* Documentation improvements ([#1173][] @luftywiranda13, [#1192][] @markus-willems)
[7.0.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v7.0.0...v7.0.1
[#1179]: https://github.com/yannickcr/eslint-plugin-react/pull/1179
[#1180]: https://github.com/yannickcr/eslint-plugin-react/pull/1180
[#1174]: https://github.com/yannickcr/eslint-plugin-react/issues/1174
[#1178]: https://github.com/yannickcr/eslint-plugin-react/issues/1178
[#1101]: https://github.com/yannickcr/eslint-plugin-react/issues/1101
[#1161]: https://github.com/yannickcr/eslint-plugin-react/issues/1161
[#1173]: https://github.com/yannickcr/eslint-plugin-react/pull/1173
[#1192]: https://github.com/yannickcr/eslint-plugin-react/pull/1192
## [7.0.0] - 2017-05-06
### Added
* Add [`no-will-update-set-state`][] rule ([#1139][] @ManThursday)
* Add import and destructuring support to [`no-deprecated`][]
* Add `reservedFirst` option to [`jsx-sort-props`][] ([#1134][] @MatthewHerbst)
### Breaking
* Update rules for React 15.5.0:
* Add warnings for `React.PropTypes` and `React.createClass` in [`no-deprecated`][] ([#1148][] @Calyhre)
* Update `createClass` component factory to `createReactClass`. This is used for React component detection, if you still using `React.createClass` use the [shared settings](README.md#configuration) to specify `createClass` as component factory
* Drop Node.js < 4 support ([#1038][] @ljharb)
* Add [`no-danger-with-children`][] rule to recommended rules ([#748][] @ljharb)
* Add [`no-string-refs`][] rule to recommended rules ([#749][] @ljharb)
* Add [`jsx-key`][] rule to recommended rules ([#750][] @ljharb)
* Add [`jsx-no-comment-textnodes`][] rule to recommended rules ([#751][] @ljharb)
* Add [`jsx-no-target-blank`][] rule to recommended rules ([#752][] @ljharb)
* Add [`no-unescaped-entities`][] rule to recommended rules ([#841][] @ljharb)
* Add [`no-children-prop`][] rule to recommended rules ([#842][] @ljharb)
* Remove deprecated [`wrap-multilines`][] rule, use [`jsx-wrap-multilines`][] instead
* Remove deprecated [`no-comment-textnodes`][] rule, use [`jsx-no-comment-textnodes`][] instead
* Remove deprecated [`require-extension`][] rule, use the [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) [`extensions`](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/extensions.md) rule instead
* Deprecate [`jsx-space-before-closing`][] rule, use the [`jsx-tag-spacing`][] rule instead. [`jsx-space-before-closing`][] still works but will trigger a warning ([#1070][] @afairb)
* [`jsx-first-prop-new-line`][] default is now `multiline-multiprop` ([#802][] @kokarn)
* [`jsx-wrap-multilines`][] now checks arrow functions without block body. It can be deactivated in [rule options](docs/rules/jsx-wrap-multilines.md#rule-details) ([#790][] @ColCh)
* [`jsx-no-undef`][] will not check the global scope by default. You can force it with the [`allowGlobals`](docs/rules/jsx-no-undef.md#allowglobals) option ([#1013][] @jomasti)
### Fixed
* Fix [`no-unused-prop-types`][] false positive with `nextProps` ([#1079][] @Kerumen)
* Fix [`prefer-stateless-function`][] to not warn on classes with decorators ([#1034][] @benstepp)
### Changed
* Update dependencies ([#1119][] @danez)
* Documentation improvements ([#1121][] @omerzach, [#1130][] @dreid, [#1131][] @shoesandsocks, [#1149][] @Adzz, [#1151][] @MatthewHerbst, [#1167][] @Slumber86)
[7.0.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.10.3...v7.0.0
[#1134]: https://github.com/yannickcr/eslint-plugin-react/pull/1134
[#1038]: https://github.com/yannickcr/eslint-plugin-react/pull/1038
[#802]: https://github.com/yannickcr/eslint-plugin-react/pull/802
[#790]: https://github.com/yannickcr/eslint-plugin-react/issues/790
[#1013]: https://github.com/yannickcr/eslint-plugin-react/pull/1013
[#1070]: https://github.com/yannickcr/eslint-plugin-react/pull/1070
[#748]: https://github.com/yannickcr/eslint-plugin-react/issues/748
[#749]: https://github.com/yannickcr/eslint-plugin-react/issues/749
[#750]: https://github.com/yannickcr/eslint-plugin-react/issues/750
[#751]: https://github.com/yannickcr/eslint-plugin-react/issues/751
[#752]: https://github.com/yannickcr/eslint-plugin-react/issues/752
[#841]: https://github.com/yannickcr/eslint-plugin-react/issues/841
[#842]: https://github.com/yannickcr/eslint-plugin-react/issues/842
[#1139]: https://github.com/yannickcr/eslint-plugin-react/pull/1139
[#1148]: https://github.com/yannickcr/eslint-plugin-react/pull/1148
[#1079]: https://github.com/yannickcr/eslint-plugin-react/issues/1079
[#1034]: https://github.com/yannickcr/eslint-plugin-react/issues/1034
[#1119]: https://github.com/yannickcr/eslint-plugin-react/pull/1119
[#1121]: https://github.com/yannickcr/eslint-plugin-react/pull/1121
[#1130]: https://github.com/yannickcr/eslint-plugin-react/pull/1130
[#1131]: https://github.com/yannickcr/eslint-plugin-react/pull/1131
[#1149]: https://github.com/yannickcr/eslint-plugin-react/pull/1149
[#1151]: https://github.com/yannickcr/eslint-plugin-react/pull/1151
[#1167]: https://github.com/yannickcr/eslint-plugin-react/pull/1167
## [6.10.3] - 2017-03-20
### Fixed
* Revert [#1057][] due to issues with [`jsx-indent`][] ([#1117][])
[6.10.3]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.10.2...v6.10.3
## [6.10.2] - 2017-03-19
### Fixed
* Fix [`jsx-indent`][] indentation calculation with nested JSX ([#1117][])
[6.10.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.10.1...v6.10.2
[#1117]: https://github.com/yannickcr/eslint-plugin-react/issues/1117
## [6.10.1] - 2017-03-19
### Fixed
* Fix [`jsx-indent`][] auto fix with tabs ([#1057][] @kentcdodds @webOS101)
* Fix [`jsx-indent`][] crash ([#1061][] @iancmyers)
* Fix [`void-dom-elements-no-children`][] crash and fix it to only checks for a createElement call from
React ([#1073][] @jomasti)
* Fix component detection that caused a false positive in [`no-multi-comp`][] ([#1088][] @benstepp)
[6.10.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.10.0...v6.10.1
[#1057]: https://github.com/yannickcr/eslint-plugin-react/issues/1057
[#1061]: https://github.com/yannickcr/eslint-plugin-react/issues/1061
[#1073]: https://github.com/yannickcr/eslint-plugin-react/issues/1073
[#1088]: https://github.com/yannickcr/eslint-plugin-react/issues/1088
## [6.10.0] - 2017-02-16
### Added
* Add [`forbid-foreign-prop-types`][] rule ([#696][] @iancmyers)
* Add [`void-dom-elements-no-children`][] rule ([#709][] @lencioni)
* Add [`forbid-elements`][] rule ([#887][] @kentor)
* Add `noSortAlphabetically` option to [`jsx-sort-props`][] ([#541][] [#786][] @markus101)
* Add `when` option to [`jsx-max-props-per-line`][] ([#878][] @kentor)
* Add support for `nextProps` to [`prop-types`][] ([#814][])
### Fixed
* Fix [`require-default-props`][] crash ([#1029][])
* Fix [`require-default-props`][] rule when using Flow type from assignment ([#1043][] @wyze @CarlRosell)
* Fix [`style-prop-object`][] to not warn with explicit `null` or `undefined` ([#812][] @ljharb)
* Fix [`no-unused-prop-types`][] props detection in stateless components ([#885][] @BarryThePenguin)
* Fix [`display-name`] false positive with `document.createElement` ([#996][] @jomasti)
* Fix ESLint 2 compatibility (@ljharb)
### Changed
* Tests improvements (@ljharb)
* Documentation improvements ([#958][] @Jorundur, [#1010][] @amilajack, [#1041][] @EvNaverniouk, [#1050][] @lencioni, [#1062][] @dguo)
[6.10.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.9.0...v6.10.0
[#696]: https://github.com/yannickcr/eslint-plugin-react/issues/696
[#709]: https://github.com/yannickcr/eslint-plugin-react/issues/709
[#887]: https://github.com/yannickcr/eslint-plugin-react/issues/887
[#541]: https://github.com/yannickcr/eslint-plugin-react/issues/541
[#786]: https://github.com/yannickcr/eslint-plugin-react/issues/786
[#878]: https://github.com/yannickcr/eslint-plugin-react/issues/878
[#814]: https://github.com/yannickcr/eslint-plugin-react/issues/814
[#1029]: https://github.com/yannickcr/eslint-plugin-react/issues/1029
[#1043]: https://github.com/yannickcr/eslint-plugin-react/issues/1043
[#812]: https://github.com/yannickcr/eslint-plugin-react/issues/812
[#885]: https://github.com/yannickcr/eslint-plugin-react/issues/885
[#996]: https://github.com/yannickcr/eslint-plugin-react/issues/996
[#958]: https://github.com/yannickcr/eslint-plugin-react/pull/958
[#1010]: https://github.com/yannickcr/eslint-plugin-react/pull/1010
[#1041]: https://github.com/yannickcr/eslint-plugin-react/pull/1041
[#1050]: https://github.com/yannickcr/eslint-plugin-react/pull/1050
[#1062]: https://github.com/yannickcr/eslint-plugin-react/pull/1062
## [6.9.0] - 2017-01-08
### Added
* Add support for variable reference to [`sort-prop-types`][] ([#622][])
### Fixed
* Fix Node.js 0.10 support ([#1000][] @ljharb)
* Fix [`prop-types`][] to correctly assign props to components ([#991][])
### Changed
* Documentation improvements ([#995][] @rutsky)
[6.9.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.8.0...v6.9.0
[#622]: https://github.com/yannickcr/eslint-plugin-react/issues/622
[#1000]: https://github.com/yannickcr/eslint-plugin-react/pull/1000
[#991]: https://github.com/yannickcr/eslint-plugin-react/issues/991
[#995]: https://github.com/yannickcr/eslint-plugin-react/pull/995
## [6.8.0] - 2016-12-05
### Added
* Add [`no-array-index-key`][] rule ([#978][] @lencioni)
* Add [`require-default-props`][] rule ([#528][] @vitorbal)
* Add support for flow variance syntax to [`prop-types`][] ([#961][] @ajhyndman)
### Fixed
* Fix [`jsx-indent`][] with multiline jsx in ternaries ([#966][])
* Fix component detection to ignore async functions ([#989][] @taion)
* Fix [`jsx-curly-spacing`][] autofix to not delete comments ([#648][])
* Fix auto-enabling of `eslint-plugin-react` in exported configurations ([#984][] @jamischarles)
### Changed
* Update dependencies
* Documentation improvements ([#960][] @evilebottnawi, [#973][] @JamesWatling, [#982][] @captbaritone)
[6.8.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.7.1...v6.8.0
[#978]: https://github.com/yannickcr/eslint-plugin-react/pull/978
[#528]: https://github.com/yannickcr/eslint-plugin-react/issues/528
[#961]: https://github.com/yannickcr/eslint-plugin-react/issues/961
[#966]: https://github.com/yannickcr/eslint-plugin-react/issues/966
[#989]: https://github.com/yannickcr/eslint-plugin-react/pull/989
[#648]: https://github.com/yannickcr/eslint-plugin-react/issues/648
[#984]: https://github.com/yannickcr/eslint-plugin-react/pull/984
[#960]: https://github.com/yannickcr/eslint-plugin-react/pull/960
[#973]: https://github.com/yannickcr/eslint-plugin-react/pull/973
[#982]: https://github.com/yannickcr/eslint-plugin-react/pull/982
## [6.7.1] - 2016-11-15
### Fixed
* Fix [`jsx-tag-spacing`][] crash when options object isn't passed ([#955][] @daltones)
[6.7.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.7.0...v6.7.1
[#955]: https://github.com/yannickcr/eslint-plugin-react/issues/955
## [6.7.0] - 2016-11-14
### Added
* Add [`jsx-tag-spacing`][] rule ([#693][] @Kovensky)
### Fixed
* Fix [`jsx-indent`][] for parenthesized ternaries ([#945][] @voxpelli)
* Fix [`jsx-indent`][] for multiline ternaries
* Fix [`jsx-indent`][] for arrays in jsx ([#947][])
* Fix [`no-danger-with-children`][] crash with spread on global variables ([#921][])
* Fix [`jsx-wrap-multilines`][] ternaries handling ([#916][])
### Changed
* Enable [`no-unused-prop-types`][] `skipShapeProps` option by default to limit false positive ([#953][] @everdimension)
[6.7.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.6.0...v6.7.0
[#693]: https://github.com/yannickcr/eslint-plugin-react/issues/693
[#945]: https://github.com/yannickcr/eslint-plugin-react/issues/945
[#947]: https://github.com/yannickcr/eslint-plugin-react/issues/947
[#921]: https://github.com/yannickcr/eslint-plugin-react/issues/921
[#916]: https://github.com/yannickcr/eslint-plugin-react/issues/916
[#953]: https://github.com/yannickcr/eslint-plugin-react/pull/953
## [6.6.0] - 2016-11-06
### Added
* Add [`jsx-first-prop-new-line`][] auto fix ([#886][] @snowypowers)
### Fixed
* Fix [`no-unused-prop-types`][] crash with destructured prop-types ([#938][])
* Fix [`jsx-indent`][] in multi-line conditional expressions ([#901][], [#907][])
* Fix [`sort-comp`][] bad error message if 2 methods in the same group must be moved ([#507][])
### Changed
* Documentation improvements ([#941][] @pwmckenna)
[6.6.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.5.0...v6.6.0
[#886]: https://github.com/yannickcr/eslint-plugin-react/pull/886
[#938]: https://github.com/yannickcr/eslint-plugin-react/issues/938
[#901]: https://github.com/yannickcr/eslint-plugin-react/issues/901
[#907]: https://github.com/yannickcr/eslint-plugin-react/issues/907
[#507]: https://github.com/yannickcr/eslint-plugin-react/issues/507
[#941]: https://github.com/yannickcr/eslint-plugin-react/pull/941
## [6.5.0] - 2016-11-01
### Added
* Add tab support to [`jsx-closing-bracket-location`][] auto fixer ([#909][] @arperry)
* Add tab and space support to [`jsx-indent`][] auto fixer ([#608][] @jayphelps)
* Add `multiline-multiprop` option to [`jsx-first-prop-new-line`][] ([#883][] @kentor)
### Fixed
* Fix [`forbid-component-props`][] crash with self reference JSX element ([#839][] @xeodou)
* Fix [`jsx-indent`][] to ignore lines starting by literals ([#900][])
* Fix [`no-set-state`][] to correctly detect `setState` in arrow functions ([#931][])
### Changed
* Update dependencies
* Add `deprecated` metadata to deprecated rules ([#911][] @randycoulman)
* Auto-enable `eslint-plugin-react` in exported configurations ([#925][] @MoOx)
* Documentation improvements ([#910][] @Wilfred, [#932][] @gnarf)
[6.5.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.4.1...v6.5.0
[#909]: https://github.com/yannickcr/eslint-plugin-react/pull/909
[#608]: https://github.com/yannickcr/eslint-plugin-react/pull/608
[#883]: https://github.com/yannickcr/eslint-plugin-react/pull/883
[#839]: https://github.com/yannickcr/eslint-plugin-react/pull/839
[#900]: https://github.com/yannickcr/eslint-plugin-react/issues/900
[#931]: https://github.com/yannickcr/eslint-plugin-react/issues/931
[#911]: https://github.com/yannickcr/eslint-plugin-react/pull/911
[#925]: https://github.com/yannickcr/eslint-plugin-react/pull/925
[#910]: https://github.com/yannickcr/eslint-plugin-react/pull/910
[#932]: https://github.com/yannickcr/eslint-plugin-react/pull/932
## [6.4.1] - 2016-10-10
### Fixed
* Fix [`jsx-indent`][] for arrays ([#897][], [#898][])
* Fix [`jsx-indent`][] to allow multi-line logical expressions with one level of indent ([#896][])
[6.4.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.4.0...v6.4.1
[#897]: https://github.com/yannickcr/eslint-plugin-react/issues/897
[#898]: https://github.com/yannickcr/eslint-plugin-react/issues/898
[#896]: https://github.com/yannickcr/eslint-plugin-react/pull/896
## [6.4.0] - 2016-10-09
### Added
* Add `skipUndeclared` option to [`prop-types`][] ([#846][] @pfhayes)
### Fixed
* Fix [`jsx-no-bind`][] crash on arrow functions ([#854][])
* Fix [`display-name`][] false negative on es6-style method in `React.createClass` ([#852][])
* Fix [`prefer-stateless-function`][] to allow components with `childContextTypes` ([#853][])
* Fix [`no-children-prop`][] spread support ([#862][] @randycoulman)
* Fix [`no-unused-prop-types`][] to ignore validation when spread is used ([#840][])
* Fix [`jsx-closing-bracket-location`][] for multi-line prop ([#889][])
* Fix [`jsx-indent`][] in multi-line function calls ([#895][])
* Fix [`jsx-indent`][] in multi-line logical expressions ([#540][])
### Changed
* Update dependencies
* Documentation improvements ([#860][] @fson, [#863][] @corydolphin, [#830][] @eelyafi, [#876][] @manovotny, [#877][] @gaearon)
[6.4.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.3.0...v6.4.0
[#846]: https://github.com/yannickcr/eslint-plugin-react/pull/846
[#854]: https://github.com/yannickcr/eslint-plugin-react/issues/854
[#852]: https://github.com/yannickcr/eslint-plugin-react/issues/852
[#853]: https://github.com/yannickcr/eslint-plugin-react/issues/853
[#862]: https://github.com/yannickcr/eslint-plugin-react/pull/862
[#840]: https://github.com/yannickcr/eslint-plugin-react/issues/840
[#889]: https://github.com/yannickcr/eslint-plugin-react/issues/889
[#895]: https://github.com/yannickcr/eslint-plugin-react/issues/895
[#540]: https://github.com/yannickcr/eslint-plugin-react/issues/540
[#860]: https://github.com/yannickcr/eslint-plugin-react/pull/860
[#863]: https://github.com/yannickcr/eslint-plugin-react/pull/863
[#830]: https://github.com/yannickcr/eslint-plugin-react/pull/830
[#876]: https://github.com/yannickcr/eslint-plugin-react/pull/876
[#877]: https://github.com/yannickcr/eslint-plugin-react/pull/877
## [6.3.0] - 2016-09-20
### Added
* Add [`no-children-prop`][] rule ([#720][] @benstepp)
* Add [`no-unescaped-entities`][] rule ([#681][] @pfhayes)
* Add JSXExpressionContainer support to [`jsx-indent`][] rule ([#838][] @eelyafi)
### Fixed
* Fix [`style-prop-object`][] crash ([#834][])
* Fix [`style-prop-object`][] false positive on computed properties ([#820][])
* Fix [`style-prop-object`][] to deal with null and spread props that can't be resolved ([#809][] [#812][] @petersendidit)
[6.3.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.2.2...v6.3.0
[#720]: https://github.com/yannickcr/eslint-plugin-react/issues/720
[#681]: https://github.com/yannickcr/eslint-plugin-react/pull/681
[#838]: https://github.com/yannickcr/eslint-plugin-react/pull/838
[#834]: https://github.com/yannickcr/eslint-plugin-react/issues/834
[#820]: https://github.com/yannickcr/eslint-plugin-react/issues/820
[#809]: https://github.com/yannickcr/eslint-plugin-react/issues/809
[#812]: https://github.com/yannickcr/eslint-plugin-react/issues/812
## [6.2.2] - 2016-09-15
### Fixed
* Fix [`no-unused-prop-types`][] crash ([#825][] @EvNaverniouk)
* Fix [`jsx-no-target-blank`][] crash ([#821][])
[6.2.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.2.1...v6.2.2
[#821]: https://github.com/yannickcr/eslint-plugin-react/issues/821
[#825]: https://github.com/yannickcr/eslint-plugin-react/pull/825
## [6.2.1] - 2016-09-13
### Fixed
* Fix false positive in [`no-unused-prop-types`][] ([#792][] @EvNaverniouk)
* Fix [`jsx-no-target-blank`][] to target only anchor elements ([#793][] @aduth)
* Fix [`jsx-no-target-blank`][] to be case insensitive [#796][] @dmnd)
* Fix [`jsx-uses-vars`][] shadowed variables handling ([#799][])
### Changed
* Update dependencies
* Documentation improvements (@ljharb, [#794][] @dougshamoo, [#813][] @AndiDog, [#815][] @chris-vaszauskas)
[6.2.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.2.0...v6.2.1
[#792]: https://github.com/yannickcr/eslint-plugin-react/pull/792
[#793]: https://github.com/yannickcr/eslint-plugin-react/pull/793
[#794]: https://github.com/yannickcr/eslint-plugin-react/pull/794
[#796]: https://github.com/yannickcr/eslint-plugin-react/pull/796
[#799]: https://github.com/yannickcr/eslint-plugin-react/issues/799
[#813]: https://github.com/yannickcr/eslint-plugin-react/pull/813
[#815]: https://github.com/yannickcr/eslint-plugin-react/pull/815
## [6.2.0] - 2016-08-28
### Added
* Add [`no-unused-prop-types`][] rule ([#226][] @EvNaverniouk)
* Add [`style-prop-object`][] rule ([#715][] @petersendidit)
* Add auto fix for [`self-closing-comp`][] ([#770][] @pl12133)
* Add support for `typeAnnotations` in [`sort-comp`][] ([#235][] @dozoisch)
* Add support for `PureComponent` in [`prefer-stateless-function`][] ([#781][] @tiemevanveen)
### Fixed
* Fix [`jsx-uses-vars`][] to work better with [`prefer-const`](http://eslint.org/docs/rules/prefer-const). You'll need to upgrade to ESLint 3.4.0 to completely fix the compatibility issue ([#716][])
* Fix [`require-render-return`][] crash ([#784][])
* Fix related components detection in [`prop-types`][] ([#735][])
* Fix component detection to ignore functions expression without a parent component
### Changed
* Update dependencies
* Documentation improvements (@lencioni)
[6.2.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.1.2...v6.2.0
[#226]: https://github.com/yannickcr/eslint-plugin-react/issues/226
[#715]: https://github.com/yannickcr/eslint-plugin-react/issues/715
[#770]: https://github.com/yannickcr/eslint-plugin-react/pull/770
[#235]: https://github.com/yannickcr/eslint-plugin-react/issues/235
[#781]: https://github.com/yannickcr/eslint-plugin-react/pull/781
[#716]: https://github.com/yannickcr/eslint-plugin-react/issues/716
[#784]: https://github.com/yannickcr/eslint-plugin-react/issues/784
[#735]: https://github.com/yannickcr/eslint-plugin-react/issues/735
## [6.1.2] - 2016-08-17
### Fixed
* Fix nested spread handling in [`no-danger-with-children`][] ([#771][] @petersendidit)
### Changed
* Documentation improvements
[6.1.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.1.1...v6.1.2
[#771]: https://github.com/yannickcr/eslint-plugin-react/issues/771
## [6.1.1] - 2016-08-16
### Fixed
* Fix [`prop-types`][] on annotated components ([#766][])
* Fix [`no-danger-with-children`][] spread support ([#767][] @petersendidit)
### Changed
* Documentation improvements ([#769][] @daltones)
[6.1.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.1.0...v6.1.1
[#766]: https://github.com/yannickcr/eslint-plugin-react/issues/766
[#767]: https://github.com/yannickcr/eslint-plugin-react/issues/767
[#769]: https://github.com/yannickcr/eslint-plugin-react/pull/769
## [6.1.0] - 2016-08-14
### Added
* Add `React.PureComponent` support ([#737][])
* Add [`forbid-component-props`][] rule ([#314][] @lencioni)
* Add [`no-danger-with-children`][] rule ([#710][] @petersendidit)
* Add pragma for `createClass` factory method ([#725][] @zurawiki)
### Fixed
* Fix Node.js 0.10 support ([#746][])
* Fix [`prop-types`][] on annotated components ([#729][])
* Fix [`require-optimization`][] test for function declaration ([#744][] @Tom910)
* Fix [`jsx-uses-vars`][] to handle nested object properties ([#761][] @yayalice)
* Fix rules metadata
### Changed
* Update dependencies
* Documentation improvements ([#759][] @embrown, [#703][] [#753][] @lencioni, [#739][] @ljharb, [#731][] @wKich, [#745][] @petersendidit, [#659][] @dguo)
[6.1.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v6.0.0...v6.1.0
[#737]: https://github.com/yannickcr/eslint-plugin-react/issues/737
[#710]: https://github.com/yannickcr/eslint-plugin-react/issues/710
[#725]: https://github.com/yannickcr/eslint-plugin-react/pull/725
[#746]: https://github.com/yannickcr/eslint-plugin-react/issues/746
[#729]: https://github.com/yannickcr/eslint-plugin-react/issues/729
[#744]: https://github.com/yannickcr/eslint-plugin-react/pull/744
[#761]: https://github.com/yannickcr/eslint-plugin-react/pull/761
[#759]: https://github.com/yannickcr/eslint-plugin-react/pull/759
[#703]: https://github.com/yannickcr/eslint-plugin-react/pull/703
[#753]: https://github.com/yannickcr/eslint-plugin-react/pull/753
[#739]: https://github.com/yannickcr/eslint-plugin-react/issues/739
[#731]: https://github.com/yannickcr/eslint-plugin-react/pull/731
[#745]: https://github.com/yannickcr/eslint-plugin-react/pull/745
[#659]: https://github.com/yannickcr/eslint-plugin-react/pull/659
[#314]: https://github.com/yannickcr/eslint-plugin-react/pull/314
## [6.0.0] - 2016-08-01
### Added
* Add an `all` shareable configuration with all rules enabled ([#674][] @pfhayes)
* Add [`no-find-dom-node`][] rule ([#678][])
* Add `shorthandLast` option to [`jsx-sort-props`][] ([#391][] @mathieumg)
* Add `allowDecorators` option to [`require-optimization`][] ([#669][] @Tom910)
### Breaking
* Deprecate [`require-extension`][] rule, use the [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) [`extensions`](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/extensions.md) rule instead. [`require-extension`][] still works but will trigger a warning
* Enable `allow-in-func` mode by default in [`no-did-mount-set-state`][] and [`no-did-update-set-state`][] rules ([#702][] @lencioni)
* Enable html tags check by default in `self-closing-comp`
* Remove `pragma` option from `jsx-uses-react`, use the [shared settings](README.md#configuration) to specify a custom pragma ([#700][] @lencioni)
* Remove `react` option from [`no-deprecated`][] rule, use the [shared settings](README.md#configuration) to specify the React version ([#700][] @lencioni)
* Add [`require-render-return`][] rule to recommended rules
* Remove [`no-danger`][] from recommended rules ([#636][] @mjackson)
* Remove [`no-did-mount-set-state`][] and [`no-did-update-set-state`][] from recommended rules ([#596][])
* Remove deprecated [`jsx-sort-prop-types`][] rule, use [`sort-prop-types`][] instead ([#549][] @lencioni)
* Rename [`no-comment-textnodes`][] to [`jsx-no-comment-textnodes`][]. [`no-comment-textnodes`][] still works but will trigger a warning ([#668][] @lencioni)
* Rename [`wrap-multilines`][] to [`jsx-wrap-multilines`][]. [`wrap-multilines`][] still works but will trigger a warning ([#668][] @lencioni)
* Add ESLint as peerDependency ([#657][] @jokeyrhyme)
* Add Node.js 0.10 as minimum required version ([#657][] @jokeyrhyme)
### Fixed
* Fix [`jsx-handler-names`][] incorrectly flagging `only` ([#571][] @lencioni)
* Fix spread props cash in [`jsx-no-target-blank`][] ([#679][] @randycoulman)
* Fix [`require-optimization`][] warning on stateless components ([#687][])
* Fix [`jsx-uses-vars`][] that incorrectly marked some variables as used ([#694][] @lencioni)
* Fix [`no-unknown-property`][] check on SVG attributes ([#718][])
* Fix [`jsx-no-bind`][] reporting errors on render functions that don't return JSX ([#663][] @petersendidit)
* Fix [`jsx-closing-bracket-location`][] autofix when `location` is set to `props-aligned` ([#684][] @pfhayes)
* Fix [`prop-types`][] for destructured arguments being assigned to the parent stateless component in some cases ([#698][])
* Fix [`prop-types`][] for JSX return being assigned to the parent function in some cases ([#504][])
* Fix [`jsx-curly-spacing`][] for reporting on JSX content by mistake ([#671][])
* Fix [`prop-types`][] crash when accessing constructor on props ([#654][])
* Fix [`jsx-filename-extension`][] to not check filenames on text input ([#662][] @ljharb)
* Fix [`jsx-no-comment-textnodes`][] incorrectly catching urls ([#664][] @petersendidit)
### Changed
* Only report [`jsx-filename-extension`][] warning once per file ([#660][] @mathieumg)
* Update SVG and DOM attribute list for `no-unknown-property`
* Update rules to use the new ESLint rule format ([#661][] @petersendidit)
* Update dependencies
* Documentation improvements ([#724][] @lencioni)
* Update Travis CI and AppVeyor CI configurations (@ljharb)
[6.0.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v5.2.2...v6.0.0
[#571]: https://github.com/yannickcr/eslint-plugin-react/issues/571
[#728]: https://github.com/yannickcr/eslint-plugin-react/pull/728
[#679]: https://github.com/yannickcr/eslint-plugin-react/pull/679
[#687]: https://github.com/yannickcr/eslint-plugin-react/issues/687
[#694]: https://github.com/yannickcr/eslint-plugin-react/issues/694
[#718]: https://github.com/yannickcr/eslint-plugin-react/issues/718
[#723]: https://github.com/yannickcr/eslint-plugin-react/pull/723
[#702]: https://github.com/yannickcr/eslint-plugin-react/pull/702
[#700]: https://github.com/yannickcr/eslint-plugin-react/pull/700
[#636]: https://github.com/yannickcr/eslint-plugin-react/pull/636
[#596]: https://github.com/yannickcr/eslint-plugin-react/issues/596
[#661]: https://github.com/yannickcr/eslint-plugin-react/issues/661
[#724]: https://github.com/yannickcr/eslint-plugin-react/pull/724
[#674]: https://github.com/yannickcr/eslint-plugin-react/issues/674
[#678]: https://github.com/yannickcr/eslint-plugin-react/issues/678
[#391]: https://github.com/yannickcr/eslint-plugin-react/issues/391
[#669]: https://github.com/yannickcr/eslint-plugin-react/pull/669
[#663]: https://github.com/yannickcr/eslint-plugin-react/issues/663
[#684]: https://github.com/yannickcr/eslint-plugin-react/pull/684
[#698]: https://github.com/yannickcr/eslint-plugin-react/issues/698
[#504]: https://github.com/yannickcr/eslint-plugin-react/issues/504
[#671]: https://github.com/yannickcr/eslint-plugin-react/issues/671
[#549]: https://github.com/yannickcr/eslint-plugin-react/issues/549
[#668]: https://github.com/yannickcr/eslint-plugin-react/issues/668
[#660]: https://github.com/yannickcr/eslint-plugin-react/pull/660
[#654]: https://github.com/yannickcr/eslint-plugin-react/issues/654
[#662]: https://github.com/yannickcr/eslint-plugin-react/issues/662
[#664]: https://github.com/yannickcr/eslint-plugin-react/issues/664
[#657]: https://github.com/yannickcr/eslint-plugin-react/pull/657
## [5.2.2] - 2016-06-17
### Fixed
* Fix [`jsx-no-bind`][] crash ([#641][])
[5.2.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v5.2.1...v5.2.2
[#641]: https://github.com/yannickcr/eslint-plugin-react/issues/641
## [5.2.1] - 2016-06-17
### Fixed
* Fix [`jsx-pascal-case`][] for namespaced components ([#637][] @evcohen)
[5.2.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v5.2.0...v5.2.1
[#637]: https://github.com/yannickcr/eslint-plugin-react/issues/637
## [5.2.0] - 2016-06-17
### Added
* Add [`require-optimization`][] rule ([#240][] @EvNaverniouk)
* Add [`jsx-filename-extension`][] rule ([#495][] @lencioni)
* Add [`no-render-return-value`][] rule ([#531][] @iamdustan)
* Add [`no-comment-textnodes`][] rule ([#616][] @benvinegar)
* Add `objectLiterals` option to [`jsx-curly-spacing`][] ([#388][], [#211][] @casesandberg @ljharb)
* Add option to [`self-closing-comp`][] to check html tags ([#572][] @gitim)
* Add `ignore` option to [`no-unknown-property`][] rule ([#631][] @insin)
* Add support for ES7 bind operator to [`jsx-handler-names`][] ([#630][])
* Add support for explicit declaration that class extends React.Component ([#68][] @gausie)
### Fixed
* Fix [`jsx-closing-bracket-location`][] multiline prop support ([#493][] @tuures)
* Fix [`prop-types`][] for props that where not assigned to the right component ([#591][])
* Fix [`display-name`][] when JSON style is used for defining components ([#590][] @gitim)
* Fix [`jsx-no-bind`][] for bind detection in render when assigned to a variable ([#474][] @petersendidit)
* Fix [`jsx-curly-spacing`][] for spread operator ([#606][] @gitim)
* Fix [`sort-comp`][] crash on spread operator ([#624][])
* Fix [`prop-types`][] crash when destructuring props with spread only
### Changed
* Update dependencies
* Add [doctrine](https://github.com/eslint/doctrine) as a dependency ([#68][] @gausie)
* Add [jsx-ast-utils](https://github.com/evcohen/jsx-ast-utils) as a dependency ([#634][] @evcohen)
* Documentation improvements ([#594][] @lencioni, [#598][] @mLuby, [#633][] @appsforartists)
[5.2.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v5.1.1...v5.2.0
[#68]: https://github.com/yannickcr/eslint-plugin-react/issues/68
[#211]: https://github.com/yannickcr/eslint-plugin-react/issues/211
[#240]: https://github.com/yannickcr/eslint-plugin-react/issues/240
[#388]: https://github.com/yannickcr/eslint-plugin-react/issues/388
[#474]: https://github.com/yannickcr/eslint-plugin-react/issues/474
[#493]: https://github.com/yannickcr/eslint-plugin-react/pull/493
[#495]: https://github.com/yannickcr/eslint-plugin-react/issues/495
[#531]: https://github.com/yannickcr/eslint-plugin-react/issues/531
[#572]: https://github.com/yannickcr/eslint-plugin-react/issues/572
[#590]: https://github.com/yannickcr/eslint-plugin-react/issues/590
[#591]: https://github.com/yannickcr/eslint-plugin-react/issues/591
[#594]: https://github.com/yannickcr/eslint-plugin-react/pull/594
[#598]: https://github.com/yannickcr/eslint-plugin-react/pull/598
[#606]: https://github.com/yannickcr/eslint-plugin-react/issues/606
[#616]: https://github.com/yannickcr/eslint-plugin-react/pull/616
[#624]: https://github.com/yannickcr/eslint-plugin-react/issues/624
[#630]: https://github.com/yannickcr/eslint-plugin-react/issues/630
[#631]: https://github.com/yannickcr/eslint-plugin-react/pull/631
[#633]: https://github.com/yannickcr/eslint-plugin-react/pull/633
[#634]: https://github.com/yannickcr/eslint-plugin-react/pull/634
## [5.1.1] - 2016-05-10
### Fixed
* Fix [`require-render-return`][] crash ([#589][])
[5.1.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v5.1.0...v5.1.1
[#589]: https://github.com/yannickcr/eslint-plugin-react/issues/589
## [5.1.0] - 2016-05-10
### Added
* Add [`jsx-no-target-blank`][] rule ([#582][] @Gasparila)
* Add `allowAllCaps` and `ignore` options to [`jsx-pascal-case`][] ([#575][])
* Add class properties support to [`require-render-return`][] ([#564][])
### Fixed
* Fix [`jsx-closing-bracket-location`][] fixer ([#533][] @dtinth)
* Fix [`require-render-return`][] to only check valid render methods ([#563][])
* Fix detection to allow simple `this` usage in fonctional components ([#576][])
* Fix [`forbid-prop-types`][] crash ([#579][])
* Fix comment handling in [`jsx-curly-spacing`][] ([#584][])
### Changed
* Update dependencies
* Documentation improvements (@coryhouse, [#581][] @scurker, [#588][])
[5.1.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v5.0.1...v5.1.0
[#582]: https://github.com/yannickcr/eslint-plugin-react/pull/582
[#575]: https://github.com/yannickcr/eslint-plugin-react/issues/575
[#564]: https://github.com/yannickcr/eslint-plugin-react/issues/564
[#533]: https://github.com/yannickcr/eslint-plugin-react/issues/533
[#563]: https://github.com/yannickcr/eslint-plugin-react/issues/563
[#576]: https://github.com/yannickcr/eslint-plugin-react/issues/576
[#579]: https://github.com/yannickcr/eslint-plugin-react/issues/579
[#584]: https://github.com/yannickcr/eslint-plugin-react/pull/584
[#559]: https://github.com/yannickcr/eslint-plugin-react/pull/559
[#581]: https://github.com/yannickcr/eslint-plugin-react/pull/581
[#588]: https://github.com/yannickcr/eslint-plugin-react/issues/588
## [5.0.1] - 2016-04-18
### Fixed
* Fix [`require-render-return`][] to not check stateless functions ([#550][])
[5.0.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v5.0.0...v5.0.1
[#550]: https://github.com/yannickcr/eslint-plugin-react/issues/550
## [5.0.0] - 2016-04-17
### Added
* Add [`jsx-first-prop-new-line`][] rule ([#410][] @jseminck)
### Breaking
* Update rules for React 15:
* Add warnings for `LinkedStateMixin`, `ReactPerf.printDOM` and `ReactPerf.getMeasurementsSummaryMap` in `no-deprecated`
* Allow stateless components to return `null` in [`prefer-stateless-function`][]
* Remove SVG attributes warnings ([#490][])
If you're still not using React 15 you can keep the old behavior by setting the React version to `0.14` in the [shared settings](README.md#configuration).
### Fixed
* Rewrite [`require-render-return`][] rule ([#542][], [#543][])
* Fix [`prefer-stateless-function`][] crash ([#544][])
* Fix external propTypes handling ([#545][])
* Do not mark inline functions in JSX as components ([#546][])
### Changed
* Update dependencies
* Documentation improvements
[5.0.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v4.3.0...v5.0.0
[#410]: https://github.com/yannickcr/eslint-plugin-react/issues/410
[#490]: https://github.com/yannickcr/eslint-plugin-react/issues/490
[#542]: https://github.com/yannickcr/eslint-plugin-react/issues/542
[#543]: https://github.com/yannickcr/eslint-plugin-react/issues/543
[#544]: https://github.com/yannickcr/eslint-plugin-react/issues/544
[#545]: https://github.com/yannickcr/eslint-plugin-react/issues/545
[#546]: https://github.com/yannickcr/eslint-plugin-react/issues/546
## [4.3.0] - 2016-04-07
### Added
* Add [`require-render-return`][] rule ([#482][] @shmuga)
* Add auto fix for [`jsx-equals-spacing`][] ([#506][] @peet)
* Add auto fix for [`jsx-closing-bracket-location`][] ([#511][] @KevinGrandon)
### Fixed
* Fix [`prefer-stateless-function`][] for conditional JSX ([#516][])
* Fix [`jsx-pascal-case`][] to support single letter component names ([#505][] @dthielman)
### Changed
* Update dependencies
* Documentation improvements ([#509][] @coryhouse, [#526][] @ahoym)
[4.3.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v4.2.3...v4.3.0
[#482]: https://github.com/yannickcr/eslint-plugin-react/issues/482
[#506]: https://github.com/yannickcr/eslint-plugin-react/pull/506
[#511]: https://github.com/yannickcr/eslint-plugin-react/pull/511
[#516]: https://github.com/yannickcr/eslint-plugin-react/issues/516
[#505]: https://github.com/yannickcr/eslint-plugin-react/issues/505
[#509]: https://github.com/yannickcr/eslint-plugin-react/pull/509
[#526]: https://github.com/yannickcr/eslint-plugin-react/pull/526
## [4.2.3] - 2016-03-15
### Fixed
* Fix class properties retrieval in [`prefer-stateless-function`][] ([#499][])
[4.2.3]: https://github.com/yannickcr/eslint-plugin-react/compare/v4.2.2...v4.2.3
[#499]: https://github.com/yannickcr/eslint-plugin-react/issues/499
## [4.2.2] - 2016-03-14
### Fixed
* Rewrite [`prefer-stateless-function`][] rule ([#491][])
* Fix [`self-closing-comp`][] to treat non-breaking spaces as content ([#496][])
* Fix detection for direct props in [`prop-types`][] ([#497][])
* Fix annotated function detection in [`prop-types`][] ([#498][])
* Fix `this` usage in [`jsx-no-undef`][] ([#489][])
### Changed
* Update dependencies
* Add shared setting for React version
[4.2.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v4.2.1...v4.2.2
[#491]: https://github.com/yannickcr/eslint-plugin-react/issues/491
[#496]: https://github.com/yannickcr/eslint-plugin-react/issues/496
[#497]: https://github.com/yannickcr/eslint-plugin-react/issues/497
[#498]: https://github.com/yannickcr/eslint-plugin-react/issues/498
[#489]: https://github.com/yannickcr/eslint-plugin-react/issues/489
## [4.2.1] - 2016-03-08
### Fixed
* Fix [`sort-prop-types`][] crash with spread operator ([#478][])
* Fix stateless components detection when conditionally returning JSX ([#486][])
* Fix case where props were not assigned to the right component ([#485][])
* Fix missing `getChildContext` lifecycle method in [`prefer-stateless-function`][] ([#492][])
[4.2.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v4.2.0...v4.2.1
[#478]: https://github.com/yannickcr/eslint-plugin-react/issues/478
[#486]: https://github.com/yannickcr/eslint-plugin-react/issues/486
[#485]: https://github.com/yannickcr/eslint-plugin-react/issues/485
[#492]: https://github.com/yannickcr/eslint-plugin-react/issues/492
## [4.2.0] - 2016-03-05
### Added
* Add support for Flow annotations on stateless components ([#467][])
* Add [`prefer-stateless-function`][] rule ([#214][])
* Add auto fix for [`jsx-indent-props`][] ([#483][] @shioju)
### Fixed
* Fix [`jsx-no-undef`][] crash on objects ([#469][])
* Fix propTypes detection when declared before the component ([#472][])
### Changed
* Update dependencies
* Documentation improvements ([#464][] @alex-tan, [#466][] @awong-dev, [#470][] @Gpx; [#462][] @thaggie)
[4.2.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v4.1.0...v4.2.0
[#467]: https://github.com/yannickcr/eslint-plugin-react/issues/467
[#214]: https://github.com/yannickcr/eslint-plugin-react/issues/214
[#483]: https://github.com/yannickcr/eslint-plugin-react/pull/483
[#469]: https://github.com/yannickcr/eslint-plugin-react/issues/469
[#472]: https://github.com/yannickcr/eslint-plugin-react/issues/472
[#464]: https://github.com/yannickcr/eslint-plugin-react/pull/464
[#466]: https://github.com/yannickcr/eslint-plugin-react/pull/466
[#470]: https://github.com/yannickcr/eslint-plugin-react/pull/470
[#462]: https://github.com/yannickcr/eslint-plugin-react/pull/462
## [4.1.0] - 2016-02-23
### Added
* Add component detection for class expressions
* Add displayName detection for class expressions in [`display-name`][] ([#419][])
### Fixed
* Fix used props detection in components for which we are not confident in [`prop-types`][] ([#420][])
* Fix false positive in [`jsx-key`][] ([#456][] @jkimbo)
### Changed
* Documentation improvements ([#457][] @wyze)
[4.1.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v4.0.0...v4.1.0
[#419]: https://github.com/yannickcr/eslint-plugin-react/issues/419
[#420]: https://github.com/yannickcr/eslint-plugin-react/issues/420
[#456]: https://github.com/yannickcr/eslint-plugin-react/pull/456
[#457]: https://github.com/yannickcr/eslint-plugin-react/pull/457
## [4.0.0] - 2016-02-19
### Added
* Add [`jsx-space-before-closing`][] rule ([#244][] @ryym)
* Add support for destructing in function signatures to [`prop-types`][] ([#354][] @lencioni)
### Breaking
* Add support for static methods to `sort-comp`. Static methods must now be declared first, see [rule documentation](docs/rules/sort-comp.md) ([#128][] @lencioni)
* Add shareable config in place of default configuration. [`jsx-uses-vars`][] is not enabled by default anymore, see [documentation](README.md#recommended-configuration) ([#192][])
* Rename `jsx-sort-prop-types` to [`sort-prop-types`][]. `jsx-sort-prop-types` still works but will trigger a warning ([#87][] @lencioni)
* Remove deprecated `jsx-quotes` rule ([#433][] @lencioni)
* [`display-name`][] now accept the transpiler name by default. You can use the `ignoreTranspilerName` option to get the old behavior, see [rule documentation](docs/rules/display-name.md#ignoretranspilername) ([#440][] @lencioni)
### Fixed
* Only ignore lowercase JSXIdentifier in [`jsx-no-undef`][] ([#435][])
* Fix [`jsx-handler-names`][] regex ([#425][])
* Fix destructured props detection in [`prop-types`][] ([#443][])
### Changed
* Update dependencies ([#426][] @quentin-)
* Documentation improvements ([#414][] @vkrol, [#370][] @tmcw, [#441][] [#429][] @lencioni, [#432][] @note89, [#438][] @jmann6)
[4.0.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.16.1...v4.0.0
[#244]: https://github.com/yannickcr/eslint-plugin-react/issues/244
[#354]: https://github.com/yannickcr/eslint-plugin-react/issues/354
[#128]: https://github.com/yannickcr/eslint-plugin-react/issues/128
[#192]: https://github.com/yannickcr/eslint-plugin-react/issues/192
[#87]: https://github.com/yannickcr/eslint-plugin-react/issues/87
[#440]: https://github.com/yannickcr/eslint-plugin-react/pull/440
[#435]: https://github.com/yannickcr/eslint-plugin-react/issues/435
[#425]: https://github.com/yannickcr/eslint-plugin-react/issues/425
[#443]: https://github.com/yannickcr/eslint-plugin-react/issues/443
[#426]: https://github.com/yannickcr/eslint-plugin-react/pull/426
[#414]: https://github.com/yannickcr/eslint-plugin-react/pull/414
[#370]: https://github.com/yannickcr/eslint-plugin-react/pull/370
[#441]: https://github.com/yannickcr/eslint-plugin-react/pull/441
[#429]: https://github.com/yannickcr/eslint-plugin-react/pull/429
[#432]: https://github.com/yannickcr/eslint-plugin-react/pull/432
[#438]: https://github.com/yannickcr/eslint-plugin-react/pull/438
[#433]: https://github.com/yannickcr/eslint-plugin-react/pull/433
## [3.16.1] - 2016-01-24
### Fixed
* Fix [`jsx-sort-prop-types`][] issue with custom propTypes ([#408][] @alitaheri)
[3.16.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.16.0...v3.16.1
[#408]: https://github.com/yannickcr/eslint-plugin-react/issues/408
## [3.16.0] - 2016-01-24
### Added
* Add [`jsx-equals-spacing`][] rule ([#394][] @ryym)
* Add auto fix for `wrap-multiline`
* Add auto fix for `jsx-boolean-value`
* Add auto fix for `no-unknown-property`
* Add auto fix for [`jsx-curly-spacing`][] ([#407][] @ewendel)
* Add `requiredFirst` option to [`jsx-sort-prop-types`][] ([#392][] @chrislaskey)
* Add `ignoreRefs` option to [`jsx-no-bind`][] ([#330][] @silvenon)
### Fixed
* Ignore `ref` in [`jsx-handler-names`][] (again) ([#396][])
### Changed
* Update dependencies
[3.16.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.15.0...v3.16.0
[#394]: https://github.com/yannickcr/eslint-plugin-react/issues/394
[#407]: https://github.com/yannickcr/eslint-plugin-react/pull/407
[#392]: https://github.com/yannickcr/eslint-plugin-react/pull/392
[#330]: https://github.com/yannickcr/eslint-plugin-react/issues/330
[#396]: https://github.com/yannickcr/eslint-plugin-react/issues/396
## [3.15.0] - 2016-01-12
### Added
* Add support for flow annotations to [`prop-types`][] ([#382][] @phpnode)
### Fixed
* Fix [`prop-types`][] crash when initializing class variable with an empty object ([#383][])
* Fix [`prop-types`][] crash when propTypes are using the spread operator ([#389][])
### Changed
* Improve [`sort-comp`][] error messages ([#372][] @SystemParadox)
* Update dependencies
[3.15.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.14.0...v3.15.0
[#382]: https://github.com/yannickcr/eslint-plugin-react/pull/382
[#383]: https://github.com/yannickcr/eslint-plugin-react/issues/383
[#389]: https://github.com/yannickcr/eslint-plugin-react/issues/389
[#372]: https://github.com/yannickcr/eslint-plugin-react/pull/372
## [3.14.0] - 2016-01-05
### Added
* Add [`jsx-indent`][] rule ([#342][])
* Add shared setting for pragma configuration ([#228][] @NickStefan)
### Fixed
* Fix crash in [`jsx-key`][] ([#380][] @nfcampos)
* Fix crash in [`forbid-prop-types`][] ([#377][] @nfcampos)
* Ignore `ref` in [`jsx-handler-names`][] ([#375][])
### Changed
* Add AppVeyor CI to run tests on a Windows platform
* Add [`sort-comp`][] codemod to [`sort-comp`][] documentation ([#381][] @turadg)
[3.14.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.13.1...v3.14.0
[#342]: https://github.com/yannickcr/eslint-plugin-react/issues/342
[#228]: https://github.com/yannickcr/eslint-plugin-react/issues/228
[#380]: https://github.com/yannickcr/eslint-plugin-react/pull/380
[#377]: https://github.com/yannickcr/eslint-plugin-react/pull/377
[#375]: https://github.com/yannickcr/eslint-plugin-react/issues/375
[#381]: https://github.com/yannickcr/eslint-plugin-react/pull/381
## [3.13.1] - 2015-12-26
### Fixed
* Fix crash in [`jsx-key`][] ([#373][] @lukekarrys)
[3.13.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.13.0...v3.13.1
[#373]: https://github.com/yannickcr/eslint-plugin-react/issues/373
## [3.13.0] - 2015-12-24
### Added
* Add [`no-string-refs`][] rule ([#341][] @Intellicode)
* Add support for propTypes assigned via a variable in [`prop-types`][] ([#355][])
### Fixed
* Fix `never` option in [`prefer-es6-class`][]
* Fix [`jsx-key`][] false-positives ([#320][] @silvenon)
### Changed
* Documentation improvements ([#368][] @lencioni, [#370][] @tmcw, [#371][])
* Update dependencies
[3.13.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.12.0...v3.13.0
[#341]: https://github.com/yannickcr/eslint-plugin-react/issues/341
[#355]: https://github.com/yannickcr/eslint-plugin-react/issues/355
[#320]: https://github.com/yannickcr/eslint-plugin-react/issues/320
[#368]: https://github.com/yannickcr/eslint-plugin-react/pull/368
[#370]: https://github.com/yannickcr/eslint-plugin-react/pull/370
[#371]: https://github.com/yannickcr/eslint-plugin-react/issues/371
## [3.12.0] - 2015-12-20
### Added
* Add [`no-deprecated`][] rule ([#356][] @graue)
* Add [`no-is-mounted`][] rule ([#37][] @lencioni)
* Add `never` option to [`prefer-es6-class`][] rule ([#359][] @pwmckenna)
### Fixed
* Fix [`jsx-pascal-case`][] to stop checking lower cased components ([#329][])
* Fix crash in component detection class ([#364][])
### Changed
* Add link to [eslint-plugin-react-native](https://github.com/Intellicode/eslint-plugin-react-native) in Readme
* Update dependencies
[3.12.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.11.3...v3.12.0
[#356]: https://github.com/yannickcr/eslint-plugin-react/pull/356
[#37]: https://github.com/yannickcr/eslint-plugin-react/issues/37
[#359]: https://github.com/yannickcr/eslint-plugin-react/pull/359
[#329]: https://github.com/yannickcr/eslint-plugin-react/issues/329
[#364]: https://github.com/yannickcr/eslint-plugin-react/issues/364
## [3.11.3] - 2015-12-05
### Fixed
* Fix crash in [`prop-types`][] when reassigning props ([#345][])
* Fix [`jsx-handler-names`][] for stateless components ([#346][])
### Changed
* Update [`jsx-handler-names`][] error messages to be less specific ([#348][] @jakemmarsh)
[3.11.3]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.11.2...v3.11.3
[#345]: https://github.com/yannickcr/eslint-plugin-react/issues/345
[#346]: https://github.com/yannickcr/eslint-plugin-react/issues/346
[#348]: https://github.com/yannickcr/eslint-plugin-react/pull/348
## [3.11.2] - 2015-12-01
### Fixed
* Allow numbers in [`jsx-pascal-case`][] ([#339][])
* Fix [`jsx-handler-names`][] crash with arrays ([#340][])
### Changed
* Add `allow-in-func` option to [`no-did-update-set-state`][] documentation
[3.11.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.11.1...v3.11.2
[#339]: https://github.com/yannickcr/eslint-plugin-react/issues/339
[#340]: https://github.com/yannickcr/eslint-plugin-react/issues/340
## [3.11.1] - 2015-11-29
### Fixed
* Fix SVG attributes support for [`no-unknown-property`][] ([#338][])
[3.11.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.11.0...v3.11.1
[#338]: https://github.com/yannickcr/eslint-plugin-react/issues/338
## [3.11.0] - 2015-11-29
### Added
* Add [`jsx-handler-names`][] rule ([#315][] @jakemmarsh)
* Add SVG attributes support to [`no-unknown-property`][] ([#318][])
* Add shorthandFirst option to [`jsx-sort-props`][] ([#336][] @lucasmotta)
### Fixed
* Fix destructured props detection in stateless components ([#326][])
* Fix props validation for nested stateless components ([#331][])
* Fix [`require-extension`][] to ignore extension if it's part of the package name ([#319][])
### Changed
* Allow consecutive uppercase letters in [`jsx-pascal-case`][] ([#328][] @lencioni)
* Update dependencies
[3.11.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.10.0...v3.11.0
[#315]: https://github.com/yannickcr/eslint-plugin-react/pull/315
[#318]: https://github.com/yannickcr/eslint-plugin-react/issues/318
[#336]: https://github.com/yannickcr/eslint-plugin-react/pull/336
[#326]: https://github.com/yannickcr/eslint-plugin-react/issues/326
[#331]: https://github.com/yannickcr/eslint-plugin-react/issues/331
[#319]: https://github.com/yannickcr/eslint-plugin-react/issues/319
[#328]: https://github.com/yannickcr/eslint-plugin-react/issues/328
## [3.10.0] - 2015-11-21
### Added
* Add [`jsx-pascal-case`][] rule ([#306][] @jakemmarsh)
### Fixed
* Fix crash on incomplete class property declaration ([#317][] @dapetcu21)
* Fix crash with ESLint 1.10.0 ([#323][] @lukekarrys)
[3.10.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.9.0...v3.10.0
[#306]: https://github.com/yannickcr/eslint-plugin-react/pull/306
[#317]: https://github.com/yannickcr/eslint-plugin-react/issues/317
[#323]: https://github.com/yannickcr/eslint-plugin-react/issues/323
## [3.9.0] - 2015-11-17
### Added
* Add [`jsx-key`][] rule ([#293][] @benmosher)
* Add `allow-in-func` option to [`no-did-update-set-state`][] ([#300][])
* Add option to only enforce [`jsx-closing-bracket-location`][] rule to one type of tag (nonEmpty or selfClosing) ([#307][])
### Fixed
* Fix crash when destructuring with only the rest spread ([#269][])
* Fix variables detection when searching for related components ([#303][])
* Fix [`no-unknown-property`][] to not check custom elements ([#308][] @zertosh)
### Changed
* Improve [`jsx-closing-bracket-location`][] error message ([#301][] @alopatin)
* Update dependencies
[3.9.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.8.0...v3.9.0
[#293]: https://github.com/yannickcr/eslint-plugin-react/pull/293
[#300]: https://github.com/yannickcr/eslint-plugin-react/issues/300
[#307]: https://github.com/yannickcr/eslint-plugin-react/issues/307
[#269]: https://github.com/yannickcr/eslint-plugin-react/issues/269
[#303]: https://github.com/yannickcr/eslint-plugin-react/issues/303
[#308]: https://github.com/yannickcr/eslint-plugin-react/pull/308
[#301]: https://github.com/yannickcr/eslint-plugin-react/pull/301
## [3.8.0] - 2015-11-07
### Added
* Add ignoreStateless option to [`no-multi-comp`][] ([#290][])
### Fixed
* Fix classes with properties to always be marked as components ([#291][])
* Fix ES5 class detection when using `createClass` by itself ([#297][])
* Fix direct props detection ([#298][])
* Ignore functions containing the keyword `this` during component detection
[3.8.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.7.1...v3.8.0
[#290]: https://github.com/yannickcr/eslint-plugin-react/issues/290
[#291]: https://github.com/yannickcr/eslint-plugin-react/issues/291
[#297]: https://github.com/yannickcr/eslint-plugin-react/issues/297
[#298]: https://github.com/yannickcr/eslint-plugin-react/issues/298
## [3.7.1] - 2015-11-05
### Fixed
* Fix [`sort-comp`][] crash on stateless components ([#285][])
* Fix crash in ES5 components detection ([#286][])
* Fix ES5 components detection from nested functions ([#287][])
[3.7.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.7.0...v3.7.1
[#285]: https://github.com/yannickcr/eslint-plugin-react/issues/285
[#286]: https://github.com/yannickcr/eslint-plugin-react/issues/286
[#287]: https://github.com/yannickcr/eslint-plugin-react/issues/287
## [3.7.0] - 2015-11-05
### Added
* Add [`jsx-no-bind`][] rule ([#184][] @Daniel15)
* Add line-aligned option to [`jsx-closing-bracket-location`][] ([#243][] @alopatin)
### Fixed
* Fix a lot of issues about components detection, mostly related to stateless components ([#264][], [#267][], [#268][], [#276][], [#277][], [#280][])
### Changed
* Update dependencies
[3.7.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.6.3...v3.7.0
[#184]: https://github.com/yannickcr/eslint-plugin-react/issues/184
[#243]: https://github.com/yannickcr/eslint-plugin-react/issues/243
[#264]: https://github.com/yannickcr/eslint-plugin-react/issues/264
[#267]: https://github.com/yannickcr/eslint-plugin-react/issues/267
[#268]: https://github.com/yannickcr/eslint-plugin-react/issues/268
[#276]: https://github.com/yannickcr/eslint-plugin-react/issues/276
[#277]: https://github.com/yannickcr/eslint-plugin-react/issues/277
[#280]: https://github.com/yannickcr/eslint-plugin-react/issues/280
## [3.6.3] - 2015-10-20
### Fixed
* Fix [`display-name`][] for stateless components ([#256][])
* Fix [`prop-types`][] props validation in constructor ([#259][])
* Fix typo in README ([#261][] @chiedojohn)
[3.6.3]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.6.2...v3.6.3
[#256]: https://github.com/yannickcr/eslint-plugin-react/issues/256
[#259]: https://github.com/yannickcr/eslint-plugin-react/issues/259
[#261]: https://github.com/yannickcr/eslint-plugin-react/pull/261
## [3.6.2] - 2015-10-18
### Fixed
* Fix wrong prop-types detection ([#255][])
[3.6.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.6.1...v3.6.2
[#255]: https://github.com/yannickcr/eslint-plugin-react/issues/255
## [3.6.1] - 2015-10-18
### Fixed
* Fix props validation in constructor ([#254][])
[3.6.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.6.0...v3.6.1
[#254]: https://github.com/yannickcr/eslint-plugin-react/issues/254
## [3.6.0] - 2015-10-18
### Added
* Add support for stateless function components to [`display-name`][] and [`prop-types`][] ([#237][])
* Add callbacksLast option to [`jsx-sort-props`][] and [`jsx-sort-prop-types`][] ([#242][] @Daniel15)
* Add [`prefer-es6-class`][] rule ([#247][] @hamiltondanielb)
### Fixed
* Fix [`forbid-prop-types`][] crash with destructured PropTypes ([#230][] @epmatsw)
* Fix [`forbid-prop-types`][] to do not modify AST directly ([#249][] @rhysd)
* Fix [`prop-types`][] crash with empty destructuring ([#251][])
* Fix [`prop-types`][] to not validate computed keys in destructuring ([#236][])
### Changed
* Update dependencies
* Improve components detection ([#233][])
* Documentation improvements ([#248][] @dguo)
[3.6.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.5.1...v3.6.0
[#237]: https://github.com/yannickcr/eslint-plugin-react/issues/237
[#242]: https://github.com/yannickcr/eslint-plugin-react/pull/242
[#247]: https://github.com/yannickcr/eslint-plugin-react/issues/247
[#230]: https://github.com/yannickcr/eslint-plugin-react/issues/230
[#249]: https://github.com/yannickcr/eslint-plugin-react/issues/249
[#251]: https://github.com/yannickcr/eslint-plugin-react/issues/251
[#236]: https://github.com/yannickcr/eslint-plugin-react/issues/236
[#233]: https://github.com/yannickcr/eslint-plugin-react/issues/233
[#248]: https://github.com/yannickcr/eslint-plugin-react/pull/248
## [3.5.1] - 2015-10-01
### Fixed
* Fix [`no-direct-mutation-state`][] to report only in React components ([#229][])
* Fix [`forbid-prop-types`][] for arrayOf and instanceOf ([#230][])
### Changed
* Documentation improvements ([#232][] @edge)
[3.5.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.5.0...v3.5.1
[#229]: https://github.com/yannickcr/eslint-plugin-react/issues/229
[#230]: https://github.com/yannickcr/eslint-plugin-react/issues/230
[#232]: https://github.com/yannickcr/eslint-plugin-react/pull/232
## [3.5.0] - 2015-09-28
### Added
* Add [`no-direct-mutation-state`][] rule ([#133][], [#201][] @petersendidit)
* Add [`forbid-prop-types`][] rule ([#215][] @pwmckenna)
### Fixed
* Fix no-did-mount/update-set-state rules, these rules were not working on ES6 classes
### Changed
* Update dependencies
* Documentation improvements ([#222][] @Andersos)
[3.5.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.4.2...v3.5.0
[#133]: https://github.com/yannickcr/eslint-plugin-react/issues/133
[#201]: https://github.com/yannickcr/eslint-plugin-react/issues/201
[#215]: https://github.com/yannickcr/eslint-plugin-react/issues/215
[#222]: https://github.com/yannickcr/eslint-plugin-react/pull/222
## [3.4.2] - 2015-09-18
### Fixed
* Only display the `jsx-quotes` deprecation warning with the default formatter ([#221][])
[3.4.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.4.1...v3.4.2
[#221]: https://github.com/yannickcr/eslint-plugin-react/issues/221
## [3.4.1] - 2015-09-17
### Fixed
* Fix `jsx-quotes` rule deprecation message ([#220][])
[3.4.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.4.0...v3.4.1
[#220]: https://github.com/yannickcr/eslint-plugin-react/issues/220
## [3.4.0] - 2015-09-16
### Added
* Add namespaced JSX support to [`jsx-no-undef`][] ([#219][] @zertosh)
* Add option to [`jsx-closing-bracket-location`][] to configure different styles for self-closing and non-empty tags ([#208][] @evocateur)
### Deprecated
* Deprecate `jsx-quotes` rule, will now trigger a warning if used ([#217][])
[3.4.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.3.2...v3.4.0
[#219]: https://github.com/yannickcr/eslint-plugin-react/pull/219
[#208]: https://github.com/yannickcr/eslint-plugin-react/pull/208
[#217]: https://github.com/yannickcr/eslint-plugin-react/issues/217
## [3.3.2] - 2015-09-10
### Changed
* Add `state` in lifecycle methods for [`sort-comp`][] rule ([#197][] @mathieudutour)
* Treat component with render which returns `createElement` as valid ([#206][] @epmatsw)
### Fixed
* Fix allowed methods on arrayOf in [`prop-types`][] ([#146][])
* Fix default configuration for [`jsx-boolean-value`][] ([#210][])
[3.3.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.3.1...v3.3.2
[#146]: https://github.com/yannickcr/eslint-plugin-react/issues/146
[#197]: https://github.com/yannickcr/eslint-plugin-react/pull/197
[#206]: https://github.com/yannickcr/eslint-plugin-react/pull/206
[#210]: https://github.com/yannickcr/eslint-plugin-react/issues/210
## [3.3.1] - 2015-09-01
### Changed
* Update dependencies
* Update changelog to follow the Keep a CHANGELOG standards
* Documentation improvements ([#198][] @lencioni)
### Fixed
* Fix [`jsx-closing-bracket-location`][] for multiline props ([#199][])
[3.3.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.3.0...v3.3.1
[#198]: https://github.com/yannickcr/eslint-plugin-react/pull/198
[#199]: https://github.com/yannickcr/eslint-plugin-react/issues/199
## [3.3.0] - 2015-08-26
### Added
* Add [`jsx-indent-props`][] rule ([#15][], [#181][])
* Add `no-set-state rule` ([#197][] @markdalgleish)
* Add [`jsx-closing-bracket-location`][] rule ([#14][], [#64][])
### Changed
* Update dependencies
### Fixed
* Fix crash on propTypes declarations with an empty body ([#193][] @mattyod)
[3.3.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.2.3...v3.3.0
[#15]: https://github.com/yannickcr/eslint-plugin-react/issues/15
[#181]: https://github.com/yannickcr/eslint-plugin-react/issues/181
[#197]: https://github.com/yannickcr/eslint-plugin-react/pull/197
[#14]: https://github.com/yannickcr/eslint-plugin-react/issues/14
[#64]: https://github.com/yannickcr/eslint-plugin-react/issues/64
[#193]: https://github.com/yannickcr/eslint-plugin-react/pull/193
## [3.2.3] - 2015-08-16
### Changed
* Update dependencies
### Fixed
* Fix object rest/spread handling ([#187][] @xjamundx, [#189][] @Morantron)
[3.2.3]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.2.2...v3.2.3
[#187]: https://github.com/yannickcr/eslint-plugin-react/pull/187
[#189]: https://github.com/yannickcr/eslint-plugin-react/pull/189
## [3.2.2] - 2015-08-11
### Changed
* Remove peerDependencies ([#178][])
[3.2.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.2.1...v3.2.2
[#178]: https://github.com/yannickcr/eslint-plugin-react/issues/178
## [3.2.1] - 2015-08-08
### Fixed
* Fix crash when propTypes don't have any parent ([#182][])
* Fix jsx-no-literals reporting errors outside JSX ([#183][] @CalebMorris)
[3.2.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.2.0...v3.2.1
[#182]: https://github.com/yannickcr/eslint-plugin-react/issues/182
[#183]: https://github.com/yannickcr/eslint-plugin-react/pull/183
## [3.2.0] - 2015-08-04
### Added
* Add [`jsx-max-props-per-line`][] rule ([#13][])
* Add [`jsx-no-literals`][] rule ([#176][] @CalebMorris)
### Changed
* Update dependencies
### Fixed
* Fix object access in [`jsx-no-undef`][] ([#172][])
[3.2.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.1.0...v3.2.0
[#13]: https://github.com/yannickcr/eslint-plugin-react/issues/13
[#176]: https://github.com/yannickcr/eslint-plugin-react/pull/176
[#172]: https://github.com/yannickcr/eslint-plugin-react/issues/172
## [3.1.0] - 2015-07-28
### Added
* Add event handlers to [`no-unknown-property`][] ([#164][] @mkenyon)
* Add customValidators option to [`prop-types`][] ([#145][] @CalebMorris)
### Changed
* Update dependencies
* Documentation improvements ([#167][] @ngbrown)
### Fixed
* Fix comment handling in [`jsx-curly-spacing`][] ([#165][])
[3.1.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v3.0.0...v3.1.0
[#164]: https://github.com/yannickcr/eslint-plugin-react/pull/164
[#145]: https://github.com/yannickcr/eslint-plugin-react/issues/145
[#165]: https://github.com/yannickcr/eslint-plugin-react/issues/165
[#167]: https://github.com/yannickcr/eslint-plugin-react/pull/167
## [3.0.0] - 2015-07-21
### Added
* Add jsx-no-duplicate-props rule ([#161][] @hummlas)
* Add allowMultiline option to the [`jsx-curly-spacing`][] rule ([#156][] @mathieumg)
### Breaking
* In [`jsx-curly-spacing`][] braces spanning multiple lines are now allowed with `never` option ([#156][] @mathieumg)
### Fixed
* Fix multiple var and destructuring handling in [`prop-types`][] ([#159][])
* Fix crash when retrieving propType name ([#163][])
[3.0.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.7.1...v3.0.0
[#161]: https://github.com/yannickcr/eslint-plugin-react/pull/161
[#156]: https://github.com/yannickcr/eslint-plugin-react/pull/156
[#159]: https://github.com/yannickcr/eslint-plugin-react/issues/159
[#163]: https://github.com/yannickcr/eslint-plugin-react/issues/163
## [2.7.1] - 2015-07-16
### Changed
* Update peerDependencies requirements ([#154][])
* Update codebase for ESLint v1.0.0
* Change oneOfType to actually keep the child types ([#148][] @CalebMorris)
* Documentation improvements ([#147][] @lencioni)
[2.7.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.7.0...v2.7.1
[#154]: https://github.com/yannickcr/eslint-plugin-react/issues/154
[#148]: https://github.com/yannickcr/eslint-plugin-react/issues/148
[#147]: https://github.com/yannickcr/eslint-plugin-react/pull/147
## [2.7.0] - 2015-07-11
### Added
* Add [`no-danger`][] rule ([#138][] @scothis)
* Add [`jsx-curly-spacing`][] rule ([#142][])
### Fixed
* Fix properties limitations on propTypes ([#139][])
* Fix component detection ([#144][])
[2.7.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.6.4...v2.7.0
[#138]: https://github.com/yannickcr/eslint-plugin-react/pull/138
[#142]: https://github.com/yannickcr/eslint-plugin-react/issues/142
[#139]: https://github.com/yannickcr/eslint-plugin-react/issues/139
[#144]: https://github.com/yannickcr/eslint-plugin-react/issues/144
## [2.6.4] - 2015-07-02
### Fixed
* Fix simple destructuring handling ([#137][])
[2.6.4]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.6.3...v2.6.4
[#137]: https://github.com/yannickcr/eslint-plugin-react/issues/137
## [2.6.3] - 2015-06-30
### Fixed
* Fix ignore option for [`prop-types`][] rule ([#135][])
* Fix nested props destructuring ([#136][])
[2.6.3]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.6.2...v2.6.3
[#135]: https://github.com/yannickcr/eslint-plugin-react/issues/135
[#136]: https://github.com/yannickcr/eslint-plugin-react/issues/136
## [2.6.2] - 2015-06-28
### Fixed
* Fix props validation when using a prop as an object key ([#132][])
[2.6.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.6.1...v2.6.2
[#132]: https://github.com/yannickcr/eslint-plugin-react/issues/132
## [2.6.1] - 2015-06-28
### Fixed
* Fix crash in [`prop-types`][] when encountering an empty variable declaration ([#130][])
[2.6.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.6.0...v2.6.1
[#130]: https://github.com/yannickcr/eslint-plugin-react/issues/130
## [2.6.0] - 2015-06-28
### Added
* Add support for nested propTypes ([#62][] [#105][] @Cellule)
* Add [`require-extension`][] rule ([#117][] @scothis)
* Add support for computed string format in [`prop-types`][] ([#127][] @Cellule)
* Add ES6 methods to [`sort-comp`][] default configuration ([#97][] [#122][])
* Add support for props destructuring directly on the this keyword
* Add `acceptTranspilerName` option to [`display-name`][] rule ([#75][])
* Add schema to validate rules options
### Changed
* Update dependencies
### Fixed
* Fix test command for Windows ([#114][] @Cellule)
* Fix detection of missing displayName and propTypes when `ecmaFeatures.jsx` is false ([#119][] @rpl)
* Fix propTypes destructuring with properties as string ([#118][] @Cellule)
* Fix [`jsx-sort-prop-types`][] support for keys as string ([#123][] @Cellule)
* Fix crash if a ClassProperty has only one token ([#125][])
* Fix invalid class property handling in [`jsx-sort-prop-types`][] ([#129][])
[2.6.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.5.2...v2.6.0
[#62]: https://github.com/yannickcr/eslint-plugin-react/issues/62
[#105]: https://github.com/yannickcr/eslint-plugin-react/issues/105
[#114]: https://github.com/yannickcr/eslint-plugin-react/pull/114
[#117]: https://github.com/yannickcr/eslint-plugin-react/pull/117
[#119]: https://github.com/yannickcr/eslint-plugin-react/pull/119
[#118]: https://github.com/yannickcr/eslint-plugin-react/issues/118
[#123]: https://github.com/yannickcr/eslint-plugin-react/pull/123
[#125]: https://github.com/yannickcr/eslint-plugin-react/issues/125
[#127]: https://github.com/yannickcr/eslint-plugin-react/pull/127
[#97]: https://github.com/yannickcr/eslint-plugin-react/issues/97
[#122]: https://github.com/yannickcr/eslint-plugin-react/issues/122
[#129]: https://github.com/yannickcr/eslint-plugin-react/issues/129
[#75]: https://github.com/yannickcr/eslint-plugin-react/issues/75
## [2.5.2] - 2015-06-14
### Fixed
* Fix regression in [`jsx-uses-vars`][] with `babel-eslint` ([#110][])
[2.5.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.5.1...v2.5.2
[#110]: https://github.com/yannickcr/eslint-plugin-react/issues/110
## [2.5.1] - 2015-06-14
### Changed
* Update dependencies
* Documentation improvements ([#99][] @morenoh149)
### Fixed
* Fix [`prop-types`][] crash when propTypes definition is invalid ([#95][])
* Fix [`jsx-uses-vars`][] for ES6 classes ([#96][])
* Fix hasOwnProperty that is taken for a prop ([#102][])
[2.5.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.5.0...v2.5.1
[#95]: https://github.com/yannickcr/eslint-plugin-react/issues/95
[#96]: https://github.com/yannickcr/eslint-plugin-react/issues/96
[#102]: https://github.com/yannickcr/eslint-plugin-react/issues/102
[#99]: https://github.com/yannickcr/eslint-plugin-react/pull/99
## [2.5.0] - 2015-06-04
### Added
* Add option to make [`wrap-multilines`][] more granular ([#94][] @PiPeep)
### Changed
* Update dependencies
* Documentation improvements ([#92][] [#93][] @lencioni)
[2.5.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.4.0...v2.5.0
[#94]: https://github.com/yannickcr/eslint-plugin-react/pull/94
[#92]: https://github.com/yannickcr/eslint-plugin-react/pull/92
[#93]: https://github.com/yannickcr/eslint-plugin-react/pull/93
## [2.4.0] - 2015-05-30
### Added
* Add pragma option to [`jsx-uses-react`][] ([#82][] @dominicbarnes)
* Add context props to [`sort-comp`][] ([#89][] @zertosh)
### Changed
* Update dependencies
* Documentation improvement ([#91][] @matthewwithanm)
### Fixed
* Fix itemID in [`no-unknown-property`][] rule ([#85][] @cody)
* Fix license field in package.json ([#90][] @zertosh)
* Fix usage of contructor in [`sort-comp`][] options ([#88][])
[2.4.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.3.0...v2.4.0
[#82]: https://github.com/yannickcr/eslint-plugin-react/pull/82
[#89]: https://github.com/yannickcr/eslint-plugin-react/pull/89
[#85]: https://github.com/yannickcr/eslint-plugin-react/pull/85
[#90]: https://github.com/yannickcr/eslint-plugin-react/pull/90
[#88]: https://github.com/yannickcr/eslint-plugin-react/issues/88
[#91]: https://github.com/yannickcr/eslint-plugin-react/pull/91
## [2.3.0] - 2015-05-14
### Added
* Add [`sort-comp`][] rule ([#39][])
* Add `allow-in-func` option to [`no-did-mount-set-state`][] ([#56][])
### Changed
* Update dependencies
* Improve errors locations for `prop-types`
### Fixed
* Fix quoted propTypes in ES6 ([#77][])
[2.3.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.2.0...v2.3.0
[#39]: https://github.com/yannickcr/eslint-plugin-react/issues/39
[#77]: https://github.com/yannickcr/eslint-plugin-react/issues/77
[#56]: https://github.com/yannickcr/eslint-plugin-react/issues/56
## [2.2.0] - 2015-04-22
### Added
* Add [`jsx-sort-prop-types`][] rule ([#38][] @AlexKVal)
### Changed
* Documentation improvements ([#71][] @AlexKVal)
### Fixed
* Fix variables marked as used when a prop has the same name ([#69][] @burnnat)
[2.2.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.1.1...v2.2.0
[#38]: https://github.com/yannickcr/eslint-plugin-react/issues/38
[#69]: https://github.com/yannickcr/eslint-plugin-react/pull/69
[#71]: https://github.com/yannickcr/eslint-plugin-react/pull/71
## [2.1.1] - 2015-04-17
### Added
* Add support for classes static properties ([#43][])
* Add tests for the `babel-eslint` parser
* Add ESLint as peerDependency ([#63][] @AlexKVal)
### Changed
* Documentation improvements ([#55][] @AlexKVal, [#60][] @chriscalo)
[2.1.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.1.0...v2.1.1
[#43]: https://github.com/yannickcr/eslint-plugin-react/issues/43
[#63]: https://github.com/yannickcr/eslint-plugin-react/pull/63
[#55]: https://github.com/yannickcr/eslint-plugin-react/pull/55
[#60]: https://github.com/yannickcr/eslint-plugin-react/pull/60
## [2.1.0] - 2015-04-06
### Added
* Add [`jsx-boolean-value`][] rule ([#11][])
* Add support for static methods in [`display-name`][] and [`prop-types`][] ([#48][])
### Changed
* Update [`jsx-sort-props`][] to reset the alphabetical verification on spread ([#47][] @zertosh)
* Update [`jsx-uses-vars`][] to be enabled by default ([#49][] @banderson)
### Fixed
* Fix describing comment for hasSpreadOperator() method ([#53][] @AlexKVal)
[2.1.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.0.2...v2.1.0
[#47]: https://github.com/yannickcr/eslint-plugin-react/pull/47
[#49]: https://github.com/yannickcr/eslint-plugin-react/pull/49
[#11]: https://github.com/yannickcr/eslint-plugin-react/issues/11
[#48]: https://github.com/yannickcr/eslint-plugin-react/issues/48
[#53]: https://github.com/yannickcr/eslint-plugin-react/pull/53
## [2.0.2] - 2015-03-31
### Fixed
* Fix ignore rest spread when destructuring props ([#46][])
* Fix component detection in [`prop-types`][] and [`display-name`][] ([#45][])
* Fix spread handling in [`jsx-sort-props`][] ([#42][] @zertosh)
[2.0.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.0.1...v2.0.2
[#46]: https://github.com/yannickcr/eslint-plugin-react/issues/46
[#45]: https://github.com/yannickcr/eslint-plugin-react/issues/45
[#42]: https://github.com/yannickcr/eslint-plugin-react/pull/42
## [2.0.1] - 2015-03-30
### Fixed
* Fix props detection when used in an object ([#41][])
[2.0.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v2.0.0...v2.0.1
[#41]: https://github.com/yannickcr/eslint-plugin-react/issues/41
## [2.0.0] - 2015-03-29
### Added
* Add [`jsx-sort-props`][] rule ([#16][])
* Add [`no-unknown-property`][] rule ([#28][])
* Add ignore option to [`prop-types`][] rule
### Changed
* Update dependencies
### Breaking
* In [`prop-types`][] the children prop is no longer ignored
### Fixed
* Fix components are now detected when using ES6 classes ([#24][])
* Fix [`prop-types`][] now return the right line/column ([#33][])
* Fix props are now detected when destructuring ([#27][])
* Fix only check for computed property names in [`prop-types`][] ([#36][] @burnnat)
[2.0.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v1.6.1...v2.0.0
[#16]: https://github.com/yannickcr/eslint-plugin-react/issues/16
[#28]: https://github.com/yannickcr/eslint-plugin-react/issues/28
[#24]: https://github.com/yannickcr/eslint-plugin-react/issues/24
[#33]: https://github.com/yannickcr/eslint-plugin-react/issues/33
[#27]: https://github.com/yannickcr/eslint-plugin-react/issues/27
[#36]: https://github.com/yannickcr/eslint-plugin-react/pull/36
## [1.6.1] - 2015-03-25
### Changed
* Update `jsx-quotes` documentation
### Fixed
* Fix [`jsx-no-undef`][] with `babel-eslint` ([#30][])
* Fix `jsx-quotes` on Literal childs ([#29][])
[1.6.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v1.6.0...v1.6.1
[#30]: https://github.com/yannickcr/eslint-plugin-react/issues/30
[#29]: https://github.com/yannickcr/eslint-plugin-react/issues/29
## [1.6.0] - 2015-03-22
### Added
* Add [`jsx-no-undef`][] rule
* Add `jsx-quotes` rule ([#12][])
* Add `@jsx` pragma support ([#23][])
### Changed
* Allow `this.getState` references (not calls) in lifecycle methods ([#22][] @benmosher)
* Update dependencies
### Fixed
* Fix [`react-in-jsx-scope`][] in Node.js env
* Fix usage of propTypes with an external object ([#9][])
[1.6.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v1.5.0...v1.6.0
[#12]: https://github.com/yannickcr/eslint-plugin-react/issues/12
[#23]: https://github.com/yannickcr/eslint-plugin-react/issues/23
[#9]: https://github.com/yannickcr/eslint-plugin-react/issues/9
[#22]: https://github.com/yannickcr/eslint-plugin-react/pull/22
## [1.5.0] - 2015-03-14
### Added
* Add [`jsx-uses-vars`][] rule
### Fixed
* Fix [`jsx-uses-react`][] for ESLint 0.17.0
[1.5.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v1.4.1...v1.5.0
## [1.4.1] - 2015-03-03
### Fixed
* Fix `this.props.children` marked as missing in props validation ([#7][])
* Fix usage of `this.props` without property ([#8][])
[1.4.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v1.4.0...v1.4.1
[#7]: https://github.com/yannickcr/eslint-plugin-react/issues/7
[#8]: https://github.com/yannickcr/eslint-plugin-react/issues/8
## [1.4.0] - 2015-02-24
### Added
* Add [`react-in-jsx-scope`][] rule ([#5][] @glenjamin)
* Add [`jsx-uses-react`][] rule ([#6][] @glenjamin)
### Changed
* Update [`prop-types`][] to check props usage insead of propTypes presence ([#4][])
[1.4.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v1.3.0...v1.4.0
[#4]: https://github.com/yannickcr/eslint-plugin-react/issues/4
[#5]: https://github.com/yannickcr/eslint-plugin-react/pull/5
[#6]: https://github.com/yannickcr/eslint-plugin-react/pull/6
## [1.3.0] - 2015-02-24
### Added
* Add [`no-did-mount-set-state`][] rule
* Add [`no-did-update-set-state`][] rule
### Changed
* Update dependencies
[1.3.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v1.2.2...v1.3.0
## [1.2.2] - 2015-02-09
### Changed
* Update dependencies
### Fixed
* Fix childs detection in [`self-closing-comp`][] ([#3][])
[1.2.2]: https://github.com/yannickcr/eslint-plugin-react/compare/v1.2.1...v1.2.2
[#3]: https://github.com/yannickcr/eslint-plugin-react/issues/3
## [1.2.1] - 2015-01-29
### Changed
* Update Readme
* Update dependencies
* Update [`wrap-multilines`][] and [`self-closing-comp`][] rules for ESLint 0.13.0
[1.2.1]: https://github.com/yannickcr/eslint-plugin-react/compare/v1.2.0...v1.2.1
## [1.2.0] - 2014-12-29
### Added
* Add [`self-closing-comp`][] rule
### Fixed
* Fix [`display-name`][] and [`prop-types`][] rules
[1.2.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v1.1.0...v1.2.0
## [1.1.0] - 2014-12-28
### Added
* Add [`display-name`][] rule
* Add [`wrap-multilines`][] rule
* Add rules documentation
* Add rules tests
[1.1.0]: https://github.com/yannickcr/eslint-plugin-react/compare/v1.0.0...v1.1.0
## 1.0.0 - 2014-12-16
### Added
* First revision
[`display-name`]: docs/rules/display-name.md
[`forbid-component-props`]: docs/rules/forbid-component-props.md
[`forbid-elements`]: docs/rules/forbid-elements.md
[`forbid-foreign-prop-types`]: docs/rules/forbid-foreign-prop-types.md
[`forbid-prop-types`]: docs/rules/forbid-prop-types.md
[`no-array-index-key`]: docs/rules/no-array-index-key.md
[`no-children-prop`]: docs/rules/no-children-prop.md
[`no-danger`]: docs/rules/no-danger.md
[`no-danger-with-children`]: docs/rules/no-danger-with-children.md
[`no-deprecated`]: docs/rules/no-deprecated.md
[`no-did-mount-set-state`]: docs/rules/no-did-mount-set-state.md
[`no-did-update-set-state`]: docs/rules/no-did-update-set-state.md
[`no-direct-mutation-state`]: docs/rules/no-direct-mutation-state.md
[`no-find-dom-node`]: docs/rules/no-find-dom-node.md
[`no-is-mounted`]: docs/rules/no-is-mounted.md
[`no-multi-comp`]: docs/rules/no-multi-comp.md
[`no-render-return-value`]: docs/rules/no-render-return-value.md
[`no-set-state`]: docs/rules/no-set-state.md
[`no-string-refs`]: docs/rules/no-string-refs.md
[`no-unescaped-entities`]: docs/rules/no-unescaped-entities.md
[`no-unknown-property`]: docs/rules/no-unknown-property.md
[`no-unused-prop-types`]: docs/rules/no-unused-prop-types.md
[`no-will-update-set-state`]: docs/rules/no-will-update-set-state.md
[`prefer-es6-class`]: docs/rules/prefer-es6-class.md
[`prefer-stateless-function`]: docs/rules/prefer-stateless-function.md
[`prop-types`]: docs/rules/prop-types.md
[`react-in-jsx-scope`]: docs/rules/react-in-jsx-scope.md
[`require-optimization`]: docs/rules/require-optimization.md
[`require-render-return`]: docs/rules/require-render-return.md
[`self-closing-comp`]: docs/rules/self-closing-comp.md
[`sort-comp`]: docs/rules/sort-comp.md
[`sort-prop-types`]: docs/rules/sort-prop-types.md
[`style-prop-object`]: docs/rules/style-prop-object.md
[`jsx-boolean-value`]: docs/rules/jsx-boolean-value.md
[`jsx-closing-bracket-location`]: docs/rules/jsx-closing-bracket-location.md
[`jsx-curly-spacing`]: docs/rules/jsx-curly-spacing.md
[`jsx-equals-spacing`]: docs/rules/jsx-equals-spacing.md
[`jsx-filename-extension`]: docs/rules/jsx-filename-extension.md
[`jsx-first-prop-new-line`]: docs/rules/jsx-first-prop-new-line.md
[`jsx-handler-names`]: docs/rules/jsx-handler-names.md
[`jsx-indent`]: docs/rules/jsx-indent.md
[`jsx-indent-props`]: docs/rules/jsx-indent-props.md
[`jsx-key`]: docs/rules/jsx-key.md
[`jsx-max-props-per-line`]: docs/rules/jsx-max-props-per-line.md
[`jsx-no-bind`]: docs/rules/jsx-no-bind.md
[`jsx-no-comment-textnodes`]: docs/rules/jsx-no-comment-textnodes.md
[`jsx-no-duplicate-props`]: docs/rules/jsx-no-duplicate-props.md
[`jsx-no-literals`]: docs/rules/jsx-no-literals.md
[`jsx-no-target-blank`]: docs/rules/jsx-no-target-blank.md
[`jsx-no-undef`]: docs/rules/jsx-no-undef.md
[`jsx-pascal-case`]: docs/rules/jsx-pascal-case.md
[`require-default-props`]: docs/rules/require-default-props.md
[`jsx-sort-props`]: docs/rules/jsx-sort-props.md
[`jsx-space-before-closing`]: docs/rules/jsx-space-before-closing.md
[`jsx-tag-spacing`]: docs/rules/jsx-tag-spacing.md
[`jsx-uses-react`]: docs/rules/jsx-uses-react.md
[`jsx-uses-vars`]: docs/rules/jsx-uses-vars.md
[`jsx-wrap-multilines`]: docs/rules/jsx-wrap-multilines.md
[`void-dom-elements-no-children`]: docs/rules/void-dom-elements-no-children.md
[`default-props-match-prop-types`]: docs/rules/default-props-match-prop-types.md
[`no-redundant-should-component-update`]: docs/rules/no-redundant-should-component-update.md
[`jsx-closing-tag-location`]: docs/rules/jsx-closing-tag-location.md
[`no-unused-state`]: docs/rules/no-unused-state.md
[`boolean-prop-naming`]: docs/rules/boolean-prop-naming.md
[`no-typos`]: docs/rules/no-typos.md
[`jsx-sort-prop-types`]: docs/rules/sort-prop-types.md
[`require-extension`]: docs/rules/require-extension.md
[`no-comment-textnodes`]: docs/rules/jsx-no-comment-textnodes.md
[`wrap-multilines`]: docs/rules/jsx-wrap-multilines.md
[`jsx-curly-brace-presence`]: docs/rules/jsx-curly-brace-presence.md
[`jsx-one-expression-per-line`]: docs/rules/jsx-one-expression-per-line.md
[`destructuring-assignment`]: docs/rules/destructuring-assignment.md
[`no-access-state-in-setstate`]: docs/rules/no-access-state-in-setstate.md
[`button-has-type`]: docs/rules/button-has-type.md
[`forbid-dom-props`]: docs/rules/forbid-dom-props.md
[`jsx-child-element-spacing`]: docs/rules/jsx-child-element-spacing.md
[`no-this-in-sfc`]: docs/rules/no-this-in-sfc.md
[`jsx-sort-default-props`]: docs/rules/jsx-sort-default-props.md
[`jsx-max-depth`]: docs/rules/jsx-max-depth.md
[`jsx-props-no-multi-spaces`]: docs/rules/jsx-props-no-multi-spaces.md
[`no-unsafe`]: docs/rules/no-unsafe.md
[`jsx-fragments`]: docs/rules/jsx-fragments.md
[`jsx-props-no-spreading`]: docs/rules/jsx-props-no-spreading.md
[`prefer-read-only-props`]: docs/rules/prefer-read-only-props.md
[`state-in-constructor`]: docs/rules/state-in-constructor.md
[`jsx-props-no-spreading`]: docs/rules/jsx-props-no-spreading.md
[`static-property-placement`]: docs/rules/static-property-placement.md
[`jsx-curly-newline`]: docs/rules/jsx-curly-newline.md
[`jsx-no-useless-fragment`]: docs/rules/jsx-no-useless-fragment.md
[`jsx-no-script-url`]: docs/rules/jsx-no-script-url.md
[`no-adjacent-inline-elements`]: docs/rules/no-adjacent-inline-elements.md
[`function-component-definition`]: docs/rules/function-component-definition.md
[`jsx-newline`]: docs/rules/jsx-newline.md
[`jsx-no-constructed-context-values`]: docs/rules/jsx-no-constructed-context-values.md
[`no-unstable-nested-components`]: docs/rules/no-unstable-nested-components.md