Caribou Lou 14.2.0


This document summarizes the main improvements and fixes introduced in the Pricefx Unity minor release version.

Version

Caribou Lou 14.2.0

Release date

March 28, 2025

Release type

Minor

In this document:

Improvements

CLIC Modules

Description

ID

An error message is displayed when creating a document and the header logic set in the header type is missing or inactive.

PFUN-28899

Price Setting

Description

ID

Advance property keepApprovedUnmatchedXPGI has been added. If set to "true" for Matrix LPG with Dynamic Filter and mode set to Add Only, the price grid items that are already approved will stay in the grid, even when the secondary logic doesn't return those keys in the next recalculation.

PFUN-28868

CRM Integration

Description

ID

Interceptors: No notification is now displayed when addLineItem is triggered.

PFUN-28786

Configuration

Description

ID

Public QueryAPI is now tracked by revAPI to ensure that API changes are backward compatible or carefully done.

PFUN-28828

General

Description

ID

In dynamic tabs / document tab, there's newly possible to add four new types of documents: Live Price Grids, Manual Price Lists, Simulations and Model Objects. Each of LPG/MPL/Simulation has one item in the "Add document" menu, which when clicked, takes the user to the appropriate list of the selected document type in the same way as for any other already implemented document types. Model Objects can have multiple items in the "Add document" menu. One, that is always present, is the general one named "Models", where all the Model Objects not covered by any Module Category are listed. Then for each Module Category of Model Object type, there is one item in the menu and after clicking, listings for selected Module Categories are displayed.

PFUN-28438

Condition Records: When using the loaddata endpoint for CRCIX (e.g., loaddata/CRCI4) records can be identified also by record ID.
When loading more than one item, it is necessary to enhance the request playload with additional options information that contains "joinFields": ["id"]. For more information see Update Condition Record Item Value.

PFUN-29076

Bug Fixes

Description

ID

User is able to create a Data Change Request with duplicate business keys (not yet existing in the table) and to submit this one without being alerted about it, only once the approver step is executed, the alert as attached is triggered. Fix: Validation added to submit action.

PFUN-16621

Active Workflows: Cannot fetch current approvers in advanced filter.

PFUN-21407

My workflows: Cannot filter by Calculation Grid Type.

PFUN-24213

Not possible to rename system field "Label" in Agreements & Promotions Price Records.

PFUN-24858

Price List that was converted from an LPG is auto-approved and not revokable. Fix: When converting an LPG to PL, the approval state is always NOT APPROVED.

PFUN-25228

LPG: After changing a filter when a row is selected, this row stays selected but doesn’t meet the filter’s criteria anymore causing the submit action to fail.

PFUN-25495

CLIC: When a document is locked, all tabs should be read-only.

PFUN-25563

CLIC: Cannot mass edit more than one custom attribute extension at once.

PFUN-25607

Data Change Request record modification allows duplicate records when No approval required.

PFUN-26893

Quotes: Line items in a folder are displayed on several pages due to pagination.

PFUN-28199

CLIC: When multiple users view a quote simultaneously, their avatars remain displayed even after they have left and are no longer active.

PFUN-28232

React: Selected items for adding to quote are removed after filter is changed.

PFUN-28297

Price Setting: Integration tag can not be removed once it is set.

PFUN-28361

When two users edit the same Quote and one of them starts the collaboration workflow, Quote header action buttons become disabled for the other user.

PFUN-28369

Error when creating multiple publishing templates in one session.

PFUN-28383

Using Import Manager only with manage products role is causing unexpected issues.

PFUN-28534

When calculation runs in async calculation for Collaboration Workflow, show validation errors if required input is missing.

PFUN-28568

CLIC: Header type entitlements should not limit filtering options.

PFUN-28590

Error message "Not authorized" shown on PA charts and Dashboard if a user is a member of an ActIn user group but has no ActIn business role assigned.

PFUN-28633

Import Manager - Product Extensions: User roles are insufficient to see job results. Fix: JOBSTATUSTRACKER_FETCH added to Import Manager related roles.

PFUN-28676

Interceptors: addLineItem does not return IDs of the created line items, it only returns undefined.

PFUN-28774

QueryAPI: Ensure Enum values are converted to Strings.

PFUN-28827

The default value of the feature flag “combinedPickerFilter” is undefined, i.e. true, but actually the checkbox is not checked by default (i.e. looks like false).

PFUN-28840

Incomplete German localization in Strategy Designer.

PFUN-28850

Package Manager creates a new Data Load when trying to update a single field of an existing one. Fix: When typedId is provided, the existing object is updated; otherwise, it is found using label+type+target or created if not found, ensuring partition consistency and avoiding duplicates. Schedules (CS) follow this logic, maintaining consistency, with new data loads copying CS while preserving the origin. schedules == null leaves them unchanged, and schedules == [] removes all, independent of typedId or calculableTypedId.

PFUN-28883

Strategy Designer: The math_round block generates code that just calls Math.round, regardless of the direction (up or down).

PFUN-28937

Strategy Designer: Renaming a variable does not save the workspace to JCS.

PFUN-28938

Strategy Designer: When a Snippet is duplicated, its arguments keep the original UUID and the code generation doesn’t work correctly. The arguments should get a new UUID.

PFUN-28983

Charts Data Table UI output is different to XLSX export. The measures used in the chart are correctly displayed on the UI, but are not the same when XLSX is exported.

PFUN-28998

Improve PurgeEventTasks to remove the old unprocessed events. Fix: A new configuration setting event.retainEventsInDays.unprocessed has been introduced. This setting controls the max number of days an unprocessed EventTask can stay in the DB. As a result, any EventTask older than this setting will be deleted by the janitor task.

PFUN-29003

Strategy Designer: Duplicating Strategy, Snippet, or Lookup creates an item without validity (isJsonStorageValid) information. The validation info is recreated after a change in the workspace.

PFUN-29009

Strategy Designer: When typing in the product picker, the product ID is not auto-completed anymore.

PFUN-29108

Hot Fixes

The following hot fixes have been released for the 14.2 version:

14.2.1 PR

Released on April 10, 2025

Description

ID

APPEND LoadMode to allow non-duplicates append only Flush. Fix: Added APPEND LoadType, recognized by DataFeedFLushTask. In this mode, the DF rows are INSERTed into the target DS, skipping the very expensive (in large tables) DELETE existing rows in the target table step. This accommodates the more and more common use case where the DS key includes a timestamp field, which denotes the most recent incarnation of what the full row represents (like for ex. a current cost of a product).

PFUN-26981

Increased search.ApplicationProperties in version 13 compared to 12. Fix: Replaced repeated querying of the "calendarFirstDayOfWeek" AP in the CalendarUtil class by a cached property.

PFUN-29008

Pyroscope setting doesn't handle PYROSCOPE_PROFILING_INTERVAL.

PFUN-29354

Sending emails to users that are not stored in User Admin does not work. Fix: Allow for emails from active users listed in User Admin or any other email (out of the User Admin list).

PFUN-29379

LPG: Distributed calculation fails with java.io.NotSerializableException: class net.pricefx.server.dto.calculation.AttributedResult not serializable.

PFUN-29383

NPE when Schedules.getCalculableTypedId not defined.

PFUN-29411

Increased search.ApplicationProperties for RBA/SC.

PFUN-29430

14.2.2 PR

Released on April 24, 2025

Description

ID

Workflow denial reasons: "Other Denial Reason" option is displayed even if it is not allowed via Groovy (when denial reasons are defined globally for all workflow steps).

PFUN-28967

Price List wizard: Complex filter is wrongly interpreted to SQL query.

PFUN-29113

Calculation Data Load: KryoException: Encountered unregistered class ID.

PFUN-29181

Analytics: Align (default) NULL sorting with how indexes are created. Fix: Added an Advanced Configuration Option paSortByNullHandling. Recognized values are: "asc_nulls_first_desc_nulls_first", "asc_nulls_last_desc_nulls_first" (the PostgreSQL default order), "asc_nulls_first_desc_nulls_last", "default" (effectively the same as “asc_nulls_last_desc_nulls_first”). As changing the behaviour in existing partitions could break functionality there, a migration creates an Advanced Configuration Option paSortByNullHandling = " asc_nulls_first_desc_nulls_first" in all existing partitions in the cluster. New partitions will assume the default order.

PFUN-29228

13.3.6 not allowing attachments to be added to superseded and expired quotes.

PFUN-29319

Improve Pyroscope tracing for jobs add trace_id to labels even when OTel tracing is disabled.

PFUN-29439

Issue with loading AWS metadata. Fix: Added extra logs around autodetection of cloud provider, region, and other cloud metadata; implemented retry when fetching cloud metadata (waiting 500ms, 1s, 2s); introduced non-regression tests to avoid any surprises in the future.

PFUN-29440

Issue with Last Update Date in Currency and Calendar Data Source.

PFUN-29442

Unnecessary logs make it harder for support to investigate issues. Fix: Reduced logs.

PFUN-29511

loaddata using join fields does not set createdByName/lastUpdateByName of newly inserted rows in MariaDB.

PFUN-29513

loaddata using join fields does not set lastUpdateByName of updated rows in PostgreSQL.

PFUN-29514

A timeout issue was identified in the 'Rolling PM Data Aggregated' Datamart Data Load within the designated partition, where the PA stream query would hang and not return results. The problem was resolved by ceasing the execution of SET LOCAL citus.multi_shard_modify_mode TO 'sequential' when disabling auto-commit in a read-only database session, thereby improving query performance and ensuring timely results delivery.

PFUN-29531

Address vulnerability CVE-2025-31672 on poi-ooxml.

PFUN-29563

Show sync http and bound calls in OTel(Tempo) tracing. Fix: Surrounded WaitForAsyncHttpCallResult, bound and HTTP call by OTel span so the wait is shown in Tempo trace.

PFUN-29584

As of now there is no way how to find out how long operations run with tryWithLock were actually waiting for a lock. Show it as a row in perf trace same as throttling is shown there.

PFUN-29605