v0.9.4
We are pleased to announce the release of the SonarQube C++ Community Plugin version 0.9.4.
See lists below for features added and bugs fixed in this release.
SonarQube compability
- tested and released for SonarQube 4.5.2+, 5.0.x and 5.1.x,
see also SonarQube compatibility matrix - Upgrade Instructions
- Installation Instructions
Enhancements
- parser enhancements:
- add C++/CLI support (#539)
- complete C++11 and C++14 support (#507,#508, #556, #554, #560, #561, #562, #563, #564, #565, #566, #567, #568, #569, #570)
- C++11: user defined literals (#564, #590)
- C++11: raw string literale (#563, #580)
- C++11: variadic template (#562, #589)
- C++11: long long & trailing return type (#561)
- C++11: attributes (#560)
- C++14: standard user defined literals (#570)
- C++14: lambda capture expressions (#569)
- C++14: generic lambda (#568)
- C++14: digit separators (#567)
- C++14: binary literals (#566)
- C++14: attribute deprecated with user defined message (#565, #571)
- C++14: support lambda capture expressions (#574, #569, #568)
- C++14: support binary literals (#572)
- C++14: add digit separator support (#591)
- add C++11/C++14 tests (#532)
- metrics enhancements:
- rule enhancements:
- CppCheck 1.70 support (#623, #627)
- Visual Studio 2015 compiler warning support (#622, #626)
- add tags to CXX rules (#636, #637)
- NestedStatementsCheck: add new check for nesting level (#517)
- additional checks for naming convention (#541)
- ClassComplexityCheck: class complexity check support (#452, #541)
- MagicNumberCheck : constexpr support (#606, #607)
- TabCharacterCheck: add switch to report issues per line (#390, #553)
- MagicNumberCheck: support unsigned values (#542)
- FileRegularExpressionCheck/LineRegularExpression: add flags to negate search results (#534, #536)
- coverage enhancements:
- integration tests:
- other:
- improved VC++ build log parser (#501, #537)
- support team builds now (#619)
- update deprecated APIs and components (#647, #632, #629, #631, #642)
- source code highlighting updated (#645, #644)
- SQALE support for 'other' rules: sonar.cxx.other.sqales (#467, #529)
- default values for reportPath values removed to get meaningful error messages (#331, #550)
Bugfixes
- TooManyStatementsPerLineCheck creates false positive with type alias(#656, #659)
- Execute decorators failing(#625, #631)
- ERROR - path normalizing of... (#618)
- PC-lint report may create SonarException in decorator (#600, #631)
- parser error if identifier is also a token (CxxKeyword) (#586)
- Type alias (using =) does not generate public API documentation violation (#577)
- Public API documentaton violation generated for friend declaration (#576)
- Non-type template parameters (#573)
- ReservedNamesCheck exception #define _ ... (#543)
- AST parser error - namespace alias '::TimerBase' (#526)
- AST parser error 'auto Timer::writeTimeToLogFile() -> void {}' (#525)
- AST parser error 'for (const std::string &i : v)' (#511)
- AST parser does not support function trailing return type (#510)
- preprocessor fails to extract filename from macro (#500)
- Problem with Travis (#494)
- Indentation Check with Namespace (#441)
- Error with includes (#437)
- Relative paths in Cobertura reports are treated relative to the current directory instead of the projectBaseDir (#426)
- fix typos in pc-lint rules (#513)
- Fix cpplint's NOLINT() with new rule names (#635)
- Fix NOLINT(*) regression (#655)
- fix normalizePathFull (#620)
- Treat relative paths in Cobertura reports as relative to the project … (#613)
- limit report line number (#611, #631)
- stringinize with string prefix (#603)
- Support C++/CLI typeid (#596, #582)
- Handle expressions in non-type template parameters, fix (#573)
- non-type template parameters fix (#592)
- binary literals have no suffix (#588)
- fix for trailing return types (#587)
- Support for friend declaration API documentation (#583)
- Generate public API documentation violation for alias declaration (#581)
- Fixing with define _ (#544)
- enhance handling of trailing return type (#528)
- fix for range-based for loop (C++11) (#523)
- fix up sqale (#521)
- fix sqale definitions (#518)
- Add fallback for 'reactor' report search in CxxCoverageSensor (#516)
- fix typos in pc-lint rules (#513)
- Improve namespace indentation check (#506)
- Fix hashhash related parsing problem (#459)
- sonar-cxx 0.9.3 doesn't show technical debt (issues) with sonar 4.5.x (#519)
- permission denied on reports (#267, #550)
Know Issues
SonarQube 5.2 is only partially supported: next version will have full SQ 5.2 support.
For an up to date list of known issues see the issue tracker
Thanks ....
go to all contributors (in alphabetical order):
@ametselaar
@Bertk
@cbagwell
@guwirth
@jmecosta
@lcintrat
@Zetten
... and all people which were active on the Issue Tracker!