Releases: Riverside-Software/sonar-openedge
Version 2.6.4
- Fix code coverage issue with OpenEdge 12.1
No changes to SonarLint, download from https://github.com/Riverside-Software/sonar-openedge/releases/tag/V2.6.0
Version 2.6.2
Hotfix for 2.6 version, 2.6.2 is now fully compatible with Java 11, and does not break analysis of non-OpenEdge projects using Java 11.
Also includes a fix for IndexUsage rule.
No changes for riverside-rules plugin and SonarLint (download them https://github.com/Riverside-Software/sonar-openedge/releases/tag/V2.6.0)
Version 2.4.0
- Late instantiation of OpenEdge config in order to avoid invalid messages when analysis is triggered on non-OpenEdge code
- Support for SERIALIZABLE and NON-SERIALIZABLE attributes (#648), XOR keyword (#635), DYNAMIC-PROPERTY (#657)
- Support for negative hex numbers (#648)
- Fixed support for multiple keywords that could also be used as identifiers
- Fixed NullPointerException in DF parser (#659)
- Stop SonarLint analysis in case of invalid DB schema (#654)
- Multiple fixes for rules (#639, #637, #190, #647, #649)
- New rules: InvalidUseIndexClause, ColonForBlock, NoRoutineInWhere, EmptyFieldsList, NoRoutineInLoop
Note: old release, GitHub issue
Version 2.6.0
- Minimum SonarQube version: 6.7 - Upgrade to SonarQube 7.9 is however highly recommended
- XREF parsing now done through JAXB, and XREF rules rewritten to use the CrossReference object instead of parsing the DOM, resulting in drastic improvement in performance (around 10 times faster for those rules)
sonar.oe.xml.doc=true
, otherwise the DOM object is not available anymore.
🛑 Don't use this version if you rely on Java 11 for other analysis. Version 2.6.2 will include a fix.
-
New rule UndefinedNameArgument (issue #705)
-
New rule GroovyTemplate
-
New rule IncludeNameCasing (issue #717)
-
New property
sonar.oe.proparse.recover
property, controlling parser behavior when unknown constructs are found. -
Various rules improvements (issue #718)
-
SonarLint compatibility up to Eclipse 2019-09
-
Base SonarLint upgrade from 3.6 to 4.2 - Changelog 4.0 - Changelog 4.1 - Changelog 4.2
Version 2.5.2
Hotfix for 2.5.1, fixes include file issue in SonarLint (#711)
Version 2.5.1
A few bugfixes for the ANTLR4 grammar:
- Issue #675, #676, #677, #678
- Fix performance issue affecting 2.5.0. Parser speed should be similar to ANTLR2
- Reduced verbosity of TreeParser in verbose mode (messages should have been in TRACE level)
Rules changes:
- New rule: wrong usage of WHEN in ASSIGN (#698)
- New rule: indentation check (#672)
- Enhancement in NoUndo rule (#365)
- Enhancement in EmptyCodeBlock rule (#699)
- False positive fixes: #684
- Bug fixes: #700 in EmptyFieldsList
SonarLint update:
- XREF only analyzed in SonarLint if useXrefXml property is set
- Additional log messages when using PDSOE database connection list
Version 2.5.0
Minor release in terms of changes to your analysis results, but a major milestone for the project: the ANTLR2 dependency is now gone, and replaced with ANTLR4. ANTLR is the software component which handles ABL code parsing, i.e. transform any ABL source code into something which can be browsed, from which detailed information can be extracted, and where it's possible to execute rules.
Proparse has been written years ago in ANTLR version 2, which is not maintained anymore, and thus being a problem for the long-term maintenance of CABL. It was then decided to migrate the grammar (and all associated code) to ANTRL version 4, in order to use the latest features from language recognition, and to be able to correctly manage the codebase on the long term. Apart from direct improvement in the sonar-openedge plugin, ANTLR4 allows grammar generation in different languages (C#, Python, JavaScript, Go, ...), so it will be possible to use the parser in any external tool in almost any language. The only part which has to be adapted is the lexer.
Although the new parser was heavily tested, we'd recommend the following update process:
- Back up the SonarQube database
- Upgrade the OE plugin (and rules) to the latest version
- Trigger a full analysis of your project under another key (
sonar.projectKey
property) - Roll back to the previous version if you have (lots of) new parse errors or if the total number of issues is completely different.
Version 2.3.2
Hotfix for 2.3.0, release notes and other artifacts can be found here.
- Fix for OpenEdge 12 profiler output
Version 2.3.1
Version 2.3.0
- New
sonar.oe.dotpct
property (see documentation and issue #620) - Fix
Too many open files
issue when very large amount of include files was opened - Final OpenEdge 12 support
- One step closer to ANTLR4 migration
- Fix multiple issues in
DISPLAY ... WITH ...
statements andRUN ... IN ...
tree parser issues (and variable usage) - CommentTracker rule improvement (issue #584)
- TrailingWhiteSpaces rule (issue #618). Not activated by default
- TooManyParameters rule (issue #619). Will be available in rules-plugin-template
- Added prolint-nowarn preprocessor to BufferUsage rule (#605)
- Don't report BufferUsage issue on SYS* tables (#530)
- Various bugfixes: #581, #593, #602, #604, #623, #637