Skip to content

Releases: Riverside-Software/sonar-openedge

Version 2.6.4

07 Nov 09:46
Compare
Choose a tag to compare
  • 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

20 Oct 17:49
Compare
Choose a tag to compare

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

07 Nov 09:45
Compare
Choose a tag to compare
  • 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

12 Oct 14:42
Compare
Choose a tag to compare
  • 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)

⚠️ Users of XPath rules have to set sonar.oe.xml.doc=true, otherwise the DOM object is not available anymore.
⚠️ Use Java 8 to trigger the analysis ; the latest versions of sonar-scanner come with their own Java 11 VM, so use JAVA_HOME=/path/to/java8 to force to another JVM
🛑 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)

  • Various variable usage improvements (issue #719, #737)

  • Various parser improvements (issue #708, #709, #648)

  • 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

30 Jul 07:37
Compare
Choose a tag to compare

Hotfix for 2.5.1, fixes include file issue in SonarLint (#711)

Version 2.5.1

28 Jun 10:06
Compare
Choose a tag to compare

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

06 Jun 12:41
Compare
Choose a tag to compare

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

28 Mar 16:24
Compare
Choose a tag to compare

Hotfix for 2.3.0, release notes and other artifacts can be found here.

  • Fix for OpenEdge 12 profiler output

Version 2.3.1

18 Mar 09:01
Compare
Choose a tag to compare

Hotfix for 2.3.0, release notes and other artifacts can be found here.

  • Fix preprocessor issue #653 with {*}
  • Fix NullPointerException in DEFINE TEMP-TABLE ... LIKE ... USE-INDEX ...

Version 2.3.0

19 Jan 08:39
Compare
Choose a tag to compare
  • 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 and RUN ... 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