L2023.3 Release Notes

For a list of release dates and Sisense's end of support schedule, see Sisense Life Cycle.

Privacy and Security Information

This release contains several security related updates. We highly recommend upgrading to this latest release to take advantage of any security-related updates and benefit from the Sisense support and warranty. In addition, Sisense strongly recommends regularly testing and auditing your environment after upgrading, and periodically during your subscription term, to ensure all privacy and security settings remain in place.

Customers are responsible for controlling and monitoring your environments and are therefore in the best position to ensure the correct security settings are in place for how you use Sisense products.

Due to the complexity of Sisense products, we strongly suggest that all customers ensure that you understand how all of the privacy and security settings within Sisense work.

If you use Sisense to store/process sensitive data, it is your responsibility to review and test your implementation to ensure you are not inadvertently sharing data with unauthorized third parties. For more information on data security rules, see Data Access Security.

BREAKING CHANGES - WARNING!

The following is a cumulative list of potentially breaking changes from approximately the past 12 months, and may also include warnings about upcoming changes:

  • Analytical Engine Overview: For L2022.9 and later, if a column name has been renamed in the data model, where the previous name was linked to a filter, the filter will report an error of a dimension not found. To fix this, delete the relevant filter and recreate it using the updated column name specified in the data model.
  • The signature of the widget.changesMade() function was changed for L2022.9. This may cause breaking changes in custom scripts or plugins where it is used. All places using widget.changesMade() or widget.changesMade('someEvent') should be changed to widget.changesMade('someEvent', ['metadata', 'properties_changed']).
  • The Databricks JDBC driver was updated to version 2.6.29 for L2022.9. After upgrading the driver, the connection string requires an update from:
    jdbc:spark://<Server Hostname>:443;HttpPath=<Http Path>;TransportMode=http;SSL=1[;property=value[;property=value]]
    To:
    jdbc:databricks://<Server Hostname>:443;HttpPath=<Http Path>[;property=value[;property=value]]
    After installing or upgrading to this version, if the connection string in the system is not the required new one, change it to the new one manually.
  • The Google Adwords native connector is no longer supported because it uses Google APIs that Google deprecated. New installations from 2022.5 and up will no longer contain the Google Adwords native connector. Customers with older versions of Sisense, or who upgrade to 2022.5 or higher can use this workaround: Using Google Ads connector for EC models with CDATA Driver.
  • As of L2022.9, all API tokens created before L2021.10 must be rotated.

Release Overview

Release L2023.3 provides a number of new features and significant improvements to Sisense for Linux.

What's New

This release contains several new features. The following table lists the high-level impact (or potential impact, if any) of each of these features, and how to handle it if upgrading to this version. Continue reading the Release Notes below the table for a detailed explanation of each feature.

Feature Issues and Actions to Consider
Color Palettes  
Custom Connector for Live Models  
DateDiff Functions with Now() as a Parameter  
Duplicating Data Models with Direct Relations This operation is irreversible. That is, there is no operation to convert the direct relations back into a shared relation group.

Color Palettes

Previously, each dashboard object included a palette color object with a list of the colors used by the dashboard. This palette has been replaced with a palette reference ID on the instance. Therefore, changing the colors of a palette will immediately affect all of the dashboards which are (by reference) using that palette.

When exporting a dashboard to a .dash file, the palette reference ID is replaced with a full color object, so that the user will have the same Look and Feel when importing across different environments.

When importing a palette, the system checks if a palette with the same configuration already exists:

  • If one already exists - The palette color object is replaced with the corresponding palette reference ID.

  • If one does not exist - The color configuration remains “as is” in the imported dashboard object. In the UI, the palette will be designated as a "Non-system" palette.

When a new dashboard is created, and a specific palette is not selected by the user, a palette will be assigned automatically according to the current user's Look and Feel theme.

Custom Connector for Live Models

Sisense provides a platform for you to create a connector for a non-native JDBC-supported data source.

Note:

Some data sources may not fully support all functionality used by Sisense and, therefore, some functionality may not work.

The following are three common use cases:

  • A custom connector to an ElastiCube model. This is used for CData connectors. See Connecting to Custom Connectors with JDBC Drivers

    Example:

    Connecting Sisense to an ElastiCube to Google Analytics using a CData driver.

  • A custom connector to a Live model using one of the Sisense-provided dialects. This is used to connect to a live model, where the data source can work with a dialect that is similar to the Sisense-provided dialect.

    Example:

    Connecting Sisense to a live Amazon Aurora PostgreSQL source that can use the Sisense-provided PostgreSQL dialect with Amazon Aurora JDBC driver.

  • A custom connector to a Live model using your own custom dialect.

    Example:

    Connecting Sisense to a live MongoDB source with a custom dialect.

See Deploying a Custom Connector and Creating a Custom Connection.

DateDiff Functions with Now() as a Parameter

A dashboard designer can calculate the difference between a value of a date dimension and the query execution time (according to the Sisense server).

Now() can be used as the <end time> parameter in the following formulas:

  • Day Difference

  • Hour Difference

  • Minutes Difference

  • Month Difference

  • Quarter Difference

  • Second Difference

  • Year Difference

See the description of each of these formulas in Dashboard Functions Reference.

Duplicating Data Models with Direct Relations

This feature duplicates a model and converts all shared relations to direct relations between each pair of tables in the shared relation group.

ElastiCube models can be duplicated in one of three ways:

  • Duplicate Model - Duplicates the model as it is.

  • Duplicate As Live - Duplicates and converts an ElastiCube model to a live model.

  • Duplicate with Direct Relations - Duplicates the model and converts all shared relations to direct relations between each pair of tables in the shared relation group. In this structure, the links between each pair of tables is displayed, and each link can be deleted individually.

    Note:

    • This operation is irreversible. That is, there is no operation to convert the direct relations back into a shared relation group.
    • When you use Duplicate with Direct Relations, the duplicated model that is created has direct relations. Therefore, if you then duplicate the duplicated model, the Duplicate As menu will only show the first two options, Duplicate Model and Duplicate as Live.

    Example:

    In this example, the ER, Diagnosis, and Conditions time of stay tables all connect to the Admissions table with a diagnosis ID.

    When duplicating this model using Duplicate with Direct Relations, the resulting model shows the direct relations between each pair of the ER, Diagnosis, Conditions time of stay , and Admissions tables.

    In this way, it is possible to delete the link between any two of the ER, Diagnosis, Conditions time of stay, and Admissions tables, as required.

See Duplicating Data Models.

Configuration Parameter Changes

Name New Description Location Default
AlwaysDirectRelations Y Imports and creates new data models / duplicates data models with direct relations Base Off

What's Improved

AI Features

The AI features, including Advanced Trend, Forecast, and Explanations, no longer require access to our cloud services.

Dashboard Color Palette

The color palette utilization in sample and usage analytics dashboards was improved. The colors are taken directly from the palette of the look and feel theme, so there is a chance the colors might be a bit different.

Simply Ask (NLQ)

  • The description has been removed from the query drop-down list for historic and starred queries (and was already not displayed for next best). Upon clicking a query, its description is displayed at the top of the window.

  • Queries that are targeted at a numerical column with implicit member(s) mentioned in the query now not only match the column, but filter the column values as well.

Analytical Engine to ElastiCube Models

The analytical engine is the default query generator for self-deployed environments when loading dashboards over an ElastiCube model.

For more information, see Analytical Engine Overview.

Legacy Query Engine Framework Upgrade

Core technologies used by the legacy query engine were updated to enhance the security and increase stability.

What's Fixed

Add-ons

  • The “Jump to dashboard” (JTD) functionality now passes the “Break by” filter to the target dashboard when JTD is invoked using the right-click context menu for any value or column.

  • Columns translated by metadata add-ons are now returned to the customer when searching in the data browser of the widget.

  • Blox is now registered and works as expected after the plugin's pod restart.

Analytical Engine

  • Improved support for users with multiple (>150) security rules without requiring more computing resources.

Analytical Engine Connectors

  • Google BigQuery - Filter on a Boolean dimension now works with no errors.

Dashboards and Widgets

  • The “&” symbol now displays correctly when used in the text of category labels for bar charts.

  • Singapore is now displayed as expected on the Area Map widgets.

  • The Share/Republish icon is now displayed in shared dashboards when the widget is deleted, as well as any other changes affecting the asset.

  • Clear selection is now working as expected in the widgets with disabled dashboard filters.

  • Custom Fiscal Year now starts as expected on bar charts.

Embedding

Sisense.js

  • Using the destroy method on an empty dashboard no longer returns an error in the developer tool.

Explanations & Trends

  • When using Explanations or Trend, the UI look & feel continues to display according to your settings, and does not affect the entire Sisense UI.

  • Tooltips for Explanations Beyond Time now display correctly.

  • Under possible explanations, the incorrect y-axis label for the "% change" view has been fixed.

Infrastructure

Authentication

  • When the POST /api/v1/authentication/logout_all endpoint is invoked without a valid token it now works as expected and returns status 401 and the message “Missing or invalid token”.

Simply Ask (NLQ)

  • The case specified in queries for non-indexed members is now the same case suggested in the output.

  • Non-indexed members now will not match against date columns at all.

  • If text “X” is a non-indexed member candidate and cannot be converted to a number (float) then it will not be matched against numeric columns.

  • For a Custom tenant, disabling NLQ on a cube now disables it for the dashboard, even if the dashboard was created after disabling NLQ.

Web Access Tokens

  • The v1/dashboards/{id}/widgets/{id} endpoint now works as expected when using Web Access Tokens.

Deprecations

Narration REST API Deprecations

The following narrations specific REST API endpoints have been marked as deprecated due to the planned migration to another internal provider:

Known Issues

Active Directory

As of Node.js v16.19 the TLS algorithms have become stricter. Customers who use Active Directory with a client certificate now need to make sure this certificate is hashed with an algorithm stronger than SHA1, (such as SHA256).

API Gateway

There is an API Gateway memory leak which may cause extra memory consumption, performance impact, and eventual failures once the pod reaches the memory limit.

UPDATE: This issue has been fixed in version L2023.6.

Widgets

When using these REST APIs, incorrect color formatting no longer causes corrupted widgets:

Note:

All properties in the widgetDesign object are now marked as required. Please review your related implementation if needed.

Video

Watch this video for an overview of selected features from this release: