Skip to content

v0.9.2

Compare
Choose a tag to compare
@wenns wenns released this 14 Jan 20:34
· 3014 commits to master since this release

We are pleased to announce the release of the SonarQube C++ Community Plugin version 0.9.2.
See lists below for features added and bugs fixed in this release.

SonarQube compability

Enhancements

  • preprocessor enhancements:
    • improve rescan and parameter extraction of cascaded macros (#302, #304)
    • support expressions in includes (#227, #312)
    • support named variadic arguments (#300, #301)
    • support uin64 values (#224, #308)
  • parser enhancements:
    • improve parsing speed (#299, #294, #260)
    • ignore C++ keywords in C files (sonar.cxx.cFilesPatterns) (#291, #345, #353)
    • support special meaning of token paste operator for GCC (#214, #298)
    • support Visual Studio inline assembler (#262, #333, #340)
    • support GCC case range extension (#235)
    • support ISO C99 compound literals (#237)
    • support ISO C99 designated initializers (#236)
  • metrics enhancements:
    • compute file and package dependencies (based on #include) ( #232, #292)
    • add metrics to count documented and undocumented APIs (#307, #318, #338)
    • add metric to count number of violations of each type (#177)
  • rule enhancements:
    • new rules to check for violations on cyclic package dependencies (#232, #292)
    • new rule to check for undocumented API (#307, #318, #338)
    • new rule FileRegularExpressionCheck: can be used to create rules which will be triggered when a file matches a given regular expression (#339, #179)
    • new rule LineRegularExpressionCheck: can be used to create rules which will be triggered when a line matches a given regular expression (#341, #179)
    • new rule FileEncodingCheck: check if all characters of a file can be encoded with the predefined charset (#223, #328)
    • new rule MissingIncludeFileCheck: generate a violation for missing include files (#52, #239)
    • new rule SwitchLastCaseIsDefaultCheck: test that a switch statement has 'default' label and that the 'default' is the final case (#320)
    • XPathCheck, FileRegularExpressionCheck , LineRegularExpressionCheck: new option allows Ant-style patterns to match a path (#335)
    • UselessParenthesesCheck: ignores generic code now (#231)
    • TooManyStatementsPerLineCheck: new option to allow case and break in one line (#230)
    • TooLongLineCheck: add a tab width setting to compute the length of the line more accurate (#233)
    • MagicNumberCheck: improve magic number detection - const variables are no more violations (#296, #332)
    • Unsupported Code Checker Custom Rules: make import of invalid XML rule files more stable (#254)
    • update Cppcheck messages for 1.67 release (#286, #264)
    • update PC-lint messages for 9.00l release candidate (#264)
  • coverage enhancements:
    • possibility to set coverage for source files without coverage report to zero to get more realistic Technical Debt values (sonar.cxx.coverage.forceZeroCoverage) (#218, #321)
    • Bullseye coverage reports: support coverage data on top level (src tag without folder tag) (#243, #250, #251)
    • Bullseye coverage reports: make path handling more robust (#273, #277)
  • add SQALE model definitions for the built-in checks (#199)

Bugfixes

  • Preprocessor does not support uint64 (#224)
  • No meaningful error message if force-included file cannot be found (#225)
  • Preprocessor does not support preprocessor expressions in includes (#227)
  • Bulleye coverage file is not parsed correctly (#243)
  • Server crash after updating 'External rules definition' with 0.9.1 (#253)
  • How can I find out whats going on (#260)
  • Unit test results not displayed in widget (#263)
  • Bullseye based coverage import reports 'cannot find the file ...' (#273)
  • Issues in digesting boost test results (#276)
  • Very slow performance of nested parenthesis (#294)
  • Const declarations are detected as magic numbers when not inside a function (#296)
  • Unable to parse named variadic arguments (#300)
  • Incomplete macro replacement rescanning (#302)
  • NPE in org.sonar.cxx.visitors.AbstractCxxPublicApiVisitor.visitMemberDeclarator (#327)
  • Cannot feed Valgrind report (#336)
  • The sslr-cxx-toolkit breaks when parsing some files (#374)
  • Wrong expansion of macros which dont contain whitespace after the parameter list (#380)

Thanks ....

go to all contributors (in alphabetical order):

@Bertk
@guwirth
@jmecosta
@lcintrat
@Typz
@Zetten

... and all people which were active on the Issue Tracker!