Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Appanvil karma designer
summary Dashboard Release January 20252025_01 BackUp & Restore     Download Now     Ken Miller CTO I'm pleased to share with you our latest dashboard release, pi.2025_01 which is available to download now.In this release, we've taken the opportunity to As always, have a read through the notes in full to learn of all the changes before you upgrade, just to make sure its right for you and your end users. Highlights - Item 1- Item 2- Item 3 5 New Features 47 Changes 3 Schema Changes 2 Notifications
page{"premium":true,"id":"FMkTud2JrHXMpzIylO0bD","name":"page","children":[{"name":"section","params":{"backgroundSize":"cover","gap":10,"background":"#2d2f4cd4","padding":8,"image":{"value":"https://images.unsplash.com/photo-1491582325207-80d06869fb3d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwzMzg3MzF8MHwxfHNlYXJjaHwxMnx8bmV3JTIweW9ya3xlbnwwfDB8MXxibGFja19hbmRfd2hpdGV8MTY2MjEyNDU2MA&ixlib=rb-1.2.1&q=80&w=1080","target":"_self","type":"link"}},"children":[{"children":[{"children":[{"name":"text","children":[],"params":{"value":[{"type":"paragraph","children":[{"letterSpacing":0,"fontSize":20,"fontWeight":700,"fontFamily":"Poppins, sans-serif","text":"","lineHeight":"10px","color":"#ffffff"}]}]},"id":"rNX3qXaG8Q4ewjRCBgZcx"},{"params":{"value":[{"type":"paragraph","children":[{"text":"Dashboard Release ","letterSpacing":0,"fontWeight":700,"fontFamily":"Poppins, sans-serif","color":"#ffffff","lineHeight":"90px","fontSize":64}]}]},"children":[],"name":"text","id":"nr3C5FnGCNgZlayR21QHV"},{"children":[],"params":{"value":[{"type":"paragraph","children":[{"children":[{"fontFamily":"Poppins, sans-serif","letterSpacing":0,"text":"January 2025","lineHeight":"unset","color":"#ffffff","fontSize":24,"fontWeight":700}],"type":"paragraph"},{"type":"paragraph","children":[{"fontFamily":"Poppins, sans-serif","letterSpacing":0,"lineHeight":"unset","color":"#ffffff","text":"2025_01","fontSize":16}]}]}]},"name":"text","id":"DmpJb_rO3Qj4l9Aj66HdK"},{"name":"divider","params":{"templateId":"solid long","color":"#ef5693","alignment":"start","fontSize":24,"fontColor":{"light":"#000000","dark":"#ffffff"},"height":1,"borderStyle":"solid"},"children":[],"id":"TAZcq3EgP-1KdJ2bsdXuE"},{"name":"button","params":{"templateId":"regular button","label":"BackUp & Restore ","size":"medium","shape":"circular","alignment":"start","states":{"idle":{"colors":{"background":"#1181F8"}},"hover":{"colors":{}}},"link":{"value":"https://panintelligence.atlassian.net/wiki/spaces/PD/pages/376307765/Backup+and+Restore+of+the+Dashboard","target":"_blank","type":"link"}},"children":[],"id":"hfpGR1FJxGFfePSJR4g7T"},{"name":"button","params":{"templateId":"regular button","label":"   Download Now    ","size":"medium","shape":"circular","alignment":"start","states":{"idle":{"colors":{"background":"#1181F8"}},"hover":{"colors":{}}},"link":{"value":"https://panintelligence.atlassian.net/wiki/spaces/PD/pages/1258652085","target":"_blank","type":"link"}},"children":[],"id":"ImDnaOMj9XpCxaDqyPZPk"}],"params":{"verticalAlignment":"center","borderRadius":{"btl":0,"btr":0,"bbl":0,"bbr":0,"all":0,"isIndividualCorners":false},"padding":0,"gap":20},"name":"column","id":"jm4mo6d7GzYx3hUB4l-F0"},{"name":"column","children":[],"params":{"gap":20,"padding":0,"borderRadius":{"isIndividualCorners":false,"all":0,"bbl":0,"bbr":0,"btr":0,"btl":0},"verticalAlignment":"center"},"id":"yBKq_7TPH5d1DV8hFdhLu"},{"children":[],"name":"column","params":{"gap":20,"padding":0,"verticalAlignment":"center","borderRadius":{"bbl":0,"all":0,"btl":0,"bbr":0,"btr":0,"isIndividualCorners":false}},"id":"fH6MHBuk3I0R4it7BRCGP"},{"children":[],"params":{"verticalAlignment":"center","borderRadius":{"btl":0,"bbl":0,"bbr":0,"isIndividualCorners":false,"all":0,"btr":0},"padding":0,"gap":20},"name":"column","id":"_FPGEp6mQPRJJvPIB6VPD"},{"name":"column","params":{"borderRadius":{"bbr":0,"isIndividualCorners":false,"btl":0,"all":0,"btr":0,"bbl":0},"verticalAlignment":"center","gap":20,"padding":0},"children":[],"id":"mJWfn1yDf0yleGusTvyDV"},{"name":"column","params":{"verticalAlignment":"center","gap":20,"borderRadius":{"bbl":0,"btr":0,"bbr":0,"all":0,"btl":0,"isIndividualCorners":false},"padding":0},"children":[],"id":"3WBEHbIwEeCHcL3oWU6bg"}],"name":"row","params":{"gap":100,"padding":10,"minHeight":200,"borderRadius":0,"layout":[1]},"id":"mbQy4dSTfKlyYK-9k0_SM"}],"id":"AazdKjV1KYMbgvQPAld6a"},{"id":"iPYoTT8UrrUFlXqDlVg1m","params":{"background":"#ffffff","padding":36,"gap":10},"children":[{"id":"HaE0KXsm3rDEJhjTV7Mjx","name":"row","children":[{"id":"VaA-Y-CIV4m2ogQe_Sqmo","name":"column","children":[{"name":"image","params":{"alignment":"center","height":400,"position":"center center","borderRadius":{"all":5,"bbl":0,"bbr":0,"btl":0,"btr":0,"isIndividualCorners":false},"image":{"value":"att1673265190","target":"_blank","type":"attachment"}},"children":[],"id":"T2bXrsdBHviCyZtS2HZvV"}],"params":{"borderRadius":{"all":0,"btl":0,"bbl":0,"btr":0,"bbr":0,"isIndividualCorners":false},"padding":0,"gap":10,"verticalAlignment":"center"}},{"id":"0HIQC86K7mXpaQnPu4lsM","name":"column","children":[{"name":"text","params":{"value":[{"type":"paragraph","children":[{"text":"Ken Miller","letterSpacing":0,"fontWeight":600,"fontSize":28,"color":"#2c2c2c"}],"align":"left"}]},"children":[],"id":"pHAKnX_bCCwJ0kzgKbWXi"},{"name":"text","params":{"value":[{"type":"paragraph","children":[{"text":"CTO ","letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18}],"align":"left"}]},"children":[],"id":"l_VOVkhnKQUZUw-ve2Wf0"},{"name":"text","params":{"value":[{"type":"paragraph","children":[{"type":"paragraph","children":[{"lineHeight":"24px","letterSpacing":0,"text":"I'm pleased to share with you our latest dashboard release, ","fontFamily":"unset","fontSize":16,"color":"#555555"},{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"fontWeight":700,"text":"pi.2025_01 ","color":"#ef5693"},{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"text":"which","color":"#555555"},{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"color":"#000000","text":" "},{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"text":"is available to download now.","color":"#555555"}],"align":"left"},{"type":"paragraph","align":"left","children":[{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"color":"#555555","text":""}]},{"type":"paragraph","align":"left","children":[{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"color":"#555555","text":"In this release, we've taken the opportunity to "}]},{"type":"paragraph","align":"left","children":[{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"color":"#555555","text":""}]},{"type":"paragraph","align":"left","children":[{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"color":"#555555","text":"As always, have a read through the notes in full to learn of all the changes "},{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"color":"#555555","text":"before","fontWeight":700},{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"color":"#555555","text":" you upgrade, just to make sure its right for you and your end users."}]}]}]},"children":[],"id":"3yPpnPcG9Ua1cMKx_-oPx"},{"name":"button","params":{"label":"","size":"medium","shape":"circular","alignment":"start","states":{"idle":{"colors":{"background":"#414141","label":"#ffffff"}},"hover":{"colors":{"background":"#000000","label":"#ffffff"}}},"icon":"linkedin-in","link":{"value":"https://www.linkedin.com/in/ken-miller-bb77975/?originalSubdomain=uk","target":"_blank","type":"link"}},"children":[],"id":"YkQiC1UEdSABfAG30yCAE"}],"params":{"borderRadius":{"all":0,"btl":0,"bbl":0,"btr":0,"bbr":0,"isIndividualCorners":false},"padding":0,"gap":10,"verticalAlignment":"center"}},{"id":"zQPv9B1ZIKSgIEL2-TqyZ","name":"column","children":[{"name":"image","params":{"alignment":"center","height":300,"position":"top center","borderRadius":{"all":5,"bbl":0,"bbr":0,"btl":0,"btr":0,"isIndividualCorners":false},"image":{"value":"att1698562062","target":"_blank","type":"attachment"}},"children":[],"id":"HC2565mrpH6QIPWrXG9rq"}],"params":{"borderRadius":{"all":0,"btl":0,"bbl":0,"btr":0,"bbr":0,"isIndividualCorners":false},"padding":0,"gap":10,"verticalAlignment":"center"}},{"id":"uFI2qIqzCdlp4soZcoFKh","name":"column","children":[{"name":"text","params":{"value":[{"type":"paragraph","children":[{"text":"Highlights","letterSpacing":0,"fontWeight":600,"fontSize":28,"color":"#2c2c2c"}],"align":"left"}]},"children":[],"id":"StFraL4oyQVb2F1-fMUdr"},{"name":"text","params":{"value":[{"type":"paragraph","children":[{"type":"paragraph","children":[{"text":"- Item 1","letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18}],"align":"left"},{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":"- Item 2"}]},{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":"- Item 3"}]},{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":""}]},{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":""}]},{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":""}]},{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":""}]},{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":""}]},{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":""}]},{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":""}]}]}]},"children":[],"id":"lDEf-U_uv7DU3v6czqDnR"},{"name":"spacer","params":{"space":10},"children":[],"id":"iLlGX7VLo5DPMdB15Nsu8"},{"name":"spacer","params":{"space":10},"children":[],"id":"CEa3nvn4dCUclBcV0LcGx"}],"params":{"borderRadius":{"all":0,"btl":0,"bbl":0,"btr":0,"bbr":0,"isIndividualCorners":false},"padding":0,"gap":10,"verticalAlignment":"center"}},{"id":"6IYCbdH0yACltgbuUqUsV","name":"column","children":[],"params":{"borderRadius":{"all":0,"btl":0,"bbl":0,"btr":0,"bbr":0,"isIndividualCorners":false},"padding":0,"gap":10,"verticalAlignment":"center"}},{"id":"TC07p_TJiJqkld5i-FtRF","name":"column","children":[],"params":{"borderRadius":{"all":0,"btl":0,"bbl":0,"btr":0,"bbr":0,"isIndividualCorners":false},"padding":0,"gap":10,"verticalAlignment":"center"}}],"params":{"layout":[1,1,1,1],"gap":35,"minHeight":200,"padding":10,"borderRadius":0,"size":"full"}}],"name":"section"},{"params":{"background":"#393d4f","gap":10,"padding":0},"name":"section","children":[{"children":[{"name":"column","children":[{"name":"card","children":[{"children":[],"params":{"value":[{"children":[{"color":"#6fceb4","fontFamily":"Montserrat, sans-serif","fontWeight":700,"text":"5","fontSize":54}],"type":"paragraph","align":"center"}]},"name":"text","id":"x8h3JtbaitH4rONaExd2J"},{"children":[],"name":"text","params":{"value":[{"children":[{"text":"New Features","fontSize":20,"fontFamily":"Montserrat, sans-serif","color":"#ffffff"}],"type":"paragraph","align":"center"}]},"id":"lSiInwGpA8cK6ew5Fkmlz"}],"params":{"padding":20,"gap":10,"borderRadius":{"bbl":0,"bbr":0,"btr":0,"isIndividualCorners":false,"all":0,"btl":0},"hover":"elevate"},"id":"8sGgpAEhoNbWpufDnX9Is"}],"params":{"padding":0,"verticalAlignment":"center","gap":20,"borderRadius":{"all":0,"btr":0,"isIndividualCorners":false,"btl":0,"bbl":0,"bbr":0}},"id":"vxQl8_xUTLUeSdy6Zj667"},{"name":"column","children":[{"name":"card","children":[{"params":{"value":[{"type":"paragraph","children":[{"fontWeight":700,"text":"47","color":"#4bb9d2","fontFamily":"Montserrat, sans-serif","fontSize":54}],"align":"center"}]},"children":[],"name":"text","id":"YCgKCdTm1qwKX5q1EuCdr"},{"params":{"value":[{"align":"center","children":[{"fontSize":20,"color":"#ffffff","fontFamily":"Montserrat, sans-serif","text":"Changes"}],"type":"paragraph"}]},"name":"text","children":[],"id":"BR4va-GpZlAJOp2mwMH-1"}],"params":{"borderRadius":{"bbr":0,"isIndividualCorners":false,"btr":0,"btl":0,"bbl":0,"all":0},"gap":10,"hover":"elevate","padding":20},"id":"18AFcFB160BbE0iQeYr8c"}],"params":{"borderRadius":{"bbl":0,"bbr":0,"isIndividualCorners":false,"all":0,"btr":0,"btl":0},"verticalAlignment":"center","gap":20,"padding":0},"id":"l-GJ3YT3H_VJSsOjq70wP"},{"params":{"gap":20,"borderRadius":{"all":0,"bbr":0,"btr":0,"btl":0,"bbl":0,"isIndividualCorners":false},"verticalAlignment":"center","padding":0},"children":[{"name":"card","params":{"gap":10,"borderRadius":{"bbr":0,"isIndividualCorners":false,"all":0,"bbl":0,"btr":0,"btl":0},"padding":20,"hover":"elevate"},"children":[{"params":{"value":[{"type":"paragraph","align":"center","children":[{"fontWeight":700,"color":"#8871f9","fontSize":54,"text":"3","fontFamily":"Montserrat, sans-serif"}]}]},"name":"text","children":[],"id":"OLpC1-Pgjlm5sO19zrQ39"},{"params":{"value":[{"align":"center","type":"paragraph","children":[{"text":"Schema Changes","fontSize":20,"color":"#ffffff","fontFamily":"Montserrat, sans-serif"}]}]},"children":[],"name":"text","id":"9mMYPgwoc1O74DZkegvHw"}],"id":"r5axRw3H73kS5E_cIjBvm"}],"name":"column","id":"zXI-oq_sWnVXrhI0dB3so"},{"children":[{"params":{"borderRadius":{"bbl":0,"bbr":0,"btr":0,"btl":0,"all":0,"isIndividualCorners":false},"gap":10,"hover":"elevate","padding":20},"name":"card","children":[{"name":"text","children":[],"params":{"value":[{"children":[{"fontFamily":"Montserrat, sans-serif","text":"2","fontSize":54,"fontWeight":700,"color":"#5098fa"}],"type":"paragraph","align":"center"}]},"id":"7DNl9bkskIgNrLnsUqDjN"},{"name":"text","children":[],"params":{"value":[{"align":"center","type":"paragraph","children":[{"fontSize":20,"color":"#ffffff","fontFamily":"Montserrat, sans-serif","text":"Notifications"}]}]},"id":"YLmi5VfiWq6zAkHD5bIWH"}],"id":"OWVeUSdsPsJFgJV2KFu6M"}],"name":"column","params":{"verticalAlignment":"center","gap":20,"borderRadius":{"btl":0,"all":0,"bbr":0,"btr":0,"isIndividualCorners":false,"bbl":0},"padding":0},"id":"3eUuDQUJ_7Wt3H0ogN0gG"},{"params":{"borderRadius":{"all":0,"btl":0,"bbl":0,"isIndividualCorners":false,"btr":0,"bbr":0},"gap":20,"verticalAlignment":"center","padding":0},"name":"column","children":[],"id":"LFnVMjeI8jdrjJ5UCbCpq"},{"params":{"borderRadius":{"bbr":0,"isIndividualCorners":false,"bbl":0,"all":0,"btl":0,"btr":0},"verticalAlignment":"center","gap":20,"padding":0},"name":"column","children":[],"id":"FotJeCTUtI5G5on3410IY"}],"params":{"gap":40,"borderRadius":0,"layout":[1,1,1,1],"minHeight":200,"padding":0},"name":"row","id":"d6_mAzNbYQvSXQvqfrwO7"}],"id":"hBpUSNSybAXZlGhjE3HRg"}]}

Table of Contents
minLevel1
maxLevel6
include
outlinefalse
indent
exclude
typelist
class
printablefalse
  • IMPORTANT NOTIFICATIONS

    • Scheme Changes - this 2025_01 release contains x3 schema changes - seeHEREfor more details

    • Feature Deprecation - the old version of the Excel Export functionality is no longer available to revert to, which previously has been set using the OLD_EXCELBETA flag. By default, only the New Excel Export feature is now available from this version onwards. See HERE for more information.


NEW FEATURES

Ability to define what languages are available and the names they display as in the Language Selectors

pi#2653

32809

Multilingual

You can now add a ‘languages.properties’ file into your locale directory to dictate what languages appear in the Language Selectors and under what name they are displayed. The presence of this file disables the auto-generation of languages from the ‘messages*.properties’ filenames and will not provide 'English' as a default. Languages in this file are defined by simple key/value pairs of the ‘language code’ and the display name separated by an equals sign e.g. to define the language associated with files with the ‘en_GB’ language code in their filename and have it appear as “British” in the Language Selectors I would have the following on its own line within the file: en_GB=British.

Ability to use languages without a locale

pi#2653

32809

Multilingual

Previously, translation files uploaded through the UI had to include both a language and locale as part of their ‘language code’ e.g. ‘messagesStatic_en_GB.properties' was accepted but the language only version of ‘messagesStatic_en.properties’ would have failed validation. If not using the 'languages.properties’ file detailed in the release note above, languages defined without the locale will appear in the Language Selectors without the parenthetical locale i.e. “English” rather than “English (United Kingdom)”

Add footer to Browser PDF export

#2535

-

PDF Export

A footer detailing the ‘generation date’ and ‘pages’ has been added to Browser PDF exports to maintain consistency with the previous Renderer export. The formatting of the date can be adjusted with the Global Variable PDF_DATE_FORMAT and the following CSS styles can be used to customise the three footer related classes defined in the Themes > PDF tab (.pi-style__pdf-footer, .pi-style__pdf-footer-date, .pi-style__pdf-footer-pages):

  • background-color: The alpha channel of RGBA values will be ignored

  • color

  • text-align

  • font-size: Only supports ‘px’ values or numeric values with no unit specified

  • font-weight: Only “bold” has any effect

  • font-style: Only “italic” has any effect

  • margin: Only supports ‘px’ values or numeric values with no unit specified. Both specific margins (e.g. margin-right) and ‘margin’ value/array are supported

  • display: Only supports ‘none’ to remove specific parts of the footer (.pi-style__pdf-footer-date, .pi-style__pdf-footer-pages) or the entirety of it if applied to `.pi-style__pdf-footer`

Example of footer with some of the styling mentioned above applied:

image-20241206-155407.png

New Magic Variables - Date

pi#2651

31388 & 32934

Date Variables

The following magic variables relating to Date have been added to the system:

START_OF_NEXT_WEEK
END_OF_NEXT_WEEK
START_OF_NEXT_MONTH
END_OF_NEXT_MONTH
START_OF_LAST_YEAR
END_OF_LAST_YEAR
START_OF_NEXT_YEAR
END_OF_NEXT_YEAR
START_OF_QUARTER
END_OF_QUARTER
START_OF_LAST_QUARTER
END_OF_LAST_QUARTER
START_OF_NEXT_QUARTER
END_OF_NEXT_QUARTER
CURRENT_DAY_SHORT_NUMBER
CURRENT_DAY_WITH_SUFFIX
CURRENT_MONTH_SHORT_NUMBER
CURRENT_WEEKDAY_SHORT_NAME
LAST_MONTH_SHORT_NUMBER
NEXT_YEAR
NEXT_MONTH_YEAR
NEXT_MONTH
NEXT_MONTH_NAME
NEXT_MONTH_SHORT_NAME
NEXT_MONTH_SHORT_NUMBER

The full description of these environment variables can be found here: /wiki/spaces/DEV/pages/2151153665

Wildcard support for embed actions

pi#2865

-

Embedding

Embed actions (used to handle post message front-end actions when embedding) now supports a wildcard '*' in the trusted hosts setting and will allow a post message from any subdomain if the wildcard is provided.

CHANGES

Excluded Column Snackbar now times out

pi#2635

28990

Tables, Exports

Previously, you would have to close the snackbar that appears when exporting a table to Excel that has one or more columns marked as being excluded from export. Now, it will disappear on its own after a few seconds.

Enable chart editing when displayed in full screen

pi#2533

28243

Full screen chart viewer

Previously, you would be unable to edit a chart in full screen view. Now, you can freely edit the chart, and it will return you to full screen view once you have made your changes.

Screenshot from 2024-11-25 10-49-51.png

Correct positioning of custom map tooltips in full screen

pi#2610

32455

Full Screen Chart Viewer

When entering full-screen mode, the custom map will now be completely redrawn to adjust its dimensions, ensuring that tooltips are positioned correctly near the data labels.

Data labels and tooltip fixes for stacked bar charts in regards to totals and percentages

pi#2716

29704

Stacked Bar Charts

Previously, data labels and tooltips on stacked bar charts would omit negative values from the total value for each bar, which would also affect the percentages displayed for each bar segment. Now, the positive values minus the negative values is used for the total, and percentages for each segment are taken as a percentage of this new total.

Screenshot from 2024-11-26 14-11-26.png

A handful of additional fixes have been made off the back of a series of small bugs which were revealed due to this implementation.

  1. We now ensure that ‘NaN%’ does not show when you click on legend items on regular and stacked bar charts

  2. We now ensure that the percentage labels on bars within 100% stacked bar charts, regardless of whether the chart consists of 1 dimension and 1 measure, multiple dimensions, or multiple measure, are treated similarly to individual pie charts i.e. the percentage of a bar always adds up to 100%

  3. We now ensure that negative values are suppressed from data labels and tooltips on 100% stacked bar charts - including regular and percentage data labels

  4. We now ensure that any of the following charts that have negative values within the measures display a ‘suppressed negatives’ warning indicator on the top left of the chart: bar, stacked bar, 100% stacked bar, pie, doughnut, variable pie, variable doughnut, sunburst, doughnut sunburst, treemap, funnel & pyramid

  5. We now ensure that, if only negative values appear on a bar within a regular bar chart or stacked bar chart, the percentage values are positive (i.e. the grand total is -30, and a segment is -15, this is 50% - NOT -50%)

New ‘configuration-tool' directory

configurationt-tool#134

29815

Configuration-tool

To ensure the app launches successfully across all Windows environments, we modified the build configuration to output the configuration-tool-GUI as an unpackaged directory containing all its files.

A new directory named configuration-tool has been created to house both the configuration-tool-GUI and configuration-tool command-line executables, along with all relevant files. The GUI will now launch directly from the configuration-tool directory.

Allow scheduler to use new browser export functionality

pi#2534, pi#2573 & pi#2574

Scheduler

The scheduler service will now utilise the new browser export functionality to generate charts that support it. This relates to PDF, Word and Powerpoint single chart exports.

Enhance log feedback for editable tables functionality

pi#2793

Editable Tables

Logging around the editable tables functionality has been improved, you will now always see the full outbound request detail for any failures and always if using debug level logging.

Default Dashboard Docker healthcheck changed to a single ping to health endpoint

pi#2655

Docker Healthcheck

Previously, the healthcheck script that runs on Docker would ping both ‘/version’ and ‘/pi’ to ascertain the health of the container. The latter ping was causing a repeated WARN log message to be produced and has now been removed. The ‘/version’ ping has been changed to include a --max-wait of 5s and hit the ‘/health’ endpoint instead.

Certain chart types not exporting as PDF

pi#2789

Charts

Fixed an issue that prevented certain chart types (gauge, flow, treemap) from being successfully exported to PDF format. The issue has been resolved, ensuring all chart types are now exported accurately, matching the visualisations in the UI.

Updated Snowflake JDBC driver from 3.14.1 to 3.20.0 to resolve vulnerability

pi#2720

33846

JDBC Drivers, Vulnerabilities

Updated Snowflake JDBC to the latest (3.20.0) version to resolve vulnerability CVE-2024-43382.

7 zip upgraded from 23.01 to 24.09

scheduler#93

28990

Scheduler

7 zip library used within the scheduled has been upgraded from version 23.01 to 24.09 after the discovery of a vulnerability. This is the library we use for encrypting items in schedules.

Y axis zooming on merged charts bug

pi#2803

Y axis zooming on merged charts bug

pi#2803

30898

Merged Charts

Previously, when you would try to zoom in on a merged chart with Y axis zooming enabled, then reset the zoom state, the tick intervals on the Y axis would be different from what they were when the chart was in its initial state. Now, the original tick intervals are retained once you have reset the zoom state.

Decimal places attribute not working on tables on 0 values

pi#2695

33190

Tables

Previously, when setting the decimal places of a measure within the chart attributes, on a table, which contains 0 values, the decimal places would not apply and the 0 values would fall back to using the decimal places defined in the object definition. Now, the decimal places defined in the chart attributes will always take precedence, and apply to 0 values successfully.

Prefix/Suffix no longer erroneously being applied to Crosstab headers derived from data rows

pi#2808

31550, 33844, 32481, 31550 & 22008

Crosstab Tables

Previously, measures in Crosstab tables (tables with a Header defined) would have their Data Object/Attribute formatting applied (e.g. a prefix) to not only their data values but also their respective headers. Now, this formatting only applies to the Header defined in the Chart Configuration as those headers are generated from the data values of that object.

Added missing 7-Zip files to Scheduler Docker Image fixing issues with Encrypted Schedules failing to send

pi#2810

32130

Encrypted Schedules, Docker

7-Zip is used to encrypt Schedules that you have added a password to but was missing from the Scheduler Docker image leading to the inability to use this feature. This has now been resolved and any previous workarounds you have applied to volume these files yourself can be deleted.

Switch all users to new Excel export functionality

pi#2697

33680

Exports

All users will now be moved across to the new version of the Excel export functionality, this version is significantly improved over the older version. As part of this work vulnerability CVE-2024-47554 in commons-io library has been removed from the dashboard.

‘Reset Zoom’ button no longer overlaps data in charts

pi#2805

33155

Chart Display

Previously, in certain scenarios, ‘Reset Zoom’ button was overlapping chart content when zooming in. This has been resolved by adding some additional space to the top of the chart container when zooming in, allowing the zoom button to appear outside the chart body. When zooming out, the space reverts to its original state.

Improved alignment of multi-line x-axis labels by making them centred to their respective data points

pi#2814

33153

Chart Display

Previously, certain chart sizes would result in multi-line x-axis labels that no longer properly matched the position of their data point. They would appear left-aligned with respect to the axis space reserved for that data point rather than central to it. This positional discrepancy looked particularly bad after zooming. The labels are now properly centrally aligned.

Before:

2814-before.pngImage Modified

After:

2814-after.pngImage Modified

Remove some Catalina WARNING logs on startup

pi#2816

29963

Logging, Tomcat

Previously, when starting up the Dashboard the catalina{date}.log file would show some warnings related to attempting to set ‘maximumSpareThreads’ and ‘proxyName’. These log messages should no longer appear.

Fix Tomcat > Advanced setting ‘Minimum Spare Threads’ not applying if set through the Configuration-Tool-Gui

configuration-tool#136

Configuration-Tool-GUI

Previously, changes to this configuration setting through the GUI would not be applied - this has now been resolved.

Errors appearing in console when zooming on a map with null values + maps with legends with null values not rendering at all

pi#2811

32903

Maps

Previously, maps with null values would display errors in the console when zooming in and out - this has now been resolved. Additionally, maps with legends with null values would not render at all - this has also been resolved.

Upgrade lettuce library from 6.1.10 to 6.5.1 to resolve CVE-2024-29025

pi#2389

30738

Library Upgrades

The previous version of lettuce had a vulnerable netty dependency - this has now been resolved via an upgrade

Upgrade crypto library to resolve CVE-2024-45337

scheduler#94

34466

Library Upgrades

Resolved vulnerabilities in scheduler and excel-reader modules by upgrading crypto and net packages to the most recent versions

.

Fix Subtotal Labels Not Being Translated

pi#2821

34224

Translations, Subtotals

Previously, subtotal labels were not being translated this has now been resolved

Fix Category List Panel blocking Category Object Value Selection popup in some scenarios

pi#2827

33571

Dashboard

When both the Category List Panel and Category Object Panel were pinned, it was possible for the Category Object Selection popup to be partially obscured by the Category List Panel - this has now been resolved.

Fix Modified Schedules With Role Links Failing To Import Due To Unique Constraint

migrations#62

Schedule Import

It was possible for a import that updates an existing Schedule that has Roles associated with it to fail with a message related to a unique constraint - this has been resolved

Fix Financial Year Start Calculation

pi#2649

34769

Date/Time Variables

Resolved an issue where the start of the financial year was incorrectly calculated when the currentMonth was earlier than the START_OF_FINANCIAL_YEAR_MONTH. The logic has been updated to ensure that in such cases, the start of the financial year is correctly determined as belonging to the previous calendar year. This change applies to both the financial environment variables and the values in the ‘Financial’ tab in the category objects date range panel.

Minor Tomcat upgrade to resolve CVE-2024-56337 and CVE-2024-50379 (includes small additional configuration to fully resolve)

pi#2835, pi#2837, pi#2838

34785, 34753

Dashboard, Security

Tomcat upgraded from 9.0.97 to 9.0.98 and the useCanonCaches Tomcat property explicitly set to false.

Fixed issues with tomcat base Fixed issues with tomcat base directory when running Linux Dashboard through systemd

pi#2855

34380

Tomcat, Drivers

Due to changes in November related to how we initialise JDBC drivers in a more isolated way, the wrong tomcat base directory was being used for jdbc_drivers when using systemd. Similar issues were discovered due to this bug related to the dynamic drivers functionality and the location of the ‘out.{date}.log’ file (rotating Dashboard log file). These issues have now been resolved.

Fixed data connection export missing categories and charts

pi#2791

34273

Tomcat, Drivers

The API request for exporting a data connection will include the associated categories and charts.

Export to excel issue - exporting only three columns and three rows to a Rotated Table the export fails

pi#1541

28835

Info still needs to be added

Medium vulnerability - cve-2023-44483 - santuario: Private Key disclosure in debug-log output

-

29289

Info still needs to be added

“data” elements stay with the old language after changing the language in the GUI

pi#2828

29637

Info still needs to be added

PI UAT -

Measure prefix showing ... too much

32481

Info still needs to be added

Bug - Cross Table Field Labels

33844

Info still needs to be added

High vulnerability - CVE-2024-4735 - Denial of Service attack on windows app using netty

33940

Info still needs to be added

New Config New Config items always show [No Title] by default regardless of language

34016

Info still needs to be added

Bug - Unable to control height of Category Objects Panel when at the top AND using a multi-picker

34300

Info still needs to be added

Enhancement -

When I have a child connection, I need to be able to prevent chart designer from building on the parent connection

34137

Info still needs to be added

I can get category objects in the wrong order

34411

Info still needs to be added

Info still needs to be added

High Vulnerability - CVE-2024-50379

34785

Bug - Upgrading versions and can't view categories

34768

Info still needs to be added

High Vulnerability - CVE-2024-56337

34784

Info still needs to be added

Linked data connection sub org user not picking VARIABLE from parent DC Organisation

35123

Info still needs to be added

Z-Zip Vulnerability

#93

-

Info still needs to be added

Maps with legends do not display points if the measure is 0 or NULL

#2846

-

Info still needs to be added

Observability - Collect migration errors and log them at the end

#60

-

Info still needs to be added

MAINTAINANCE

Z-Zip Vulnerability

#93

-

Info still needs to be added

High Vulnerability - CVE-2024-56337

34784

Info still needs to be added

High Vulnerability - CVE-2024-50379

34785

Info still needs to be added

High vulnerability - CVE-2024-4735 - Denial of Service attack on windows app using netty

33940

Info still needs to be added

Medium vulnerability - cve-2023-44483 - santuario: Private Key disclosure in debug-log output

-

29289

Info still needs to be added

Minor Tomcat upgrade to resolve CVE-2024-56337 and CVE-2024-50379 (includes small additional configuration to fully resolve)

pi#2835, pi#2837, pi#2838

34785, 34753

Dashboard, Security

Tomcat upgraded from 9.0.97 to 9.0.98 and the useCanonCaches Tomcat property explicitly set to false.

Upgrade lettuce library from 6.1.10 to 6.5.1 to resolve CVE-2024-29025

pi#2389

30738

Library Upgrades

The previous version of lettuce had a vulnerable netty dependency - this has now been resolved via an upgrade

Upgrade crypto library to resolve CVE-2024-45337

scheduler#94

34466

Library Upgrades

Resolved vulnerabilities in scheduler and excel-reader modules by upgrading crypto and net packages to the most recent versions.

7 zip upgraded from 23.01 to 24.09

scheduler#93

28990

Scheduler

7 zip library used within the scheduled has been upgraded from version 23.01 to 24.09 after the discovery of a vulnerability. This is the library we use for encrypting items in schedules.

Updated Snowflake JDBC driver from 3.14.1 to 3.20.0 to resolve vulnerability

pi#2720

33846

JDBC Drivers, Vulnerabilities

Updated Snowflake JDBC to the latest (3.20.0) version to resolve vulnerability CVE-2024-43382.


SCHEMA CHANGES

 

Description

GitLab

ZenDesk

Index added on mis_audits.audit_date_time and mis_audits.user_code

migrations#62

31663

Foreign Key added between pi_schedule_user_links.schedule_id and pi_schedules.id

migrations#62

31663

Unique constraint added on pi_schedule_user_link between user_id and schedule_id

migrations#62

31663