🌟 Highlights
-
Source component table by @bruntib in #4758
Queries by source components were slow. After this patch there is a radical speedup in the report queries where source component filter is involved. -
List enabled checkers in CLI: CodeChecker cmd runs by @xb058t in #4468
You can list the enabled checkers for any runs from the CLI by executing
CodeChecker cmd runs -n <RUN_NAME> -o json
- Addition of Saving and Loading of Filter Presets by @feyruzb in #4755
Frequently used report filters can be saved into named "presets" and later can be reloaded:
The filter presests can also be access in the CLI with the
CodeChecker cmd filter-preset commands.
E.g.
CodeChecker cmd filter-preset list
----------------------------------------------------------------------------
ID | Name | Active Filters
----------------------------------------------------------------------------
1 | High Severity Issues | severity(1), reviewStatus(2), detectionStatus(3)
----------------------------------------------------------------------------
- [feat] Adding Checker coverage statistics to CLI by @bruntib in #4796
The
CodeChecker cmd sum -n tinxyml_sensitive --url http://localhost:8001/Default
command lists the checkers that have findings and any corresponding guideline rules.
-
Extend SEI Cert guideline mapping for cppcheck and gcc analyzers by @gulyasgergely902 in #4804
All supported gcc static analyzer (https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html) and cppcheck (https://cppcheck.sourceforge.io/) checker now have the SEI Cert rule associations. -
Upgrade CodeChecker to use Vue 3 by @gulyasgergely902 in #4801
CodeChecker GUI is now rewritten to the Vue 3 framework.
- Enable passing credentials from env var by @dkrupp in #4838
The authentication credentials can now be passed from environment variable besides.codechecker_password.jsonfile.
export CC_PASSWORD="secret"
CodeChecker cmd login username
- Add PMD analyzer support by @Robert-Marton34 in #4750
It is now possible to store the analysis results of PMD analyzer https://pmd.github.io/.
- [analyzer] Remove -analyzer-opt-analyze-headers flag by @gamesh411 in #4752
-analyzer-opt-analyze-headersoption was removed from Clang Static Analyzer invocation, which speeds up the analysis by ~2-3 times. When this flag is not present, functions defined in header files will not be analyzed as top level functions by the analyzer. The speedup sacrifices some header only reports.
What's Changed
- [version] Bump up version 6.28.0 by @bruntib in #4727
- [fix] semver.Version doesn't have strip() by @bruntib in #4728
- [refactor] Do not use pinned versions in requirements.txt by @thorsten-klein in #4714
- Log full OS error message when the connection fails by @barnabasdomozi in #4740
- [fix] Crash on non-existing variable by @bruntib in #4742
- Print analysis length with 2 decimals by @bruntib in #4745
- [fix] Missing OWASP Top10 link from checker labels by @bruntib in #4749
- [fix] Fix fnmatch regex generation assert by @bruntib in #4753
- Fix fnmatch.translate() in skiplist handler by @barnabasdomozi in #4754
- [analyzer] Remove -analyzer-opt-analyze-headers flag by @gamesh411 in #4752
- [fix] "CodeChecker checkers" crash when infer used by @bruntib in #4748
- Add coverage.py integration for unit tests by @hassan-afifi in #4708
- [fix] Can't list server instances at PyPI installation by @bruntib in #4757
- Add PMD analyzer support by @Robert-Marton34 in #4750
- Fix the issue where the ReportTree component remains in a loading state when the result exceeds MAX_QUERY_SIZE by @xJOAN in #4747
- [analyzer] Completely remove -analyzer-opt-analyze-headers by @gamesh411 in #4760
- [add] add severity for sarif by @Rayzedan in #4761
- Add "-fdump-rtl.*" to ignored GCC compiler options by @StMartin81 in #4765
- Upgrade SQLAlchemy to version 2.0 by @bruntib in #4729
- Fix: Handle empty stdin gracefully in fixit command by @blozano-tt in #4766
- [fix] Add -j flag to "CodeChecker store" by @bruntib in #4763
- Upgrade deps by @bruntib in #4751
- Introduce task statistics script by @barnabasdomozi in #4767
- Remove store_time.log by @barnabasdomozi in #4770
- gitignore task json files in scripts/statistics directory by @barnabasdomozi in #4774
- Added flags to set server processes by @barnabasdomozi in #4772
- Remove OAuth groups source requirements by @Discookie in #4775
- docker: add container HEALTHCHECK by @0rlych1kk4 in #4777
- Source component table by @bruntib in #4758
- Skip automated Selenium tests in GitHub CI by @barnabasdomozi in #4778
- Relax permissions requirements for task management by @Discookie in #4776
- List enabled checkers in CLI: CodeChecker cmd runs by @xb058t in #4468
- [doc] No more external clang libs are used. by @bruntib in #4789
- Remove logger.conf by @barnabasdomozi in #4790
- [fix] SQLAlchemy warning on subquery in IN clause by @bruntib in #4791
- Fix cleanup sessions function by @barnabasdomozi in #4793
- Fix SQLAlchemy session closing by @barnabasdomozi in #4794
- Fix unclosed database session in add_product by @barnabasdomozi in #4795
- Report directory and metadata.json format specification by @dkrupp in #4797
- Display seconds in logging by @barnabasdomozi in #4799
- Addition of Saving and Loading of Filter Presets by @feyruzb in #4755
- [NFC] Remove deprecated ::set-output usage by @gamesh411 in #4427
- [fix] Fix invisible chars in error plist by @bruntib in #4809
- [feat] Display guideline levels in the guideline statistics table by @bruntib in #4787
- [feat] Adding Checker coverage statistics to CLI by @bruntib in #4796
- Fix sqlalchemy error when migrating schema by @jimis in #4813
- Fix product status check during startup by @barnabasdomozi in #4815
- Reduce BrokenPipe error messages by @barnabasdomozi in #4814
- Fix CLI parse status filter by @barnabasdomozi in #4784
- Integrate mypy into CI by @barnabasdomozi in #4800
- [doc] Extend task management docs by @bruntib in #4817
- Fix trailing whitespace in report_server.py by @barnabasdomozi in #4825
- [fix] Fix crash when analyzer_command is null by @bruntib in #4823
- Collect analysis config files to report_dir/conf/ by @barnabasdomozi in #4826
- Extend SEI Cert guideline mapping for cppcheck and gcc analyzers by @gulyasgergely902 in #4804
- Fix PostgreSQL product creation with special characters in DB name by @bishara74 in #4830
- Upgrade CodeChecker to use Vue 3 by @gulyasgergely902 in #4801
- [test] Fix mymy reports in tu_collector by @bruntib in #4833
- [config] Add labels for new clang 23 checkers by @gamesh411 in #4821
- Implement retry logic for persisting failed task state by @barnabasdomozi in #4834
- Don't log PA token by @dkrupp in #4839
- Fix vue3 issues by @gulyasgergely902 in #4840
- Bugfix: OAuth login redirect not working by @feyruzb in #4837
- Enable passing credentials from env var by @dkrupp in #4838
New Contributors
- @thorsten-klein made their first contribution in #4714
- @Robert-Marton34 made their first contribution in #4750
- @xJOAN made their first contribution in #4747
- @StMartin81 made their first contribution in #4765
- @blozano-tt made their first contribution in #4766
- @0rlych1kk4 made their first contribution in #4777
- @bishara74 made their first contribution in #4830
Full Changelog: v6.27.0...6.28.0-rc1