Black Cat 16.3 – Release Notes

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

Version

16.3.0 - Black Cat

Release Date

April 24, 2026

Release Type

Minor

Improvements

Description

Components

ID

Introduced a feature flag to toggle between full-row selection and checkbox-only selection for table rows.

UI - Table

PFUN-34565

A new API method createQapiFilterBuilder() is available to create the input for a QAPI Detection Rule Filter.

Agents, Analytics - Backend

PFUN-34481

Introduced a new `preciseConditionValue` field to condition records to support pricing values with up to eight decimal places.

Condition Records

PFUN-34429

A new SAFEDIV function is now available in the Expression Editor for Agents, Analytics charts, and Rollups, allowing users to handle division by zero by specifying an optional default return value.

Agents, Analytics - Charts, Analytics - Rollups

PFUN-34384

The Expression Editor now supports the Weighted Average (WAVG) aggregation function.

Agents, Analytics - Charts, Analytics - Rollups

PFUN-34382

The Expression Editor now supports the ANY_VALUE() aggregation function, which returns an arbitrary value from a specified field within a group.

Agents, Analytics - Charts, Analytics - Rollups

PFUN-34353, 34379

Error notifications are now automatically cleared when navigating away from the document detail page.

Agreements & Promotions, Quoting, Rebates, Sales Compensation

PFUN-32276

Bug Fixes

Description

Components

ID

In Price Lists, the Target Date is not editable when pricelistTargetDateEditable is set to true.

Price Setting - Price Lists

PFUN-34686

After performing a mass edit on a Price List, the user interface freezes or becomes very laggy.

Price Setting - Price Lists

PFUN-34669

On the Price Lists page, text is missing when grouping items by warnings.

UI - Table

PFUN-34630

The Analytics module displays inconsistent measure visibility in Rollups and fails to render selected Y-axis labels in Analytics charts.

Analytics - Data Manager, Analytics - Rollups

PFUN-34477

The system fails to save a Dashboard 2.0 portlet after a duplicate name error is corrected with a unique name.

Dashboards

PFUN-34454

The top-right header action buttons fail to refresh after a Price List submission, causing the Submit button to remain active and trigger an error if clicked again.

Price Setting - Price Lists

PFUN-34446

The system incorrectly executes model configurators from future steps during model reruns or backward navigation, causing errors when dependencies from those later stages are not yet available.

Model Class

PFUN-34442

Quote inline numeric inputs fail to apply the correct locale and formatting.

Quoting

PFUN-34439

The system fails to log detailed error messages and response data when file conversion through CloudConvert encounters an error.

Administration

PFUN-34436

Multi-series charts fail to load or display when opened as the initial selection in the Data Analyzer.

Analytics - Charts

PFUN-34390

The system fails to create a new Price List when converting from a Live Price Grid detail view if the underlying logic includes attribute extensions.

Price Setting - Price Lists

PFUN-34351

The system returns a 404 error when attempting to view product details for SKUs containing special characters such as percent signs.

Price Setting - Live Price Grids (LPG), Unity

PFUN-34322

The Revoke button remains visible in the React Quote list even when it is explicitly disabled in the Quote Type JSON configuration.

Quoting

PFUN-34316

Data table mini bars display baselines for null values, overflow cell boundaries, and exhibit inconsistent thickness during column resizing.

Dashboards

PFUN-34313

Users experience an intermittent issue where attribute columns in the Price List grid appear empty despite the data being correctly populated in the system and available via export.

Price Setting

PFUN-34249

The system incorrectly uses Product Extension attribute metadata for datasource fields instead of Product attribute metadata when decoupling is disabled.

Analytics - Data Sources

PFUN-34153

An error occurs when a user discards a new document revision and tries to go back.

Agreements & Promotions, Quoting, Rebates, Sales Compensation

PFUN-34129

When a Live Price Grid with an attribute extension is converted to a Price List, the values for the attribute extension are empty.

Price Setting - Price Lists

PFUN-34126

When creating a curated agent, clicking "execute all next steps" does not automatically navigate to the summary page after calculation.

Agents

PFUN-33981

The system incorrectly displays the Submit button on a Price List containing critical alerts when the list is converted from within a Line Item Group.

Price Setting

PFUN-33928

Validation warnings on restricted columns disappear prematurely when a user edits or interacts with a different column in the table.

Master Data - Company Parameters

PFUN-33531

When creating a Live Price Grid, the 'Set Parameters' inputs are unavailable if the 'Pricing Logic' field in the Product Master is empty instead of null.

Price Setting - Live Price Grids

PFUN-33515

The "contains pattern (match case)" filter fails to restrict results and returns all table rows regardless of the specified criteria.

Advanced Filter

PFUN-33136

Hot Fixes

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

16.3.1 PR

Released on

Bug Fixes

Description

Components

ID

Users can view the details of a new quote during creation even when access should be restricted by the Quote Entitlement Filter.

Quoting

PFUN-34531

The system corrupts label translation metadata when a user modifies the requirement flag of a Product Extension attribute.

Master Data - Product Extensions

PFUN-34548

The system experiences significant performance degradation during Calculated Field Set (CFS) processing due to excessive and redundant POS.flush calls occurring before each formula evaluation.

Backend - General, Calculated Field Sets (CFS)

PFUN-34684

The FlexChart template editor allows the execution of arbitrary JavaScript code through unsanitized property chains in the template configuration.

UI - General React

PFUN-34694

The Price Grid and Price List Type configuration interface incorrectly counts attribute extensions toward the 100-column selection limit, preventing users from adding additional columns.

Price Setting

PFUN-34716

The system intermittently aborts distributed PriceGrid calculations during long-running tasks due to a serialization error involving internal optimization proxies.

Price Setting - Calculation Grid

PFUN-34737

Live Price Grids fail to display the "Include extra fields" checkbox and omit additional columns during Excel exports when the "extraExportColumnsConfig" advanced configuration is enabled.

Price Setting, Price Setting - Backend, Price Setting - Live Price Grids (LPG)

PFUN-34780

16.3.2 PR

Released on

Improvements

Description

Components

ID

Introduced a new Groovy API method qapi.fromDto() that allows developers to convert a QueryApiDTO into a QueryApi pipeline for programmatic execution.

Agents, Dashboards, Query API

PFUN-34339

Bug Fixes

Description

Components

ID

The system fails to create condition records when a contract or quote is submitted in asynchronous mode and automatically approved without workflow steps.

Condition Records

PFUN-34828

The Quote UI displays an incorrect selected line item count when a line item is recalculated because the system retains the selection state of the original item after it is replaced.

Quoting

PFUN-34719

The "See Details" button on denied quotes fails to navigate users to the workflow history tab and instead redirects to the header tab or incorrectly updates the URL.

Quoting

PFUN-34715

The `api.streamKVsPayload` method fails to recognize existing tables and throws an exception even when the tables are accessible via other API methods.

Backend - General, Groovy API

PFUN-34702

The system fails to import data for columns whose labels contain trailing whitespace, resulting in those fields being silently stored as null values during manual uploads.

Analytics - Data Sources

PFUN-34501

The Quote Line Item Configurator fails to consistently trigger auto-refresh events after numeric cell edits, causing desynchronization between the user interface and the calculation engine.

Quoting, Quoting - Backend

PFUN-33978

16.3.3 PR

Released on

Improvements

Description

Components

ID

QueryAPI now supports the STDDEV_POP, VAR_POP, PERCENTILE_CONT, PERCENTILE_DISC, and PERCENT_RANK aggregate functions.

Query API

PFUN-34326

Bug Fixes

Description

Components

ID

The condition record status dropdown menu lacks the "INVALIDATED" option.

Condition Records

PFUN-34991

The formula engine eagerly evaluates all branches of conditional statements, causing incorrect division-by-zero warnings when a branch containing a null denominator is processed.

Formula Engine

PFUN-34971

Users experience a UI error that prevents opening Condition record sets in the Master Data configuration following the 16.3.1 upgrade.

Condition Records

PFUN-34924

The system prevents users from clearing the Cost field in the product edit modal by automatically reverting the input to its last saved value.

UI - General React

PFUN-34915

Dashboard snapshot calculations execute under an incorrect user context due to improper initialization of the worker process.

Dashboards - Backend

PFUN-34901

The system fails to authenticate SSO users via SAML because it uses an unsupported inclusive canonicalization algorithm that is incompatible with modern identity providers.

Access Admin - Single sign-on (SSO)

PFUN-34883

The pricelist definition incorrectly displays the current date instead of the selected target date when using a non-default pricelist type with a specific calculation logic.

Price Setting - Price Lists

PFUN-34775

Long-running CFS calculation jobs experience OutOfMemory crashes during termination when profiler statistics exceed the maximum string capacity.

Calculated Field Sets (CFS)

PFUN-34762

The system fails to apply the original product selection when duplicating a price list that has a locked product configuration.

Price Setting

PFUN-33920

The Price Setting Simulation edit modal displays internal IDs instead of the expected Price List or Price Grid labels in input fields.

Price Setting - Simulations

PFUN-21098

16.3.4 PR

Released on

Improvements

Description

Components

ID

Copilot support has been extended to include Insights and Actions dashboards.

Copilot

PFUN-35043

Resolved security vulnerability CVE-2026-45292.

Configuration

PFUN-35027

Bug Fixes

Description

Components

ID

Users are unable to send messages in the Copilot chat window by pressing the Enter key.

Copilot

PFUN-35055

The application crashes when a user selects a function within the Data Aggregation settings of a Waterfall or Waterfall Comparison chart.

Analytics - Charts

PFUN-35035

The Import Manager executes the default workflow logic even when a more specific target workflow is defined.

Workflow

PFUN-35014

The system fails to preselect the default output columns when a user creates a new Live Price Grid based on a specific Price Setting Type.

Price Setting - Live Price Grids (LPG)

PFUN-34999

The Convert to Price List button remains visible on the Live Price Grid detail page even when the calculationToPriceListButton configuration is set to false.

Price Setting - Live Price Grids (LPG)

PFUN-34974

The system clears the Calculation Type field in Sales Compensation plans when a mass submit action is performed on compensation records.

Sales Compensation

PFUN-34878

Distributed calculations fail when the underlying database table reaches the PostgreSQL limit of 1600 columns due to dropped columns not being physically removed from the schema.

Analytics - Data Loads

PFUN-34772

The system generates confusing and inaccurate error logs regarding FAT SLAVE mode transitions during Price List processing even when no functional errors occur.

Price Setting - Price Lists

PFUN-34721

Users experience a system error when searching for specific values by typing directly into dropdown input boxes linked to Matrix lookup tables.

Quoting

PFUN-34717

The system fails to complete data source deployment and returns a server error when a key field name is changed and synchronized.

Analytics - Data Sources

PFUN-34685

The inline configurator displays a red validation outline across the entire component when only a single nested input is marked as required.

Agreements & Promotions, Quoting, Rebate Agreements, Sales Compensation

PFUN-34658

The CalculableObjectLineItemColumns#completeResultsAvailable field incorrectly identifies as a string type instead of a boolean type in the QueryAPI documentation and implementation.

Query API

PFUN-34321

The product picker incorrectly limits the list to 10,000 items when opened for a second time.

Dashboards, Unity

PFUN-34187

16.3.5 PR

Released on

Bug Fixes

Description

Components

ID

The server migration fails with a NullPointerException when encountering inconsistent quote data where the root identifier is missing but a previous revision exists.

Quoting - Backend

PFUN-35155

The system permanently disables Quote Agreements and prevents further operations if a calculation is triggered while the effective date is set after the expiry date.

Quoting - Backend

PFUN-35124

Applying an advanced filter to a Line Item Grid in processing status triggers an infinite loop of network requests, leading to high memory consumption and browser crashes.

Advanced Filter

PFUN-35110

The Import Manager workflow fails to display error messages on the user interface when a submission is stopped by a backend exception.

Workflow

PFUN-35109

The Jobs and Tasks list displays cryptic technical identifiers instead of user-friendly names and types for dashboard snapshot calculations.

Dashboards

PFUN-35047

The system displays a generic "Submit not allowed" error message instead of specific validation details when a Quote import from the clipboard fails due to missing columns or calculation logic exceptions.

Quoting

PFUN-35041

The system incorrectly processes flush dataloads by failing to respect the latest record timestamp, resulting in older data overwriting newer records in the datasource.

Analytics

PFUN-35032

Rebate agreement calculation results bypass user group visibility restrictions and become visible to unauthorized users after a recalculation is performed.

Rebate Agreements

PFUN-35030

Line item input values are incorrectly overridden by header values even when the line item is modified by the user.

Rebate Agreements

PFUN-34739

In Live Price Grids, attribute extension fields remain editable in the user interface even when allowOverride is set to false.

Price Setting - Live Price Grids (LPG)

PFUN-34511

16.3.6 PR

Released on

Improvements

Description

Components

ID

The QueryAPI now exposes the extraData JSON field for Condition Records.

Query API

PFUN-35233

The PA calculation timeout is now exposed as a configurable property in the application configuration, allowing for environment-specific adjustments to the default 48-hour limit.

Analytics - Backend

PFUN-34820

The Query API now supports retrieving company parameter data for a specific target date when multiple validity periods exist.

Query API

PFUN-34433

Bug Fixes

Description

Components

ID

Non-periodic Calculation Flow jobs incorrectly execute as periodic tasks if a manual "Run Now" command is triggered before the first scheduled run.

Calculation Flows (CF)

PFUN-35344

Notifications stop being displayed on the front-end during a line item import.

Agreements & Promotions, Quoting, Rebate Agreements, Sales Compensation

PFUN-35325

The Excel export for Bonus Agreement payout records incorrectly displays Java object references in the ID column instead of serialized link values.

Agreements & Promotions

PFUN-35304

The Parameters tab displays a "DynamicItemFilter [object Object]" string instead of the filter details when editing a Line Pay Group configured with a Dynamic Item Filter.

Price Setting - Live Price Grids (LPG)

PFUN-35179

The Alerts table on the rebate record detail page incorrectly displays tooltips when users hover over values in the Alert Type column.

Rebate Records

PFUN-35112

The Summary table Total row displays an "Invalid date" tooltip when users hover over the target period start and end date cells.

Rebate Records

PFUN-35111

The system fails to create tables that are simultaneously defined as partitioned and columnar.

Analytics

PFUN-34955

The system encounters a NullPointerException during Price Grid calculations when the recalculation request includes SKUs that are missing from the product master or the processing queue.

Price Setting - Live Price Grids (LPG)

PFUN-34923

The system incorrectly applies window functions to the entire dataset instead of the filtered and sorted results when they follow take, sortBy, or distinct operations.

Query API

PFUN-34811

The Inline Configurator fails to commit and update store selections when users navigate away from the Import Store IDs field using the Tab key.

Price Setting - Price Lists, UI - Configurator

PFUN-34359

Users assigned the Pricing Manager business role cannot access PO Model data management functions, such as Purge Cache and Truncate, because the corresponding action buttons are missing from the interface.

Model Class, Optimization

PFUN-33926

16.3.7 PR

Released on

Improvements

Description

Components

ID

The queryapi.execute and queryapi.metadata endpoints now support relative date expressions and new literal types for dates, durations, and periods.

Query API

PFUN-33284

Bug Fixes

Description

Components

ID

Numeric fields incorrectly reject the value "0" as an invalid input.

UI - Inputs

PFUN-35510

The system fails to resolve attribute aliases to their underlying physical columns in generated HQL when selecting columns from the right side of a joined pipeline.

Query API

PFUN-35137

The Quote Header fails to display newly generated input fields automatically after a successful recalculation until the user manually refreshes the page or switches tabs.

Quoting

PFUN-34993

16.3.8 PR

Released on

Bug Fixes

Description

Components

ID

The system fails to export rebate payout records and displays an internal error message when advanced filters are applied.

Rebate Records

PFUN-35551

The Salesforce Aura component fails to parse and forward the c__targetPage and c__targetPageState parameters, causing deep links to default to the Quotes landing page instead of the intended destination.

CRM Integrations

PFUN-35508

The companyParameterRows() function incorrectly requires a targetDate parameter during distributed data loads, causing the API to fail when only the table name is provided.

Query API

PFUN-35440

The system fails to resolve attribute aliases to their underlying physical columns in generated HQL when columns are selected from the right side of a joined pipeline.

Query API

PFUN-35137

The system fails to fetch converted Price List line items via the Query API due to a hibernate query error caused by incompatible metadata copied from Price Grid Items.

Price Setting

PFUN-35084

Users experience an internal error when attempting to export data from Dashboards or Agent Model Objects on bare-metal clusters.

Agents, Dashboards - Backend

PFUN-34245

16.3.9 PR

Released on June 24, 2026

Improvements

Description

Components

ID

The Copilot interface now features an integrated Markdown editor within the chat text area and canvas.

Copilot

PFUN-35561

Resolved a security vulnerability identified as CVE-2026-48043.

Access Admin

PFUN-35538

Introduced the `HASH_BUCKET` function and a corresponding `batchFilters` API method to enable more efficient DDL processing by grouping related data into balanced batches.

Analytics

PFUN-35004

Configuration settings are now loaded from a file instead of environment variables.

Core

PFUN-32605

Bug Fixes

Description

Components

ID

Users experience an issue where negative numeric values cannot be entered correctly when the localization display format is set to Swedish, Norwegian, or Finnish.

Localization

PFUN-35598

Users experience persistent, erroneous warning icons next to multiple fields when opening existing DLG quotes.

Quoting

PFUN-35554

The frontend container crashes with an OutOfMemory error when a user moves multiple large contracts into a folder simultaneously.

Agreements & Promotions

PFUN-35478

The companyParameterRows() function incorrectly requires a targetDate parameter during distributed data loads, causing the API to fail when only the table name is provided.

Query API

PFUN-35440

The system fails to display error notifications and omits input values for line items when an asynchronous import encounters a calculation exception or alert.

Agreements & Promotions, Quoting, Rebate Agreements, Sales Compensation

PFUN-35434

The Condition Records Splicing job incorrectly displays 50% progress in the Job Queue even when the process completes successfully and reaches a Ready state.

Condition Records

PFUN-35427

The Salesforce CRM integration iFrame experiences significant latency during the initial page load due to redundant configuration and authentication requests.

CRM Integrations

PFUN-35397

The system fails to perform a MERGE INTO operation when transferring data from a Postgres table to a distributed table.

Analytics - Data Sources

PFUN-35285

Tables within a quote automatically collapse without user input when accessed through the Items tab.

Quoting, UI - Table

PFUN-35238

The system fails to resolve attribute aliases to their underlying physical columns in generated HQL when selecting columns from the right side of a joined pipeline.

Query API

PFUN-35137

The system incorrectly triggers approval resets during recalculation for attribute extension fields even when the field values remain unchanged.

Price Setting - Live Price Grids (LPG)

PFUN-34751

Users experience an internal error when attempting to export data from Dashboards or Agent Model Objects on bare-metal clusters due to a disabled temporary file service.

Agents, Dashboards - Backend

PFUN-34245

16.3.10 PR

Released on

Improvements

Description

Components

ID

The Query API now supports joining two pipelines via the execute and meta endpoints.

Query API

PFUN-30794

Bug Fixes

Description

Components

ID

The system ignores the user-defined target date input in scheduled calculations and instead defaults to the target date of the object header.

Agreements & Promotions - Backend, Core

PFUN-35672

The system fails to display a notification when a user opens a quote link containing preselected line item IDs that are missing from the document.

Context Linking

PFUN-35509

The Live Price Grid Summary button and tab remain visible even when the showSummaryButton configuration is set to false.

Price Setting - Live Price Grids (LPG)

PFUN-35485

The system incorrectly auto-approves dirty items during lightweight partial recalculations of single Live Price Grid items even when the skipAutoApproveOnDirtyPGI property is enabled.

Price Setting, Price Setting - Backend

PFUN-34665

16.3.11 PR

Released on July 10, 2026

Improvements

Description

Components

ID

Updated the Query API to use camelCase for dataSource and dataFeed properties while maintaining backward compatibility for existing queries.

Query API

PFUN-35759

The query execution and metadata endpoints now support case-insensitive values for Data Source and Data Feed types.

Query API

PFUN-35498

Improved validation and error reporting for the paMaxFcFieldCountExemptions application property to ensure proper handling of configuration values.


PFUN-34175

Users can now enable approximate row counts for Flush and Distributed Calculation processes via new Advanced Configuration options to improve Data Load performance.

Analytics

PFUN-32052

Bug Fixes

Description

Components

ID

Users experience failed downloads of large archive files when the file size exceeds the hardcoded decryption buffer limit.

Configuration

PFUN-35721

The LPG Mass Actions edit dialog displays inconsistent or missing editable attributes depending on the sort order of items with empty override values.

Price Setting - Live Price Grids (LPG), Unity

PFUN-35662

The system deletes all sibling line items, including folders, when a user attempts to delete a single volume break line item with an empty identifier list.

Agreements & Promotions - Backend

PFUN-35661

The embedded Custom Form Object fails to refresh and display updated values after a recalculation is triggered from the header logic.

Agreements & Promotions, Quoting, Rebates, Sales Compensation

PFUN-35658

The configurator matrix fails to clear after a product is added if a line item has been previously removed from the agreement.

Agreements & Promotions

PFUN-35634

The Mass Update tool incorrectly approves multiple revisions of the same contract instead of invalidating all but the first submitted revision.

Agreements & Promotions

PFUN-35631

Price list items fail to refresh automatically after a user clicks the "Save & Recalculate" button.

Price Setting

PFUN-35624

The QAPI endpoint fails to honor the configurable partition timezone when calculating the default target date.

Query API

PFUN-35524

The “Mass Submit” button is missing from the Rebate Records list view even when records are in the correct status for submission.

Rebate Records, Unity

PFUN-35033

The system restores previously deleted attribute values when a master data record is re-imported via IntegrationManager without those attributes present in the payload.

Backend - General

PFUN-34518

Undeployed Data Sources ignore configured field count exemptions and default to a maximum limit of 100 fields, causing initial deployments with higher field counts to fail.

Analytics - Data Sources

PFUN-33572