Skip to content

gomnd: Versions 1.58.0+ break backward compatibility and do not work with older configs #4767

Closed
@tony2001

Description

@tony2001

Welcome

Description of the problem

Version 1.58.0 has broken BC because gomnd linter was renamed to mnd:

WARN [runner] Can't run linter goanalysis_metalinter: failed to pre-run gomnd: failed to configure analyzers: settings key "mnd" must be valid analyzer name, valid analyzers: [gomnd] 
ERRO Running error: can't run linter goanalysis_metalinter
failed to pre-run gomnd: failed to configure analyzers: settings key "mnd" must be valid analyzer name, valid analyzers: [gomnd] 

Version of golangci-lint

golangci-lint has version 1.58.0 built with go1.22.2 from 28b3813 on 2024-05-03T18:05:38Z

Configuration

linters-settings:
  gomnd:
    settings:
      mnd:
        checks: arguments

linters:
  disable-all: true
  enable:
    - gomnd
~             

Go environment

$ go version
go version go1.22.3 linux/amd64

Verbose output of running

$ golangci-lint cache clean
$ golangci-lint run -v

INFO [config_reader] Used config file .golangci.yml 
WARN [config_reader] The configuration option `linters.gomnd.settings` is deprecated. Please use the options `linters.gomnd.checks`,`linters.gomnd.ignored-numbers`,`linters.gomnd.ignored-files`,`linters.gomnd.ignored-functions`. 
WARN The linter 'gomnd' is deprecated (since v1.58.0) due to: The linter has been renamed. Replaced by mnd. 
INFO [lintersdb] Active 1 linters: [gomnd]        
INFO [loader] Go packages loading at mode 7 (compiled_files|name|files) took 133.190421ms 
INFO [runner/filename_unadjuster] Pre-built 0 adjustments in 5.855611ms 
WARN [runner] Can't run linter goanalysis_metalinter: failed to pre-run gomnd: failed to configure analyzers: settings key "mnd" must be valid analyzer name, valid analyzers: [gomnd] 
INFO [runner] processing took 3.135µs with stages: max_same_issues: 971ns, skip_dirs: 308ns, identifier_marker: 229ns, cgo: 228ns, filename_unadjuster: 172ns, source_code: 148ns, skip_files: 147ns, invalid_issue: 140ns, path_prettifier: 139ns, exclude: 129ns, max_from_linter: 63ns, nolint: 53ns, fixer: 48ns, path_shortener: 46ns, autogenerated_exclude: 46ns, sort_results: 45ns, diff: 41ns, exclude-rules: 37ns, severity-rules: 37ns, path_prefixer: 36ns, max_per_file_from_linter: 36ns, uniq_by_line: 36ns 
INFO [runner] linters took 53.921µs with stages: goanalysis_metalinter: 23.213µs 
ERRO Running error: can't run linter goanalysis_metalinter
failed to pre-run gomnd: failed to configure analyzers: settings key "mnd" must be valid analyzer name, valid analyzers: [gomnd] 
INFO Memory: 3 samples, avg is 27.5MB, max is 30.3MB 
INFO Execution took 141.860442ms 

A minimal reproducible example or link to a public repository

// no actual code is required

Validation

  • Yes, I've included all information above (version, config, etc.).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions