Releases: oxsecurity/megalinter
MegaLinter v6.20.0
Release notes
-
Core
- Upgrade base docker image from python:3.10.4-alpine3.16 to python:3.11.1-alpine3.17 in #2312
- Upgrade base docker image from python:3.11.1-alpine3.17 to python:3.12.1-alpine3.17, by @bdovaz in #2354
- Update editorconfig-checker to 2.7.0, by @rasa in #2349
- Build: remove folder contents before generating Dockerfile files for each linter in generate_linter_dockerfiles(), by @bdovaz in #2294
- Build: remove folder contents before generating test classes for each linter in generate_linter_test_classes(), by @bdovaz in #2294
- Build: automatically update the linter list used in the matrix of several of the workflows, by @bdovaz in #2294
- Test: create a testing architecture for format/autofix linters, by @bdovaz in #2294
- Test: create or adapt input files for format/autofix tests, by @bdovaz in #2294
- Test: created specific test folders for linters that need them because they cannot share them, by @bdovaz in #2294
- Added rubocop-rake RubyGem for linting Rake files with RuboCop, by @timgentry in #2366
-
Fixes
- Correctly generate class names and test class files for each linter when the linter descriptor defines the attribute "name", by @bdovaz in #2294
- Removed the default powershell templates TEMPLATES/.powershell-formatter.psd1 and TEMPLATES/.powershell-psscriptanalyzer.psd1. Having these templates caused all rules to be ignored as the settings are not incremental but absolute, by @bdovaz in #2294
- Added cli_lint_fix_arg_name parameter to dotnet format descriptor as without it, autofix does not work, by @bdovaz in #2294
- Created BicepLinter class to add DOTNET_SYSTEM_GLOBALIZATION_INVARIANT environment variable to avoid problems with ICU packages, by @bdovaz in #2294
- Modified npm-groovy-lint descriptor to add --failon parameter to only fail with error and not info which is the default value, by @bdovaz in #2294
- Added cli_lint_fix_arg_name parameter to powershell formatter descriptor as without it, autofix does not work, by @bdovaz in #2294
- Created ProtolintLinter class to fix the problem that returns exit code 1 when it encounters a problem to correct even though it corrects it correctly, by @bdovaz in #2294
- Concatenate --output parameter correctly to xmllint linter, by @bdovaz in #2294
- Modified the .pre-commit-hooks.yaml for megalinter-full so the containername argument is correctly split between two lines, by @drbothen #2411
- Avoid jscpd default config to detect copy pastes in image files in #2407.
- Move utilstest to megalinter folder to avoid import issues in #2417.
- Replace deprecated spectral package, by @bdovaz in by @bdovaz in #2340
- Generate correct urls for packages with fixed versions, by @bdovaz in #2339
-
Documentation
- Change swiftlint example that did not correctly reflect the --fix parameter, by @bdovaz in #2294
- Change in TSX eslint descriptor the urls as they were not correct, by @bdovaz in #2294
- Change in TYPESCRIPT eslint descriptor the urls as they were not correct, by @bdovaz in #2294
- Use mkdocs-glightbox to allow to click on images and display them in full screen in #2414
-
CI
- Use docker/build-push-action to build docker images and akhilerm/tag-push-action to release by retagging and pushing beta images instead of rebuilding them in #2342
- Authenticate to GitHub API during docker build to avoid reaching limits, by @bdovaz in #2299
- Remove apk go package install in images where possible to decrease image sizes, by @echoix in #2318
- Create a slash PR bot to run
./build.sh
command manually on PRs, by @echoix in #2353 and #2381 - Limit parallel execution of large job matrix in the workflows with max-parallel in order to keep runners available for other jobs, by @echoix in #2397
-
Linter versions upgrades
- ansible-lint from 6.12.1 to 6.14.0
- bash-exec from 5.1.16 to 5.2.15
- bicep_linter from 0.14.46 to 0.14.85
- cfn-lint from 0.72.10 to 0.74.0
- checkmake from 0.2.1 to 0.2.0
- checkov from 2.1.244 to 2.3.18
- checkstyle from 10.7.0 to 10.8.0
- clj-kondo from 2023.01.20 to 2023.02.17
- cspell from 6.21.0 to 6.28.0
- djlint from 1.19.13 to 1.19.16
- dotnet-format from 6.0.405 to 6.0.406
- dustilock from 0.0.0 to 1.2.0
- editorconfig-checker from 2.4.0 to 2.7.0
- eslint from 8.33.0 to 8.35.0
- git_diff from 2.36.4 to 2.38.4
- gitleaks from 8.15.3 to 8.16.0
- golangci-lint from 1.51.0 to 1.51.2
- jscpd from 3.3.26 to 3.5.3
- jsonlint from 11.7.0 to 13.0.1
- kics from 1.6.9 to 1.6.11
- mypy from 0.991 to 1.0.1
- perlcritic from 1.148 to 1.150
- phpcs from 3.7.1 to 3.7.2
- phpstan from 1.9.14 to 1.10.3
- powershell_formatter from 7.3.2 to 7.3.3
- powershell from 7.3.2 to 7.3.3
- prettier from 2.8.3 to 2.8.4
- protolint from 0.42.2 to 0.43.0
- psalm from Psalm.5.6.0@ to Psalm.5.7.7@
- puppet-lint from 3.0.1 to 3.2.0
- pylint from 2.16.1 to 2.16.3
- pyright from 1.1.270 to 1.1.296
- rubocop from 1.44.1 to 1.47.0
- secretlint from 6.2.0 to 6.2.3
- semgrep from 1.9.0 to 1.14.0
- sfdx-scanner-apex from 3.8.0 to 3.10.0
- sfdx-scanner-aura from 3.8.0 to 3.10.0
- sfdx-scanner-lwc from 3.8.0 to 3.10.0
- snakemake from 7.21.0 to 7.24.0
- spectral from 5.9.2 to 6.6.0
- syft from 0.70.0 to 0.74.0
- terraform-fmt from 1.3.7 to 1.3.9
- terragrunt from 0.43.2 to 0.44.4
- terrascan from 1.16.0 to 1.18.0
- tflint from 0.44.1 to 0.45.0
- trivy from 0.35.0 to 0.38.1
- xmllint from 20914 to 21003
New Contributors
- @timgentry made their first contribution in #2366
- @drbothen made their first contribution in #2411
MegaLinter is graciously provided by
Full Changelog: v6.19.0...v6.20.0
MegaLinter v6.19.0
What's Changed
-
Core
- Deploy additional Docker images to GitHub Container Registry, by @lars-reimann in #2117
- Build: Disable generate_documentation_all_users as we use github-dependents-info
-
Evolutions
-
Fixes
- Change name of config file for powershell formatter to avoid collision with powershell linter config, by @nvuillam in #2231
- Enhance find SARIF json in stdout output
- Pass --show-context, --show-suggestions, and --no-must-find-files to CSpell for friendlier UX, by @Kurt-von-Laven in #2275.
- Only run npm-package-json-lint when package.json is present, by @Kurt-von-Laven in #2280.
- Fix local files with extends, by @bdovaz in #2236
- Remove downgrading of ansible-lint, by @gotit96 in #2257
- Tag some automatically updated files as generated files, by @echoix in #2285
- Fix Sarif Reporter in Azure Devops with space in project name, by @EtienneDeneuve in #2301
-
Documentation
- Configure jsonschema documentation formatting (see Descriptor schema, Configuration schema), by @echoix in #2270
- Update CONTRIBUTING.md and add documentation improvements hints, by @bdovaz in #2228
- Add Powershell linters rules url, by @bdovaz in #2242
- Fix syft logo, by @pjungermann in #2282
- Fix docker run documentation, by @davidjeddy in #2258
-
Linter versions upgrades
- actionlint from 1.6.22 to 1.6.23
- ansible-lint from 6.7.0 to 6.12.1
- bicep_linter from 0.13.1 to 0.14.6
- black from 22.12.0 to 23.1.0
- cfn-lint from 0.72.6 to 0.72.10
- checkstyle from 10.6.0 to 10.7.0
- clippy from 0.1.66 to 0.1.67
- clj-kondo from 2022.12.10 to 2023.01.20
- csharpier from 0.21.0 to 0.22.1
- cspell from 6.18.1 to 6.21.0
- devskim from 0.7.101 to 0.7.104
- djlint from 1.19.11 to 1.19.13
- dotnet-format from 000 to 6.0.405
- eslint from 8.31.0 to 8.33.0
- git_diff from 2.36.3 to 2.36.4
- gitleaks from 8.15.2 to 8.15.3
- golangci-lint from 1.50.1 to 1.51.0
- isort from 5.11.4 to 5.12.0
- kics from 1.6.7 to 1.6.9
- ktlint from 0.48.1 to 0.48.2
- perlcritic from 1.146 to 1.148
- phpstan from 1.9.7 to 1.9.14
- powershell from 7.3.1 to 7.3.2
- powershell_formatter from 7.3.1 to 7.3.2
- prettier from 2.8.1 to 2.8.3
- psalm from Psalm.dev-master@ to Psalm.5.6.0@
- pylint from 2.15.10 to 2.16.1
- revive from 1.2.4 to 1.2.5
- rstfmt from 0.0.11 to 0.0.12
- rubocop from 1.42.0 to 1.44.1
- scss-lint from 0.59.0 to 0.60.0
- secretlint from 6.0.2 to 6.2.0
- semgrep from 1.3.0 to 1.9.0
- snakefmt from 0.8.0 to 0.8.1
- snakemake from 7.19.1 to 7.21.0
- syft from 0.65.0 to 0.70.0
- terraform-fmt from 1.3.6 to 1.3.7
- terragrunt from 0.42.3 to 0.43.2
- tflint from 0.44.0 to 0.44.1
- tsqllint from 1.15.1.0 to 1.15.3.0
- v8r from 0.13.1 to 0.14.0
- yamllint from 1.28.0 to 1.29.0
New Contributors
- @davidjeddy made their first contribution in #2258
- @gotit96 made their first contribution in #2257
- @pjungermann made their first contribution in #2282
- @EtienneDeneuve made their first contribution in #2301
MegaLinter is graciously provided by
Full Changelog: v6...v6.19.0
MegaLinter v6.18.0
What's Changed
-
New linters
-
Core
- Upgrade to dotnet 6.0, by @lexstatic in #1680
- dotnet-format requires
.sln
,.csproj
or.vbproj
in the repo
- dotnet-format requires
- Switch to docker buildx, by @bdovaz in #2199
- Drone CI enhancements, by @NebulaOnion in #2195
- Config generator tool now supports Drone CI
- Added information about how to change trigger rules for Drone CI workflow
- Unify the drawing of badges in documentation, by @bdovaz in #2220
- Upgrade to dotnet 6.0, by @lexstatic in #1680
-
Fixes
- Do not write output files if REPORT_OUTPUT_FOLDER is none
- Fix Perl linter skipping files
-
New MegaLinter plugins
-
New article talking about MegaLinter: Writing documentation as a champ in engineering teams, by @Gijsreyn
-
Linter versions upgrades
- cfn-lint from 0.72.5 to 0.72.6
- checkstyle from 10.5.0 to 10.6.0
- csharpier from 0.16.0 to 0.21.0
- cspell from 6.18.0 to 6.18.1
- devskim from 0.6.9 to 0.7.101
- djlint from 1.19.10 to 1.19.11
- eslint-plugin-jsonc from 2.5.0 to 2.6.0
- eslint from 8.30.0 to 8.31.0
- kics from 1.6.6 to 1.6.7
- ktlint from 0.48.0 to 0.48.1
- markdownlint from 0.32.2 to 0.33.0
- phplint from 5.4 to 5.5
- phpstan from 1.9.4 to 1.9.7
- rubocop from 1.41.1 to 1.42.0
- secretlint from 5.3.0 to 6.0.2
- semgrep from 1.2.1 to 1.3.0 on 2023-01-06
- sfdx-scanner from 3.7.1 to 3.8.0
- stylelint from 14.16.0 to 14.16.1
- syft from 0.64.0 to 0.65.0
- tsqllint from 1.14.5.0 to 1.15.1.0
New Contributors
Full Changelog: v6...v6.18.0
MegaLinter is graciously provided by
Attend OX Security next webinar, hosted by Neatsun Ziv, Co-founder & CEO !
MegaLinter v6.17.0
What's Changed
-
New linters
-
Documentation
-
Linter versions upgrades
- djlint from 1.19.9 to 1.19.10
- dotenv-linter from 3.2.0 to 3.3.0
- powershell_formatter from 5.1.22621 to 7.3.1
- tflint from 0.43.0 to 0.44.0
Full Changelog: v6...v6.17.0
MegaLinter v6.16.0
What's Changed
-
New linters
- Add npm-package-json-lint linter, by @bdovaz (#2150)
-
Evolutions
-
Fixes
- Change reporter text for better UX, by @ashokm (#2168)
- Remove workspace prefix from aggregate sarif report, by @janderssonse (#2119)
- CSpell file name linting does not use (custom) CSpell configuration (#2058)
- HTML email not rendering correctly (#2120). Set
REPORTERS_MARKDOWN_TYPE
tosimple
to avoid external images in PR/MR markdown comments. - mega-linter-runner: Fix Value for container-name of type String required, by @AlbanAndrieu ([#2123])(#2123)
- Use warning emoji in reporters, by @ashokm (#2156)
- Fix branding to use the correct 'OX Security' name, by @ashokm
-
Doc
-
Linter versions upgrades
- bicep_linter from 0.12.40 to 0.13.1
- black from 22.10.0 to 22.12.0
- cfn-lint from 0.72.0 to 0.72.5
- checkstyle from 10.4 to 10.5.0
- clippy from 0.1.65 to 0.1.66
- clj-kondo from 2022.10.14 to 2022.12.10
- cspell from 6.14.3 to 6.18.0
- djlint from 1.19.7 to 1.19.9
- eslint from 8.28.0 to 8.29.0 to 8.30.0
- git_diff from 2.34.5 to 2.36.3
- gitleaks from 8.15.0 to 8.15.2
- isort from 5.10.1 to 5.11.4
- kics from 1.6.5 to 1.6.6
- ktlint from 0.47.1 to 0.48.0
- luacheck from 1.0.0 to 1.1.0
- perlcritic from 1.140 to 1.146
- phplint from 3.0 to 5.4
- phpstan from 1.9.2 to 1.9.4
- powershell from 7.3.0 to 7.3.1
- prettier from 2.8.0 to 2.8.1
- psalm from Psalm.4.x-dev@ to Psalm.dev-master@
- pylint from 2.15.6 to 2.15.9
- rubocop from 1.39.0 to 1.41.1
- semgrep from 0.122.0 to 1.2.1
- sfdx-scanner-apex from 3.6.2 to 3.7.1
- sfdx-scanner-aura from 3.6.2 to 3.7.1
- sfdx-scanner-lwc from 3.6.2 to 3.7.1
- shellcheck from 0.8.0 to 0.9.0
- snakefmt from 0.7.0 to 0.8.0
- snakemake from 7.18.2 to 7.19.1
- sqlfluff from 1.4.2 to 1.4.5
- stylelint from 14.15.0 to 14.16.0
- swiftlint from 0.50.0 to 0.50.3
- syft from 0.62.1 to 0.64.0
- terraform-fmt from 1.3.5 to 1.3.6
- terragrunt from 0.40.2 to 0.42.3
- terrascan from 1.17.0 to 1.16.0
- tflint from 0.42.1 to 0.43.0
- trivy from 0.29.2 to 0.35.0
- v8r from 0.13.0 to 0.13.1
Contributors
Full Changelog: v6.15.0...v6.16.0
MegaLinter v6.15.0
What's Changed
-
Switch to https://megalinter.io
-
Initial Drone CI documentation
-
Automatically generate "Used by" markdown documentation with github-dependents-info
-
Add Docker container documentation
-
Linter versions upgrades
- bicep_linter from 0.12.1 to 0.12.40
- cfn-lint from 0.70.1 to 0.72.0
- coffeelint from 5.2.10 to 5.2.11
- cspell from 6.14.0 to 6.14.3
- djlint from 1.19.4 to 1.19.7
- eslint from 8.27.0 to 8.28.0
- flake8 from 5.0.4 to 6.0.0
- hadolint from 2.10.0 to 2.12.0
- kics from 1.6.3 to 1.6.5
- mypy from 0.982 to 0.991
- phpstan from 1.9.1 to 1.9.2
- powershell from 7.2.7 to 7.3.0
- prettier from 2.7.1 to 2.8.0
- protolint from 0.41.0 to 0.42.2
- psalm from Psalm.5.x-dev@ to Psalm.4.x-dev@
- pylint from 2.15.5 to 2.15.6
- rstcheck from 6.1.0 to 6.1.1
- rubocop from 1.38.0 to 1.39.0
- semgrep from 0.120.0 to 0.122.0
- snakefmt from 0.6.1 to 0.7.0
- snakemake from 7.18.1 to 7.18.2
- sqlfluff from 1.4.1 to 1.4.2
- stylelint from 14.14.1 to 14.15.0
- swiftlint from 0.46.5 to 0.50.0
- syft from 0.60.3 to 0.62.1
- terraform-fmt from 1.3.4 to 1.3.5
- terragrunt from 0.40.0 to 0.40.2
- terrascan from 1.16.0 to 1.17.0
Contributors
Full Changelog: v6.14.0...v6.15.0
MegaLinter v6.14.0
-
Core
- Replace
set-output
usage withGITHUB_OUTPUT
to handle Github deprecation notice - Allow PRE_COMMANDS to be defined within a python venv (#2017)
- Correct behavior of
EXTENDS
property in.megalinter.yml
config file (#1516) - Fix flavor suggestion message in reporters
- Replace
-
New MegaLinter plugin: mustache: Plugin to validate Logstash pipeline definition files using mustache, by Yann Jouanique
-
New article: GitHub Actions: sharing your secrets with third-party actions, by José Celano Martín, Constantin Bosse and Stephen Hosom
-
Linters
- Bring back rstfmt RestructuredText formatter
- Add the SPELL_*_FILE_EXTENSIONS parameter for each SPELL type linter. If set, it will use this value to filter instead of the default behavior which is to parse the files of all other linters executed (#1997).
- Allow cspell to also analyze file names (new variable SPELL_CSPELL_ANALYZE_FILE_NAMES) (#2009)
- Fix bicep version regex
-
Linter versions upgrades
- actionlint from 1.6.21 to 1.6.22
- bicep_linter from 0.11.1 to to 0.12.1
- cfn-lint from 0.68.1 to 0.70.1
- checkstyle from 10.3.4 to 10.4
- clippy from 0.1.64 to 0.1.65
- cspell from 6.12.0 to 6.14.0
- djlint from 1.19.2 to 1.19.4
- eslint-plugin-jsonc from 2.4.0 to 2.5.0
- eslint from 8.26.0 to 8.27.0
- kics from 1.6.2 to 1.6.3
- kubeconform from 0.4.12 to 0.5.0
- npm-groovy-lint from 11.0.0 to 11.1.1
- phpstan from 1.8.10 to 1.9.1
- revive from 0.0.0 to 1.2.4
- rstfmt from 0.0.10 to 0.0.11
- rubocop from 1.37.0 to 1.38.0
- secretlint from 5.2.4 to 5.3.0
- semgrep from 0.118.0 to 0.120.0
- sfdx-scanner-apex from 2.13.9 to 3.6.2
- sfdx-scanner-aura from 2.13.9 to 3.6.2
- sfdx-scanner-lwc from 2.13.9 to 3.6.2
- snakemake from 7.16.1 to 7.18.1
- sqlfluff from 1.3.2 to 1.4.1
- stylelint from 14.14.0 to 14.14.1
- syft from 0.59.0 to 0.60.3
- terraform-fmt from 1.3.3 to 1.3.4
- terragrunt from 0.39.2 to 0.40.0
- tflint from 0.41.0 to 0.42.1
- yamllint from 1.26.3 to 1.26.3
MegaLinter v6.13.0
-
New cupcake flavor with 78 instead of 108 linters
-
Don't add literal double quote character to filenames in mega-linter-runner (#1942).
-
Remove default npm-groovy-lint extra arguments (#1872)
-
Replace yaml.load by yaml.safe_load for better security
-
Linter versions upgrades
- cfn-lint from 0.67.0 to 0.68.1
- clj-kondo from 2022.10.05 to 2022.10.14
- djlint from 1.19.1 to 1.19.2
- eslint from 8.25.0 to 8.26.0
- git_diff from 2.34.4 to 2.34.5
- gitleaks from 8.14.1 to 8.15.0
- golangci-lint from 1.50.0 to 1.50.1
- phpstan from 1.8.9 to 1.8.10
- powershell from 7.2.6 to 7.2.7
- puppet-lint from 3.0.0 to 3.0.1
- pylint from 2.15.4 to 2.15.5
- rubocop from 1.36.0 to 1.37.0
- semgrep from 0.117.0 to 0.118.0
- snakemake from 7.16.0 to 7.16.1
- syft from 0.58.0 to 0.59.0
- terraform-fmt from 1.3.2 to 1.3.3
- terragrunt from 0.39.1 to 0.39.2
- terrascan from 1.15.2 to 1.16.0
MegaLinter v6.12.0
-
Add Makefile linter in go flavor
-
Fix invalid Docker container names in .pre-commit-hooks.yaml (#1932)
-
Correct spelling of
containername
argument to mega-linter-runner (#1570) -
Correct removeContainer casing in runner (#1917)
-
Fix use of TERRAFORM_KICS_ARGUMENTS (#1947)
-
Use -p argument for pyright custom config file path (#1946)
-
Fix incorrect link to pytype for pyright (#1967)
-
Deduplicate SHOW_ELAPSED_TIME properties to address v8r error (#1962)
-
Add link to article GitOps security topics you must address, by Wiebe de Roos
-
Linter versions upgrades
- actionlint from 1.6.16 to 1.6.21
- ansible-lint from 6.7.0 to 6.7.0
- bicep_linter from 0.10.61 to 0.11.1
- black from 22.8.0 to 22.10.0
- cfn-lint from 0.66.0 to 0.67.0
- clj-kondo from 2022.09.08 to 2022.10.05
- djlint from 1.18.0 to 1.19.1
- eslint from 8.24.0 to 8.25.0
- gitleaks from 8.13.0 to 8.14.1
- golangci-lint from 1.49.0 to 1.50.0
- kics from 1.6.1 to 1.6.2
- mypy from 0.981 to 0.982
- npm-groovy-lint from 10.1.0 to 11.0.0
- phpstan from 1.8.6 to 1.8.9
- puppet-lint from 2.5.2 to 3.0.0
- pylint from 2.15.3 to 2.15.4
- scalafix from 0.10.3 to 0.10.4
- semgrep from 0.115.0 to 0.117.0
- snakemake from 7.14.2 to 7.16.0
- stylelint from 14.13.0 to 14.14.0
- terraform-fmt from 1.3.1 to 1.3.2
- terragrunt from 0.39.0 to 0.39.1
MegaLinter v6.11.1
- Remove
no-space-check
from MegaLinter default.pylintrc
file (#1923)
New article: https://nicolas.vuillamy.fr/megalinter-sells-his-soul-and-joins-ox-security-2a91a0027628