Released on December 10, 2024.

Click here for a list of known issues (release notes).

The following table lists issues fixed in this release:

Component Issue Number Description
ABLTOOLS OCTA-66822

In the case of a "DO STOP-AFTER" condition raised by application code which makes a call via an HttpClient object instance, some cleanup actions for the request do not appear to take place. With this fix, an assumption is made that an interrupted HTTP request will never return a viable response so there's no need to keep a response object (and its children) in memory. Therefore, the STOP condition is caught via the Progress.LangStopAfter (or Progress.Lang.Stop) error we can use that CATCH block to perform immediate deletion of the now-unused response object since that cleanup would not be accomplished via the existing FINALLY blocks.

DataServers OCTA-70221

Invalid Oracle statement generated for 4GL reposition dynamic queries under 12.8.x, when actual query is ordered by ASC but reposition query is ordered by DESC. This was resulting in application failure.

DataServers-ORACLE OCTA-61135

For the INDEXED-REPOSITION query, REPOSITION-TO-ROWID may return error 7313 when the table’s schema definition size is greater than 32k, and a procedure (.p) is run twice in the same session.

DB OCTA-68442

For multi-tenant tables, the _Event-Context field of the _Aud-audit-data records for audit event IDs 5100, 5101, and 5102 is missing the tenant identifier

DB OCTA-68736

Index corruption may occur during record creation or update if an index key entry is at the maximum key size and the last component of that key entry is an empty string.

DB OCTA-67994

After a Idxbuild the SQL access doesn't work anymore

DB OCTA-68933

Replication agent note application on target database fails with error 15706

DB OCTA-58746

Replication server returns (19679) when reconnecting to replication agent

DB OCTA-68960

RPLS does not seem to properly clean-up when the process crashes

DB OCTA-69026

proutil conv1112 fails when encountering a role name longer than 32 bytes.

DB OCTA-68093

Database intermittently does not allow more connections to the database after a self-service connection was terminated or crashed while it was holding login semaphore.

Docker OCTA-66922

Unable to create SAX Reader due to missing libnsl in OE docker images.

Install OCTA-71198

12.8.4 install changes file permissions from user settings.

Install OCTA-61890

Upgrade process resets setuid bit and does not preserve file ownership.

Install OCTA-68568

OpenEdge Installer does not detect whether the fathom service is running or not when the admin service is down.

Install / Security OCTA-61892

Update installer does not preserve file ownership.

Lang OCTA-70027

A color setting in the Colors section of the Registry on Windows is ignored if the setting's value is a color name instead of an RGB value. All subsequent color settings in the Colors section will also be ignored even if they use RGB values.

Lang OCTA-67297

There is an issue when generating XMLs from a ProDataset which contains temp-tables bound to and filled in a called procedure. In this case, the XML-NODE-NAME/SERIALIZE-NAME values are not preserved when the called procedure completes.

Lang OCTA-61667

Object references in a (undo) temp-table record become invalid if the record gets deleted  and the the transaction is rolled back.

Lang OCTA-57977

Having too many initial value results in hitting the IVS segment limit which generates the limitation error message 3307.

Lang OCTA-22713

Memory leak when using an expression that returns a LONGCHAR/MEMPTR  as input to a .NET method.

Lang OCTA-68725

Invoking a procedure, function or method from within a CATCH block for a STOP-AFTER condition causes STOP-AFTER not to be in effect anymore if it was defined in an outer block.

Lang OCTA-53243

OpenEdge 12 FOR EACH with CAN-FIND results are inconsistent with client server connections.

Lang OCTA-67765

Reference to class containing fields or methods marked as internal in .NET library fails to compile with error 15584

Lang OCTA-68915

READ-JSON fails to parse a JSON string where a  temp-table record contains no fields, i.e. “{ }”.  This indicates that the fields in the record contain their initial value, with the exception of child fields in a NESTED DATA-RELATION.  This can happen during WRITE-JSON when fields are marked SERIALIZE-HIDDEN, fields are children of a NESTED DATA-RELATION that specifies FOREIGN-KEY-HIDDEN, or when omit-initial-values is specified as an argument to WRITE-JSON..

Lang OCTA-61891

Results of a query using Server-Side join may not return the proper records if a child table uses BY clauses that can be covered by an index in reverse order of the index (for example, the BY clause uses DESC and the index is in ascending order).

Lang OCTA-69177

Dynamic query with an IF function that contains a constant value as the expression for either the THEN or ELSE phrases can cause  OE 12 client to fail when connected to an OpenEdge 11 database. The database server .lg file will contain error “Incompatible datatypes found during runtime conversion”

Lang OCTA-66819

The COMPILE statement causes an ABL session to crash if using the XREF-XML option and compiling a class that defines an event with the DELEGATE option.

Lang OCTA-66732

Client running a FOR loop with a server-side join against an  OpenEdge database in client/server mode can receive error 778 when the FOR block is in an internal procedure/function/method, and it contains the RECID function on a table that is not part of the join, but it is scoped to the main block.

Lang OCTA-66515

The OVERLAY statement may produce an incorrect result when the expression being inserted is longer, in bytes, than the area which is being overlaid. For example, this can happen when inserting multi-byte characters over a string which contains single-byte characters.

Lang OCTA-54964

The prodataset READ-XML method causes the client session to crash if a CLOB in one of the dataset temp tables has XML data in other tables in the same or higher XML level.

Lang OCTA-69234

When a parent class defines a global buffer and a child class that inherits from the parent defines the same buffer locally in a method, when the method is called, the session will crash.

Lang OCTA-9112

When CODE-COVERAGE is enabled in the file passed to -profile option for ABL profiling, ABL statements including FINALLY, CATCH, and END CASE are not recorded as executed in the line summary information in the profiler out file (.prof). However, the coverage data section clearly indicates that these statement lines are executable based on the line number information.

Lang OCTA-61964

ProDataSet READ-XML and READ-JSON methods can cause the ABL session to crash when the XML/JSON document contains a record nested inside of itself.

Lang OCTA-68502

If a callback procedure of a socket connection is executed while the user is interacting with the user interface (UI), some UI events may not be generated.

Lang / PASOE OCTA-58934

Memory leak when .NET exception is thrown and -errorstack is enabled

OEM OCTA-60400

OpenEdge management is giving memory usage alerts for memory usage above 100%

PASOE OCTA-67655

Client HTTP Sessions with State = READY and Session State RESERVED stay more than 15 seconds.

PASOE OCTA-48402

“pasman start” behaves differently between 12.5.2 and 12.2.9 when using variables in setenv scripts

PASOE OCTA-67708

PASOE instance hangs on Windows if a warning / error is raised and %DLC%\bin\promsgs.dll is missing.

PASOE OCTA-68160

Performance degradation in PASOE SOAP transport in OpenEdge 12 compared to OpenEdge 11.7

PASOE OCTA-68215

Since applying the 12.2.14 update, when calling the stop agent action in the oemanager rest api, the waitToFinish option is no longer respected. Getting the below error:Wrong number of bytes read by ub_read(). (8122) Alternately (more often) seeing fewer records returned in a temp-table parameter to the client than were returned from the AppServer.  With no error.

PASOE OCTA-28015

Unable to undeploy second or higher webapps if there are more than one webapps in the same ABLApplication and PASOE Instance

PASOE OCTA-69751

In previous releases when PASOE is configured for oauth2 it supports only a single audience for validation of oauth2 tokens.This change allows specifying a comma-separated list of valid audiences for the oauth2.resSvc.audience property in oeablSecurity.properties.

PDSOE OCTA-60467

PDSOE reporting an error when typing “type-name” string in the editor.

PDSOE OCTA-62039

Developer Studio ABL source code fails strict compilation test for PDSOE code when strict compiler options are passed to startup parameters

PDSOE OCTA-57131

Ctrl+Shift+O (Organize Imports) deletes existing USING statements in ABL code

PDSOE OCTA-57099

The Ctrl+I shortcut breaks ABL code block indentation when there is a variable defined as an enum such as DataGrid+HitTestType.

PDSOE OCTA-57132

Autocompletion does not work as expected  with enum class references. When selecting a class from the autocompletion list, the cursor ends up in the middle of the class reference instead of at the end. Additionally, autocompletion is unable to locate enum class members, causing them to be missing from the selection list.

PDSOE OCTA-57083

Variable INT64 getting lower cased on selecting Expand Keyword option(Ctrl + shift + 1)

SQL OCTA-30880

SQL connection attempt to SSL enabled database when SSL certificate has expired after database was started causes _sqlsrv2 process to use 100% CPU.

SQL OCTA-57760

OpenEdge SQL Server (_sqlsrv2) process’s memory usage is growing endlessly when it connects and disconnects to auxiliary databases multiple times.