Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In this section:

Table of Contents
minLevel1
maxLevel2

Upgrade to Version 9.0 and Higher

Child pages (Children Display)

“Illegal type in constant pool” Error

Description

This error can appear for result matrixes and is caused by a new security feature introduced in JDK 17, which does not allow combining different class version numbers.

How to Avoid This Issue

Upgrade to the latest Pricefx 9.0.x version where a workaround has been implemented that is adding JVM parameters to open up security manager to access those fields.

...

SHA-1 Issue in CRM Integrations

Description

As the Hurricane version runs server on Java JDK17, SHA-1 hash function has been deprecated for security reasons and is no longer supported. Customers with a Salesforce CRM integration who still use SHA-1 for SAML can get the following error:

...

How to Avoid This Issue

Use SHA-256 for the connected application (Pricefx) as shown below:

...

Code Name of Role PA_VIEW_ROLLUPS Changed

Description

The code name of the View Rollups user role has changed from PA_VIEW_ROLLUPS to PA_ROLLUPS_RO.

How to This Issue

If you maintain user roles outside Pricefx, you will have to make an update reflecting this change.

Upgrade to Version 9.1 and Higher

“Too many new instances” Error

Description

In a shared instance, it is necessary to limit the resource usage in a calculation logic (the number of object instances) and this limit is set in pricefx-config.xml with the default being 500:

...

This change may cause some calculation logics stop working and ending in an error.

How to Avoid This Issue

Upgrade to version 9.1.3 where this bug fix is reverted. Your logic will work again even if the instance count limit has been exceeded.

A permanent solution for this issue will be decided and implemented in the 10.0 version.

Upgrade to Version 9.3 and Higher

Functions Retuned by Intercepted Methods Became Asynchronous

All functions that are passed as params to intercepted methods have become asynchronous in version 9.3. This is a breaking change which can have impact on existing interceptor code.

Original code:

Code Block
languagegroovy
export const quotesDetailOpen = ({ quoteAPI, api: { notify } }) => {
  const clicOutputResult = quoteAPI.getHeaderOutputResult('outputName');
  notify.info(clicOutputResult);
}

The code must now include the async / await keywords to handle promises correctly.

Updated code:

Code Block
languagegroovy
export const quotesDetailOpen = async ({ quoteAPI, api: { notify } }) => {
  const clicOutputResult = await quoteAPI.getHeaderOutputResult('outputName');
  await notify.info(clicOutputResult);
}