- Updates rubocop to 1.65.1
- Ensure a URI scheme on file paths from the built-in LSP #642.
- Fix LSP when
format
is set #638 - Fix LSP when todo is present (I think) vscode-standard-ruby#26
- Add support for LSP Code Actions / Quick Fix under Ruby LSP #636
- Update minimum Ruby version to 3.0
- @koic backported a line column bug in our LSP #635
- Implement a basic Ruby LSP add-on, which means users would no longer need to install our custom VS Code extension #630
- Updates rubocop to 1.64.1
- Corrects rubocop constraint to the patch version, not minor version.
- Updates rubocop to 1.62
- Updates rubocop to 1.60.2
- Fixes regeneration of TODO files ot avoid missing already-ignored rules #587
- Updates rubocop to 1.57.2
- Updates rubocop to 1.52.2
- Just kidding about about
Standard::PluginSupport
. Moving it toLintRoller::Support
to avoid circular dependencies between Standard Ruby and its plugins
- Add
Standard::PluginSupport
module of classes designed to make it a little easier to author plugins.MergesUpstreamMetadata#merge
will allow a minimal YAML config (say,standard-sorbet
's, which only containsEnabled
values for each rule) to merge in any other defaults from a source YAML (e.g.rubocop-sorbet
's which includesDescription
,VersionAdded
, and so on). This way that metadata is neither absent at runtime nor duplicated in a standard plugin that mirrors a rubocop extension
- Updates standard-performance to 1.1.0
- Updates rubocop to 1.52.0
- Enables Style/ExactRegexpMatch, Style/RedundantArrayConstructor, Style/RedundantFilterChain, Style/RedundantRegexpConstructor
- Make LSP behave more nicely with nvim-lspconfig #564
- Fix standard-rails#7
- Attempts to fix the not-actually fixed plugin behavior in 1.28.1
- Fixes plugin behavior caused by setting
DisabledByDefault: true
inAllCops
Effectively, a single lint_roller plugin whoserules
were of type:object
would inadvertently mark all previously-defined rules as invalid. #557
- Refactor Standard into 3 gems and convert all built-in configuration into lint_roller plugins. See:
- Standard's behavior when merging multiple
extend_config
that change the same set of rules has been fixed to be first-in-wins, as opposed to last-in-wins. This ensures a consistent behavior across plugins and extended configurations, namely that the first thing to configure a given rule effectively locks it from subsequent changes - Enable
DisabledByDefault: true
. This shouldn't impact anyone, but might change the behavior of someextend_config
users. Because Standard specifies every rule in rubocop and rubocop-performance, this configuration's absence wasn't felt until we went to the plugin system, where it makes much more sense for plugins to opt-in to the cops they want to configure, as opposed to just running every single one that they happen to load/require
- Update rubocop from 1.48.1 to 1.50.2
- Enabled Style/RedundantLineContinuation
- Introduce
--fix-unsafely
andrake standard:fix_unsafely
for running unsafe corrections. Improve output about fix suggestions, as well #545
- Temporarily disable registration of
executeCommand
to prevent conflict with the VS Code extension's client-side registration of the same name #544
- Bring the LSP Server's executeCommand capabilities in line with the spec #543
- Relax the version specifier on
rubocop
andrubocop-performance
to allow patch-level updates
- Disable Style/RedundantFetchBlock due to concerns the performance benefit isn't worth the inconsistency it causes and the fact it is incompatible with ActiveSupport #527
- When in
stdin
mode, don't invoke the RuboCop runner withparallel: true
to avoid an interaction that breaks auto-fixing #530, #536
- Update rubocop-performance from 1.15.2 to 1.16.0
- Update rubocop from 1.44.1 to 1.48.1
- Enabled Style/DirEmpty
- Enabled Style/RedundantHeredocDelimiterQuotes
- Further further further improve
--lsp
server to ignore files correctly
- Further further improve
--lsp
server to always respond to requests
- Further improve
--lsp
server to better support commands used by VS Code
- Improve
--lsp
server to better support the commands used by VS Code
- Update rubocop from 1.42.0 to 1.44.1
- Improve the behavior of
extend_config
to more accurately reflect how Rubocop extensions would behave when loaded via therubocop
CLI (by capturing any mutations to RuboCop's default configuration) #512
- Add
extend_config
option #506
- Fix standard comment directives #498
- Update rubocop from 1.39.0 to 1.40.0
- Loosen dependency on
language_server-protocol
- Add a language server protocol (LSP) server via the new
standardrb --lsp
command line mode. All credit to @will! #475
- Update rubocop-performance from 1.15.0 to 1.15.1
- Update rubocop from 1.38.0 to 1.39.0
- Update rubocop-performance from 1.14.3 to 1.15.0
- Update rubocop from 1.35.1 to 1.38.0
- Require parentheses around complex ternary conditions 3b0b499a
- Update rubocop from 1.35.0 to 1.35.1
- Update rubocop from 1.33.0 to 1.35.0
- Update rubocop from 1.32.0 to 1.33.0
- Update rubocop from 1.31.2 to 1.32.0
- Update rubocop from 1.28.2 to 1.29.0
- Update rubocop from 1.27.0 to 1.28.2
- Update rubocop from 1.26.1 to 1.27.0
- Update rubocop from 1.26.0 to 1.26.1
- Rule change to
Layout/CaseIndentation
to have thewhen
andin
s inside a case statement aligned with theend
of the case. Theend
will be aligned with a variable instead of thecase
keyword if applicable.
- Update rubocop from 1.25.1 to 1.26.0
- Update rubocop-performance from 1.13.2 to 1.13.3
- Removes Style/RedundantBegin from Ruby versions <= 2.4
- Update rubocop from 1.25.0 to 1.25.1
- Update rubocop from 1.19.1 to 1.22.3
- Remove
Style/NegatedIf
- Update rubocop from 1.19.1 to 1.20.0
- Fix an issue with nested generated todos being ignored #311
- Update rubocop from 1.18.3 to 1.18.4
- Update rubocop from 1.18.2 to 1.18.3
- Update rubocop-performance from 1.11.3 to 1.11.4
- Disabled
Performance/DeletePrefix
because it was marked as unsafe.
- Update rubocop from 1.17.0 to 1.18.1
- Update rubocop from 1.14.0 to 1.17.0
- Update rubocop from 1.12.1 to 1.13.0
- Update rubocop-performance from 1.9.2 to 1.11.1
- Enabled the following rules:
- Update rubocop from 1.11.0 to 1.12.1
- Workaround RuboCop's CLI from erroring when it detects a cop named BlockDelimiters by renaming it to BlockSingleLineBraces (#271)
- Fix an exit code bug introduced in 1.0.2 (#272
- Preserve RuboCop's CLI exit codes (#270) by @nicksieger
- Relax multi-line block rules, moving away from enforcing semantic blocks to instead allowing code to adhere to whatever multi-line format the author deems best #263
- Allow a
standard:disable
comment directive in addition torubocop:disable
#186 - Remove the banner text that standard outputs after failure #264
- Update rubocop from 1.7.0 to 1.10.0 enabling:
- Update rubocop from 1.7.0 to 1.8.1
- Enabled
Style/SlicingWithRange
- Update rubocop-performance from 1.9.1 to 1.9.2
- Update rubocop from 1.4.2 to 1.7.0
- Changed
Style/NegatedIf
topostfix
- Remove
Lint/DuplicateBranch
- Update rubocop-performance from 1.8.1 to 1.9.1 enabling:
- Update rubocop from 1.2.0 to 1.4.2 enabling:
- Update rubocop from 1.0.0 to 1.2.0 enabling:
- Don't find offense in
Style/SemanticBlocks
when a top-levelrescue
is used in ado
/end
functional block, fixing #205
- Make it match semver
- Update rubocop from 0.93.1 to 1.0.0
- Update rubocop from 0.92 to 0.93 to 0.93.1 enabling:
- Disable
Performance/Sum
because #208 and the lack of actual auto-correcting is also causing more trouble
- Update rubocop from 0.91.1 to 0.92
- Update rubocop from 0.91 to 0.91.1
- Update rubocop-performance from 1.8.0 to 1.8.1:
- Enable
Performance/Sum
- Enable
- Update Rubocop from 0.89.1 to 0.90, enabling:
- Update
Style/Alias
to preferalias_method
- Update rubocop-performance from 1.7.1 to 1.8.0:
- Plan to enable
Performance/Sum
in the future, but there is currently a bug in the implementation
- Plan to enable
- Add
ruby-2.3.yml
to add support for 2.3.
- Turned off
Lint/MissingSuper
, because it effectively bans a common idiom in Sorbet (#195) and might be a bit too heavy-handed/opinionated for cases where a class is designed intentionally to not run its parent's initializer (like abstract superclasses more generally)
- Enabled
Style/MultilineWhenThen
- Update Rubocop from
0.85.0
to
0.89.1,
enabling:
Lint/BinaryOperatorWithIdenticalOperands
Lint/DuplicateElsifCondition
Lint/DuplicateRescueException
Lint/FloatComparison
Lint/MissingSuper
Lint/OutOfRangeRegexpRef
Lint/RedundantRequireStatement
Lint/RedundantSplatExpansion
Lint/SafeNavigationWithEmpty
Lint/SelfAssignment
Lint/TopLevelReturnWithArgument
Style/GlobalStdStream
Style/RedundantAssignment
Style/RedundantFetchBlock
Style/RedundantFileExtensionInRequire
- Update rubocop-performance from 1.6.0 to 1.7.1, enabling:
Performance/BigDecimalWithNumericArgument
Performance/RedundantSortBlock
Performance/RedundantStringChars
Performance/ReverseFirst
Performance/SortReverse
Performance/Squeeze
-
Update Rubocop from 0.83.0 to 0.85.0, notably:
- Enable Lint/MixedRegexpCaptureTypes
- Enable Lint/DeprecatedOpenSSLConstant
- Enable Style/RedundantRegexpCharacterClass
- Enable Style/RedundantRegexpEscape
-
Update rubocop-performance to 1.6.0, enabling:
- Disable
Naming/BinaryOperatorParameterName
because (when non-ascii method names are used), it incorrectly identifies them as being+()
operator overrides (overly aggressive)
- Disable
Naming/AsciiIdentifiers
for the same reason as mentioned below in 0.4.4 (specifically to allow programs written in non-Latin languages to define identifiers)
- Disable
Naming/MethodName
cop. Whilesnake_case
is the conventional way to name a Ruby method, the cop is too restrictive in that it also prevents non-ASCII characters from being included in method names
- Improve output of the todo feature
- Track Rubocop
0.83.0
- Update our default to allow trailing whitespace in heredocs
- Disable auto-correct for a cop that changed
:true
totrue
, as that's not safe - Allow comments in empty
when
blocks
- add given/given! as
{}
friendly blocks #172
- Add
--todo
mode for incremental adoption of Standard to a project (PR by @mrbiggred)
- Update Standard to track Rubocop 0.82.0 (commit)