v6.27.0
🌟 Highlights
Asynchronous Store
CodeChecker changes it's store execution model from synchronous to asynchronous mode.
The CodeChecker store command will not have to wait synchronously for the server to finish the storage procedure of the reports, but can seamlessly continue execution after the store process started. Then later, it can query the status of the storage task from the server.
This provides more stable report storage procedures as many users expereinced broken TCP connections during large analysis results storage batches.
CodeChecker will provide a command line utility for admins to query ongoing/finished/cancelled storage processes with filtering option.
❯ build/CodeChecker/bin/CodeChecker cmd serverside-tasks --enqueued-after 2024:08:19 --status cancelled
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Token | Machine | Type | Summary | Status | Product | User | Enqueued | Started | Last seen | Completed | Cancelled?
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
8b62497c7d1b7e3945445f5b9c3951d97ae07e58f97cad60a0187221e7d1e2ba | xxxxxxxxxxxxx:8001 | taskService::DummyTask | Dummy task for testing purposes | CANCELLED | | | 2024-08-19 15:55:34 | 2024-08-19 15:55:34 | 2024-08-19 15:55:35 | 2024-08-19 15:55:35 | Yes
6fa0097a9bd1799572c7ccd2afc0272684ed036c11145da7eaf40cc8a07c7241 | xxxxxxxxxxxxx:8001 | taskService::DummyTask | Dummy task for testing purposes | CANCELLED | | | 2024-08-19 15:55:53 | 2024-08-19 15:55:53 | 2024-08-19 15:55:53 | 2024-08-19 15:55:53 | Yes
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Detailed analysis status command
CodeChecker parse --status ./report_dir [--detailed] [-e json]
This command provides a clear overview of the current state of analysis results within the report directory, indicating which reports are up to date, which are outdated, which analyses have failed, and which files were never processed (e.g. skipped).
Example output:
----==== Summary ====----
Up-to-date analysis results
clangsa: 311
clang-tidy: 311
Outdated analysis results
Failed to analyze
clangsa: 20
clang-tidy: 20
Missing analysis results
clangsa: 18
clang-tidy: 18
cppcheck: 349
Total analyzed compilation commands: 331
Total available compilation commands: 349
----=================----
The --detailed flag shows the exact files involved instead of just counts. For automated workflows, the -e json option provides the status info in a format that can be easily processed.
New Component Filter mode: single-origin-report
A new report filter option is introduced to CodeChecker: Single Origin mode. This option makes it possible to filter only those reports which are contained entirely within a source code component. To use it, select the "Single Origin" mode when editing the Source Component filter in the Reports view.
This new option is also available from the command line using the --single-origin-report argument. E.g:
CodeChecker cmd results --single-origin-report --component my_component ...
Highlight non-compliant guideline rules
Non-compliant rules are highlighed in the SEI-Cert statistics and compliant rules can be hidden.

[feat] Highlight non-compliant rules in the Guideline statistics by @noraz31 in #4616
Navigable numbers in the product statistics page
The values of the outstanding reports graph are now clickable.

[feat] Show found issues on a given date from statistics by @gulyasgergely902 in #4615
What's Changed
- [ci] Add CodeChecker analyze to GitHub Actions by @gulyasgergely902 in #4604
- [fix] Fix codechecker GitHub gating by @gulyasgergely902 in #4623
- [feat] Show found issues on a given date from statistics by @gulyasgergely902 in #4615
- [feat] Highlight non-compliant rules in the Guideline statistics by @noraz31 in #4616
- [fix] Cppcheck suppress unusedFunction checker only once by @bruntib in #4599
- [fix] Fix github gating authentication issue by @gulyasgergely902 in #4630
- [fix] Fix statistics page components by @gulyasgergely902 in #4631
- [fix] Fix updating fixed_at time by @gulyasgergely902 in #4621
- Typo fix by @bruntib in #4639
- Upgrade psycopg2-binary to 2.9.10 by @bruntib in #4640
- [feat] Store hashed pwds in server config by @dr-antimonious in #4641
- Upgrade pg8000 to 1.31.4 by @bruntib in #4644
- Bump urllib3 from 2.2.2 to 2.5.0 in /scripts/labels by @dependabot[bot] in #4605
- Manage secrets outside of server_config.json by @barnabasdomozi in #4633
- feat(server): Asynchronous server-side background task execution by @bruntib in #4603
- Update psutils to version with wheels by @elupus in #4499
- [doc] Fix documentation link by @bruntib in #4652
- Rework config_directory by @barnabasdomozi in #4645
- [doc] Fix section links in readthedocs.io documentation by @bruntib in #4653
- [fix] Parallelize parse_unique_log to speed-up ~nproc times by @irishrover in #4607
- fix link ref in usage.md by @SimonHeimberg in #4655
- [report-converter] Improve documentation maintainability by @gamesh411 in #4424
- Url format checker doesn't recognize - as part of url by @feyruzb in #4627
- Bump requests from 2.32.3 to 2.32.4 in /web/requirements_py/auth by @dependabot[bot] in #4598
- 6512 documentation on GitHub gating by @gulyasgergely902 in #4634
- feat(cmd): Implemented a CLI for task management by @bruntib in #4609
- [fix] get analyzer name from SARIF report by @Rayzedan in #4671
- Replace CTU query functions to ClangSA by @bruntib in #4672
- Fix ClangTidy default hash type in codechecker_report_converter by @barnabasdomozi in #4661
- [fix] ld_logger not available in MacOS by @bruntib in #4673
- Guideline stats sorting issue by @gulyasgergely902 in #4681
- Fix statistics numbers by @gulyasgergely902 in #4680
- Async store 3 by @bruntib in #4662
- [fix] The hash should mach the package in package-lock.json by @bruntib in #4687
New Contributors
- @Marsman1996 made their first contribution in #4618
- @dr-antimonious made their first contribution in #4641
- @elupus made their first contribution in #4499
- @SimonHeimberg made their first contribution in #4655
- @salticecream made their first contribution in #4654
- @Rayzedan made their first contribution in #4671
Full Changelog: v6.26.2...v6.27.0