forked from rubocop/rubocop
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
149 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,145 @@ | ||
Nothing ground-breaking this time around, but the release is pretty exciting non-the-less. | ||
It packs a whole new category of cops (`Performance`) and a bunch of new Rails cops. | ||
A lot of the existing cops got new customization options and we squashed a ton of bugs. | ||
|
||
Thanks to everyone who contributed to this release! | ||
|
||
### New features | ||
|
||
* [#1600](https://github.com/bbatsov/rubocop/issues/1600): Add `line_count_based` and `semantic` styles to the `BlockDelimiters` (formerly `Blocks`) cop. ([@clowder][], [@mudge][]) | ||
* [#1712](https://github.com/bbatsov/rubocop/pull/1712): Set `Offense#corrected?` to `true`, `false`, or `nil` when it was, wasn't, or can't be auto-corrected, respectively. ([@vassilevsky][]) | ||
* [#1669](https://github.com/bbatsov/rubocop/pull/1669): Add command-line switch `--display-style-guide`. ([@marxarelli][]) | ||
* [#1405](https://github.com/bbatsov/rubocop/issues/1405): Add Rails TimeZone and Date cops. ([@palkan][]) | ||
* [#1641](https://github.com/bbatsov/rubocop/pull/1641): Add ruby19_no_mixed_keys style to `HashStyle` cop. ([@iainbeeston][]) | ||
* [#1604](https://github.com/bbatsov/rubocop/issues/1604): Add `IgnoreClassMethods` option to `TrivialAccessors` cop. ([@bbatsov][]) | ||
* [#1651](https://github.com/bbatsov/rubocop/issues/1651): The `Style/SpaceAroundOperators` cop now also detects extra spaces around operators. A list of operators that *may* be surrounded by multiple spaces is configurable. ([@bquorning][]) | ||
* Add auto-correct to `Encoding` cop. ([@rrosenblum][]) | ||
* [#1621](https://github.com/bbatsov/rubocop/issues/1621): `TrailingComma` has a new style `consistent_comma`. ([@tamird][]) | ||
* [#1611](https://github.com/bbatsov/rubocop/issues/1611): Add `empty`, `nil`, and `both` `SupportedStyles` to `EmptyElse` cop. Default is `both`. ([@rrosenblum][]) | ||
* [#1611](https://github.com/bbatsov/rubocop/issues/1611): Add new `MissingElse` cop. Default is to have this cop be disabled. ([@rrosenblum][]) | ||
* [#1602](https://github.com/bbatsov/rubocop/issues/1602): Add support for `# :nodoc` in `Documentation`. ([@lumeet][]) | ||
* [#1437](https://github.com/bbatsov/rubocop/issues/1437): Modify `HashSyntax` cop to allow the use of hash rockets for hashes that have symbol values when using ruby19 syntax. ([@rrosenblum][]) | ||
* New cop `Style/SymbolLiteral` makes sure you're not using the string within symbol syntax unless it's needed. ([@bbatsov][]) | ||
* [#1657](https://github.com/bbatsov/rubocop/issues/1657): Autocorrect can be turned off on a specific cop via the configuration. ([@jdoconnor][]) | ||
* New cop `Style/AutoResourceCleanup` suggests the use of block taking versions of methods that do resource cleanup. ([@bbatsov][]) | ||
* [#1275](https://github.com/bbatsov/rubocop/issues/1275): `WhileUntilModifier` cop does auto-correction. ([@lumeet][]) | ||
* New cop `Performance/ReverseEach` to convert `reverse.each` to `reverse_each`. ([@rrosenblum][]) | ||
* [#1281](https://github.com/bbatsov/rubocop/issues/1281): `IfUnlessModifier` cop does auto-correction. ([@lumeet][]) | ||
* New cop `Performance/Detect` to detect usage of `select.first`, `select.last`, `find_all.first`, and `find_all.last` and convert them to use `detect` instead. ([@palkan][], [@rrosenblum][]) | ||
* [#1728](https://github.com/bbatsov/rubocop/pull/1728): New cop `NonLocalExitFromIterator` checks for misused `return` in block. ([@ypresto][]) | ||
* New cop `Performance/Size` to convert calls to `count` on `Array` and `Hash` to `size`. ([@rrosenblum][]) | ||
* New cop `Performance/Sample` to convert usages of `shuffle.first`, `shuffle.last`, and `shuffle[Fixnum]` to `sample`. ([@rrosenblum][]) | ||
* New cop `Performance/FlatMap` to convert `Enumerable#map...Array#flatten` and `Enumerable#collect...Array#flatten` to `Enumerable#flat_map`. ([@rrosenblum][]) | ||
* [#1144](https://github.com/bbatsov/rubocop/issues/1144): New cop `ClosingParenthesisIndentation` checks the indentation of hanging closing parentheses. ([@jonas054][]) | ||
* New Rails cop `FindBy` identifies usages of `where.first` and `where.take`. ([@bbatsov][]) | ||
* New Rails cop `FindEach` identifies usages of `all.each`. ([@bbatsov][]) | ||
* [#1342](https://github.com/bbatsov/rubocop/issues/1342): `IndentationConsistency` is now configurable with the styles `normal` and `rails`. ([@jonas054][]) | ||
|
||
### Bugs fixed | ||
|
||
* [#1705](https://github.com/bbatsov/rubocop/issues/1705): Fix crash when reporting offenses of `MissingElse` cop. ([@gerry3][]) | ||
* [#1659](https://github.com/bbatsov/rubocop/pull/1659): Fix stack overflow with JRuby and Windows 8, during initial config validation. ([@pimterry][]) | ||
* [#1694](https://github.com/bbatsov/rubocop/issues/1694): Ignore methods with a `blockarg` in `TrivialAccessors`. ([@bbatsov][]) | ||
* [#1617](https://github.com/bbatsov/rubocop/issues/1617): Always read the html output template using utf-8. ([@bbatsov][]) | ||
* [#1684](https://github.com/bbatsov/rubocop/issues/1684): Ignore symbol keys like `:"string"` in `HashSyntax`. ([@bbatsov][]) | ||
* Handle explicit `begin` blocks in `Lint/Void`. ([@bbatsov][]) | ||
* Handle symbols in `Lint/Void`. ([@bbatsov][]) | ||
* [#1695](https://github.com/bbatsov/rubocop/pull/1695): Fix bug with `--auto-gen-config` and `SpaceInsideBlockBraces`. ([@meganemura][]) | ||
* Correct issues with whitespace around multi-line lambda arguments. ([@zvkemp][]) | ||
* [#1579](https://github.com/bbatsov/rubocop/issues/1579): Fix handling of similar-looking blocks in `BlockAlignment`. ([@lumeet][]) | ||
* [#1676](https://github.com/bbatsov/rubocop/pull/1676): Fix auto-correct in `Lambda` when a new multi-line lambda is used as an argument. ([@lumeet][]) | ||
* [#1656](https://github.com/bbatsov/rubocop/issues/1656): Fix bug that would include hidden directories implicitly. ([@jonas054][]) | ||
* [#1728](https://github.com/bbatsov/rubocop/pull/1728): Fix bug in `LiteralInInterpolation` and `AssignmentInCondition`. ([@ypresto][]) | ||
* [#1735](https://github.com/bbatsov/rubocop/issues/1735): Handle trailing space in `LineEndConcatenation` autocorrect. ([@jonas054][]) | ||
* [#1750](https://github.com/bbatsov/rubocop/issues/1750): Escape offending code lines output by the HTML formatter in case they contain markup. ([@jonas054][]) | ||
* [#1541](https://github.com/bbatsov/rubocop/issues/1541): No inspection of text that follows `__END__`. ([@jonas054][]) | ||
* Fix comment detection in `Style/Documentation`. ([@lumeet][]) | ||
* [#1637](https://github.com/bbatsov/rubocop/issues/1637): Fix handling of `binding` calls in `UnusedBlockArgument` and `UnusedMethodArgument`. ([@lumeet][]) | ||
|
||
### Changes | ||
|
||
* [#1397](https://github.com/bbatsov/rubocop/issues/1397): `UnneededPercentX` renamed to `CommandLiteral`. The cop can be configured to enforce using either `%x` or backticks around command literals, or using `%x` around multi-line commands and backticks around single-line commands. The cop ignores heredoc commands. ([@bquorning][]) | ||
* [#1020](https://github.com/bbatsov/rubocop/issues/1020): Removed the `MaxSlashes` configuration option for `RegexpLiteral`. Instead, the cop can be configured to enforce using either `%r` or slashes around regular expressions, or using `%r` around multi-line regexes and slashes around single-line regexes. ([@bquorning][]) | ||
* [#1734](https://github.com/bbatsov/rubocop/issues/1734): The default exclusion of hidden directories has been optimized for speed. ([@jonas054][]) | ||
* [#1673](https://github.com/bbatsov/rubocop/issues/1673): `Style/TrivialAccessors` now requires matching names by default. ([@bbatsov][]) | ||
|
||
[@bbatsov]: https://github.com/bbatsov | ||
[@jonas054]: https://github.com/jonas054 | ||
[@yujinakayama]: https://github.com/yujinakayama | ||
[@dblock]: https://github.com/dblock | ||
[@nevir]: https://github.com/nevir | ||
[@daviddavis]: https://github.com/daviddavis | ||
[@sds]: https://github.com/sds | ||
[@fancyremarker]: https://github.com/fancyremarker | ||
[@sinisterchipmunk]: https://github.com/sinisterchipmunk | ||
[@vonTronje]: https://github.com/vonTronje | ||
[@agrimm]: https://github.com/agrimm | ||
[@pmenglund]: https://github.com/pmenglund | ||
[@chulkilee]: https://github.com/chulkilee | ||
[@codez]: https://github.com/codez | ||
[@emou]: https://github.com/emou | ||
[@skanev]: http://github.com/skanev | ||
[@claco]: http://github.com/claco | ||
[@rifraf]: http://github.com/rifraf | ||
[@scottmatthewman]: https://github.com/scottmatthewman | ||
[@ma2gedev]: http://github.com/ma2gedev | ||
[@jeremyolliver]: https://github.com/jeremyolliver | ||
[@hannestyden]: https://github.com/hannestyden | ||
[@geniou]: https://github.com/geniou | ||
[@jkogara]: https://github.com/jkogara | ||
[@tmorris-fiksu]: https://github.com/tmorris-fiksu | ||
[@mockdeep]: https://github.com/mockdeep | ||
[@hiroponz]: https://github.com/hiroponz | ||
[@tamird]: https://github.com/tamird | ||
[@fshowalter]: https://github.com/fshowalter | ||
[@cschramm]: https://github.com/cschramm | ||
[@bquorning]: https://github.com/bquorning | ||
[@bcobb]: https://github.com/bcobb | ||
[@irrationalfab]: https://github.com/irrationalfab | ||
[@tommeier]: https://github.com/tommeier | ||
[@sfeldon]: https://github.com/sfeldon | ||
[@biinari]: https://github.com/biinari | ||
[@barunio]: https://github.com/barunio | ||
[@molawson]: https://github.com/molawson | ||
[@wndhydrnt]: https://github.com/wndhydrnt | ||
[@ggilder]: https://github.com/ggilder | ||
[@salbertson]: https://github.com/salbertson | ||
[@camilleldn]: https://github.com/camilleldn | ||
[@mcls]: https://github.com/mcls | ||
[@yous]: https://github.com/yous | ||
[@vrthra]: https://github.com/vrthra | ||
[@SkuliOskarsson]: https://github.com/SkuliOskarsson | ||
[@jspanjers]: https://github.com/jspanjers | ||
[@sch1zo]: https://github.com/sch1zo | ||
[@smangelsdorf]: https://github.com/smangelsdorf | ||
[@mvz]: https://github.com/mvz | ||
[@jfelchner]: https://github.com/jfelchner | ||
[@janraasch]: https://github.com/janraasch | ||
[@jcarbo]: https://github.com/jcarbo | ||
[@oneamtu]: https://github.com/oneamtu | ||
[@toy]: https://github.com/toy | ||
[@Koronen]: https://github.com/Koronen | ||
[@blainesch]: https://github.com/blainesch | ||
[@marxarelli]: https://github.com/marxarelli | ||
[@katieschilling]: https://github.com/katieschilling | ||
[@kakutani]: https://github.com/kakutani | ||
[@rrosenblum]: https://github.com/rrosenblum | ||
[@mattjmcnaughton]: https://github.com/mattjmcnaughton | ||
[@huerlisi]: https://github.com/huerlisi | ||
[@volkert]: https://github.com/volkert | ||
[@lumeet]: https://github.com/lumeet | ||
[@mmozuras]: https://github.com/mmozuras | ||
[@d4rk5eed]: https://github.com/d4rk5eed | ||
[@cshaffer]: https://github.com/cshaffer | ||
[@eitoball]: https://github.com/eitoball | ||
[@iainbeeston]: https://github.com/iainbeeston | ||
[@pimterry]: https://github.com/pimterry | ||
[@palkan]: https://github.com/palkan | ||
[@jdoconnor]: https://github.com/jdoconnor | ||
[@meganemura]: https://github.com/meganemura | ||
[@zvkemp]: https://github.com/zvkemp | ||
[@vassilevsky]: https://github.com/vassilevsky | ||
[@gerry3]: https://github.com/gerry3 | ||
[@ypresto]: https://github.com/ypresto | ||
[@clowder]: https://github.com/clowder | ||
[@mudge]: https://github.com/mudge |