Skip to content

Releases: Riverside-Software/sonar-openedge

Version 3.7.2

20 Mar 17:11
0b10f89

Choose a tag to compare

  • New rule: AvailableNoError (#1108)
  • Fix multiple NPE during execution (#1215, RSSW-875, RSSW-871, RSSW-873)
  • Fix SplitCommaSeparatedString (#1217), LongStrings (#1218), DefineVariableBLock (#1219)
  • Report datasets in UnusedVariable
  • Fix WHOLE-INDEX when alias used (#1214)
  • Dataset information now available in TreeParser structures
  • Builtin functions documentation: add variants support + optional parentheses
  • Automatically add quick-fix when rule has prolint-nowarn keyword (vscode-abl/vscode-abl#83)

Version 3.6.0

20 Jan 10:28
6bfc0de

Choose a tag to compare

  • Improved generics support
  • Dependencies support (sonar.oe.dependencies.source property, see discussion here)
  • Builtin classes update
  • Builtin functions update
  • IndentationCheck rule now takes into account preprocessor level (#1060)
  • New rule: AbbreviatedFieldName

Version 3.5.2

04 Dec 09:25
a539e25

Choose a tag to compare

  • Fix cache issue that can break XREF rules in SonarLint Eclipse
  • Remove compiler warnings from SonarLint quality profiles
  • riverside-rules and security-rules packages not changed in this release

Version 3.5.1

02 Dec 17:28
1038967

Choose a tag to compare

  • Fix for SonarLint Eclipse issue #1207
  • riverside-rules and security-rules packages not changed in this release

Version 3.5.0

24 Nov 12:42
3244977

Choose a tag to compare

⚠️ Starting from version 3.5.0, CABL is not compatible anymore with SonarQube 9.x. The minimum version version is now 10.8.

  • Fix rcode cache problem in SonarLint Eclipse
  • Proparse: proper support of event-handler in run statement + expressions in wait-for ... set
  • Rule changes: keyword case improvements with expressions, fix CompileTimeArguments false positives, fix quick fix on NoInitialDefaultValue

Version 3.4.1

14 Oct 12:36
704c2a8

Choose a tag to compare

  • Improve branch analysis and PR analysis support with SonarQube DE/EE/DCE.
    • Use sonar.pullrequest.key, sonar.pullrequest.branch and sonar.pullrequest.base properties for fast analysis (where unchanged files are skipped). Otherwise, use GitHub sonarqube-scan-action.
    • Or use sonar.branch.name property for full analysis, but shown as branch in web UI.

Version 3.4.0

17 Sep 08:34
3489a7d

Choose a tag to compare

  • Rules changes: AvoidNoError can now be executed on expression statements, suppress issue on StatementOrder (#1120), fix NoRoutineInWhere (#1194 and #1174), no-error on os-* statements (#1195), FP on WHEN in ASSIGN (#1184),
  • Fix rcode parser issue that could crash the profiler sensor
  • Fix cognitive complexity computation (#1193)
  • Proparse: AVG is a valid option of ACCUMULATE statement + empty enums (#1186) + OE13 scientific notation + C3 related changes

Full Changelog: V3.3.1...V3.4.0

Version 3.3.1

22 Aug 08:32
a299f70

Choose a tag to compare

  • Fixed compatibility with SonarQube 9.9. Note that this version will be the last one compatible with SonarQube 9.9 (SonarSource will completely drop support of this version in November). Next version will target SonarQube 10.8 and 2025.1 for the LTA versions.
  • Fixed incorrect encoding problem in the Eclipse plugin (OpenEdge code was always read as utf-8) + upgrade to upstream version 11.13
  • Fixed performance problem in the Code Coverage sensor
  • CABL VS Code plugin 4.25.99007 available on the marketplace: execute XREF rules (#1180)

Version 3.3.0

06 Aug 06:25
a65f6b6

Choose a tag to compare

⚠️⚠️ Do not install version 3.3.0 on SonarQube 9.9 as it will prevent your instance from starting. Hotfix will be released soon. You can use version 3.1 with SonarQube 9.9. ⚠️⚠️

  • Rule improvements: handle DYNAMIC-NEW in IndentationCheck, fix IndexOutOfBounds in SubstituteParameters and SubstituteLongChar rules, threshold on CognitiveComplexityTooHigh (#1191), invalid & in SubstituteParameters (#1185), fix NullPointerException on FindFirst rule, check static method calls in ClassNameCasing (#1187),
  • New rule: TempTableFieldSort (#1183)
  • Proparse debug output compatible with recent browsers. This requires having the list of tokens in the main JSON file, so property sonar.oe.proparse.debug.includes is now used to filter file names (ant-based patterns using comma as a separator). Empty property means no files will be processed
  • XREF now read in SonarLint VS Code (#1180)
  • Rule plugins maintainers : check ITypeInfo class for new methods + rule description can now use sections (see tests in commit 87997aa)

Version 3.1.0

20 May 10:38
5959c9c

Choose a tag to compare

  • Fix potential runtime exceptions in preprocessor expressions: TRIM expression, empty &message (#1178)
  • VAR can be used as field name (#1163)
  • Hash (#) and Percent (%) can be the first character of an identifier (#1164)
  • Support for ENTERED keyword on array fields (#1177)
  • Fix parser exception on incorrect store type (#1175)
  • Fix DynamicObject rule (#1169), UnusedVariable rule (#1182), INIFileAssignment (#1168), FunctionNamingConvention (#1172), StatementOrder (#1176)
  • New rules: CognitiveComplexityTooHigh (#879), ConditionalExpressionBrackets (#1152)