Released on February 10, 2026.

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

The following table lists issues fixed in this release:

Tip: To search for specific issues, enter keywords in the relevant filter.
Component Issue Number Description
ABLTOOLS / Lang OCTA-79056

The StringStringMap (and to a lesser extent the StringKeyedMap) classes in OpenEdge.Core.Collections were given internal performance improvements through the new Progress.Collections.HashMap class, but introduced a regression in certain behaviors. Both classes were returning a collection of Values as a unique Set as opposed to a positionally and complete List of objects, which caused a disagreement in the Size of the map object contents as well as altering the expected results. Specific to the StringStringMap class when adding a new entry pair where the value may be the unknown value ?, the returned object would remain unknown which could break ABL code which always expected an object. In the case of the StringStringMap this should always be a String object (or technically, any ILongcharHolder object) allowing a developer to iterate over the map and access all expected properties of that object.

ADE OCTA-77750

Infinite loop with error 1388 when loading a delta df

ADE OCTA-79206

DF load reports error 91 on a non-user table named wdix

AdminServer OCTA-84175

The dbman command fails when the -host localhost parameter is not specified while trying to connect to the local AdminServer.

AdminServer OCTA-52529

Daily prolog database log file truncation at 00:00 is enabled by default when an OpenEdge database is started through the adminserver

DataServers OCTA-71693

When FIND statement is called inside the FOR EACH with NO-LOCK or SHARE-LOCK statement on the same table having CML columns, and all the result set does not fit in the look-ahead cache and the lookahead cache needs to be re-filled. This may result in inconsistent data fetch for CML columns.

DataServers OCTA-60500

Compile of ABL class with FIELDS() against DataServer results in crash if the class or its parent class attributes matches with the parameter of FIELDS.

DataServers OCTA-60494

Memory access violation occurs in OpenEdge Oracle DataServer when accessing an UTF-8 enabled Oracle database which has large VARCHA2 column of size 32767 or more.

DataServers OCTA-40780

The user, when trying to create, update, or delete a record from the ABL application to an MS SQL database table that is locked exclusively (TABLOCKX) by a different process at the same time, shows the error, “ in use by another user on tty ?. Wait or choose CANCEL to stop. [2624] “ with no table name as the first word in the error dialog box. The ABL client application started with -catchStop 1 when handling the lock conflict exception in procedure file crashes after clicking cancel on the error dialog box.

DataServers OCTA-79613

The DataServer application could crash after a CRC error occurred as AVM continued the application execution even after this error. The AVM has been updated to stop execution of application after the first CRC error to prevent unsafe execution.

DataServers OCTA-77408

Compiler crashes with ACCESS_VIOLATION when compiling Pro2 generated code that creates CLOB with extent in MS SQL server and then the table is pulled by checking “Default to OpenEdge LOBs” in pull screen.

DataServers-MSSQLSRV OCTA-40779

The user, when trying to create, update, or delete a record from the ABL application to an MS SQL database table that is locked exclusively (TABLOCKX) by a different process at the same time, shows the error, “ in use by another user on tty ?. Wait or choose CANCEL to stop. [2624] “ with no table name as the first word in the error dialog box.

DB OCTA-56069

Diagnostic Data Collection logs show imprecise time stamps

DB OCTA-70105

-sw and -swl do not suppress some warning messages like 1531

DB OCTA-76059

dbanalys fails with error tableAnalyze: Internal error upgradeCount failure, inst ret:1. (15892)

DB OCTA-69212

CDC change tracking records are not being created when using a remote session to the database

DB OCTA-40439

Updating a non-index field does not get the downgraded flag after transaction

DB OCTA-68088

dbanalys area command is failing if the area name begins with the word area, tenant, group or shared

DB OCTA-83323

Proutil conv1112 replsource disables AI Archiver and doesn't enable it again

DB OCTA-70307

conv1112 fails on replication target that already has the replication and AI both disabled.

DB OCTA-76736

Most AI files are LOCKED after switching from a two-target replication to one-target, although replication is in sync and normal processing.

DB OCTA-71585

Online increase of -L value does not increase the amount of locks a tenant user is allowed to use

DB OCTA-70321

Source DB fails to start with the misleading error (10430)

DB OCTA-69077

Help message for error 10601 has wrong information about extent max size

DB OCTA-61775

dsrutil logins visible in db log even when -omitLgMsgs set to omit 452 and 453.

DB OCTA-57087

promon reports -n 32000 for former repl target after transition failover

DB OCTA-80124

prorest command estimate is off when the threadnum parameter is omitted

DB OCTA-76641

When disabling -lgArchiveEnable feature, the interim log file that is created does not get closed.  Even trying to force the log to rotate with PROLOG fails to close the file.

DB OCTA-61489

AIMGT online fails to start with error 2519 and 2527 in database log file.

DB OCTA-67186

Prorest describe not working on some of the backups

Generic JMS Adapter OCTA-57121

JMS adapter will not start if the classpath configured in the JavaTools.properties file exceeds the command line length limit allowed by jvmStart.exe.

Generic JMS Adapter / PASOE / STAT OCTA-72563

BrokerConnect’s default logging for the Generic JMS Adapter logs frequent 'In SessionContainer()' messages for every JMS session.

Install OCTA-29312

The “Enter” key does not work in “proupdt” preventing updates for multiple licenses.

Install OCTA-34415

When a silent install is attempted, and the OE installer is for a machine type incompatible with the machine type of the machine on which the response.ini was generated, the messages returned do not indicate that the discrepancy exists.

Install OCTA-36907

During installation, the validation step for PowerShell version does not pass, causing the installer to fail even though the required version is present.

Install OCTA-66511

Below registry key is not being created when using netsetup install.

« Computer\HKEY_LOCAL_MACHINE\SOFTWARE\PSC\PROGRESS\12.8 » , Key « WorkPath »

Install OCTA-67814

The “Progress OpenEdge Management Service 12.2” Windows Service from an OpenEdge 12.2 64-bit installation is removed after uninstalling OpenEdge 12.2 32-bit.

Install OCTA-80024

When applying the OpenEdge 12.8.8 patch on a system running Windows Server 2025, the ESAM component fails to install, displaying a Java InvocationTargetException (LAX error). This issue does not occur on Windows Server 2016 using the same Java version (Temurin 17.0.15+6) and installation steps.

Install OCTA-38897

Client Networking MSI package does not tailor install path to the short path notation.

Install OCTA-29310

When running the proupdt utility, the cursor does not begin in the first text field.

Install OCTA-83173

Installing OpenEdge 12.8.9 silently with a CUSTOM installer .ini file results in the installation failing with error:

Could not get the “javaHome” entry from the “International Settings” section of install.ini

Lang OCTA-79626

When an include file is not found, the AVM issues error message 293:   “<file-name> was not found.  (293)”.   A new message was introduced to specify  the name of the file that includes the include file : ** "<file-name>" included in "<file-name> was not found. (21104)".

Lang OCTA-77532

When using RAW-TRANSFER to push a buffer into a raw field, whose buffer size exceeding max record size, the error displayed is not user friendly.

Lang OCTA-84562

The syntax check process may become unresponsive when it encounters an include argument that has not been defined.

Lang OCTA-83075

Doing a buffer-value comparison of a dynamic CLOB crashes the AVM

Lang OCTA-3463

All variables and properties must be defined in the class file prior to referencing them. The ABL compiler fails to forward declare variables and properties defined in class files. When defining a class one should be able to reference variables and properties before they are defined.

Lang OCTA-21262

While trying to extract definitions from an XSD file that include elements without a type attribute using the bproxsdto4gl results in the following errors:

Unable to find complexType definition . (13121)

Unable to create Temp-Table or dataset schema from XML Schema. (13032)

Lang OCTA-79894

The 4GL trace log entry for the RUN of a SAX callback does not get logged (the “Return” log entry does get logged).

Lang OCTA-58551

Deleted JSON object reference is reused immediately

Lang OCTA-61320

JSONObject:GetNames() can cause session to crash when handling large arrays after reaching the stack (-s) limit.

Lang OCTA-66462

READ-XML/READ-JSON do not provide a helpful error message when they cannot infer a dynamic dataset definition from XML/JSON Data when an element name is present as an immediate nested child of an element with the same name, and that name is an ABL keyword.

Lang OCTA-82787

When compiling a program with the XREF-XML option, the error “Error in DataSet relations information during XREF-XML” can occur with very large dataset definitions.

Lang OCTA-72217

The AVM may crash when compiling class hierarchies with MULTI-COMPILE on when a class in a hierarchy is loaded from r-code.

Lang OCTA-75378

A database crash can occur when a client creates an index key that exceeds the database's size limit.

Lang OCTA-81003

COPY-LOB to/from a FILE can crash with path names greater than 255 characters long.

Lang OCTA-59785

The AVM crashes while trying to compile a statement with an “IF THEN ELSE” used as a parameter in a RUN statement.

Lang OCTA-67761

The ABL session may crash when accessing a buffer from a dataset using the shorthand notation (dataset-handle::buffer-name) and the buffer is not part of the dataset.

Lang OCTA-82676

ProxyGen generates an incomplete WSDL document when processing multiple procedures that contain the same ProDataSet parameters, but with different XML-NODE-NAME / SERIALIZE-NAME values.

Lang OCTA-78597

When referencing a default buffer, and later on having a DEFINE BUFFER statement on that buffer with the same name may cause your program to crash with SYSTEM ERROR: Memory violation. (49).

Lang OCTA-3129

Assigning a multi-byte character to a .NET property of System.Char raises error 15578.

Lang OCTA-3294

Subscribing to a .NET event defined as a member of a generic type results in a System.ArgumentException being thrown.

Lang OCTA-3448

When passing a prodataset to a class with BY-REFERENCE and in the class  the dataset is defined with a named static buffer, this can trigger a  session crash in WRITE-XML.

Lang OCTA-3667

COPY-DATASET does not work for a ProDataSet defined with a  recursive data-relation. The data is copied correctly, but if the ProDataSet is attached to a BindingSource, the data is not displayed correctly in a control .

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 only ABL properties that are exposed are CHAR and LONGCHAR datatypes.

Lang OCTA-10829

Error message “Unable to find persistent procedure handle (Proxy %l)for running %s“ is missing a PROMSG number.

Lang OCTA-16052

When a Browse has a join query with temp-tables from a DataSet, and a row is selected, the child row’s buffer does not necessarily match the row just selected.If the join query has temp-tables not part of a DataSet, the problem does not occur.

Lang OCTA-17460

The ALT key is stripped from key sequences when using the READKEY statement in a GUI environment.

Lang OCTA-39046

Using BROWSE:NUM-LOCK-COLUMNS = 4 and setting LABEL-DCOLOR for the BROWSE columns during a CURSOR-RIGHT or CURSOR-LEFT trigger, the column labels of the 4 locked columns are not refreshed properly.

Lang OCTA-84755

Report Engine crashes without displaying an error when exiting after generating a report.

Lang OCTA-43465

Applying “row-display” displays incorrect values for cells with updated formats

Lang OCTA-61513

The OpenEdge Client crashes compiling statements that have expressions with both OO references and certain built in functions when the require-full-keywords compiler option is enabled.

Lang OCTA-67675

A RUN statement will not compile if name of the file to be compiled is unquoted and contains more than a single parent directory reference (e.g. ../../program.p) at the beginning of the path.

Lang OCTA-67714

The ABL compiler allows periods in the file name of a .cls file. The resulting r-code cannot be instantiated.

Lang OCTA-68762

Java Open Client library MANIFEST.MF refers to incorrect version of oeauth library.

Lang OCTA-69078

When passing  a DATASET-HANDLE BY-REFERENCE to a procedure, and then calling DELETE OBJECT on the DATASET-HANDLE in that procedure, an error occurs.

Lang OCTA-71241

An error is raised at runtime when NEWing a class instance of a hybrid OOABL object when an ABL method overrides a .NET method and the ABL method is a different case from the .NET method it is overriding.

Lang OCTA-71566

The compiler does not report errors against abbreviated database fields used in a variable or temp-table field LIKE phrase when the require-full-names option is used.

Lang OCTA-75169

With QUERY-PREPARE, the : character followed by whitespace indicates that the parser has reached the end of a statement so it stops parsing the string at that point. Anything that comes after the : is incorrectly ignored without error.

Lang OCTA-78460

When loading r-code for a class, the AVM performs a case insensitive comparison of the class defined by the r-code against the expected class name from the caller, even when -casesensitiveclasses startup parameter is set to 1.

Lang OCTA-61122

Using PROCESS-EVENTS when displaying data in a Browse results in UI event triggers not running.

Lang OCTA-82345

ABL hybrid objects that implement a .NET interface may cause the .NET bridge to leak a ProxyHandleHolder object.

Lang OCTA-77155

Startup time of the GUI client (prowin/prowin32/prowc) may be significantly slower when progress.ini is located on a shared network drive than when it’s located on the same machine the client is running on.

Lang OCTA-58887

Unique index violation error message missing field names for Temp-tables

Lang OCTA-57357

If the option “TCP-STARTTLS” is set directly, e.g. “hSocket:set-socket-option(“TCP-STARTTLS”, ““:U).”, a compile error occurs.

Lang OCTA-82791

IMPORT from File into Temp-Table ignores the last value in the last line if there is no LINE-FEED

Lang OCTA-59474

Error 4043 “DITEM is not large enough to hold string” occurs when changing the SCREEN-VALUE of a character browse cell with a format greater than “X(3553)” to the unknown value in a session running with cpinternal utf-8.

Lang OCTA-60228

If the application creates a database alias name longer than 23 characters, then when the alias is retrieved by the ALIAS function, it displays with lots of ‘ÿÿÿÿ’ characters appended to it.

Lang OCTA-60317

Incorrect database trigger may get called if the trigger path and file name are a little more than 80 characters.

Lang OCTA-60485

The Proinventory diagnostic utility crashes when reading a ubroker.properties file which contains more than 255 sections (260 on Windows).

Lang OCTA-61354

Incorrect index name may be displayed in the error message when size of the key values for an index exceeds the limit.

Lang OCTA-61684

Dynamic method FIND-FIRST requires a transaction if using EXCLUSIVE-LOCK on a temp-table.

Lang OCTA-66782

Getting error 11748 after updating WSDL

Lang OCTA-67326

A GUI client which is running in batch mode as a Windows service will appear to hang if an alert box is displayed to show a message or error.

Lang OCTA-57081

Using OS-COMMAND statement along with the OUTPUT TO statement may fail if the command-token contains spaces.

Lang OCTA-67653

Running PCT/ant compile with cmd.exe crashes 12.8 and 12.2 client process.

Lang OCTA-68952

Crash after Attempt to update data exceeding 32000. (12371)

Lang OCTA-69261

Error 8826 is reported on _Connect table when making changes to a field in the schema and connected to the database in client/server mode.

Lang OCTA-69474

The cursor is not reset to the first position in the fill-in when RETURN NO-APPLY is executed in the LEAVE trigger of a fill-in in a CHUI application (character interface).

Lang OCTA-70284

The AVM may crash when generating a “Detailed Table” report in the Data Administration tool when -cpinternal is set to UTF-8.

Lang OCTA-71286

Dynamic object logging for the BinarySerializer:Deserialize() method shows an entry for a MEMPTR allocation without a matching deallocation

Lang OCTA-71792

The XREF file may list incorrect line numbers after conditionally compiled code which contains a quoted string.

Lang OCTA-72226

ABL Debug Alert Stack Trace missing for WEB transport in PAS agent.log

Lang OCTA-72822

Using TENANT-ID() in TENANT-WHERE clause causes a compiler warning or error to be raised if you enable the require-field-qualifiers compiler option.

Lang OCTA-74925

Compile with XREF fails on ENUM when SAVE is FALSE and r-code exists, generating error 18363

Lang OCTA-75034

The AVM may crash when checking whether a user is an administrator while defining database auditing permissions. This occurs when no users have yet been added in the database.

Lang OCTA-67810

The SUPER-PROCEDURES property on the Procedure Handle contains incorrect representations for handle values greater than 2,147,483,647.

Lang OCTA-75468

The cursor position may move incorrectly when the CURSOR-LEFT or CURSOR-RIGHT event is applied to a fill-in which contains multi-byte characters.

Lang OCTA-57009

The PUT-KEY-VALUE statement does not remove key on PASOE or character client when specifying the unknown value or an empty string as the key value.

Lang OCTA-56854

A syntax error is reported when passing a dataset handle as an input parameter for functions

Lang OCTA-82774

The PASOE session crashes when any method of the CLIPBOARD system handle is queried or set.

Lang OCTA-82768

Obsolete reference to manifest file in prohlc readme.wri file.

Lang OCTA-82675

PNG images which use alpha channel transparency may not be rendered correctly when they’re displayed on image and button widgets.

Lang OCTA-75752

The Procedure Editor auto-cases keywords which are used in identifiers such as class names, database field references, and filenames. For example, in “Progress.Lang.Object”, “customer.name”, and “filename.p” the words “Progress”, “Object”, “name”, and “filename” are part of an identifier and should not be auto-cased.

Lang OCTA-82632

prolib -list may crash if a procedure library contains a file whose path is longer than 127 characters.

Lang OCTA-81850

The pro, bpro, and mbpro batch files only recognize the first 9 arguments provided on the command line. If 10 or more arguments are passed to the batch file, only the first 9 will be passed to the AVM.

Lang OCTA-80493

AVM may crash when compiling a program that uses the REPLACE function with only two parameters in the WHERE clause, instead of the expected three.

Lang OCTA-79985

Contains() on KeyValuePair does not check both Key and Value objects

Lang OCTA-78585

ABL session may crash if the memCheck or DbCheck options are enabled on a shared-memory database connection.

Lang OCTA-56974

ELSE or THEN followed by an END within ABL will compile successfully but results in suppressible warning (20971).

Lang OCTA-77691

AGGREGATE statement crashes prowin when executed from memory mapped pl

Lang OCTA-77826

In the Procedure Editor, pressing Shift-Delete will not remove the current line if no text is selected.

Lang OCTA-10137

The OpenEdge Web Service client crashes if an incorrect SOAP Response is returned by the SOAP Web Service.

Lang OCTA-22577

The session may crash when using keyword help (select a keyword and press F1) in the Procedure Editor.

Lang OCTA-39326

When using OpenEdge with HLC functionality the client process does not search the registry or a .ini file for the PROHLC environment variable.

Lang OCTA-46103

When an ENUM is defined with its path in the name and also has a USING statement referring to the same directory, then the AVM will crash while compiling the enum when the path is removed from the enum name. If an automatic syntax check is active the AVM will even crash on showing the ENUM in an editor.

Lang OCTA-52498

Variable details of the dynamic buffer become corrupted in the debugger when the field value contains a line break.

Lang OCTA-52772

Error 16488 doesn’t report the name of the index that is failing.

Lang OCTA-54965

proenv fails when used as a source file

Lang OCTA-56545

Compiler error where phrase parsing to handle .NET indexed properties.

Lang OCTA-8708

Error “Entry is outside the range of list” occurs if the aggregate size of the report list returned by aderb/_getname.p (get report names from a Report Builder report library) is greater than 4096 bytes.

Lang OCTA-75650

A QUIT statement in an AppServer Activate procedure does not reset the ABL Session to its initial state.

Lang / PASOE OCTA-80877

PASOE agent may crash when committing a transaction using a TRANSACTION-MODE AUTOMATIC procedure, if there are buffers in scope that have changes not committed, there are write triggers for those buffers, and one of the buffers is released in the process of running the write trigger on another buffer.

OEM OCTA-32401

Database lg archive and truncation properties (lgtruncatefrequency, lgtruncatetime) ignored when set under oem.

OEM OCTA-50589

When starting a database using dbman, the lgTruncateFrequency parameter is incorrectly set to 0 instead of its default value -1

OEM OCTA-79864

When using the log file monitor via OpenEdge Explorer with a Polish PROMSGS file, only the first 50 rows load successfully. Attempting to load additional rows causes the interface to freeze with a continuous loading message.

OEM OCTA-66892

Process Pooling port number can not be changed without an initial startup.

OEMP OCTA-81876

The Memory Profiler installer doesn't set the collation -cpcoll parameter for the 'oemp' PAS instance it creates.

PASOE OCTA-80774

includeAllClaims doesn't import all claims to the Client Principal object

PASOE OCTA-80844

Warning 'Error retrieving bean with name 'jwkWebSelector'' can be seen in logs

PASOE OCTA-76414

sharedAuthFilters.xml missing OEClientPrincipalFilter.userinfo.accept

PASOE OCTA-82495

Exception thrown “Failed to load JWS keys” starting a PASOE instance after publishing a web app.

PASOE OCTA-79677

The jwtToken.includeAllClaims property in oeablSecurity.properties does not work in OpenEdge 12.8 .

PASOE OCTA-81469

OAuth2 authentication fails when the response from the JWK URL contains carriage returns and line feeds.

PASOE OCTA-83049

The test_server_SHA256.pem and other test certificates in DLC\keys will expire in December 2025.

PASOE OCTA-38537

agentMinPort and agentMaxPort range requires at least one more than the value of numInitialAgents

PASOE OCTA-80819

PASOE agent is crashing with “-5000” status and signal 11 when ABL sessions are terminating with an INTERRUPT

PASOE OCTA-80197

PASOE agent is crashing with “-5000” status and signal 11 when ABL sessions are terminating with an INTERRUPT

PASOE OCTA-79895

PASOE ABL Session crashes when processing a TLS Session Ticket.

PASOE OCTA-78149

PASOE Web transport service reports as memory violation error 49 and crashes

PASOE OCTA-77060

OpenEdge TLSv1.3 socket response is empty if the server response exceeds approximately 1.5 seconds.

PASOE OCTA-60365

The OEMANAGER utility on Windows fails when it is executed outside of the \bin directory.

PASOE OCTA-55841

PASOE Agent Truncates openedge.properties PROPATH if longer than 2048 bytes.

PASOE OCTA-77147 OEAG generated client-principal properties are not transferred to the client request
PASOE / Security OCTA-80985

CVE-2025-48913 CVSS Score: 7.5

Libraries updated: cxf-rt-features-logging 4.1.3, JAXB jar 4.0.5, Woodstox 7.1.1

Components affected: PASOE

PASOE / Security OCTA-79665

CVE-2025-49125, CVSS Score: 7.5

CVE-2025-48988, CVSS Score: 7.5

CVE-2025-53506, CVSS Score: 7.5

CVE-2025-52520, CVSS Score: 7.5

Libraries updated: Apache Tomcat-10.1.41

Components affected: PASOE

PASOE / Security OCTA-68810

Multiple CVEs reported against Tomcat 10.1.4, unused file in product

Libraries updated: Removed tomcat-juli.jar (Tomcat 10.1.4)

Components affected: PASOE

PDSOE OCTA-61965

PDSOE requires an unusually long time to shut down the javaw process, when working with large multi‑project workspaces

PDSOE OCTA-60592

Developer Studio hang after minimizing Project Explorer view on Windows 11

PDSOE OCTA-61962

PDSOE shows empty PAS logfiles in Log Viewer panel when changing the agent working directory from OEM

SQL OCTA-83367

Upgrading JDBC driver containing fix for a security vulnerability of CVSS score 8.6 along with other memory leak and deadlock related issues with DataDirect JDBC driver.

SQL OCTA-83136

Getting record validation failure on the data inserted in pub.”_SQL_Properties” and pub.”_sysstatuse” tables using AUS (Autonomous Update Statistics) feature.

SQL OCTA-82623

Getting “SYSTEM ERROR related to idxcheck on PUB._SQL_Properties, _Idxsqlproperties in db.lg after running idxcheck utility where AUS (Autonomous Update Statistics) was already enabled.

SQL OCTA-81772

A user-defined function (UDF) gives the incorrect output if the call to the first row produces a null value, then calls for the rest of the rows produce the same value.

SQL OCTA-81248

OE SQL Server crashes when UDF receives null as an argument and it also runs SQL queries and processes the results.

SQL OCTA-59205

CDC data changes coming from data located in horizontal partitions cannot be processed using SQL using the values stored in _cdc-change-tracking._Recid

SQL OCTA-56911

sqlexp fails to connect to OpenEdge database when SSL is enabled and full path to keystore is provided where the path has colon (:) in it

SQL OCTA-54898

The TO_CHAR function is returning incorrect values for the week of the year when using the WW format specifier.

SQL OCTA-55277

Arithmetic plus operator used for concatenation of strings involving case operation is generating an internal error.

STAT OCTA-77062

The Kafka Message Producer does not allow an unknown value in the OpenEdge.Messaging.RecordBuilder