Skip to content

v6.21.0-rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@Szelethus Szelethus released this 27 Oct 09:43

🐛 Analyzer improvements

  • [report-converter] Support Roslynator (#3765)
    The Roslynator project contains several analyzers for C# built on top of Microsoft Roslyn. CodeChecker now supports the visualization of these C# anlaysis results. It also provides a .NET tool for running Roslyn code analysis from the command line. It is not limited to Microsoft and Roslynator analyzers, it supports any Roslyn anaylzer. It can also report MSBuild compiler diagnostics.

💻 CLI/Server improvements

  • Make CodeChecker store about twice as fast (#3777)
    This small change from a regex to a string search is expected to shave off the time it takes to run a CodeChecker store command by as much as 50%!
  • [fix] Speed up resolved diffing (#3771)
    This fixes the everlasting diff runtime, when the report count is large (~60000) and the ReviewStatusRule count is also substantial.

🔁 Profile changes

  • [analyzer][clang][clang-tidy] Assign new check profiles (#3769)
    • bugprone-assignment-in-if-condition: extreme (no longer in the sensitive and default profiles)
    • bugprone-signal-handler: default (new), security (new), sensitive, extreme
    • bugprone-suspicious-realloc-usage (new): default, sensitive, extreme
    • bugprone-stringview-nullptr (new): default, sensitive, extreme
    • bugprone-unchecked-optional-access (new): extreme
    • cert-sig30-c: removed from all profiles (as it is an alias to bugprone-signal-handler)
    • cppcoreguidelines-avoid-const-or-ref-data-members: sensitive (new), extreme
    • cppcoreguidelines-avoid-do-while (new): extreme
    • misc-const-correctness: removed from all profiles (it was too extreme even for extreme)
    • misc-misleading-bidirectional: default, security (new), sensitive, extreme
    • misc-misleading-identifier" (new): default, security, sensitive, extreme
    • alpha.unix.Errno: sensitive (new), extreme
    • core.uninitialized.NewArraySize (new): default, sensitive, extreme
    • alpha.unix.cstring.UninitializedRead (new): extreme

📖 Documentation updates

  • [analyzer][doc] Mention that Z3 as the constraint solver is highly unstable (#3772)
    While LLVM supports the usage of Z3, that doesn't mean the same for the Clang Static Analyzer. It is a highly experimental feature that may or may not be generally available in a stable way, which is now better explained in the docs and in --help messages.
  • [doc] Refurbish several parts of the README (#3763)
    • Self-advertise the CodeChecker GitHub CI action!
    • Added the PLDI'2020 talk about CodeChecker to the papers section
    • Moved information about Python 2 lower as it is no longer really an important thing in today's world
    • Figure out the new LLVM monorepo commit for the referenced SVN commit that introduced Bug hashes to Clang SA

🔨 Other improvements/fixes

  • Quick fix for cppcheck environment (#3744)
    The cppcheck needs the original environment when invoked. This quick fix restores it at analyzer invocation.
  • [bugfix] Old client has different behavior with new server (#3746, #3747)
    So far, we have supported the communication in between a CodeChecker server and almost all older CodeChecker clients versions. For CodeChecker servers on version 6.20.0, clients issueing CodeChecker cmd diff to the server got an incorrect results, which this PR fixes.
  • [bugfix] Don't update review status date (#3749)
    When a review status is set in the GUI then a new entry is inserted to review_statuses table. Every time the same report is stored, its review status date used to be updated, which was a bug, since the storage date is NOT the same as the review status date.
  • Document 'cppcoreguidelines-avoid-const-or-ref-data-members' (#3734)
  • Document 'bugprone-suspicious-realloc-usage' (#3755)
  • Escape &, <, > from the source C-files to HTML-output (#3748)
    This fixed a bug where CodeChecker parse --export html produced an invalid HTMl file.
  • [feat] Comment lines in skipfile (#3768)
    Hashmark (#) character can be used for commenting lines out in skipfiles, and can now be used for CodeCheckers skip files!
  • Issue a warning about this release being only an RC (#3780)
    CodeChecker version now warns users about the current release being only a release candidate. Please create a bug report if you find anything wrong, so we can fix it for the proper release!