Southside 15.3


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

Version

Southside 15.3.0

Release date

November 14, 2025

Release type

Minor

In this document:

Improvements

Description

Component

ID

Paging is now supported in queryapi.execute.

Backend - General

PFUN-30354

Usage of null literal values for all Expression methods is now forbidden. A clear error message is displayed when null arguments are passed to an Expression method.

Query API

PFUN-30659

Values entered in custom inputs in Live Preview are preserved when switching formula types or toggling calculation options.

Formula Designer

PFUN-31810

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

Formula Designer

PFUN-31866

Context linking is now supported for the Agents listing page.

Context Linking

PFUN-31877

It is now possible to enrich the input fields for Additional Parameters in the Live Preview.

Formula Designer

PFUN-32004

Context linking is now supported for the condition records table.

Context Linking

PFUN-32126

OAuth authorization and token endpoints are available in the backend (Authorization Code with PKCE; client registration via oauthConfiguration).

Backend - General

PFUN-32139

Configuration settings for header types are now applied to all users, including those who do not have permissions to create corresponding documents or edit header types.

Agreements & Promotions; Quoting; Rebate Agreements; Sales Compensation

PFUN-32237

It is no longer possible to delete or update Activity Logs via generic endpoints.

Agreements & Promotions - Backend; Quoting - Backend; Rebate Agreements - Backend; Sales Compensation - Backend

PFUN-32261

The documentation for api.parseDateWithPattern is improved to clarify that it ignores the time part of a date string.

Core

PFUN-32328

A toast message is now displayed when a Copilot Agent is created. For more information see Create Agent inside Pricefx Copilot.

Copilot

PFUN-32349

In Custom Form and Action Type JSON configuration you can specify parameters and parameterMapping properties with keys containing dots (e.g., inputConfigurator.selectActionInput).


PFUN-32466

A new REST API endpoint executeLibraryFunction is added to securely call Groovy library functions directly.

Backend - General

PFUN-32510

It is now possible to use a value from a Highchart in the context linking ID parameter.

Unity

PFUN-32587

Bug Fixes

Description

Component

ID

In a Price List, the level name field does not refresh when switching between Dependent and Independent default pricing logic.

Core

PFUN-25538

Rebate Record Sets table preferences behaving unexpectedly when switching between sets.

Rebate Records

PFUN-30966

Groovy API input builders allow creating inputs with a null or empty name.

Groovy API

PFUN-31326

Using special characters in an input label causes an error in the Formula Designer Live Preview.

Formula Designer

PFUN-31702

On the Quotes list page, the Quote Type column shows the name for some quote types and the label for others.

Quoting

PFUN-31924

During a quote creation workflow, the UI unlocks while requests are still pending, which allows users to click 'Next' or 'Previous' again and causes the workflow to jump multiple steps.

Unity

PFUN-31985

When a formula is redeployed, already existing inputs are generated again.

Formula Designer

PFUN-31998

The quote creation page takes a long time to load for some users.

Quoting

PFUN-32025

Numeric input values sort alphabetically instead of numerically.

Quoting

PFUN-32120

An error occurs when opening certain contracts of a specific type.

Backend - General

PFUN-32175

Users can duplicate or revise restricted contract types even without creation permission.

Agreements & Promotions

PFUN-32193

The Quote type configuration does not apply correctly for a user who can view a quote but is not part of the user group allowed to create that quote type.

Quoting

PFUN-32253

A stuck loader appears during quote recalculation when on the 'Items' tab due to case-sensitivity in the tab name configuration.

Quoting

PFUN-32273

Importing an Agent file fails when the ZIP file contains a __MACOSX folder.

Agents

PFUN-32275

The header section and options are displayed in a Price List even when the Price List Type has no Header Logic defined.

Price Setting - Price Lists

PFUN-32296

When a Collaboration Workflow is started on a Quote, the order of the line items changes.

Quoting; Agreements & Promotions

PFUN-32392

ClusterFileService initialization fails due to a timeout when verifying bucket existence.

Core

PFUN-32491

A Null Pointer Exception occurs in the Activity Log when updating a Calculation Logic with a header input that has no name.

Quoting

PFUN-32505

Only a relevant error message appears when a user hits 'Enter' on an empty required input field.

Quoting

PFUN-32513

Custom inputs with search table cause an error in Live Preview when left empty or after clearing.

Formula Designer

PFUN-32523

In Formula Designer's Live Preview, selecting values by advanced or quick filter or checkbox shows the value as [object Object].

Formula Designer

PFUN-32524

In a table that uses a text formatter, the text value cannot be copied.

UI - React Components

PFUN-32603

Using a Product Extension lookup in a Formula Type causes an error.

Formula Designer

PFUN-32614

Hot Fixes

15.3.1 PR

Release date

Bugs

Description

Component

ID

Submitting a document in Collaboration Workflow could fail with “Unknown error occurred” when asynchronous calculation triggered for large documents (NullPointerException on submit).

Agreements and Promotions - Backend; Quoting - Backend; Rebates - Backend; Sales Compensation - Backend

PFUN-32721

15.3.2 PR

Release date

Bugs

Description

Component

ID

When creating a new quote via the API, the ITEM_UPDATE_Q event is not generated with the "ADD" operation.

Quoting - Backend


PFUN-31766

The "Copy All Items to Clipboard" feature does not work in contracts unless a column in the table is sorted first.

UI - Table

PFUN-32331

Pressing the Enter key while in a pop-up Configurator triggers a browser window refresh.

UI - Configurator

PFUN-32777

15.3.3 PR

Release date

Improvements

Description

Component

ID

In Master Data, it is now possible to define meta relations for columns in master data tables and add a meta key to each defined field.

JSON Mapper; Master Data

PFUN-31451

A new Groovy API method api.translationMessageValue() allows for retrieving translated text.


PFUN-32816

Bugs

Description

Component

ID

In an Input Matrix with saved preferences applied, it is not possible to select and remove items.

Custom Forms; UI - Configurator; UI - Inputs; UI- Preferences

PFUN-32588

In an integrated CRM, the iFrame loses focus when adding line items.

CRM Integrations

PFUN-32767

15.3.4 PR

Release date

Bugs

Description

Component

ID

The lastCalculationDate is not updated when a document is calculated via a scheduled calculation or a mass update.

Agreements and Promotions-Backend

PFUN-31749

When a user modifies an input and a dashboard reloads, there is no information indicating that the dashboard is loading.

Model Class

PFUN-32130

A user who is not in the specified User Groups for a header type cannot start the creation workflow.

Agreements and Promotions- Backend, Quoting-Backend, Rebates-Backend, Sales Compensation-Backend

PFUN-32626

A custom mass action is not displayed in a Live Price Grid until the grid is calculated.

Price Setting- Live Price Grids (LPG)

PFUN-32850

The label for a dashboard is not clickable in Dashboards, Queries and Portlets

Dashboards

PFUN-32873

Attempting to create a new quote revision fails with a duplicate key database constraint error.

Quoting-Backend

PFUN-32815

An error occurs in a Price Grid when calculating a line item after adding a value in the 'Price Override' column.

Price Setting- Live Price Grids (LPG)

PFUN-32936

15.3.5 PR

Release date

Bugs

Description

Component

ID

A quote with a large number of items fails on submission and then becomes locked.

Quoting

PFUN-33151

When using 2FA, it is not possible to open a second partition from the same instance in a new browser tab, as it automatically redirects to the partition from the first tab.

Access Admin-Authorization, Authentication, Login

PFUN-33088

A quote remains locked after a recalculation fails due to an error.

Quoting-Backend

PFUN-32988

The UI crashes when an attribute extension contains a JSON array.

Price Records

PFUN-32923

Import Manager adds extra decimal places to values when importing into a string-type column.

Import Manager

PFUN-32910

The upload functionality for a Price List does not work when the 'Notify me by' field is empty.

Price Setting-Price Lists, Import Manager

PFUN-32701

In the 'Import with validation' function, the validation of a Company Parameter column against the User Admin table fails.

Master Data-Company Parameters

PFUN-32700

A Dashboard becomes unresponsive when a user quickly switches to another dashboard while the first one is still loading.

Dashboards

PFUN-32321

In the Custom Forms and Objects (CFO) listing, attribute values are not displayed when switching between two CFO templates.

Custom Forms

PFUN-32229

Export of a Condition Record Set fails if there is a filter on the Status column.

Condition Records

PFUN-32096

15.3.6 PR

Release date

Improvements

Description

Component

ID

The new Meta Data page in the Master Data section allows users to define meta relations for columns in master data tables.

Agents; Master Data

PFUN-32907

Vulnerabilities CVE-2025-64505, CVE-2025-64506, CVE-2025-64720, CVE-2025-65018 and CVE-2025-66382 have been addressed.

Access Admin

PFUN-33156, 33169, 33188

Bugs

Description

Component

ID

The bulkloadPricelists functionality fails when moving from MariaDB to PostgreSQL due to an extra comma in the generated CSV file.

Price Setting - Price Lists

PFUN-32108

In the Activity Log, some records show the wrong user after certain actions, such as duplicating or adding line items.

Agreements and Promotions- Backend, Quoting-Backend

PFUN-32557

The sortBy expression does not work in Window functions.

Core

PFUN-32926

Canceling an asynchronous calculation task while it is in the 'Processing' stage does not unlock the associated document.

Agreements and Promotions- Backend, Quoting-Backend, Rebates-Backend, Sales Compensation-Backend

PFUN-32943

It is not possible to switch the local execution status from disabled to enabled.

Analytics - Backend

PFUN-33095

A data load in a Data Source invalidates the Data Manager's Price Analyzer query cache, even when the Data Manager is published or refreshed.

Analytics

PFUN-33103

The Datafeed truncate option has the incremental load option checked by default after the first run.

Analytics - Data Feeds

PFUN-33134

The "Dashboard Settings" panel appears in embedded dashboards.

Custom Forms, Dashboards

PFUN-33165

15.3.7 PR

Release date

Improvements

Description

Component

ID

Alert and warning badges from the last recalculation are now displayed even after reopening the detail or switching tabs.

Agreements and Promotions; Quoting; Rebates; Sales Compensation

PFUN-33061

Bugs

Description

Component

ID

When using mass edit or uploading via PlatformManager, an incorrect CcyValidTo value is added to the Currency Data Source.

Analytics - Data Loads

PFUN-28719

The quote export feature is vulnerable to a cross-site scripting (XSS) attack.

Quoting

PFUN-30787

In Model Manager, the background of the 'Create New Model' pop-up darkens each time a user interacts with a dropdown field.

Core

PFUN-32926

Canceling an asynchronous calculation task while it is in the 'Processing' stage does not unlock the associated document.

Model Class

PFUN-31903

Creating a Custom Form from a Calculation Flow job fails when the parent Custom Form object contains an embedded Custom Form object.

Calculation Flows, Custom Forms - Backend

PFUN-33079

A validation error occurs when editing an existing Agent MetaData Configuration (AGMEC) record.

Master Data - Backend

PFUN-33141

A user with the 'Administer LPG' user role is not able to see 'Custom Mass Actions' in Live Price Grids.

Price Setting

PFUN-33148

Revising or duplicating an Agreement that contains a line item that was removed and then re-added causes an error.

Agreements and Promotions, Agreements and Promotions - Backend, Quoting - Backend

PFUN-33243

Distributed Live Price Grid calculations fail due to a serialization error.

Price Setting - Live Price Grids, Query API

PFUN-33259

When a Quote Mass Update is triggered with auto-submit and the workflow logic throws an exception, the Workflow Status is set to null.

Quoting

PFUN-33264

Using datamart.loaddata causes an error when a node is shutting down.

Backend - General

PFUN-33269

In Price Setting Simulations, the AVG (Old) column incorrectly uses simulation results instead of the original values when the Result Field Mode is set to AVG.

Price Setting - Simulations

PFUN-33288

The frontend is unable to load a contract with a denied workflow status when no workflow step has the status EXECUTED_DENIED.

Agreements & Promotions

PFUN-33331

15.3.8 PR

Release date

Improvements

Description

Component

ID

In Query API, the elementName is now used as the field identifier for priceListLineItems, priceGridLineItems, rebateRecords, compensationRecords and conditionRecords tables.

Query API

PFUN-32718

The error message for a non-existent table in a Query API call is now unified.

Query API

PFUN-33178

The recent change (PFUN-32718) that used elementName as the field identifier for ancestors of ElementAttributeMeta in Query API has been reverted.

Query API

PFUN-33579

Bugs

Description

Component

ID

In a Price List, the header section is displayed even when the header logic is empty.

Price Setting - Price Lists

PFUN-23321

In the price list revision process, the 'Increase Threshold [%]' and 'Decrease Threshold [%]' fields default to 0 instead of being blank.

Analytics

PFUN-30455

When using Mass Edit in a Price List, the functionality incorrectly uses the allowedOverrides value of the first item in the list for all items, regardless of which items are selected.

Price Setting - Price Lists

PFUN-31440

When duplicating a Live Price Grid, the new grid's header incorrectly references the original grid's ID.

Price Setting

PFUN-32336

Calculation Grids do not get calculated in distributed mode even when they are started with master/worker pods.

Price Setting - Calculation Grid - Backend

PFUN-32978

When importing product group values, an 'Undefined' value is shown instead of the correct one.

Quoting

PFUN-33021

The kvstore.batchTimeoutInSec setting is not applied when the number of items is lower than kvstore.batchSize.

Backend - General

PFUN-33183

Uploading a large company logo causes a "QuotaExceeded" error, which prevents logging in.

Configuration

PFUN-33214

An application error occurs when copying a folder within a contract agreement.

Quoting, Agreements & Promotions, Quoting - Backend, Agreements & Promotions - Backend

PFUN-33256

Calculation Grid distributed calculations are started for only a few items.

Price Setting - Calculation Grid - Backend

PFUN-33273

In Price Setting Types, the "Copy preferences from" drop-down menu does not load any values for a long time.

Price Setting

PFUN-33334

An infinite loop occurs when switching between badges on a Contract Line Item.

Agreements & Promotions; Quoting; Rebate Agreements; Sales Compensation

PFUN-33359

Persisted alert/warning badges for a deleted line item reappear after the user reopens the detail or switches tabs.

Quoting, Agreements & Promotions

PFUN-33430

The logic defined in the 'Price List Default Logics' configuration is not correctly applied when creating new Price Lists and Live Price Grids.

Configuration

PFUN-33543

A null pointer exception is thrown when a partition's global partition does not exist.

Core

PFUN-33578

15.3.9 PR

Release date

Bugs

Description

Component

ID

In the New Revision screen, options such as 'Keep Manual Overrides' are missing for price lists that are associated with a Price Setting Type.

Price Setting - Price Lists

PFUN-33605

The UI displays some values incorrectly in the Items tab.

Quoting

PFUN-33611

15.3.10 PR

Release date

Improvements

Description

Component

ID

The reliability of tests in PersistedObjectServiceImpl_CopyPriceItemsIT has been improved.

Price Setting - Backend

PFUN-33684

A security vulnerability, CVE-2025-15467, has been addressed.

Access Admin

PFUN-33767

Bugs

Description

Component

ID

Hovering over a datetime value in a table no longer shows the full UTC datetime with seconds.

Design System

PFUN-33157

When importing items from the clipboard with at least two incorrect SKUs, the Proposed Net Price for subsequent valid items does not update correctly.

Quoting

PFUN-33287

An input's metadata is displayed to users via the title attribute on hover.

UI - Inputs

PFUN-33390

In an approved Price List with header logic, the 'Last Update' information is updated even when no changes are made.

Price Setting - Price Lists

PFUN-33420

Importing a large XLSX file in Import Manager fails due to a "zip bomb detected" error.

Import Manager

PFUN-33518

Import Manager appends ".0" when importing numeric text values from an Excel file into String attributes.

Import Manager

PFUN-33530

When adding new line items to a quote, the user interface displays incorrect line items.

Quoting

PFUN-33648

15.3.11 PR

Release date

Improvements

Description

Component

ID

The REST API endpoints for getting datamarts and dataloads now support pagination.

Analytics - Data Loads

PFUN-33685

New Prometheus metrics for available and maximum server threads are now exposed.

Core

PFUN-33755

Security vulnerabilities CVE-2025-28164 and CVE-2026-24882 have been addressed.

Access Admin

PFUN-33798

Bugs

Description

Component

ID

In Price Analyzer, the Data Loads and Data Sources pages time out when there are many items.

Analytics - Data Loads

PFUN-33436

When editing a Live Price Grid, fields that are configured as hidden in the associated Price Setting Type are incorrectly available to edit.

Price Setting

PFUN-33830

15.3.12 PR

Release date

Improvements

Description

Component

ID

Administrators can unlock documents from the Rebate Agreements and Compensation Plans list pages.

Rebate Agreements, Sales Compensation

PFUN-30143

Bugs

Description

Component

ID

The system unnecessarily executes count queries when loading batch results into the DL.resultTable. Fix: These queries are now executed only if DEBUG logging is enabled.

Analytics

PFUN-32804

In a Rebate Agreement, changing any line item input refreshes all Customer Group inputs.

Rebate Agreements

PFUN-33271

Toast messages reappear when opening the All Dashboards page.

Agents

PFUN-33522

When using the 'Import Items from Clipboard' function in Salesforce, pasting new items also includes previously pasted items.

Integration - Salesforce

PFUN-33526

The system-generated Internal Copy Data Load for a Data Source created from the Rebate Record template does not populate product-related columns.

Analytics - Data Load

PFUN-33590

Processing of SAML metadata from an Identity Provider fails due to incorrect handling of namespaces in the XML document.

Core

PFUN-33718

It is not possible to delete a line item in a revised quote.

Quoting - Backend

PFUN-33848

In a Collaboration Workflow with parallel reviews for different line item groups, sub-steps for empty line item groups are visible in the Status Overview, and sub-step labels do not match.

Agreements & Promotions, Quoting

PFUN-33850

Rollup pagination does not work correctly if there are Rollups from which a FieldCollection cannot be built.

Analytics - Backend

PFUN-33852

A user who is a member of the correct user group is not able to approve a Rebate Agreement.

Agreements and Promotions- Backend, Quoting-Backend, Rebates-Backend, Sales Compensation-Backend

PFUN-33864

When clicking the Calculate button in a Live Price Grid, there is a delay in the UI showing the button has been clicked.

Price Setting - Live Price Grids

PFUN-33873

In Price Lists, line item attribute columns are not populated after the initial calculation.

Price Setting - Price Lists

PFUN-33874

Deleting a Condition Record Calculation Source requires the 'Manage Condition Records' user role instead of the 'View Condition Records' user role.

Condition Records

PFUN-33905

15.3.13 PR

Release date

Improvements

Description

Component

ID

It is now possible to specify the number of items for the next run of a dirty calculation, which optimizes its start.

Price Setting - Backend

PFUN-20897

Query API now supports Company Parameter Tables.

Query API

PFUN-29184

Support for Custom Forms is now available in the Query API.

Query API

PFUN-30855

Query API now supports Product BOM (PBOME) data.

Query API

PFUN-32298

Dirty calculations run in lightweight mode when it is turned on and the number of items is under set limits.

Price Setting - Backend

PFUN-33539

Bugs

Description

Component

ID

The DDL calculation stores excessive data in the cache on worker pods, which causes them to be evicted due to disk space shortages.

Analytics - Backend

PFUN-33893

Calculation Data Loads experience a significant performance decrease when processing a large number of records.

Analytics - Data Loads

PFUN-33932

When incremental calculation is enabled, the lastUpdateDate is set to a value greater than the new incLoadDate, causing all calculated fields to be recalculated in the next run.

Analytics - Data Loads

PFUN-33964

15.3.14 PR

Release date

Improvements

Description

Component

ID

The Query API now supports querying for JobStatusTracker objects.

Query API

PFUN-29640

The Query API now supports querying Claim Line Items.

Query API

PFUN-32292

In the Query API for Custom Forms, the method rootUN is renamed to rootUniqueName.

Query API

PFUN-34156

Bugs

Description

Component

ID

Long-running Analytics calculation Data Loads fail due to a premature idle-in-transaction timeout.

Analytics - Backend

PFUN-24371

When importing a model object, the current step is not defined.

Agents

PFUN-32216

A user without the WF_ADMIN permission cannot approve or deny a Rebate Record from the Rebate Records screen.

Rebate Records, Rebates - Backend

PFUN-33616

In Quotes, a duplicated folder cannot be expanded when a column is filtered.

Quoting

PFUN-33730

A contract remains locked after it has been recalculated.

Agreements & Promotions

PFUN-33948

When switching dashboards, portlet data from the previous dashboard is sent to Copilot.

GenAI - Frontend

PFUN-34012

A transaction is kept open in the Price Builder database.

Backend - General

PFUN-34064

In the Live Price Grid configuration wizard, the logic name is displayed instead of its label.

Price Setting - Live Price Grids

PFUN-34106

The api.writeKVBulk() method fails with an error when the number of statements exceeds the batch limit.

Backend - General

PFUN-34268

15.3.15 PR

Release date

Improvements

Description

Component

ID

The Query API now respects user permissions and access rights when querying data.

Query API

PFUN-30357

Two new API methods, api.streamKVs() and api.streamKVsPayload(), are now available for efficiently accessing multiple KV store rows at once.

Unity

PFUN-33154

The handling of lightweight Custom Fields triggered by a mass action is improved to reduce processing time.

Core

PFUN-33454

Bugs

Description

Component

ID

In Copilot, changing the number of items to display per page in a table's full view does not resize the table.

Copilot

PFUN-34033

Product image thumbnails do not render in the Live Price Grid simple view.

Price Setting

PFUN-34168

A validation error appears when creating a duplicate of an already deleted record in Agents meta data.

Agents

PFUN-34269

When Copilot is enabled on all pages, it cannot be opened on certain pages after being used elsewhere.

Copilot, GenAI - Frontend

PFUN-34320

15.3.16 PR

Release date

Improvements

Description

Component

ID

Query API now supports product references.

Query API

PFUN-33923

Bugs

Description

Component

ID

Deleted items in a duplicated quote reappear after submitting the quote when using a non-admin role.

Quoting

PFUN-34288

The Revoke button is visible on the React Quote list even when it is configured to be hidden.

Quoting

PFUN-34316

It is not possible to close the Copilot chat window.

GenAI - Frontend

PFUN-34369

When processing running jobs, their type is sometimes mishandled if it contains an underscore, which can cause job execution limits to be ignored.

Service - Heartbeat

PFUN-34447

In Price Lists and Live Price Grids, the Label column incorrectly contains an inner cell.

Price Setting - Price Lists, Price Setting - Live Price Grids

PFUN-34448

Query API does not support attribute extensions for Price Grid Items and Matrix Price Grid Items.

Query API

PFUN-34475