Releases: Riverside-Software/sonar-openedge
Version 2.14.10
- Fixed SonarLint regression introduced in 2.14.10
- Fixed problem with Maven Central artifacts since 2.14.7
Version 2.14.8
- 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 tofalse
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:
Version 2.14.5
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
- 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
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 onDELETE OBJECT
) (#364) (in 2.14.1) - Named attributes not reported in AbbreviatedKeywords (#389) (in 2.14.1)
Version 2.14.2
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 onDELETE 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
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 onDELETE 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
Lexer / Parser
PACKAGE-PROTECTED
andPACKAGE-PRIVATE
modifiers lead to runtime exception in rcode reader (#882)PACKAGE-PROTECTED
andPACKAGE-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
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
- Fix issue #868 in Progress Developer Studio