Releases: SonarOpenCommunity/sonar-cxx
Releases · SonarOpenCommunity/sonar-cxx
v0.9.2
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
- tested and released for SonarQube 4.5, see also SonarQube compatibility matrix
- Upgrade Instructions
- Installation Instructions
Enhancements
- preprocessor enhancements:
- 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:
- 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!
v0.9.1
We are pleased to announce the release of the SonarQube C++ Community Plugin version 0.9.1.
See lists below for features added and bugs fixed in this release.
Features / Enhancements:
- Compatible and tested with SonarQube 3.7 to 4.2
- Multi language support #130
- Support case-insensitive file systems in all sensors #155
- A set of builtin-checks like searching for ToDo, FixMe, NoSonar etc #96 #190 #167 #161 #157 #152 #151
- Use SSLR V1.19.2 and sslr-squide-bridge V2.3 #91
- Support of SonarQube 4.2 #180 #176 #181 #187 #198 #127
- Parse error recovery #133
- Force inclusion of a header file #85
- Improved PC-Lint support #93
- Additional SQALE definitions #105 #94 #62
- Support of Visual Studio Code Coverage reports. #186
- Attributted ATL support #174
- Improve the code colorizer #172
- Add support for Cppcheck 1.63 #166
- Add support for Cppcheck 1.64 #165
- Add support for Cppcheck's XML reports version 2 #158
- Support GCC's statement expression. #144
- Add support for feeding GCC's build warnings. #143
- Support GCC's conditionals with omitted operands. #138
- Support variadic macros. #137
- Support for multi-module configurations #46
Bugfixes:
- Do expand the macro arguments before expanding the macro body #194
- Parse failure for c++11 for range loops #115
- Prevent feeding of duplicated violations #110
- PC-lint violations filename or line = "0" cannot be fed #81
- Violations for files in project root folder cannot be fed #102
- PC-lint improvements for messages without filename or line = "0" #81
- Improper whitespace handling when hashhash'ing functionlike macro arguments #58
Thanks ....
go to all contributors:
@guwirth
@jmecosta
@Bertk
@Typz
@zjg
... and all people which were active on the Issue Tracker!
v0.9
Features / Enhancements:
- Provide an AST using SSLR #59
- Remap PC-lint MISRA violations into unique sonar rules #76
- Improve association of sources to the test #75
- Support for Intel Inspector via 'external rules'-mechanism #74
- Add rules for CppCheck V1.58, V1.59 and V1.60 # 73
- C++ Community Plugin not generating number of classes #70
- Provide support for VC compiler warnings (C4001-C6535) #69
- Replace cppncss with another tool (CCCC, CLOC) #67
- Rule: C++ parsing error #61
- Rule: custom/codebase specific checks via an XPath expression #60
Bugfixes:
- C++ Community Plugin silently ignores unknown files in gcovr reports #72
- Duplication detection doesnt work for source files which use line continuations #71
- Analysis fails when additional tools sensor through exception (RATS, Vera++) #68
- C++ Community Plugin mishandles file suffixes #66
- Error when processing coverage reports containing a big number of hits #65
- Crash with java.lang.IllegalArgumentException when analysing project #64
- The report processing should be more stable / error tolerant #63