Super-Linter Upgrade Guide
This document provides instructions for upgrading between major versions of Super-Linter.
Upgrade from v7 to v8
Version 8.0.0 introduced several breaking changes by removing unmaintained linters and dependencies.
Removed Linters and Formatters
The following tools have been removed because they are unmaintained or were causing dependency conflicts:
- gherkin-lint
- Kubeconform
- JavaScript Standard
- Pyink
- Raku compiler
- tekton-lint
- TypeScript Standard
If you were using these, you will need to find alternative linting solutions. You should remove any of the following environment variables from your configuration as they no longer have any effect:
FIX_JAVASCRIPT_STANDARD
FIX_PYTHON_PYINK
FIX_TYPESCRIPT_STANDARD
KUBERNETES_KUBECONFORM_OPTIONS
PYTHON_PYINK_CONFIG_FILE
TYPESCRIPT_STANDARD_TSCONFIG_FILE
VALIDATE_GHERKIN
VALIDATE_JAVASCRIPT_STANDARD
VALIDATE_KUBERNETES_KUBECONFORM
VALIDATE_PYTHON_PYINK
VALIDATE_RAKU
VALIDATE_TEKTON
VALIDATE_TYPESCRIPT_STANDARD
ESLint Configuration Changes
- ESLint v9 Upgrade: Super-linter now uses ESLint v9. As part of this,
eslint-config-airbnb-typescript
and@react-native/eslint-config
were removed due to incompatibility. - New Default Config File: The default ESLint configuration filename has been updated to align with the new "flat config" format.
JAVASCRIPT_ES_CONFIG_FILE
andTYPESCRIPT_ES_CONFIG_FILE
now default toeslint.config.mjs
.
Upgrade from v6 to v7
sql-lint
Removal
- Tool Removed: The
sql-lint
tool was removed due to being unmaintained and having security vulnerabilities. - Recommendation: If you were using
VALIDATE_SQL
, it is recommended to migrate tosqlfluff
, which is also included in Super-Linter. SeeVALIDATE_SQLFLUFF
. - Action Required: Remove the
VALIDATE_SQL
andSQL_CONFIG_FILE
environment variables from your configuration.
Upgrade from v5 to v6
Version 6.0.0 introduced significant internal changes, including parallel execution and dependency updates. Key changes to be aware of include:
ERROR_ON_MISSING_EXEC_BIT
Deprecated: This variable was removed. TheVALIDATE_BASH_EXEC
check now fails by default if a shell script is not executable. No action is needed other than removing the old variable.- JSCPD Behavior Change: The
VALIDATE_JSCPD_ALL_CODEBASE
variable is deprecated. JSCPD now always scans the entire workspace by default and no longer respectsFILTER_REGEX_*
variables. - Unsupported Configuration: Setting
USE_FIND_ALGORITHM=true
andVALIDATE_ALL_CODEBASE=false
simultaneously is now a fatal error. Previously, this was silently ignored. Adjust your configuration to use only one of these modes for file discovery. - Kotlin Android:
VALIDATE_KOTLIN_ANDROID
is deprecated. UseVALIDATE_KOTLIN
and configurektlint
for Android projects via its own configuration file.