What's New in OpenEdge 13.1
- Last Updated: October 12, 2026
- 10 minute read
- OpenEdge
- Version 13.1
- Documentation
|
OpenEdge Release 13.1 delivers enhancements in the following product areas: |
Developer Productivity and Modernization
- Boost productivity and efficiency.
- Modernize existing applications.
Support for Collections and Generics in Developer Studio
Progress Developer Studio for OpenEdge now supports generic types and collection syntax in
OpenEdge ABL. You can use the built-in generic types such as Progress.Collections.List, Progress.Collections.SortedSet, and
Progress.Collections.HashMap with standard
angle bracket notation (<T>). Developer Studio recognizes
this syntax and supports it in Content Assist, Find References, Outline view, Class
Browser, and other key tooling features.
With this enhancement, you can work more effectively with type-safe collections, while maintaining a consistent development experience in Developer Studio.
Strongly Typed Annotations for Object-Oriented ABL
OpenEdge now introduces strongly typed annotations for object‑oriented ABL. This feature allows you to define annotation types as ABL objects, apply them to classes and supported class members, and retrieve them at run time using the ABL reflection API. You define strongly typed annotations using the new ANNOTATION statement and apply them using the [ ] Strongly typed annotation syntax.
Unlike existing source‑only annotations, strongly typed annotations are validated by the compiler, stored in r‑code, and accessed programmatically without parsing source files, enabling more robust use of metadata for application frameworks, tooling, and architectural patterns such as configuration, service definition, and dependency injection.
For more information, see Learn about strongly typed annotations.
Analyze Memory Recordings and Get AI Recommendations in OpenEdge Memory Profiler
- View the Analysis Summary section on the
Memory Usage page for an overall summary,
observations, and the indicators that exceeded a configured threshold, to
quickly identify recordings that need investigation. The analysis runs
locally without an external AI service. Developers and administrators can
adjust the analysis thresholds in the analysis.config
file, and set the
analyzeproperty in the batch.config file to analyze recordings automatically after import. - Request AI-generated recommendation including a priority, an action, and a rationale to help you reduce memory consumption in your ABL application. These AI recommendations use Progress Agentic RAG and require a valid API key in the llm.config file. The request sends only the generated analysis summary, not the recording file or raw recording data.
For more information, see Recordings, Memory Usage, Modify batch configuration file, and Appendix—Analysis and AI recommendation configuration.
Rename and Edit Recording Information in OpenEdge Memory Profiler
- On the Home page, you can edit the name and description of a recording.
- On the Memory Usage page, you can edit the host name, instance, HTTP and HTTPS ports, and notes.
For more information, see Edit recording information.
Bring Your Own Eclipse Delivery Model for Developer Studio
Progress Developer Studio for OpenEdge (Developer Studio) now moves to a new Bring Your Own Eclipse (BYOE) delivery model. It is delivered through the Feature Repository named Architect_Repo, which is a standard Eclipse p2 repository, instead of a bundled Eclipse installation with a fixed version and embedded dependencies.
With this model, you install Developer Studio features into your own supported Eclipse IDE alongside your existing Eclipse-based tools. The OpenEdge 13.1 installation provides the Developer Studio component, license, and the Feature Repository to install and update Developer Studio features with each OpenEdge release. This delivery model also removes embedded third-party dependencies from Developer Studio plugins, eliminating plugin conflicts and reducing update download sizes.
For information about supported platform versions, see OpenEdge® 13 Platform Compatibility Guide.
Improved Performance for Assignment Statements
Assignment statements (x = value.) now perform on par
with ASSIGN statements, giving applications a free runtime
performance boost with no code changes required.
JUnit-Compliant Test Result Reporting for ABLUnit
ABLUnit now generates test results that conform to the Apache Ant JUnit XML schema, enabling compatibility with standard CI/CD test reporting tools such as Jenkins, Azure DevOps, GitLab CI, GitHub Actions, and TeamCity without requiring custom transforms or post-processing scripts.
Previously, the output of ABLUnit followed a JUnit-like format that was intended primarily
for Progress Developer Studio for OpenEdge, rather than for third-party CI/CD tools.
ABLUnit now supports a second, strictly JUnit-compliant output writer that you can
enable alongside, or instead of, the existing Developer Studio-oriented format. The
new writer includes metadata expected by CI/CD test dashboards, including an ISO
8601 timestamp, hostname, a required
classname on every test case, and the
<system-out>/<system-err> elements
required by the JUnit schema.
You do not need to change the existing configuration files and the existing
ablunit.json configuration files continue to produce the
current output format unchanged. To generate JUnit-compliant results, you add a
writers object to the output settings of the
configuration file.
For more information, see Configure ABLUnit output writers.
Performance and Scalability
As systems are getting faster, OpenEdge keeps up. This release provides the best and optimized performance throughout, necessarily making it as scalable as possible. Scalability can also be scaling down and reducing resources, to improve the throughput.
This section details the Performance and Scalability features in this release.
Manage ABL Application Agent Log File Growth
Previously, PAS for OpenEdge agent log files rolled over only at midnight, with no mechanism to limit file size or remove older files. In high-verbosity environments, this behavior caused uncontrolled disk growth and increased operational risk.
Now, administrators can use two new properties in openedge.properties to directly control the agent-log file size and retention:
agentLogMaxSize—Triggers a log file rollover when the active agent log file reaches a specified size (in MB), in addition to the existing date-based rollover at midnight. Both triggers operate concurrently and whichever condition is met first causes the rollover.agentLogMaxHistory—Limits the number of agent log files retained per ABL application. After each rollover, the session manager automatically deletes the oldest files until the count does not exceed the configured value.
For more information, see Configure OpenEdge properties and Configure log rollover settings.
Limit ABL Session and Agent Process Life Span and Memory Usage
ablSessionLifeSpanLimit—Terminates an ABL session when it has been alive for a specified ISO 8601 duration (for example, P1DT12H), regardless of request count or idle state.ablSessionIdleLimit—Terminates an ABL session when it has been idle in the pool — not bound to a client—for a specified ISO 8601 duration (for example, PT10M).agentLifeSpanLimit—Initiates a graceful shutdown of an MS Agent process when it has been running for a specified ISO 8601 duration (for example, P7D), recycling long-running agents on a predictable schedule.agentMemoryLimit—Shuts down an MS Agent process when the combined memory usage of all its ABL sessions exceeds a specified limit (for example, 2G), complementing the existing per-session memory controls.defaultAgentStaggerTrim—Enforces a minimum interval between automatic agent shutdowns triggered byagentLifeSpanLimitoragentMemoryLimit, preventing multiple agents from being recycled at the same time and causing a momentary drop in serving capacity.
For more information, see Configure OpenEdge properties.
Security
OpenEdge continually monitors for potential security vulnerabilities. The effort to scan, identify, assess, and mitigate potential security threats is ongoing. Information on how Progress manages reporting, management, discussion, and disclosure of vulnerabilities discovered in OpenEdge can be found in Progress OpenEdge Security Guidelines.
This section details the Security features in this release.
Validate TLS Certificates Using Operating System-Provided Trust Store
Now, OpenEdge TLS client components use the operating system (OS) trust store as the default
source of trusted CA root certificates, replacing the OpenEdge-specific certificate
store, such as $DLC/certs for ABL, used in earlier releases.
OpenEdge now reads CA root certificates directly from the OS trust store, which is used by the operating system and other applications on the host. Therefore, CA certificate changes—additions, updates, or revocations—made at OS level are automatically reflected in OpenEdge without requiring updates to a separate certificate store.
For more information, see Manage certificate stores for OpenEdge clients and servers.
New OESECTOOL Utilities to Generate Reusable Certificates for Test Servers
OESECTOOL now generates certificates from the bundled conf/oesectool.pem
private key instead of creating a new key pair for each test run. This change allows
administrators to trust the generated certificate once and reuse it across multiple
SAML and OAuth2 test sessions. New gencert,
certinfo, and matchcert utility commands
simplify certificate generation and validation.
For more information, see OESECTOOL utilities.
Database Operations
- Increase flexibility in managing OpenEdge database environments.
- Support more efficient and effective database operations.
- Streamline database administration activities.
This section details the database maintenance features in this release.
Enhanced Index Efficiency Visibility with New Delete Placeholder Metrics
PROUTIL DBANALYS and PROUTIL IDXANALYS now report
additional index metrics that provide visibility into the impact of delete placeholders
on index efficiency. The Index Block Summary section includes new
columns only for unique indexes that show how much leaf-block key space is occupied by
delete placeholders, whether those placeholders are part of the index delete chain, and
how many leaf blocks are affected. Non‑unique indexes do not generate delete
placeholders and therefore do not display values for these columns.
- Better understand index space usage.
-
Distinguish delete placeholder–driven inefficiencies from normal index growth.
- More effectively evaluate index maintenance actions, such as
PROUTIL IDXCOMPACT.
For more information, see PROUTIL IDXANALYS qualifier and Analyze index use.
Move Large Objects with PROUTIL LOBMOVE
LOB data can consume significant space in a database area. If you truncate LOBs, but keep them in the same area, the storage remains allocated. Whereas, moving LOB data to another area allows the old area to be deleted or repurposed, which is especially useful for cloud deployments where storage costs matter.
PROUTIL LOBMOVE command. Database
Administrators can use this command to move Large Object (LOB) data from one area to
another, which helps:- Reduce I/O contention between LOB operations and normal table and index operations.
- Optimize for sequential reads/writes if LOBs are large and accessed in bulk.
- Meet and maintain compliance standards.
For more information, see PROUTIL LOBMOVE qualifier.
Insert Pause Instructions into Spin Loops
OpenEdge RDBMS uses latches to synchronize the access of critical resources, which
under heavy load, can become performance bottlenecks. This release of OpenEdge
introduces the -spinPause parameter, which you can use to insert
pause instructions into spin loops, reducing CPU overhead during latch contention.
This parameter is especially useful on multi-core systems where excessive spinning
increases memory bus contention.
For more information, see Spin Pause (-spinPause).
Move Inactive Indexes to Type II Storage Areas
PROUTIL IDXMOVE for moving inactive regular indexes to Type
II storage areas while the database remains online, helping you transition from Type
I areas. Key aspects of this enhancement include:- Online movement of inactive regular indexes to Type II areas
- Reuse of the existing
PROUTIL IDXMOVEsyntax, with no command changes required - Support for migration scenarios where inactive regular indexes must be relocated before activation
- Validation to ensure inactive regular indexes cannot be moved to Type I areas
For more information, see Move indexes and PROUTIL IDXMOVE qualifier.
Upgraded ICU Library
This OpenEdge release provides a newer ICU (International Components for Unicode) library version and no longer includes older ICU libraries or collation definition files. Therefore, before upgrading to OpenEdge 13.1, you must migrate any database that uses an older ICU collation.
For migration guidance, see Migrate ICU collations before using your ICU database in OpenEdge 13.1 and Migrate an OpenEdge database when an ICU collation is unavailable.
Platform Compatibility
In this release, OpenEdge ensures that it functions reliably across newer operating systems, environments, browsers, and configurations, along with enhanced performance. This broad compatibility helps organizations integrate OpenEdge with their existing infrastructure and operational requirements while simplifying deployment and maintenance.
This section details the Platform Compatibility features in this release.
Support for .NET 10
You no longer need to modify the run-time configuration to use .NET 10, because now OpenEdge configures the .NET run time in the OpenEdge installation to use .NET 10 for ABL applications on Windows and Linux, by default. .NET Open Client applications can run with .NET 10 on Windows and Linux.
For information about installing and configuring .NET Open Client applications, see .NET Open Client Support FAQ.
Run the JMS Adapter Non-Interactively
In this release, the adaptman command-line utility is reintroduced, enabling
Application and System Administrators to administer JMS Adapter non-interactively,
which is consistent with the behavior in OpenEdge 11.7 and earlier releases.
By working through AdminServer, the adaptman utility lets you start, stop,
and query the JMS Adapter non-interactively, ensuring continuous operation without
dependency on an active terminal session. Alternatively, you can continue using
oemessaging for interactive administration of the JMS Adapter.
For more information, see Configure your JMS provider using adaptman, Start the Progress OpenEdge JMS Adapter, and JMS Adapter broker management options.
Third-Party Support
The following updates were made to the supported third-party products and the operating system and other platform certifications.
Version Update for Infragistics Controls
The OpenEdge Ultra Controls .NET license that installs Infragistics Ultimate UI for Windows Forms is now updated to version 26.1.20261.27.
Version Update for Supported Aurea Messenger
The OpenEdge JMS Adapter now lets you use Aurea Messenger 2026 R3, which supports Java 21.
For more details, see OpenEdge® 13 Platform Compatibility Guide. For details about OpenEdge JMS Adapter, see Use the Progress OpenEdge JMS Adapter.
Version Update for Spring Framework and Spring Security
OpenEdge now includes Spring Framework 7.0.9 and Spring Security 7.0.6.
For information about Spring Framework and Spring Security version updates in service packs, see OpenEdge® 13 Platform Compatibility Guide.
Deprecated Features
The following features were de-supported or deprecated in this release.
De-support of OpenEdge Adapter for Sonic ESB
The OpenEdge Adapter for Sonic ESB is de-supported and no longer included with the OpenEdge installer. Also, the standalone installer for the OpenEdge Adapter for Sonic ESB is no longer available.
De-support of Sonic Native Invocation Proxy Generation
The proxygen and bproxygen tools no longer support generating proxies for Sonic Native Invocation services.
After upgrading to OpenEdge 13.1, you cannot generate Sonic Native Invocation proxies from proxy definitions migrated from an earlier OpenEdge release. Therefore, before upgrading, you must review any applications and deployment processes that depend on this capability.