Skip to main content

New in InterSystems IRIS 2025.2

This page describes the new features, enhancements, and other significant updates in the 2025.2 release of InterSystems IRIS® data platform, which is a continuous delivery (CD) release.

For other information you may wish to consider related to changes included in this release, see Known Issues and Notes. For a more exhaustive list of the changes included in this release, refer to the Upgrade ChecklistOpens in a new tab.

Release Information for 2025.2

The current release is 2025.2. The posting for 2025.2 is build 2025.2.0.227.0.

Enhancing Speed, Scale, and Security

New security database

Upgrading to InterSystems IRIS 2025.2 will move security data from the IRISSYS database into the IRISSECURITY database. New installations also store their security data in IRISSECURITY.

Among other things, this change removes direct access to security globals, updates privileges for security APIs (these now require %DB_IRISSYS:R and %Admin_Secure:U), and restricts SQL queries on security data. Customers should thoroughly test their applications prior to upgrade.

You can use the new %SecurityAdministrator role for general security administration tasks.

InterSystems recommends encrypting IRISSECURITY.

For a detailed overview of these changes, see https://community.intersystems.com/post/advisory-irissecurity-intersystems-iris-20252Opens in a new tab or IRISSECURITY Upgrade ImpactOpens in a new tab.

Important:

This is a major incompatible change to a core component of InterSystems IRIS. If you are upgrading to version 2025.2, it is imperative that you thoroughly test your software after upgrading. If you encounter any problems, please contact InterSystems SupportOpens in a new tab.

OAuth2 authentication

This release introduces several features to improve the user experience of configuring OAuth2.

  • OAuth2 is now a native authentication type that can easily be enabled for web applications.

  • You can now create resource servers with the new OAuth2.ResourceServer class, which simplifies resource server configuration significantly. Previously, resource servers were configured as an instance of OAuth2.Client.

  • The OAuth2.ResourceServer class provides a sample authenticator for determining user permissions which, for simple configurations, requires no custom code (this previously required a custom ZAUTHENTICATE implementation). This simple authenticator can be extended and customized to suit your environment.

  • You can now use JDBC and ODBC to authenticate to InterSystems IRIS with access tokens.

Support for ECC

InterSystems IRIS now supports ECC (ECDSA) certificates for TLS configurations. ECC certificates are smaller and more computationally efficient than RSA and DSA certificates.

Enhancing Analytics and AI

Improvements to the Cube Manager

The Cube Manager was designed to assist customers with managing cube updates, synchronization, and build. In this release, InterSystems has made several improvements in functionality and in the user interface to more easily manage cube updates. The improvements include:

  • Reworking the cube build/sync functions so that they perform dependency analysis and automatically rebuild dependent cubes when called, providing guardrails and preventing situations where dependent cubes are not built.

  • Updating the Cube Manager user interface to focus on a schedule group. The user identifies the frequency with which the cube is to be updated and the schedule is kicked off to sync (if possible) or build (is sync is not possible). Power users can continue to manage builds and syncs from the APIs, command line, or the Architect user interface.

  • Logging cube update events in %DeepSee_CubeManager.CubeEvent.

  • Including additional information to help customers identify what is happening with the cube updates in this user interface, such as previous update time, status, and next schedule time as shown below.

Enhancing SQL and Data Management

Smarter table statistics

This release introduces a significant change in how InterSystems IRIS manages table statistics, a key ingredient for getting high SQL query performance. InterSystems IRIS now distinguishes between fixed statistics, which are stored in the class definition and can be tuned by a developer (as in the pre-existing model), and collected statistics, which are stored with the data and are always based on actual data.

A new system maintenance task is available to automatically collect statistics for tables that do not have any or have stale statistics. This task is currently off by default to stay as close as possible to the pre-existing behavior, but InterSystems recommends switching it on and reviewing whether the additional IO load is reasonable. Fixed statistics always take precedence over collected statistics, so it is worth reviewing your current application to evaluate whether there are any fixed statistics in the class definition that you may want to drop in favor of the collected ones.

Table partitioning

Table partitioning helps users manage large tables efficiently by enabling them to split data across multiple databases based on a logical scheme. With this architecture, you can, for example, move older data to a database mounted on a cheaper tier of storage, while keeping the current data that is accessed frequently on premium storage. The data structure for partitioned tables also brings several operational and performance benefits when tables get very large (greater than on billion rows).

As this is a broad new product capability, it will be made available in phases. This release includes the core partitioning and bucketing capabilities, as well as an API to may partitions to specific databases. Forthcoming releases will introduce additional functionality, such as converting existing tables from or to a partitioned structure, and adopt it for some built-in datasets. See the documentation for more details.

Note:

Table partitioning is currently an Experimental FeatureOpens in a new tab. An Early Access ProgramOpens in a new tab is currently available for customers who are evaluating the feature and wish to share their feedback and use cases, as well receive software updates and examples. Register hereOpens in a new tab if you wish to participate.

Expanded pushdown capabilities for foreign tables

This release significantly enhances the foreign table infrastructure, which now also considers functions, aggregates, grouping, and ordering clauses in queries selecting from foreign tables, such that their evaluation can be pushed down to the remote servers. The new capabilities significantly expand upon the number of predicates that were previously eligible for pushdown and therefore can speed up many queries by minimizing the amount of data that needs to be passed back over the connection, a major factor in foreign table query performance.

To address the variance in different vendors’ support for SQL functions, a set of simple tiers is used to captured which set of functions it is safe to assume a foreign server supports. See the foreign tables documentation for more details.

Foreign tables now also use a simplified class structure, meaning it is safe to export and import them simply as a class definition.

Full support for mixing columnar and non-columnar indexes in query plans

Columnar storage for relational tables offers order-of-magnitude faster response times for analytical SQL queries. With this release, InterSystems introduces enhancements to the SQL optimizer’s costing algorithm to accurately estimate the cost of not just the query plans that entirely use columnar indexes, but also the mixed plans that combine columnar and non-columnar index structures. These changes increase the applicability and benefits of columnar stored in mixed transactional-analytical environments.

Enhancing Database Operations

Full support for truncations across database volumes

When using multivolume databases, you can now truncate up to any size small enough to hold the remaining data. Previously, you could only truncate the last volume for a database, but now truncation will delete empty volumes as needed.

Integrity check CHUI

This release introduces a new CHUI (character user interface) for the integrity check utility (^Integrity), significantly enhancing the usability of this important maintenance task. The new interface uses multiple background processes and offers better progress information, including tallies of globals checked and errors found while the process is running, and a number of minor quality-of-life enhancements.

With this release, InterSystems also deprecates a number of legacy subroutines in favor of this new entry point.

Modernizing Interoperability User Interface

The following enhancements are included in interoperability-enabled products in the new user interface (which remains an opt-in experience).

New Production Configuration user experience enhancements
  • Pool size quantities are now displayed on each production configuration host.

  • You can now create a new category by directly entering the naming convention in the category field of the host.

  • There is now support for browser-level control find in Production Configuration.

  • Production Host items now feature the Test Hose function.

  • In the new Settings Panel the X cancel icon also appears on panels to cancel an action.

  • Longer class tooltip descriptions are formatted per the class documentation.

  • Display of configuration item descriptions is enhanced to honor markup for longer, structured descriptions.

  • Action Items are grayed out when not in the context of a host item or production.

  • Creating a host enabled the automatic creation of a router and role.

  • You now have the option to Update and Recover a production, where supported.

  • Productions may not be created through the UI.

New DTL Editor user experience enhancements
  • The Data Transformation Function drop-down menu is now searchable and limited to functions defined in the subclass.

  • The DTL Graphical Editor now includes a button to copy an HL7 field path when hovering over a segment.

  • Setting the Ordinal Number or Path Expressions or both will input the same expression setting when setting the DTL statement target and source fields.

New Rule Editor user experience enhancements
  • It is no longer possible to rename rules. Previously, that behavior cause confusion about changes to active rules. To create a new rule, use Save As instead.

  • There is now support for browser-level control find in Rule Editor.

FeedbackOpens in a new tab