Appanvil karma designer | ||||
---|---|---|---|---|
|
Table of Contents | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Customer Request tickets are highlighted with the 🗣️ icon
The 2024_11 release contains x7 Schema changes
Warning |
---|
EDITOR NOTE - INFORMATION TAKEN FROM DEV RELEASE NOTES AT 09:45 ON - VALIDATE NO ADDITIONAL CHANGES SINCE, BEFORE THESE ARE RELEASED |
NEW FEATURES
System & Magic Variables - Financial Periods Starting Month & New Financial Magic Variables 🗣️ | pi#2567 | 31388 & 32934 | System & Magic Variables | ||||||
---|---|---|---|---|---|---|---|---|---|
A new system variable `START_OF_FINANCIAL_YEAR_MONTH` has been introduced to the dashboard that defines a month in which a financial year begins. This variable can be set in the Global Variables tab, within the Dashboard Setting screen; The new field represented the the starting month from which the Financial Year will begin, accepting values from 1 to 12, where the value of 1 represents January and 12 for December. This `START_OF_FINANCIAL_YEAR_MONTH` System Variable will drive the values available in the new ‘Financial’ tab in the popup panel, for the date range category object type.
The month name in ‘Your Financial Periods run from xx’ can be translated by adding its translated value to the The ‘From’ and ‘To’ for the selected option (e.g. ‘This Quarter’, ‘Next Year’) will be calculated based on the entry for `START_OF_FINANCIAL_YEAR_MONTH`. For example, if you enter 5 (May) for `START_OF_FINANCIAL_YEAR_MONTH` then 'Next Year' will be From: 2025-05-01 to 2026-04-30. The same calculations for variable replacement based on `START_OF_FINANCIAL_YEAR_MONTH` definition can also be accessed by using the new financial magic variables:
|
Observability - JAVA Agent for Application Monitoring 🗣️ | pi#2370 | - | Observability |
---|---|---|---|
Added an option to enable Java Agent in order to collect and export telemetry data (metrics, traces, logs) for observability and performance monitoring. Further information and examples of the setup can be found in the following link - Monitoring - Using Java Agent. The Java Agent can be enabled in two way, either through the Configuration-Tool-GUI or by Environment Variables. Environment Variables Java Agent can be configured through the following environment variables:
Find more info about the new environment variables - /wiki/spaces/DEV/pages/2010218497 Configuration Tool This can also be configured using configuration-tool gui: |
Data Connections - SSH Tunnel 🗣️ | pi#2461 | 29388 | Data Connections |
---|---|---|---|
A new tab has been added to the data connections screen that allows you to configure an SSH Tunnel. It includes:
If the checkbox is checked, and any fields are missing, you will not be allowed to save the data connection, and will be presented with a warning on the inputs which are missing. If the connection is successful, and you are using the SSH tunnel, an additional indicator will be included on the details tab to confirm this. You can only have one SSH tunnel per data connection. And each tunnel port must be unique to the system. The SSH tunnel will be instantiated on data connection save, and will persist until you save it again with the box un-checked. A tunnel will also be created briefly upon introspection. All relevant tunnels will also be created on system start up. All of these fields have been added to the API for you to set. A thread will run in the background every 10 minutes to check for any closed connections, and re-open them again if they have failed. You can set the ssh private key with a global variable, this is the only variable support we currently have for this feature. Only secure variables are supported. |
Data Connections - Dynamic Drivers (ClickHouse & SQLite) 🗣️ | pi#2617 | 32543 | Data Connections |
---|---|---|---|
We are making Initial steps towards moving away from bundling all of the supported drivers, and instead having many of them be downloaded only for those who are using them. This functionality has initially only been applied to the ClickHouse and SQLite JDBC drivers in this release - further changes around this will be included in future release notes. Alongside the existing/original driver directories, we have introduced a new directory called ‘dynamic_drivers’. This new directory contains a JSON file that holds details related to the supported versions of the aforementioned drivers - in the example below, we have used ClickHouse; This block of JSON code, details the files that are needed when using a connection via the listed Driver Class Path. In this example, both the JDBC JAR and an accompanying compression library. The dynamic downloading of these files occurs if they do not already exist in the ‘dynamic_drivers/com.clickhouse.jdbc.ClickHouseDriver’ directory or fail validation checks due to a SHA-256 mismatch:
|
Authentication - SAML Login - Ability To Use Usercode Rather Than Email & Option To Define Custom Claim Name 🗣️ | pi#2618 | 32145 | System Variables / SAML Login | ||
---|---|---|---|---|---|
Previously, a hardcoded default was used for the email claim name that would attempt to link a SAML login response and a Dashboard user. This default ‘XMLSoap’ value will still be used as a last resort but you now have the ability to define a custom email claim name in the SAML section of the Global Variables screen. Additionally, there is also a field for a custom Usercode claim name which rather than attempting to match to a user’s email address will match based upon their Dashboard Usercode (Username). If the usercode claim name is defined or the default (see below) manages to extract a value from the SAML response then the Email claim will be ignored even if provided. The defaulting behaviour of these claims is as follows: Usercode:
Email:
|
Embedding - Add Temporary Category Objects Via A Post Message | pi#2667 | - | Embedding / Category Objects | ||||
---|---|---|---|---|---|---|---|
When users are embedding a Category, we have added the ability to add temporary category objects via a post message. Below is an example HTML and JS file you would use to configure this.
Considerations
|
DevOps - Support For Branched Content (BETA) | pi#2701 | - | DevOps | ||
---|---|---|---|---|---|
As part of our drive to support infrastructure as code, and dev ops ways of working, we have added the ability to create a branch of a full setup including connection, categories, charts etc. Once created, you can use import-export to migrate live content into this isolated environment and work on it, then extract it again later to move to production.
|
Logging - Scheduler Logs - Option To Output To JSON Format | scheduler#76 | - | Logging | ||
---|---|---|---|---|---|
You can now have the Scheduler log in JSON format. This can be achieved by checking the JSON Format box in the Configuration-Tool GUI, or by setting the SCHEDULER_LOGGING_JSON Environment Variable to true. This setting, the other logging settings, and the JWT Key Path setting have also been added to the Configuration-Tool GUI. - Default level changed to INFO Default level changed to INFO
|
Logging - Pirana Logs - Option To Output To JSON Format | pirana#42 | - | Logging |
---|---|---|---|
You can now have the Pirana log in JSON format. This can be achieved by checking the JSON Format box in the Configuration-Tool GUI, , or by setting the PIRANA_LOGGER_JSON Environment Variable to true. You can also now successfully set the appropriate log level, with it defaulting to INFO. You can use the You can set the |
Logging - Enhanced Logging Around Domain Classes Failing To Save | pi#2478 | - | Logging |
---|---|---|---|
In rare and unforeseen scenarios, an exception can occur when attempts to save a domain class to the Dashboard Repository fails, despite passing validation checks. Additional handling and logging has been introduced to help diagnose these rare issues should they reoccur. |
Auditing - Enhanded Logging Of Modifications Made To Data Connections, Categories & Charts | pi#2472, pi#2611, pi#2612 | - | Auditing | ||
---|---|---|---|---|---|
New columns have been added to the database, to track the last update time and the user responsible for modifications to data connections, categories, and charts.
|
CHANGES
Organisations - Feature Enabled For All 🗣️ | pi#2639 | - |
---|
Pirana
To remove several OS package vulnerabilities in the Pirana container we have updated to the latest stable Debian build - bookworm.
Upgrade - Spring Framework Upgraded To 5.3.39 🗣️
pi#2630
32887
Framework
To resolve vulnerability CVE-2024-38808, the Spring Framework has been upgraded to 5.3.39
Library Upgrade - Go Upgraded To 1.23.1 🗣️
pi#2629, pi#2631, pi#2632
32878, 32888, 32889
Library
Go has been upgraded to version 1.23.1 to resolve the following vulnerabilities: CVE-2024-34158, CVE-2024-34155, CVE-2024-34156.
Drill To API - Removed from BETA Mode 🗣️
pi#2639
ZenDesk
Drill To API
Removed ‘Beta’ mode from Drill to API chart type.
Browser Single Chart Word Export - Removed from BETA Mode 🗣️
pi#2678
ZenDesk
Exporting - Word
Our greatly enhanced, rebuilt word exports for single charts have been enabled by default in this release. If you experience any issue please let us know, for a limited time you can switch back to the old mode by using the beta flag OLD_WORD_EXPORT.
Organisations - Feature Now Enabled For All 🗣️
pi#2639
-
Organisations
Our multi-tenancy organisations feature has been enabled for all users. If you are unsure of the implications reach out to us for assistance.
Tomcat Settings - Improved Default Settings 🗣️
pi#2668
ZenDesk
Performance
Organisations | |||
---|---|---|---|
Our multi-tenancy Organisations feature has now been enabled for all users, however unless you specifically add a new Organisation to your dashboard, you will not notice this change. Utilising Organisations can be a significant change, and therefore before doing so, we’d encourage you to reach out to your Customer Success Manager to discuss how we can best support you on this transition, so that we understand your use case and provide you with the best possible advice on how to achieve this using the Organisations feature. |
Tomcat Settings - Improved Default Settings 🗣️ | pi#2668 | - | Tomcat / Performance |
---|---|---|---|
Based on load testing we’ve updated some of our default settings for Tomcat to ones we believe will offer better out-of-the-box performance in many cases. Particularly important is the max threads setting (PI_TOMCAT_MAX_THREADS which defaults to 50), if your usage is heavily CPU-bound you may improve performance by lowering that which reduces the amount of work being handled concurrently. If your usage is heavily IO-bound; for example waiting for database queries to complete you may improve performance by raising that setting, increasing the amount of work being handled concurrently. We believe the new defaults will perform better for many people but you are are able to override those if you prefer the old or any other valuesor any other values. |
Removed from BETA Mode - Drill To API Chart Type 🗣️ | pi#2639 | - | Drill To API |
---|---|---|---|
Removed ‘Beta’ mode from the ‘Drill to API’ chart type. |
Removed from BETA Mode - Browser Single Chart Word Export 🗣️ | pi#2678 | - | Exporting - Word |
---|---|---|---|
Our greatly enhanced, rebuilt word exports for single charts have been enabled by default in this release. If you experience any issue please let us know, for a limited time you can switch back to the old mode by using the beta flag OLD_WORD_EXPORT. |
Upgrade - Pirana Container Base Image Upgraded To Debian Bookworm🗣️ | pirana#55 | - | Pirana |
---|---|---|---|
The Pirana container has been updated to the latest stable Debian build (bookworm), so address several OS package vulnerabilities. |
Upgrade - Spring Framework Upgraded To 5.3.39 🗣️ | pi#2630 | 32887 | Framework |
---|---|---|---|
The Spring framework has been updated to 5.3.39, to address the CVE-2024-38808 vulnerability. |
Upgrade - Go Upgraded To 1.23.1 🗣️ | pi#2629, pi#2631 & pi#2632 | 32878, 32888 & 32889 | Library |
---|---|---|---|
The Go libraries have been updated to 1.23.1, to address the following vulnerabilities: CVE-2024-34158, CVE-2024-34155 & CVE-2024-34156. |
Upgrade - SQLite Upgraded To 3.46.1.3 🗣️ | pi#2617 | ZenDesk- | Drivers | Upgraded from Driver | ||
---|---|---|---|---|---|---|
The SQLite driver has been updated to 3.3446.21.1 3 to resolved some vulnerabilities. Please be aware, address several vulnerabilities.
|
Upgrade - Tomcat Upgraded To 9.0.97 🗣️ | pi#2764 | 34018 & 34047 | Tomcat |
---|---|---|---|
Tomcat upgraded has been updated to 9.0.97, to resolve address the CVE-2024-52316 vulnerability. |
Upgrade - MySQL Driver Upgraded To 8.4.0 🗣️ | pi#2763 | 34019 | Drivers |
---|---|---|---|
The MySQL JDBC driver upgraded has been updated to 8.4.0, to resolve CCVEaddress the CVE-2023-22102 vulnerability. |
Upgrade - Tomcat Embed Library To 9.0.91🗣️ | pi#2554 | 32261 | Tomcat |
---|---|---|---|
The Tomcat Embed library has been updated to 9.0.91, to address a vulnerability. |
Roundingissue with specific values that aren’t correctly handled byIssue - Specific Values Not Correctly Handled By JavaScript 🗣️ | pi#2640 | ZenDesk- | Tooltips /Data Labels |
---|---|---|---|
Resolved an issue in regards to tooltips and data labels on charts where certain values would not correctly round up. I.e. 0.15, Tooltips and Data Labels were showing incorrect values, on certain values that had not been rounded correctly. For example, 0.15 (when 1 decimal was applied, ) would round to 0.1 instead of 0.2. This is was due to underlying behaviour with the JavaScript language itself. This , which has been resolved, and any . Any edge cases of 0.5s rounding down instead of up have been fixedaddressed. |
Card Charts - Auto Scaling Not Respecting Bullet Points 🗣️ | pi#2641 | 32893 | Card Charts |
---|---|---|---|
Fixed a bug where auto scaling did not work with bullet points with card charts. Previously, they would spill over the edge of the chart, now, they fit as normal. Before: After:
|
Organisation - User & Role Variables Not Being Replaced Correctly In Schedules 🗣️ | scheduler#92 | 32186 | Organisations |
---|---|---|---|
The variable types listed above should now be correctly replaced in a Schedules Subject and Body fields as well as within any Reports and Exports attached to the Schedule. |
Category Objects - Using ‘Search’ Functionality When Translations Are Used 🗣️ | pi#2662 | 33333 | Category Objects |
---|---|---|---|
When applying i18n translations to category objects, the search functionality will now operate on translated values rather than the base language. This will also apply to the chart and category names in the chart library. |
X-Axis values truncating based upon non-translated values and displaying as untranslated 🗣️ | pi#2595 | 32559 | Translations |
---|---|---|---|
The non-translated value of x-axis values on numerous charts were being used to determine whether or not the value should be truncated. In the cases were truncation occurred, the truncated version of the non-translated value would also be displayed rather than the translated value. These issues have been resolved. |
Schedules ‘process_date’ being set to current time when upgrading 🗣️ | scheduler#69 | 27871 | Scheduling |
---|---|---|---|
It was previously possible for the ‘process_date’ of a Schedule Job to be erroneously set to the current time during an upgrade from any version prior to 2023_02. The migration that could cause this has been identified, modified to resolve the issue, and a more robust fix to remove this behaviour has also been implemented (check Schema Changes section below for details) |
Admin Subscriber unable to edit certain permissions 🗣️ | pi#2722 | ZenDesk- | Permissions |
---|---|---|---|
The following permissions are not relevant for a Subscription and therefore were not able to be set when creating one:
This combined with the inability to edit permissions on other user’s that you do not have meant that a Subscribed Admin would be unable to set these values for a 'Main’ user. Now, rather than hiding these permission when dealing with a Subscription they are shown with a warning icon and tooltip addition explaining that whilst they are not relevant to the Subscription they will dictate that Subscription’s ability to edit those permissions on Users they can manage within that Organisation. |
Upgrade - Tomcat Bmbed Library To 9.0.91🗣️
pi#2554
32261
Tomcat
. |
Card Charts - Vertical Alignment Broken When Auto Scaling Is Enabled 🗣️ | pi#2576 | 30870 | Card Charts |
---|---|---|---|
Previously, there was a bug where the vertical alignment option on card charts wouldn’t work if auto scaling had been turned off. This has now been fixed. |
Category Objects - Extra white space on top category object panel 🗣️ | pi#2578 | 31662 | Category Objects |
---|---|---|---|
Previously, there was an unnecessary amount of additional white space within the category object panel when it was pinned to the top of the category. Now, so long as you do not have one of the following filter types: Checkboxes, Images or Sliders - the panel will vertically shrink to reduce the white space. |
Session not being overridden when logging in with a new user via JWT login🗣️ | pi#2616 | 32025 | Authentication |
---|---|---|---|
Previously, when attempting to log in with a JWT, when a already logged in with a user on the same browser, the dashboard would disregard the new attempt at logging in and retain the session of the previous user. Now, whether you’ve already logged in via a JWT or other means, as soon as you log in with a 2nd user, the 1st user’s session will be overridden. |
Linux - Upgrade Sript Adjustment For Tomcat Versions 8+ 🗣️ | deployment#110 | - | Upgrading |
---|---|---|---|
Fixed upgrade_dashboard.sh script to make sure it accepts Tomcat in versions 8 or higher. This check is used to make sure the dashboard is in a valid state to be upgraded. |
Data Connection import/export when tables have text color defined but not background color 🗣️ | pi#2657 | 33087 | Data Connections / Import & Export |
---|---|---|---|
Resolved an issue with the data connection import/export functionality. Previously, if a table had color filters defined with text color set but no background color specified, exporting the data connection would omit this filter in the original JSON file. As a result, upon import, it would be detected as a change from the original content and it would override the existing color filter within the table. |
Importing a data connection into a child organisation 🗣️ | pi#2654 | 33176 & 33192 | Data Connections / Import & Export |
---|---|---|---|
Fixed an issue where the user was not able to import a data connection into a child organisation due to incorrect data source item being resolved. This now takes into consideration orgId and also user’s access to the parent data connection if the child data connection is being imported. |
Dashboard Repository - Default User For Schema Tables 🗣️ | pi#2693 | ZenDesk- | Data Connections |
---|---|---|---|
Fixed an issue where the dashboard repository user defaulted to ROOT. It has been updated to use pi_repos_use, a user with 'read' privileges only, to restrict unnecessary access to information schema tables. |
NULLS not appearing in SQL when drilled from a chart on null values 🗣️ | pi#2719 | ZenDesk- | Drill Down |
---|---|---|---|
Previously, drilling down on null values in the chart did not include the null value in the SQL query, causing the chart to display all values upon drilldown. Now, when drilling into null values, the null value is correctly added to the URL hash with the appropriate operator, ensuring the SQL query resolves accurately. |
Exporting in single chart mode when theme falls back to default theme 🗣️ | pi#2754 | ZenDesk- | Exporting |
---|---|---|---|
Previously, browser single-chart exports failed when the dashboard fell back to the default theme because it couldn’t correctly resolve the logo image. This issue could occur, for instance, if the existing theme had been deleted. This has now been resolved with improved error handling, ensuring that if the default theme is used, the dashboard can successfully include the default logo in the export file. |
Schema Changes
Remove ‘on update’ behaviour of pi_schedule_jobs ‘process_date’ column | scheduler#69 |
|
|
‘updatedAt’ and ‘updatedBy’ columns added to mis_categories, mis_defined_charts and mis_data_sources tables | pi#2472, pi#2611, pi#2612 |
|
|
'orgType' column added to mis_organisations | pi#2621 |
|
|
category_id index added to mis_definedCharts | pi#2712 |
|
|
schedule_id index added to pi_schedule_attachments | pi#2713 |
|
|
Changed the default value from ‘0000-00-00 00:00:00’ to ‘2000-01-01’ for:
| migration#58 |
|
|
Removed timestamp “on update” behaviour from:
| migration#58 |
|
|