New features
For previous releases, the information could be outdated or superseded.
IDM 8.1
Cluster standby mode
You can configure IDM instances to boot in standby mode, where they don’t process schedules, clustered reconciliation, or queued sync operations. Use the openidm/cluster/active endpoint to transition nodes between active and standby states on demand.
Learn more in:
openidm.http.client.userAgent property
The openidm.http.client.userAgent property lets you customize the User-Agent header sent with HTTP client requests. If not specified, the default "PingIdentity" value is used. Request-level headers take precedence over both the IDM configuration and the default value. Learn more in External REST configuration properties.
Workflow engine upgrade
The Flowable embedded workflow engine has been upgraded to version 7.2.0.
If you’re upgrading from a previous version of IDM and use workflow, this upgrade requires one or more incremental upgrade scripts.
Quartz Scheduler upgraded to 2.5.2
The embedded Quartz Scheduler has been upgraded from version 2.3.2 to 2.5.2. This upgrade doesn’t require any configuration change.
wantClientAuth support for Jetty listeners
A new setting, wantClientAuth, is available for webserver.listener-*.json configuration files to allow the server to request a client certificate during the TLS handshake without requiring it. This enables support for mixed traffic, allowing clients with or without certificates to connect on the same port. If a client provides a certificate, it must be valid; otherwise, the handshake fails.
Learn more:
enum support
Support for managed object schema enumerations in string and number attributes. To make an attribute an enumeration, add "enum" : [ "one", "two", "three" ] to the attribute.
OpenTelemetry logging
IDM now supports OpenTelemetry logging, which allows you to export logs in the OpenTelemetry Protocol (OTLP) to an OpenTelemetry collector. This is an evolving feature (1). Learn more in OpenTelemetry logging.
OpenTelemetryAppender in logback.xml
IDM now supports the OpenTelemetryAppender in the logback.xml configuration file. This appender writes formatted JSON logs to a collector using the OTLP protocol. Learn more in Log appenders.
Paging for the sync/mappings endpoint
The sync/mappings endpoint now supports paging to better display large numbers of mappings. You can retrieve results in manageable chunks by using the _pageSize parameter with either cookie-based (_pagedResultsCookie) or offset-based (_pagedResultsOffset) paging.
Learn more in Paging synchronization mapping results.
Improved task scanner exception handling
If the task scanner encounters a task that results in an exception, it now aborts only that task and continues processing the remaining tasks. Previously, the scanner would abort the entire process when any task caused an exception.
Bouncy Castle FIPS upgrade
The bc-fips-2.1.2 library is now available. Learn more in Download the Bouncy Castle libraries.
Jetty QoSHandler and configuration properties
IDM now includes the Jetty QoSHandler to limit the number of active concurrent requests. The handler is configured to use all but two threads to ensure requests to critical endpoints are always handled.
New QoSHandler configuration properties are available in webserver.json to control the maximum number of requests and the amount of time a request can remain in the handler’s queue: maxQueueSize and maxRequestSuspendTime.
Learn more in Jetty QoSHandler and in Jetty property reference.
Jetty QoSHandler metrics
IDM’s metric collection endpoints now include Jetty QoSHandler metrics. Learn more about the API and Prometheus metrics that track the QoSHandler queue.
Jetty Server Name Indication (SNI) host check
A new setting, sniHostCheckEnabled, is available in the webserver.listener-*.json configuration files to control the Jetty SNI host check. Although not recommended for security reasons, disabling this check might be necessary in certain proxy configurations, such as SSL pass-through.
Learn more in Disable SNI host check.
Jetty thread pool and request metrics
IDM’s metric collection endpoints now include Jetty thread pool and request metrics. Learn more in API Jetty metrics and Prometheus Jetty metrics.
Base64 atob and btoa global script bindings
IDM now includes atob (Base64-decode) and btoa (Base64-encode) as global script bindings. This update provides common JavaScript utilities for Base64 operations, mitigating potential class-loading issues associated with using native Java packages or classes for these functions.
Learn more in:
Liveness endpoint
A new liveness endpoint, openidm/health/live, is available to indicate whether the IDM instance is running. This endpoint can be used in containerized environments, such as Kubernetes, to determine when to restart a container.
The endpoint returns a 200 OK status when IDM’s required bundles are installed and started. Otherwise, it returns a 503 Service Unavailable status.
Learn more in Liveness probe.
Readiness endpoint
A new readiness endpoint, openidm/health/ready, is available to indicate whether the IDM instance is ready. This endpoint can be used in containerized environments, such as Kubernetes, to determine when a container is ready to accept traffic.
The endpoint returns an HTTP 503 status code when the health check readiness state is TEMPORARILY_UNAVAILABLE, CRITICAL, or HEALTHCHECK_UNKNOWN.
Connector server status metric
A new metric is available to monitor the status of connector servers. This metric indicates whether a connector server is running (1) or not running (0), providing a way to track connector server health without making a POST call to the system?_action=testConnectorServers endpoint.
-
API metric:
icf_connector_server_availability.rcsName.rcsType -
Prometheus metric:
idm_icf_connector_server_availability
Pending connector request metric and provisioner metric tags
IDM’s metric collection endpoints include a new metric to monitor the number of pending connector requests over the configured limit. The provisioner service also includes connector_type, bundle_version, and location metric tags.
Pending request gauges won’t register until the associated RequestType has been invoked at least one time.
|
-
API metric:
icf_pending.{connector-type}.{bundle-version}.{location} -
Prometheus metric:
idm_icf_pending{bundle_version="{bundle_version}",connector="{connector}",connector_type="{connector_type}",location="{location}",operation="{operation}",system_identifier="{system_identifier}"}
IDM 8.0.1
Bouncy Castle FIPS upgrade
The bc-fips-2.1.2 library is now available. Learn more in Download the Bouncy Castle libraries.
Jetty Server Name Indication (SNI) host check
A new setting, sniHostCheckEnabled, is available in the webserver.listener-*.json configuration files to control Jetty’s SNI host check. Although not recommended for security reasons, disabling this check might be necessary in certain proxy configurations, such as SSL pass-through.
Learn more in Disable SNI host check.
IDM 8.0
Secure RCS access
You can create stricter RCS authorization and access rules. To enable authorization for RCS, add an appropriate role to the static-user mapping used for the RCS subject and write the appropriate access rules to permit this role to be granted access to the openicf servlet on the path (pattern) corresponding to the RCS name used in the RCS configuration.
Learn more in Secure RCS access.
Bouncy Castle FIPS 140-3 compliance
You can configure PingIDM to meet Federal Information Processing Standard (FIPS) 140-3 compliance standards. Learn more in FIPS 140-3 compliance.
Distributed tracing with OpenTelemetry
You can run a distributed trace in PingIDM using OpenTelemetry and export the data to an external trace collector for telemetry storage and visualization.
Learn more in Distributed tracing.
Jetty 12 support
The embedded Jetty web server supports Jetty 12. Instead of jetty.xml, the updated configuration uses a webserver.json for global settings and a webserver.listener-*.json to detect changes. Learn more in Embedded Jetty configuration.
|
When serving SSL requests, Jetty 12 checks that the incoming host header matches the server certificate’s subject and returns a |
Array comparison
You can choose how synchronization detects managed object array changes using unordered or ordered comparison using the configuration property comparison in the schema. Unordered JSON array comparison ignores the order of elements and can negate the need for certain custom scripts within mappings.
Learn more about managed object schema properties and array comparison.
Logback
IDM now uses Logback to generate server logs. Learn more in Server logs.
Java 21 support
You can run IDM with Java 21. Learn more in Java requirements.
Audit-free health check
To verify the current server state without generating audit logs, use the new openidm/health endpoint. Learn more in Audit-free health check.
Additional metrics
New metrics are available for ICF operations.
Filesystem secret store automatic encryption
You can configure automatic encryption of your filesystem secret store.
Store credentials as secrets
You can store credentials for many services as secrets. The list of supported services has been expanded to include:
Learn more in Secret stores.
_api parameter requires authorization
Requests passing the _api parameter now require authorization. Learn more in Common REST.
IDM 7.5.2
This release includes updates to ICF connectors, updates to dependency libraries, bug fixes, and the following feature:
IDM 7.5.1
_api parameter requires authorization
Requests passing the _api parameter now require authorization. Learn more in Common REST.
Secure RCS access
You can create stricter RCS authorization and access rules. To enable authorization for RCS, add an appropriate role to the static-user mapping used for the RCS subject and write the appropriate access rules to permit this role to be granted access to the openicf servlet on the path (pattern) corresponding to the RCS name used in the RCS configuration.
Learn more in Secure RCS access.
Array comparison
You can choose how synchronization detects managed object array changes using unordered or ordered comparison using the configuration property comparison in the schema. Unordered JSON array comparison ignores the order of elements and can negate the need for certain custom scripts within mappings.
Learn more about managed object schema properties and array comparison.
IDM 7.5.0
Connectors
Connectors continue to be updated and released outside of IDM. To stay up-to-date with new features and versions, check out the ICF Release notes.
Although not bundled in this release of IDM, the two newest connectors are available to download from Backstage:
International email addresses
IDM now supports international email addresses. This feature is only available for supporting SMTP providers.
For more information, refer to International email addresses.
Store credentials as secrets
You can store credentials for a number of services as secrets. The supported services include:
For more information, refer to Secret stores.
Version file system secrets
You can have multiple versions of secrets stored in a file system secret store.
For more information, refer to Filesystem secret stores.
Enhanced signal propagation
Managed objects can now receive relationship graph topology change signals through the SignalPropagationCalculator class that is active by default.
Learn more in Enhanced signal propagation.
Workflow engine upgrade
The Flowable embedded workflow engine has been upgraded to version 6.8.0. If you are upgrading from a previous version of IDM and use workflow, this upgrade requires one or more incremental upgrade scripts. For more information, refer to Upgrade an existing repository.
Connect to DS with ScriptedREST sample supports client_credentials grant type
The customizer script for the Connect to DS with ScriptedREST sample now includes OAuth capabilities for the client_credentials grant type.
IDM 7.4.3
This release includes updates to ICF connectors, updates to dependency libraries, bug fixes, and the following feature:
IDM 7.4.2
International email addresses
IDM now supports international email addresses. This feature is available only for supporting SMTP providers.
For more information, refer to International email addresses.
Secure RCS access
You can create stricter RCS authorization and access rules. To enable authorization for RCS, add an appropriate role to the static-user mapping used for the RCS subject and write the appropriate access rules to permit this role to be granted access to the openicf servlet on the path (pattern) corresponding to the RCS name used in the RCS configuration.
Learn more in Secure RCS access.
Array comparison
You can choose how synchronization detects managed object array changes using unordered or ordered comparison using the configuration property comparison in the schema. Unordered JSON array comparison ignores the order of elements and can negate the need for certain custom scripts within mappings.
Learn more about managed object schema properties and array comparison.
_api parameter requires authorization
Requests passing the _api parameter now require authorization. Learn more in Common REST.
Java 17 support
This IDM release requires Java 17. Learn more in Embedded Jetty configuration.
IDM 7.4.1
-
The Flowable embedded workflow engine has been upgraded to version 6.8.0.
-
End user UI supports array properties.
-
SalesForce connector supports
client_credentialsandrefresh_tokengrant types.
IDM 7.4.0
Filesystem secret stores
You can now configure secret stores to use filesystem secret stores. Filesystem secret stores use a directory containing many files, each storing a single secret. For more information, refer to Filesystem secret stores.
Microsoft Graph API email client
In addition to the SMTP client, you can now configure the outbound email service to use the new MS Graph API Client.
| Use of the new email client requires a properly configured Microsoft Azure tenant. |
For more information, refer to Outbound email service.
Additional metrics
New metrics are available for livesync and scheduler functions. For example requests, refer to Scheduler metrics.
mTLS for authentication to DS
If you’re using IDM with a DS repository, ForgeRock recommends using mTLS to authenticate to DS to better facilitate credential rotation. Refer to Configure mTLS.
IDM 7.3.3
This release includes updates to ICF connectors, updates to dependency libraries, bug fixes, and the following feature:
IDM 7.3.2
International email addresses
IDM now supports international email addresses. This feature is available only for supporting SMTP providers.
For more information, refer to International email addresses.
Secure RCS access
You can create stricter RCS authorization and access rules. To enable authorization for RCS, add an appropriate role to the static-user mapping used for the RCS subject and write the appropriate access rules to permit this role to be granted access to the openicf servlet on the path (pattern) corresponding to the RCS name used in the RCS configuration.
Learn more in Secure RCS access.
Array comparison
You can choose how synchronization detects managed object array changes using unordered or ordered comparison using the configuration property comparison in the schema. Unordered JSON array comparison ignores the order of elements and can negate the need for certain custom scripts within mappings.
Learn more about managed object schema properties and array comparison.
_api parameter requires authorization
Requests passing the _api parameter now require authorization. Learn more in Common REST.
Java 17 support
This IDM release requires Java 17. Learn more in Embedded Jetty configuration.
IDM 7.3.1
Workflow engine upgrade
The Flowable embedded workflow engine has been upgraded to version 6.8.0. If you’re upgrading from a previous version of IDM and use workflow, this upgrade requires one or more incremental upgrade scripts. For more information, refer to Upgrade an existing repository.
IDM 7.3.0
Support for Bouncy Castle FIPS
IDM now supports the use of Bouncy Castle FIPS as a security provider. Bouncy Castle FIPS is useful when dealing with government data, where meeting the FIPS 140-2 security requirement is necessary for regulatory compliance.
For information on how to configure Bouncy Castle, refer to FIPS 140-3 compliance.
Support for UTF-8 email addresses
IDM now supports UTF-8 (non-ASCII/international) characters in email addresses, such as zoë@example.com. When sending emails to these type of addresses, the configured SMTP server must also support UTF-8.
Disable delegated administrator sort and filter while searching
You can now disable delegated administrator sort and filter while searching resource collections in the End User UI. For more information, refer to Disable sort and filter for resource collections.
Workflows now support JavaScript
IDM workflows now support JavaScript in addition to Groovy. For more information about scripting workflows, refer to BPMN 2.0 and workflow tools.
Patch operation improvements
It is now possible to patch the root of an object. The only supported patch operations on the root of an object are remove and replace.
IDM 7.2.2
This release includes updates to ICF connectors, updates to dependency libraries, bug fixes, and the following new feature:
Support for upgrading DS to later version than IDM
Upgrading to DS 7.3 is now supported. For more information, refer to Supported repositories.
IDM 7.2.1
This release includes updates to ICF connectors, updates to dependency libraries, and bug fixes.
IDM 7.2.0
This release of PingIDM software includes the following new features:
Property-based secret stores
IDM now supports property-based secret stores and can read keys and trusted certificates from properties that contain keys in Privacy-Enhanced Mail (PEM) format.
For more information, see Property secret stores.
Scanning tasks to activate and deactivate accounts
The default IDM configuration now includes two scanning tasks that activate and deactivate a user’s accountStatus, based on their activeDate and inactiveDate. For more information, see Activate and deactivate accounts.
external/email endpoint improvements
You can now use cc and bcc parameters with the sendTemplate action. For more information, see:
Workflow improvements
The Flowable embedded workflow engine has been upgraded to version 6.6.0. This upgrade fixes the issue with native email tasks previously mentioned in the Workflow Guide.
Policy validation for field removal
You can now validate field removal using the policy action validateProperty.
Relationship-derived Virtual Properties (RDVP) improvements
Relationship-derived Virtual Properties now include reference fields with details of the referenced relationship.
AD Password Synchronization Plugin UTC timestamps
The latest version of the Active Directory password synchronization plugin (v1.7.0) uses UTC timestamps for logs.
Bootstrap IDM without stored configuration
Previously, the property openidm.fileinstall.enabled also controlled the configs being loaded on startup. Therefore, to disable file monitoring, you had to first start IDM with it enabled in order to load the configs into the repository, and then restart IDM with it disabled. The new setting openidm.config.bootstrap.enabled (which defaults to true), allows file monitoring to be disabled, and the bootstrap process will load the configuration into the repository.
For more information, see Disable automatic configuration updates.
API version header warnings
IDM can now log warnings when API version headers are not specified.
Reconciliation enhancements
Reconciliation has been enhanced in the following ways:
-
Previously, if one node in the cluster went down or offline during a clustered reconciliation run, the reconciliation was canceled. This limitation no longer exists. For more information, see Clustered reconciliation.
-
Addition of the properties:
-
reconTargetQueryPaging -
reconTargetQueryPageSize
Learn more in the Synchronization reference.
-
Assignment synchronization optimization
A new property has been added to synchronization mappings, optimizeAssignmentSync, which determines whether modifications to an assignment’s attributes or relationships should be treated as a synchronization event for members of that assignment or role, or if it should only be treated as a synchronization event for members if the modified assignment is directly relevant to that mapping, or if effectiveAssignments is included in triggerSyncProperties.
Learn more in the Synchronization reference.
Query filtering on arrays
For versions of IDM running DS or PostgreSQL as a repository, queryFilter now supports filtering on the contents of arrays. For more information, see Filter objects in arrays.
IDM 7.1.6
This release includes updates to ICF connectors, updates to dependency libraries, bug fixes, and the following new feature:
-
The SalesForce connector template supports
client_credentialsgrant type.
IDM 7.1.4
This release includes updates to ICF connectors, updates to dependency libraries, bug fixes, and the following new feature:
-
Upgrading to DS 7.3 is now supported. For more information, refer to Supported repositories.
IDM 7.1.2
This release includes updates to ICF connectors, updates to dependency libraries, bug fixes, and the following new feature:
-
The Flowable embedded workflow engine has been upgraded to version 6.6.0. This upgrade fixes the issue with native email tasks previously mentioned in the Workflow Guide.
IDM 7.1
Sample connection to Azure AD with the MS Graph API connector
The Synchronize data between IDM and Azure Active Directory sample uses the MS Graph API connector to synchronize users between IDM and Azure AD.
Password sync plugins
Active Directory Password Synchronization Plugin UTC timestamps
The latest version of the Active Directory password synchronization plugin uses UTC timestamps for logs.
Active Directory Password Synchronization Plugin infinite loop prevention
The latest version of the Active Directory Password Synchronization Plugin supports a new registry key that helps prevent infinite password update loops. Learn more about the registry key, pwdChangeInterval.
Active Directory Password Synchronization Plugin configurable max retries
The latest version of the Active Directory Password Synchronization Plugin supports a new registry key to configure the maximum retry attempts for password changes. Learn more about the registry key, maxFileRetry.
Active Directory Password Synchronization Plugin search filter
The latest version of the Active Directory Password Synchronization Plugin supports a new registry key to configure a search filter to omit users/groups from password syncing. Learn more about the registry key, userSearchFilterStrict.
Support for alternative KBA answer hashing
Previously, KBA answers were always hashed as SHA-256 upon save, which is still the default setting. However, you can now specify an alternative hashing algorithm.
Managed object default values
You can now specify default values for properties in the managed object configuration. For example, the default managed object configuration includes a default value that makes accountStatus:active, which effectively replaces the onCreate script that was previously used to achieve the same result.
| IDM assumes all default values are valid for the schema. Although IDM skips policy validation for objects with default values, you can force validation on property values |
Support for REST queries on array properties (JDBC)
You can now perform REST queries on properly configured array fields. Learn more:
waitForCompletion property added to the config endpoint
The optional waitForCompletion parameter is now available to the config endpoint for create, update, and patch requests. Learn more:
IDM 7.0.4
This release includes updates to ICF connectors, updates to dependency libraries, and bug fixes.
IDM 7.0.2
-
You can now validate field removal using the policy action
validateProperty. -
The Flowable embedded workflow engine has been upgraded to version 6.6.0. This upgrade fixes the issue with native email tasks previously mentioned in the Workflow Guide.
IDM 7
Password sync plugins
Active Directory Password Synchronization Plugin UTC timestamps
The latest version of the Active Directory password synchronization plugin uses UTC timestamps for logs.
Active Directory Password Synchronization Plugin infinite loop prevention
The latest version of the Active Directory Password Synchronization Plugin supports a new registry key that helps prevent infinite password update loops. Learn more about the registry key, pwdChangeInterval.
Active Directory Password Synchronization Plugin configurable max retries
The latest version of the Active Directory Password Synchronization Plugin supports a new registry key to configure the maximum retry attempts for password changes. Learn more about the registry key, maxFileRetry.
Active Directory Password Synchronization Plugin search filter
The latest version of the Active Directory Password Synchronization Plugin supports a new registry key to configure a search filter to omit users/groups from password syncing. Learn more about the registry key, userSearchFilterStrict.
Access configuration over REST
You can now configure access rules over REST, at the openidm/config/access endpoint. In previous releases, access rules were configured in the access.js file. This script file has been replaced by an access.json configuration file, that performs the same function. Learn more in Authorization and roles.
Privilege dynamic filters
You can now create privilege dynamic filters for delegated administrators.
Configurable HTTP I/O request buffer
You can now configure the temporary storage file size for HTTP I/O requests.
Filter expanded relationships
You can use _queryFilter to directly filter expanded relationships from a collection, such as authzRoles. Learn more in Filter expanded relationships.
Deterministic ECDSA signatures for JWT
By default, JWTs are now signed with deterministic Elliptic Curve Digital Signature Algorithm (ECDSA). In order to use this more secure signing method, Bouncy Castle, which is included in the default IDM installation, must be installed. If Bouncy Castle is unavailable or the key is incompatible, IDM falls back to normal ECDSA.
|
If you need to turn off the use of deterministic ECDSA, add the following line to
|
Debugging information for Groovy scripts
In previous releases, setting javascript.exception.debug.info=true in the boot.properties file enabled additional debug information, including line numbers and file names for JavaScript exceptions. In this release, setting groovy.exception.debug.info=true lets you gather comparable debug information for Groovy scripts.
REST API Versioning
IDM now supports the ability to specify the REST API version in HTTP calls and scripts. For more information, see REST API Versioning.
The following APIs have been updated in this release:
- openidm/scheduler
-
Version 2 of this endpoint adds a
previousRunDateproperty to the output of REST calls on specific scheduled tasks.Version 2 also lets you trigger a scheduled task manually and pause and resume a scheduled task.
The actionparameter on theschedulerendpoint was deprecated in Version 1 of the endpoint and is not supported in Version 2.
Support for AM bearer tokens
IDM now supports using AM bearer tokens for authentication, with the rsFilter authentication module. Going forward, this is the only supported method for integrating AM and IDM. Learn more in Authenticate through AM.
Notification property now configurable
Notifications of changes to managed objects are injected into a property in that object type. Previously, the name of this property was always _notifications. In this IDM release, you can customize the name of the notifications property. Learn more in Configure notifications.
Reconciliation Association Information
The new recon/assoc endpoint can be used to gather detailed information about the associations created between a source and a target object during a reconciliation. This endpoint requires the following tables and views to be added to your repository: reconassoc, reconassocentry, and reconassocentryview. Learn more about reconciliation association details.
For instructions on updating your existing repositories to enable this feature, refer to Upgrade an Existing Repository in the IDM 7.0 documentation.
Profile completeness endpoint
A new endpoint has been added to self-service, which lets you get a percentage value regarding the completeness of a specified user’s profile.
Audit logging safelist
By default, IDM now safelists fields that are safe to log. Learn more in Use policies to filter audit data.
in clause for queries
The in expression clause provides limited support for queries on singleton string properties.
Disposal of idle poolable connector instances (ICF)
In version 1.5.20.11 of the ICF framework, the framework disposes of idle connector instances in the connection pool (for poolable connectors such as the LDAP connector and the Database Table connector).
A connection pool cleaner thread now runs every minute and removes connections whose lastUsed time is larger than the minEvictableIdleTimeMillis.
This behavior is an improvement on previous releases, where a connection that had been used then returned to the connection pool remained there until the next connector operation. The previous behavior could result in several connections in the pool, that were idle but still connected to the target resource.
Separate mapping configuration files
This release lets you configure mappings in separate mapping files, instead of, or in addition to one sync.json file. You cannot manage separate mapping configurations through the Admin UI. Learn more in Resource mapping.
Queued sync retry
This release provides the ability to configure an infinite number of queued synchronization retries. Learn more in Configure queued synchronization.
Material Design Icon added to managed object configuration
mat-icon has been added to the schema property of the managed object configuration.
Archive
For documentation and release information prior to IDM 7.0, check out the Documentation Archive.
Security advisories
Ping Identity issues security advisories in collaboration with our customers to address any security vulnerabilities transparently and rapidly.
Ping Identity’s security advisory policy governs the process on how security issues are submitted, received, and evaluated as well as the timeline for the issuance of security advisories and patches.
Learn how to find security advisories in the Ping Identity support portal (requires sign-on).