Southside 15.1


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

Version

Southside 15.1.0

Release date

September 7, 2025

Release type

Minor

In this document:

Improvements

Description

Component

ID

Seller and Seller Extension master data tables are now available for creating Data Sources from templates.

Analytics

PFUN-26678

The Pricefx Copilot can now be activated from any page within the application via a new button in the top header. Copilot's features and supported interactions stay the same. For more information see Enable Pricefx Copilot Access from Any Page.

GenAI - Assistant

PFUN-28614

Import Manager now enforces validation for columns restricted by a data source or filter by prefetching valid options and checking imported data against them, preventing uploads of invalid values for reference-restricted columns and ensuring compliance during data import.

Import Manager

PFUN-28916

The addLookupTable() method for models now supports JSON and JSON2 value types.

Model Class

PFUN-29246

On-Demand (Modal) dashboards can now be used in Live Price Grids, Price Lists, and Calculation Grids.

Price Setting

PFUN-30107

In Strategy Designer, dependent levels can now be selected in Live Preview when using Pricing Settings Accelerator 2.6.0 or newer.

Strategy Designer

PFUN-30450

Optimization: Tabs with logic errors are now highlighted.

Optim - Frontend

PFUN-30642

Model Class: A waiting message is now displayed when a Model dashboard is loading.

Model Class

PFUN-30702

User filter in the Activity Log displays in the drop-down list only users who modified the document.

Agreements & Promotions

PFUN-31083

Validators have been added to prevent the cross-import of snippets and lookups between Strategy Designer and Formula Designer.

Visual Configuration

PFUN-31152

Formula Designer: Custom Inputs are now supported in the Live Preview.

Visual Configuration

PFUN-31396

The org.eclipse.angus:smtp library has been updated to mitigate a security vulnerability.

Notifications

PFUN-31410

A user interface is now available to simplify the configuration of JSON Web Tokens (JWT).

Unity

PFUN-31477

Live Preview for Additional Parameters is now enabled in the Formula Designer.

Visual Configuration

PFUN-31583

Live Preview for Formula Types is now available in the Formula Designer.

Visual Configuration

PFUN-25452

Bug Fixes

Description

Component

ID

A backend issue where Excel Client uploads to Company Parameters tables failed due to incorrect SQL handling of duplicate columns in INSERT statements. This bug is now fixed in version 15.1, ensuring reliable data updates via Excel Client for affected tables.

Backend - General

PFUN-23456

To improve user experience and for more clarity, the Rename and Customize column menu option has been renamed to Edit Column. Also, tooltips have been added for the Label and Label (translations) options to explain where these labels are used.

Administration

PFUN-23569

Email notification bodies sent via api.sendEmail() in Calculation Flows were fully logged in performance logs, unnecessarily bloating them; now, logs record the recipient, subject, and only the first 100 characters of the message body.

Calculation Flows (CF)

PFUN-23622

When a Live Price Grid was duplicated, its header incorrectly contained the ID of the original grid.

Price Setting

PFUN-25949

Product(s) listing showed the ProductID instead of the correct label when the header Product(s) field was selected has been fixed; listings now display the intended product label as expected.

Rebate Agreements

PFUN-26770

Price Setting: Filter values from one Portlet are incorrectly applied to a filter in a different Portlet within the Product Details view.

Price Setting

PFUN-26826

Logic creation and editing now includes backend validation for Formula names and labels, preventing exceptions caused by names longer than 255 characters. This update ensures a smoother user experience and robust error handling when working with General logic, Condition Record logic, and similar entities.

Backend - General

PFUN-27147

API Key Admin: There is now a validation of the entered string when an API key is added or edited. The allowed characters are: a-z0-9_-

Administration

PFUN-27613

Data Import no longer fails when an empty PX table is present; the fix ensures imports now skip empty tables and successfully import the remaining data without error.

Configuration

PFUN-28322

An OutOfMemoryError in Jobs and Tasks listings—triggered when paging past a certain threshold and fetching large fields—has been resolved by restricting database queries to only the necessary columns in all pages. This change prevents memory issues and ensures stable performance for large result sets.

Administration

PFUN-28691

Import Manager now correctly identifies and warns users about duplicate ProductIDs among newly added records, preventing failed imports caused by unnoticed duplicities in new entries.

Import Manager

PFUN-28748

Bulk data loads to Customer and Product tables failed if the "detectJoinFields" option was enabled; system fields such as "lastUpdateDate" are now correctly set during import and ignored if explicitly provided in the data, ensuring consistent and reliable data loading.

Backend - General

PFUN-28799

Obsolete validations preventing both Customer and Customer Group values from being set at the line item level in Quoting modules have been removed, allowing users to specify both fields together as needed. The previous requirement to select only one is no longer enforced.

Quoting - Backend

PFUN-28903

An unhelpful system error message appears when filtering a 'Money' type column in Condition Records.

Condition Records

PFUN-28999

The Quote items tab now displays a loading indicator while items are being fetched, clarifying that data is loading and preventing confusion with truly empty item lists. This enhancement improves user experience by distinguishing between the initial load state and scenarios where no items exist.

Quoting

PFUN-29015

The new Hourly Janitor Task automatically identifies and hard deletes softly deleted Condition Record Sets (CRCS), thereby ensuring the complete removal of all associated Condition Record Items. For more information see Hourly Janitor Task

Condition Records

PFUN-29204

Improved import handling by displaying error messages directly in the Import modal for both synchronous and asynchronous clipboard imports, enhancing visibility and consistency. The update includes better UI with progress indicators, alert components, and streamlined notification counters, ensuring users receive clear and actionable feedback throughout the import process.

Quoting

PFUN-29758

Concurrent mass editing of line items by two users previously resulted in a hidden object lock and rendered the document unusable until refresh; this fix now ensures the second user is notified of the lock and the document state is handled correctly to prevent usability issues.

Quoting

PFUN-29787

In a clustered environment, the Analytics (PriceAnalyzer) query cache was not shared between nodes.

Analytics

PFUN-29813

Workflows could not be opened if all users in the expandedActiveUsers list were deactivated, causing an invalid JSON error; with this fix, deactivated users are skipped, and filtering or sorting by expandedActiveUsers is now disabled in the UI to prevent similar errors.

Workflow

PFUN-29853

You can set the visibility of the My Pending Reviews portlet at Configuration > Home Page.

Agreements & Promotions

PFUN-29896

Multi tier header inputs now show placeholder text only in the first input, ensuring correct display when using placeholder values set by logic in the header.

Quoting

PFUN-29900

Copying business roles (e.g., "All Roles") failed with a "Field Invalid: To User" error on partitions using a remote database schema if the root user was selected; the backend now correctly omits the problematic user refresh.

Administration

PFUN-29961

A fix has been implemented so that warning messages from the Condition Record logic evaluations are now included in the Job Status Tracker.

Condition Records

PFUN-30007

‘Not a safe JSON value for quote type default.json’ error.

Quoting - Backend

PFUN-30034

A regression caused dropdown arrows to be shown in the Inputs section on Quote details even when no content was available after upgrading from v13.3.4 to v14.3.3; this has been fixed (backported to v14.3.5), so dropdown arrows now only appear when there is content to display.

UI - Inputs

PFUN-30073

Obsolete Analytics (PriceAnalyzer) database objects were not being deleted after an upgrade.

Analytics

PFUN-30103

Formula Designer: The color for the 'Inputs' category in the toolbox does not match the color of the input blocks.

Formula Designer

PFUN-30132

Formula Designer: The label for Company Parameters is inconsistent with the terminology used in the rest of the application.

Formula Designer

PFUN-30133

Importing Quote line items from the clipboard now correctly enforces product filter restrictions, preventing users from bypassing eligibility checks when adding items. Additionally, a related regression causing line item inputs to not render with certain filtering logics has been resolved.

Quoting - Backend

PFUN-30259

loaddata.file endpoint incorrectly converts real numbers to integers for attributed fields.

Backend - General

PFUN-30276

Creation Workflow: Empty inputs when going back from review step to standard step.

Quoting - Backend

PFUN-30333

View and Edit roles (except Edit LPG) cannot not open Imports pages and do not see the Import button on the respective list pages.

Import Manager

PFUN-30349

Issue in Claims where users uploading malformed XLSX files with empty spaces would encounter an unreadable NullPointerException error during claim file parsing; the fix updates the Excel parser ensuring such files are parsed correctly and Claims are calculated without error.

Claims

PFUN-30359

A frontend bug prevented items stored inside folders from displaying correctly in review steps of Collaboration Workflow; this issue has been resolved by refactoring folder data management, so that items in folders now appear as expected in all relevant review tabs immediately after sending for review.

Agreements & Promotions

PFUN-30366

Pricing Guidance: An exception is thrown when opening a Policy Record that had a 'denied' status in its workflow.

Optim - Legacy PO

PFUN-30504

In Import Manager, the 'Logs' button is not visible.

Import Manager

PFUN-30531

Rebate record data mismatches when using multiple RebateRecordSets.

Rebate Records

PFUN-31572

Hot Fixes

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

15.1.1 PR

Released on

Bugs

Bug Description

Components

ID

Lightweight Calculation Grid calculations incorrectly attempted to run in distributed mode, causing a delay before the calculation started.

Price Setting - Calculation Grids - Backend

PFUN-31634

A failure occurred when starting the server.

Backend - General

Condition Records

PFUN-31787

15.1.2 PR

Released on

Improvements

Improvement Description

Components

ID

The application now correctly handles SAML responses from an identity provider that are missing non-mandatory data.

Core

PFUN-31728

When creating a new Price List Type or Price Grid Type, the target date field is now empty by default instead of being automatically set to the current date.

Price Setting

PFUN-31849

Pricefx Copilot can now be activated from any page within the application via a new button in the top header.

GenAI - Assistant

GenAI - Frontend

PFUN-28614

Bugs

Bug Description

Components

ID

When a Price List is created from a Price Setting Type with an empty Target Date, the Price List incorrectly uses the creation date of the Price Setting Type as its Target Date.

Price Setting

Price Setting - Backend

Price Setting - Price Lists

PFUN-31231

The description of a product in a Price List Item was not updated from the Products table upon recalculation.

Price Setting

PFUN-31524

A workaround for a previous bug in Citus causes poor performance for large distributed tables.

Analytics - Backend

PFUN-31637

An extra grey, non-editable column appears in the table view when changing column options.

Price Setting - Live Price Grids (LPG)

PFUN-31718

Loading Sales or Customer Insight dashboards resulted in a front-end error when Copilot was not enabled.

Copilot

PFUN-31860

Editing a Model Object with a null or empty matrix input that uses setAllValueTypesTracking no longer results in an error.

Groovy API

PFUN-31834

15.1.3 PR

Released on

Bugs

Bug Description

Components

ID

Events sent to RabbitMQ that were not acknowledged were not logged as an error.

Backend - General

PFUN-31658

The comparison line was removed from a Comparison Time Series Chart when the chart was added to a Dashboard.

Analytics - Charts

Dashboards

PFUN-31711

It was not possible to edit an agent's formula if a measure contained an error.

Agents

PFUN-31844

Code generated by the Formula Designer was creating an excessive number of object instances, which could result in an error when running large formulas.

Formula Designer

PFUN-31871

Background job or node could not start if Unleash could not be contacted.

Core

PFUN-31898

15.1.4 PR

Released on

Improvements

Improvement Description

Components

ID

Signed SAML authentication requests can now be configured to be compatible with Ping Identity Provider.

Backend - General

PFUN-31741

Bugs

Bug Description

Components

ID

When using the Mass Edit function for Quote items, an incorrect payload was intermittently generated, which resulted in the field value being set to null.

Unity

PFUN-31833

A bug prevented the Move To button from being hidden on the Agreements & Promotions list via HeaderType configuration (moveToFolderButton: false).

Agreements & Promotions

PFUN-31926

When importing directly into a data source via datamart.loaddata with direct2ds=true, rows containing empty or NULL values in UOM or Currency fields failed with validation errors, returning “PA dataload error (200) … Fields missing: UOM/Currency.”

Analytics - Data Loads

Loaddata

PA Actions

PFUN-31928

Improved RabbitMQ error logs in Core to capture exceptions when a connection or channel cannot be created, and added a debug log confirming when an event is properly ACKed by RabbitMQ.

Core

PFUN-31944

For quotes revised in the classic UI (Ember), subsequent revisions in Unity could skip version numbers (the “-v” counter), resulting in inconsistent revision identifiers.

Quoting

Quoting - Backend

PFUN-31960

Under certain conditions, when multiple Job Trigger tasks in a sequence fail back-to-back, the model status could remain stuck at CALCULATING instead of transitioning to FAILED.

Model Class

PFUN-31988

Resolved access issue where LPGs were only accessible when status was “Ready” post v15 upgrade; access handling is now correct for broader statuses where applicable.

Price Setting - Live Price Grids (LPG)

PFUN-32018

15.1.5 PR

Released on

Bugs

Bug Description

Components

ID

When a Calculation Grid is calculated, the CalculationContext is incorrectly serialized as part of the result.

Price Setting - Calculation Grid - Backend

PFUN-31642

Pasting items into the import items window was overwriting existing content instead of appending to it.

Quoting

PFUN-31816

The api.getManualOverride method incorrectly returned a Map object when a manual override was processed via Import Manager for approved SKUs.

Import Manager

PFUN-31967

In Excel Client, an attribute extension incompatibility caused the loading of Price Lists and Live Price Grids to fail.

Excel Client

PFUN-32012

Agreements that could not be calculated remained locked after the calculation job finished.

Agreements & Promotions - Backend

PFUN-32016

The Formula Designer had performance issues when making changes to complex formulas.

Formula Designer

Visual Configuration

PFUN-32142

15.1.6 PR

Released on

Bugs

Bug Description

Components

ID

Model calculation jobs were blocked and not visible for several hours due to a stuck thread.

Service - Heartbeat

PFUN-31922

Querying a table with attribute extensions configured on it resulted in an error.

Query API

PFUN-32019

The api.logInfo() method now provides human-readable output for a list of query API result rows.

Core

PFUN-32023

Querying an object extension that does not exist via the Query API produced an empty result instead of an error.

Query API

PFUN-32156