Skip to content

Latest commit

 

History

History
564 lines (334 loc) · 30.7 KB

CHANGELOG.md

File metadata and controls

564 lines (334 loc) · 30.7 KB

Change log

master (unreleased)

1.23.0 (2024-11-14)

New features

1.22.1 (2024-09-17)

Bug fixes

  • #468: Fix false positives for Performance/BigDecimalWithNumericArgument when using float argument for BigDecimal. (@koic)

1.22.0 (2024-09-16)

Bug fixes

  • #454: Fix false positives for Performance/BigDecimalWithNumericArgument when using BigDecimal 3.1+. (@koic)

Changes

  • #385: Disable Performance/BlockGivenWithExplicitBlock by default. (@earlopain)
  • #407: Make Performance/DoubleStartEndWith aware of safe navigation. (@earlopain)

1.21.1 (2024-06-16)

Bug fixes

  • #452: Fix an error for Performance/RedundantEqualityComparisonBlock when the block is empty. (@earlopain)

1.21.0 (2024-03-30)

New features

  • #446: Support Prism as a Ruby parser (experimental). (@koic)

Bug fixes

  • #437: Fix a false positive for Performance/ChainArrayAllocation when using select with block argument after select. (@koic)
  • #448: Fix a false positive for Performance/RedundantBlockCall when using block.call with block argument. (@koic)

Changes

1.20.2 (2024-01-08)

Bug fixes

  • #425: Fix a false positive for Performance/StringIdentifierArgument when using string interpolation with methods that don't support symbols with :: inside them. (@earlopain)

1.20.1 (2023-12-25)

Bug fixes

  • #428: Fix false negatives for Performance/StringIdentifierArgument when using multiple string arguments. (@koic)

1.20.0 (2023-12-16)

New features

  • #384: Support optimized String#dup for Performance/UnfreezeString when Ruby 3.3+. (@koic)

Bug fixes

  • #374: Fix an error for Performance/MapMethodChain when using map method chain without receiver. (@koic)
  • #386: Fix a false negative for Performance/StringIdentifierArgument when using string interpolation. (@earlopain)
  • #419: Make Performance/Count, Performance/FixedSize, Performance/FlatMap, Performance/InefficientHashSearch, Performance/RangeInclude, Performance/RedundantSortBlock, Performance/ReverseFirst, Performance/SelectMap, Performance/Size, Performance/SortReverse, and Performance/TimesMap cops aware of safe navigation operator. (@koic)
  • #390: Fix a false negative for Performance/ReverseEach when safe navigation is between reverse and each. (@fatkodima)
  • #401: Make Performance/Sum aware of safe navigation operator. (@koic)

Changes

  • #389: Improve Performance/MapCompact to handle more safe navigation calls. (@fatkodima)
  • #395: Enhance Performance/StringInclude to handle === method. (@fatkodima)
  • #388: Require RuboCop 1.30+ as runtime dependency. (@koic)
  • #380: Require RuboCop AST 1.30.0+. (@koic)

1.19.1 (2023-09-17)

Bug fixes

  • #367: Fix an incorrect autocorrect for Performance/BlockGivenWithExplicitBlock when using Lint/UnusedMethodArgument's autocorrection together. (@ymap)
  • #370: Fix an incorrect autocorrect for Performance/RedundantMatch when expressions with lower precedence than =~ are used as an argument. (@ymap)
  • #365: Fix false positives for Performance/ArraySemiInfiniteRangeSlice when using [] with string literals. (@koic)
  • #373: Set target version for Performance/UnfreezeString. (@tagliala)

1.19.0 (2023-08-13)

New features

  • #364: Add new Performance/MapMethodChain cop. (@koic)
  • #363: Support safe navigation operator for Performance/ArraySemiInfiniteRangeSlice, Performance/DeletePrefix, Performance/DeleteSuffix, Performance/Detect, Performance/EndWith, Performance/InefficientHashSearch, Performance/MapCompact, Performance/RedundantSplitRegexpArgument, Performance/ReverseEach, Performance/ReverseFirst, Performance/SelectMap, Performance/Squeeze, Performance/StartWith, Performance/StringInclude, and Performance/StringReplacement cops. (@koic)

1.18.0 (2023-05-21)

Bug fixes

  • #359: Fix a false positive for Performance/RedundantEqualityComparisonBlock when the block variable is used on both sides of ==. (@koic)
  • #351: Fix an incorrect autocorrect for Performance/ConstantRegexp and Performance/RegexpMatch when autocorrecting both at the same time. (@fatkodima)

Changes

1.17.1 (2023-04-09)

Bug fixes

  • #352: Fix the default config for AllowRegexpMatch option of Performance/RedundantEqualityComparisonBlock. (@koic)

1.17.0 (2023-04-09)

New features

  • #347: Add AllowRegexpMatch option to Performance/RedundantEqualityComparisonBlock. (@koic)

Bug fixes

  • #346: Fix a false positive for Performance/StringIdentifierArgument when using a command method with receiver. (@koic)
  • #344: Fix Performance/FlatMap autocorrection for chained methods on separate lines. (@fatkodima)

1.16.0 (2023-02-06)

Changes

  • #332: Register offenses for variables against regexes in Performance/StringInclude. (@fatkodima)

1.15.2 (2022-12-25)

Bug fixes

  • #313: Fix a false negative for Performance/RedundantStringChars when using str.chars.last without argument. (@koic)
  • #321: Fix a false positive for Performance/Sum when using TargetRubyVersion is 2.3 or lower. (@koic)
  • #314: Fix Performance/RegexpMatch to handle ::Regexp. (@fatkodima)

Changes

1.15.1 (2022-11-16)

Bug fixes

  • #309: Fix an error for Performance/MapCompact when using map(&:do_something).compact and there is a line break after map.compact and assigning with ||=. (@koic)

Changes

  • #307: Support autocorrection even if reject is used on Performance/Count. (@r7kamura)

1.15.0 (2022-09-10)

New features

  • #305: Support numbered parameter for Performance/RedundantSortBlock, Performance/SortReverse, and Performance/TimesMap cops. (@koic)

Bug fixes

  • #299: Fix incorrect documentation URLs when using rubocop --show-docs-url. (@r7kamura)

Changes

  • #297: Support autocorrection on Performance/RedundantMatch when receiver is a Regexp literal. (@r7kamura)

1.14.3 (2022-07-17)

Bug fixes

  • #296: Fix a false negative for Performance/StringIdentifierArgument when using instance_variable_defined?. (@koic)
  • #294: Fix a false negative for Performance/ChainArrayAllocation when using array.first(do_something).uniq. (@koic)

1.14.2 (2022-06-08)

Bug fixes

  • #292: Fix a false positive for Performance/RegexpMatch when TargetRubyVersion: 2.3. (@koic)

1.14.1 (2022-06-05)

Bug fixes

  • #291: Fix Performance/MapCompact autocorrect causing invalid syntax when using multiline map { ... }.compact as an argument for an assignment method. (@QQism)

1.14.0 (2022-05-24)

Bug fixes

  • #289: Fix a false positive for Performance/StringIdentifierArgument when using namespaced class string argument. (@koic)
  • #288: Recover Ruby 2.4 code analysis using TargetRubyVersion: 2.4. (@koic)

Changes

  • #287: (Compatibility) Drop Ruby 2.5 support. (@koic)

1.13.3 (2022-03-05)

Bug fixes

  • #285: Fix an error for Performance/MapCompact when using map(&:do_something).compact.first and there is a line break after map.compact and receiver. (@ydah)

1.13.2 (2022-01-16)

Bug fixes

  • #281: Fix an error for Performance/BlockGivenWithExplicitBlock when using Ruby 3.1's anonymous block forwarding. (@koic)

1.13.1 (2022-01-01)

Bug fixes

  • #278: Fix a false positive for Performance/StringIdentifierArgument when using attr. (@koic)

1.13.0 (2021-12-25)

New features

  • #276: Add new Performance/StringIdentifierArgument cop. (@koic)
  • #204: Add Performance/Sum option to ignore potential false positives. (@leoarnold)
  • #269: Add #to_d support to BigDecimalWithNumericArgument. (@leoarnold)

Bug fixes

  • #277: Fix an incorrect autocorrect for Performance/MapCompact when using map.compact.first and there is a line break after map.compact and receiver. (@koic)
  • #273: Fix an incorrect autocorrect for Performance/RedundantStringChars when using str.chars[0]. (@koic)

Changes

  • #270: Mark Performance/Sum auto-correction as unsafe and extend documentation. (@leoarnold)
  • #274: Unmark AutoCorrect: false from Performance/CaseWhenSplat. (@koic)
  • #275: Unmark AutoCorrect: false from Performance/TimesMap. (@koic)

1.12.0 (2021-10-31)

New features

  • #267: Add new Performance/ConcurrentMonotonicTime cop. (@koic)

Bug fixes

  • #261: Fix a false negative for Performance/RedundantBlockCall when using block.call in a class method'. (@koic)
  • #264: Fix error in Performance/Sum when method has no brackets. (@mvz)

Changes

  • #263: Unmark AutoCorrect: false from Performance/StringInclude. (@koic)

1.11.5 (2021-08-18)

Bug fixes

  • #255: Fix a false positive for Performance/RedundantEqualityComparisonBlock when using block argument is used for an argument of operand. (@koic)
  • #257: Fix an incorrect auto-correct for Performance/MapCompact when using multi-line collection.map { ... }.compact as a method argument. (@koic)

1.11.4 (2021-07-07)

Bug fixes

  • #247: Fix an incorrect auto-correct for Performance/MapCompact when using multi-line trailing dot method calls. (@koic)
  • #249: Fix a false positive for Performance/RedundantStringChars when using str.chars.last and str.chars.drop. (@koic)
  • #252: Fix an incorrect auto-correct for Performance/UnfreezeString when invoking a method after String.new with a string. (@koic)

Changes

  • #245: Mark Performance/DeletePrefix and Performance/DeleteSuffix as unsafe. (@koic)

1.11.3 (2021-05-06)

Bug fixes

  • #242: Fix an error for Performance/MapCompact when using multiline map { ... }.compact and assigning to return value. (@koic)

1.11.2 (2021-05-05)

Bug fixes

  • #238: Fix an incorrect auto-correct for Performance/MapCompact when invoking a method after map { ... }.compact on the same line. (@koic)

1.11.1 (2021-05-02)

Bug fixes

  • #236: Fix an incorrect auto-correct for Performance/MapCompact when using multi-line leading dot method calls. (@koic)

1.11.0 (2021-04-22)

New features

  • #229: Add new Performance/MapCompact cop. (@koic)
  • #178: Add new Performance/SelectMap cop. (@koic)

Bug fixes

  • #230: Fix a false positive for Performance/ChainArrayAllocation when using Enumerable#lazy. (@koic)

Changes

1.10.2 (2021-03-23)

Bug fixes

  • #162: Fix a false positive for Performance/RedundantBlockCall when an optional block that is overridden by block variable. (@koic)
  • #36: Fix a false positive for Performance/ReverseEach when each is called on reverse and using the result value. (@koic)
  • #224: Fix a false positive for Style/RedundantEqualityComparisonBlock when using one argument with comma separator in block argument. (@koic)
  • #225: Fix a false positive for Style/RedundantEqualityComparisonBlock when using any? with === comparison block and block argument is not used as a receiver for ===. (@koic)
  • #222: Fix a false positive for Performance/RedundantSplitRegexpArgument when split method argument is exactly one space regexp / /. (@koic)

1.10.1 (2021-03-02)

Bug fixes

  • #214: Fix a false positive for Performance/RedundantEqualityComparisonBlock when using multiple block arguments. (@koic)
  • #216: Fix a false positive for Performance/RedundantSplitRegexpArgument when using split method with ignore case regexp option. (@koic)
  • #217: Fix a false positive for Performance/RedundantEqualityComparisonBlock when using block argument is used for an argument of is_a. (@koic)

1.10.0 (2021-03-01)

New features

  • #190: Add new Performance/RedundantSplitRegexpArgument cop. (@mfbmina)
  • #213: Add new Performance/RedundantEqualityComparisonBlock cop. (@koic)

Bug fixes

  • #207: Fix an error for Performance/Sum when using map(&do_something).sum without receiver. (@koic)
  • #210: Fix a false negative for Performance/BindCall when receiver is not a method call. (@koic)

Changes

  • #205: Update Performance/ConstantRegexp to allow memoized regexps. (@dvandersluis)
  • #212: Enable unsafe auto-correct for Performance/StartWith and Performance/EndWith cops by default. (@koic)

1.9.2 (2021-01-01)

Bug fixes

  • #201: Fix an incorrect auto-correct for Performance/ReverseEach when using multi-line reverse.each with leading dot. (@koic)

1.9.1 (2020-11-28)

Bug fixes

  • #185: Fix incorrect replacement recommendation for Performance/ChainArrayAllocation. (@fatkodima)

Changes

1.9.0 (2020-11-17)

New features

  • #173: Add new Performance/BlockGivenWithExplicitBlock cop. (@fatkodima)
  • #136: Add new Performance/MethodObjectAsBlock cop. (@fatkodima)
  • #151: Add new Performance/ConstantRegexp cop. (@fatkodima)
  • #175: Add new Performance/ArraySemiInfiniteRangeSlice cop. (@fatkodima)
  • #189: Support auto-correction for Performance/Caller. (@koic)
  • #171: Extend auto-correction support for Performance/Sum. (@koic)
  • #194: Support auto-correction for Performance/UnfreezeString. (@koic)

Changes

  • #181: Change default configuration for Performance/CollectionLiteralInLoop to Enabled: 'pending'. (@ghiculescu)
  • #170: Extend Performance/Sum to register an offense for map { ... }.sum. (@eugeneius)
  • #179: Change Performance/Sum to warn about empty arrays, and not register an offense on empty array literals. (@ghiculescu)
  • #180: Require RuboCop 0.90 or higher. (@koic)

1.8.1 (2020-09-19)

Bug fixes

  • #164: Fix an error for Performance/CollectionLiteralInLoop when a method from Enumerable is called with no receiver. (@eugeneius)
  • #165: Fix a false positive for Performance/Sum when using initial value argument is a variable. (@koic)

Changes

  • #163: Change Performance/Detect to also detect offenses when index 0 or -1 is used instead (ie. detect{ ... }[0]). (@dvandersluis)
  • #168: Extend Performance/Sum to register an offense for inject(&:+). (@eugeneius)

1.8.0 (2020-09-04)

New features

Bug fixes

  • #159: Fix a false positive for Performance/AncestorsInclude when receiver is a variable. (@koic)

Changes

  • #157: Extend Performance/Detect cop with check for filter method and Performance/Count cop with checks for find_all and filter methods. (@fatkodima)
  • #154: Require RuboCop 0.87 or higher. (@koic)

1.7.1 (2020-07-18)

Bug fixes

  • #147: Fix an error for Performance/AncestorsInclude when using ancestors.include? without receiver. (@koic)
  • #150: Fix an incorrect autocorrect for Performance/BigDecimalWithNumericArgument when a precision is specified. (@eugeneius)

Changes

  • #149: Mark Performance/AncestorsInclude as unsafe. (@eugeneius)
  • #145: Mark Performance/StringInclude as SafeAutocorrect: false and disable autocorrect by default. (@koic)

1.7.0 (2020-07-07)

New features

Changes

  • #138: Drop support for RuboCop 0.81 or lower. (@koic)

1.6.1 (2020-06-05)

New features

  • #115: Support String#sub and String#sub! methods for Performance/DeletePrefix and Performance/DeleteSuffix cops. (@fatkodima)

Bug fixes

  • #111: Fix an error for Performance/DeletePrefix and Performance/DeleteSuffix cops when using autocorrection with RuboCop 0.81 or lower. (@koic)
  • #118: Fix a false positive for Performance/DeletePrefix, Performance/DeleteSuffix, Performance/StartWith, and Performance/EndWith cops when receiver is multiline string. (@koic)

1.6.0 (2020-05-22)

New features

  • #77: Add new Performance/BindCall cop. (@koic)
  • #105: Add new Performance/DeletePrefix and Performance/DeleteSuffix cops. (@koic)
  • #107: Support regexp metacharacter ^ for Performance/StartWith cop and regexp metacharacter $ for Performance/EndWith cop. (@koic)

Bug fixes

  • #55: Fix an incorrect autocorrect for Performance/RegexpMatch when using str.=~(/regexp/). (@koic)
  • #108: Fix an incorrect autocorrect for Performance/ReverseEach when there is a newline between reverse and each. (@joe-sharp, @dischorde, @siegfault)

Changes

  • #103: (Compatibility) Drop support for Ruby 2.3. (@koic)
  • #101: Mark unsafe for Performance/Casecmp cop. (@koic)

1.5.2 (2019-12-25)

Bug fixes

  • #86: Fix an incorrect autocorrect for Performance/RedundantMerge when using an empty hash argument. (@koic)

1.5.1 (2019-11-14)

Bug fixes

  • #82: Let Performance/StartWith and Performance/EndWith correct Regexp#match? and Regexp#=~. (@eugeneius)

1.5.0 (2019-10-01)

Bug fixes

  • #74: Fix an error for Performance/RedundantMerge when MaxKeyValuePairs option is set to null. (@koic)
  • #70: This PR fixes a false negative for Performance/FlatMap when using symbol to proc operator argument of map method. (@koic, @splattael)

Changes

  • #69: Remove SafeMode from Performance/Count and Performance/Detect. Set SafeAutoCorrect to false for these cops by default. (@rrosenblum)

1.4.1 (2019-07-29)

Bug fixes

  • #67: Fix an error for Performance/RedundantMerge when MaxKeyValuePairs option is set to null. (@koic)
  • #73: Fix a false negative for Performance/RegexpMatch when MatchData is not detected in if branch of guard condition. (@koic)

1.4.0 (2019-06-20)

Bug fixes

  • #54: Fix Performance/FixedSize to accept const assign with some operation. (@tejasbubane)
  • #61: Fix a false negative for Performance/RegexpMatch when using RuboCop 0.71 or higher. (@koic)

1.3.0 (2019-05-13)

Bug fixes

  • #48: Reduce Performance/RegexpMatch false positive by only flagging match used with Regexp/String/Symbol literals. (@dduugg)

Changes

1.2.0 (2019-05-04)

Bug fixes

  • #47: Fix a false negative for Performance/RegexpMatch when using RuboCop 0.68 or higher. (@koic)

1.1.0 (2019-04-08)

Changes

  • #39: Remove Performance/LstripRstrip cop. (@koic)
  • #39: Remove Performance/RedundantSortBy, Performance/UnneededSort and Performance/Sample cops. (@koic)

1.0.0 (2019-03-14)

New features