#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
#240: Disable Performance/Casecmp cop by default. (@parkerfinch)
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)
#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
#318: Extend Performance/StringInclude to handle !~. (@fatkodima)
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)
#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)
#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)