Skip to main content

HealthShare® Health Connect Upgrade Checklist (2026.1)

This document is meant to help you assess the impact of upgrading to the HealthShare Health Connect 2026.1 extended maintenance (EM) release. It lists the incompatibilities since 2025.1.0. These incompatibilities may require changes to code, configuration, or operation.

To see the incompatibilities between your current version and the current release, use the Upgrade Impact Checklist.

InterSystems News, Alerts, and Advisories

From time to time, InterSystems publishes items of immediate importance to users of our software. These include alerts, mission-critical issues, important updates, fixes, and release announcements. You can obtain the most current list at https://www.intersystems.com/support-learning/support/product-news-alerts/Opens in a new tab. InterSystems recommends that you check this list periodically to obtain the latest information on these issues.

Analytics - IRIS BI

DP-442149: Replace %DeepSee.Datatype.dateTime with %PosixTime for date/time dimensions

Category: Analytics - IRIS BI
Platforms: All
Version: 2026.1.0

To resolve accuracy issues which could occur when external analytics tools (such as Microsoft Power BI) accessed time data using SQL, InterSystems IRIS Business Intelligence (BI) now uses the %PosixTime data type to store most of the values which are associated with a cube's time dimension. (Storage for partial date/time values has not changed.)

BI data models continue to function normally upon upgrading to 2026.1, until you recompile a cube definition class upon which it is based. When you recompile, BI updates the data type for time dimension properties within the cube’s fact table to %PosixTime. Because this creates a mismatch between the data type of the logical values stored within these columns and the columns’ declared ObjectScript data type, it is necessary for BI to disable these dimensions, rendering them unavailable to MDX queries. To re-enable the model’s time dimensions, you must rebuild them—either selectively which can be considerably faster, or as part of a complete cube build.

BI provides the following support to facilitate this post-upgrade transition:

  • If a cube contains an upgraded time dimension in need of rebuilding and you initiate a Selective Build for the cube which does not include that dimension, BI adds it to the Selective Build automatically.

  • When you initiate cube synchronization for a cube that contains a time dimension in need of rebuilding, BI initiates a complete build operation on the cube instead.

  • CPF File

    DP-444955: CPF: Allow comma-separated list of merge files

    Category: CPF File
    Platforms: All
    Version: 2026.1.0

    This change adds support for a comma-separated list of CPF merge files, whereas previously you were required to merge one CPF file at a time. As a result of this change, a CPF merge file name can no longer contain an embedded comma, although it may start or end with one.

    CSP / ZEN

    DP-441283: Disable AutoCompile by default for /csp/user, /isc/studio/templates and new CSP application; Tighten privileges for pre-login code

    Category: CSP / ZEN
    Platforms: All
    Versions: 2023.1.7, 2024.1.5, 2025.1.1, 2025.2.0

    The autocompile option automatically compiles tag-based CSP pages when a user accesses the page. In previous versions, this was enabled by default. In previous versions, the autocompile option for tag-based CSP pages has been disabled, and the privileges the compile runs with have been reduced accordingly. The former change does not affect existing web applications, but the latter does. To restore the old behavior, grant the CSPSystem user the necessary privileges for compiling classes, including the write privilege on the routine database of the web application's namespace. InterSystems discourages enabling autocompile or granting CSPSystem additional privileges. If it must be enabled, autocompile should only ever be used in development environments; the privileges required for compilation are wide-reaching and introduces unnecessary risk for production systems.

    DataMove

    DP-440115: New permission required for use of DataMove

    Category: DataMove
    Platforms: All
    Versions: 2025.1.1, 2025.2.0

    The DataMove utility now requires the %Admin_Manage:USE permission.

    Gateways - IRIS

    DP-444395: Change property AllowedIPAddresses to BindToIPAddress

    Category: Gateways - IRIS
    Platforms: All
    Version: 2025.3.0

    This change alters the name of a property of External Language Servers. The property previously known as "AllowedIPAddresses" is now "BindToIPAddresses". An alias between this new name and the old one has been added, so if you are modifying an External Language Server definition through the %Net.Remote.ObjectGateway class, your configuration will continue to work. However, if you modify External Language Servers with %DynamicObject, your code must be updated to use the new property name.

    Interoperability

    DP-439825: Visual Trace does not show all events

    Category: Interoperability
    Platforms: All
    Versions: 2024.1.6, 2025.1.3, 2025.2.0

    Previously, when there were more than 1,000 entries in the log table, the visual trace of a session might not have shown all of the events in the session, even if that was the configured behavior. Now, every event is always shown, so previously set values for LimitEvents and EventsMaxRows in ^EnsPortal.Settings are overridden.

    DP-440718: [Interoperability] Amend FunctionSet class container identification

    Category: Interoperability
    Platforms: All
    Version: 2025.2.0

    If a Custom Utility Function class that mistakenly extends superclasses other than Ens.Rule.FunctionSet (and those super classes themselves do not extend Ens.Rule.FunctionSet) has been created, then any class methods in those superclasses cannot be used in Rules.

    Code generated for Rules now uses the class where the class method is defined, not a subclass.

    DP-440887: Deprecate EnsLib managed Gateways

    Category: Interoperability
    Platforms: All
    Version: 2025.2.0

    The server and port properties of the EnsLib.Gateway.*, EnsLib.JavaGateway.*, and EnsLib.DotNetGateway.* classes are now deprecated, so users should instead migrate to interact with gateway services through an External Language Server.

    DP-443153: [Interoperability] Amend resource protecting Export For Deployment in Production Config page

    Category: Interoperability
    Platforms: All
    Version: 2025.3.0

    Sites that had granted users who should be able to export for deployment packages from the Production Configuration page will need to grant such users %Ens_DeploymentPkg:USE and may be able to remove %Ens_Deploy:USE. This only concerns the Zen Production Configuration page.

    DP-443265: [Interoperability] Ensure Document TimeStamp is empty for non existent Lookup Table

    Category: Interoperability
    Platforms: All
    Version: 2025.3.0

    The document TimeStamp value for the projected Lookup Table document for a non existent or no named Lookup Table was previously returned as the current time. This is now corrected, and returns an empty string in line with other Interoperability projected documents. Any manually created workarounds should be reverted.

    DP-443464: [Interoperability] Correct error thrown by X12 parser

    Category: Interoperability
    Platforms: All
    Version: 2025.3.0

    An issue that could cause the X12 parser to throw an UNDEFINED error when the binary data length field contained a value greater than the actual length of the binary data has been resolved. The parser now returns the error BinaryDataShort instead.

    DP-444481: Alter setting in Kafka outbound adaptor

    Category: Interoperability
    Platforms: All
    Version: 2026.1.0

    In the Kafka outbound adaptor, the ClientID setting has been renamed to ProducerClientID. If you had previously set ClientID, use the new method in Ens.Director to remove that setting. See [Adding and Removing Settings](https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=EGDV_settings_removeprog) for more details.

    DP-445034: Interoperability: Change default value of ^Ens.Configuration setting KeepInQueues to true

    Category: Interoperability
    Platforms: All
    Version: 2026.1.0

    This change sets the default value of the ^Ens.Configuration setting KeepInQueues to "true", meaning that when a production is stopped, messages are kept in ^Ens.Queue by default rather than moved to ^Ens.Suspended. If you relied on the previous behavior, you must manually set ^Ens.Configuration("Queues","KeepInQueues") to 0 in each relevant namespace.

    DP-445471: Correct EnsLib.PubSub.Utils AddSubscriber

    Category: Interoperability
    Platforms: All
    Version: 2026.1.0

    Previously, the EnsLib.PubSub.Utils:AddSubscriber() method did not correctly use the first parameter for DomainName, so the created Subscriber object did not have its DomainName property set. Any workaround in custom code that adds the DomainName property after this call should be removed.

    DP-445779: SAP Operation creates connection file in mgr directory and only uses External Language Server name

    Category: Interoperability
    Platforms: All
    Version: 2026.1.0

    This change ensures that the system correctly locates an SAP connection file in the instance’s mgr folder.

    Additionally, an SAP operation works with a JavaGateway service only if the service specifies a valid External Language Server name. Specifying server and port is no longer sufficient. The preferred usage for EnsLib.SAP.BootStrap:ImportSAP() is to now use pPort="" and pAddress="".

    Journaling

    DP-440433: Add Azure Blob support for journal archiving

    Category: Journaling
    Platforms: All
    Version: 2025.3.0

    This change adds support for journal archiving to Microsoft Azure Blob Storage, which configurable through either the Management Portal or the ^ARCHIVE utility.

    As a result of this change, when defining a new archive target using ^ARCHIVE, to define the archive type as rsync, you should use option 3, as Microsfot Azure Blob Storage is now option 2. Any scripts that defined archive type as rsync using option 2 should be updated to use option 3 instead.

    Localization

    DP-442522: Use "messages log" instead of "console log" in error messages

    Category: Localization
    Platforms: All
    Version: 2025.3.0

    Error codes 380 (compaction skipped blocks), 381 (stopped at unmovable block), and 5834 (IDKeyCounterNotValid) now say "messages log" instead of "console log". Any scripts that search for the phrase "console log" in the output must be modified to check for "messages log" instead.

    Networking

    DP-435478: %Net.SSH.Session:Connect to use SHA256 for default hostkey hash

    Category: Networking
    Platforms: All
    Version: 2025.2.0

    New %Net.SSH.Session objects by default have a SHA256 hostkey. If you need a different size, you must pass "SHA1" or "MD5" as an argument to the Connect() method manually.

    Object Library

    DP-441221: Export methods should respect /createdirs qualifier

    Category: Object Library
    Platforms: All
    Version: 2025.2.0

    This change modifies the behavior of ExportXMLList^%apiOBJ and ExportXMLPackage^%apiOBJ so that they explicitly check for the /createdirs qualifier before calling CreateDirectoryChain() to create a directory. Any usage of these routines that do not use the /createdirs qualifier may have some commands fail.

    DP-446764: %Net.URLParser Compose and Decompose bug fixes

    Category: Object Library
    Platforms: All
    Version: 2026.1.0

    This change removes support for path segment parameters and non-digit ports in %Net.URLParser.

    Additionally, URL queries are no longer decoded automatically; instead, the Decompose() method decodes keys and values into Components("query",i,"key") and Components("query",i,"value"), where i is the position of the key-value pair.

    Also, the netloc, username, password, host, port, query, and fragment components no longer treat the empty string as undefined. To properly remove these components, you must issue a kill command.

    ObjectScript

    DP-443460: Fix integer $vector hash to be the same when region mags change

    Category: ObjectScript
    Platforms: All
    Version: 2025.3.0

    This change modifies the hashing of integer $vectors to fix an issue where some integer $vectors with identical element values did not produce the same hash. As a result of this bug, printing two vectors with the same elements as strings could yield different results. Note that vector comparison does not rely on these hashed strings unless you explicitly compare the string hash representations.

    Customers using DataCheck should be aware that this change may reveal new (but trivial) differences in $vector-typed data across versions.

    DP-445497: Modify argument specifications for $QSUBSCRIPT and $QLENGTH

    Category: ObjectScript
    Platforms: All
    Version: 2026.1.0

    Previously, $QSUBSCRIPT(namevalue,intexpr) and $QLENGTH(var) did not check for unexpected characters following the variable name string in the namevalue and var arguments. Now, these functions fail with a error if unexpected characters, such as blank or tab characters, are found.

    ODBC

    DP-437848: Enforce BufferLength in SQLBindParameter function

    Category: ODBC
    Platforms: All
    Version: 2025.2.0

    When binding parameters with the SQLBindParameter function, the system previously ignored the BufferLength parameter. Now that the parameter is enforced, any invocations of the SQLBindParameter function that use the BufferLength parameter will truncate data to the specified length.

    DP-443339: ODBC: SQLGetData from binary fills only BufferLength-1 bytes

    Category: ODBC
    Platforms: All
    Version: 2026.1.0

    Previously, if the BufferLength was smaller than the fetched data length when requesting characters from binary data using the ODBC SQLGetData function, the entire BufferLength was filled with data. Now, the function fills the buffer with data up to BufferLength-1 bytes and sets the last byte to the null character ('\0'). Code that expected the entire buffer to be filled with data should be modified.

    Security

    DP-435234: Portal source control pages should not always use CSPSHARE

    Category: Security
    Platforms: All
    Version: 2025.3.0

    Source control hook implementations that both rely on CSPSHARE=1 to load dialogs from a custom application and do not already share authentication information another way will no longer work in this version.

    For dialogs to work, the target application must share sessions or authentication with the current application. This sharing can be achieved in any of the following ways: the target application is the same as the current application, the target application shares a cookie path with the current application, or the target application has the same "Group by Id" setting as the current application.

    DP-436066: Log changing system database resources on upgrade

    Category: Security
    Platforms: All
    Version: 2025.2.0

    If you have changed the resources protecting access to the system databases (IRISAUDIT, IRISLOCALDATA, and IRISSYS) from their initial installation defaults (%DB_IRISAUDIT, %DB_IRISLOCALDATA, and %DB_IRISSYS respectively), when you upgrade to a version with this change, the resources are set back to the initial installation defaults. In short, the resources that protect access to system databases cannot be modified from the system default.

    DP-437965: remove deprecated pre-AES standardization (2001) encryption functions that were used for AES

    Category: Security
    Platforms: All
    Version: 2025.2.0

    This change removes a number of deprecated functions including:

    $SYSTEM.Encryption.AESCRCEncode $SYSTEM.Encryption.AESCRCDecode $SYSTEM.Encryption.AESBase64Encode $SYSTEM.Encryption.AESBase64Decode $SYSTEM.Encryption.AESEncode $SYSTEM.Encryption.AESDecode $SYSTEM.Encryption.RijndaelCRCEncode $SYSTEM.Encryption.RigndaelCRCDecode $SYSTEM.Encryption.RijndaelBase64Encode $SYSTEM.Encryption.RijndaelBase64Decode

    DP-440360: Don't require %Admin_Operate for Service modification

    Category: Security
    Platforms: All
    Version: 2025.2.0

    %Admin_Operate:USE no longer controls the ability to start and stop a service. The ability to perform such an action now requires exclusively %Admin_Secure:USE. Any users that previously only had %Admin_Operate:USE and need to be able to start and stop a service now require %Admin_Secure:USE.

    DP-443069: Remove PKI feature

    Category: Security
    Platforms: All
    Version: 2025.3.0

    This change removes the PKI package from InterSystems IRIS. Upgrading to this release will delete the data for the PKI.CAClient, PKI.CAServer, PKI.Certificate, and PKI.CSR classes, as well as the /isc/pki web application.

    Certificates, CSRs, and key files previously generated by this feature are unaffected. This change also does not delete the openssl.cnf file that was automatically generated in the /mgr directory on systems with a configured PKI.CAServer.

    Customers who rely on the PKI must adopt a custom or third-party certificate generation solution.

    DP-446954: %CSP.REST:DispatchRequest() is final

    Category: Security
    Platforms: All
    Version: 2026.1.0

    The %CSP.REST:DispatchRequest() method is now marked as final and can no longer be overridden. Any REST dispatch class that overrides this method will no longer compile.

    SMP - System Management Portal

    DP-438389: Optionally preserve start date in the past via %SYS.TaskSuper.ImportTasks()

    Category: SMP - System Management Portal
    Platforms: All
    Version: 2025.2.0

    Previously, if you imported a task with a "LastScheduled" date in the past using the %SYS.TaskSuper.ImportTasks() method, then the "LastScheduled" date would be ignored and the task would be scheduled to run without accounting for the specified "LastScheduled" date. Now, by default, tasks imported in this way take the "LastScheduled" date into account.

    If you previously relied on the old behavior, you may set the runPastTasksTomorrow argument of %SYS.TaskSuper.ImportTasks() to 1.

    SQL

    DP-422287: Update CREATE FOREIGN TABLE behavior

    Category: SQL
    Platforms: All
    Version: 2025.2.0

    The point of failure for some ill-formed foreign tables has been moved from query-time to create-time. As a result, some CREATE FOREIGN TABLE statements that previously succeeded could now fail. However, these failures typically indicate that a SELECT statement against the foreign table would have failed anyway.

    To prevent the possibility of these validation runtime errors during a CREATE FOREIGN TABLE statement, use the NOVALIDATE keyword.

    This change in behavior only applies to foreign tables that use other database management systems as their external source; schema validation is not performed when creating file-based foreign tables.

    DP-434312: inherit the CALCSELECTIVITY parameter from the super field

    Category: SQL
    Platforms: All
    Version: 2025.2.0

    If you add CALCSELECTIVITY=0 on a property that is an embedded object, the system no longer calculates statistics both for that property and for the corresponding serial object properties. For example, if you have a class Sample.Person with a field Home, which is of type Sample.Address, and assign the Home field CALCSELECTIVITY=0, then no stats will be collected for Home or any of the serial object properties for Home.

    DP-439031: $IsVector(null string) will be True

    Category: SQL
    Platforms: All
    Version: 2025.2.0

    $IsVector("") now returns 1, rather than 0. The new behavior better conforms to expectations set by other $vector functions, which treat "" as a valid vector.

    DP-441931: Changes to JSON Path Language expressions to align with standards

    Category: SQL
    Platforms: All
    Version: 2025.3.0

    This change resolves discrepancies between the implementation of the JSON Path Language (used in the JSON_TABLE SQL function) and the ISO SQL Standard. In particular, it corrects the results returned when applying the member wildcard to the context value. Array accessor expressions are also affected. Any JSON Path Language expressions that use these elements may need to be modified accordingly. See the documentation for more information.

    DP-443617: Change in when ROWLEVELSCURITY parameter defines the %RLI index

    Category: SQL
    Platforms: All
    Version: 2025.3.0

    The %RLI index is generated automatically only when the ROWLEVELSECURITY class parameter is set to 1. If this parameters is set to any other value, the index is no longer generated automatically, which may affect performance. To ensure the %RLI index is defined in this version, set the ROWLEVELSECURITY class parameter to 1.

    DP-447884: Recompilation required to correct concurrency issue inserting into child tables

    Category: SQL
    Platforms: All
    Version: 2026.1.0

    This change corrects a concurrency issue in which two or more processes attempting to insert a row into a child table encountered lock timeouts and failed to insert the row.

    As a result of this change, you must recompile all of your classes. Failure to do so may result in errors due to a change in the signature of an internal method.

    System

    DP-429248: IRISSECURITY database

    Category: System
    Platforms: All
    Version: 2025.2.0

    Upgrading to InterSystems IRIS 2025.2 will move security data from the IRISSYS database into the IRISSECURITY database. New installations also store security data in IRISSECURITY. Among other things, this change removes 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. Users should carefully review the information in the following links and thoroughly test their applications and macros when they upgrade.

    https://community.intersystems.com/post/irissecurity

    https://docs.intersystems.com/iris20252/csp/docbook/DocBook.UI.Page.cls?KEY=ASECURITYDB

    DP-433826: Make Audit queries faster

    Category: System
    Platforms: All
    Versions: 2025.2.3, 2025.3.0

    Indices have been added to several fields to improve performance; when you upgrade, the IRISAUDIT database must have enough free space to accommodate these indices (approximately 5% of the size of the audit log).

    Audit log data exported from previous versions of InterSystems IRIS cannot be imported to InterSystems IRIS 2025.3.

    DP-434146: Operational considerations for upgrade to Extended Database Sizes

    Category: System
    Platforms: All
    Version: 2026.1.0

    This version introduces the capability to expand databases beyond the old size limits (which were approximately 32TB for 8KB blocks, 64TB for 16KB blocks, 128TB for 32KB blocks, and 256TB for 64KB blocks). No data conversion is necessary. When this capability is enabled, existing databases can simply expand beyond the old size limit.

    This capability is enabled by a new systemwide setting (ExtendedDatabaseSize), which is off by default. Before turning it on for a given system, you must first:

    1. Upgrade any older-version ECP application servers, mirror members, or other systems that may need to mount a copy of the system's databases to at least version 2026.1. Once the new setting is enabled, individual databases may be marked as having an "extended format" when they approach the old size limit. Such databases would not be mountable on older versions of InterSystems IRIS, neither locally nor remotely via ECP. 2. Run an integrity check on all databases (perhaps as part of a standard system task) and check that there are no errors. This ensures that there is no corruption (previously benign) which could become problematic in the extended format. Use version 2026.1 or later to perform this check.

    Read more about using this new parameter, including new Integrity Check errors and a new runtime safeguard warning, at [Extended Database Size](https://docs.intersystems.com/iris20261/csp/docbook/DocBook.UI.Page.cls?KEY=GSA_extend_db).

    DP-440592: Object could be closed with incorrect roles

    Category: System
    Platforms: All
    Version: 2025.2.0

    Previously, if an object in a REST application went out of scope while I/O redirection was active, its %OnClose method could be run with different roles than when it was created. That issue has been resolved, but the fix may cause an application with very deep nesting (large $STACK value) to encounter a error. If necessary, the frame stack size can be increased by getting the current size with $SYSTEM.Util.GetFrameStackSize() and setting a larger value with $SYSTEM.Util.SetFrameStackSize(). The new value will be in effect for all new processes, not just the current one.

    DP-440651: IRISTEMP database is no longer a sparse database

    Category: System
    Platforms: All
    Versions: 2025.1.1, 2025.2.0

    In prior versions, the IRISTEMP database on non-Windows platforms was internally expanded as a sparse file to allow for rapid expansion; disk space would be consumed if and when the IRISTEMP blocks were written by the system. When the IRISTEMP grows very large in this way, it is possible that the writes to it may eventually leave vast numbers of "holes" in the file. While that behavior is expected, it has occasionally been observed to cause an unpredictable amount of overhead due to the operating system's management of unwritten extents, and in rare cases this could have a destabilizing effect. Since expansion for all databases has been made much faster in general starting in 2025.1, the sparse feature of IRISTEMP is no longer a valuable tradeoff and has been disabled.  

    With this change, IRISTEMP will consume file system space as it expands rather than as the system writes the blocks.  As long as IRISTEMP is left to expand automatically (recommended), the extra space consumed on the system as a result of this change is limited by the size of the database cache, since as the database cache becomes largely consumed by newly allocated IRISTEMP blocks, they would have been written either way.  Any site that pre-expands IRISTEMP to a very large size expecting that space to remain unused at the filesystem level should reconsider that practice. 

    Note that on non-Windows platforms, IRISTEMP is re-initialized at startup at a virtual initial size of 20MB rather than the previous value of 240MB.  As before, the real size of the IRIS.DAT file is left unchanged so the expansions from 20MB up to its previous size are virtual only and the configuration parameter 'MaxIRISTempSizeAtStart' can be used to cause this old file to be truncated.

    DP-441122: Correct $THIS value in a class method

    Category: System
    Platforms: All
    Version: 2025.2.0

    Previously, the $THIS value in a class method could sometimes be an object reference, instead of the class name. If you wrote any class methods that used $THIS to refer to an object reference, you must change your code to access the object reference a different way.

    DP-441271: Use correct path for iris.ids check in shutdown

    Category: System
    Platforms: All
    Version: 2025.2.0

    Application startup code in SYSTEM^%ZSTOP, SYSTEM^%ZSTART, ^ZSTU, and ^ZSHUTDOW that expects the process's working directory ($system.Process.CurrentDirectory()) to be something other than the manager directory will need to be adjusted.

    DP-441528: Changes to Integrity Check APIs and Utilities

    Category: System
    Platforms: All
    Version: 2025.2.0

    The interactive ^Integrity utility has changed significantly. Users should be aware that it now offers to run in multi-process mode by default, and integrity check results persist until purged. The interactive entry points Multiple^Integrity(), Exclude^Integrity(), and guiInteg()^Integrity() have been removed, since the options they offered are now supported through the main entry point.

    Silent^Integrity(), SilentGlobalCheck^Integrity(), SYS.Database:SilentIntegrityCheck(), and the SYS.Database:Integrity() query are considered deprecated, but have not been removed. However, their behavior changes in a few key ways. They now run with the system default number of processes instead of running in a single process (which can be modified via the Advanced Settings option of ^Integrity). As a result, they will generally run faster than before, but use more resources. Additionally, they no longer append to the output file while running but instead write all results after the check completes. If you use these functions with the intent to interactively examine the output file as it runs, use the now-improved interactive ^Integrity utility instead. The format of the error information at the end of the output file has changed and more closely mimics the "Details of Errors Found" section in output of the integrity check from Management Portal or Task Manager; all errors are included in that section, beyond the old summary limit.

    The integrity check-related APIs in SYS.Database are now marked deprecated. CheckList^Integrity() and Display^Integrity() are, as before, recommended for programmatic needs and the ^Integrity utility is recommended for interactive use and monitoring.

    DP-443932: Remove "no-op" option from Archives feature

    Category: System
    Platforms: All
    Version: 2025.3.0

    Previously, the journal archiving feature included a "no-op" option for archive type. This option did not actually archive files and had limited use in production. With this change, the "no-op" option has been removed, and any archive configurations that use it are no longer valid. You should either delete such configurations or update them to use a supported archive type.

    DP-444944: Adjustable write daemon parameters

    Category: System
    Platforms: UNIX®
    Version: 2026.1.0

    Previously, if the fourth parameter of wdparm was greater than the third parameter, then it would have been internally reduced to equal the third parameter. Now, the internal reduction is no longer applied in such cases, so the fourth parameter can have a value greater than that of the third parameter. To ensure the same behavior as on previous versions, if you use this undocumented parameter, you should change the fourth parameter to equal the third parameter.

    DP-445402: Several DataMove updates and change in behavior of DeleteSourceGlobals()

    Category: System
    Platforms: All
    Version: 2026.1.0

    This change introduces several updates to [DataMove](https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=ADM), including new prompts in ^DATAMOVE when editing settings, new parameters in the DataMove.API.Generate class, and additional properties returned by DataMove.API.GetProperties().

    There is also a change in behavior for the DataMove.API.DeleteSourceGlobals() method. Previously, this method waited until the delete operation was completely finished before returning, allowing the user to call the Finish() method. Now, scripts that use DeleteSourceGlobals() must manually monitor when the deletion is complete before calling the Finish() method. If you do not modify your script, the system will return the following error: "ERROR #1625: State is wrong for Finish() call, State=NSPActivateDone".

    DP-445424: New Integrity Check error

    Category: System
    Platforms: All
    Version: 2026.1.0

    An Integrity Check may now report a problem that could have gone undetected in the past. The error is of the form: "Map block x has y free blocks but is not marked in its satmap block z." This error is not expected to occur, but if it does, it means that some database blocks may not be available for allocation by the system when they should be.

    Prior to this enhancement, the problem could only be observed by noting that the free space available for a database was too small compared to the space used by globals in it.

    If this error is detected on existing databases after an upgrade, a self-correction utility is provided. Although this utility is safe to use, even on a running system, you must first run a full integrity check on the database in question to ensure that no other errors are detected, as correcting this error could hypothetically expose the system to corrupt map blocks that were previously marked as unavailable.

    Run 'Do MarkMapsInSATMAP^REPAIR(dir)' from the %SYS namespace, where 'dir' is the database directory. This call takes no user input but does output status messages. If called as a function, it returns 1 on success (regardless of whether any repairs were required) or 0 on error.

    DP-446317: New default edstrategy and other database expansion improvements

    Category: System
    Platforms: UNIX®
    Version: 2026.1.0

    Values less than 0 for the Edstrategy [config] parameter no longer have meaning and will be ignored. Edstrategy also no longer applies to databases that expand without writing blocks. Anyone using this undocumented configuration parameter should review their usage.

    Additionally, for databases configured with the default (and recommended) expansion size setting (zero), the documented "1GB" upper limit is now treated as 2^30 bytes (1,073,741,824) rather than the slightly smaller amount it previously was (1,048,576,000).

    DP-446416: Windows OS username now includes domain

    Category: System
    Platforms: Windows
    Version: 2026.1.0

    On Windows, $SYSTEM.Process.UserName() now returns the operating system username and the domain (for example, username@exampledomain.com). Previously, it included only the username without the domain. If your code expects the operating system username to omit the domain, you may need to update it.

    Web Services

    DP-437099: Correct inconsistency in CORS handling configuration

    Category: Web Services
    Platforms: All
    Versions: 2024.1.4, 2025.1.1, 2025.2.0

    Previously, CORS handling was inconsistent if a web application used map forwarding. In previous versions, the value of the HandleCorsRequest parameter in the dispatch class defined in the web application determined CORS handling, unless the route had Cors="true", in which case the HandleCorsRequest parameter in the final dispatch class (that is, the one that handles the request) would determine CORS handling.

    With this change, the HandleCorsRequest parameter in the final dispatch class always determines CORS handling.

    This change also requires that you recompile all existing REST web services upon upgrade.

    For Additional Help

    If you need assistance with evaluating how upgrading to this extended maintenance (EM) release will affect your applications, systems, or related plans, please contact the InterSystems Worldwide Support Center:

    • Phone:  +1.617.621.0700
    • Fax:  +1.617.734.9391
    • Email:  support@intersystems.com

    Current release notes (and complete product documentation) can be found online at https://docs.intersystems.com.

    FeedbackOpens in a new tab