Known issues in OpenEdge 13.0
- Last Updated: February 18, 2026
- 1 minute read
- OpenEdge
- Version 13.0
- Documentation
Click here for a list of the fixed issues.
The following table lists the release notes for this release:
| Component | Issue Number | Description |
|---|---|---|
| DB | OCTA-68442 |
For multi-tenant and partitioned tables, the _Event-Context field of the _Aud-audit-data records for audit event IDs 5100, 5101, and 5102 was missing the tenant or partition identifier. Without this information, it is sometimes impossible to identify which record was changed. The _Event-context field for audit records of these policies will display this information using the partition identifier instead of the name used for auditing events of other policies. For multi-tenant tables, this partition identifier can be mapped to the tenant or group using the _Tenant and _Partition-Set tables. For table partitioning, the identifier can be mapped to the partition through the _Partition-Policy-Detail table. |
| Install | OCTA-87675 |
Issue When both 32‑bit and 64‑bit WebClient components are installed on the same system,
uninstalling one of them inadvertently unregisters the
shared Affected Scenarios
Cause Both installers share the same DLL registration logic. During uninstallation, the DLL is unregistered regardless of whether another WebClient version still requires it. Workaround Manually re-register the correct PSCCab.dll after uninstalling either WebClient version. Register the 32‑bit DLL
Register the 64‑bit DLL
|
| Lang | OCTA-51154 |
In previous releases of OpenEdge, accessing an unqualified property (val = myProp) is faster than accessing a property qualified with THIS-OBJECT (val = THIS-OBJECT:myProp). This discrepancy has been fixed. To take advantage of the performance improvement you must re-compile classes that have references to class properties and variables which are qualified by THIS-OBJECT. |
| Lang | OCTA-72343 |
In past releases on Linux, the name of an OOABL class name had to exactly match the on-disk class name the first time a class was encountered during an ABL session. After the first reference, the AVM would cache the class name and r-code information. Any reference to the class name after the first would accept any capitalization as the cache lookup was performed case-insensitive. This bug primarily impacts Linux where the file systems default to being case sensitive. On Windows, this is less of a problem because the file system is case-insensitive by default. This resulted in inconsistent behavior at both compile time and runtime behavior. Depending on the order the class name was encountered, a compilation or class load may or may not compile if inconsistent capitalization is used. This bug has been addressed and now class names must always be cased correctly in all situations, including compile time and dynamically at runtime. Runtime changes directly impact statements such as DYNAMIC-NEW, DYNAMIC-CAST, GET-CLASS(), etc.. A startup parameter is introduced that controls this behavior: “-casesensitiveclasses [1|0]”. For OpenEdge 13.0, the new behavior defaults to enabled (1) on Linux, and disabled on Windows (0). You may revert to the old behavior using “-casesensitiveclasses 0”. For OpenEdge 12.8, the new behavior defaults to disabled (0) on both Windows and Linux. The behavior change and startup parameter affect references to user defined class names, including the names of Interface, Enum, ABL classes, and all .NET class names. Built-in class names, i.e. those appearing in the “Progress” internal package, are not affected and may continue to use any capitalization for first or secondary references. Note also that the class’s own name used within the CLASS statement must match the exact capitalization of the on-disk file name. Names of properties, methods, variables, etc. are not affected. The capitalization of constructors and destructors is not affected as these are considered methods. With this change, you may need to correct class references in ABL code to compile your application. You may also need to review and test any class names used to dynamically load classes such as with applications that use reflection-related language features. |
| Lang | OCTA-16052 |
When a Browse has a join query where its temp-tables are members of a ProDataSet and a browse row is selected, we no longer automatically synchronize the hierarchy of queries for each temp-table buffer in the query. When a Browse has a non-join query (i.e., single buffer), the buffer temp-table is a member of a ProDataSet, and a browse row is selected, we will only synchronize the query hierarchy of the temp-table buffer if the buffer's AUTO-SYNCHRONIZE attribute is set. If your application was inadvertently depending upon this behavior you can revert back to old behavior by specifying the client startup parameter -browNewSync, or you can turn on a buffer's AUTO-SYNCHRONIZE attribute where appropriate. |
| Lang | OCTA-3701 |
When an ABL class inherits from a .NET class, and you use that ABL class with a .NET class (ex. assign it to a .NET object's property), the ABL class now exposes all scalar properties that have a corresponding .NET datatype, except for those defined as static, private, or package-private. In prior releases, the ABL only exposed properties that had CHARACTER and LONGCHAR datatype. |
| Lang | OCTA-58283 |
If an ABL property or method overrides or implements a .NET property or method, and the .NET property or method's return type is a value type that is not defined as nullable, and the ABL property or method has a code path that does not have a RETURN statement, or its RETURN statement returns an unknown, then a .NET exception is likely to occur. Given this, a compiler warning is now displayed for this case, in order for the customer to fix their code, thus avoiding a .NET exception from occurring. |
| PASOE | OCTA-85096 |
An upgrade of Spring Security 6.x needs removing usage of three deprecated classes:
Those classes generate ‘X-Frame-Options’ header, which was designed to prevent hacker attacks like Cross-Site Scripting (XSS). Most modern browsers do not support this header. Instead there is another header ‘Content-Security-Policy ‘, which could be used for the same purpose. Default value ‘X-Frame-Option’ is DENY. It basically has the same meaning as Content-Security-Policy: frame-ancestors 'none'. Some oeablSecurity properties should be removed and new property was added: Removed properties:
Added properties:
Possible values:
|
| Sonic ESB Adapter | OCTA-87891 |
During the installation of the OpenEdge ESB Adapter as an individual component, users on the Linux platform encounter the following error: “The OpenEdge installation failed to register with ESAM. For more details, ask an administrator to check the <Full path to esam.log>” Ignore this error and proceed with the installation. In addition, the following message is logged in the esam.log file:
Ignore these errors and messages, as ESAM registration does not affect the functionality of OpenEdge ESB Adapter. Note: When the OpenEdge ESB Adapter is installed alongside any additional component, this
issue does not occur during installation.
|