New and Enhanced Features for InterSystems IRIS 2020.4
This document describes the new and enhanced features in the 2020.4 release of InterSystems IRIS® data platform, which is a continuous delivery release. The enhancements in this release help developers build even faster and more reliable applications with InterSystems IRIS with greater convenience.
Enhancements for Application Developers
Java developers can now take advantage of Java SE 11 LTS. InterSystems tests and supports both the Oracle OpenJDK and AdoptOpenJDK implementations of the standard for all of its Java-based components. See the corresponding section in the Supported Technologies list for more detail.
The InterSystems IRIS JDBC driver now fully supports Connection Pooling for efficient managing of database connections from your Java applications. See the Connection Pooling section in the JDBC documentation for more detail.
For ObjectScript developers, the VSCode-ObjectScript Version 1.0 is available. VSCode-ObjectScript is an open source extension for the VSCode IDE to enable practical development of ObjectScript applications for InterSystems IRIS. For details, see the VS Code InterSystems ObjectScript documentation.
Enhancements for Database and System administrators
InterSystems Cloud Manager (ICM) now supports deploying and configuring the InterSystems System Alerting and Monitoring (SAM) and InterSystems API Manager (IAM) components. This enables ICM users to provision their SAM and IAM instances along with IRIS as one comprehensive environment.
The InterSystems SQL syntax has been extended with a set of new commands for managing and configuring your database from a SQL prompt. This enables users with just JDBC or ODBC access to perform most administrative tasks without requiring access to the System Management Portal or an ObjectScript terminal prompt. It includes common tasks such as building indices and managing frozen plans. For details, see “BUILD INDEX,” “FREEZE PLANS,” “PURGE CACHED QUERIES,” “CREATE INDEX,” and new options in “SET OPTION.”
This release completes the set of scenarios for configuring mirroring for sharded clusters. Users can now configure mirroring (synchronous or asynchronous) on an existing cluster, or fail over the entire cluster to the set of asynchronous mirror members in another data center in Disaster Recovery scenarios. See the corresponding section in the Scalability Guide for more details.
This release simplifies the deployment of InterSystems Reports, the new reporting capability for InterSystems IRIS. As part of a closer integration, InterSystems Reports now uses the same user accounts as InterSystems IRIS for managing, building and executing reports. In addition, all configuration and management data for InterSystems Reports uses InterSystems IRIS if the setup scripting is used. A script to complete the initial configuration of InterSystems IRIS Report Server for on-prem deployments and a docker-compose file for Docker deployments of the Reports Server are both available as part of this release.
Other Enhancements in this Release
InterSystems SQL saw a number of performance enhancements that will speed up many different types of queries when upgrading to this release. A complex customer benchmark composed of millions of queries ran 6% faster on 2020.4 compared to the 2020.3 release.
This release introduces a new algorithm for estimating field selectivity when gathering table statistics. This improves the ability of the SQL optimizer to choose the fastest query plan for any given SQL statement.
For a number of applicable scenarios, the SQL engine will now use a kernel-level iterator to read through temporary results. This simplifies generated code and can speed up certain steps in a query plan, such as sorting, by up to 40%.
Recent updates to browser security have changed handling of third-party cookies. These updates use the SameSite attribute to reduce the risk of cross-site request forgery (CSRF) attacks, unauthorized access to data, and other possible security issues. Chrome (starting with v.84) enforces stricter rules for SameSite behavior, and these rules can cause issues with existing websites and web applications. These issues may include login problems, the login page being displayed repeatedly, and page elements not displaying properly. In previous versions, you could not modify the SameSite attribute; hence web applications running on these versions may have such issues.
This release solves these problems by setting the SameSite attribute for cookies and by allowing you to set change the default setting; however, you may need to modify your code to customize values setting the session cookie scope and the user cookie scope. Additionally, if you are using “SameSite=None”, you must ensure that your web application can support secure HTTPS connections. For details, see About the SameSite Attribute.
When installing a new InterSystems IRIS instance, a smarter default memory settings will allocate more of the available resources and provide better out-of-the-box performance. When installing multiple instances on the same server, such as in development environments, it may be worthwhile checking if these new defaults don't compete with non-InterSystems software running on the same machine.
This release adds support for a new "foreach" action, which can be used within Routing Rules used for segmented virtual documents (ASTM, EDIFACT and X12). The foreach action is supported in the Rule Type "Segmented Virtual Document Message Routing Rule". The foreach action can loop over repeating segments in the virtual document and nested loops are supported. This enables developers to build rules that match certain conditions regardless of the position of a segment within a repeating group. For details, see About Actions.
Continuous Delivery Releases of InterSystems IRIS
InterSystems IRIS 2020.4 is a continuous delivery release of InterSystems IRIS. There are now two streams of InterSystems IRIS releases:
Extended maintenance (EM) releases — these are annual releases and provide maintenance releases. These releases are ideal for large enterprise applications where the ease of getting fixes in maintenance releases is more important than getting early access to new features.
Continuous delivery (CD) releases — these are quarterly releases provide that access quickly to new features and are ideal for developing and deploying applications in the cloud or in local Docker containers.
The quarterly schedule of continuous delivery releases reduces the time between when a customer requests a feature and we deliver it to them. Having regular schedules for both the continuous delivery releases and the major extended maintenance releases provide customers with a predictable schedule that helps them plan and schedule updates.
Continuous delivery releases are provided in container format and are available on Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure, Docker Hub, and the InterSystems WRC download site. You can run a continuous delivery release on any of these cloud platforms or a local system using Docker container. InterSystems does not provide maintenance releases for continuous delivery releases, but instead fixes issues in subsequent continuous delivery releases.
The extended maintenance releases are provided on all Supported Platforms Guide, including UNIX®, Windows, the cloud platforms, and the Docker container.
If your application runs on a non-container platform, you can only use an extended maintenance release for that application but can consider using the continuous delivery releases for:
Evaluating new features and testing your custom code — this will reduce your upgrade costs when you upgrade to the next extended maintenance major release.
Using it for new projects that can be deployed in the cloud or in local containers.
In addition to providing fully-suppported releases, InterSystems provides access to prerelease software for developers who want to get an early look at new features.