Release Notes
New features and improvements in PingAuthorize. Updated July 31, 2024.
Subscribe to get automatic updates: PingAuthorize Release Notes RSS feed
Latest releases
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.