Like what you see? Have a play with our trial version.

Error rendering macro 'rw-search'

null

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 62 Next »

Yellowfin 9 revolves around providing business users with unique ways to engage with and act on their data, and addressing the needs of data analysts and developers who want to build and deploy amazing analytical experiences.

Yellowfin 9.7

Yellowfin 9.7 provides business users with unique ways to engage with and act on their data thanks to Yellowfin Guided NLQ (Natural Language Query), as well as improvements to Code Mode, the JS API and the REST API.

In addition, the latest Yellowfin mobile app allows users to view and engage with reports on the go (learn more).

Enhancements

Infrastructure

  • Added a toggle to the Admin Console to enable Guided NLQ for each client organization (learn more).
  • Added new silent installer options MySQLDisableSSL, DatabaseConnectionString and AdminDatabaseConnectionString.
  • Upgraded require.js to version 2.3.6.
  • Upgraded the jsoup library to version 1.14.2.
  • Upgraded the Apache XML Graphics Commons library to version 2.6.
  • Upgraded the Apache Commons Compress library to version 1.21.
  • Upgraded PDFBox libraries to version 2.0.24.
  • Upgraded the ClassGraph library to version 4.8.116.
  • Upgraded the XStream library to version 1.4.18.
  • Added a tool to update repository configuration values when Yellowfin is not running.
  • Added an advanced configuration option to customize the broadcast filename format.
  • Improved access permissions checking performance when loading content on the Browse page.
  • Improved session security for active users which redirects to the login page after an allotted time, unless user input is detected.

Roles & groups

  • Added new Guided NLQ role functions Guided NLQ User and Guided NLQ Manager (learn more).
  • Enabled Guided NLQ functions for roles with access to creating and updating reports, and updating views.

Data

  • Added ClickHouse DBMS support, including LIMIT support to Clickhouse DB queries, and enabled Clickhouse UUID columns to be identified and used in Yellowfin (learn more).
  • Added LIMIT support to Vertica sources.
  • Added support for RSA and ECDSA algorithms for JWT authentication.
  • Enhanced SSO for JWT and SAML to support dynamic sessions entry options.
  • Aligned the existing SAML Bridge features with the more recent SAML implementation, including SP-initiated SAML workflow. 

JS API

  • Added the 'Ask a Question' UI of Guided NLQ as an embeddable object via the JS API.
  • Added functionality to allow namespaces for events on JS API objects.
  • Added the ability to unbind event listeners via the event name function in the JS API.
  • Added functionality to LoaderEvents to allow listening for specific elements. 
  • Added the ability to override child loaders for individual reports, replacing them with a singular loader for the parent element.
  • Added loading status indicators for content loading via the JS API.
  • Implemented the ability to listen to and prevent drill through report interaction events via the JS API.
  • Added the ability to manually configure the display of a drill through child report toolbar via the JS API.
  • Added the option to display chart animations via the JS API (learn more).

REST API

  • Added a new report listing endpoint.
  • Added a favorite reports endpoint.

Views

  • Enhanced view exports to include Guided NLQ configurations, and added a warning when importing Yellowfin 9.7 views into older versions.
  • Added predefined date periods Last Quarter and This Quarter to Date.
  • Overhauled the look and feel of the view builder, and added new options for configuring performance, security, and automation.
  • Improved database validation functionality which reduces overall processing times when cloning views.
  • Replaced the word “business” with “financial” in predefined filter date period labels, and removed the word "calendar" from other predefined filter date period labels.

Advanced functions

  • Added a number of advanced functions including:
    • SPC - Functions (moving average, UCL, LCL, outliers).
    • SPC Step Change.
    • Difference and Growth Truncate.
    • Top/Bottom N Percentage of Total.
    • Top/Bottom N Rank.
    • Periodic Average.
    • Percentage Against Accumulative Column.
    • Accumulative Percentage Against Column.
    • Days Between Date with Offset.

Content export

  • Added a configuration option to customize default settings for export plugins.
  • Enabled URL hyperlinks when exporting crosstab reports to XLSX format.
  • Improved the display of presentations on PDF exports.

Reports

  • Added the ability to create an Append sub query joined to a report on view fields not used in the report.
  • Added conditional bar formatting support for cells with negative values.
  • Enhanced the report pagination links.

Charts

  • Added Average, Accumulation and Trend functions to several non-auto area, bar, and column charts.
  • Added the option to rename the total column on a waterfall chart (learn more).
  • Enhanced functionality for waterfall charts by adding a Start column to indicate the starting position of the chart (learn more).
  • Added a color field to waterfall charts (learn more).
  • Updated the default chart colors for new installs.
  • Improved the display of line charts by setting a default order for line shapes used to highlight data points in a series.
  • Resolved an issue that would prevent a combined series trend line from activating for auto horizontal bar charts with the same category and color dimensions.
  • Streamlined chart variance display options and added Simple Percentage as a new chart variance type (learn more).
  • Improved the display of charts with borders on dashboards.

Broadcast

  • Added a new function to allow plugins to filter out email addresses before they are sent by Yellowfin.
  • Improved functionality which prompts the user to retain or cancel a scheduled task when running the task manually on the same day it is scheduled.
  • Improved report broadcast scheduling to include the status of the report in the event of an error.

User interface

  • Added a Guided NLQ entry point to the Create menu in the main toolbar (learn more).
  • Added the component Guided NLQ to the Licence Management page.
  • Improved Code Mode to take full advantage of the JS API.
  • Added an Open Report button to reports on published Stories which directs the user to the report's output page.
  • Renamed the Add Filters button on the Filters pop-up to Save (learn more here and here).
  • Restyled the default Yellowfin login page.

Localization

  • Added support for language-specific separators for decimals and thousands when using numeric filters.

Fixes

Infrastructure

  • Added the advanced configuration option SHOWLOWMEMORYEXPORTOPTION, which adds a toggle to the Export Settings dialog box for individual reports to override the global setting for low memory exports.
  • Resolved a configuration issue with upgrading Java from pre-July 2021 to a post-July 2021 version that would cause the yellowfin.war file to be redeployed, losing custom changes to the web application.
  • Resolved an issue that would cause GroupCache removal messages to be delivered to cluster nodes with incorrect data.
  • Resolved an issue that would cause Yellowfin WAR file redeployment when upgrading from certain versions of Java.

Performance

  • Improved import page load times for systems with a large number of content folders.
  • Improved loading times when entering export and import pages.
  • Improved loading times when expanding the User and Group sections of the Admin Console.
  • Improved rendering on the Browse page for users with access to a large number of folders.

Data

  • Enabled the recognition of Snowflake database table timestamp fields with time zones.
  • Resolved an issue that would prevent third-party database connectors from loading data.
  • Resolved an issue that would prevent a replacement database from importing as the correct database type when a license limit had been reached.
  • Extended the ReferenceDay table to include dates up to the year 2030.
  • Resolved an issue that would prevent the creation of views based on Intersystem IRIS stored procedures.

Roles & groups

  • Resolved an issue that would prevent correct role names from being displayed in group member list.
  • Resolved an issue that would process groups containing roles incorrectly when using the GroupFlattenTask function.
  • Resolved an issue that would revoke owner access to a private report when read access was given to another user via the share pop-up.
  • Resolved an issue that would prevent a user from editing and copying other users' public dashboards.
  • Resolved an issue with personal dashboard permissions that would log a user out of Yellowfin when exporting certain file types.

Web services

  • Resolved an issue in the LOADDASHBOARDTAB and LOADPARENTDASHBOARDTAB web services that would prevent dashboard filters from being returned in a web service report.

JS API

  • Resolved an issue that would prevent date sliders from functioning correctly via the JS API.
  • Resolved issues that would affect drill through functionality in the JS API.
  • Added a report interaction that disables the Open Chart Image tooltip option.

Views

  • Resolved an issue that would prevent UUIDs from populating a CSV file when attempting to translate a view.
  • Resolved an issue that would create new field UUIDs for fields within cloned views instead of copying the existing field UUIDs.

Content export

  • Resolved an issue that would cause certain JS charts to duplicate when exporting to PDF.
  • Resolved an issue that would prevent Stories with certain embedded videos from being exported to PDF.
  • Resolved an issue that would prevent SVG <image> tags from exporting to PDF.

Broadcasts

  • Resolved an issue that would cause a broadcast to fail when the report included sub queries with filters.
  • Resolved an issue that would prevent report broadcasts and emails from being sent if a report was filtered with the ‘Equal to’ or ‘Different from’ operand.
  • Resolved an issue that would display broadcast URLs incorrectly when custom parameters were defined for Co-Display reports.

Dashboards

  • Enhanced the Canvas Properties panel display functionality.
  • Resolved an issue that would prevent the FILTER<ID> and FILTER<UUID> parameters from functioning correctly when used with a dashboard.
  • Resolved an issue that would prevent view-level filter groups from having their cached values refreshed from the dashboard.
  • Resolved an issue that would prevent view-level cached filters from refreshing when a report was imported.

Reports

  • Resolved an issue that would prevent access filters from functioning correctly if a certain combination of cached filters were applied.
  • Resolved an issue where cached filter values would not display for imported reports.
  • Resolved an issue that would cause an error when attempting to edit a report with a cached filter query.
  • Added a configuration option for locale-based sorting to improve performance issues for diacritics (such as é and ö) (learn more).
  • Resolved an issue for cross tab reports which would prevent subtotals from displaying in the correct layout.
  • Resolved an issue that would prevent advanced functions from being used in drill through links.
  • Resolved an issue that would return empty data in a report that used a date parameter in a calculated field.

Charts

  • Improved the Auto-Hide Legend option to automatically hide chart legend items when they exceed a pre-configured amount (learn more).
  • Reinstated numeric axes as the default value for the Default Gridlines option on new installs.
  • Streamlined the Axis Title Text dropdown menu options.
  • Resolved an issue that would cause an error on certain selected chart series when linked by a conditional drill through.
  • Resolved an issue for numeric display charts that would display the default formatting prefix when using a percentage variance.
  • Resolved an issue that would prevent the correct display of the trend line color for a chart series or color selection.
  • Resolved an issue that would prevent the mean trend line color from saving.

User interface

  • Resolved an issue that could cause canvas reports in stories to be cropped.
  • Improved thumbnail generation to properly scale for better display on desktop and mobile app.
  • Resolved an issue that would cause a date slider display error on a chart after toggling to and from its table, if the table contained pagination buttons.
  • Resolved an issue that would cause a time slider display error on a published dashboard when using a tabbed Section Style in Section Formatting.
  • Resolved an issue that would cause an error after switching to code mode from preview mode, and prevent the use of the Delete Code Mode Content feature.
  • Resolved an issue that would cause the report to re-run on the chart builder page.
  • Resolved an issue that would cause the SSL Required field name in the Create Data Source dialog box to display as 'undefined'.
  • Resolved an issue that would prevent dependent filters from correctly updating their values in the story Filter panel.
  • Resolved an issue that would prevent users from closing the warning pop-up that would appear when deleting a drill through filter.
  • Updated the description text for List Size in Filter Formatting.
  • Resolved an issue that would prevent report cancellation requests when a user navigated away from the dashboard.
  • Resolved an issue that would prevent the Refresh tab from being hidden when saving a report, even when the Hide Report Refresh role function had been enabled.
  • Resolved an issue that would prevent the report column drop-down list from appearing after re-rendering.
  • Resolved an issue that would prevent the Row Highlight function on dashboard reports from highlighting the entire row.
  • Streamlined all approval notifications to match those for reports and views.
  • Streamlined the positioning of page sliders for dashboard reports.
  • Streamlined the report column pop-up options.
  • Updated the title of the Properties pop-up for associated reports and video widgets (learn more).
  • Updated the Yellowfin Community and Wiki links on the Admin Console, and in the installer and updater.

Mobile

  • Resolved an issue where single sign-on would not function for legacy versions of the Yellowfin app on iOS and Android.


Must-read documentation

The following documents highlight the new features in the latest versions of Yellowfin.

NameDescriptionDocument
Change Management guideLearn about the new changes up to Yellowfin 9.6 (Yellowfin 9.7 updates coming soon) and how they impact users upgrading to the latest version. 

Yellowfin 9.6.2

Yellowfin 9.6.2 is a minor release which addresses some outstanding functionality issues, with Yellowfin 9.7 due shortly. 

Fixes

  • Broadcasts — Resolved an issue that would cause a broadcast to fail when the report included sub queries with filters.
  • Broadcasts — Resolved an issue that would prevent report broadcasts and emails from being sent if a report was filtered with the ‘Equal to’ or ‘Different from’ operand.
  • Dashboards — Resolved an issue that would prevent the FILTER<ID> and FILTER<UUID> parameters from functioning correctly when used with a dashboard.
  • Dashboards — Resolved an issue that would prevent a user from editing and copying other users' public dashboards.
  • Groups — Resolved an issue that would process groups containing roles incorrectly when using the GroupFlattenTask function.
  • Web services — Resolved an issue in the LOADDASHBOARDTAB and LOADPARENTDASHBOARDTAB web services that would prevent dashboard filters from being returned in a web service report.

Yellowfin 9.6.1

Yellowfin 9.6.1 reinforces and further enriches its predecessor with the addition of some handy new API functionality around login tokens and events, easier white labeling and streamlined performance.

For more detailed information on these features, read the release notes below.

Enhancements

Infrastructure

  • Improved the performance of the logic used to determine a user's access to dashboards.
  • Upgraded the JS library TinyMCE to version 5.8.2.
  • Upgraded the JSch library from 0.1.55 to 0.1.63 to support more ciphers.

Data

  • Improved the management of repository database connection resources on the Report Builder page.
  • Added additional database indexes to the repository database to accelerate queries running against tables related to dashboards and images.
  • Added an advanced configuration to control some Oracle data source objects and synonyms (learn more).
  • Added a validation filter condition to Teradata calculated field validation.
  • Removed legacy drivers for Big Query and Hive proxy JDBC, and updated the Hive connection wizard to accept the official Hive driver and to exclude the outdated DriverPath connection parameter.

JS API

  • Implemented the ability to listen to dashboard loading events via an object on the window.
  • Added the option to white label the JavaScript API from the Yellowfin configuration UI (learn more - see the General Settings table).
  • Improved CSS load speed within the JS API.

REST API

  • Added support for creating a login token from the REST API for the current user without requiring the current user's credentials (allowing REST API consumers to use the JS API or redirect to the web app without the user having to re-enter their credentials).

Reports

  • Added a new report layout option that enables scrollbars for canvas reports on dashboards if they don't fit their container.

Charts

  • Updated the tooltip for layered bar charts to display all bar values on hover, as well as the total for the entire bar.
  • Tweaked the code for parsing browser width and height to improve chart sizing on the page.

User Interface

  • Improved report loading speed by eliminating superfluous load requests.
  • Improved the vertical alignment between toggle filters and their label names to be vertically centered.
  • Improved the layout, content and sections of the Action Button Properties panel.

Fixes

Infrastructure

  • Upgraded Tomcat to 9.0.50 for new installations.
  • Improved memory management during view save and load processes.
  • Improved the security of the Browse page.
  • Resolved individual potential vulnerabilities with:
    • content folder management;
    • the input area of report approval messages;
    • The approval step before publishing reports to private folders;
    • the availability of report detail summary information;
    • the reference code manager;
    • unauthorised user session access to the Admin Console;
    • the quick login functionality;
    • email templates;
    • storyboard slide editing settings and sharing;
    • image access and user profile image functionality;
    • attaching links and videos to comments.
  • Resolved an issue that would allow users to view a report with data from a restricted-access subquery view before the report’s first run.
  • Resolved an issue where creating a view from the MIPreReportInit.i4 page would fail.
  • Resolved a misconfiguration issue with the static resources identifier when loading a plugin.

Logging

  • Resolved an issue that would prevent an event from being recorded after moving a content item from Favorites on the Browse page.
  • Resolved an issue where the event table would not log events for exports to XLSX and CSV file types.

Data

  • Resolved an issue where DB connection pool deadlocks could occur, even when connection pooling was not in use, when the connection limit was reached.
  • Resolved a potential security issue that could arise during the testing of data source connections.
  • Resolved an issue that would cause an exception when a Salesforce data source launched pre-built content.
  • Resolved an issue where a view could not be changed to use a data source from a different database type.
  • Resolved an issue that would cause the Geometry data type to be misinterpreted when using an SQL Server data source.
  • Resolved an issue that would cause the access filter schedule to always use the Append refresh type.
  • Resolved an issue with view relationships where reordering table conditions would cause any other changes to be lost.
  • Resolved an issue with the View Builder that would cause the table filter to reset when viewing more than one page of search results.
  • Resolved an issue where calculated fields using custom functions with the DateTime data type would pass the date value only (no time value) into the SQL query.
  • Resolved an issue that would prevent OLAP Cube sub queries from working.
  • Resolved an issue where OLAP sub query filters would not add offsets to dynamic dates.
  • Resolved an issue that would prevent a dashboard from being exported if it contained a drill through to a  dashboard with a filter belonging to a report's sub query.
  • Resolved an issue that would prevent the deletion of a view created from a report.
  • Resolved an issue where saving stored procedures would not adhere to the Include Schema in SQL option, and improved functionality so that stored procedures can be saved without the schema component, enabling cross-schema datasource substitution.
  • Resolved an issue that would cause orphaned database records if view cloning failed.

Roles & groups

  • Resolved an issue that would prevent the role function Show Draft Dashboards from working as expected.
  • Resolved an access issue with the Hide Browse role function.
  • Resolved an issue that would cause members of client org user roles to be excluded from client groups that their roles had been added to.
  • Resolved an issue where users and user groups would not be deleted after the client org they belonged to had been deleted.
  • Resolved an issue that would prevent the User Group Members list from displaying more than ten users.
  • Resolved a potential security vulnerability when retrieving the list of discussion group members.

Installation

  • Reverted changes made in 9.6 to the Show Duplicate Records toggle in the View Builder for smoother upgrades.
  • Resolved an issue that would prevent the migration process from running on the target instance if no external URL had been set in the source instance.
  • Resolved an issue where if a problem produced the JDBC error message during Yellowfin installation, the error message would also display the DB password.
  • Resolved an issue where the database password would display when installing Yellowfin through the command line.
  • Resolved an issue that could cause some unexpected text in some messages on brand new Yellowfin instances with tutorial content installed.
  • Resolved an issue with using encrypted licenses with Yellowfin.

Data migration

  • Resolved an issue that would prevent files exported from older versions from being imported via the REST API.
  • When migrating dashboards from pre-9.0 releases to 9.5 or later releases, resolved an issue that would cause associated reports to disappear, or appear in the wrong location, after migration.
  • Added a migration job that updates the statuscode of contentmanagement records to OPEN when the statuscode is DRAFT.
  • Resolved an issue that could cause some content not in OPEN state to attach to export files as dependencies.
  • Resolved an issue that would cause a report with two or more custom query filters from a different data source to export with only one of those custom query filters.
  • Resolved a potential vulnerability with the handling of data source passwords during the import process.
  • Resolved an issue that would prevent filters on a dashboard with code mode from applying after import.
  • Resolved an import error on report views with deleted records.
  • Resolved an issue would ignore the selection of the custom query filter data source option during import.

JS API

  • Resolved an issue where setting the possible values via the JS API would not work correctly with a pop-up filter.
  • Resolved an issue that would prevent JavaScript charts from loading on embedded dashboards.

Content Export

  • Resolved an issue where switching export types via the Export popup would stop an export.
  • Resolved an issue where exports would sometimes erroneously fail with a ‘Content Has Changed’ message.
  • Resolved an issue that could prevent some multi-tab dashboards from exporting.
  • Resolved a layout issue that would cause exported co-display reports with sections to separate tiles from reports if the export didn’t fit on a single page.
  • Resolved an issue where canvas formatting would not be applied to report canvases on the Print Preview pop-up.
  • Resolved a PDF export issue that would cause tables to break incorrectly when the header and footer heights were vastly different values.
  • Resolved an issue that would prevent the Filter API from reporting the correct values when exporting to PDF.
  • Resolved an issue with static layout dashboards where a width greater than 1000px would not shrink to fit when exporting to PDF.
  • Resolved a PDF export issue that would prevent row-based report exports.
  • Resolved an issue that would prevent exports to PDF when CSRF Filters was enabled.
  • Resolved an issue where exporting reports to PDF using certain fonts would cause tables to break in unexpected places.
  • Resolved an issue that would prevent the correct layout of long report names or descriptions when exporting co-display reports to PDF.
  • Resolved an issue where row-based reports would render inconsistently when exporting to PDF.
  • Resolved an issue where PDF exports with Suppress Duplicates enabled would not export labels for custom-width columns.
  • Resolved an issue that would cause the bottom border to disappear on reports exported as PDF or DOCX with Suppress Duplicates turned on.
  • Resolved an issue that would prevent images in the header and footer of a report from exporting correctly to the DOCX file format.
  • Resolved an issue with DOCX exports including actual data values when a conditional format using icons is used
  • Resolved an issue with conditional formatting icons not being displayed on total and subtotal rows in DOCX, PDF and XLSX exports
  • Resolved the issue of conditional formatting icons not being available in XLSX exports.
  • Resolved an issue with conditional formatting legend missing for total and subtotal rows in XLSX exports

Broadcasts

  • Resolved some issues around content display within the new broadcast subject line filter tags including:
    • inconsistent date formatting/dynamic date display;
    • incorrect unicode character rendering; and,
    • empty subquery filter tag content.
  • Improved the format of broadcast email filter tags that contain multiple filter values.
  • Resolved an issue where filtering a report date field with the ‘In list’ operand, then using the date field in a broadcast filter tag, would prevent the broadcast from running.
  • Resolved an issue that would prevent reports with timestamp filters from broadcasting.
  • Resolved an issue that would flag a report broadcast schedule with Success even when it had failed to generate a PDF.
  • Resolved several issues around schedule management, including incomplete deletion of tasks related to a ref code, and tasks without descriptions not being searchable.
  • Resolved an issue that would cause inaccurate broadcast counts, which led to some EventCache performance enhancements.
  • Resolved an issue that would prevent broadcasts from running after upgrading to 8.0.10.1 or 9.6.

Dashboards

  • Modified the publishUUID migration job for dashboard and presentation canvasses so their changes are committed incrementally to the database.
  • Resolved an issue that would prevent filter linking between advanced functions on a dashboard.
  • Resolved an issue that would prevent advanced function filters and filter links from being imported or migrated during an upgrade.
  • Resolved an issue that would cause the preview/edit toggle mode to change when switching between tabs to a new sub tab with global content.
  • Resolved an issue where brushing would not be disabled for canvas sub tabs even when toggled off.
  • Resolved a timing issue that could cause the wrong report display type to be rendered in the dashboard canvas editor.
  • Resolved an issue where a drill up triggered from the report menu would not be reflected in the child report of a dashboard drill to drill report interaction link.
  • Resolved an issue that would prevent CSS on code mode dashboards from being removed from the page when the user left the tab.

Reports

  • Resolved an issue that would cause the Moving Average analytical function to use incorrect rows during calculation.
  • Resolved an issue that could prevent report data time/date fields from displaying according to the user’s set time zone.
  • Resolved an issue that would cause a report and any dashboard it was embedded on to endlessly load if it contained a drill through to a dashboard with a filter belonging to a report's sub query.
  • Resolved an issue that could skew the layout of report headers with Report Header Lock enabled.
  • Resolved an issue that would ignore text alignment in columns of set widths.
  • Resolved an issue that would cause a skewed display of filter panel titles in edit mode.
  • Resolved an issue that would prevent the Suppress Duplicates option from working on fields with subtotals set.

Filters

  • Resolved an issue that would cause date functions placed within filter groups to generate incorrect SQL.
  • Resolved an issue that would cause incorrect user prompt filter values for a report with Minus sub queries.
  • Resolved an issue that would allow the user prompt filters to trigger additional runs of a report already running.
  • Resolved an issue that would prevent dependent filters using the list entry style from resetting to the correct default filter values.
  • Resolved an issue that would cause filters to lose their insertion order when adding multiple sub queries.
  • Resolved an issue where filter links would not be updated after a dashboard was edited.
  • Resolved an issue where the Min/Max filter options would be missing for custom query filters on dashboards.
  • Resolved an issue that would prevent filters from resetting to their default values when the Dynamic Default Filter setting was enabled.
  • Resolved an issue that would ignore the number placed in the List Size field of the Filter Formatting panel.
  • Resolved an issue where checkbox filters would show unnecessary scroll bars by reimplementing the List Size parameter on dashboards to configure list and checkbox filter scroll bars.
  • Resolved an issue that would cause an error when dependent filters from multiple reports on a dashboard had their parent filter values changed at the same time.
  • Resolved some display issues with the left filter navigation panel, including buttons that would be hidden when switching modes and filter groups that would collapse on each other.
  • Resolved an issue with conditional drill through that would cause child filters to fail to link if they were created after the drill through was set up.

Charts

  • Added Null Behavior options to category-based charts.
  • Resolved an issue where the horizontal axis display name on a trellis vertical bar chart would use the vertical axis display name.
  • Resolved an issue that would prevent conditional colors from showing on a time series bar chart with a metric color field.
  • Resolved an issue that would block conditional formatting on an auto chart when coloring by the metric field if no color field was present on the chart.
  • Resolved an issue where importing an area chart on a cross tab or an area chart with dimension color would not import the opacity setting for an entire series.
  • Resolved an issue where a trend could be broken and wasn't being identified as a problem field within the report builder.
  • Resolved an issue on some charts that would cause multiple points from the same line to be selected on mouse hover.
  • Resolved an issue that would cause tooltips to appear in the wrong place when using animated charts.
  • Resolved an issue that would cause the tooltip on time series forecasts to hide data in certain languages.

Stories

  • Resolved an issue that would prevent a story’s screenshot from cropping on a large screen.
  • Resolved an issue where users who were not original contributors of story templates could not create new stories based on those templates.

User Interface

  • Resolved an issue that would prevent user details from being updated if they had a password expiry date set.
  • Resolved an issue where a dashboard could be added to the Favourites area multiple times.
  • Resolved an issue that would cause an empty toolbar to be displayed to users who had not selected a dashboard to load at login.
  • Resolved an issue that would prevent users from using the drag-and-drop functionality to move certain content items to and from folders on the Browse page.
  • Resolved an issue that would prevent changes to the Custom Share Email Sender config fields from being saved when client orgs are enabled.
  • Added an option to disable text encoding/escaping for the Action Button URL formatter (learn more).
  • Resolved an issue where canvas widgets could not be sent backwards or forwards on the canvas when grouped.
  • Resolved an issue that would cause the Publish pop-up to appear when changing tabs in the Model step of the View Builder.
  • Resolved an issue that could cause the Prepare step of a view to stop loading.
  • Resolved an issue where the toggle changes on the Performance section of the View Options panel would not be saved.
  • Resolved an issue where changing the canvas width via the Dashboard Properties panel would cause the sub tabs selector menu to disappear.
  • Resolved a positioning issue with the Action sub-section of the Properties panel on static layout dashboards.
  • Resolved an issue that would prevent the export of SQL when requested via the SQL Statement tab of the Information popup for a dashboard.
  • Resolved an issue where sticky global containers would not inherit the dashboard background color.
  • Resolved an issue that would prevent the Legend Title and Description formatting fields from updating on a report.
  • Resolved a display issue that could occur when hiding the first field in a cross-tab report.
  • Resolved an issue that would cause multiple scrollbars to appear on a report upon opening a dialogue box.
  • Resolved an issue that would prevent users from editing conditions with NULL/NOT NULL operators in the Conditional Formatting pop-up.
  • Resolved an issue where Jasper reports with multiple filters would incorrectly display duplicate filters.
  • Resolved an issue that would cause the Select All toggle on checkbox lists in the filter panel to stay on after resetting the filters.
  • Resolved an issue that would not allow users to change the entry style of a view-level filter on dashboards.
  • Resolved an issue that would prevent the date filter from functioning correctly upon clicking apply a second time.
  • Resolved an issue that would cause HTML characters to be displayed within the popup text when linking filters.
  • Resolved an issue that would cause the filter control panel to display out of bounds in some languages.
  • Resolved an issue that would cause the Reset link to be incorrectly greyed out instead of clickable.
  • Resolved an issue that would cause the left side nav filter panel to remain open after applying filter updates.
  • Resolved an issue with client orgs that would cause the left side navigation to disappear on dashboards that used a different navigation style setting to their parent org.
  • Resolved an issue that would allow zooming out to one level further than allowed on a GIS map.
  • Resolved an issue that would prevent changes to the Chart Series Settings panel from saving when there were too many categories on a chart.
  • Refreshed the Create New Presentation pop-up design including easier scrolling and visible theme titles.
  • Resolved an issue on published presentations that would allow a user to right-click on a slide to see the Edit option.

Translations

  • Improved some phrasing in our French UI.
  • Added short month names to the Thai translation so they are shown correctly on the calendar.



Must-read documentation

The following documents highlight the new features in the latest versions of Yellowfin.


Yellowfin 9.6

Yellowfin 9.6 contains some new tools that improve and enrich existing functionality, such as major enhancements to data storytelling, new widgets, better visualization tools and a new SAML user interface. 

For more detailed information on these features and more, take a look at our website, or read the more detailed release notes below.

Enhancements

Infrastructure

  • Integrated some SAML authentication functionality within Yellowfin, including an identity provider-initiated flow (learn more).
  • Upgraded Liquibase library version to 4.3.2.
  • Upgraded the Underscore library to version 1.13.1.
  • Updated the JDBC connection string for our standalone importer to support Oracle Service connection syntax.
  • Optimized dashboard loading speed by reducing the download size.
  • Added more detailed error logging when using the JavaScript tab in code mode.

Data

  • Improved performance of OLAP connections and added support for a new method in the Olap4j library.
  • Added the Default Dataset parameter for BigQuery datasource connections (read more).
  • Added an advanced configuration option to prevent offline data sources from being flagged as unavailable (learn more).
  • Changed the storage of numeric freehand SQL calculated fields at report level from dimensions to metrics.

JS API

  • Implemented an option to export content via a function call in the JS API.
  • Implemented the option via the JS API to log out a user from the current session and log in another user (yellowfin.newSession — learn more).
  • Added functionality to the JS API to create filter elements based on either a filter object or FiltersAPI so they no longer need to be attached to a piece of content.
  • Extended and improved the functionality of JavaScript Charts by exposing the Report API (including the Filters API) for use with JavaScript Charts (learn more).

REST API

  • Added plugin management endpoints to the REST API.
  • Added functionality to the Categories endpoint of the REST API so it can now be used to create new categories, get a single category, delete a category and refresh caches that contain category data.
  • Improved REST authorization error responses with additional error codes and more meaningful text.

Content Export

  • Updated report exports to XLSX format to include section summaries.
  • Added a dropdown list to select which line delimiter to use in exported CSV reports (learn more here and here).
  • Added the option of exporting conditional format icons as scalable vector graphics into DOCX files (learn more here and here).

Filters

  • Added the option to customize broadcast email subject lines through filter tags (learn more).
  • Added an option to allow for the unrestricted display of all possible filter values in the filter prompt, regardless of other filter value selections (learn more).
  • Enhanced dashboard display to allow global filters to be fixed in place so they are always visible during scrolling (learn more).

Charts

  • Added the option of sorting by reference code to more chart types with dimension color to both the dimension axis and the color field.
  • Added a logarithmic scale option to the numeric axes for all suitable chart types (learn more).
  • Added new multi pie chart display options including sorting and font label formatting.
  • Added an option to force smaller charts to show their axis title (learn more).
  • Added an option to apply report data formatting to the numeric axis of a chart (learn more).
  • Enabled category spacing to time series-enabled stacked bar charts.
  • Improved the positioning of labels on horizontal overlay charts (learn more).

Stories

  • Implemented the option to edit default filter values on reports embedded in a story from within the Story page (learn more).
  • Improved the content of copied stories by discarding the original story’s author and collaborators.
  • Improved story layout by matching caption width to image width.

Widgets

  • Added two new widgets to dashboards and presentations (learn more here and here):
    •  a video widget that will embed videos from popular online video platforms; and,
    • a data storytelling feed widget to display stories from a specified content folder to end users, and that allows users with write access to select existing stories to use as templates for new stories.
  • Updated the Widgets icon and list on the canvas toolbar (available in Edit mode).

User Interface

  • Re-enabled footers on dashboards and added a system configuration toggle to enable dashboard footers for static layouts (learn more).
  • Improved the content of approval request notifications in activity streams by including the approval requestor’s descriptive text.
  • Added an Omit radio button to pop-up filter radio button lists to clear an existing selection.
  • Added a button to the dashboard to exit full-screen videos.
  • Added new buttons to select and deselect tags in the Advanced Search dialog box for adding reports to a dashboard.
  • Enabled the Slides panel for faster navigation in preview mode and for published presentations.
  • Changed how Story banners are cropped for thumbnails in timeline items by cropping from the centre instead of from the left.
  • Improved text alignment of the dropdown text box when adding reports to stories.
  • Updated the instructional text on the Browse page.
  • Updated the phrase "Automated Insights" to "Assisted Insights" throughout the UI for consistency.

CSS

  • Added CCS variables for key colours in the UI to simplify reskinning (learn more).
  • Added CSS classes for sparkline images displayed in Signal widgets based on their change sentiment value of positive or negative.

Fixes

Infrastructure

  • Resolved an issue where, after exporting to PDF and sending via email, Yellowfin would continue to check for export activity.
  • Resolved a performance issue when rendering a large amount of cached filter values into a report or dashboard.
  • Resolved an issue that could sometimes cause high CPU usage when running reports and receiving export notifications.
  • Resolved a latency issue that would prevent chart color defaults in the Admin area from saving.
  • Removed unused jQuery resources after upgrades.
  • Resolved an issue where the command line installer would incorrectly state that it had installed the tutorial data.
  • Resolved an issue where upgrading from Yellowfin 7 would cause the Browse page to hang.
  • Resolved an issue that would cause an upgrade from Yellowfin 8.0.8 to halt if the license file could not be found.
  • Resolved an issue where a license with multicast disabled would affect the user's ability to use webservices when saving reports.
  • Resolved an issue where a license with concurrent mode disabled would give an incorrect licence breach warning.
  • Improved security by implementing a feature that allows the two-way encryption key to be replaced with a custom key.
  • Resolved a potential security vulnerability with the activity stream.
  • Resolved a potential security vulnerability when exporting reports to PDF and DOCX formats.
  • Resolved a potential security issue with the translation import/export page.
  • Resolved a potential security issue when adding users through the User Import window.
  • Resolved a potential security vulnerability in the Story Editor and its controls.
  • Addressed a potential XSS issue with custom header and footer includes.
  • Resolved a potential access control issue on private discussion streams.
  • Resolved an issue that would allow edit access to views stored in a secure folder.
  • Added a nonce to every application request to prevent duplicate submissions (learn more).
  • Resolved an issue that could cause an unexpected error when performing chart brushing when Yellowfin was installed on an HSQL configuration database.
  • Resolved an issue where Datasource Creation and Datasource Edit actions would fail when the datasource contained thousands of schemas.
  • Resolved an issue that would cause certain reference code synchronisation jobs to fail.
  • Resolved an issue where client orgs would not display Signals analyses based on the views from the primary org.

Data

  • Resolved an issue where applying a Boolean filter with a BigQuery data source would cause an error to appear.
  • Resolved an issue where BigQuery filters would throw SQL errors if they contained apostrophes.
  • Resolved an issue that would cause a "resource exhausted" error in the Google Sheets connector (learn more).

JS API

  • Resolved an issue with the Yellowfin JS API, which would overwrite any other copies of jQuery with the global copy included with the JS API.
  • Resolved an issue that could prevent CSS from loading within the JS API with certain proxy and firewall configurations.
  • Resolved an issue that would prevent signal lists from displaying properly when embedded in the JS API.

REST API/Web Services

  • Resolved an issue where the TESTIMPORTCONTENTNOVALIDATION web service call would still perform validation.
  • Resolved an issue where client organization substitute data sources would be hidden when using SOAP services and the REST API.
  • Resolved an issue with the SOAP web service function SAVECONFIGURATION which would not update for a few specific configurations.

Imports

  • Resolved an issue where importing an older report would fail if a chart had multiple reference lines with multiple colors defined.
  • Resolved an issue that would cause bulk user imports to fail on Yellowfin instances using Oracle databases.
  • Resolved an issue where filter links on a dashboard with code mode could break when imported.
  • Resolved an issue where importing code mode dashboards with images could lead to the wrong ID for some images, breaking their display.
  • Resolved an issue with transformation flows where a large delimited file could not be extracted.
  • Resolved an issue with ETL item import that could prevent reports from being editable.

Content Export

  • Resolved an issue where switching export types via the popup would stop an export.
  • Resolved an issue that would cause special characters in HTML fields to be exported to XLS as HTML entities (eg, “&aacute;” instead of “á”).
  • Resolved an issue where exporting a co-display tabbed report to some formats would export only the content from the first tab.
  • Resolved an issue where the “shrink to fit page width” setting would not shrink for co-display report exports.
  • Resolved an issue with some versions of Java that would prevent the PDF exporter from starting.
  • Resolved an issue where switching export types via the popup would stop an export.
  • Resolved some layout issues for PDF exports which would cause:
    • early page breaks on some pages;
    • excess whitespace when the “Scale to Fit Page Width” option was enabled;
    • certain images to be misplaced on a canvas when shrink to fit was enabled;
    • some SVG images to be rendered at low resolution;
    • some table borders to go missing;
    • the view summary to go missing when using a preferred PDF font;
    • the report title and description to be wrapped at report width (rather than page width);
    • blank PDFs when exporting the first slide in a presentation with the Export Slides ‘Current’ radio button selected;
    • some translated words on charts to appear in their original language; and,
    • row-based reports on dashboards to go missing.
  • Resolved an issue that could cause reports to export as blank PDFs on some Java versions.

Views

  • For customers upgrading to 9.6, we switched on the ‘Show Duplicate Records’ toggle for all drag and drop views to avoid excess preview processing times.
  • Resolved an issue that would stop a valid view-level calculated filter from being saved.
  • Resolved an issue with view-level cached filter group filters, which would not automatically link correctly when added to a filter list.
  • Resolved an issue that would prevent the Show Duplicate Records toggle from functioning in views.
  • Resolved an issue where a view-level Freehand SQL calculated filter could not be saved after editing.
  • Resolved an issue that would prevent the download of view summaries for SQL views.
  • Added an optional configuration for Yellowfin to create SQL statements with views created from an identical data source to resolve a 7.1 upgrade issue where queries would display incorrect data.

Dashboards

  • Resolved an issue that would prevent users with only the Personal Dashboard role function enabled from creating private dashboards.
  • Resolved an issue where cloning a view used by a report on a dashboard would not update the dashboard filter settings.
  • Resolved an issue where filters applied on the dashboard would be cleared after reloading the page.
  • Resolved an issue where an enabled Dependent Values option in a filter hierarchy would have no effect on the child filter value list when switching back to a dashboard tab with previously applied parent filters.

Reports

  • Resolved an issue that would cause a user to lose read access to reports if private report sharing was disabled in the user’s role.
  • Resolved an issue that would cause Freehand SQL reports to automatically suppress duplicate cells.
  • Resolved an issue where manually sorting the order of a table column would cause the new order to persist even after resetting it.
  • Resolved an issue where reports created by the Google Analytics connector would cause system errors.
  • Resolved an issue where nulls would only display as zeros on column totals when “Nulls as Zeros” column formatting was enabled for cross tab reports.
  • Resolved an issue with the Division By Column(s) advanced function which would treat a calculation result of zero as null.
  • Resolved an issue where a drill through to a report would not work after switching sub tabs and returning.
  • Resolved an issue that would prevent the display of a report drill through link when the target report used an advanced user prompt filter.
  • Resolved an issue where drill through report settings could not find sub query filters from the target report.

Filters

  • Resolved an issue where previously applied filter values would not be cleared when a bookmark was applied.
  • Resolved an issue that would prevent the option to use min/max values for cached filters from saving.
  • Resolved an issue that would prevent filter values from being obtained for reports created from Freehand SQL views with access filters enabled.
  • Resolved an issue with Drill Through to Dashboard that would cause both the values of a Between filter to be read as one value.
  • Resolved an issue that would prevent a drill through link from being set when using a default child value for a mandatory filter.
  • Resolved an issue where the operators ”In List” and “Not In List” would not accept a filter value of zero.
  • Resolved an issue where using action buttons to reset a “between” filter would not fully reset the filter results.
  • Resolved an issue where report filters would automatically replace custom regional decimal separators with default full-stops.

Charts

  • Resolved an issue where custom colors would not show on multi pie charts.
  • Resolved an issue where custom color series would not work on a cross tab-based chart when using a Date Part formatted value.

JS Charts

  • Resolved an issue where dynamically scaled JavaScript charts would fail to render correctly when published.
  • Resolved an issue that would cause JavaScript charts to disappear on the chart canvas.

Broadcasts

  • Resolved an issue where a broadcast would stop sending content to any remaining valid recipients after encountering a single failed delivery address.
  • Resolved an issue where broadcast schedule jobs would sometimes be marked as successful despite some of the reports failing to run.
  • Resolved a timing issue in the Task Scheduler which would cause duplicate task runs in a clustered environment.

User Interface

  • Resolved an issue where an "unsaved changes" warning would show when switching from the Email tab to another tab on the Configuration page in a newly added client organization.
  • Resolved an issue in user group management where clicking the Add button for a dashboard tab before selecting a tab would cause an error.
  • Resolved an issue that would cause the top button on the navigation menu to overlap with other buttons when a user’s profile was disabled.
  • Resolved an issue that would cause some specific escaped characters to be displayed.
  • Resolved an issue where the yellow Create button would disappear after opening the screenshot option from the activity stream.
  • Resolved an issue that would not the count stories and views in the favorites count on the timeline.
  • Resolved an issue that would cause the timeline Connections panel to omit the display of contacts followed.
  • Resolved an issue where license reminder values would not load correctly on the license reminder page.
  • Resolved an issue where a broken content folder could cause the New Folder pop-up to omit the Folder Hierarchy section.
  • Resolved an issue where the export search would not work if there was a broken content folder in the system.
  • Resolved an issue that would prevent client organisation reports from launching if CSRFFilter was enabled.
  • Resolved an issue where discussion streams could not be deleted.
  • Resolved an issue that would prevent comment and task deletion from discussions with list view layouts.
  • Resolved an issue where editing a task comment from the discussion panel would not open the popup for editing.
  • Resolved an issue with an incorrectly labeled button when saving views as drafts.
  • Resolved an issue where the field list in the Field Settings dialog box of the view builder would disappear after a failed attempt to delete a column.
  • Resolved an issue where changing an action button font could cause vertical misalignment.
  • Expanded the maximum width of custom formatting labels to prevent overlaps in other languages.
  • Resolved a hover icon display issue where the chart/report toggle icon on a dashboard would default to show the chart image.
  • Resolved an issue where presentations would be displayed upon login instead of the dashboard.
  • Resolved an issue where resizing a dashboard canvas with the drag handle would display on the screen but would not be saved.
  • Resolved an issue that could sometimes cause an error when loading a dashboard page.
  • Resolved an issue where displaying the page title, user and role information in the header would cause whitespace when viewing dashboards on an iPhone.
  • Resolved an issue where an unnecessary horizontal scrollbar would be present in Dashboard Edit mode.
  • Resolved an issue where selecting ‘shrink to fit’ on a dashboard tab would inadvertently set the dimensions to zero.
  • Resolved an issue where the word ‘Reports’ would incorrectly display when selecting other content types to add to a dashboard.
  • Resolved an issue where dashboards would not respect custom widths set for report columns (read more).
  • Resolved an issue that would cause long reports to overflow their bounding box on static layout dashboards when the Auto Height option was enabled.
  • Resolved an issue that would cause breadcrumbs to work incorrectly on a co-display report with drill through enabled.
  • Resolved an issue that would prevent filter list display names from being renamed or hidden in real time when editing dashboards.
  • Resolved an issue where drill through popups would not display in full-screen dashboard mode.
  • Resolved an issue that would cause report tabs with long translations in other languages to overlap in edit mode.
  • Resolved an issue where a secondary scroll bar would appear in the Create Simple Report View pop-up.
  • Resolved an issue where operands breadcrumbs would sometimes display incorrectly.
  • Resolved an issue that would cause subtotal rows to display the title text from the row above.
  • Resolved an issue where a row highlight color set in the report builder could not be removed.
  • Resolved an issue where the value list display limit would be ignored for checkbox filters.
  • Resolved an issue with a missing scrollbar for filters with more than twenty options displayed as radio buttons.
  • Improved the layout of long-width filters and their control buttons.
  • Resolved an issue where drill down to filter links would not refresh when drilling up multiple levels using breadcrumb navigation.
  • Improved the display of left-side filters on dashboards by realigning the magnifying glass.
  • Resolved an issue where filters could not be applied on a dashboard if the Apply button style was configured to be a link instead of a button.
  • Updated the descriptive texts for report filter settings, which were around the wrong way.
  • Resolved an issue that would cause text filters to set cursor focus to the bottom filter on page load.
  • Resolved an issue that would cause long-running reports to run without providing the user with options to cancel or to run it in the background (learn more).
  • Resolved an issue where the PDF export panel would not render correctly for the older (V1) PDF plugin.
  • Added a loading indicator to the report broadcast page while broadcast instances are loading.
  • Resolved an issue where broadcast failure notifications would not activate when enabled through the Administration settings.
  • Resolved an issue where story screenshots would render partially transparent.
  • Resolved an issue that would cause slide thumbnails to break when flicking through slides too quickly.
  • Removed an unnecessary warning for presentations without reports on the import/export page.
  • Updated some UI text inconsistencies on pop-up displays and when returning to a presentation from a report that would incorrectly display “Dashboard” instead of “Presentation”.
  • Resolved an issue where changing the UI language would not update the language or the total color on a waterfall chart.
  • Resolved an issue that would cause sectioned charts to appear without a scrollbar on dashboards, making all other sections of the report unreachable.
  • Resolved an issue which would cause long time zone text to overlap the down arrow next to it in step 2 of a Signals Analysis.

Translations

  • Updated the German phrasing for "Present" in our German translation file.
  • Resolved an issue where the run errors for broadcast failure messages would sometimes show a resource string rather than translated text.
  • Resolved an issue where delimiters would be displayed with translated text.


Breaking changes

Infrastructure

  • Upgraded the BigQuery connector to only accept JDBC 4.2 specification drivers (learn more).


Yellowfin 9.5.1

As a follow-up a few days after release 9.5, we addressed a few more issues that appeared at the time of release.


  • Resolved an issue that would prevent configuration settings being saved on the System tab in a client org.
  • Resolved an issue that would prevent CSS files from loading in certain cases when content was embedded via the JS API.


Yellowfin 9.5

This software release offers streamlined processes and functional improvements to the existing toolset. Yellowfin 9.5 offers a faster experience, with enhanced caching speeds for data prep and the option to run large PDF exports in the background. We’ve added some new configuration options based on customer feedback.

For more detailed information on these features and more, read the more detailed release notes below.

Enhancements

Infrastructure

  • Upgraded Jackson Databind libraries to 2.12.1.
  • Updated Tomcat to version 9.0.43.
  • Upgraded commons-io from 2.2 to 2.8.0.
  • Reinforced security in the dashboard approvals workflow.
  • Added a server configuration field to adjust the maximum upload file size (learn more).
  • Implemented a new JWT entry mechanism that will accept a JWT token and use the contents to provision a new session (learn more).
  • Improved JavaScript loading speed on some pages.
  • Improved performance when editing views by caching table metadata, which reduces latency when using large views or slow datasources.
  • Improved performance for Snowflake datasources.
  • Added an option to record unsuccessful login attempts for non-users in the Yellowfin event table (learn more).
  • Implemented a configuration item to blacklist certain event types from being added to the Event log.
  • Improved logging for ReportEditKey validation.
  • Added DB-level support for GMT offset timezones.

JS API

  • Added a new PublishUUID attribute that replaces the use of the WidgetUUID attribute in code mode/JS API/code widgets for new and updated widgets. This allows users to identify widgets in a more unique way with a persistent identifier across dashboard edits and versions (learn more here and here).
  • Scoped the CSS of embedded content to prevent our JS API styling from leaking into external pages (all elements are now children of app-report, app-dashboard, app-story or div.yfContainer).

REST API

  • Resolved a REST API issue where sometimes a server/database error could cause a 401 response to be returned instead of a 500 response.
  • Updated the version handling of all REST API endpoints (no change for consumers).

Content Export

  • Improved story PDFs when exported to large pages up to A0.
  • Implemented notifications for lengthy PDF export downloads, and improved the PDF download process to continue after navigating away from a page.
  • Added a security check to ensure that PDF export cannot be performed without the required role function.
  • Added the option to share a dashboard as a PDF via email.
  • Implemented the option to add dashboards to the export list via the Export dropdown menu.
  • Added the option to save the current settings of the export panel for PDF.
  • Added the option to select which sub tabs and slides to export via PDF.

Reports

  • Improved chart navigation by adding a Drill Up menu option to the pop-up menu after drilling down to the Other segment.

Filters

  • Added new options for determining whether other report filters are applied when caching filter values, and for limiting the complexity of the queries used to load cached filter values (learn more).
  • Added the choice to enable optional filter values for Freehand SQL (this requires proper parameterised SQL text), allowing users to enter a value into a user prompt, or leave it blank, for Freehand SQL filters.
  • Improved the robustness of filter loading when directing a user to a dashboard via SSO.
  • Improved the Dashboard Properties panel to include additional configuration options when the Left Filters toggle is enabled in edit mode.

UI

  • Added additional font sizes to drop downs for charts
  • Added input arrows to the numeric inputs within the background section of a canvas widget.
  • Added tooltips for:
    • the Copy and Delete tools within Present;
    • each blueprint report widget and changed their order; and,
    • the Broadcast tool for dashboards.
  • Added a button to exit full-screen mode for Present.
  • Improved the Properties panel for widgets to hide additional border options if no border style is selected.
  • Improved visibility of all canvas widgets during drag and drop by making the dragged widget semi-transparent.
  • Changed the widget action toolbar to pop up only when a widget is clicked on, rather than hovered over.
  • Changed the default focus of the pop-out Dashboard Properties panel to the Sub Tab section, and of the Present Properties panel to the Slide section.
  • Added the keyboard shortcut CTRL+A/CMD+A to select all widgets on a draft canvas.
  • Improved dashboard edit mode by suspending GIS map user tools, preventing accidental navigation and zooming (still available in previews and published dashboards).
  • Improved the text in the User Access dialog box for Present.
  • Improved the automatic filter linking popup confirmation message.
  • Updated the layout of descriptive text for the Rules field in the Conditional Formatting dialog box.
  • Improved field alignments and the appearance of the Schedule Manager and Dashboard Manager.
  • Improved the aspect of dashboard names in the dashboard tabs header so they occupy as much space as possible.
  • Improved spacing and layout of the Data Interactions dialog box for linked interactions and for the Signal Cache Settings dialog box.

Image Manager

  • Enhanced the Image Manager to accept uploads of a broad range of image file types, including animated GIFs (learn more).
  • Reimplemented the option to globally replace an image within the Image Manager (learn more).
  • Added the option to move an image between the My Images and Corporate Images repositories (learn more).
  • Streamlined the performance of how images are loaded in the Image Manager.

Signals

  • Resolved an issue where Signals could be filtered by job in Yellowfin version 9, but not in version 8.

Fixes

Infrastructure

  • Resolved an issue that would cause an error when loading a user avatar that was set through the mobile app.
  • Resolved an issue where the custom Surname attribute would not be applied during the LDAP login process.
  • Resolved an issue where users from nested client org groups could not be contributing members to the parent group.
  • Resolved a memory leak when using paginated tables on a dashboard.
  • Resolved an issue that would cause background threads such as the Task Scheduler to hang.
  • Resolved an issue that would prevent an email server configuration from saving correctly if the encrypted SMTP server password contained special characters.
  • Resolved a potential XSS (cross-site scripting) vulnerability within the Datasource Name field when creating some types of data sources.
  • Resolved a potential XSS vulnerability within the local time code parameter on the Broadcast Management Page.
  • Resolved a security issue with BroadcastAjaxAction.
  • Resolved an issue with some internal AJAX calls that would cause the responses to strip security headers.
  • Resolved an issue that would hide client organization user groups from folder permissions.
  • Resolved an issue that could display the import page to non-admin users.
  • Resolved an issue that would cause pages to stop loading when the CSRF filter was enabled.
  • Resolved event logging issues for the report delete event (it would drop for report delete and all subquery deletes); the dashboard/present copy event (it would drop when the dashboard/presentation was edited); and the import/export present event (it would incorrectly register as a dashboard event).

JS API

  • Resolved an issue where button widgets with certain actions would break when included via the JS API.
  • Resolved an issue with tables embedded via the JS API that would not display pagination controls.
  • Resolved an issue that would prevent canvas reports from functioning correctly within v2 of the JS API.
  • Resolved an issue with report series selection in the JS API which would prevent the use of field names when applying series selection.

REST API

  • Resolved an issue that would cause the REST API to fail if the super user role was enabled.
  • Resolved an issue which would allow inactive users to access Yellowfin via the REST API.
  • Resolved an issue where org configurations could not be changed via the REST API.

Data

  • Resolved an issue that would prevent filters from being added to the dashboard when using particular databases.
  • Resolved an issue that would cause a syntax error when using the != operator with Teradata reports.
  • Resolved a transformation flow issue with the Date Component transformation step would display an error during configuration.

Imports

  • Resolved an issue with imports from Yellowfin 8 or earlier where the time unit selection would not be visible on dashboards.
  • Resolved an issue which has led to improving imports to rely less on names: for source matching, Source UUIDs are now used to match sources prior to matching on Source Name; and when replacing reports during import, custom query filter sources are now matched by UUID or Name, where they were not previously.
  • Resolved an issue where importing reports could cause either duplicate header image storage or a broken header image reference.

Content Export

  • Resolved an issue that would auto-enable the Secure PDF toggle when upgrading from Yellowfin 8.
  • Resolved an issue that would prevent images from being added to report headers and footers in XLSX exports.
  • Resolved an issue with PDF export where only a single record would be displayed when a table header was enabled on a dashboard canvas.
  • Resolved an issue that would prevent a report with a logo in the header from exporting if any rows were excluded in the export.
  • Resolved an issue that would cause PDF exports to fail in environments with proxy settings in the tomcat server.xml file.

Views

  • Resolved an issue in views where renaming an underlying column would not be reflected in views or reports.

Dashboards

  • Resolved an issue where users without public dashboard roles could not view private dashboards.
  • Resolved an issue where user group default dashboards would disappear when the dashboard was edited and published.
  • Resolved an issue that would cause applied filter styles to be lost when editing or copying a dashboard.
  • Resolved an issue that would create a malformed URL for a dashboard landing page when both multi tab was enabled and the request did not include the referer header.
  • Resolved an issue where paged reports would not display correctly on dashboards.
  • Resolved an issue where time series brushing linking would not work in preview mode.
  • Resolved an issue that would prevent certain brushing links from being applied to time series charts with advanced scientific notations.
  • Resolved an issue that would cause problems when code mode content is present while adding widgets to other sub-tabs in dashboards or slides in Present.

Reports

  • Resolved an issue that led to incorrect results for report calculated fields in crosstab reports.
  • Resolved an issue with calculated fields where the required closing bracket could not be added to some formulas.
  • Resolved a client issue where a calculated field would prevent a report from displaying results unless the fields were removed and re-added.
  • Resolved an issue that would prevent the creation of SSRS reports.
  • Resolved an issue that would prevent users from disabling autorun for reports.
  • Resolved an issue that would cause an empty list in the Search Filter Values popup on tabbed reports.

Filters

  • Resolved some issues in preview mode where duplicate content would appear in content containers.
  • Resolved an issue that would cause previously applied filter values to persist on the dashboard even after logging out, overriding any default filter values.
  • Resolved an issue that would prevent dashboards from loading when an incorrect filter ID was provided as part of the dashboard URL parameters.
  • Resolved an issue where filters that shared a dependency with a Custom Query Cached on Demand filter but had a different Value List Setup type would not display filter values.
  • Resolved some issues where Oracle error ORA-01795 would occur when selecting more than 1000 values for a filter or when adding an access filter to a data source with more than 1000 values.
  • Resolved an issue that would prevent a subquery from using the parent query’s parameters as filters in other views.

UI

  • Resolved an issue where the Show Duplicate Records checkbox would not display on the Configure Union Sub Query dialog box.
  • Resolved an issue where filter buttons would still be visible after setting the filter control panel to be hidden.
  • Resolved a dashboard issue where the display chart toggle would appear on reports without charts.
  • Resolved an issue where long column names in the view builder would cause the Edit Table link to be obscured.
  • Resolved an issue where the 'Delete' text would overlap another field in the Discussion Stream Settings window.
  • Resolved an issue with the screenshot tool which would not hide the comments box when capturing reports.
  • Resolved an issue in the Advanced Search dialog box that would cause the scroll bar to overlap the drop-downs.
  • Resolved an issue that would prevent reports from appearing in Favorites on the Browse page.
  • Resolved an issue that would cause the Create New Broadcast popup to be horizontally off-centre.
  • Resolved an issue that would cause the Browse page activity stream to be transparent until an item was selected.
  • Resolved an issue where the cursor would not be visible in metric filter fields.
  • Resolved an issue that would cause text widgets undo/redo functionality to stop being synchronized with the undo/redo buttons in canvas edit mode.
  • Resolved an issue that would prevent the creation of dashboards/presentations from the top toolbar after selecting Create New View.
  • Resolved an issue that, when editing a report and using the Modern SinglePanel left navigation filter, would prevent the pop-up entry-style filter from displaying.
  • Resolved some rendering and alignment issues with locked report headers in resized browser windows.
  • Resolved an issue that would prevent dependent filter values from rendering when displayed as radio buttons.
  • Resolved an issue that would cause dashboards to continually resize when viewed on mobile devices using pinch-to-zoom.

Translations

  • Updated the Dutch translations for 'Friday' and 'Fri' to 'Vrijdag' and 'Vr' respectively.
  • Updated the translation string for the 'Other' label and legend entry on pie charts.
  • Switched incorrect numerics for midnight and noon in Spanish (now ’00’ and ’12’ respectively).
  • Updated the dashboard translation file to include filter group names and filter list names.

Breaking changes

Infrastructure

  • Upgraded internal two-way encryption to AES 256 with GCM, from Triple DES, which may cause instability/access issues with custom login windows and Java 8 (learn more).





Yellowfin 9.4.2

Yellowfin 9.4.2 further consolidates  security for Windows file systems through a Tomcat version upgrade to 9.0.41 (learn more).


Yellowfin 9.4.1

We addressed a few small issues that arose around the time we released 9.4.

Fixes

  • Data — Resolved an issue where migrating schedule records would fail upon upgrade.

  • Dashboard — Resolved an issue that would break columns of the Browse page when a user was assigned to a copied role.

  • Dashboard — Resolved an issue where assigning users tasks would cause an error.

  • Dashboard — Resolved an issue that would cause font dropdown menus to select two fonts at once.

  • Dashboard — Resolved an issue that would cause stories to be rendered in a different font.

  • Dashboard — Resolved an issue where some views would not be displayed in the Browse page.

  • Web services — Resolved an issue where the IMPORTCONTENTNOVALIDATION web service call would still validate.

Please see below for the Change Management PDF and further information on the broader Yellowfin 9.4 release.


Yellowfin 9.4

Enhancements

Content Export

  • Enabled custom fonts to be used in PDF exports.
  • Upgraded PDF encryption to AES 256-bit, with a configuration option available to revert to the old RC4 128-bit scheme (more info on config option).
  • Enabled PDF exports for Stories.
  • Implemented the ability to execute exports in the background and email the export when it’s ready.
  • Simplified the configuration of PDF export so that the External Base URL is no longer required.

Dashboards

  • Enabled content approval for dashboards and presentations.
  • Re-implemented linked data on dashboards and streamlined the process so that all possible fields are already enabled and listed into a single dropdown list.
  • Reinstated the option to toggle how a multi-chart canvas report displays (as chart or table) on a published dashboard.

Data

  • Added Kerberos support for Oracle databases.
  • Resolved an issue where users with older JDBC drivers, including Oracle ojdbc5.jar, could not see the Schema dropdown list.
  • Enabled support for Redshift Spectrum tables.
  • Added support for GEOGRAPHY and GEORGRAPHYPOINT in MemSQL data sources.

Infrastructure

  • Enabled groups defined at the Primary Org to be used for securing content at Client Orgs. Group membership defined by role or LDAP will give access at the Client Orgs where those users have access.
  • Enabled the display of members of client-visible Primary Org groups in the Admin Console at Client Orgs.
  • Added a Super User role that allows users with the role to view, edit and delete all content (learn more here and here).
  • Added a role function to optionally disable file uploads in discussion comments.
  • Added functionality to allow guest users to read Stories.
  • Upgraded performance for loading access level information when a system has tens of thousands of users.
  • Improved security through validation to prevent potential SQL injections in Freehand SQL calculated fields.
  • Improved security for XML-related processes to avoid XXE attacks.
  • Improved email security by adding an option to allow password resets via email links, avoiding potential DoS, and by modifying the on-screen confirmation message to prevent username enumeration.
  • Added a cooling-down period between emails sent from Yellowfin to avoid denial of service.
  • Implemented a new security parameter to prevent URL titles from being fetched when sharing links in a discussion.
  • Upgraded log4j, the library used for logging, from 1.2.17 to 2.13.3. The minimum supported Servlet spec has been changed from 2.3 to 3.0 (learn more here and via this KB article).
  • Added error logging to identify corrupt data in the contentmanagement table.
  • Improved file type validation for the Add Reference Code feature which allows for CSV file uploads.
  • Added a background task to clean up thumbnails of deleted reports.

JS API

  • Added functionality to embed a Story externally.
  • Added functionality to allow developers to add custom loaders through the JavaScript API (learn more).

REST API

  • Added an API info endpoint to the REST API for version info and better navigation to some previously-unlinked endpoints and top-level resources.
  • Added API version info to the System Information page in the UI.
  • Improved the REST API refresh token and single sign on responses so they now return token identifiers in the security token response model.
  • Improved error handling for the REST API to return error messages in standard JSON format.
  • Added handling for reading the requested REST API Version from custom header X-API-Accept, for clients who are not able to set/modify the Accept header.
  • Updated REST API version to 1.2.

UI

  • Improved UI text by:
    • wrapping the View field details in the Select View area of the New Report dialog box;
    • displaying long filter values via tooltips rather than overlapping text; and
    • Improving the Table Summaries fields text in reports.
  • Enhanced bookmarks for dashboard filter sets to align with the functionality of bookmarks for reports.
  • Improved the distinction between the icons for draft and active Themes.

Views

  • Added new indexes and made performance improvements to the View Import and View Activation processes.

Web Services

  • Added datasource UUID to the resources returned by the GETCONTENT web service.

Fixes

Content Export

  • Resolved several layout issues that would:
    • cause conditional formatting to overflow into the header of the following table's header if a page break occurred through a cell that was suppressing duplicates;
    • cause the background color on subtotal rows to overflow into the following table's header when a page break was present;
    • cause incorrect display of percentage bars in PDF exports;
    • cause crosstab table columns to overlap during PDF export; and, 
    • prevent line, shape and image widgets from aligning correctly during PDF export.
  • Resolved an issue where exporting a report to PDF with a company logo enabled would cause an error.
  • Resolved an issue where PDF export settings would not be saved for future use.
  • Resolved an issue where the default Admin Console setting for page orientation in the PDF export would not apply.
  • Resolved an issue that would cause PDFs intended for landscape export to actually be exported as portrait.
  • Resolved an issue where the Shrink to Fit option on PDF table exports would omit hyperlinks.
  • Resolved an issue with hyperlink formatting defaults for PDF exports.
  • Resolved an issue that would incorrectly include duplicate cell values during export to XLSX.

Dashboards

  • Re-enabled content translation to dashboards in published mode from the drop-down menu on the tab bar.
  • Resolved an issue where setting a broadcast to use Current Filter Values on a dashboard report would in some cases not apply the current filter values.
  • Resolved an issue where the filter lists did not import correctly on dashboards when no filters were turned on inside the lists.
  • Resolved an issue that would cause brush and drill filter linking to break when importing a dashboard.
  • Resolved an issue which would sometimes mismatch links when importing dashboards containing drill down hierarchies linked to filters.
  • Resolved an issue where dashboard filter values would not be applied in Assisted Insights.
  • Resolved an issue where applying font formats to lists in dashboards would not always reflect the right style in the bullet or number.
  • Resolved an issue which would display dashboard report menus and the Maximize Report option within them — even if turned off in role permissions.
  • Resolved an issue where removing and adding widgets would break brushing links.
  • Resolved an issue that would prevent brushing links in dashboards from working when the origin report was a trellis or heat grid chart.

Data

  • Resolved an issue where Oracle error ORA-01795 would occur when adding an access filter to a data source with more than 1000 associated view elements.
  • Resolved an issue where some components of Yellowfin would not work with custom authentication adapters.

Infrastructure

  • Reinstated events that had been removed for dashboard in 9.2.2 (DASHBOARD, DASHCREATE, DASHPUBLISH, DASHADD, DASHCOPY, DASHACTIVATE and DASHREMOVED).
  • Resolved an issue that would prevent a user with a duplicate email address from being updated when skipEmailDupCheck was enabled.
  • Resolved an issue that could cause multiple user accounts to be created on first login with LDAP when using Edge, Chrome or IE.
  • Resolved an issue where the Multiple Sessions and Password Reset pages would not work if the configuration option Multiple Login Logic was set to Ask and the context path was not set to ROOT.
  • Resolved a potential XSS (cross-site scripting) vulnerability within the report name in Report Builder.
  • Resolved a role issue where users could not create a dashboard when the role function for 'Disable Add Existing Tab' was enabled.
  • Resolved an issue in the Admin Console that would not update the count of dashboards accessed in the past 30 days.

JS API

  • Improved HIDEJSAPIDETAILS functionality to hide all details about the server and version of Yellowfin being run (learn more).

REST API

  • Resolved an issue that would prevent certain dates from being saved as a hardcoded filter.
  • Resolved an issue that would incorrectly update filter values set to 'Current Values’ in a share link, rather than preserving the value used at the time the link was created.
  • Resolved an issue that would not pass linked filters to co-display or tabbed reports.
  • Resolved an issue with linked filters where the combination of a filter using Pre-Defined Date Period with a filter that doesn't use it would cause an error if the child filter had no default filter value.
  • Resolved an issue that would cause an error when Minimum/Maximum Value was selected from the Report filter list.
  • Resolved an issue where a date time filter with an EQUAL operator would use BETWEEN in some SQL databases.
  • Resolved an issue where editing a report would automatically re-enable the filtering setting Remember Filter Values each time.
  • Resolved an issue with field matching logic where importing a view with a view-level filter named the same as an existing field in the existing view would cause the report to break.
  • Resolved an issue where removing multiple fields from a report could cause an exception on tables with a large number of columns.
  • Resolved an issue where altering report column fields would not update the related canvas text widget references.
  • Resolved an issue with analytic functions where adding a section to a report would cause an incorrect field reference.
  • Resolved an issue where drill down links could be created with reports where drill down was disabled.
  • Resolved an issue where a union joined report would fail with back-end exceptions.
  • Resolved an issue with duplicate values when Stored Procedure was added as a Subquery.

UI

  • Resolved an issue that would prevent Boolean filters from rendering on dashboards.
  • Resolved a CSS issue that would sometimes hide the filter refresh icon on dashboards.
  • Resolved an issue that would prevent reports refreshing when the 'Disable Report Preview' option was enabled.
  • Resolved an issue that prevented a warning message from displaying when deleting a child dashboard in a drill through from report to dashboard relationship.
  • Resolved an issue that would cause missing icon placeholders to appear on the toggles of the Dashboard Properties panel in Firefox.
  • Resolved an issue that would prevent the Share pop-up from displaying when a parameter was enabled on a dashboard.
  • Resolved an issue that caused long-running reports to the timeline to reload even when opened from the timeline notification.
  • Resolved an issue that would prevent the Timeline and Email menu options on the Long Running Report menu from being hidden.
  • Resolved an issue where Save to Disk was missing as a broadcast type option.
  • Resolved an issue where widget options would not refresh on sub-tabs when switching between static and canvas layouts.
  • Resolved an issue where having multi-tab enabled while passing an internal dashboard link to the Go To URL action of a widget would cause a loading error.
  • Resolved an issue that would cause extra dialog boxes to appear when creating a new access filter via the Access Filter Record tab.
  • Resolved an issue that would unintentionally empty the search box of text after performing a search and adding or removing a calculated field to a report.
  • Resolved an issue that would prevent the Filter Setup menu from opening on a dashboard that contained a report that the user had no access to.
  • Resolved an issue that would prevent password resets when multi-tab and the CSRF filter were used together.
  • Resolved an issue where a brand new user would need to refresh the browser manually if creating and deleting an empty dashboard.
  • Resolved an issue where columns hidden to custom user roles on the Browse page would be displayed.
  • Resolved an issue on the Browse page that would allow users to see views in a restricted folder.
  • Resolved an issue where dashboard personal broadcasts would not appear in the Personal Broadcasts area of the Browse page.
  • Resolved an issue in the Browse page where selecting multiple drafts would not display the pop-up menu of options.
  • Resolved an NPE error that would occur when trying to view the activity stream on presentations or themes from the Browse page.
  • Resolved an issue that would cause an internal error if repeatedly duplicating a slide with images.
  • Resolved an issue for client orgs where the More button on the toolbar would not open when editing a dashboard if the Navigation Style admin option was configured to Top Toolbar rather than Left Side Navigation

  • Resolved an issue that would cause the Dashboard Display Unit of client orgs to always use the Default Org Unit when setting dashboard width.
  • Resolved an issue that would prevent filters from resetting when they were linked to reports with more than two drill down levels.
  • Resolved an issue where filter groups could not be deleted from their respective filter lists.
  • Resolved an issue that would prevent reselection of filter panels in the dashboard after they had been toggled off.
  • Resolved an issue where clicking on a sub-tab of a dashboard of a presentation already in Fullscreen mode would cause the sub-tab to scale incorrectly.
  • Resolved an issue that would cause some search bars to be styled incorrectly.
  • Resolved an issue which would cause rendering problems when editing or viewing canvas dashboards.
  • Resolved an issue where a chart with variance could not be deleted.
  • Resolved an issue that would hide canvas filter lists when there was customized HTML added to the HTML tab of Code Mode.
  • Resolved an issue that would disable report exports on a dashboard when embedded via the JS API.

Views

  • Resolved an issue where a view would be processed for migration of signals entities even if there were no valid signals or signal configurations when importing or saving the view.
  • Resolved an issue that would prevent the creation of Freehand SQL views using Hive.
  • Resolved an issue that would cause drill down links to filters to break when editing a view using the clone view method.

Web Services

  • Refactored the use of the client org parameter in the user admin web service GETALLUSERS (learn more).
  • Resolved an issue where IMPORTCONTENTNOVALIDATION would cause an error 42 when trying to import older version import files via SOAP.

Breaking changes

  • Upgraded JavaScript charting libraries to 0.7.20 (C3), 2.9.4 (chart.js) and 6.2.0 (D3).

Yellowfin 9.3.1

Just a few small issues resolved soon after releasing 9.3.

Fixes

  • Back end/Admin — Replaced occurrences of hardcoded colours with corresponding CSS variables.
  • Back end/Admin — Resolved an issue where a cluster in REPOSITORY mode would not merge once partitioned.
  • Back end/Admin — Resolved an SSO login error that would occur when MultiTab was enabled.
  • JS API — Resolved an issue that would prevent the Assisted Insights results panel from closing on externally embedded content.
  • JS API — Implemented a new ReportAPI parameter that allows users to choose the parent container in which the Assisted Insights results panel will be rendered.
  • Import/Export — Resolved an issue that would produce an encoding error during XML import using SOAP/REST.
  • Broadcast — Resolved an issue that would result in broadcast problems for instances using SQLServer when they were upgraded to 9.3.
  • Broadcast — Resolved an issue that would cause some report broadcasts to include a blank PDF under very specific timing circumstances.
  • Dashboards — Resolved an issue that could result in sorting the wrong column in a report on a dashboard.
  • PDF — Resolved an issue with dashboard report PDF exports where, sometimes, cells would not span the correct number of rows.
  • PDF — Resolved an issue that would cause PDF exports to fail when a report contained a table column formatted using an Image Link Formatter.
  • PDF — Resolved an issue that would cause a messy display of any tabs on dashboards exported via PDF.

Yellowfin 9.3

With the 9.3 release, we’ve moved forward on several fronts by focussing on streamlining the user experience and making our analytic capabilities more composable. We have also enhanced existing functionality and provided more coverage for APIs. Yellowfin 9.3.1 is therefore more flexible, more robust and more fun to use. In short, we listened to your feedback and we got busy.

Enhancements

Broadcast

  • Added broadcasting support for client organization-specific external URL configuration (eg, client1.isvbiz.com, client2.isvbiz.com) (learn more).
  • Broadcast Frequency is now more flexible, with a new option to broadcast on a particular day of a particular week in a given month (learn more).
  • A dashboard can now be scheduled for broadcast. It can be broadcast as a link or as a PDF attachment (learn more here and here).
  • FTP broadcast can now optionally add a timestamp to a file name (learn more).
  • Improved text in the UI to better reflect how the minimum broadcast interval works.
  • Allowed bulk CC broadcast reporting when using ARJDBC driver. 

Images

  • Image management functionality has been overhauled. There is a new, intuitive look and feel, search performance has been improved, and images can be tagged as official Corporate Images (restricted by a role). The workflow for adding images to a Dashboard has been simplified (learn more here and here).
  • Added the ability to replace an image in Dashboard and Present canvas while retaining all its widget properties, such as opacity, dimensions, position etc (learn more).
  • Implemented image link formatting that takes an image URL from report data and wraps it in an HTML image tag to display it inline within the report table (learn more).

PDF

  • Added extra PDF export options including page size, page orientation, and saving defaults for next time (learn more). 

JS API

  • Assisted Insights can now be enabled for reports and charts embedded via the JS API (learn more).
  • Developers can now toggle certain UI features of a report by manipulating output types. Report interactions (drill down, drill anywhere, drill through, series selection, unit selection, brushing, timeslider) can be disabled when loading reports with the JS API. The API can also be used to trigger report interactions (drill breadcrumbs, show annotations).
  • Added the export menu to dashboards embedded in the JS API.
  • Drill through reports are now possible on reports loaded using the JS API. A drill through report can replace the existing report or appear in a pop-up window. You can also customize the display to suit your needs.
  • Reports can now be loaded but not automatically displayed on the page when using the reports.loadReport() function in the JS API. Also added the ReportAPI function for devs to easily create a visualisation of a report.

REST API

  • Our REST API version is now 1.1, with new endpoints added for: managing user access to organisations; licence management; role creation and management; scheduled background task management; metadata SQL query functions;   GET/threshold-alerts for fetching broadcast alerts received by a user; creating and managing categories; importing and exporting content; managing caching; and, content translations.
  • Unlocked REST admin services for non-server based licenses (only REST content services require a server licence).
  • licence management, role creation and management, scheduled background task management and metadata SQL query functions. 
  • Added an admin mode toggle, used to suspend new content creation in a Yellowfin instance, enabling zero-downtime upgrades of clustered environments.
  • Removed outdated restlet library.

Backend/Admin

  • New licences can now be deployed during a db-only silent upgrade.
  • Upgraded:
    • Upgraded jQuery library to version 3.5.1
    • Spring framework libraries to version 5.2.7
    • Google Guava Library to version 29.0
    • PostgreSQL JDBC driver to 42.2.14
    • Apache Tomcat to version 9.0.37.
    • Apache POI to version 4.1.2
    • Apache Commons FileUpload to version 1.4
    • JGroups to version 4.2.4 (see Community article)
    • Jakarta-XML web services framework to version 2.3.3
    • JasperReports library to version 6.13.0
    • SnakeYAML to version 1.26.
  • Reinforced security against XSS attacks in the dashboard builder, canvas and text widgets.
  • Enhanced the JSESSIONID cookie to support SameSite, which is slowly being rolled out in many browsers (learn more).
  • Added missing date functions to HSQLDB, Exasol and Intersystems IRIS databases, in line with existing date functions for Postgres, MySQL, Oracle, Snowflake, and SQL Server.
  • Restored CUSTOMPARAMETERS functionality to web service calls.
  • Updated the process of importing report-based views to always include their parent report.
  • Improved web service for imported views so that when an imported view replaces an existing view, the imported content folder and subfolder replace the existing content.
  • Implemented changes to allow multilevel Tomcat context paths.
  • Added a configuration option, VIEWTABLELIMIT, to restrict the number of tables returned from the database on view creation.
  • Enabled a Java Virtual Machine run parameter for UTF8 in order to broadcast reports to file with report names that contain particular UTF8 characters.
  • Enhanced session management for cluster deployments, including timeout information for remote sessions in Session Management, and the ability to remove stale sessions stored in the repository database.
  • Improved stability when Repository and Source connection pools are near saturation to prevent deadlocks.
  • Cleaned up logging and enhanced it to include Thread Id, Session Identifier and Code Function to log lines.
  • Added event auditing for user role updates in the Admin console.
  • Added the ability to set a user’s regional display preferences for decimal and thousand separators based on the language configured for that user (learn more here and here).
  • Added the option to require users to update their password at regular intervals. Interval length is adjustable. LDAP users, whose passwords are managed client side, are excluded from this reminder (learn more).
  • Added logonCheck.i4 which may be called from a browser to check if there's already an active Yellowfin session. This may be used before initiating an SSO call.
  • Enabled SSO using an AJAX call to logon.i4 with a web service token, but without an "entry" page. 
  • Removed ColumnarDB as a new datasource type (existing ColumnarDBs aren’t affected).

User Interface

  • Rewired the Undo and Redo buttons to work in code mode.
  • Totals and subtotals can now be moved to any side — top, left, right or bottom — of a report table (learn more here and here).
  • Added the ability to group data on calculated fields that span multiple sub queries.
  • Enhanced calculated fields tool to include a dropdown to set the type of calculated field before validation.
  • Added an option to show or hide the minimum/maximum value in the report filter value list.
  • Added the option to hide report names in both static and canvas dashboards (learn more).
  • Improved usability and functionality of the text widget, including easier toggling to and from edit mode, keyboard shortcuts and more (learn more).
  • Added a new text widget parameter, tablevalue, which can be used to display a table cell's content within a text widget (learn more).
  • More customization options through CSS variables for prominent colours used in the application.
  • Improved the positioning of customized UI elements such as dropdowns and tooltips on fixed-width pages.
  • Category trimming is now available on bar and column charts with dimension colours.
  • Added text alignment to numeric display charts.
  • Improved rendering of Yellowfin when embedded on a page by enabling iFrame integration and full Application Integration to work together in the same session.
  • Reimplemented the slide-out Left Nav Filter Panel style, so it's now possible to use it as a slide-out or a single widget.
  • Reimplemented drill through from Report to Dashboard.
  • Reinstated the Export List option on the dashboard content pop-up menu. 
  • Hard-coded filters can now be passed through to child reports during drill through.
  • Converted report date fields from metric to dimension for the import process.
  • Updated all date pickers to follow the global 'Week Start Day' setting.
  • Updated charts dimension values so that a null value is now shown as << null >> and an empty value as << empty >>.
  • Improved the positioning of the Add button for calculated fields.
  • Enabled the use of WKT geometry fields in freehand SQL columns. Users can also disable the geometry cache and use the non-cached WKT geometry fields.

Fixes

PDF

  • Resolved an issue where conditional format legends would lose all colours when exporting to PDF.
  • Resolved an issue where shrink to fit would not work on PDF export.

JS API

  • Resolved an issue that would prevent moveToTab from functioning correctly in the JS API when used before a dashboard finished rendering.
  • Resolved an issue where the JS API would require embedded page content to be reloaded after successful login if MultiTab was switched on.
  • Resolved an issue which would prevent the JS API from loading a report and a dashboard at the same time.
  • Resolved an issue where resetting a filter with Entry-style checkboxes would cause a JS error.

Dashboard

  • Resolved an issue where some drop-down style filters would unexpectedly appear as pop-up style.
  • Resolved an issue where linking interactions would not update when series were subquery filters.
  • Resolved an issue where accessing a bookmark through a dashboard URL would prevent the bookmark from applying in list filters.
  • Resolved an issue that would prevent users from adding filters to a dashboard filter list if a filter group with at least one filter was the last item in the list.
  • Fixed an issue that caused filter links on an imported dashboard to not show when editing the dashboard.
  • Resolved an issue that would sometimes prevent multiple JavaScript charts from being used on the same dashboard.
  • Resolved an issue that could lead to errors when importing a dashboard with a signal widget.
  • Resolved an issue where the Used By list of a dashboard would contain client org users after distributing within the primary org.
  • Resolved an issue where setting a dashboard's default width unit to percentage would affect the Present width.

Backend/Admin

  • Refactored report broadcasts to be more modular from the report code. Unlikely to cause any problems, but check your report broadcasts after the upgrade in case they're affected by the Java/JavaScript changes.
  • Resolved an issue where a field folder not in use could not be deleted if another customer on the same installation had a field folder with the same name and content within.
  • Resolved a security issue with the Android app failing to load stories.
  • Resolved an issue in clustered environments that would prevent some web.xml updates from being applied to secondary nodes.
  • Resolved an issue with memory settings, which would not set correctly for Windows Service on installation.
  • Resolved an issue where the 9.2.1 WSDL lacked the definitions for the administration schedule which prevented it from being consumed by most languages.
  • Resolved an issue with the UPDATEUSER Web Service API where user emails could not be updated.
  • Resolved an issue with an NPE being logged when calling dashboard entry and passing FilterID where FilterID has a dud record.
  • Resolved a WKT geometry-related issue where a LINESTRING would not be correctly converted to a geometry value.
  • Temporarily removed audit content from the installation bundle to work on a content issue. It will be bundled again after 9.3.
  • Restricted some source metadata calls to a particular catalog for certain databases.
  • Resolved an issue where GMT time, rather than the server time, was used as the start date when creating new users, which could prevent immediate access for newly-created users.

Import/Export

  • Resolved an issue that would prevent some filters from appearing on an imported dashboard when their report was replaced with an existing one during import.
  • Resolved an issue where categories (now known as content folders) and sub categories (now known as sub folders) were not being returned as export dependencies for a view.
  • Resolved an issue for manual and API imports of time series reports and charts that would switch time granularity and aggregation to their defaults.
  • Resolved an issue where SubQuery links could be lost during import.
  • Resolved a specific error on the view builder Prepare tab that would block XML imports.

User Interface

  • Resolved an issue that would prevent advanced broadcast from using email addresses from an edited report.
  • Resolved an issue where table conditions were being sent a null value when used in an advanced subquery child report.
  • Resolved an issue where numeric display chart formatting would be used incorrectly on a report when paging through results.
  • Resolved an issue where Approval Required reports would not appear in the active reports.
  • Resolved an issue where the column formatting option, Suppress Duplicates, would not work on column reports based on Freehand SQL queries.
  • Resolved an issue which would prevent report drill down interactions from being correctly linked to sub query filters.
  • Resolved an issue where deleting a report with restricted columns would repeatedly display a confirmation popup.
  • Resolved an issue where editing a report with a datasource offline would cause report fields to disappear
  • Resolved an issue where a configured watermark would not display on reports with a single chart.
  • Resolved an issue where the dynamic date parameter would only use DAY time measurements. 
  • Resolved an issue where a field converter could not be applied in a sub query.
  • Resolved an issue that impacted the security of views in a report sub query.
  • Resolved an issue where the folder and sub-folder for presentations and themes could not be changed in the Browse page.
  • Resolved an issue where refreshing a parent org dashboard from a client org would redirect to the Browse page.
  • Resolved an issue where adding a URL link to an entire text widget would not work if the entire text was selected.
  • Resolved a path traversal issue when using Save To Disk broadcasts.
  • Resolved an issue that would prevent the bulk deletion of draft reports from the Browse page.
  • Resolved an issue where calculated totals did not always select the correct field.
  • Fixed an issue where hyperlinks in text widgets would not work if they included forward slashes after the domain in their URLs.
  • Resolved an issue that would prevent a Signal from being assigned to an owner.
  • Resolved an issue with missing Signal correlations in client orgs.
  • Resolved an issue in the UI that would prevent changing a view to another data source.
  • Resolved an 'Oh no error' message that would appear when creating an ETL flow and using third-party connectors.
  • Resolved an issue where the Share Private Report role would disappear after an incremental upgrade.
  • Resolved an issue where changing between sub-tabs in edit mode would make the sub-tab navigation bar disappear.
  • Resolved an issue where auto chart maps would add unnecessary padding to a chart, obscuring the background layer.
  • Resolved an issue where the report multi-chart canvas would present issues in Internet Explorer when adding new widgets.
  • Resolved a number of compatibility issues with the latest version of Jasper Reports including the display or charts and images.

Filtering

  • We addressed lots of small issues around filtering, such as previous values persisting and caching issues. In detail, we resolved issues where:
    • a timestamp or converted date filter would not work as a parent dependent filter;
    • adding a new field to a view level filter group that had existing reports would corrupt the reports;
    • the Initial State Open/Closed preference for filter groups would not update;
    • filter breadcrumbs would not always contain a scrollbar;
    • creating a calculated filter would filter out calculated fields;
    • converting predefined dates of parameter filters would throw exceptions;
    • the value of dependent filters would update incorrectly;
    • in filter lists, if no new filter changes were made, the “Apply” button would not refresh reports; and
    • following an upgrade, filters would disappear from filter groups.




Yellowfin 9.2

Enhancements

Yellowfin Dashboards

Introducing the new, revamped Yellowfin Dashboard. The new version allows users to assemble creative, on brand infographic and actionable dashboards on a flexible, free-form canvas. Developer centric functionalities have been introduced to edit dashboard code and create integrated workflows. Functionality to create charts directly on the dashboard has also been added. New content objects have also been added, such as Filter Widgets, Code Widgets, Blueprint.

Learn all about Yellowfin Dashboards.

Yellowfin Present

The Storyboard has been replaced with Yellowfin Present as the presentation module. This module further enhances Yellowfin’s data storytelling capabilities. Yellowfin Present is a fully integrated presentation module designed for data led communications. This module contains functionality similar to that of the dashboard canvas. A presentation slide supports the use of multiple types of content, including live reports, text, images, shapes and icons, action buttons, filters, and even code widgets.

Learn all about Yellowfin Present.

Other main enhancements

  • JavaScript API v3: Introduced in Yellowfin 9 as beta, the new JavaScript API is now fully supported in 9.2. Rich in features, the API contains an updated UI, and a richer set of functions and events. The new API can be used when embedding Yellowfin, or used within Yellowfin in Dashboard Code Mode. See full documentation here.
  • Rest API:  The new REST API makes its debut in 9.2, providing support for administrators that want to automate back-end processes, perform administrative tasks and manage content programmatically. Importantly, the REST API also provides access to Yellowfin content for developers, enabling them to build custom experiences incorporating Yellowfin Signals, Stories, Notifications and more. Learn more.
  • Multiple tab usage: Functionality to allow Yellowfin to be safely used across multiple tabs or windows of the same browser has been added. This includes safety checks to protect against data corruption. This prevents the same content from being edited in multiple tabs concurrently. Learn more.

Dashboard & Present

  • Full screen mode: Open a dashboard or presentation in full screen with a new button. Learn more.
  • Associated reports: Associated Reports can now be created in the new Dashboards and Present. This allows users to add reports as links to their dashboards and presentations, rather than displaying full reports. Learn more.
  • Show report menu: New settings have been added to control the visibility of menus that pop up on report objects. These settings can be set to always show report menus, never show them, or only show them when a user hovers on them. Learn more.
  • Report column sorting: Report columns can now be sorted in ascending or descending order in dashboard report tables. Learn more.
  • Retain filter when jumping to report: Functionality that allows filter values applied in a dashboard to be retained when opening a report page has been reintroduced. Furthermore, we have added navigational buttons to return to the dashboard. Learn more.
  • Trigger events with dashboard widgets: We’ve expanded the Action Buttons functionality to all other dashboard canvas widgets/ objects. This means that an event can be triggered when any dashboard object is clicked. The types of events include: navigating to specific sub tabs, resetting dashboards or filters, jumping to a report or even an external link. To learn more, refer to guides on any dashboard object, such as Text, Graphics, Images, etc.
  • New action events: New events have been introduced for action buttons and all other widgets. These include: ‘Go to URL’ that navigates to an external page, and ‘Go to Sub Tab’ that navigates to any sub tab within the dashboard. Learn more.
  • Text URLs: Users can link Text widgets to external or internal URLs in the revamped dashboard builder. Learn more.
  • Default filter bookmarks: Users can now save personalized default filter bookmarks that will automatically be applied to the dashboard when first loaded, or if the filters are reset. Learn more.
  • Filter entry style change: You can change the display style of report filter entries or values within a dashboard without first changing it in the report. This allows the entry style to be changed to checkboxes, lists, pop-ups, dropdowns or radio buttons. Learn more.
  • Filter reset control: A new dashboard property toggle that changes the control of the Filter Widget’s Reset button to reset the entire dashboard. Learn more.
  • Filter button location : The setting to choose the location of the ‘Apply’ button in a filter panel has been reintroduced. Users can choose to keep the button, and other filter control options, at the top or bottom of the panel, or in both locations. Learn more.
  • Present toolbar: A new Present toolbar has been added to published presentations, with options that show users who have favorited the Presentation, as well as options to  configure user access and share the presentation with others. Learn more.

Signals

  • Step Changes Signal: The new Step Changes Signal is now generally available. Part of the Outliers detection group, a Step Change occurs when a time series moves from one 'stable' state to another. These states can be higher (called Step Up) or lower (Step Down).
    Advanced parameters related to this Signal are also introduced to configure the algorithm to the users’ needs. Learn more.
  • Renamed Signal parameter: The ‘Old Signal Notifications’ parameter used for configuring Outlier algorithms has been renamed to ‘Prevent Notifications of Older Signals’.

Reports & Charts 

  • Save to Disk Broadcast: A new broadcast type, ‘Save to Disk Schedule’ broadcast allows users to schedule reports to be saved on the local server path. Learn more.
  • Scheduled historic runs: Functionality has been added to display multiple previous executions of scheduled tasks, including broadcast reports. These historic executions also maintain a list of recipients, along with their delivery status. Learn more.
  • Sharing private reports: A new user role function, Share Private Content can be disabled to restrict report authors from sharing private reports with other users. Learn more.
  • Calculated field result type: You can define the datatype of a calculated field’s resulting column, such as Numeric, Boolean, Text or Date. In this case, the system will not perform a validation test. The option to allow the system to determine the data type is also still possible by choosing the Auto Detect option. Learn more.
  • Calculated field descriptions: A new column formatting setting has been provided for calculated fields that allows users to clearly describe the field’s purpose and content to aid report writers. Learn more (under Display).
  • Dynamic filter values: A Dynamic Filter Value configuration is now possible for dimension filters. This automatically selects the first filter value, when the default value is not available to the user, for example in case of access filter restrictions. Learn more (under Entry Style).
  • Edit charts from report canvas: Functionality to edit a specific chart from the Report’s design canvas has been re-introduced. Now you can use the Edit Chart option from the canvas widget menu. Learn more.
  • Report preview and active row default limits: It is now possible to define default limits on Report preview and active row limits through administration configurations. These settings allow default limitations to be applied to all reports, which can be changed at the report level. Learn more (under Report Settings > Builder Settings).
  • Global configurations for Axis Formatting: The Axis Formatting column setting for charts, can now be specified at the admin configuration level. Administrators can now specify default axis settings for all charts, however they can be changed at the chart level. Learn more (under Chart Settings > Axis & Plot Defaults).
  • Importing charts: In Yellowfin 9, we introduced a revamped look and feel for charts and reports with new formatting applied by default. Now, functionality has been added to ensure imported charts retain the default formatting of the version the report was exported from. Learn more.
  • View SQL: The SQL generation functionality in the Report builder has been enhanced to display SQL statements even if the report has generated an error. Learn more.
  • Version history in content folders: Version History for all new content folders will now default to ‘Current Version Only’, where no historical records are kept, to avoid large amounts of data from building up. Learn more.

SOAP Web services

  • GETUSERGROUPS web service: A new web service, GETUSERGROUPS is used to retrieve information on groups a user belongs to. Learn more.
  • Signal Session Options: Session Option parameters have been added to make a Signal page the entry point after an SSO login (see ‘Entry’ parameter), or the content page to redirect to (see ContenUUID parameter). Learn more.
  • GETCONTENT web service: Changes have been made to the GETCONTENT web service. It now also retrieves the Content’s ID. Learn more.
  • Change access level to content folders: Two content managing web services, ADDTOACL and DELETEFROMACL have been enhanced to support access levels. This means that users will be able to specify the exact access level they wish to add or remove from content folders. (Documentation coming soon.)

Other

  • Column restrictions in views: A new Access Level option called ‘Read Restricted’, has been added that provides further restrictions to access View columns. This allows only those nominated permission to write reports with restricted columns and view these columns in reports. No other users will ever be able to see these columns. Learn more.
  • Timeline notification menu: Timeline cards that mention Yellowfin content or contain links, now have a menu icon. This menu offers options to open the content in the same or separate tabs. Learn more.
  • Open content in new tab from Browse page: New options in the Browse page content menu allow you to open or edit a content in a new tab. Learn more.
  • InterSystems IRIS data connection: Yellowfin now provides support for the InterSystems IRIS database. Learn more.



Yellowfin 9.1

Enhancements

Dashboard

  • New Blueprint widgets: Introducing new Blueprint widgets for Map, Overlay, Heatgrid, and Scatter charts. Learn more.
  • From Quick Charts to advanced reports: We’ve improved the Quick Chart creation procedure, by adding a button to access the advanced report builder. Learn more.
  • Quick Chart configurations: A number of chart specific configurations have been added to further configure Quick Charts. Learn more.
  • Quick Chart imports: Dashboards imported with Quick Charts will have those charts available as regular reports, available via the Report Widget panel. Learn more.
  • Quick Chart filters: It’s now possible to create filters in Quick Charts through its properties panel. Learn more.
  • Simplified dashboard sharing: Dashboards sharing has been simplified to enable users to set share recipients without editing the dashboard. Learn more.
  • Dashboard access: User permission level on dashboards can now be changed directly on a published dashboard without going into edit mode. Learn more.
  • Dashboard subscribers: All users who have marked a dashboard as favorite will appear on top of the dashboard. Learn more.
  • Undo or redo dashboard actions: The dashboard builder now supports undo and redo for multiple changes on the canvas. Refer to this page on all buttons and features in the new dashboard builder. Learn more.
  • Object menu: A dashboard widget or object menu have been added to allow further actions to be performed on them. Learn more.
  • Report branching: We’ve added options to branch reports and edit reports in the right-click widget menu on the dashboard canvas. Report branching allows multiple charts from the same report to be added to the dashboard without running the SQL multiple times. Learn more.
  • Code Mode security: New configurations and role functions have been added to ensure that dashboard and presentation code is only edited and customized by trusted developers. Learn more. 
  • Signals List Code Widget: We’ve updated the Signals Widget by improving functionality and adding a new filter for Analysis jobs. This allows Signals to be showcased on dashboards using filters to show relevant signal data. Learn more.
  • Filter auto run & auto height: New filter properties have been added to the Dashboard. Auto Run Filters ensures filters are run when their values are changed, without using the Apply button. And Auto Height automatically adjusts the height of a filter widget to best fit all its items. Learn more.
  • Default filter values: Allows you to set default values for your dashboard filters. Learn more.


Present

  • Present Themes: Present slides can now be designed and saved as themes to be reused for other presentations or individual slides. Learn more.

Charts & Reports

  • Sparkline Advanced Function: A new Advanced Function has been added that's part of the process of creating Sparklines in report tables. Learn more.
  • Sparkline formatter: This new type of report column formatter allows arrays data to be converted into Sparklines. Learn more.
  • Action Button formatter: An Action button formatter has also been added to create buttons in report table columns. Learn more.
  • Chart Formatting: A range of new Chart Formatting settings and options have been introduced. These include:
  • Auto options: For a lot of chart settings, a new Auto option has been added. This works differently for each setting, but in most cases allows the system to choose the best configuration for the chart setting to make the chart as readable as possible. Eg: Auto in labels will hide the labels on a pie chart if it's resized to a smaller size.
  • Chart gridlines: New options to customize chart gridlines have been added. The Show Gridline setting can now be set to a new Numeric Axes option. Learn more.
  • New Accumulation function: A new function type for the Accumulation Chart Function has been added, called Running Total, that shows the total value of the chart line. Learn More.

Other

  • Passing Filter UUIDS in SSO: It’s now possible to pass Filter UUIDs when redirecting to a dashboard via the SSO login process. Learn more.
  • Chart & Configuration defaults in Yellowfin updater: We’ve made changes to our upgrade process. When migrating to version 9, users will have the option of applying Charts and Configuration level formatting defaults. This is possible in the standard GUI patch installer (learn more) and other installers such as the Silent or command line installers (learn more).




Yellowfin 9.0

Enhancements

Signals

  • The workflow to initiate a Signal analysis configuration has changed. Users are no longer required to edit or clone a View; a new ‘Create New Analysis’ button has been added to the main Signals List page. View the process here.
  • The New Lost Attribute Signal has been changed. A new ‘Maximum Insignificance’ parameter is added to further configure this Signal’s algorithm.
  • Manage Signal analyses through the new Manage Signals tab on the main page. Learn more.  
  • A new Monitor Signals tab allows authorized users to view and manage each analysis run. Learn more. 
  • You can export entire lists of Signals into a CSV file. Learn more.
  • A correlation factor is introduced in correlation analysis that determines the strength of the correlation.  Learn more.
  • Correlation analysis can now also be disabled by admins in order to speed up Signal analyses that do not require analyzing correlations. This new setting has been introduced in the Algorithm Parameters step of Signal analysis configuration.
  • You no longer have to limit a Signal to a single Story. You can now add a signal chart to multiple stories, and manage them all through the Signals page. This also means that you don’t need to request for a Signal story to be written. Learn more. 
  • It’s now easier to explore a linked Signal directly from a Story. Learn more.
  • A new admin configuration for Signals to suppress access filters from narratives has been added. Learn more.

Other

  • Yellowfin’s content font capabilities have been upgraded. Now a range of popular fonts can be used out-of-the-box. Custom font files can also be easily imported into the system. Administrators can specify default content fonts for consistency. Learn more.

Deprecated features


The following modules and features have been deprecated in this version.

  • Storyboards
  • KPI Reports and dashboards
  • Report Summary
  • Dashboard help messages


  • No labels