Skip to content

Releases: Riverside-Software/sonar-openedge

Version 2.14.10

17 Mar 12:49
Compare
Choose a tag to compare
  • Fixed SonarLint regression introduced in 2.14.10
  • Fixed problem with Maven Central artifacts since 2.14.7

Version 2.14.8

22 Feb 10:55
Compare
Choose a tag to compare

⚠️ Regression found in this version with SonarLint running on PDSOE 11.7 (issue #945)

  • Multiple architecture changes for Language Server Protocol support
  • SonarLint hierarchy parsing (issues #886 and #890)
  • Fixed code colorizer issue (issue #939)
  • Support for plain text XREF files. Attribute xmlXref can now be set to false in PCTCompile ; no changes required on the scanner side. As plain text XREF are not 100% reliable, you might have a few differences compared to XML XREF.

Various rule changes:

  • UnusedVariable ( #510 ), ExternalLibraries ( #935 ), NestedComments, StatementOrder ( #931 ), VariableOverflow ( #929 and #930 )

Version 2.14.5

29 Nov 15:58
Compare
Choose a tag to compare

Proparse

  • Support for comments in DF files (#917)
  • Add getDataType() implementation to many built-in functions
  • Various parser improvements for upcoming language server

Rules

  • Support for UNDO / NO-UNDO on temp-tables (#764)
  • Various improvements on ExpressionNoEffect and VariableOverflow

SonarLint

  • SonarLint compatibility between OpenEdge 11.7 and SonarQube 9.1 and 9.2 (see notes)

Hotfix 2.14.4

04 Oct 09:33
Compare
Choose a tag to compare
  • Fixed parser issue introduced in 2.14.0 (issue #915), related to numbers starting with a dot. This code sample can't be parsed:
assign hdlVar:something     = .5
       hdlVar:somethingElse = value.
  • Fixed multiple ClassCastException in security rules

No changes in riverside-rules-plugin.

Version 2.14.3

30 Sep 19:02
Compare
Choose a tag to compare

This version introduces the new expression engine in Proparse. The aim is to have a much better understanding of the content of any expression, in order to extract the exact data type of each expression (and subexpressions), and infer chained method calls and attributes.

Proparse

  • Fixed handling of SUPER keyword (issue #900)
  • New expression engine (in 2.14.1)
  • Issue #688: new sonar.oe.proparse.tokenStartChars property ; allow function and procedures names to start with non-alphanumeric character (in 2.14.1)
  • Comments now allowed in preprocessor definition (in 2.14.1)
  • Overloaded methods now added to SymbolScope (in 2.14.1)
  • Multiple rcode information improvements (in 2.14.1)

Rules

  • New rules: SubstituteParameters, VariableOverflow (#838)
  • Fixed long-standing issue in the profiler output parser when statistics switch is activated
  • Improved KeywordMatch rule (#513)
  • Annotations taken into account in LinesTooLong rule (#895) (in 2.14.1)
  • New ExtraCharactersInIdentifier rule (detect comments and spaces in FIND customer WHERE customer /* ouch ! */ /* again */ .custname = "Lift Tours" for example) (in 2.14.1)
  • ShareLock rule now works on FIND-* methods of buffer handle (#880) (in 2.14.1)
  • AvoidNoError can skip issues based on secondary node type (i.e. on DELETE PROCEDURE but not on DELETE OBJECT) (#364) (in 2.14.1)
  • Named attributes not reported in AbbreviatedKeywords (#389) (in 2.14.1)

Version 2.14.2

14 Sep 15:49
Compare
Choose a tag to compare
Version 2.14.2 Pre-release
Pre-release

⚠️ STILL IN PRE-RELEASE STATUS ⚠️

This version introduces the new expression engine in Proparse. The aim is to have a much better understanding of the content of any expression, in order to extract the exact data type of each expression (and subexpressions), and infer chained method calls and attributes. This engine required small changes on the parser, but in heavily used sections. Regression testing was executed on various code repositories, from v6-like to modern OO code, but bugs could still be present. In order to verify the correctness of the changes, we'd like users to execute an analysis on a test SonarQube instance and compare:

  • The parse report (no more parse errors than in the previous version)
  • The numbers of issues raised by this version. The rule Expression has no effect will probably have a lot more issues (and false positives, we already know that, but we'd like to see how many are reported). Other rules shouldn't be changed (except for bugfixes listed below).

Customers can request a test license (please send an email to [email protected] with your test server ID).

Proparse

  • Fixed handling of SUPER keyword (issue #900)
  • New expression engine (in 2.14.1)
  • Issue #688: new sonar.oe.proparse.tokenStartChars property ; allow function and procedures names to start with non-alphanumeric character (in 2.14.1)
  • Comments now allowed in preprocessor definition (in 2.14.1)
  • Overloaded methods now added to SymbolScope (in 2.14.1)
  • Multiple rcode information improvements (in 2.14.1)

Rules

  • New rules: SubstituteParameters, VariableOverflow (#838)
  • Fixed long-standing issue in the profiler output parser when statistics switch is activated
  • Improved KeywordMatch rule (#513)
  • Annotations taken into account in LinesTooLong rule (#895) (in 2.14.1)
  • New ExtraCharactersInIdentifier rule (detect comments and spaces in FIND customer WHERE customer /* ouch ! */ /* again */ .custname = "Lift Tours" for example) (in 2.14.1)
  • ShareLock rule now works on FIND-* methods of buffer handle (#880) (in 2.14.1)
  • AvoidNoError can skip issues based on secondary node type (i.e. on DELETE PROCEDURE but not on DELETE OBJECT) (#364) (in 2.14.1)
  • Named attributes not reported in AbbreviatedKeywords (#389) (in 2.14.1)

Custom rules

  • Multiple breaking changes in the structure of the AST ; documentation will follow.

Version 2.14.1

30 Aug 09:23
Compare
Choose a tag to compare
Version 2.14.1 Pre-release
Pre-release

⚠️ PRE-RELEASE ⚠️

This version introduces the new expression engine in Proparse. The aim is to have a much better understanding of the content of any expression, in order to extract the exact data type of each expression (and subexpressions), and infer chained method calls and attributes. This engine required small changes on the parser, but in heavily used sections. Regression testing was executed on various code repositories, from v6-like to modern OO code, but bugs could still be present. In order to verify the correctness of the changes, we'd like users to execute an analysis on a test SonarQube instance and compare:

  • The parse report (no more parse errors than in the previous version)
  • The numbers of issues raised by this version. The rule Expression has no effect will probably have a lot more issues (and false positives, we already know that, but we'd like to see how many are reported). Other rules shouldn't be changed (except for bugfixes listed below).

Customers can request a test license (please send an email to [email protected] with your test server ID).

Proparse

  • New expression engine
  • Issue #688: new sonar.oe.proparse.tokenStartChars property ; allow function and procedures names to start with non-alphanumeric character
  • Comments now allowed in preprocessor definition
  • Overloaded methods now added to SymbolScope
  • Multiple rcode information improvements

Rules

  • Annotations taken into account in LinesTooLong rule (#895)
  • New ExtraCharactersInIdentifier rule (detect comments and spaces in FIND customer WHERE customer /* ouch ! */ /* again */ .custname = "Lift Tours" for example)
  • ShareLock rule now works on FIND-* methods of buffer handle (#880)
  • AvoidNoError can skip issues based on secondary node type (i.e. on DELETE PROCEDURE but not on DELETE OBJECT) (#364)
  • Named attributes not reported in AbbreviatedKeywords (#389)

Custom rules

  • Multiple breaking changes in the structure of the AST ; documentation will follow.

Version 2.13.1

06 May 11:42
Compare
Choose a tag to compare

Lexer / Parser

  • PACKAGE-PROTECTED and PACKAGE-PRIVATE modifiers lead to runtime exception in rcode reader (#882)
  • PACKAGE-PROTECTED and PACKAGE-PRIVATE modifiers not supported in ANTLR4 parser on property getters / setters (#883)

Rules

  • Fix UnsupportedOperationException on GlobalDefine and UndefinedNamedInclude rules in SonarLint (#884)

SonarLint

  • Version 5.8.1836

Version 2.13.0

02 May 07:55
Compare
Choose a tag to compare

Lexer / Parser

  • Escape characters should not be taken into account in comments (issue consultingwerk/proparse#35)
  • Support for OE 12.4 expressions in VAR statement
  • Fix RecognitionException on ON statement in classes (#878)
  • XOR keyword in expression (#876)
  • Prepro directives not expanded in prepro (#877)

Rules

  • Issues not visible in some AppBuilder code sections (#866 and #869)
  • Various fixes / improvements: OneStatementPerLine (#873), CompileTimeArguments(#875), ShareLock (#414)

Other

  • Rules license can now be entered as a property instead of a separate plugin. Web UI available soon.

Version 2.12.1

31 Jan 09:55
Compare
Choose a tag to compare
  • Fix issue #868 in Progress Developer Studio