Shopify’s Ruby Style Guide
Lint/ConstantOverwrittenInRescue
.Full Changelog: https://github.com/Shopify/ruby-style-guide/compare/v2.7.1...v2.8.0
Non consumer facing change omitted.
Full Changelog: https://github.com/Shopify/ruby-style-guide/compare/v2.7.0...v2.7.1
Gemspec/DeprecatedAttributeAssignment
by @rafaelfranca in https://github.com/Shopify/ruby-style-guide/pull/395
Full Changelog: https://github.com/Shopify/ruby-style-guide/compare/v2.6.0...v2.7.0
IgnoredPatterns
config to AllowedPatterns
by @sambostock in https://github.com/Shopify/ruby-style-guide/pull/377
Note that the minimum required Rubocop version has been updated to 1.29.
Full Changelog: https://github.com/Shopify/ruby-style-guide/compare/v2.5.0...v2.6.0
Layout/EmptyLineAfterGuardClause
cop by @sambostock in https://github.com/Shopify/ruby-style-guide/pull/348
Full Changelog: https://github.com/Shopify/ruby-style-guide/compare/v2.4.0...v2.5.0
Lint/UselessRuby2Keywords
Style/OpenStructUse
Full Changelog: https://github.com/Shopify/ruby-style-guide/compare/v2.3.0...v2.4.0
This release includes a change in our update policy. So far we've been very conservative about enabling new cops and rules in the name of not breaking anyone's setups and CI servers. However this also means we've been missing out in a lot of new features and capabilities from the latest versions of RuboCop. That is why from now on we might enable new cops in minor versions of the Ruby Style Guide according to their value and ease of adoption.
For 2.3.0 Pumpkin Spice Latte edition, we've revisited all the cops from the Bundler, Gemspec, and Layout departments and added some additions to our RuboCop config. Most of these changes are autocorrectable. Please try them out and if you have any feedback feel free to open a discussion on GitHub!
Notable changes:
Stay safe, everyone 👋🏼
Lint/ShadowingOuterLocalVariable
cop (#273).Style/InPatternThen
and Style/QuotedSymbols
cops (#278).Naming/InclusiveLanguage
cop (#288).I'm gonna try to be direct and brief in my release notes so far. You know, everybody's busy these days and I don't want to bother too much just because you want to make sure I'm not breaking your RuboCop CI. Rest assured that I'm trying my best to avoid any breaking changes, promise 😚
Anyway, I hope you and your loved ones are doing well, wherever you are. Coding is great and stuff, but don't forget to disconnect from your screens from time to time. The world is a beautiful place with many possibilities. I recommend also to stay hydrated, exercise, and go for walks in whatever green spaces you have around you. It really makes a difference.
Oh and in case you haven't heard this in a while: you are awesome, just the way you are, and you deserve to be happy. Have a lovely day!
Thank you for reading our release notes! I'm never sure if folks really check this out. After all, if a tree falls in a forest but it doesn't introduce breaking changes, does it count as a release? Anyway, here's what's new:
Lint/Syntax
cop is now enabled. It goes without saying but syntax errors do violate the Style Guide! (PR #254)Layout/BeginEndAlignment
cop. It was disabled in the past due to a bug, and now it's back to fix your code blocks! (PR #258)DisabledByDefault: true
setting and we disabled all unwanted cops one-by-one. This should not have any consequence for most people using our gem, but in case you are using other RuboCop extensions or your own custom cops, you might notice that now everything comes enabled by default (unless you are disabling them yourself). If you were overriding this setting to false
you might also be able to remove it from your RuboCop config file. (PR #220)Style/WordArray
and Style/SymbolArray
are now enabled and set to enforce the brackets
style. This rule was actually introduced back in 2019 to the Style Guide but we did not enforce it with RuboCop. Well, now we do! (and therefore we are not considering this a breaking change). (PR #256)