Skip to content

Releases: Riverside-Software/sonar-openedge

Version 2.24

10 Dec 16:22
Compare
Choose a tag to compare
  • Fast branch analysis (requires SonarQube 9.9+, and Developer Edition / Enterprise Edition / Datacenter Edition)
    • All unchanged files in the current branch will be ignored. If include files are changed, CABL will scan the .pct directory for dependencies, and analyze all files where the include file is referenced.
    • Feature is only activated when -Dsonar.pullrequest.branch=current_branch_name is present in the sonar-scanner commandline
  • Various changes for ABL Language Server
  • Fixed issues #928, #1077, #1081, #1084, #1092

Hotfix 2.24.3, released on Jan. 26th 2024, for issue #1109

Version 2.23

17 Oct 08:59
Compare
Choose a tag to compare

Hotfix 2.23.2 (rules only) contains the fix for #1082

Version 2.22

07 Aug 07:16
Compare
Choose a tag to compare

This release almost only includes changes for the ABL Language Server. Minor bugfixes included: #1054, #1055.
⚠️ Version 2.22.2 fixes the issue in Developer Studio 11.7
⚠️ Version 2.22.3 includes fix for issue #1069

Version 2.21

28 Apr 14:45
Compare
Choose a tag to compare
  • Compatibility with SonarQube 10.0 (9.9 LTS still recommended)
  • Major changes in IndentationCheck rule, the number of issues is likely to be much higher in this version (issues #1039 and #831)
  • Various bugfixes (#1033, #1032, #1038, #1034, #1036, #1035)

Version 2.20

07 Mar 12:09
Compare
Choose a tag to compare
  • Upgrade SonarQube dependencies to 8.x. While this 2.20 version is still compatible with 7.x, we don't do regression tests anymore against SQ 7.x. You should at least upgrade SonarQube to 8.9 (previous LTS) or 9.9 (current LTS).
  • Various improvements to Proparse for LSP
  • Various bugfixes (#1000, #1021, #1028, #1030)
  • Property in Field class to know whether it has MANDATORY attribute (#1026)
  • Display message if profiler directory doesn't exist (instead of crashing scanner) + Report RuntimeException instead of failing the analysis if profiler file is invalid (#1023)
  • SonarLint 6.2.2222 now compatible with SonarQube 9.9 on PDSOE 11.7 (#1031)
  • SonarLint 7.6.2312: read hierarchy from PL (#1025)

Version 2.19

10 Jan 07:27
Compare
Choose a tag to compare
  • Various parser fixes + code completion engine for language server
  • Prepare compatibility with SonarLint 7.x
  • New sonar.oe.rtb boolean property: if set to true, read XREF and listing from list directory (generated by Roundtable) instead of the usual location
  • Various rules bugfixes and enhancements: #1001, #1003, #1013, #1016

⚠️ Version 2.19 is probably the last one that will support SonarQube 7.9 (as it won't be supported by SonarSource anymore). If you're still running this version of SonarQube, you should consider upgrading your instance.

Version 2.18

22 Nov 15:38
Compare
Choose a tag to compare
  • New sonar.oe.classdoc property: comma-separated list of class documentation JSON files (use JsonDocumentation task in PCT). First rule will report deprecated methods usage (planned for 2.18.1)
  • Proparse: support for AGGREGATE keyword (#995) + FOREIGN-KEY-HIDDEN in dataset declaration (#1011)
  • Fixed (not so) random InvalidRCodeException when reading rcode on slow disks (#1005)
  • VSCode support: improved method signatures checks
  • Minor enhancements to DF parser (latest version of meta-schema + ColumnLabel property)
  • New KeywordCase rule (UpperCaseKeywords and LowerCaseKeywords now flagged as deprecated)
  • Fixed ExpressionNoEffect which incorrectly reports QUERY-OPEN, QUERY-CLOSE, ...

Hotfix 2.18.4: fix CABL license management screen under SQ 9.7

Version 2.17.0

09 Sep 15:41
Compare
Choose a tag to compare
  • Another set of changes in Proparse for the ABL Language Server

  • Parser improvements (package-private/protected constructors + issues #955, #956 and #971)

  • Rules improvements and bugfixes (#925, #971, #976, #986, #992)

  • Improved CABL license screen ; license key can be uploaded from this screen, no need to go to the properties

  • Breaking change in Proparse: RECORD_NAME nodes in queries are now wrapped in a RECORD_SEACH node. One RECORD_SEARCH node per buffer in a FOR statement.

  • Hotfix 2.17.1 2.17.2 only required with SonarQube 9.7. No need to upgrade if running SonarQube up to 9.6.

Version 2.16.0

26 Jul 19:21
Compare
Choose a tag to compare
  • Another set of changes in Proparse for the ABL Language Server

    • A side effect is that new parser failures can be raised: previous versions of proparse were silently discarding syntax errors when in the last statements of the file. This is not the case anymore, so read the log output after the migration !
  • Various bugfixes (DF parser #969), support for final properties, ACCUMULATE SUM (#974), better error messages (#970 and #975), FORM statement in class (#973),

  • Rule changes:

    • NoWait rule triggers issue on NO-LOCK option
    • First version of BufferUsageInWhereClause (#848)
    • AbbreviatedKeywords (#948)
  • SonarLint plugin: parser errors are now displayed in the SonarLint console view. Details are only visible in the analysis log, but the idea is to make sure the developer is aware that rules can't be executed because of the syntax error

  • API Change: parameters are now wrapped in a PARAMETER_ITEM structure (inside a PARAMETER_LIST structure), so that they can easily be iterated.

  • If you feel adventurous, you can try the new VSCode plugin in the Marketplace

EDIT: Version 2.16.1 now available, hotfix for issue #988

Version 2.15.0

12 Apr 07:52
Compare
Choose a tag to compare
  • Report total number of Proparse directives as a metric (Size domain)
  • Prevent BackslashInString rule from being triggered on all {&WINDOW-NAME} instances
  • Parse engine internal changes (VSCode support)
  • Generics and elvis operator (?:) support
  • DF parser changes (PR #957)
  • Various rule improvements:
    • BufferUsage (ability to skip issues on procedures / methods / functions)
    • DefaultInitialValue (#909)
    • FunctionNamingConvention (#932)
    • TableUsage (#958)
    • NoErrorHandling (#947)