This document helps you upgrade from a super-linter version to newer ones:
- Upgrade from >=v8.2.0 to v8.4.0
- Upgrade from v8.1.0 to v8.2.0
- Upgrade from v7.4.0 to v8.0.0
- Upgrade from v7.3.0 to v7.4.0
- Upgrade from v6 to v7
- Upgrade from v6.7.0 to v6.8.0
- Upgrade from v5 to v6
This section helps you upgrade from super-linter >=v8.2.0 to v8.4.0.
Super-linter v8.4.0 doesn't ship the stylelint-config-sass-guidelines
anymore because it's not being maintained anymore, and it's blocking stylelint
updates.
Super-linter v8.4.0 removes support for theTerrascan because it's not being
maintained anymore.
You can remove the following variables from your Super-linter configuration:
TERRAFORM_TERRASCAN_CONFIG_FILEVALIDATE_TERRAFORM_TERRASCAN
This section helps you upgrade from super-linter v8.1.0 to v8.2.0.
Super-linter v8.2.0 adds back Kubeconform and related configuration variables:
KUBERNETES_KUBECONFORM_OPTIONSVALIDATE_KUBERNETES_KUBECONFORM
Super-linter v8.2.0 adds support for running:
- Ruff as a formatter on Python files. This might conflict with Black
(Languages:
PYTHON_BLACK). - Biome as a linter. This might conflict with stylelint (
CSS), ESLint (Languages:JAVASCRIPT_ES,JSON,JSONC,JSX,TSX,TYPESCRIPT_ES,VUE) - Biome as a formatter. This might conflict with Prettier (Languages:
CSS_PRETTIER,GRAPHQL_PRETTIER,HTML_PRETTIER,JAVASCRIPT_PRETTIER,JSON_PRETTIER,JSONC_PRETTIER,JSX_PRETTIER,TYPESCRIPT_PRETTIER,VUE_PRETTIER).
If you have potentially conflicting linters or formatters enabled, Super-linter
will emit a warning message. To turn the conflicting tools warning into a
failure that makes Super-linter exit with an error, set the
FAIL_ON_CONFLICTING_TOOLS_ENABLED configuration variable to true.
This section helps you upgrade from super-linter v7.4.0 to v8.0.0.
Super-linter v8.0.0 doesn't include the following linters anymore because they
are unmaintained:
- gherkin-lint
- Kubeconform
- JavaScript Standard
- Pyink
- Raku compiler
- tekton-lint
- TypeScript Standard
You can remove the following variables from your Super-linter configuration:
FIX_JAVASCRIPT_STANDARDFIX_PYTHON_PYINKFIX_TYPESCRIPT_STANDARDKUBERNETES_KUBECONFORM_OPTIONSPYTHON_PYINK_CONFIG_FILETYPESCRIPT_STANDARD_TSCONFIG_FILEVALIDATE_GHERKINVALIDATE_JAVASCRIPT_STANDARDVALIDATE_KUBERNETES_KUBECONFORMVALIDATE_PYTHON_PYINKVALIDATE_RAKUVALIDATE_TEKTONVALIDATE_TYPESCRIPT_STANDARD
Super-linter v8.0.0 doesn't include the following ESLint configurations and
plugins anymore because they are blocking the upgrade to ESLint v9:
eslint-config-airbnb: latest release dates back to 2021, and it's blocking the upgrade to ESLint v9.@react-native/eslint-config: it's blocking the upgrade to ESLint v9.
Super-linter v8.0.0 doesn't include the following node dependencies anymore
because they unmaintained:
postcss-lessprettyjsonpug
Updated the default ESLint configuration file to the supported configuration format.
Changed the default values for ESLint configuration filenames:
JAVASCRIPT_ES_CONFIG_FILEis now set toeslint.config.mjsTYPESCRIPT_ES_CONFIG_FILEis now set toeslint.config.mjs
This section helps you upgrade from super-linter v7.3.0 to v7.4.0.
editorconfig-checker
changed the default configuration filename from .ecrc to
.editorconfig-checker.json. Super-linter v7.4.0 changed the default value of
the EDITORCONFIG_FILE_NAME configuration variable to reflect that. If you are
using an .ecrc file, rename it to .editorconfig-checker.json.
This section helps you upgrade from super-linter v6 to v7.
sql-lint appears to be unmaintained,
and its dependencies are affected by known security vulnerabilities. For this
reason, Super-linter v7 doesn't include sql-lint anymore. If you are using
sql-lint to check your SQL files, we recommend that you evaluate
sqlfluff, included in Super-linter since v4.6.0.
You can remove the VALIDATE_SQL and SQL_CONFIG_FILE because they have no
effect.
This section helps you upgrade from super-linter v6.7.0 to v6.8.0.
-
The
JAVASCRIPT_DEFAULT_STYLEandTYPESCRIPT_DEFAULT_STYLEhave been deprecated because they made theVALIDATE_JAVASCRIPT_PRETTIER,VALIDATE_JAVASCRIPT_STANDARD,VALIDATE_TYPESCRIPT_PRETTIER, andVALIDATE_TYPESCRIPT_STANDARDconfiguration variables break the documented behavior of howVALIDATE_xxxvariables work. Unfortunately, a transparent configuration update is not feasible without complicating the codebase to address all possible cases. If you only want to run only one between Prettier and Standard, a possible migration strategy could be:-
If you're explicitly enabling linters and formatters that you want Super-linter to run by setting
VALIDATE_xxxxvariables totrue:- If you set
JAVASCRIPT_DEFAULT_STYLE=standard, setVALIDATE_JAVASCRIPT_STANDARD=true - If you set
TYPESCRIPT_DEFAULT_STYLE=standard, setVALIDATE_TYPESCRIPT_STANDARD=true - If you set
JAVASCRIPT_DEFAULT_STYLE=prettier, setVALIDATE_JAVASCRIPT_PRETTIER=true - If you set
TYPESCRIPT_DEFAULT_STYLE=prettier, setVALIDATE_TYPESCRIPT_PRETTIER=true
- If you set
-
If you're explicitly disabling linters and formatters that you don't want Super-linter to run by setting
VALIDATE_xxxxvariables tofalse:- If you set
JAVASCRIPT_DEFAULT_STYLE=standard, setVALIDATE_JAVASCRIPT_PRETTIER=false - If you set
TYPESCRIPT_DEFAULT_STYLE=standard, setVALIDATE_TYPESCRIPT_PRETTIER=false - If you set
JAVASCRIPT_DEFAULT_STYLE=prettier, setVALIDATE_JAVASCRIPT_STANDARD=false - If you set
TYPESCRIPT_DEFAULT_STYLE=prettier, setVALIDATE_TYPESCRIPT_STANDARD=false
- If you set
Finally, remove both
JAVASCRIPT_DEFAULT_STYLEandTYPESCRIPT_DEFAULT_STYLEfrom your Super-linter configuration. -
This section helps you upgrade from super-linter v5 to v6.
- eslint-config-airbnb-typescript (a library to add TypeScript support to Airbnb's ESLint config) appears to be unmaintained. We had to remove it from super-linter because it was blocking updates to other dependencies, such as ESLint.
- Checkstyle
embeds some configuration files,
such as
sun_checks.xmlandgoogle_checks.xml. There is no need to provide your own checkstyle configuration files if it matches one of the embedded ones. You can safely remove your Checkstyle configuration file if it matches one of the embedded ones.
- super-linter doesn't include a default configuration file for
dart analyzerbecause the Dart SDK doesn't support runningdart analyzeragainst an arbitrary configuration file anymore. For more information about how to customize static analysis of Dart files, see Customizing static analysis in the Dart SDK documentation.
ERROR_ON_MISSING_EXEC_BIThas been deprecated to align theVALIDATE_BASH_EXECcheck to the other linters, removing a surprising corner case. IfVALIDATE_BASH_EXECis set totrueand a shell script is not marked as executable, the script will not pass validation. You can remove theERROR_ON_MISSING_EXEC_BITvariable from your super-linter configuration.
- Experimental batch support is deprecated. You can safely remove the
EXPERIMENTAL_BATCH_WORKERvariable from your configuration.
- If you defined secret patterns in
.gitleaks.toml, Gitleaks may report errors about that file. If this happens, you can configure Gitleaks to ignore that file.
- The
VALIDATE_JSCPD_ALL_CODEBASEvariable is deprecated. Jscpd now lints the entire workspace instead of linting files one by one. You can safely remove theVALIDATE_JSCPD_ALL_CODEBASEvariable from your configuration. - Jscpd doesn't consider the
FILTER_REGEX_EXCLUDE,FILTER_REGEX_INCLUDE,IGNORE_GENERATED_FILESvariables. For more information about how to ignore files with Jscpd, see the Jscpd documentation.
- Setting
USE_FIND_ALGORITHMtotrueandVALIDATE_ALL_CODEBASEtofalseis an unsupported configuration. super-linterv5and earlier silently ignoredVALIDATE_ALL_CODEBASEwhenUSE_FIND_ALGORITHMis set totrue, leading to potentially confusing behavior for users. super-linterv6explicitly fail in this case. Remove one of the two from your configuration, depending on the desired behavior.
- The
VALIDATE_KOTLIN_ANDROIDvariable has been deprecated because ktlint handles linting Kotlin files for Android using a configuration option, so super-linter doesn't need to account for this special case anymore. If you setVALIDATE_KOTLIN_ANDROIDin your configuration, change it toVALIDATE_KOTLINand configure ktlint to lint Android files.