Releases: oxsecurity/megalinter
MegaLinter v6.11.0
-
New article: https://nicolas.vuillamy.fr/megalinter-sells-his-soul-and-joins-ox-security-2a91a0027628
-
Linters
- Add bicep linter (#1898)
- Add quotes to arm-ttk linter command (#1879)
- Add Makefile linter in java flavor
-
Core
- Improve support for devcontainers by using Python base image
- Fixed Python version in devcontainer from 3.9 -> 3.10
- Fix build command on linux (thanks a lot to Edouard Choinière for the investigation and solution !)
- Azure Comments reporter - Change status when all tests pass (#1915)
- Improve support for devcontainers by using Python base image
-
Doc
-
Linter versions upgrades
- ansible-lint from 6.6.0 to 6.7.0
- cfn-lint from 0.65.0 to 0.66.0
- checkov from 2.1.213 to 2.1.244
- checkstyle from 10.3.3 to 10.3.4
- clippy from 0.1.63 to 0.1.64
- coffeelint from 5.2.9 to 5.2.10
- cspell from 6.10.0 to 6.12.0
- djlint from 1.16.0 to 1.18.0
- eslint from 8.23.1 to 8.24.0
- gitleaks from 8.12.0 to 8.13.0
- jsonlint from 11.6.0 to 11.7.0
- kics from 1.6.0 to 1.6.1
- markdown-link-check from 3.10.2 to 3.10.3
- mypy from 0.971 to 0.981
- phpstan from 1.8.5 to 1.8.6
- protolint from 0.40.0 to 0.41.0
- scalafix from 0.10.2 to 0.10.3
- semgrep from 0.113.0 to 0.115.0
- snakemake from 7.14.0 to 7.14.2
- sqlfluff from 1.3.1 to 1.3.2
- stylelint from 14.12.0 to 14.13.0
- syft from 0.56.0 to 0.58.0
- terraform-fmt from 1.2.9 to 1.3.1
- terragrunt from 0.38.12 to 0.39.0
- tflint from 0.40.0 to 0.41.0
MegaLinter v6.10.0
-
Add git-lfs in Docker image to handle large files in git repositories
-
MegaLinter Docker images size improvements
- Remove NPM cache
- Remove Cargo cache
- Remove rustup when clippy is not embedded in the image
- Remove npm packages useless files
-
Linter versions upgrades
- ansible-lint from 6.5.2 to 6.6.0
- cfn-lint from 0.64.1 to 0.65.0
- checkov from 2.1.201 to 2.1.213
- cspell from 6.8.1 to 6.10.0
- djlint from 1.12.3 to 1.16.0
- eslint from 8.23.0 to 8.23.1
- kics from 1.5.15 to 1.6.0
- pylint from 2.15.2 to 2.15.3
- scalafix from 0.10.1 to 0.10.2
- semgrep from 0.112.1 to 0.113.0
- sfdx-scanner-apex from 2.13.8 to 2.13.9
- sfdx-scanner-aura from 2.13.8 to 2.13.9
- sfdx-scanner-lwc from 2.13.8 to 2.13.9
- stylelint from 14.11.0 to 14.12.0
- syft from 0.55.0 to 0.56.0
- terragrunt from 0.38.10 to 0.38.12
- terragrunt from 0.38.9 to 0.38.10
- yamllint from 1.27.1 to 1.28.0
MegaLinter v6.9.1
-
Linters
- Add python type checker pyright, by Microsoft
- New linters with available SARIF output for SARIF Reporter
- ansible-lint
- shellcheck thanks to shellcheck-sarif
- Use
list_of_files
Cli lint mode for checkstyle, to have unique SARIF output and improve performances - Use
list_of_files
Cli lint mode for golangci-lint and revive, to improve performances - Reactivate snakefmt
-
Core
- Improve build performances and docker images sizes (reduce from 117 to 36 layers)
- Use BUILDKIT
- Join RUN instructions
- Optimize core Dockerfile items
- Clean npm, python and cargo caches
- Create a venv for each python-based linter to avoid issues with dependencies
- Fix broken link to documentation when using v6
- Improve build performances and docker images sizes (reduce from 117 to 36 layers)
-
Linter versions upgrades
- ansible-lint from 6.0.2 to 6.5.2
- cfn-lint from 0.63.2 to 0.64.1
- checkov from 2.1.183 to 2.1.201
- clj-kondo from 2022.08.03 to 2022.09.08
- djlint from 1.12.1 to 1.12.3
- gitleaks from 8.11.2 to 8.12.0
- golangci-lint from 1.48.0 to 1.49.0
- ktlint from 0.47.0 to 0.47.1
- phpstan from 1.8.4 to 1.8.5
- protolint from 0.39.0 to 0.40.0
- pylint from 2.15.0 to 2.15.2
- semgrep from 0.103.0 to 0.112.1
- sqlfluff from 1.3.0 to 1.3.1
- standard from 15.0.1 to 17.0.0
- terraform-fmt from 1.2.8 to 1.2.9
- tflint from 0.39.3 to 0.40.0
Note: MegaLinter 6.9.0 release has been cancelled: it was fine but the docker image sizes were not optimized enough.
MegaLinter v6.8.0
-
Run MegaLinter pre-commit hooks serially (#1826).
-
Replace deprecated StandardJS VS Code extension with the newer official version
-
When SARIF_REPORTER is active, use sarif-fmt to convert SARIF into text for console and text reporters (#1822).
-
Count checkstyle errors (#1820)
-
Linter versions upgrades
- black from 22.6.0 to 22.8.0
- cfn-lint from 0.63.0 to 0.63.2
- checkov from 2.1.160 to 2.1.183
- checkstyle from 10.3.2 to 10.3.3
- djlint from 1.12.0 to 1.12.1
- kics from 1.5.14 to 1.5.15
- phpstan from 1.8.2 to 1.8.4
- rubocop from 1.35.1 to 1.36.0
- snakemake from 7.13.0 to 7.14.0
- syft from 0.54.0 to 0.55.0
- terragrunt from 0.38.8 to 0.38.9
MegaLinter v6.7.1
MegaLinter v6.7.0
-
Linters
- Add PMD java linter
-
Azure Pipelines integration enhancements
- Update installation instructions
- Console reporter: manage collapsible groups for easier display & navigation in job logs (requires CI=true and TF_BUILD=true sent as env variables)
- Azure comments reporter (see documentation)
-
Performances improvements
- When running linters in parallel, run in the same process only the linters from same descriptor and that can update the same sources (to avoid concurrency). Other linters can be run independently.
- Define
linter_speed
of linter descriptors (default 3). Can be from 1 (super slow) to 5 (super fast). This is used to optimize the processing order of linters.
-
Fixes
- Fix: Properly match
files_sub_directory
as a prefix instead of partial string matching (#1765) - Match regex without
workspace
andsub_directory
- Remove config variables that are not applicable to linters analyzing all files or all other linters files
- Fix: Properly match
-
Linter versions upgrades
- cfn-lint from 0.62.0 to 0.63.0
- checkov from 2.1.139 to 2.1.160
- cspell from 6.8.0 to 6.8.1
- djlint from 1.11.0 to 1.12.0
- eslint from 8.22.0 to 8.23.0
- gitleaks from 8.11.0 to 8.11.2
- golangci-lint from 1.48.0 to 1.49.0
- luacheck from 0.26.1 to 1.0.0
- pylint from 2.14.5 to 2.15.0
- rubocop from 1.35.0 to 1.35.1
- secretlint from 5.2.3 to 5.2.4
- snakemake from 7.12.1 to 7.13.0
- terraform-fmt from 1.2.7 to 1.2.8
- terragrunt from 0.38.7 to 0.38.8
- tflint from 0.35.0 to 0.39.3
MegaLinter v6.6.0
-
Fix flavors suggestions to ignore linters not relevant for such flavor (#1746)
-
Update pre-commit hooks from v5 to v6 (#1755).
-
Fix version in URL in logs produced by reporters
-
Add Makefile linter within python flavor (#1760)
-
Set DEFAULT_WORKSPACE as git safe directory per default #1766
-
Improve documentation for TAP_REPORTER
-
Linter versions upgrades
- actionlint from 1.6.15 to 1.6.16
- cfn-lint from 0.61.5 to 0.62.0
- checkov from 2.1.127 to 2.1.139
- cpplint from 1.6.0 to 1.6.1
- cspell from 6.6.1 to 6.8.0
- djlint from 1.9.5 to 1.11.0
- eslint-plugin-jsonc from 2.3.1 to 2.4.0
- gitleaks from 8.10.3 to 8.11.0
- kics from 1.5.13 to 1.5.14
- ktlint from 0.46.1 to 0.47.0
- markdownlint from 0.32.1 to 0.32.2
- sfdx-scanner-apex from 2.13.7 to 2.13.8
- sfdx-scanner-aura from 2.13.7 to 2.13.8
- sfdx-scanner-lwc from 2.13.7 to 2.13.8
- sqlfluff from 1.2.1 to 1.3.0
- stylelint from 14.10.0 to 14.11.0
- syft from 0.53.4 to 0.54.0
MegaLinter v6.5.0
-
npm-groovy-lint: Use Cli lint mode
list_of_files
for much better performances -
Disable proselint by default if .proselintrc file is not found
-
Linter versions upgrades
- checkov from 2.1.121 to 2.1.127
- eslint from 8.21.0 to 8.22.0
- gitleaks from 8.10.2 to 8.10.3
- npm-groovy-lint from 9.5.0 to 10.1.0
- rstcheck from 6.0.0 to 6.1.0
MegaLinter v6.4.0
-
Add REPOSITORY_CHECKOV in all flavors
-
New config variables
- MEGALINTER_FILES_TO_LINT: Comma-separated list of files to analyze. Using this variable will bypass other file listing methods (#808)
- SKIP_CLI_LINT_MODES: Comma-separated list of cli_lint_modes. To use if you want to skip linters with some CLI lint modes (ex:
file,project
). Available values:file
,cli_lint_mode
,project
.
-
mega-linter-runner:
- Allow
MEGALINTER_FILES_TO_LINT
to be sent as positional arguments - New argument
--filesonly
that sendsSKIP_CLI_LINT_MODES=project
- Example:
mega-linter-runner --flavor python --release beta --filesonly megalinter/config.py megalinter/flavor_factory.py megalinter/MegaLinter.py
- Allow
-
Fixes
-
Linter versions upgrades
- cfn-lint from 0.61.4 to 0.61.5
- checkov from 2.1.100 to 2.1.121
- clippy from 0.1.62 to 0.1.63
- cspell from 6.5.0 to 6.6.1
- gitleaks from 8.9.0 to 8.10.2
- powershell from 7.2.5 to 7.2.6
- protolint from 0.38.3 to 0.39.0
- rubocop from 1.33.0 to 1.35.0
- snakemake from 7.12.0 to 7.12.1
- stylelint from 14.9.1 to 14.10.0
- terraform-fmt from 1.2.6 to 1.2.7
- terragrunt from 0.38.6 to 0.38.7
MegaLinter v6.3.0
-
Linters
- Add REPOSITORY_CHECKOV to benefit from all checks and not only terraform ones. TERRAFORM_CHECKOV will be deprecated in a next major version
- Add djlint (HTML_DJLINT) to lint HTML files (html, django, jinja, nunjucks, handlebars, golang, angular)
- Upgrade jsonlint to use maintained package @prantlf/jsonlint]([https://www.npmjs.com/package/@prantlf/jsonlint) + use cli_lint_mode
list_of_files
to improve performances
-
Core
- Support for automatic removal of Docker container when linting is finished
- Fix SARIF when endColumn is 0 (#1702)
- Use dynamic REPORT_FOLDER value for output files for SALESFORCE and COPYPASTE descriptors
- Fix collapsible sections in Gitlab console logs
- Manage ignore files (like
.secretlintignore
or.eslintignore
)- Define ignore argument for client in descriptors
- Define ignore file name in descriptors (overridable with _IGNORE_FILE_NAME at runtime)
- Update documentation generation to take in account this new configuration
-
Linter versions upgrades