Releases: JetBrains/qodana-cli
nightly
Changelog
- 8f3cb95 ⬇️ QD-0000 Revert "Bump the dependencies group across 4 directories with 5 updates (#708)"
- 6765098 ⬇️ QD-13111 Revert "Switch devcontainer image on cli builds"
- 02ac294 ⬆️ Bump
goto1.22.8 - 48a4c87 ⬆️ Bump
goto1.24.0 - ffe2c94 ⬆️ Bump actions/setup-java from 3 to 4 in the dependencies group
- 7a372c8 ⬆️ Bump config loader – better output on invalid yaml
- e81ef35 ⬆️ Bump config-loader-cli.jar to 0.0.16
- 8614b45 ⬆️ Bump github.com/boyter/scc/v3
- 5c987df ⬆️ Bump github.com/docker/cli in /core (#666)
- 7e276f2 ⬆️ Bump github.com/docker/docker in /cmd (#665)
- b43e392 ⬆️ Bump github.com/docker/docker in /platform (#668)
- 85e648f ⬆️ Bump github.com/go-enry/go-enry/v2
- 088b285 ⬆️ Bump github.com/go-enry/go-enry/v2
- f521171 ⬆️ Bump github.com/pterm/pterm
- c0d8e6e ⬆️ Bump github.com/stretchr/testify
- 1edb638 ⬆️ Bump github.com/stretchr/testify
- bff4c22 ⬆️ Bump github.com/zalando/go-keyring
- 90b4dc3 ⬆️ Bump golang.org/x/crypto from 0.24.0 to 0.31.0 in /cli
- f5c232d ⬆️ Bump golang.org/x/crypto from 0.24.0 to 0.31.0 in /core
- 2a16298 ⬆️ Bump golang.org/x/crypto from 0.24.0 to 0.31.0 in /platform
- 150f126 ⬆️ Bump golang.org/x/crypto from 0.26.0 to 0.31.0 in /cmd
- ab4d559 ⬆️ Bump golang.org/x/net from 0.30.0 to 0.33.0 in /cmd
- 11ae2ee ⬆️ Bump golang.org/x/net from 0.33.0 to 0.36.0 in /cmd
- 737b4df ⬆️ Bump the dependencies group across 1 directory with 2 updates
- f88d7c8 ⬆️ Bump the dependencies group across 1 directory with 4 updates
- e6e23fa ⬆️ Bump the dependencies group across 4 directories with 1 update
- 9e44ed7 ⬆️ Bump the dependencies group across 4 directories with 2 updates
- 48e2273 ⬆️ QD-0000 Bump the dependencies group across 4 directories with 5 updates (#708)
- 54aa8cb ⬆️ QD-11230 Fix merging of configuration, update error messages (#678)
- bd7e75f ⬆️ QD-11257 Fixed empty yaml reading, bump config-loader-cli.jar to 0.0.17
- c781747 ⬆️ QD-11687 Set a concrete version for cloud api (#692)
- e69acc9 ⬆️ QD-11896 Bump config-loader-cli version (#645)
- e82027b ⬆️ QD-11903 Upgrade config-loader-cli.jar
- 8e51fe8 ⬆️ QD-11903 Upgrade config-loader-cli.jar
- 17d87fb ⬆️ QD-12672 GPC fix path resolve for windows (#717)
- 460b4ec ⬆️ QD-12721 Update config loader for better error handling (#689)
- c8a387a ⬆️ QD-12852 Fix messaging for GPC (#705)
- ab603ff ⬆️ QD-12983 Bump golang.org/x/crypto from 0.43.0 to 0.45.0 (#752)
- 1cb5581 ⬆️ QD-12983: Bump actions/upload-artifact
- 54b31aa ⬆️ QD-12983: Bump github.com/docker/docker
- 6750847 ⬆️ QD-12983: Bump github.com/docker/go-connections
- e6de200 ⬆️ QD-12983: Bump org.jetbrains.qodana:intellij-report-converter from 0.11.76 to 0.11.76.1 in /internal/tooling in the dependencies group (#824)
- 76061b3 ⬆️ QD-12983: Bump the dependencies group across 1 directory with 2 updates (#823)
- ee544ca ⬆️ QD-12983: Bump the dependencies group with 2 updates
- 85b9d4d ⬆️ QD-12983: Bump the dependencies group with 3 updates
- fc35b67 ⬆️ QD-12983: Bump the dependencies group with 4 updates (#779)
- d761c9d ⬆️ QD-13111 Switch devcontainer image on cli builds
- db8ea3d ⬆️ Update publisher to 3.0.7
- dec419d :brics: Add native run configuration
- 4ae526b :brics: QD-10741 Add --linter and --within-container parameters for scan command
- 48a7217 :brics: QD-10741 Fix qodana-clang
- 377fa80 :brics: QD-12003 Cleanup. Split GuessAnalyzer method.
- a3c414a :brics: QD-12003 Tests fixes
- 2333267 :brics: QD-12003 Handle review. Add test for choosing NativePathAnalyzer.
- a49f82c :brics: QD-12003 Refactor selection of linter parameters and datastructures
- 84e1878 :brics: QD-12017 Add optional auth for downloading linter distribution
- 5ec6c62 :brics: QD-12017 Add status check on HEAD request
- cff2d22 :brics: QD-12093 Add detailed output on tar failure
- c53280e 🐛 Escape special Windows characters (QD-11070)
- ae538d7 🐛 Fix CLI completion generation (QD-9907)
- dac77a9 🐛 Fix GitLab/BitBucket reports with baseline and no new problems (QD-10038)
- 9715d40 🐛 Fix QD-12834 (#699)
- b1409ee 🐛 Fix
contributorslog options - 06393bd 🐛 Fix
viewcommand options - 9b825da 🐛 Fix custom plugin setup for
darwin(QD-9921) - 84ff2f6 🐛 Fix custom plugins container location (QD-9921)
- 6c2d6c5 🐛 Fix forwarding testing endpoint to containers (QD-10281)
- f58a0bf 🐛 Fix qodana-clang build on master
- 762669d 🐛 Fix setting
--report-dirfor container runs (QD-10890) - c794264 🐛 Handle errors for
.ideacache and add logging (QD-9927) - cb78e5a 🐛 QD-10572 qodana-clang should respect arguments property
- 4f36307 🐛 QD-10573 qodana-clang should work for master and release branches
- 2d09e71 🐛 QD-10590 Plugins must be installed only inside native mode (inside docker is native)
- 28e9c20 🐛 QD-10627 Don't fail analysis step if changeset is empty in case of scoped analysis. (#507)
- 0351582 🐛 QD-10662: qodana-cli incorrectly retrieves current branch name (#549)
- 41b0ca1 🐛 QD-10721 Add EvalSymlinks and refactor code
- 693eb80 🐛 QD-10721 Add case insensitivity support for repository root calculation
- 1e98eb6 🐛 QD-10721 Fix test on linux
- de0a8a2 🐛 QD-10767 Update submodules when checkout performed in full history and scoped script (#519)
- fad8dca 🐛 QD-10955 Add QODANA_TOKEN to docker env, QODANA_LICENSE_ONLY_TOKEN accessed only by os.Getenv
- 98dc5cd 🐛 QD-10984 introduce whitelist for quick-fixes support and include QDNET in it (#548)
- b38906c 🐛 QD-11241 Converter no longer needed for sending reports to cloud
- 3451c74 🐛 QD-11241 Create final results dir in third-party linters
- 0c4e0ea 🐛 QD-11255 Handle absolute custom yaml config path
- cba6ab2 🐛 QD-11263 qodana-cdnet supports partialFingerprints
- 6182065 🐛 QD-11266 Add report saving for third party linters
- 009852f 🐛 QD-11266 Pass corrected ResultsDir for permissions correction
- 2662809 🐛 QD-11276: qodana-cli tests fail on Windows when java exe has spaces in path (#552)
- edb15a7 🐛 QD-11375 Python: sync jdk.table.xml with python environment
- 2558ef1 🐛 QD-11458: 3rd party linters should update their binary in cache (#567)
- 68454e3 🐛 QD-11464: clang subproject's tests do not work (#568)
- ef75a1a 🐛 QD-11482 Support user defined protocol
- 8dcff9f 🐛 QD-11516: Ensure subprocess termination on Windows (#589)
- 38a6b1f 🐛 QD-11538: qodana-clang fails to send report (#574)
- cb80558 🐛 QD-11584 if cloud is http, us...
v2025.3.1
Changelog
- 909269e ⚡ QD-12055 QD-10660 QD-12680 Add some sarif post-processing (qodana-short.sarif.json, --code-climate, --bitbucket-insights) (#687)
- 857c883 Introduce --vcs-root-dir to qodana-cli (#679)
- 93847f2 ✨ QD-12947: Pin QEMU version during Docker installation on macOS (#710)
- a1c9ba6 ✨ QD-12217: Enable native support for Qodana C++ (#632)
- 3c1b933 ✨ QD-12421 Enable API version negotiation (#657)
- 2cb668c 🐛 QD-10721 Add EvalSymlinks and refactor code
- 149add0 🐛 QD-10721 Add case insensitivity support for repository root calculation
- 092f628 🐛 QD-13046 Fix clang excluding checks
- 3bce93d 🐛 QD-12934 Change to uppercase pretty format specifiers for respecting .mailmap
- 588be65 🐛 QD-13130 Use dist.flavour.txt for defining executed product within docker
- abc7775 🐛 QD-13118 Rename --source-directory to --only-directory and pass --only-directory to intellij engine
- dfb7125 🐛 QD-12483 fix .idea cache sync for native mode (#718)
- 3b000bd 🐛 QD-13103 pass qodana.path.to.project.dir.from.project.root system property correctly
- 518f529 🐛 Fix QD-12834 (#699)
- 1306468 🐛 QD-12450: Skip setting default user and group on privileged image launches (#656)
- c8e5541 🐛 QD-12002 Declare QODANA_TOKEN environmental variable if it is retrieved from user input
- 18251ee 🐛 QD-12352 Change exec.Command to functions from utils (#648)
- 3ffd49d 🐛 QD-12327: Fix multiple problems with 'go generate' (#641)
- cc1a4f6 🐛 QD-12252 Fix wrong condition on returning error
- b40deb1 🐛 QD-12252 Add copying as a fallback after linter unpack
- d8ce4ae 🐛 QD-12266: Fix qodana-cdnet build process (#629)
- 94d8a4b 🐛 QD-12168 Fix messages for errors of linter's downloading
- 807b543 🐛 QD-12139: Fix inter-module dependency managment (#623)
- 3221c6e 🐛 QD-12099 Replace extracting dist to target with extracting to temp and move.
- 4599dcf 🧱 QD-13142 Release 2025.3 linters
- 3274509 ⚡ QD-13046 Enable clang checks if no checks are enabled
- 78978aa ⬆️ QD-12672 GPC fix path resolve for windows (#716)
- 8f6d582 ⬆️ QD-12852 Fix messaging for GPC (#706)
- 9ac006f ⬆️ QD-11687 Set a concrete version for cloud api (#693)
- a781c51 ⬆️ QD-12721 Update config loader for better error handling (#690)
- 54aa8cb ⬆️ QD-11230 Fix merging of configuration, update error messages (#678)
- e69acc9 ⬆️ QD-11896 Bump config-loader-cli version (#645)
- 482acad 💄 QD-12365 Add warning about sensitive contents to generated yaml (#650)
v2025.2.3
Changelog
Install
💡 The Qodana CLI is distributed and run as a binary. The Qodana linters with inspections are Docker Images or, starting from version
2023.2, your local/downloaded by CLI IDE installations (experimental support).
- To run Qodana with a container (the default mode in CLI), you must have Docker or Podman installed and running locally to support this: https://www.docker.com/get-started, and, if you are using Linux, you should be able to run Docker from the current (non-root) user (https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user)
- To run Qodana without a container, you must have the IDE installed locally to provide the IDE installation path to the CLI or specify the product code, and CLI will try to download the IDE automatically (experimental support).
macOS and Linux
Install with Homebrew (recommended)
brew install jetbrains/utils/qodanaInstall with our installer
curl -fsSL https://jb.gg/qodana-cli/install | bashAlso, you can install nightly or any other version (e.g. v2023.2.9) the following way:
curl -fsSL https://jb.gg/qodana-cli/install | bash -s -- nightly
Windows
Install with Windows Package Manager (recommended)
winget install -e --id JetBrains.QodanaCLIInstall with Chocolatey
choco install qodanaInstall with Scoop
scoop bucket add jetbrains https://github.com/JetBrains/scoop-utils
scoop install qodanaAnywhere else
Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.
Update
Update to the latest version depends on how you choose to install qodana on your machine.
Update with Homebrew
brew upgrade qodanaUpdate with Scoop
scoop update qodanaUpdate with Chocolatey
choco upgrade qodanaUpdate on Linux and macOS with the installer script
curl -fsSL https://jb.gg/qodana-cli/install | bashAlternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.
v2025.2.2
Changelog
- 56e40d1 ⬆️ QD-11687 Set a concrete version for cloud api (#694)
- fff1113 ⬆️ QD-12852 Fix messaging for GPC (#707)
- 1ff801d :feature: QD-12055 QD-10660 QD-12680 Add some sarif post-processing (qodana-short.sarif.json, --code-climate, --bitbucket-insights) (#687)
- 7dd2b4e ✨ Add gitlab build when releasing actions
- eb6972a ✨ QD-12636 allows specifying bitbucket url
- a774115 Add GCP report downloading to 252 (#688)
Install
💡 The Qodana CLI is distributed and run as a binary. The Qodana linters with inspections are Docker Images or, starting from version
2023.2, your local/downloaded by CLI IDE installations (experimental support).
- To run Qodana with a container (the default mode in CLI), you must have Docker or Podman installed and running locally to support this: https://www.docker.com/get-started, and, if you are using Linux, you should be able to run Docker from the current (non-root) user (https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user)
- To run Qodana without a container, you must have the IDE installed locally to provide the IDE installation path to the CLI or specify the product code, and CLI will try to download the IDE automatically (experimental support).
macOS and Linux
Install with Homebrew (recommended)
brew install jetbrains/utils/qodanaInstall with our installer
curl -fsSL https://jb.gg/qodana-cli/install | bashAlso, you can install nightly or any other version (e.g. v2023.2.9) the following way:
curl -fsSL https://jb.gg/qodana-cli/install | bash -s -- nightly
Windows
Install with Windows Package Manager (recommended)
winget install -e --id JetBrains.QodanaCLIInstall with Chocolatey
choco install qodanaInstall with Scoop
scoop bucket add jetbrains https://github.com/JetBrains/scoop-utils
scoop install qodanaAnywhere else
Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.
Update
Update to the latest version depends on how you choose to install qodana on your machine.
Update with Homebrew
brew upgrade qodanaUpdate with Scoop
scoop update qodanaUpdate with Chocolatey
choco upgrade qodanaUpdate on Linux and macOS with the installer script
curl -fsSL https://jb.gg/qodana-cli/install | bashAlternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.
v2025.2.1
Changelog
- 02ac294 ⬆️ Bump
goto1.22.8 - 48a4c87 ⬆️ Bump
goto1.24.0 - ffe2c94 ⬆️ Bump actions/setup-java from 3 to 4 in the dependencies group
- 7a372c8 ⬆️ Bump config loader – better output on invalid yaml
- e81ef35 ⬆️ Bump config-loader-cli.jar to 0.0.16
- 8614b45 ⬆️ Bump github.com/boyter/scc/v3
- 088b285 ⬆️ Bump github.com/go-enry/go-enry/v2
- 85e648f ⬆️ Bump github.com/go-enry/go-enry/v2
- f521171 ⬆️ Bump github.com/pterm/pterm
- c0d8e6e ⬆️ Bump github.com/stretchr/testify
- 1edb638 ⬆️ Bump github.com/stretchr/testify
- bff4c22 ⬆️ Bump github.com/zalando/go-keyring
- 90b4dc3 ⬆️ Bump golang.org/x/crypto from 0.24.0 to 0.31.0 in /cli
- f5c232d ⬆️ Bump golang.org/x/crypto from 0.24.0 to 0.31.0 in /core
- 2a16298 ⬆️ Bump golang.org/x/crypto from 0.24.0 to 0.31.0 in /platform
- 150f126 ⬆️ Bump golang.org/x/crypto from 0.26.0 to 0.31.0 in /cmd
- ab4d559 ⬆️ Bump golang.org/x/net from 0.30.0 to 0.33.0 in /cmd
- 11ae2ee ⬆️ Bump golang.org/x/net from 0.33.0 to 0.36.0 in /cmd
- 737b4df ⬆️ Bump the dependencies group across 1 directory with 2 updates
- e6e23fa ⬆️ Bump the dependencies group across 4 directories with 1 update
- 9e44ed7 ⬆️ Bump the dependencies group across 4 directories with 2 updates
- bd7e75f ⬆️ QD-11257 Fixed empty yaml reading, bump config-loader-cli.jar to 0.0.17
- 8e51fe8 ⬆️ QD-11903 Upgrade config-loader-cli.jar
- e82027b ⬆️ QD-11903 Upgrade config-loader-cli.jar
- db8ea3d ⬆️ Update publisher to 3.0.7
- dec419d :brics: Add native run configuration
- 4ae526b :brics: QD-10741 Add --linter and --within-container parameters for scan command
- 48a7217 :brics: QD-10741 Fix qodana-clang
- 377fa80 :brics: QD-12003 Cleanup. Split GuessAnalyzer method.
- a3c414a :brics: QD-12003 Tests fixes
- 2333267 :brics: QD-12003 Handle review. Add test for choosing NativePathAnalyzer.
- a49f82c :brics: QD-12003 Refactor selection of linter parameters and datastructures
- 84e1878 :brics: QD-12017 Add optional auth for downloading linter distribution
- 5ec6c62 :brics: QD-12017 Add status check on HEAD request
- cff2d22 :brics: QD-12093 Add detailed output on tar failure
- c53280e 🐛 Escape special Windows characters (QD-11070)
- ae538d7 🐛 Fix CLI completion generation (QD-9907)
- dac77a9 🐛 Fix GitLab/BitBucket reports with baseline and no new problems (QD-10038)
- b1409ee 🐛 Fix
contributorslog options - 06393bd 🐛 Fix
viewcommand options - 9b825da 🐛 Fix custom plugin setup for
darwin(QD-9921) - 84ff2f6 🐛 Fix custom plugins container location (QD-9921)
- 6c2d6c5 🐛 Fix forwarding testing endpoint to containers (QD-10281)
- f58a0bf 🐛 Fix qodana-clang build on master
- 762669d 🐛 Fix setting
--report-dirfor container runs (QD-10890) - c794264 🐛 Handle errors for
.ideacache and add logging (QD-9927) - cb78e5a 🐛 QD-10572 qodana-clang should respect arguments property
- 4f36307 🐛 QD-10573 qodana-clang should work for master and release branches
- 2d09e71 🐛 QD-10590 Plugins must be installed only inside native mode (inside docker is native)
- 28e9c20 🐛 QD-10627 Don't fail analysis step if changeset is empty in case of scoped analysis. (#507)
- 0351582 🐛 QD-10662: qodana-cli incorrectly retrieves current branch name (#549)
- de0a8a2 🐛 QD-10767 Update submodules when checkout performed in full history and scoped script (#519)
- fad8dca 🐛 QD-10955 Add QODANA_TOKEN to docker env, QODANA_LICENSE_ONLY_TOKEN accessed only by os.Getenv
- 98dc5cd 🐛 QD-10984 introduce whitelist for quick-fixes support and include QDNET in it (#548)
- b38906c 🐛 QD-11241 Converter no longer needed for sending reports to cloud
- 3451c74 🐛 QD-11241 Create final results dir in third-party linters
- 0c4e0ea 🐛 QD-11255 Handle absolute custom yaml config path
- cba6ab2 🐛 QD-11263 qodana-cdnet supports partialFingerprints
- 6182065 🐛 QD-11266 Add report saving for third party linters
- 009852f 🐛 QD-11266 Pass corrected ResultsDir for permissions correction
- 2662809 🐛 QD-11276: qodana-cli tests fail on Windows when java exe has spaces in path (#552)
- edb15a7 🐛 QD-11375 Python: sync jdk.table.xml with python environment
- 2558ef1 🐛 QD-11458: 3rd party linters should update their binary in cache (#567)
- 68454e3 🐛 QD-11464: clang subproject's tests do not work (#568)
- ef75a1a 🐛 QD-11482 Support user defined protocol
- 8dcff9f 🐛 QD-11516: Ensure subprocess termination on Windows (#589)
- 38a6b1f 🐛 QD-11538: qodana-clang fails to send report (#574)
- cb80558 🐛 QD-11584 if cloud is http, use host network for docker. Env variables used both by CLI and docker are stored and accessed separately in global variable
- 17c7f7a 🐛 QD-11753 Ruby is eap only for now. Same for QDCPP.
- 5cccc68 🐛 QD-12099 Add test. Replace %s with %w on error creation.
- 6c3e6c7 🐛 QD-12099 Always try to clean up the temp folder
- 67a7e4a 🐛 QD-12099 Replace extracting dist to target with extracting to temp and move.
- a8f3b54 🐛 QD-12099 Use 0755 permission for dist dir, use 0700 for download dir
- f0e13a4 🐛 QD-12099 Use MkdirTemp instead MkdirAll
- 0a0943d 🐛 QD-12139: Fix inter-module dependency managment (#623)
- 0da0b9b 🐛 QD-12168 Fix messages for errors of linter's downloading
- c48b72d 🐛 QD-12252 Add copying as a fallback after linter unpack
- 92659ec 🐛 QD-12252 Fix wrong condition on returning error
- adc18cf 🐛 QD-12266: Fix qodana-cdnet build process (#629)
- c9f1bac 🐛 QD-12327: Fix multiple problems with 'go generate' (#641) (#642)
- a7e9e26 🐛 QD-12352 Change exec.Command to functions from utils (#648)
- 9ab04a9 🐛 QD-9921 Fix linux and windows custom-plugin path
- e97a627 🐛 QD-9921 Remove quotes on passing disabled_plugins. Parameters passed through file should not be quoted.
- c5a49cc 🐛 Scoped script should keep baseline for the second run and track coverage feature usage.
- 5a7ab37 🐛 When falling back to default scenario, reset options that lead to changes analysis
- 161a96a 🐛 When launching docker linter, log folder does not exist for CLI
- 89d0b44 🐛 respect environment when creating a docker client in pull command (#532)
- ee25a08 🐛QD-10274 Stop modifying unnecessary files in native mode
- 8e899ca 🐛QD-10360 Fix an order of setting variables custom JVM properties
- cb8d279 🐛QD-10360 Force installPlugins to use qodana attributes of EAP and version
- 780c39d 🐛QD-10360 Refactor passing options to installPlugins, add necessary options to common part with scan options
- 4ce0f92 🐛QD-10419 Set up plugins once even in scoped script
- 96b36d6 🚸 Check args length before comparing
- 5a9660b...
v2025.1.2
Changelog
- 1cc517b 🐛 Fix custom plugin setup for
darwin(QD-9921) - 86f00e8 🐛 Fix custom plugins container location (QD-9921)
- 3e3e1f4 🐛 QD-11753 Ruby is eap only for now. Same for QDCPP.
- 4eb3f9f 🐛 QD-9921 Remove quotes on passing disabled_plugins. Parameters passed through file should not be quoted.
- ca89581 QD-11753 Add Ruby project recognition
Install
💡 The Qodana CLI is distributed and run as a binary. The Qodana linters with inspections are Docker Images or, starting from version
2023.2, your local/downloaded by CLI IDE installations (experimental support).
- To run Qodana with a container (the default mode in CLI), you must have Docker or Podman installed and running locally to support this: https://www.docker.com/get-started, and, if you are using Linux, you should be able to run Docker from the current (non-root) user (https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user)
- To run Qodana without a container, you must have the IDE installed locally to provide the IDE installation path to the CLI or specify the product code, and CLI will try to download the IDE automatically (experimental support).
macOS and Linux
Install with Homebrew (recommended)
brew install jetbrains/utils/qodanaInstall with our installer
curl -fsSL https://jb.gg/qodana-cli/install | bashAlso, you can install nightly or any other version (e.g. v2023.2.9) the following way:
curl -fsSL https://jb.gg/qodana-cli/install | bash -s -- nightly
Windows
Install with Windows Package Manager (recommended)
winget install -e --id JetBrains.QodanaCLIInstall with Chocolatey
choco install qodanaInstall with Scoop
scoop bucket add jetbrains https://github.com/JetBrains/scoop-utils
scoop install qodanaAnywhere else
Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.
Update
Update to the latest version depends on how you choose to install qodana on your machine.
Update with Homebrew
brew upgrade qodanaUpdate with Scoop
scoop update qodanaUpdate with Chocolatey
choco upgrade qodanaUpdate on Linux and macOS with the installer script
curl -fsSL https://jb.gg/qodana-cli/install | bashAlternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.
v2025.1.1
Changelog
- c10de36 🐛 QD-11538: qodana-clang fails to send report (#574)
- ae4927a 🐛 QD-11584 if cloud is http, use host network for docker. Env variables used both by CLI and docker are stored and accessed separately in global variable
- ab571c8 ⚡ QD-11553 in feed eap is 2024.3, no 2025.1 eap in feed
- 8a747d5 Revert ":zap: QD-11553 Mute test which verify existense of 2025 linters in feed, because it's not yet released"
Install
💡 The Qodana CLI is distributed and run as a binary. The Qodana linters with inspections are Docker Images or, starting from version
2023.2, your local/downloaded by CLI IDE installations (experimental support).
- To run Qodana with a container (the default mode in CLI), you must have Docker or Podman installed and running locally to support this: https://www.docker.com/get-started, and, if you are using Linux, you should be able to run Docker from the current (non-root) user (https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user)
- To run Qodana without a container, you must have the IDE installed locally to provide the IDE installation path to the CLI or specify the product code, and CLI will try to download the IDE automatically (experimental support).
macOS and Linux
Install with Homebrew (recommended)
brew install jetbrains/utils/qodanaInstall with our installer
curl -fsSL https://jb.gg/qodana-cli/install | bashAlso, you can install nightly or any other version (e.g. v2023.2.9) the following way:
curl -fsSL https://jb.gg/qodana-cli/install | bash -s -- nightly
Windows
Install with Windows Package Manager (recommended)
winget install -e --id JetBrains.QodanaCLIInstall with Chocolatey
choco install qodanaInstall with Scoop
scoop bucket add jetbrains https://github.com/JetBrains/scoop-utils
scoop install qodanaAnywhere else
Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.
Update
Update to the latest version depends on how you choose to install qodana on your machine.
Update with Homebrew
brew upgrade qodanaUpdate with Scoop
scoop update qodanaUpdate with Chocolatey
choco upgrade qodanaUpdate on Linux and macOS with the installer script
curl -fsSL https://jb.gg/qodana-cli/install | bashAlternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.
v2025.1.0
Changelog
- 02ac294 ⬆️ Bump
goto1.22.8 - 48a4c87 ⬆️ Bump
goto1.24.0 - ffe2c94 ⬆️ Bump actions/setup-java from 3 to 4 in the dependencies group
- 13e1f45 ⬆️ Bump config loader – better output on invalid yaml
- e81ef35 ⬆️ Bump config-loader-cli.jar to 0.0.16
- 8614b45 ⬆️ Bump github.com/boyter/scc/v3
- 85e648f ⬆️ Bump github.com/go-enry/go-enry/v2
- 088b285 ⬆️ Bump github.com/go-enry/go-enry/v2
- f521171 ⬆️ Bump github.com/pterm/pterm
- c0d8e6e ⬆️ Bump github.com/stretchr/testify
- 1edb638 ⬆️ Bump github.com/stretchr/testify
- bff4c22 ⬆️ Bump github.com/zalando/go-keyring
- 90b4dc3 ⬆️ Bump golang.org/x/crypto from 0.24.0 to 0.31.0 in /cli
- f5c232d ⬆️ Bump golang.org/x/crypto from 0.24.0 to 0.31.0 in /core
- 2a16298 ⬆️ Bump golang.org/x/crypto from 0.24.0 to 0.31.0 in /platform
- 150f126 ⬆️ Bump golang.org/x/crypto from 0.26.0 to 0.31.0 in /cmd
- ab4d559 ⬆️ Bump golang.org/x/net from 0.30.0 to 0.33.0 in /cmd
- 737b4df ⬆️ Bump the dependencies group across 1 directory with 2 updates
- e6e23fa ⬆️ Bump the dependencies group across 4 directories with 1 update
- 9e44ed7 ⬆️ Bump the dependencies group across 4 directories with 2 updates
- bd7e75f ⬆️ QD-11257 Fixed empty yaml reading, bump config-loader-cli.jar to 0.0.17
- c53280e 🐛 Escape special Windows characters (QD-11070)
- ae538d7 🐛 Fix CLI completion generation (QD-9907)
- dac77a9 🐛 Fix GitLab/BitBucket reports with baseline and no new problems (QD-10038)
- b1409ee 🐛 Fix
contributorslog options - 06393bd 🐛 Fix
viewcommand options - 6c2d6c5 🐛 Fix forwarding testing endpoint to containers (QD-10281)
- f58a0bf 🐛 Fix qodana-clang build on master
- 762669d 🐛 Fix setting
--report-dirfor container runs (QD-10890) - c794264 🐛 Handle errors for
.ideacache and add logging (QD-9927) - cb78e5a 🐛 QD-10572 qodana-clang should respect arguments property
- 4f36307 🐛 QD-10573 qodana-clang should work for master and release branches
- 2d09e71 🐛 QD-10590 Plugins must be installed only inside native mode (inside docker is native)
- 6f1b592 🐛 QD-10662: qodana-cli incorrectly retrieves current branch name (#549)
- de0a8a2 🐛 QD-10767 Update submodules when checkout performed in full history and scoped script (#519)
- fad8dca 🐛 QD-10955 Add QODANA_TOKEN to docker env, QODANA_LICENSE_ONLY_TOKEN accessed only by os.Getenv
- c492565 🐛 QD-10984 introduce whitelist for quick-fixes support and include QDNET in it (#548) (#555)
- b38906c 🐛 QD-11241 Converter no longer needed for sending reports to cloud
- 3451c74 🐛 QD-11241 Create final results dir in third-party linters
- 91fe240 🐛 QD-11255 Handle absolute custom yaml config path
- cba6ab2 🐛 QD-11263 qodana-cdnet supports partialFingerprints
- dd8110a 🐛 QD-11276: qodana-cli tests fail on Windows when java exe has spaces in path (#552)
- 2981229 🐛 QD-11375 Python: sync jdk.table.xml with python environment
- 729d33d 🐛 QD-11482 Support user defined protocol
- c5a49cc 🐛 Scoped script should keep baseline for the second run and track coverage feature usage.
- 5a7ab37 🐛 When falling back to default scenario, reset options that lead to changes analysis
- 161a96a 🐛 When launching docker linter, log folder does not exist for CLI
- 89d0b44 🐛 respect environment when creating a docker client in pull command (#532)
- ee25a08 🐛QD-10274 Stop modifying unnecessary files in native mode
- 8e899ca 🐛QD-10360 Fix an order of setting variables custom JVM properties
- cb8d279 🐛QD-10360 Force installPlugins to use qodana attributes of EAP and version
- 780c39d 🐛QD-10360 Refactor passing options to installPlugins, add necessary options to common part with scan options
- 4ce0f92 🐛QD-10419 Set up plugins once even in scoped script
- 96b36d6 🚸 Check args length before comparing
- 5a9660b 🚸 Fallback to default execution scenario when revision is missing in history
- d3275c0 🚸 Fix output for CI, add simple tests
- 527679f 🚸 Format CI messages for more visibility
- 9d5db8b 🚸 Make non-CI warning similar to other warnings
- 6510798 🚸 Produce warnings if the linter version is incompatible
- 2fdaf7b 🔊 Remove incorrect "See log above for details", the placement of exception in stdout(err) is not guaranteed
- 54dbb1c ⏪ (reverting for rebasing, commit is brought back later) Revert "QD-10767 Update submodules when checkout performed in full history and scoped script (#519)"
- 3d1cf31 ✨ QD-10856 Address review #527
- 08a2a37 ✨ QD-10856 Create effective configuration in qodana cli
- 6e3e6c8 ✨ QD-10955 Now in
qodana initwe require token if it's needed - 08a55a3 ✨ QD-11220: Support jetbrains/qodana-cpp as the docker image for QDCPP in CLI (#537)
- 1a497bd ✨ QD-11228 Provide effective qodana yaml to frontend as qodana yaml
- 1e6a491 🔧 QD-10955 Codestyle
- e7f6795 ⚡ Bump linters versions
- 5e336b8 ⚡ QD-10306 Add logging for native configuration
- ab5d16c ⚡ QD-11553 Bump Qodana CLI to 2025.1 linters, 251 is released
- a198635 ⚡ QD-11553 Mute test which verify existense of 2025 linters in feed, because it's not yet released
- 677ea17 ⚡ Switch from 2024.3 EAP to Release
- 8cf7f90 ⚡ Switch to released 2024.2 images
- 8ef354a ⚡ Unset Ruby-related variables for
QDRUBY(RUBY-29231) - f26c73d Iurko/251 cdnet fix (#553)
- 1a106ab QD-10767 Update submodules when checkout performed in full history and scoped script (#519)
Install
💡 The Qodana CLI is distributed and run as a binary. The Qodana linters with inspections are Docker Images or, starting from version
2023.2, your local/downloaded by CLI IDE installations (experimental support).
- To run Qodana with a container (the default mode in CLI), you must have Docker or Podman installed and running locally to support this: https://www.docker.com/get-started, and, if you are using Linux, you should be able to run Docker from the current (non-root) user (https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user)
- To run Qodana without a container, you must have the IDE installed locally to provide the IDE installation path to the CLI or specify the product code, and CLI will try to download the IDE automatically (experimental support).
macOS and Linux
Install with Homebrew (recommended)
brew install jetbrains/utils/qodanaInstall with our installer
curl -fsSL https://jb.gg/qodana-cli/install | bashAlso, you can install nightly or any other version (e.g. v2023.2.9) the following way:
curl -fsSL https://jb.gg/qodana-cli/install | bash -s -- nightly
Windows
Install with Windows Package Manager (recommended)
winget install -e --id JetBrains.QodanaCLIInstall with Chocolatey
choco install qodanaInstall with [Scoop](https://scoop...
v2024.3.5
Changelog
- 879a2d6 QD-10767 Update submodules when checkout performed in full history and scoped script (#519) (#521)
Install
💡 The Qodana CLI is distributed and run as a binary. The Qodana linters with inspections are Docker Images or, starting from version
2023.2, your local/downloaded by CLI IDE installations (experimental support).
- To run Qodana with a container (the default mode in CLI), you must have Docker or Podman installed and running locally to support this: https://www.docker.com/get-started, and, if you are using Linux, you should be able to run Docker from the current (non-root) user (https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user)
- To run Qodana without a container, you must have the IDE installed locally to provide the IDE installation path to the CLI or specify the product code, and CLI will try to download the IDE automatically (experimental support).
macOS and Linux
Install with Homebrew (recommended)
brew install jetbrains/utils/qodanaInstall with our installer
curl -fsSL https://jb.gg/qodana-cli/install | bashAlso, you can install nightly or any other version (e.g. v2023.2.9) the following way:
curl -fsSL https://jb.gg/qodana-cli/install | bash -s -- nightly
Windows
Install with Windows Package Manager (recommended)
winget install -e --id JetBrains.QodanaCLIInstall with Chocolatey
choco install qodanaInstall with Scoop
scoop bucket add jetbrains https://github.com/JetBrains/scoop-utils
scoop install qodanaAnywhere else
Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.
Update
Update to the latest version depends on how you choose to install qodana on your machine.
Update with Homebrew
brew upgrade qodanaUpdate with Scoop
scoop update qodanaUpdate with Chocolatey
choco upgrade qodanaUpdate on Linux and macOS with the installer script
curl -fsSL https://jb.gg/qodana-cli/install | bashAlternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.
v2024.3.4
Changelog
- 464701f 🐛 QD-10572 qodana-clang should respect arguments property
- 674ebeb 🐛 QD-10573 qodana-clang should work for master and release branches
- 80c403c 🐛 QD-10590 Plugins must be installed only inside native mode (inside docker is native)
Install
💡 The Qodana CLI is distributed and run as a binary. The Qodana linters with inspections are Docker Images or, starting from version
2023.2, your local/downloaded by CLI IDE installations (experimental support).
- To run Qodana with a container (the default mode in CLI), you must have Docker or Podman installed and running locally to support this: https://www.docker.com/get-started, and, if you are using Linux, you should be able to run Docker from the current (non-root) user (https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user)
- To run Qodana without a container, you must have the IDE installed locally to provide the IDE installation path to the CLI or specify the product code, and CLI will try to download the IDE automatically (experimental support).
macOS and Linux
Install with Homebrew (recommended)
brew install jetbrains/utils/qodanaInstall with our installer
curl -fsSL https://jb.gg/qodana-cli/install | bashAlso, you can install nightly or any other version (e.g. v2023.2.9) the following way:
curl -fsSL https://jb.gg/qodana-cli/install | bash -s -- nightly
Windows
Install with Windows Package Manager (recommended)
winget install -e --id JetBrains.QodanaCLIInstall with Chocolatey
choco install qodanaInstall with Scoop
scoop bucket add jetbrains https://github.com/JetBrains/scoop-utils
scoop install qodanaAnywhere else
Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.
Update
Update to the latest version depends on how you choose to install qodana on your machine.
Update with Homebrew
brew upgrade qodanaUpdate with Scoop
scoop update qodanaUpdate with Chocolatey
choco upgrade qodanaUpdate on Linux and macOS with the installer script
curl -fsSL https://jb.gg/qodana-cli/install | bashAlternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.