Southside 15.0

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

Version

Unity Southside 15.0.0

Release Date

June 22, 2025

Release Type

Public

In this document:

Technical Requirements

Supported Platforms

Pricefx Unity interface is supported on the following hardware/platform combinations:

Unity Version / Platform

Standalone UI

Salesforce

SAP C4C

MS Dynamics

Desktop

  • Chrome

  • Firefox

  • MS Edge

  • Chrome

  • Firefox

  • MS Edge

  • Chrome

  • MS Edge

Mobile

  • iPad + Safari

  • iPhone + Safari

  • Android + Chrome

  • iPhone + Salesforce app

  • iPad + Salesforce app

  • iPad + Safari + Salesforce (in browser, no Lightning)



Note: Firefox supports interceptors since version 113 in case that you set the dom.workers.modules.enabled option to true in about:config. From version 115 this option should be set to true by default. You can use interceptors in Chrome or MS Edge without any restrictions.

Minimum Software and Hardware Requirements

Hardware and Network

A modern computer with at least 8 GB RAM (more memory is necessary for multiple browser tabs opened simultaneously).
Reasonable network bandwidth (at least 8 Mbps) and latency (50 - 200 ms).

Web Browser

Only the latest version of each of the above listed browsers is supported. We strongly recommend using the 64-bit browser version.

Excel Client

  • MS Office 2013 or higher on Windows
    Versions down to MS Office 2007 are expected to work as well but Pricefx does not fix issues related solely to these older versions.

  • .NET Framework 4.5 or higher (due to increased security requirements)

Compatible Pricefx Backend Version

The minimum required Pricefx version for this release is Southside 15.0.0.

Technical Architecture Changes

Other Supported Components

  • Highcharts and Highmaps used in charts/dashboards upgraded to version 11.4.6

  • PostgreSQL 17 is the minimum required version for Pricefx 15.0

Deprecation Announcement

  • Support for the Greenplum database will be discontinued in version 15.0. All customer instances will be migrated to Citus (Postgres). If you have any questions, please contact us at support@pricefx.com.

  • Support for the MariaDB database will be discontinued in version 15.0.

  • Ember version of CLIC modules is discontinued and only the React version is available. Links to Ember pages will be redirected to their React versions.

  • The following application properties are deprecated and will be removed in version 16.0:

    • enableDefaultSortInFindWithPaging

    • enableDefaultSortInFetchWithPaging

    • enableAllAttributedFieldCastForNumericFilterInFindAndFetch

Groovy and Configuration Notes

Handling of Unsupported Groovy Filters

Groovy filter methods such as isEmpty(), isNotEmpty(), all(), some(), and none() have never been supported in Analytics. Until now, their use failed silently when combined with supported filters. To avoid hidden logic issues, unsupported filters now fail explicitly.

  • A new Advanced Configuration Option, silenceUnsupportedFilterError (default: false), was introduced to control this behavior. You can temporarily suppress the error by setting it to true, but this may affect data integrity.

  • This change was made intentionally to ensure transparency: previously, filters were not applied at all without warning, and handling of null values was obscured. Both should be explicit in the implementation.


The Main Features Since the Last Public Release

Since the last major public release, Caribou Lou 14.0, the following major new features have been introduced:

  • Pricefx Copilot enhancements – Get instant insights, utilize recommendations to fix underperformance and update pricing with chat experience. See the release notes for details.

  • Collaboration workflow – Collaborate with your team to create a quote or agreement. General release, including the activity log and other enhancements.

  • Price calculation breakdown – Breakdown calculated price per element in the live preview of Formula Designer and Strategy Designer.

  • Quoting, Agreements, Rebates evolution – Only new version (React) of Quoting, Agreements, and Rebates capabilities is available now. Ember version is discontinued.

  • Import Manager – Add, update and export data, including their validation, with the Excel Client alternative. New support for Price List / LPG data.

  • Low / no code integration – Manage automated file-based data integrations (uploads/exports) in PlatformManager without advanced technical skills.

  • Announcements – Utilize mass announcements across the partition users to highlight important events or other information.

  • On-demand Dashboards – Execute complex calculations within insight analytics on-demand outside of the main logic.

For more detailed information about Southside 15.0 new features, see www.pricefx.com/southside.


New Southside Features

Analytics

Description

ID

In addition to the Default Conversions, a Product Specific UOM conversion option has been introduced, along with a more explicit method for specifying conversions. This allows overriding the default behavior. For more information see Configuration of Conversion for Per Unit and Money Fields.

PFUN-27058

QueryAPI now supports Analytics. You can disable this new implementation of QAPI and activate the old one by setting the application property queryApiUseDeprecatedPbOnlyV14 to "true". With this setting, queries to Analytics will not work anymore.

PFUN-27937

To address issues with unsupported filters in the Analytics module, the Advanced Configuration Option silenceUnsupportedFilterError has been implemented. For more information see Advanced Configuration Options - Full List | silenceUnsupportedFilterError.

PFUN-28215

Added validation for key fields in Datamart:

  1. If a source is defined for a field, it must match the Primary Source of the Pricemart.

  2. If key fields lack a defined source, a warning is displayed to notify this. This is for backward compatibility, as it is expected that key fields will have a defined source unless it is a 'source-less' Datamart.

PFUN-28233

Warning from Data Load detail page are displayed also in the Data Load Type column of the list page.

SouthsideRN06.png

PFUN-30250

Dashboards

Description

ID

Introduced an On-demand Dashboard feature that displays line item-specific insights in a modal window, improving performance and user experience.

PFUN-25149

A new side-panel feature allows users to view On-Demand Dashboards for individual line items, making it easier to switch between them while retaining scroll position.

PFUN-25580

New user roles have been introduced to comprehensively cover all aspects of managing user-created dashboards, including viewing and managing dashboards. For more information see User Roles | Dashboards.

PFUN-28595

Folders can be added, renamed and deleted only on the Dashboard Admin page by the users of current Dashboards (the buttons are hidden for these users on Dashboards page).

PFUN-29783

Unsupported chart types are hidden in Portlet detail. Only Bar chart and Datatable are supported in 15.0.

PFUN-30111

CLIC Documents (Quotes, Rebate Agreements, Agreements & Promotions, Compensation Plans)

Description

ID

Collaboration Workflow: The new Status Overview panel displays the progress of the review process, showing the status of each review step.

PFUN-26539

Mass editing of inputs is available in the collaboration workflow review step. This function is available only on the Items for review tab and only for those inputs that can be edited in the current step.

SouthsideRN01.png

PFUN-26547

The new My Pending Reviews portlet lists all the pending collaboration workflow reviews. Only one row per document is displayed, it does not list all the line items that require a review.

PFUN-26548

The new Activity Log tab stores the history of the document – events, edits and other information.

SouthsideRN02.png

PFUN-26549

When the workflow status of a document is Denied, a banner is displayed in the document’s header showing the predefined denial reason selected by the reviewer and a comment, if provided. Therefore, you do not need to go to the Workflow History tab to find this information, although you will always find it there if needed.

PFUN-27574

If the next step in a document creation workflow is a line item review step (collaboration workflow), the Send for Review button is displayed instead of the standard Next Step button.

PFUN-28083

In collaboration workflow, if you are assigned to multiple line item groups, all the line items from these groups are displayed at once on the Items for Review tab. Clicking Review Done finishes your review process for all your line item groups.

PFUN-28089

In collaboration workflow, line item groups can be defined on sub-step level so that you can set up specific line item groups for review by different business roles.

PFUN-29070

Document creation workflow columns on the list page (Creation Workflow Status, Creation Workflow Label) are only displayed if creation workflow is enabled (globally or for a particular header type).

PFUN-29109

Possibility to define optional sub-steps in collaboration workflow - a sub-step is added to the workflow when a condition is met. Use the ReviewUserGroupSubStep method withLineItemCondition(Filter condition).

PFUN-29452

Price Setting

Description

ID

Distributed Calculation is the default calculation option for the Calculation Grids, and this setting cannot changed.

PFUN-21797

It is no longer possible to access the Live Price Grid Detail screen while the Live Price Grid is in Draft status. Consequently, executing single-line calculations is also restricted, as access to the Live Price Grid Detail screen is denied in this state. For more information see Live Price Grid Detail | LPGDraftNoAccess.

PFUN-22470

Live Price Grid items with an critical alert cannot be submitted. Set the new advanced configuration option allowLPGSubmitWithCriticalAlert to true if you want to allow such items to be submitted.

PFUN-25398

New advanced configuration options have been introduced to hide specific Pricefx entities (LPG, PL, CG) based on user group entitlements.

PFUN-26005

Import Manager can be used to edit Price List and Live Price Grid data (excluding read-only columns and adding new rows). The Price List / Live Price Grid is recalculated after successful import.

PFUN-27589, 27590

In Price Setting Types, you can define a product filter that will narrow down the products available to the user when creating a Price List or LPG.

PFUN-29078

Optimization

Description

ID

The API model.addTable is more strict for the fields definition: it should respect the structure of DMField, including name (mandatory), label, type, format (mandatory), key, dimension.

PFUN-15367

The export/import functionality now supports handling multiple models at once via the user interface or using the optimization.exportModel and optimization.importModel endpoints, simplifying bulk operations across partitions.

PFUN-18634

Multitab dashboards now support accessing and displaying inputs from all tabs within the same step.

PFUN-27833

Added model.dropAttachment(String) that drops all attachments with this name even when there are more than one.

PFUN-28450

The ID of each Parallel Calculation Item (PCI) is now displayed in the Calculation Items table and the Item Detail modal.

PFUN-29343

Master Data

Description

ID

Possibility to determine the order of Product / Customer / Seller Extensions in extension table selection drop-down lists. The setting is made in the new Priority column on the respective extension configuration page.

PFUN-16489

Possibility to configure an approval workflow for Import Manager, so that an approval by a reviewer is required before the changes are imported.

PFUN-25486

Using Import Manager, you can now import Customers, Customer Extensions, Sellers and Seller Extensions.

PFUN-27090

Import Manager: Cells with changed values are highlighted and the original value is shown in the tooltip.

PFUN-28793

Approval workflow can be configured for data imports via Import Manager.

PFUN-29544

Import Manager: The counters above the items table are not displayed for item types/statuses that have 0 records.

PFUN-29854

As a part of the Condition Records Splicing Options, we have implemented the new Type Code CRCIH (Historical Tables for Conditional Record Items). This approach preserves the history of price changes for purposes such as auditing and reporting. For more information see Condition Records Splicing Options.

PFUN-29856

Pricing Strategy Designer

Description

ID

Added functionality to display individual components of the formula calculation in Live Preview.

PFUN-27624

It is now possible to pass the result of one data lookup as an input to another.

PFUN-28563

Validation implemented to prevent activating strategies when conflict is detected.

PFUN-29795

Configuration

Description

ID

Groovy API: Possibility to access an embedded Custom Form from the parent object and vice versa, so that the inputs or calculation result from the Custom Form can be used in the parent object (e.g., a Quote).

Two new methods in the CustomFormApi space: api.customFormApi().fetchCurrentItemEmbeddedCustomForms(), api.customFormApi().fetchCurrentItemParent()

PFUN-11250

Range slider is available as user input type with a range of configuration options (from - to range, step size, numeric or percent format type, bar color).

SouthsideRN03.png

PFUN-18678

Custom Forms: Possibility to search for Custom Forms by the properties of Custom Form Types. You can use these properties in filtering (Filter.<filterType>("customFormType.property", property value)) and similar in querying functions like api.find(), api.stream(), etc. Example: api.find("CFO", Filter.equal("customFormType.embedded", false))

PFUN-20424

New endpoint datamart.loadfc to insert new data in an already existing DMTable or Data Source.

PFUN-20803

The InputBuilder method setUserGroupView can be used to hide inputs in a Custom Form from users who are not members of the specified user group(s). Note that it works only for top-level inputs. It does not work on nested levels, like, for example, inline configurators. It does not work either on rows of inputs (like in api.inputBuilderFactory().createRowLayout("Row")).

PFUN-22241

Custom Form list table preferences are saved and retrieved using the parent Custom Form Type’s unique name instead of its ID.

PFUN-23892

CRM Integration: Introduced Visual Filters, allowing administrators to build custom conditions and filters more intuitively and efficiently without the need for extensive code.

PFUN-24321

The Notification API now supports the SYSTEM_NOTIFICATION topic with a validity period, enabling the creation of notification banner via the REST API.

PFUN-25251

MariaDB is not supported from version 15.0. In the XML configuration file, the following settings are now ignored because they should never be modified and can be fully inferred or hardcoded internally: hibernate.dialect, hibernate.connection.provider_class, hibernate.id.new_generator_mappings, hibernate.current_session_context_class. The following setting is optional, it can be inferred but in integration tests we want to customize it: hibernate.connection.driver_class. The following settings have been removed: databaseSpecific.bytesPerCharacter and databaseSpecific.keyLimitBytes used previously for bulk loading, janitor.updateForeignKeysToCascade, mariadbStrictStringsComparisonEnabled. The loaddata and loaddata.file endpoints option maxJoinFieldsLengths is now ignored as it only made sense on MariaDB.

PFUN-26460

Ember-related feature flags have been removed. Since version 15.0, only React version of CLIC modules is available.

PFUN-27146

When using Load data or Load data files endpoint for CRCP, all requests/files will be processed in sequence. For each CRCS in CRCP (as part of 1 request/file) is created 1 Job. So, if there is 100 rows and 10 are for CRCS with id 1, 80 for id 2 and 10 for id 3, there will be 3 Jobs for processing CRCP items created.

When running CRL for more processes the Jobs are processed sequentially. Result of each Job is 1 or more Jobs for processing CRCP items are created.

Jobs for processing CRCP items can be run in parallel.

Order of CRCP items in Job is important and thus they are processed in order they were inserted.

PFUN-27327

Model Object: The dashboard logic can now access inputs, configurator entries, and results across all tabs within a step. setTab() and withTab() methods were introduced.

PFUN-27832

Formula Designer: The code generator was replaced with version 2.0.

PFUN-28413

Versioning functionality was integrated into Formula Designer.

PFUN-28549

Pricefx now uses Citus version 13. See Citus Database on AWS.

PFUN-28637

New query parameter withLineIds can be used with the clicmanager.folderstats endpoint. If set to true, returns a list of line item IDs inside the folders instead of their count.

PFUN-28659

CRM Integration: Added a result preview feature to the Visual Filter page, allowing users to see how filter changes affect CLIC module tables in real time.

PFUN-28727

The response of the workflowsmanager.fetchdetailsviaapprovable endpoint now contains also the workflow’s typedId.

PFUN-29055

QueryAPI: Window functions have been implemented.

PFUN-29240

Possibility to define a different color for each segment of the range slider. Use the SliderInputBuilder method setColour.

PFUN-29369

New TREEENTRY input type (created by InputBuilderFactory method createTreeEntry) enables you to use hierarchical inputs where selected value filters available values in the next filter. It is rendered as a drop-down hierarchical list of possible values.

PFUN-29539

Formula Designer: Enabled support for Lookup arguments.

PFUN-29567

QueryAPI – Changes to Expression methods:

  • qapi.exprs().count() is deprecated, use qapi.exprs().countAll() instead.

  • qapi.exprs().count(expr) is deprecated, use qapi.exprs().countNonNull(expr) instead.

  • qapi.exprs().countDistinctNonNull(expr) has been introduced. It allows counting the number of distinct non null value resulting from the given expression.

PFUN-30046

QueryAPI: Added support for LocalDate and DateTime in Expression.in() and for Exprs.dateOnly(LocalDate). Added Exprs.fromDataSlice() that can only be used with an Analytics pipeline.

PFUN-30158

General

Description

ID

Calculation Flows: Possibility to set a time zone for scheduled runs. This option ensures that the calculation job will always run at the selected local time even after switching to/from the daylight saving time.

PFUN-24024

Rich text editor is available for writing/editing Action descriptions.

PFUN-25114

Notifications: Admins can now configure Announcements with a title, description, validity period, and dismissibility setting to inform users about generic events.

PFUN-25253

A new notification banner – “Announcement” has been introduced to inform users about generic events. Announcements are also displayed in the Notification Center, allowing users to revisit messages after dismissing them.

Announcements01.png

PFUN-25254, 25255

Appearance: Introduced a new “Custom theme” feature that allows users to personalize the navigation and accent styles.

SouthsideRN04.png

PFUN-26176

To improve user guidance and help new users orient themselves on the screen faster, the key (often primary) actions are now highlighted compared to non-key (e.g., secondary or tertiary) actions. The primary action buttons (Create, Submit, Add, etc.) now have blue background.

PFUN-27883

The execution of the CalculationFlowFailoverProcessor at the beginning of HeartbeatWorker for frontend nodes has been removed. The role in CoreClusterConfig.FromEnv is filtered out for both backend and frontend nodes.

PFUN-27899

Appearance: Replaced the Upload button with a DropZone feature to allow drag-and-drop file uploads.

PFUN-28076

When creating an Action from the Pricefx Copilot, the system automatically includes the related Dashboard and its current preferences, which are stored within the Action. For more information see Create Action.

PFUN-28230

On the Internationalization page, you can select the language for which you want to add label translations. The current UI language is preselected.

SouthsideRN05.png

PFUN-28525

A pre-flight check added for SSL for the PostgreSQL database. The backend will refuse to start if the JDBC URL to connect to the database does not use SSL.

PFUN-28873

When you try to rename a Product, Customer or Seller Extension table a warning dialog is displayed informing you about the consequences (the table will appear empty while the data are still in the database linked to the old name).

PFUN-29672

We have implemented the fallback option to the old implementation for better compatibility with customer logic and issue resolution. This Advanced Configuration Option disables the QueryAPI functionality in the Analytics module. For more information see Advanced Configuration Options - Full List.

PFUN-29299

Bug Fixes

Description

Components

ID

Logic pickers and cells have been unified with “label (uniqueName)” format. If several logics have same uniqueName, only one is displayed (one with the latest non-future validAfter date). Inactive logics are also hidden.

UI - General React

PFUN-10806

Use the format <major version>.<minor version>.<patch release version> on the User settings page for the server version.

Backend - General

PFUN-15675

Groovy API: "CUSTOMER" type input - Label defaults to "Customer" instead of the <input name> like other input types.

Groovy API

PFUN-16391

Add an error message if the items filter logic is not found by the configured name.

Rebate Agreements

PFUN-19464

Rebate Agreements: There is missing Input ToolTip in case of header input on line item.

Rebate Agreements

PFUN-19601

CLIC: Action Items, Notes, Embedded CFOs, Messages, Documents records are not deleted when parent object is deleted.

Custom Forms - Backend

PFUN-19828

Rollup: The label is not changed correspondingly after changing source field.

Analytics - Rollups

PFUN-21172

Fix NullPointer risk in /datamart.import/ endpoint

Analytics - Backend

PFUN-23573

Display inherited values correctly for multi tier, dateTime User Entry (timestamp), percent, list of numbers and boolean in sider.

Agreements & Promotions

PFUN-23824

Charts: Custom Date Time Format is not shown in the tooltip.

Analytics - Charts

PFUN-23874

Cannot mass edit more than 1 custom attribute extension at once.

Quoting - Backend

PFUN-25607

Newly activated Formula Types do not appear in the Formula Type dropdown list until the page is manually refreshed.

Custom Forms

PFUN-25741

Jobs & Tasks - Cannot filter on all values in Types column "CONTRACT_RECALCLATION".

Configuration

PFUN-26189

UI Error: Cannot read properties of undefined (reading 'status').

Analytics

PFUN-26232

Calculation DL: Error "Something unusual happened…" when clicking Test logic button.

Analytics - Data Loads

PFUN-26306

Incremental data load always processing the full dataset.

Analytics - Backend

PFUN-26955

Formula Designer: Numbers are not allowed in Formula Type titles.

Formula Designer

PFUN-27434

Groovy API: lastUpdateBy stores wrong values when using api.addOrUpdate passing a list of master data objects.

Master Data

PFUN-27746

Advanced Table: Deleting 2000 items at once is causing FE crash.

Master Data

PFUN-27839

Inconsistency of lastUpdateBy value after Calculation Field Set processing triggered by CF in PP vs. PX.

Calculated Field Sets (CFS)

PFUN-28147

Quotes that do not require approval are not automatically converted to Deals when using the 'Auto-convert Quote to Deal after approval’ option.

Configuration

PFUN-28310

Configuration > General Settings: "Show progress in Configurator when being recalculated" should be removed.

Configuration

PFUN-28414

Display columns drop-down list in PG and LPG is showing the same column multiple times.

Price Setting

PFUN-28461

Folders are not working in line items / new DB index.

Quoting - Backend

PFUN-28575

CLIC: Header type entitlements should not limit filtering options.

Agreements & Promotions

PFUN-28590

Partition Admin > maxDealPlannerUsers: Deprecated DP module can cause issues about missing licenses.

System Admin

PFUN-28594

Saving a configuration with collaboration workflow-specific tabs fails due to a validation error in the JSON structure configuration.steps.type.

Agreements & Promotions - Backend

PFUN-28597

Custom Refresh Data Loads are not supported since Rampur 13.0. To address this, we have implemented a warning message. For more information see Data Loads | RefreshDataLoad.

Analytics - Charts

PFUN-28669

The transaction handling improvement in CFS calculation task.

Backend - General

PFUN-28690

Strategy Designer: Exception when using a block with error.

Strategy Designer

PFUN-28785

Workflow: It is possible to corrupt email approval link and to approve steps on behalf of other approvers.

Workflow

PFUN-28814

Interceptors: If revision is created after leaving and coming back to quote, then quoteDetailNew is not triggered.

Unity

PFUN-28861

Variables dumped with api.trace() are always converted to string.

Groovy API

PFUN-28904

To address issues with User Group restrictions for the Condition Record Sets, the Advanced Configuration Option hideConditionRecordSetsBasedOnUserGroups has been implemented to restrict their visibility based on User Groups. For more information see Advanced Configuration Options - Full List.

Condition Records

PFUN-28944

Change the mass edit functionality in the frontend to add /forcefilter into the URL when the table is filtered. Affected objects: ToDo Admin, Dashboards, Payout Records, Compensation Accrual Records.

Unity

PFUN-28945

Price Setting Type: Newer version exists error when editing inline.

Price Setting

PFUN-28954

When using the DropZone drag-and-drop upload feature on macOS within Salesforce, the image does not upload and instead opens in a new browser tab.

CRM Integrations

PFUN-28966

Improve PurgeEventTasks to remove the old unprocessed events.

Core

PFUN-29003

It is no longer possible to store null labels for the following types:

  • CFS (Calculated Field Set)

  • CG (Calculation Grid)

  • CL (Claim)

  • CORS (Compensation Record Set)

  • PG (Price Grid)

  • PL (Price List)

  • RRS (Rebate Record Set)

  • SIM (Simulation)

Any API request attempting to do so will result in an error. However, it is still possible to store an empty string value, as this case is handled by the application's frontend validation.

Backend - General

PFUN-29045

If Price List is added to documents in Documents tab, its type is taken from pricelistType property (Type column) of Price List.

UI - General React

PFUN-29205

Error 400 when changing color and extra styling in Product Extension sku field.

Master Data - Products

PFUN-29269

Visual Configuration: Math blocks throw the Ambiguous method overloading for method java.lang.Math#max error when mixing Integer and BigDecimal types.

Strategy Designer

PFUN-29304

Some fields saved as LocalDateTime are incorrectly serialized without a time value, causing Date only fields to be interpreted as full DateTime objects in the API output.

Backend - General

PFUN-29359

Model Objects: Error message displayed when Deny/Approve model.

Optim - Frontend

PFUN-29365

HTML content not displaying properly in React quote messages. HTML tags listed at Allowed HTML Tags and Attributes.

Quoting

PFUN-29373

Deleting a table used in Data Lookup causes all draft strategies in Strategy Designer, even new or unrelated ones, to throw an error, preventing the creation of new strategies.

Strategy Designer

PFUN-29509

Deprecate QueryAPI Expression methods taking a Date as this is judged too ambiguous.

Backend - General

PFUN-29552

Quotes: selecting multiple items automatically clears the first input field value.

Quoting

PFUN-29603

Hiding export button for PDF, WORD, EXCEL at CLIC list is not possible thru Header Type Configuration.

Quoting

PFUN-29610

Custom forms CFO get submitted instantly when hitting Enter key on an input.

Custom Forms

PFUN-29616

When marking an offer as lost, selecting a Loss Reason without entering a comment throws a NullPointerException error.

CRM Integrations

PFUN-29628

JWT Token is not extended with normal UI request nor with ping.

Unity

PFUN-29678

CLIC: If the General Settings option ‘Run document creation workflow logic on the created document’ is enabled, the workflow logic is evaluated also when a copy or a new revision of a document is created.

Agreements & Promotions - Backend

PFUN-29687

Copying a Manual Price List is not possible if a soft-deleted copy exists, resulting in an "Invalid command parameters" error. This occurs because the original copy was deleted but still marked as soft-deleted.

Price Setting - Backend

PFUN-29761

A NullPointerException occurs in RobustLinearRegression because InputOutputPair.getInput() is called on a null value returned by CollectionUtil.getFirst() when the filtered dataset is empty.

Analytics - Backend

PFUN-29794

Can't filter CLIC list with objRef.

Advanced Filter

PFUN-29899

The user role “View PG Types” is now needed to view LPGs.

Access Admin - Authorization

PFUN-29951

Analytics: Records in dmdlcalcitem table seem not to be purged with the JST record.

Backend - General

PFUN-29962

Sales Compensation dashboard: Error thrown in Transactions and Statistics.

Sales Compensation

PFUN-30022

Visual Configuration: When a Data Lookup fails to find a match, it incorrectly returns 0.0 instead of null.

Formula Designer

PFUN-30032

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

Quoting - Backend

PFUN-30034

Formula Designer: Removing an unused additionalParameter definition Advanced Configuration causes errors in both old and new formulas.

Formula Designer

PFUN-30100

Fixed code generation issue in a specific scenario

Strategy Designer

PFUN-30190

WorkflowStatus is not whitelisted properly.

Backend - General

PFUN-30208

Extra Calculation Flow jobs running.

Backend - General

PFUN-30219

The Price List page periodically refreshes every 5 to 10 seconds. The issue is that certain Price Lists automatically refresh approximately every 5 seconds, which is reproducible when opening a specific Price List in the designated partition.

Price Setting

PFUN-30331

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

Quoting - Backend

PFUN-30333

When submitting a Rebate Agreement or Sales Compensation document that exceeds the async threshold, the items temporarily disappear until the page is refreshed.

Rebate Agreements

PFUN-30345

Strategy Designer Data Lookup returns null.

Strategy Designer

PFUN-30426

Added error message saying "Window functions only supported for PA tables" when using them with PB

Query API

PFUN-30609

Missing window functions in queryapi.execute/meta

Query API

PFUN-31214

The Alt-Key and Level type of Function fields in Datamarts and Data Sources are deprecated.

Analytics - Data Manager

PFUN-29943

Hot Fixes

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

15.0.1 PR

Released on June 24, 2025

Description

Components

ID

A Distributed DL (which is configured as distributed: false) throws an error: java.lang.AssertionError: Can only initDistributedCalculation in a master process, while this is: ContainerType[podType=SINGLE, containerType=SINGLE].

Analytics - Backend

PFUN-30699

15.0.2 PR

Released on July 3, 2025

Description

Components

ID

Datamarts: Node null not found in graph.

Analytics - Datamarts

PFUN-28600

Update and improve QueryAPI documentation and javadoc.

Backend - General

PFUN-29429

Configurator window values do not persist after upgrade.

Price Setting

PFUN-29553

CLIC: Autosave off - renderInfo not applied.

Quoting

PFUN-30265

StatisticsCollector (mixpanel) emitting exceptionally slow queries.

Backend - General

PFUN-30419

Fix Formula update in Strategy Designer.

Visual Configuration

PFUN-30449

Remove DMFilterBuilder from CLIC sider.

Unity

PFUN-30481

Not all the fields are duplicated in Price List.

Price Setting

PFUN-30486

LPG User Group dropdown showing all groups, not only groups the user is assigned to.

Price Setting

PFUN-30490

Enums in QueryAPI for rebate record table not working.

Groovy API

PFUN-30525

JOB_FAILED event to RabbitMQ/PfM not working.

Backend - General

PFUN-30533

Update text color in disabled input components for better contrast.

UI- General React

PFUN-30588

Change log level of `PFUN-16195 groovy closure parameter type possible conversion` from INFO to WARN.

Core

PFUN-30590

DCR based on PX/CX/SX: mass change effect not visible when DCR is in DRAFT or SUBMITTED.

Data Change Requests (DCR)

PFUN-30615

Class java.util.ArrayList cannot be cast to class java.util.Map.

Core

PFUN-30627

Price List creation modal dialog takes very long to appear.

Price Setting - Price Lists

PFUN-30711

Import Manager performance improvement backport from 15.0.


PFUN-30817

15.0.3 PR

Released on July 11, 2025

Description

Components

ID

LPG: It's possible to change locked input parameters when editing.

Price Setting - Live Price Grids (LPG)

PFUN-30499

QueryAPI: Not possible to use DMT as source from REST API.

Query API

PFUN-30634

CREATE EXTENSION IF NOT EXISTS ERROR: Citus can only be loaded via shared_preload_libraries.

Analytics - Backend

PFUN-30651

LPG: 'Can't access property "buttonsConfiguration"' error when opening LPG created from deleted type.

Price Setting - Live Price Grids (LPG)

PFUN-30875

Configurator table: Advanced filter doesn't work.

UI - Inputs

PFUN-30880

Condition records no longer whitelisted for update.

Condition Records

PFUN-30892

Character encoding issue: Special characters corrupted when using boundCalls.

Backend - General

PFUN-30900

15.0.4 PR

Released on July 28, 2025

Description

Components

ID

MO tasks are not shown in "Running tasks" in Grafana. MO tasks don’t update Prometheus metrics core_tasks_running.

Core

PFUN-30689

“Server is not responding” error.

Rebate Agreements

PFUN-30864

Access Denied error for Sales Coordinator business role.

Unity

PFUN - 30865

Line item import is not working for older Pricefx versions.

Unity

PFUN - 30894

LoadData fails to match records with null Business Key values in the backend.

Backend - General

PFUN - 30903

When line items are copied and imported using the button “Paste from clipboard” while clipboard is disabled in browser, an alert which pops up asking to upload the text there. After the text is pasted and uploaded formatting will fail.

Unity

PFUN - 30967

api.customFormApi: Integration User as context user is not taken in case CFO is submitted by logic.

Custom Forms

Custom Forms - Backend

PFUN - 30971

User roles Manage Product Master Extensions, Manage Products, Administer Products: User unable to delete PX records

Master Data - Backend

PFUN - 31096

Advanced-Filter. Edit-LPG-with-edit-filter

Advanced Filter

PFUN - 31098

OTel traces of formula service call don't contain spans executed in service thread.

Core

PFUN - 31199

Live Price Grids: Dynamic filter is not returning correct data set.

Price Setting

Price Setting - Live Price Grids (LPG)

PFUN - 31238

15.0.5 PR

Released on July 30, 2025

Description

Components

ID

Datamarts, Datasources: add meta description to fields for Copilot. A new “Description” column was added in the Data Source and Datamart configuration page, in the fields table. A "metaDescription" text property can now be set on each Field of a Data Source, Datamart and ModelObject-DMTable via REST API.

Analytics - Datamarts

Analytics - Data Manager

PFUN-30879, 31114

15.0.6 PR

Released on August 5, 2025

Improvements

Improvement Description

ID

A Metadata Description field has been added to the Model Object page.

PFUN-31024

Bugs

Bug Description

Components

ID

Percentage filter in Advanced Filter is not applied correctly (UI value is divided by 100 a then applied).

UI - General React

UI - Table

PFUN-30700

Mass Edit is not working with Percentage field type.

Advanced Filter

UI - Inputs

PFUN-31119

Price List review/duplicate/edit: Default pricing logic is empty when it is empty in Price Setting Type.

Price Setting - Price Lists

PFUN-31260

Condition Records fetching significantly slower in v15 (Southside).

Condition Records

PFUN-31299

Added support for AI, their attributes, attributeExtension as well as outputs. No support for the source and target context.

Query API

PFUN-30851

15.0.7 PR

Released on August 13, 2025

Description

Components

ID

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

Notifications

PFUN-31410

PA [BE]: new instance (XML) param to allow setting a relative threshold for rebuild vs load table


PFUN-31316

Secure credential storage for Groovy: Added httpCall(String boundPartitionUniqueName, String relativeUrl, String body, String methodType, String contentType, Map... properties). It only works with a BoundPartition setup with baseUrl, userName and userPassword and no partitionName. It will refuse username/password passed in properties map, and for the rest it will behave exactly like an httpCall except the final URL will be a concatenation of the baseUrl and relativeUrl.

Administration

PFUN-21485

Meta Description field available for Copilot: Added optional new param metaDescription to the model.addTable API method, both for the Table and Fields. Extended CreateFCEndPoint to support new column metaDescription when creating a new table(DMT/DMDS).

Agents

Copilot

PFUN-31195

Add metaDescription to the allowed DMTable Field attributes

Agents

Model Class

PFUN-31344

Bugs

Bug Description

Components

ID

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

Price Setting

PFUN-25949

Analytics: Do not expose ResultTable name in Datamart through JSON API.

Analytics - Backend

PFUN-30679

Inputs double borders

UI - React Components

PFUN-30815

Join Series > Waterfall Comparison: Incorrect Join Series result when using percent aggregation.

Actionable Insights

Analytics - Charts

PFUN-31256

Is not possible to set activity log in CLIC header configuration

Quoting

PFUN-31407

15.0.8 PR

Released on

Bugs

Bug Description

Components

ID

Publishing DL running longer than idle_in_transaction_session_timeout fails with error “Unable to rollback against JDBC Connection”.

Analytics - Backend

PFUN-31128

Unable to open Comments section after collaboration WF is finished.

Agreements & Promotions

Quoting

PFUN-31422

Saving Dataload input doesn't persist after navigating away.

Analytics - Data Load

PFUN-31368

Quotes: Quote Revisions after upgrade contain v1 in name instead of v2.

Quoting

Quoting - Backend

PFUN-31274

15.0.9 PR

Released on August 25, 2025

Improvements

Improvement Description

ID

To optimize search payloads, advanced filter requests with a valueFields property will also be sent with the same list in the resultFields property.

PFUN-31377

Added a read-only Meta Description column to Models > Tables > Model Tables.

PFUN-31315

Bugs

Bug Description

Components

ID

Column labels for different Condition Record Sets are mismatched or missing.

Condition Records

PFUN-31547

The Query API priceGridLineItems function returns an error for a DATETIME column when the corresponding Attribute Meta field type is set to UNKNOWN.

Query API

PFUN-31496

Using findLookupTableValues inside an api.global.computeIfAbsent() block causes a ConcurrentModificationException.

Groovy API

PFUN-31483

Sensitive information from User and BoundPartition objects, such as password hashes, is accessible via Groovy API.

Backend - General

PFUN-31454

The api.stream performance trace incorrectly logs some actions outside of their scope.

Core

PFUN-31380

The use of api.stream("XPLI") with a filter on a large number of pricelist IDs causes a performance issues.

Backend - General

PFUN-31359

In a Model Configurator, saving the model and then clicking 'Continue' throws Version conflict: newer version exists error.

Model Class

PFUN-31192

A TypeError appears when opening the Calculation tab in a Distributed Calculation Data Load.

Analytics - Data Manager

PFUN-29844

15.0.10 PR

Released on

Improvements

Improvement Description

ID

The label of the current step is now available as a new field for Model Objects.

PFUN-31185

Bugs

Bug Description

Components

ID

Attachments stored in S3 are not available when the useS3GlobalBuckets application parameter is set to true.

Core

PFUN-31611

Element timeouts are not respected in specific calculable line item collection (CLIC) configurations.

Agreements & Promotions - Backend

PFUN-31534

In the Customer Assignments table, duplicate rows are displayed and filtering does not work.

Master Data

PFUN-31297

15.0.11 PR

Released on

Improvements

Improvement Description

Component

ID

A client SDK for self-hosted Unleash feature flag service is available in backend.

Backend - General

PFUN-31104

When the maximum number of concurrent running streams is reached, the log now contains in the exception all the stack traces of the currently running streams to help understand the situation. This also fixes an issue when api.stream’s maxStreamingSearchConcurrency was sometimes reached even though it wasn’t the case.

Backend - General

Groovy API

PFUN-8073

Bugs

Bug Description

Components

ID

In the Price List Advanced Filter, fields from linked PX (Product Extension) tables were sometimes missing from the field selection.

Price Setting

Price Setting - Price Lists

PFUN-31209

Not possible to set the start date and expiry date to the same day in Quote

Quoting - Backend

PFUN-31490

On the Agents screen, the 'Current Step' column was incorrectly labeled as 'Data Scope'.

Model Class

PFUN-31531

An "Invalid command parameters (%s)" error occurred in Rollups when using an Advanced Filter with a Group By.

Analytics - Rollups

PFUN-31532

Rebate Record data mismatches occurred when using multiple RebateRecordSets.

Rebate Records

PFUN-31572

The PurgeDeletedDatamartTables task was failing to run due to an error caused by a closed transaction.

Backend - General

PFUN-31629

The numberOfItemsConsideredLightweight property was not taken into account when triggering a Live Price Grid calculation via actionBuilder.addLivePriceGridAction.

Core

PFUN-31681

15.0.12 PR

Released on

Improvements

Improvement Description

Component

ID

Model Duplication and Import endpoints now handle metadescription.

Model Class

PFUN-31662

Bugs

Bug Description

Components

ID

The PurgeDeletedDatamartTables job fails with a NullPointerException error when deleting a Field Collection.

Core

PFUN-31703