Releases: SonarOpenCommunity/sonar-cxx
V2.0.3
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
inAbstractCxxPublicApiVisitor.visitTemplateDeclaration
#2180 #2182 - improve config description #2181
V2.0.2
V2.0.1
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
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
- tested and released for SonarQube 7.9 LTS and SonarQube 8.7 LTS with Java 11
- see also SonarQube compatibility matrix
- Installation Instructions
- Upgrade Instructions
Enhancements
with effect on configuration:
- new language key
cxx
(c++
deprecated) #1860 - use
sonar.cxx.file.suffixes
instead ofsonar.cxx.suffixes.sources
andsonar.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
andsonar.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
V1.3.2
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
- tested and released for SonarQube 6.7 LTS with Java 8 and SonarQube 7.9 LTS with Java 11
- see also SonarQube compatibility matrix
- Installation Instructions
- Upgrade Instructions
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):
... and all people which were active on the issue tracker!
V1.3.1
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
- tested and released for SonarQube 6.7 LTS with Java 8 and SonarQube 7.9 LTS with Java 11
- see also SonarQube compatibility matrix
- Installation Instructions
- Upgrade Instructions
Enhancements
- rules from external tools are deactivated in plugin default profile #1752
- improved inline assembler support for VC & GCC #1761 #1760 #1759
- GCC ASM label extension support #1657
- NOSONAR support #1758 #1300
- clang-tidy: 'clang-diagnostic-error' rule support #1754 #1747
- test on Travis with Java 8 & 11 #1750 #1735
- refactoring #1756 #1755
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):
... and all people which were active on the issue tracker!
V1.3.0
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
- tested and released for SonarQube 6.7 LTS, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8
see also SonarQube compatibility matrix - Installation Instructions
- Upgrade Instructions
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:
- Clang Static Analyzer
- GCC
- PC-Lint
- Visual Studio / Msbuild LOG file analysis:
- 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
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
- tested and released for SonarQube 6.7 LTS, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.6
see also SonarQube compatibility matrix - Installation Instructions
- Upgrade Instructions
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):
... and all people which were active on the issue tracker!
V1.2.1
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
- tested and released for SonarQube 6.7 LTS, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5
see also SonarQube compatibility matrix - Installation Instructions
- Upgrade Instructions
Enhancements
- SQ 7.5 support #1635
- minimal supported SQ API is 6.7 #1317
- use SSLR 1.23 #1630
- use parent POM 48 #1590
- Cppcheck 1.86 support #1616 #1620
- mark static code analysis checks deprecated #1613
- optimized logging #1619 #1621 #1622 #1623 #1624 #1626 #1627 #1628
- clean-up POMs #1591 #1593 #1631 #1632 #1633 #1634
- refactoring #1584 #1594 #1592 #1600 #1602 #1603 #1605 #1606 #1607 #1608 #1610 #1611 #1614 #1617 #1618 #1629
Bugfixes
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):
... and all people which were active on the issue tracker!