Skip to content

Releases: SonarOpenCommunity/sonar-cxx

V2.0.3

08 Jun 08:54
c83dbfe
Compare
Choose a tag to compare

We are pleased to announce the SonarQube C++ Community Plugin version 2.0.3.
This is only a small bugfix, see V2.0.0 for complete release notes.

  • improved Clang-Tidy sensor #2167 #2168 #2170 #2174 #2175
    • supports Clang-Tidy v11 messages with multiple check (alias) ids #2170
    • fix Clang-Tidy column number reporting (column numbers in Clang-Tidy: 1...n; SQ: 0...n)
    • be more tolerant in case of invalid column number: report issue in line (without column)
    • improve error message in case of wrong line/column number
  • make the loading of other rules more robust #2179
  • fix java.lang.NullPointerException in AbstractCxxPublicApiVisitor.visitTemplateDeclaration #2180 #2182
  • improve config description #2181

V2.0.2

24 May 09:04
4f9280b
Compare
Choose a tag to compare

We are pleased to announce the SonarQube C++ Community Plugin version 2.0.2.
This is only a small bugfix, see V2.0.0 for complete release notes.

  • fix file encoding support (UTF-8, UTF-16, with/without BOM) #2143
  • public API detection: improved detection of comments at the end of last line #2163

V2.0.1

13 May 15:26
784c241
Compare
Choose a tag to compare

We are pleased to announce the SonarQube C++ Community Plugin version 2.0.1.
This is only a small bugfix, see V2.0.0 for complete release notes.

  • improved sonar.cxx.file.suffixes description in UI #2144 #2136
  • support BOM in #include files #2142 #2139
  • fix NPE in API visitor: template specialization declaration #2141 #2138
  • ignore errors in saveFileLinesContext: parsing errors could lead to wrong location data, continue after error (same behaviour again as in cxx plugin v1.3) #2145 #2139

V2.0.0

04 May 13:59
ea9eca3
Compare
Choose a tag to compare

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

The version 2.0 of the cxx plugin is basically a completely new plugin. In version 2 the experiences from the previous versions have been considered and there were also numerous API and UI changes on the side of SonarQube that had to be taken into account.


Make sure to read the Upgrade Instructions before you get started.


SonarQube compability

Enhancements

with effect on configuration:

  • new language key cxx (c++ deprecated) #1860
  • use sonar.cxx.file.suffixes instead of sonar.cxx.suffixes.sources and sonar.cxx.suffixes.headers #1829
  • using xxx.reportPaths in all report sensors #1869 #1219
  • allow to turn off CXX language analysis (sonar.cxx.file.suffixes=-) #1841 #1807
  • add a sensor to detect outdated configuration settings and add a warning to the LOG file #1869

other:

  • completely revised Wiki for cxx plugin 2.0
  • report sensors support SonarCFamily plugin #2018 #1784
  • C++20 support #1985
  • add MISRA C 2012 Amendment 1 rules supported by PC-Lint #1857 #1856
  • add support of Facebook Infer static analyzer #1868
  • support Visual Studio (VS2019 / msvc-160) warnings #1981 #1488
  • support Cppcheck 2.41 warnings #2076 #2091
  • support Clang Static Analyzer v11 warnings #2088
  • support Clang-Tidy v11 support #2077 warnings #2088
  • support _ in Clang-Tidy rule ids [A-Z0-9-._] #1952 #1951
  • support block elements of BullsEye covxml 8.20.0 version #1978 #1977
  • evaluate BOM from text file reports #2020 #1859
  • make filtering in the UI for issues from one tool possible (add a tool tag) #1929 #1922
  • properties sonar.cxx.funccomplexity.threshold and sonar.cxx.funcsize.threshold renamed to make clear that they are metrics and no rule thresholds #1538 #2029
  • split coverage sensors to run them in parallel (sonar.cxx.coverage.reportPath) #1895

no more supported:

  • removed: Cppcheck XML format V1 support #1837 #1247
  • removed: CoreMetrics.COMMENT_LINES_DATA_KEY #1816 #1766
  • removed: sonar.cxx.cFilesPatterns parameter #1833
  • removed: module and multi-module support #1822
  • removed: sonar-c-plugin #1809

Bugfixes

  • parsing of nested templates is slow: template <... template<...>> #1685 #2128
  • cxx:FileHeader support files with BOMs #2118 #2121
  • handle type traits ...::type #2116 #793
  • support macros and function calls as template parameter #2115 #2009
  • parsing functions with default template parameter fail with non-POD return types #2025 #2102
  • initialization of data attribute with braces is mistakenly consider as a method #2030 #2027
  • extern "C" { ... } public api detection #1982 #1979
  • add exception when Lint file is invalid XML #1865
  • Squid Sensor fails to parse files with #define containing "/*"` #1903
  • recursive parsing does not seem to propagate compilation unit settings #1489 #1984

Known Issues

For an up to date list of known issues see the issue tracker.

  • only tested with Java 11
    • Message "The plugin [cxx] does not support Java 1.8.0, UnsupportedClassVersionError". To solve this download OpenJDK 11 und unzip it (http://jdk.java.net/archive/). Point with the JAVA_HOME environment variable to the Java 11 location.
  • In SonarQube, each file extension must be uniquely assigned to one programming language. When operating several C/C++ plugins in parallel, this must be taken into account during configuration. To avoid problems on a server with multiple C++ plugins, the CXX programming language sensor is disabled by default.
  • Ensure that a rule is enabled if you get no results. In new SQ versions the default profile is read-only. The cxx plugin does not enable rules for external tools per default.
  • Message: "C++ cannot be analyzed with current SonarQube edition. Please consider upgrading...". SonarQube issues this message when an input file with the file extension .c, .cc, .cpp, .cxx or .c++ is read in the Community Edition. Select "Dismiss permanently" to continue without the message.
  • C (Community) plugin is no longer shipped.

Thanks ....

go to all contributors (in alphabetical order):

@Dkapps
@Dudenman
@JuPrgn
@StanleySweet
@VirtualTim
@apriori
@begarco
@farshield
@guwirth
@kgiloo
@phcouton
@rufinio
@slebedev
@srpgilles
@tisoft

... and all people which were active on the issue tracker!

V1.3.3

17 Jan 08:55
Compare
Choose a tag to compare

We are pleased to announce the SonarQube C++ Community Plugin version 1.3.3.
This is only a small bugfix, see V1.3.2 for complete release notes.

Bugfixes

  • Visual Studio coverage parser is crashing #1874

V1.3.2

13 Feb 19:30
6dd6f74
Compare
Choose a tag to compare

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

SonarQube compability

Enhancements

  • improved JSON Compilation Database support:
  • Cppcheck 1.90 support #1783 #1778
  • duplicate issues with different relative paths resulting in same absolute path are only added once now #1776 #1777
  • customRules no more supported #1781 #1548
  • cxx-lint no more supported #1780
  • refactoring #1804

Bugfixes

  • fix syntax highlighting for Raw strings #1803 #1768
  • parser fix: improved literal-operator-id support #1798 #1785
  • fix multi-values/property warning #1782 #1775

Known Issues

For an up to date list of known issues see the issue tracker.

  • not tested with Java 9, 10 and 12
  • Ensure that a rule is enabled if you get no results. In new SQ versions the default profile is read-only. The cxx plugin does not enable rules for external tools per default.
  • 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.
  • duplicated_lines_density values are different with SQ 7.5
  • project's duplication density value will likely rise with SQ 7.8 (SONAR-12188)
  • test execution metrics are not supported
  • The Cppcheck plugin is deprecated and not working in parallel to this plugin. This plugin provides an own Cppcheck sensor.
  • C plugin and JSON Compilation Database support are experimental only

Thanks ....

go to all contributors (in alphabetical order):

@guwirth
@tisoft

... and all people which were active on the issue tracker!

V1.3.1

03 Sep 05:34
2142826
Compare
Choose a tag to compare

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

SonarQube compability

Enhancements

Bugfixes

  • create debug message in case of Cppcheck parsing error #1753 #1718
  • fixed raw string parsing #1749 #1748

Known Issues

For an up to date list of known issues see the issue tracker.

  • not tested with Java 9, 10 and 12
  • Ensure that a rule is enabled if you get no results. In new SQ versions the default profile is read-only. The cxx plugin does not enable rules for external tools per default.
  • 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.
  • duplicated_lines_density values are different with SQ 7.5
  • project's duplication density value will likely rise with SQ 7.8 (SONAR-12188)
  • test execution metrics are not supported
  • The Cppcheck plugin is deprecated and not working in parallel to this plugin. This plugin provides an own Cppcheck sensor.
  • C plugin and JSON Compilation Database support are experimental only

Thanks ....

go to all contributors (in alphabetical order):

@guwirth

... and all people which were active on the issue tracker!

V1.3.0

29 Jul 10:10
d410ab5
Compare
Choose a tag to compare

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

SonarQube compability

Enhancements

  • SQ 7.7 support #1696 #1695
  • SQ 7.8 support #1731 #1738
  • minimal supported SQ API is 6.7 #1317
  • Cppcheck 1.88 support #1733 #1739 #1741
  • Clang-Tidy:
    • rules updated (Clang 8.0) #1730
    • diagnostic notes are supported now #1742 #1720
  • Clang Static Analyzer
    • add path/flow support for .plist reports #1710 #1707
  • GCC
  • PC-Lint
    • support PC-Lint plus V1.2 messages #1716
    • support supplemental messages #1728
  • Visual Studio / Msbuild LOG file analysis:
    • support Visual Studio 2019 with v142 platform toolset #1725 #1726
    • improved analysis #1668
  • use of scanner 4.0 #1736
  • use of parent POM 51
  • static code analysis checks are removed #1704
    • BooleanEqualityComparisonCheck, CollapsibleIfCandidateCheck, CommentedCodeCheck, HardcodedAccountCheck, HardcodedIpCheck, MagicNumberCheck, MissingCurlyBracesCheck, NestedStatementsCheck, ReservedNamesCheck, SafetyTagCheck, StringLiteralDuplicatedCheck, SwitchLastCaseIsDefaultCheck, UnnamedNamespaceInHeaderCheck, UseCorrectIncludeCheck, UseCorrectTypeCheck, UselessParenthesesCheck, UsingNamespaceInHeaderCheck
    • use external tools like CppCheck, Clang, .... instead
  • seperate cxx-lint tool into own JAR (no more part of cxx plugin) #1705
  • refactoring #1737 #1691 #1690 #1689

Bugfixes

  • fixing OpenCppCoverage coverage report: not working since upgrade to 1.2.x #1669 #1709
  • fixing typo Highligthing => Highlighting #1724 #1723
  • support real paths in coverage sensor for C++/CLI #1701 #1688
  • Clang-Tidy: modernize-use-nodiscard check message breaks regex #1719 #1742
  • Clang-Tidy: missing rule [clang-diagnostic-warning] #1702

Known Issues

For an up to date list of known issues see the issue tracker.

  • not tested with Java 9, 10, 11
  • not tested with SonarQube 7.9.x LTS
  • Ensure that a rule is enabled if you get no results. In new SQ versions the default profile is read-only. The cxx plugin does not enable all rules per default.
  • 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.
  • duplicated_lines_density values are different with SQ 7.5
  • project's duplication density value will likely rise with SQ 7.8 (SONAR-12188)
  • test execution metrics are not supported
  • The Cppcheck plugin is deprecated and not working in parallel to this plugin. This plugin provides an own Cppcheck sensor.
  • C plugin and JSON Compilation Database support are experimental only

Thanks ....

go to all contributors (in alphabetical order):

@Bertk
@bloodlee
@guwirth
@ivangalkin
@romanek-adam
@rudolfgrauberger
@stalb

... and all people which were active on the issue tracker!

V1.2.2

10 Feb 19:06
d1519ba
Compare
Choose a tag to compare

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

SonarQube compability

Enhancements

  • SQ 7.6 support #1674
  • minimal supported SQ API is 6.7 #1317
  • Cppcheck 1.87 support #1687
  • lowercase filenames in sensors are supported #1651 #1653 #1678 #1682 #1679 #1682
  • {Aggregate|Density} MeasureComputer: reduce and soften the logging #1640 #1641
  • improved preprocessor: performance, include and macro handling #1637 #1645 #1650 #1660 #1665
  • Optimized lexer and AST: some nodes are removed from AST. Please verify user defined checks and XPath expressions if they are still working #1664 #1646 #1667
  • use of scanner 3.3.0.1492 #1676
  • use of Maven 3.5.4 #1649
  • use of parent POM 49 #1686
  • Google Guava dependencies removed #1647
  • refactoring #1644 #1659 #1677

Bugfixes

  • none

Known Issues

For an up to date list of known issues see the issue tracker.

  • not compatible with Java 9
  • Ensure that a rule is enabled if you get no results. In new SQ versions the default profile is read-only. The cxx plugin does not enable all rules per default.
  • 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.
  • duplicated_lines_density values are different with SQ 7.5
  • test execution metrics are not supported
  • The Cppcheck plugin is deprecated and not working in parallel to this plugin. This plugin provides an own Cppcheck sensor.
  • C plugin and JSON Compilation Database support are experimental only

Thanks ....

go to all contributors (in alphabetical order):

@guwirth
@ivangalkin

... and all people which were active on the issue tracker!

V1.2.1

21 Dec 23:45
fbb442e
Compare
Choose a tag to compare

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

SonarQube compability

Enhancements

Bugfixes

  • xUnit sensor couldn't parse test report with 0 testsuite tag #1595 #1599

Known Issues

For an up to date list of known issues see the issue tracker.

  • not compatible with Java 9
  • Ensure that a rule is enabled if you get no results. In new SQ versions the default profile is read-only. The cxx plugin does not enable all rules per default.
  • 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.
  • duplicated_lines_density values are different with SQ 7.5
  • test execution metrics are not supported
  • The Cppcheck plugin is deprecated and not working in parallel to this plugin. This plugin provides an own Cppcheck sensor.
  • C plugin and JSON Compilation Database support are experimental only

Thanks ....

go to all contributors (in alphabetical order):

@guwirth
@ivangalkin

... and all people which were active on the issue tracker!