August 2026 - Dashboard Release Notes

August 2026 - Dashboard Release Notes

Karma - Page Builder

 

  • IMPORTANT NOTIFICATIONS

    • Schema Changes - the release contains 1 schema change.

    • Upgrading - before carrying out an upgrade, please review the release notes for your current version, the target version and every release in between. Each release may contain functionality changes that could affect your users, so it is important to understand them before your customers raise any queries.


Added

Percentage based memory config for Tomcat/Pi in containers

pi#2971

34763, 34896, 35043, 36106

Configuration

Percentage based memory config for Tomcat/Pi in containers

pi#2971

34763, 34896, 35043, 36106

Configuration

We now support percentage-based memory configuration for the Pi application, in addition to the traditional static memory configuration. This option is supported only for containerised deployments and is ideal when deploying to instances of different sizes, as the memory allocation is set automatically to an appropriate level.

You can set the maximum memory allocation using the PI_TOMCAT_MAX_MEMORY_PERCENTAGE environment variable. The value must be between 20 and 60, representing the percentage of the instance’s total memory. If the value is not supplied or falls outside the supported range, the application will revert to the default static memory configuration, with a maximum memory allocation of 1,024 MB.

Enabled conversational context retention in AI Chart Generation

pi#3744, pi#3797

45917

AI Chart Generation

Enabled conversational context retention in AI Chart Generation

pi#3744, pi#3797

45917

AI Chart Generation

Previously, AI Chart Generation responded only to direct chart creation prompts, such as: “Create a bar chart in the Bar category, using Department as the dimension and Number as the measure, from the TEST_AWS connection.”

This capability has now been enhanced to support a broader range of chart-related prompts. For example, users can ask which data connections are available and view the dimensions, measures and other data associated with a particular connection. They can then use the returned information to create a suitable chart.

The user’s conversation history is stored in the database and can be recalled unless they intentionally delete it by selecting Clear messages. The history remains available while the conversation is active. Messages that have not been updated for more than two hours are automatically deleted by a batch process that runs every hour.

image-20260806-121307.png

Added additional queries for accurate crosstab table averages

pi#3575

41042

Tables

Added additional queries for accurate crosstab table averages

pi#3575

41042

Tables

Regular tables currently run additional SQL queries to calculate accurate averages when an object’s select statement contains either a division operator (/) or the AVG() aggregate function, and the table column’s total type is set to Average.

This behaviour has now been introduced for crosstab tables, but currently applies only to row grand totals. Row subtotals and column totals continue to calculate averages using the existing method, without running additional SQL queries. Depending on the structure of the underlying data, this may produce inaccurate results.

The following example shows how a crosstab table calculated averages from the displayed table data before this change:

Screenshot 2026-08-06 at 13.10.16.png

Following this change, row grand total averages are calculated from the underlying data:

Screenshot 2026-08-06 at 13.13.27.png

The additional queries are shown in the chart debug panel. A warning is also displayed to explain that, for crosstab tables, this method currently applies only to row grand total averages:

Screenshot 2026-08-06 at 13.13.52.png

Added guardrail checks for AI features

pi#3723

 

AI Prompting Functionalities

Added guardrail checks for AI features

pi#3723

 

AI Prompting Functionalities

Guardrails have been added to AI Chart Search, AI Chart Generation and AI Report Summary. These guardrails detect inappropriate language, such as swear words, and ensure that the token limits for each AI feature are not exceeded.

image-20260806-122232.png

Added tool execution progress messages to the AI Chart Builder

pi#3753

 

AI

Added tool execution progress messages to the AI Chart Builder

pi#3753

 

AI

The Pi-AI MCP server provides several tools used by the AI Chart Builder. While these tools are running, status messages are now displayed beneath the loading icon in the Chart Builder chat, giving users greater visibility of progress.

Added native ARM support and a multi-architecture Docker image for Pirana

pirana#59

24971, 29802, 31185

Docker, ARM

Added native ARM support and a multi-architecture Docker image for Pirana

pirana#59

24971, 29802, 31185

Docker, ARM

We now provide a native ARM version of the Pirana Docker image, removing the need for emulation on ARM-based systems. The Pirana image is also now multi-architecture. From this release onwards, pulling the image will automatically retrieve the appropriate version for your system’s architecture.

Please consider this change if you pull, retag and host our images within your own infrastructure. Once pulled, the resulting local image is specific to that architecture and is no longer multi-architecture.

Improved loading icon timing

pi#3573

41495

Charts, Loading

Improved loading icon timing

pi#3573

41495

Charts, Loading

Several improvements have been made to the display and timing of loading icons while charts are being rendered:

  • Resolved an issue where the Category Objects panel could cause a chart’s loading icon to be removed prematurely.

  • Updated the loading icon logic so that the icon remains visible until immediately before the chart has finished rendering.

This means that visually complex charts containing large amounts of data, such as map charts, will continue to display a loading icon until they are ready to appear in the container.

Added a new Date/Time Filter category object

pi#3742, pi#3813

41539

Categories, Filtering

Added a new Date/Time Filter category object

pi#3742, pi#3813

41539

Categories, Filtering

A new Date/Time Filter category object has been added, enabling users to filter dashboard data using both date and time values. This provides more precise control when working with time-sensitive data and allows results to be narrowed to a specific period.

image-20260818-112137.png

 


Changes

Added a loading icon and progress message to AI Report Summary

pi#3768

 

AI Report Summary Page

Added a loading icon and progress message to AI Report Summary

pi#3768

 

AI Report Summary Page

Added a loading message and icon while an AI report summary is being generated. The AI Report Summary prompt is also no longer displayed.

image-20260805-120932.png

Added log warnings for missing tables during dashboard start-up

pi#3780

 

Dashboard logs

Added log warnings for missing tables during dashboard start-up

pi#3780

 

Dashboard logs

Recently removed database tables were incorrectly reported as missing in the logs during dashboard start-up. These obsolete tables have now been removed from the validation checks, preventing unnecessary warnings from being logged.

Updated analytics chart model SQL to use ranges instead of lists

pirana#68

36925

Pirana

Updated analytics chart model SQL to use ranges instead of lists

pirana#68

36925

Pirana

Previously, when creating and saving a model using the Analytics chart type, the generated SQL could use lists of individual values for comparisons, depending on the underlying data. The generated SQL now uses value ranges with the BETWEEN operator, resulting in more concise and efficient queries.

Example of generated SQL with previous implementation:

Screenshot 2026-08-12 at 16.03.22.png

Example of generated SQL with new implementation:

Screenshot 2026-08-12 at 16.03.13.png

Fixed locale settings not affecting AI Chart Generation response

pi#3794

 

AI Chart Generation

Fixed locale settings not affecting AI Chart Generation response

pi#3794

 

AI Chart Generation

AI Chart Generation responses now use the language associated with the user’s locale, regardless of the language used in the prompt. The example below shows AI-generated responses for a user whose locale is set to Japanese:

image-20260806-124114.png

Fixed charts not appearing in AI Chart Search for Chart Viewer users

pi#3797

45917

AI Chart Search

Fixed charts not appearing in AI Chart Search for Chart Viewer users

pi#3797

45917

AI Chart Search

A bug prevented charts from being displayed when Chart Viewer users performed an AI Chart Search, even when the search completed successfully. This issue has now been resolved, and matching charts are displayed as expected.

image-20260806-131517.png

Fixed JWT login via POST in embedded contexts

pi#3814

46227

CORS, Security, Embedding

Fixed JWT login via POST in embedded contexts

pi#3814

46227

CORS, Security, Embedding

The CORS security improvements introduced in the 2026_07 release caused issues when using JWT authentication through an initial POST request. This has now been resolved, with the /jwtLogin endpoint correctly inheriting the required CORS configuration.

Fixed an AI panel issue when displaying certain types of broken charts

pi#3800

 

AI

Fixed an AI panel issue when displaying certain types of broken charts

pi#3800

 

AI

Attempting to render a chart containing objects from a broken data connection could cause the AI panel to become unresponsive, requiring it to be closed before it could be used again. This issue has now been resolved.

Fixed Chart Builder and V3 API not being able to interact with Data Objects from Parent Connections

pi#3803

46125

AI

Fixed Chart Builder and V3 API not being able to interact with Data Objects from Parent Connections

pi#3803

46125

AI

Previously for Child Data Connections, any Data objects defined in the child itself would be returned via the V3 API and usable within the Chart Builder but those defined in the Parent would not. This has now been resolved.

Fixed duplicate speedometer dials and data values not updating when hovering over sparklines

pi#3799, pi#3806

 

Speedometer, Gauge Charts

Fixed duplicate speedometer dials and data values not updating when hovering over sparklines

pi#3799, pi#3806

 

Speedometer, Gauge Charts

When hovering over a sparkline value, speedometer charts incorrectly displayed two dials. In addition, neither speedometer nor power ring charts updated their central data value to reflect the selected sparkline point. Both issues were caused by structural changes to the chart configurations in a previous release and have now been resolved.

Restored Flex column handling

pi#3808

45973

Flex App Compatibility

Restored Flex column handling

pi#3808

45973

Flex App Compatibility

Last month, we removed code associated with the long-deprecated Flex application. We subsequently identified that charts created using certain Flex application configurations no longer rendered correctly. To restore compatibility, these changes have been reverted while a more comprehensive approach to addressing this technical debt is considered.

Improvements to SSH connection stability

pi#3795

 

SSH

Improvements to SSH connection stability

pi#3795

 

SSH

The health check used to monitor SSH tunnel connections has been updated to improve reliability. Port mappings are also now closed individually before the SSH tunnel is shut down, helping to ensure that associated resources are released cleanly.

Corrected the frequency of licence validation callbacks

pi#3791

45439

Automated License Manager

Corrected the frequency of licence validation callbacks

pi#3791

45439

Automated License Manager

Following recent licensing changes, callbacks to the ALM licensing service were occurring less frequently than intended. The callback and licence-caching behaviour has now been corrected. Existing XML-based licences are unaffected by this change.

Fixed overlapping values in exported Speedometer charts

pi#3601

40907

Speedometer Chart

Fixed overlapping values in exported Speedometer charts

pi#3601

40907

Speedometer Chart

Fixed an issue where the needle could obscure the data value in an exported Speedometer chart. This was most likely to occur when targets were configured and the short end of the needle overlapped the value.

Upgrades

pi#3765, pi#3766, pi#3786, pi-ai#30

44997, 44998, 45342, 45571

Upgrades

Upgrades

pi#3765, pi#3766, pi#3786, pi-ai#30

44997, 44998, 45342, 45571

Upgrades

  • pi#3766 - Upgrade Logback to v1.5.35

    • CVE-2026-9828

    • CVE-2026-10532

  • pi#3765 - Upgrade Grails to v7.2.1, Jackson Core to v2.22.1

    • CVE-2026-54515

  • pi#3786 - Upgrade Netty to v4.1.136

    • CVE-2026-59901

    • GHSA-mfg7-5gfp-c4w3

    • CVE-2026-55831

    • CVE-2026-55833

    • CVE-2026-56745

    • CVE-2026-56746

    • CVE-2026-59898

    • CVE-2026-59899

    • CVE-2026-59921

    • CVE-2026-59900

  • pi-ai#30 - Upgrade Spotless to v8.9.0

    • CVE-2026-39822

Schema Changes 

Tables

 

 

Tables

 

 

Added mis_ai_chat_memory table

migration#691