August 2025 - Dashboard Release Notes

August 2025 - Dashboard Release Notes

  • IMPORTANT NOTIFICATIONS

    • Scheme Changes - the release contains 2 schema changes

    • Upgrading - please read all release notes from the version you plan to upgrade from and to before you conduct an upgrade. Each release contains changes to functionality; therefore it’s worth being aware of these before your customers raise queries with you

    • Patch Release - due to an issue with adding new columns when introspecting large data sources through the Snowflake JDBC driver, we have issued a patch release (2025_08.1) today (12/09/25). This issue does not impact all customers, however we have opted to make the patch available now as a precautionary measure.

 

  • RELEASE HIGHLIGHTS


ADDED

 

User Permission - New Permission To 'Edit Organisation Variables'

pi#3092

 37223

Permissions

User Permission - New Permission To 'Edit Organisation Variables'

pi#3092

 37223

Permissions

The ability to ‘Edit Organisation Variables’ has been split into its own permission rather than being a part of ‘Edit Variables’. This is due to some upcoming features that will make use of Organisation Variables only and the need to provide additional options so those features can be ‘locked down’ more flexibly.

Upon upgrading, anyone who currently has the permission to ‘Edit Variables’ will also be granted this permission, meaning they retain the current behaviour and no additional configuration is required.

 

Widespread Temporary Chart Filters - Broader Operator Support For Categories

pi#3114

37516

Embedding / Filters

Widespread Temporary Chart Filters - Broader Operator Support For Categories

pi#3114

37516

Embedding / Filters

A new type of filter has been introduced which only works when adding it to the dashboard URL - meaning that this is specifically intended to be used for embedding.

Category Objects do not include all filter operators, whereas individual Temporary Chart Filters do, so we’ve added the ability to add Widespread Temporary Chart Filters once to a Category URL - this then is applied to every Chart in the Category, filling the gaps in the operators available within Category Objects.

Widespread Temporary Chart Filters are added as part of their own segment to the embedding URL, they come after the Category Object Filters, and before the hash which defines Filters relating to an individual Chart.

Here is an example of a URL containing a Category Object Filter, a (new) Widespread Temporary Chart Filter, and a regular Temporary Chart Filter.

http://localhost:8080/pi/?lang=en_GB#PA-CA%23%23%23category/116/c-o-p=116__0/*$*eq__[[Audit Filters]]{{$NULL$}}/ws-t-f-p=116__0/*$*starts__[[Audit Date]]{{15}}#CA-CH##chart-filter/346__5e7850ea-6179-4683-a8b5-09c4c8b7f292/t-f-p=eq__[[Category]]{{TypeA}}

The segment that defines the Widespread Temporary Chart Filters is ws-t-f-p=116__0/*$*starts__[[Audit Date]]{{15}} - the syntax ws-t-f-p= indicates that these are Widespread Temporary Filter parameters, and the filter criteria which follows mirrors the structure of the criteria required for category object filters, using /*$* as the delimiter between different filters, followed by the operator name (which now includes all operators not included in Category Object Filters such as starts and ends), followed by the data object in square brackets, and the value in curly brackets.

Multiple Widespread Temporary Chart Filters can be included per category.

If no Category Object Filters are required, you simply put the Widespread Temporary Chart Filter criteria as the first part in the URL, after the Category prefix, which is, in our example category/116/.

An example of a URL with multiple Widespread Temporary Chart Filters, and no Category Object Filters, would look like this.

http://localhost:8080/pi/?lang=en_GB#PA-CA%23%23%23category/116/ws-t-f-p=116__0/*$*starts__[[Audit Date]]{{15}}/*$*ends__[[Audit Date]]{{25}}

All Widespread Temporary Chart Filters applied to the URL will appear within the Temporary Chart Filter panel for every Chart in the Category. If we use our second example URL, the Temporary Chart Filter panel will look like this.

Screenshot from 2025-08-19 10-38-58.png

Widespread Temporary Chart Filters sit just below regular Temporary Chart Filters in the filter hierarchy.

The filter hierarchy means that, if you are filtering on the same data object between different filter types, filters on filter types higher in the hierarchy will be applied, and filters lower in the hierarchy will be negated. The current hierarchy of filter types is as follows:

  • parent filters > regular temporary chart filters > (new) widespread temporary chart filters > drill filters > category object filters > chart filters.

This means that drill filters, category object filters and chart filters will not apply on the same object that exists in a widespread temporary chart filter. And that regular temporary chart filters and parent filters will override widespread temporary chart filters on the same object.

 


 

CHANGES

 

Scheduled CSV Exports - When Saving To A Directory

scheduler#105

36854

Scheduling, CSV Exports

Scheduled CSV Exports - When Saving To A Directory

scheduler#105

36854

Scheduling, CSV Exports

Addressed two issues related to CSV exports within a Schedule when saving to directory:

  • If the ‘data’ checkbox was checked, the CSV would not be saved to the directory but would be attached to the email

  • If the ‘data’ checkbox was unchecked, the CSV would be saved to the directory correctly but the CSV file attached to the email would be corrupted

Schedule Attachments - Unable To Save To Directory Without Specifying A Subdirectory

pi#3003

36533

Scheduling

Schedule Attachments - Unable To Save To Directory Without Specifying A Subdirectory

pi#3003

36533

Scheduling

Despite having a default directory if not specified of ‘schedule_files’, the setting to download Schedule exports to a directory in addition to the email attachment would be unchecked on save unless a subdirectory was also specified.

Manual Schedule Button - Disabled On Suspended Schedules

pi#3170

 -

Scheduling

Manual Schedule Button - Disabled On Suspended Schedules

pi#3170

 -

Scheduling

Manual Schedules are only able to be created for active Schedules. Previously, if you attempted to create one on a suspended Schedule an error would have been raised (this is consistent with other restrictions on the functionality) but now the button has been disabled as well.

Logging - Removed Data Connection URL From ERROR Level Logging

pi#3109

36397

Data Connections, Logging

Logging - Removed Data Connection URL From ERROR Level Logging

pi#3109

36397

Data Connections, Logging

Some Data Connections have sensitive information within their URL so this will no longer be logged at the ERROR level if an exception occurs whilst trying to load a JDBC driver for a connection. The name of the Data Connection will be logged instead alongside the JDBC driver class path and the exception itself. The URL will still be logged at the DEBUG level to facilitate short-term, targeted investigations of connection issues.

Colour Picker - Unable To Close Panel For Targets By Clicking Away

pi#3133

 -

Colour Picker / Targets

Colour Picker - Unable To Close Panel For Targets By Clicking Away

pi#3133

 -

Colour Picker / Targets

Other instances of the Colour Picker panel will close if you click away from the panel, however this was not the case for Targets - therefore we have amended this to respond consistently and be closed when clicking away occurs.

SSH Tunnel - Port Forwarding - Variables Now Enabled

pi#3105

35654

SSH Tunnel / Ports

SSH Tunnel - Port Forwarding - Variables Now Enabled

pi#3105

35654

SSH Tunnel / Ports

To provide more flexibility and the ability to have multiple port mappings for a single SSH tunnel, these now support variables. You cannot use variables on the tunnel setting themselves but the port mapping fields now support them. This means that if for example you had a single tunnel but different users with a different database, they would be able to now have that controlled by variable.

image-20250731-211444.png

 

API - Incorrect Responses When Querying Reports

pi#3171

 38174

Reports, API

API - Incorrect Responses When Querying Reports

pi#3171

 38174

Reports, API

Incorrect API response were being generated in some occasions when querying for reports using the API.

Having No Default Theme And No User Theme Prevented User Access

pi#3177

 -

Themes / Logging In

Having No Default Theme And No User Theme Prevented User Access

pi#3177

 -

Themes / Logging In

When a user did not have a theme set, and a global default theme had not been set for the entire dashboard, the dashboard would prevent that user from being able to login to the dashboard.

Library Upgrade - 7-Zip - Version 25.01

pi#3153

 -

Scheduling, Vulnerabilities

Library Upgrade - 7-Zip - Version 25.01

pi#3153

 -

Scheduling, Vulnerabilities

The version of 7-Zip used by The Scheduler to encrypt attachments has been updated to the latest version to resolve CVE-2025-55188.

Library Upgrade - Tomcat - Version 9.0.108

dd#125

 -

Tomcat, Vulnerabilities

Library Upgrade - Tomcat - Version 9.0.108

dd#125

 -

Tomcat, Vulnerabilities

Apache Tomcat has been updated to 9.0.108 to resolve CVE-2025-48989

Library Upgrade - Java - Version 17.0.16+8

java#1

 -

Java, Vulnerabilities

Library Upgrade - Java - Version 17.0.16+8

java#1

 -

Java, Vulnerabilities

Java has been updated to 17.0.16+8 to resolve CVE-2025-30749, CVE-2025-50106 and CVE-2025-50059

 


 

SCHEMA CHANGES

Description

GitLab Reference(s)

ZenDesk Ticket ID(s)

Description

GitLab Reference(s)

ZenDesk Ticket ID(s)

Added - ‘edit_org_variables’ to both mis_users and mis_roles

pi#3092

37223

Changed - mis_data_sources.ssh_target_port and mis_data_sources.ssh_local_port converted to varchar(200) to support variables

pi#3105

35654