Skip to content

Releases: oxsecurity/megalinter

v9.4.0

28 Feb 10:07

Choose a tag to compare

What's Changed

  • Core

    • Improve files browsing performances (2 PRs)
    • Optimize parallel linter processing and improve grouping logic
    • Improve performance of listing .gitignored files by sending excluded directories to git ls-files
    • If there are more than 500 .gitignored files, advise to add more excluded directories using variable ADDITIONAL_EXCLUDED_DIRECTORIES, to improve performances
    • Reduce redundant config lookups, environment copies, and dict rebuilds across config, linter, and utils modules
    • Cache subprocess environment per linter run and excluded directories per request
    • Optimize parallel linter result update from O(n²) to O(n)
    • Add support in the build of Docker images for linux/arm64 in compatible linters
  • New linters

  • Disabled linters

  • Linters enhancements

    • Use the official checkmake image by @bdovaz
    • Spectral: Add sarif support to spectral by @bdovaz
    • Spectral: Change cli_lint_mode to list_of_files to improve performances
  • Fixes

    • Add support for SSH remote origins when building custom flavors (fixes: #6511)
    • Fix issue with plugins ignored when FLAVOR_SUGGESTIONS=false
    • Fix wrong tagging apply_fixes=True when linter has no fix options configured
    • Python mypy: Remove .ipynb from file extensions (mypy doesn't support notebooks directly) - fixes #6904
    • Fix operator precedence bug in pre_post_factory pre/post command logic
    • Fix file handle leak in GitleaksLinter
    • Fix variable name bug in utils.get_git_context_info
    • Minor fixes in logger, SqlFluffLinter, PowershellLinter, TrivyLinter
  • Reporters

    • Add a link inviting to star MegaLinter
    • Display in the console reporter the working directory from which the commands are executed by @bdovaz
    • Update WebHook reporter so it can send more events for a better integration with UI
    • When truncating long comments in markdown reports, keep the end of the text instead of the beginning (which usually contains less useful information)
    • In case GitHub Api returns 500, do not make the whole MegaLinter fail, display a warning instead
    • Azure Reporter: Use Azure DevOps Services REST API instead of unmaintained python wrapper lib
  • Flavors

    • Custom flavor builder:
      • Add support for SSH remotes
      • Allow selection of platforms to build the custom flavor on (ex: linux/amd64, linux/arm64) and build compatible linters on these platforms
      • Build & release custom flavor builder image for linux/arm64
  • Doc

    • JSON Schema: Add default values for file extensions and file names variables + improve descriptions
    • Update default secured env variables documentation
    • Fix banner img in json_prettier and yaml_prettier docs
    • Explain better how to run tests locally
    • Vale: Mention community style packages in linter description
  • CI

    • Free more space on GitHub Actions runners to avoid build failures
    • Ignore .isorted files in secretlint to avoid scanning transient files created by other linters
    • Avoid duplicate jobs "Mirror docker image"
    • Allow to skip linters build using skip linters in latest commit text
    • Allow to disable build & push of standalone linters docker images using variable BETA_LINTERS_ENABLED=false
    • Improve performances of formatting markdown tables during build
    • Improve test classes performances and fix race conditions
    • Fix plugin test to work with forks and feature branches
    • Update .devcontainer image to trixie
  • mega-linter-runner

    • If variables are defined in a local .env file, send their values to docker/podman run command (can be useful for secret variables)
    • Never send .env file to the docker run for security reasons, instead create an empty one if needed
    • Use npm trusted publishers (OIDC) to publish mega-linter-runner
  • Linter versions upgrades (59)

Pull Requests
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6890
  • ci: ignore urls with parameters by @bdovaz in #6892
  • chore: fix invalid urls by @bdovaz in #6893
  • chore(deps): lock file maintenance by @renovate[bot] in #6895
  • chore(deps): update dependency @salesforce/plugin-code-analyzer to v5.8.0 by @renovate[bot] in #6894
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6896
  • chore(deps): update dependency rumdl to v0.0.209 by @renovate[bot] in #6897
  • chore(deps): update dependency rumdl to v0.0.210 by @renovate[bot] in #6901
  • chore(deps): update dependency cfn-lint to v1.43.2 by @renovate[bot] in #6900
  • [...
Read more

v9.3.0

04 Jan 09:46

Choose a tag to compare

What's Changed

Pull Requests
  • Frees disk space on GitHub Actions runners by @nvuillam in #6662
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6663
  • chore(deps): update dependency eslint-plugin-vue to v10.6.2 by @renovate[bot] in #6660
  • chore(deps): update dependency overtrue/phplint to v9.6.3 by @renovate[bot] in #6664
  • feat(linter): add codespell linter by @ideaship in #6256
  • chore(deps): lock file maintenance by @renovate[bot] in #6667
  • Disable codespell on MegaLinter by @nvuillam in #6668
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6670
  • Bump fastapi from 0.121.3 to 0.123.0 in /server by @dependabot[bot] in #6674
  • Bump fastapi from 0.121.3 to 0.123.0 in /.config/python/dev by @dependabot[bot] in #6671
  • Bump pymdown-extensions from 10.17.1 to 10.17.2 in /.config/python/dev by @dependabot[bot] in #6673
  • Bump beautifulsoup4 from 4.14.2 to 4.14.3 in /.config/python/dev by @dependabot[bot] in #6672
  • Bump the npm_and_yarn group across 1 directory with 3 updates by @dependabot[bot] in #6676
  • chore(deps): update dependency mega-linter-runner to v9.2.0 by @renovate[bot] in #6680
  • chore(deps): update checkmarx/kics docker tag to v2.1.17 by @renovate[bot] in #6677
  • chore(deps): update dependency fastapi to v0.123.5 by @renovate[bot] in #6678
  • chore(deps): update dependency ruff to v0.14.7 by @renovate[bot] in #6679
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6681
  • chore(deps): update dependency pylint to v4.0.4 by @renovate[bot] in #6682
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6684
  • chore(deps): update dependency sfdx-hardis to v6.12.10 by @renovate[bot] in #6683
  • chore(deps): update dependency stylelint to v16.26.1 by @renovate[bot] in #6685
  • chore(deps): update trufflesecurity/trufflehog docker tag to v3.91.2 by @renovate[bot] in #6687
  • chore(deps): update dependency fastapi to v0.123.7 by @renovate[bot] in #6686
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6688
  • chore(deps): update dependency pmd/pmd to v7.19.0 by @renovate[bot] in #6694
  • chore(deps): update actions/setup-node action to v6.1.0 by @renovate[bot] in #6689
  • chore(deps): update dependency ansible-lint to v25.12.0 by @renovate[bot] in #6690
  • chore(deps): update dependency golangci/golangci-lint to v2.7.1 by @renovate[bot] in #6692
  • chore(deps): update dependency mypy to v1.19.0 by @renovate[bot] in #6693
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6691
  • chore(deps): update dependency ruff to v0.14.8 by @renovate[bot] in #6697
  • chore(deps): update dependency friendsofphp/php-cs-fixer to v3.91.2 by @renovate[bot] in #6700
  • chore(deps): update dependency urllib3 to v2.6.0 [security] by @r...
Read more

v9.2.0

29 Nov 16:07

Choose a tag to compare

What's Changed

Pull Requests
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6307
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6310
  • chore(config): migrate renovate config by @renovate[bot] in #6309
  • chore(deps): update dependency sfdx-hardis to v6.7.1 by @renovate[bot] in #6303
  • chore(deps): update dependency ansible-lint to v25.9.2 by @renovate[bot] in #6312
  • chore(deps): update dependency aquasecurity/trivy to v0.67.2 by @renovate[bot] in #6313
  • chore(deps): update dependency snakemake to v9.13.2 by @renovate[bot] in #6304
  • chore(deps): update dependency cfn-lint to v1.40.1 by @renovate[bot] in #6314
  • chore(deps): update dependency fastapi to v0.118.3 by @renovate[bot] in #6315
  • chore(deps): update dependency langchain_anthropic to v0.3.22 by @renovate[bot] in #6316
  • chore(deps): update dependency python-gitlab to v6.4.0 by @renovate[bot] in #6243
  • chore(deps): update dependency puppet-lint to v5.1.0 by @renovate[bot] in #6239
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6311
  • chore(deps): update tflint plugin terraform-linters/tflint-ruleset-google to v0.36.0 by @renovate[bot] in #6246
  • chore(deps): update dependency eslint-plugin-vue to v10.5.0 by @renovate[bot] in #6207
  • chore(deps): update dependency langchain_community to v0.3.31 by @renovate[bot] in #6317
  • chore(deps): update dependency langchain_core to v0.3.79 by @renovate[bot] in #6318
  • chore(deps): update rhysd/actionlint docker tag to v1.7.8 by @renovate[bot] in #6319
  • chore(deps): update dependency ruff to v0.14.0 by @renovate[bot] in #6320
  • chore(deps): update dependency pylint to v4 by @renovate[bot] in #6321
  • chore(deps): update dependency npm to v11.6.2 by @renovate[bot] in htt...
Read more

v9.1.0

07 Oct 18:58

Choose a tag to compare

What's Changed

  • New linters

  • Linters enhancements

    • Python Linting: Added more file type supports for various linters. Full description here
  • Doc

    • Add OLLAMA_BASE_URL is MegaLinter config Json schema
  • Flavors

    • Custom flavors: Add workflow to automate detection of new MegaLinter versions and generation of new Custom Flavor
  • CI

    • Fix v9 release issue + mark hardcoded versions to upgrade at each new major release.
  • Linter versions upgrades (22)

Pull Requests
  • chore(deps): update alpine/terragrunt docker tag to v1.13.3 by @renovate[bot] in #6201
  • chore(deps): update dependency @salesforce/cli to v2.106.6 by @renovate[bot] in #6199
  • chore(deps): update dependency fastapi to v0.117.1 by @renovate[bot] in #6195
  • chore(deps): update dependency @salesforce/plugin-packaging to v2.20.4 by @renovate[bot] in #6198
  • chore(deps): update dependency sfdx-hardis to v6.5.2 by @renovate[bot] in #6202
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6203
  • chore(deps): update dependency golangci/golangci-lint to v2.5.0 by @renovate[bot] in #6204
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6205
  • Adding supported filetypes to black, bandit, mypy, pylint, isort, and pyright Python linters by @CraigCallender in #6214
  • chore(deps): update dependency sfdx-hardis to v6.5.3 by @renovate[bot] in #6213
  • chore(deps): update dependency mega-linter-runner to v9.0.1 by @renovate[bot] in #6200
  • chore(deps): lock file maintenance by @renovate[bot] in #6206
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6216
  • chore(deps): update dependency eslint to v9.36.0 - autoclosed by @renovate[bot] in #6211
  • Bump hadolint/hadolint from v2.13.1-alpine to v2.14.0-alpine in /server by @dependabot[bot] in #6210
  • chore(deps): update hadolint/hadolint docker tag to v2.14.0 by @renovate[bot] in #6208
  • chore(deps): update dependency puppet-lint to v5 by @renovate[bot] in #6221
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6219
  • chore(deps): update dependency uvicorn to v0.37.0 by @renovate[bot] in #6220
  • chore(deps): update checkmarx/kics docker tag to v2.1.14 by @renovate[bot] in #6215
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6222
  • chore(deps): update dependency @salesforce/cli to v2.107.6 by @renovate[bot] in #6226
  • chore(deps): update dependency snakemake to v9.11.6 by @renovate[bot] in #6217
  • chore(deps): update typescript-eslint monorepo to v8.44.1 (patch) by @renovate[bot] in #6212
  • chore(deps): update dependency phpstan/phpstan to v2.1.29 by @renovate[bot] in #6228
  • chore(deps): update dependency friendsofphp/php-cs-fixer to v3.88.2 by @renovate[bot] in #6227
  • Add Robocop linter by @bdovaz in #6232
  • chore(deps): update dependency npm to v11.6.1 by @renovate[bot] in #6224
  • chore(deps): update dependency ruff to v0.13.2 by @renovate[bot] in #6237
  • chore(deps): update dependency @salesforce/plugin-packaging to v2.20.5 by @renovate[bot] in #6225
  • chore(deps): update dependency langchain_community to v0.3.30 by @renovate[bot] in #6233
  • chore(deps): update dependency sfdx-hardis to v6.5.4 by @renovate[bot] in #6238
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6236
  • chore(deps): update dependency pyyaml to v6.0.3 by @renovate[bot] in #6234
  • chore(deps): update dependency rubocop to v1.81.1 by @renovate[bot] in #6240
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6241
  • fix(deps): update dependency yeoman-environment to v5 by @renovate[bot] in #6248
  • chore(deps): update dependency rubocop-rails to v2.33.4 - autoclosed by @renovate[bot] in #6235
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6247
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6250
  • chore(deps): update dependency robotframework-robocop to v6.7.1 by @renovate[bot] in #6249
  • Bump beautifulsoup4 from 4.13.5 to 4.14.2 in /.config/python/dev by @dependabot[bot] in #6260
  • Bump fastapi from 0.117.1 to 0.118.0 in /server by @dependabot[bot] in #6259
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6253
  • chore(deps): update dependency fastapi to v0.118.0 by @renovate[bot] in #6252
  • chore(deps): update dependency checkov to v3.2.473 by @renovate[bot] in #6251
  • chore(deps): update dependency langchain_anthropic to v0.3.21 by @renovate[bot] in #6261
  • chore(deps): update dependency astral-sh/uv to v0.8.22 by @renovate[bot] in #6264
  • chore(deps): update dependency ansible-lint to v25.9.1 by @renovate[bot] in #6263
  • chore(deps): update dependency mkdocs-material to v9.6.21 by @renovate[bot] in #6266
  • chore(deps): update dependency langchain_core to v0.3.77 by @renovate[bot] in #6265
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6267
  • chore(deps): update dependency phpstan/phpstan to v2.1.30 by @renovate[bot] in #6268
  • chore(deps): update dependency pyright to v1.1.406 - autoclosed by @renovate[bot] in #6269
  • chore(deps): update dependency robotframework-robocop to v6.7.2 by @renovate[bot] in #6271
  • chore(deps): update dependency ruff to v0.13.3 by @renovate[bot] in #6272
  • chore(deps): update dependency mocha to v11.7.3 by @renovate[b...
Read more

v9.0.1

21 Sep 00:53

Choose a tag to compare

What's Changed

  • Fix v9 release issue
Pull Requests
  • chore(deps): update dependency mega-linter-runner to v9 by @renovate[bot] in #6191
  • chore(deps): update dependency sfdx-hardis to v6.5.1 by @renovate[bot] in #6188
  • chore(deps): update tflint plugin terraform-linters/tflint-ruleset-aws to v0.43.0 by @renovate[bot] in #6190
  • Update README with v9 announcement by @nvuillam in #6193
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #6194
  • chore(deps): update dependency uvicorn to v0.36.0 by @renovate[bot] in #6189
  • Fix v9 release issue by @nvuillam in #6197

Full Changelog: https://github.com/oxsecurity/megalinter/compare/v9.0.0..v9.0.1

v9.0.0

20 Sep 09:46

Choose a tag to compare

What's Changed

  • Core

    • Create your own Megalinter Custom Flavors to dramatically improve your performances
      • See documentation for usage
      • Use npx mega-linter-runner@beta --custom-flavor-setup to initialize repo
      • Suggest new flavors in reporters with a mega-linter-runner including the list of linters
    • New LLM Advisor: call external LLMs to get hints to solve linter errors, available in:
      • Console Reporter
      • Text Reporter
      • Git platforms PR/MR comments Reporter
    • Use ghcr.io docker images by default because of rate limits on docker.io
    • Use uv to create the venv folder for pip-installed linters
    • Add copilot instructions for GitHub Copilot
    • Update base image to python:3.13-alpine3.21 (also embeds go 1.24)
  • Disabled linters

  • Removed linters

    • markdown-link-check has been removed because lychee can be used instead, and has much better performances
  • Linters enhancements

    • PHP-CS-Fixer is able to run on PHP 8.4 without error (change default configuration) by @llaville
    • cspell: Filter output lines that do not contain found issues
    • hadolint: Extend DOCKERFILE_HADOLINT_FILE_NAMES_REGEX to include the purpose.Dockerfile convention eg service.Dockerfile.
    • sqlfluff: Handle fixing of issues
  • Fixes

    • When linter is docker based, force --platform=linux/amd64 so it works when running locally on Mac
    • Added checking of *.pyi and *.ipynb files to the ruff and ruff-format linters
  • Reporters

    • New default display for Pull Request comments, with expandable sections containing the first 1000 lines of the output log. Former display remains available by defining REPORTERS_MARKDOWN_SUMMARY_TYPE=table
    • Markdown summary reporter:
      • Write a file for Github integration if GITHUB_STEP_SUMMARY is set
      • Truncate less linter output lines
    • Text reporter: Change the output file names to put the linter name first, then the status
    • Enhance display of markdown summary
  • Doc

    • Update documentation in all megalinter descriptor files to improve accuracy and consistency
    • Fix incorrect information in linters documentation and descriptors
    • Remove dead links
    • Add linter description (linter_text) in all linter descriptor, to generate a more exhaustive documentation.
    • Update contributing guide to explain how to manage python dependencies in the codebase
  • Flavors

    • Do not suggest flavors that have more linters than the current one
  • CI

    • Update default MegaLinter CI/CD workflows to disable LLM_ADVISOR in case of bot pull requests
  • mega-linter-runner

    • Add all CI/CD providers in the --install command
    • Use ghcr.io docker images by default
    • New parameter --container-engine allowing to use podman as runner
    • mega-linter-runner --upgrade: Handle upgrade of github actions to their latest version
    • mega-linter-runner --upgrade: Upgrades MegaLinter actions and images to v9
  • Linter versions upgrades (68)

Pull Requests
  • [automation] Auto-update linters version, help and documentation by @nvuillam in #5599
  • chore(deps): update dependency sfdx-hardis to v5.41.0 by @renovate[bot] in #5601
  • chore(deps): update dependency eslint-plugin-jest to v28.14.0 by @renovate[bot] in #5600
  • chore(deps): lock file maintenance by @renovate[bot] in #5602
  • chore(deps): update dependency mypy to v1.16.1 by @renovate[bot] in #5604
  • chore(deps): update trufflesecurity/trufflehog docker tag to v3.89.2 by @renovate[bot] in #5605
  • chore(deps): update dependency mega-linter-runner to v8.8.0 by @renovate[bot] in #5598
  • Updates linter documentation with more details by @nvuillam in #5603
  • chore(deps): update dependency lightning-flow-scanner to v3.23.1 by @renovate[bot]...
Read more

v8.8.0

15 Jun 16:20

Choose a tag to compare

What's Changed

New Contributors

MegaLinter is graciously provided by OX Security

Full Changelog: v8.7.0...v8.8.0

v8.7.0

04 May 16:40

Choose a tag to compare

What's Changed

MegaLinter is graciously provided by OX Security

Full Changelog: v8.6.0...v8.7.0

v8.6.0

27 Apr 19:14

Choose a tag to compare

What's Changed

MegaLinter is graciously provided by OX Security

Full Changelog: v8.5.0...v8.6.0

v8.5.0

23 Mar 19:24

Choose a tag to compare

What's Changed

New Contributors

MegaLinter is graciously provided by OX Security

Full Changelog: v8.4.2...v8.5.0