Release Notes
New features and improvements in PingAuthorize. Updated December 13, 2024.
Subscribe to get automatic updates: PingAuthorize Release Notes RSS feed
Latest releases
PingAuthorize 10.2 (December 2024)
Deprecated support for Java 11
Info PAZ-16269
Support for Java 11 has been deprecated. PingAuthorize 10.3 and later will not support Java 11. To prevent problems when upgrading PingAuthorize, you should upgrade to Java 17. Learn more in System requirements.
Custom SDK extensions using Javax packages will need to be migrated and recompiled in 10.3
Info
Several components will be upgraded in version 10.3 of PingAuthorize. If any of your custom Server SDK extensions have classes that import javax.*
packages, you will need to migrate them to the equivalent jakarta.*
packages and then recompile the extensions.
Advanced OAuth Settings for HTTP services
New PAZ-16062
For HTTP services using the OAuth 2.0 (Client Credentials) grant type for authentication, we added the ability to include custom key-value pairs as additional parameters in the body of token endpoint requests. This level of customization is useful when integrating with authorization servers that enforce specific configuration constraints. Learn more in HTTP authentication methods.
Added a new policy query response view
New PAZ-12855
To provide enhanced visibility into the logic underlying policy query responses, we added support for a new unfiltered
policy query response view. This view includes every decision used to compose the final policy query response, regardless of the outcome or the presence of statements. Learn more in Configuring query response granularity.
Added debug logging for policy query requests
New PAZ-12855
We added debugging capabilities for policy query audit logging in the PingAuthorize Server and the Policy Editor. Enabling debug logging brings enhanced visibility to the attribute data and policy dependencies involved in policy query responses. Learn more in Policy query logging.
Added ability to customize policy query debug log views
New PAZ-16050
For policy query audit logs with debug logging enabled, we added the ability to specify additional levels of detail to include in each query permutation’s response
field. This level of customization enables you to increase or decrease visibility into query requests and responses in both development and production environments. Learn more in Configuring the query permutation view.
Added support for attribute logging to policy query responses
New PAZ-16050
You can now exercise control over which attributes get logged as part of policy query responses in embedded or external PDP mode. This configuration logs full details of the specified attributes when they’re evaluated as part of the policy query request.
Added support for Mapped Diagnostic Context
New PAZ-13188
We added support for Mapped Diagnostic Context (MDC) capabilities in PingAuthorize Server and Policy Editor logging. MDC enriches log messages with additional request context, enabling you to diagnose issues across application components. Learn more in Enabling Mapped Diagnostic Context for Policy Editor logs.
MDC logging is enabled by default in the PingAuthorize Server for the File-based Trace Log Publisher. |
Added support for a new signature algorithm
New PAZ-13089
We added support for Elliptic Curve Digital Signature Algorithm (ECDSA)-encoded signatures for JWT tokens when using the Has Valid Signature For JWKS
and Has Invalid Signature For JWKS
attribute comparators. Learn more in Conditions.
Added native support for decision-point-spel-functions
New PAZ-15718
We added the decision-point-spel-functions
library to the PingAuthorize Server distribution. These functions add native capabilities for collection, datetime, and URI processing with SpEL.
Added support for Camel 3.22.2
New PAZ-15845
Although Camel services have been removed from the default PingAuthorize configuration, you can now use Camel version 3.22.2 if your policies depend on such services. Learn more in Enabling Camel service connections.
Added key and trust manager caching
New DS-49135
We added the ability to cache key managers and trust managers to prevent loading keystore and truststore files from disk when establishing connections to process requests. Use the enable-key-manager-caching
and enable-trust-manager-caching
configuration properties to enable or disable caching. Learn more in Caching key and trust managers.
Improved policy query error handling
Improved PAZ-12527
We improved and standardized error handling for requests sent to the JSON PDP API’s governance-engine/query
endpoint.
Made it easier to resolve policy query attributes
Improved PAZ-12724
When making a policy query request, you might want to use a single-valued attribute to resolve a query
attribute. Now, you can include this single-valued attribute in the query
section rather than the context
section of the JSON PDP API request.
Allowed proxied requests for HTTP external servers
Improved DS-48729
We updated the PingAuthorize Server’s HTTP external server configuration to allow requests to be forwarded through an HTTP proxy server.
Fixed an issue with Policy Query API responses
Fixed PAZ-12752
We fixed an issue where the same request sent to the JSON PDP API’s governance-engine/query
endpoint could produce inconsistent responses.
Fixed an issue with testing large elements
Fixed PAZ-11133
We fixed an issue where running test scenarios that exceeded 50 kB in size would produce the following error: Failed to execute 'setItem' on 'Storage': Setting the value of 'xxx' exceeded the quota.
Now, although test scenarios of this size will still execute, these scenarios will not be stored in the Policy Editor’s local cache. Learn more in Testing policies.
Fixed an issue with redundant policies when using the Policy Editor Management API
Fixed PAZ-12166
We fixed an issue where creating a copy of an existing policy with the Policy Editor Management API would generate a redundant copy of that policy. This occurred because the version ID of the original policy was supplied in the POST request to create the policy copy. With this fix, users can no longer provide a version ID when creating a new policy.
Fixed an issue with the Policy Editor login screen
Fixed PAZ-2355
We fixed an issue where the Policy Editor login screen was incorrectly aligned on displays with insufficient vertical height.
Fixed a performance issue with policy queries
Fixed PAZ-16415
We fixed an issue where policy query responses were constructed with an excessively broad response view, causing performance issues.
Fixed an issue with merging branches
Fixed PAZ-15930
We fixed an issue that would cause false conflicts when merging policy branches in the Policy Editor.
Fixed a Policy Editor sign-off issue
Fixed PAZ-16253
We fixed an issue that would prevent complete sign-off from the Policy Editor when using the Authorization Code with PKCE grant type.
Fixed an issue with the Decision Visualizer
Fixed PAZ-11767
We fixed an issue where pasting an audit log entry without the decisionTree
or evaluationLog
field into the Policy Editor’s Decision Visualizer would incorrectly return a Cannot read properties of undefined (reading 'create')
error in addition to a decisionTree or evaluationLog must be enabled to visualize decision tree
error.
Fixed an issue with deployment package store requests
Fixed PAZ-16140
We fixed an issue with the PingAuthorize Server that caused logs and monitors to make requests to deployment package stores more frequently than the configured polling interval, causing performance issues.
Changed the collect-support-data
monitor file behavior
Fixed DS-47384
For the PingAuthorize Server, we changed the collect-support-data
tool to use the latest monitor-history
file if it can’t find ldap/monitor.ldif
when exchanging monitor data.
Fixed an issue with Promotheus HTTP servlet error messages
Fixed DS-49161
We fixed an issue with the PingAuthorize Server where the Prometheus HTTP servlet would publish an excessive number of error messages to the error log when it lost connection to its remote counterpart.
PingAuthorize 10.1.0.2 (September 2024)
Added a new policy query response view
New
We added support for a new unfiltered
policy query response view. This view includes every decision used to compose the final query response, regardless of the outcome or the presence of statements. Learn more in Configuring query response granularity.
Added policy query debug logging
New
We added debugging capabilities for policy query audit logging. Enabling the DEBUG
log level brings enhanced visibility to the attribute data and decision logic underlying query responses. Learn more in Troubleshooting policy queries.
Added support for Mapped Diagnostic Context
New
We added support for Mapped Diagnostic Context (MDC) capabilities in logging. MDC enriches log messages with additional request context, enabling you to diagnose issues across application components. Learn more in Enabling Mapped Diagnostic Context for Policy Editor logs.
Added support for a new signature algorithm
New
We added support for Elliptic Curve Digital Signature Algorithm (ECDSA)-encoded signatures for JWT tokens when using the Has Valid Signature For JWKS
and Has Invalid Signature For JWKS
attribute comparators. Learn more in Conditions.
Improved policy query error handling
Improved
We improved and standardized error handling for requests sent to the governance-engine/query
endpoint.
Improved resolution of query attributes
Improved
When making a policy query request, you might want to use a single-valued attribute to resolve a query
attribute. Now, you can include this single-valued attribute in the query
section, rather than the context
section of the request.
Fixed an issue with Policy Query API responses
Fixed PAZ-12752
We fixed an issue where the same request sent to the governance-engine/query
endpoint could produce inconsistent responses.
Fixed an issue with the Decision Visualizer
Fixed PAZ-11767
We fixed an issue where pasting an audit log entry without the decisionTree
or evaluationLog
field into the Decision Visualizer would incorrectly return a Cannot read properties of undefined (reading 'create')
error in addition to a decisionTree or evaluationLog must be enabled to visualize decision tree
error.
PingAuthorize 10.1 (June 2024)
Make real-time data calls to relational databases
New
We added a new Database service type, enabling you to use relational databases as policy information points (PIP) during policy development. Services retrieve information from external data sources for use in context-aware authorization decisions. Now, you can dynamically query and transform such information from relational databases. Learn more in Database services.
Implement third-party decision log publishers with the PingData Server SDK
New
We added a new Policy Decision Logger extension to the Server SDK for developing third-party decision log publishers. This extension enables you to configure custom decision logging behavior and log destinations. You can extend the provided PolicyDecisionLogger
API in the Server SDK to implement your custom logic. Learn more in Managing Server SDK Extensions and the doc/getting-started
directory in your SDK download.
Map decision request headers to Trust Framework attributes
New
We added the ability to map headers of incoming JSON PDP API requests to Trust Framework attributes. PingAuthorize uses these mappings to dynamically populate attribute values with the values of incoming request headers, enabling you to leverage header data as decision context in request bodies. Learn more in Configuring policy request header mappings.
Determine whether service call results were retrieved from cache
New
We added the ability, for any call to external services with caching enabled, to determine whether the result of that call was retrieved from the cache. Learn more in Service caching.
Enable Camel service connections with the command line
New
We added the ability to enable Camel service connections in the Policy Editor with the command line. To ensure that Camel is used with the appropriate permissions and security controls, Camel services are disabled by default in the Policy Editor. Now, instead of manually updating the Policy Editor’s configuration, you can enable Camel service connections with the --enableCamelService
option in non-interactive setup mode. Learn more in Enabling Camel service connections.
Enable JSON formatting for default Policy Editor loggers
New
We added support for the dropwizard-json-logging
library to the default Policy Editor loggers. Now, you can add this library in the Policy Editor’s configuration.yml
file to each logger stream you wish to enable JSON formatting for. The availability of this library does not impact the application’s default configuration. Learn more in Enabling JSON formatting for Policy Editor logs.
Added support for new platforms
New
We added support for Rocky Linux 9.3 and Red Hat Enterprise Linux 9.3. Learn more in System requirements.
Improved database service security
Improved
To address the possibility of remote code execution attacks with H2 database services, we made the database driver allow list configurable and unlisted H2 by default. Learn more in Database services.
Updated default configuration archive maximum
Info
To mitigate the performance impact of large archives, we updated the configuration archive to keep a maximum of 100 previous configurations by default
Fixed an issue with creating copies of policies
Fixed PAZ-12150
We fixed an issue where, in some cases, copying a policy created a redundant instance of that policy.
Fixed an issue with Library statement duplication
Fixed PAZ-9092
We fixed an issue where copying a rule containing a Library statement would create a new instance of that statement instead of reusing the existing one.
Fixed an issue with saving LDAP services
Fixed PAZ-12017
We fixed an issue where, after enabling caching for an LDAP service, specifying a Time to Live (TTL), and clicking Save, the specified TTL disappeared from the UI and backend configuration.
Fixed an issue with HTTP service requests
Fixed PAZ-12145
We fixed an issue where, when making HTTP service calls, the policy decision point would incorrectly assign default values to the request body and the content-type
header.
Fixed an issue with self-governance decision requests
Fixed PAZ-3306
We fixed an issue where, when using an imported policy snapshot, self-governance decision requests were missing values in the action
field.
Fixed an issue with Policy Query API responses
Fixed PAZ-12245
We fixed an issue where, when sending a Policy Query API request with an unbounded attribute in the query
array, the system would return a 500 error status code if the unbounded attribute’s value was resolved to an empty collection.
Fixed an issue with the CLI tools reference
Fixed PAZ-3469
We fixed an issue where the CLI tools reference page was incorrectly titled Configuration Reference. Now, the page is correctly titled CLI Tools Reference.
Fixed an issue with the comparators list
Fixed PAZ-11768
We fixed an issue where, when creating rules in the Policy Editor, the comparators list extended outside of the list area, preventing you from scrolling through the list.
Fixed an issue with unnamed Trust Framework elements
Fixed PAZ-12150
We fixed an issue where a user could leave new elements defined in the Trust Framework unnamed, giving them a default name of Untitled. Now, you must specify a name for such elements before saving them.
Fixed an issue with copying Policy Editor elements
Fixed PAZ-12150
We fixed an issue where Policy Editor elements created as copies would inherit the version ID of the original element. As a result, copies of elements would persist in the Policy Editor UI after being deleted but would return 404 errors when selected. Now, copies of Policy Editor elements have distinct version IDs.
PingAuthorize 10.0.0.4 (October 2024)
Fixed a PingAuthorize Server performance issue
Fixed PAZ-13013
We fixed an issue where, when using PingAuthorize Server’s API security gateway in embedded PDP mode, policy decision logging could cause memory leaks and negatively impact the performance of long-running server instances.
PingAuthorize 10.0.0.3 (July 2024)
Fixed an issue with HTTP service requests
Fixed PAZ-12145
We fixed an issue where, when making HTTP service calls, the policy decision point would incorrectly assign default values to the request body and the content-type
header.
Fixed an issue with unbounded query attributes
Fixed PAZ-12245
We fixed an issue where, when sending a Policy Query API request with an unbounded attribute in the query
array, the system would return a 500 error status code if the unbounded attribute’s value was resolved to an empty collection.
Fixed an issue with Policy Query API responses
Fixed PAZ-12752
We fixed an issue where the same request to the Policy Query API could produce inconsistent responses.
PingAuthorize 10.0.0.2 (March 2024)
Fixed a header exclusion issue with HTTP service caching
Fixed STAGING-22303
We fixed an issue with the exclusion of certain headers from the cache key of cached HTTP service responses. Now, each change to these header values no longer invalidates the service response cache, and the decision engine isn’t forced to invoke the service again on subsequent requests.
Fixed a header display issue with HTTP service caching
Fixed PAZ-11726
We fixed an issue with the display of headers excluded from cached HTTP service responses in the Trust Framework. Now, you can navigate away from an HTTP service with caching enabled, navigate back to that service, and still see the excluded headers you originally defined.
PingAuthorize 10.0 (December 2023)
Send more flexible decision requests with policy queries
New
With the new Policy Query API, you can now issue decision requests containing valueless and multivalued attributes to receive decisions more complex than Permit
or Deny
, enabling you to dynamically drive user interfaces. For more information, see Policy queries.
Cache dynamic service responses
New
To improve decision evaluation performance and reduce latency, you can cache dynamic service response values for faster retrieval on subsequent requests. When enabling caching for HTTP services, you can exclude certain headers from the service response. This prevents invalidation of the cache when values of those headers change. For more information, see Service caching.
Copy Trust Framework attribute resolvers
New
To build your authorization logic more efficiently, you can make editable copies of attribute resolvers. For more information, see Copying elements.
Disable rules in the policy tree
New
To control the granularity of policy evaluation, you can disable rules in policies. This causes the decision engine to skip disabled rules during policy evaluation and allows you more flexibility in testing and deployment of policy logic. For more information, see Creating policies and policy sets.
Added support for Apache Camel 3.21.2
Info
Although Camel services have been removed from the default PingAuthorize configuration, you can now enable Camel version 3.21.2 if your policies depend on such services. For more information, see Apache Camel availability.
Added support for Java 17 and removed support for Java 8
Info
We have added support for Java 17 and removed support for Java 8. For more information, see System requirements. For information on upgrading from a PingAuthorize instance installed with Java 8, see Upgrade considerations introduced in PingAuthorize 10.0.
Disabled SNI hostname checks by default
Info PAZ-10754
To avoid HTTP 400
responses when SNI hostname checks fail, these checks are now disabled by default for the PingAuthorize server and Policy Editor. We added a new setup
option, --disableSniHostnameChecks
, to control whether PingAuthorize performs this check. For important considerations when upgrading from a previous version and attempting to reuse your configuration, see Upgrade considerations introduced in PingAuthorize 10.0.
Disabled OIDC Implicit grant flow
Info PAZ-1795
We have disabled the OIDC Implicit flow implementation in the Policy Editor because the OAuth Working Group no longer recommends its use. In its place, you should use the Authorization Code with PKCE flow. For more information, see Configuring an OIDC provider for single sign-on requests from PingAuthorize.
Added indexes to improve database query performance
Improved
We added two database indexes to the db-cli
module to improve performance when querying the CurrentEntityVersion
and EntityRelationship
tables.
Fixed SCIM case-sensitivity issue
Fixed PAZ-8473
We fixed an issue where requests to create SCIM entries were not always observing the case-exact=false
property, leading to incorrect case-sensitivity errors.
Fixed attribute caching memory error
Fixed PAZ-10643
We fixed an issue where the decision engine only checked if an attribute cache entry had expired when accessing that entry, leading to Out of Memory
errors. Now, attribute caching uses the Redis library directly, allowing a unique Time to Live (TTL) for each cache entry. Redis instances invalidate cache entries once the TTL has elapsed, rather than when the entries are accessed. For more information, see Attribute caching.
Fixed missing statements array in policy testing
Fixed PAZ-6335
We fixed an issue, where, in the Response tab of policy testing, the root-level statements
array was not appearing if left empty in the testing scenario.
Fixed error response handling in APP WARN
Fixed PAZ-10350
We fixed an issue where the HTTP Service Executor was not properly capturing error messages in the APP WARN
logs from the policy information provider (PIP) endpoint.
Removed --serverRoot
requirement from the check-replication-domains
tool
Fixed DS-47655
We fixed the check-replication-domains
tool so that the --serverRoot
argument is no longer required. This argument now defaults to the server’s root directory.
Fixed duplication issue when running dsjavaproperties --initialize
Fixed DS-45206
We fixed an issue where running dsjavaproperties --initialize
would append duplicate arguments to the common.java-args
in the java.properties
file.
Replaced NullPointerException
error for alert handlers lacking configuration
Fixed DS-47455
We fixed an issue where a NullPointerException
error occurred when an alert or alarm was raised, and one more of the alert handlers was not configured. An alert notification is now recorded in logs/errors
instead.
Addressed inability of LDAP Request Handlers to respond to incoming client requests
Fixed DS-46312
We fixed an issue where TLS timeouts prevented LDAP Request Handlers from responding to client requests. The request-handler-per-connection
configuration property is now available for LDAP and LDAPS Connection Handlers.