V0.9.8
We are pleased to announce the SonarQube C++ Community Plugin version 0.9.8.
See lists below for features added and bugs fixed in this release.
SonarQube compability
- tested and released for SonarQube 5.6 LTS, 6.0, 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7 LTS
see also SonarQube compatibility matrix - Installation Instructions
- Upgrade Instructions
Enhancements
- Clang Static Analyzer support v5.0.0 (plist reports)
sonar.cxx.clangsa.reportPath
#547 #1161 #1254 #1172 - Clang Tidy support
sonar.cxx.clangtidy.reportPath
#1213 #1076 #1089 #1095 #1240 - Cognitive Complexity support #1006 #1245 #1271
- recursion is not handled
- own C plugin (experimental) #1100 #1099
- read Upgrade Instructions
- JSON Compilation Database support (experimental) #1175 #993
- CxxOtherSensor: add an XSLT pre-analyse step #1096
sonar.cxx.other.N.inputs
,sonar.cxx.other.N.outputs
,sonar.cxx.other.N.stylesheet
(N=1...9)
- Visual Studio 2017 warnings support #1091 #1239 #1113
- Visual Studio 2017 Core Guideline Checker warnings support #1090
- GCC/G++ V6.3 warnings support #1173 #1188
- Cppcheck 1.78, 1.79, 1.80, 1.81 warnings support #1092 #1133 #1201 #1244 #1129 #1134 #1202 #1246
- improved Bullseye coverage support (file format 5) #1210
- support of cxx-lint custom rules #1068
- PCLint MISRA C 2012 support added #1162
- executable_lines metric support (SQ 6.2+) #1010 #1203 #1206
- display measures per input file #1030 #1241
- C++17 support #1104 #1228 #1130
- static_assert #1226 #1227
- new attributes fallthrough, nodiscard, maybe_unused #1146 #1204
- __has_include #1145 #1224
- lambda capture of *this #1144 #1211
- constexpr lambdas #1143 #1211
- class template argument deduction #1142 #1222
- non-type template parameters with auto #1141 #1212
- fold expressions #1140 #1223
- hexadecimal floating point literals #1139 #1217
- u8 character literal #1138 #1209
- nested namespaces #1086 #1136
- inline variable #1085 #1132
- constexpr if #1084
- init in if, switch #1083
- structured bindings #1082 #1137
- update to SSLR 1.22 #1158 #1169
- update to parent 40 #1064
- sslr-cxx-toolkit: add more configuration parameter #1260
- AppVeyor
- add technical debt analysis of master branch #1258 #1111
- publish results in SonarCloud #1252
- Travis
- fix technical debt quality flaws #1269 #1075 #1121 #1122 #1126 #1128 #1148 #1153 #1179 #1238 #1255 #1263 #1265 #1114
Bugfixes
- Error during SonarQube Scanner execution: Unable to analyze file bug #1205
- SQ6.4: java.lang.NoClassDefFoundError: org/sonar/graph/DirectedGraphAccessor bug #1154
- syntax highlighting error: concatenated strings bug #1094
- Fixes bullseye conditions to be shown in SQ UI #1237
- JsonCompilationDatabase: defines are not supported #1234
- consume empty VS coverage report / NullPointerException when passing empty coverage report #1232 #1231
- Relative path causes NPE / do not use PathUtils.sanitize(filename) #1200 #1199
- fix coverage caching #1198
- CxxCoverageSensor not able to get the coverage property sonar.cxx.coverage.reportPath / fix coverage unit test #1189 #1156 #1010
- Fixes syntax error in list initialization with template #1182
- Fixes syntax error: std::nullptr_t in func args #1178
- Fixes syntax error if template argument is casting pack expansion #1176
- Trailing comma is not removed in complex macro with empty variadic arguments #1168 #1167
- Ignore empty statement after generated code in TooManyStatementsPerLine #1164
- Preserve generated status in concatenated strings #1163
- Generated strings in macros results in DuplicatedLiterals false alarms / Fixes "Generated strings in macros results in DuplicatedLiterals false alarms #1150 #1147
- broken compiler sensor unit tests / remove job prefix from file name in vc report #1125 #1123
- undocumented API with linkageSpecification #1103 #1102
- fix Clang-Tidy error #1088 #1076
- AbstractCxxPublicApiVisitor: fix template declaration #1072 #1067
- fix ClassComplexityCheck and NestedStatementsCheck #1065
- Ignore generated nodes in nested statement check #1171
- ensure the exit id is the rule id and not the template id in case of … #1071
Know Issues
For an up to date list of known issues see the issue tracker.
- V0.9.8 is not compatible with Java 9
- Starting with SQ 6.2 there are some new metrics and some are no more available. Please have a look to the SonarQube release notes.
- Symlinks are not supported.
Thanks ....
go to all contributors (in alphabetical order):
@Bertk
@guwirth
@jmecosta
@Kochise
@gyorb
@nathanaelg
@gena01
@MarcAntoineCRUE
@Pasick
@stefanweiser
... and all people which were active on the issue tracker!