Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
f457426
docs(26.10.0.cl): add Spotter Analyst API reference page [SCAL-317811]
ShashiSubramanya Sep 15, 2026
f67361a
docs(26.10.0.cl): add Feature Management API reference page [SCAL-319…
ShashiSubramanya Sep 15, 2026
9dd6ea8
docs(26.10.0.cl): add Embed Spotter Analyst page [SCAL-317811]
ShashiSubramanya Sep 15, 2026
21a16ab
docs(26.10.0.cl): add October 2026 What's New section [SCAL-317811, S…
ShashiSubramanya Sep 15, 2026
bd6b44b
docs(26.10.0.cl): add SDK v1.53.0 changelog entry [SCAL-317811, SCAL-…
ShashiSubramanya Sep 15, 2026
4e1b2ff
docs(26.10.0.cl): add SDK v1.53.0 changelog entry [SCAL-317811, SCAL-…
ShashiSubramanya Sep 15, 2026
edc0da1
docs(26.10.0.cl): add REST API v2.0 changelog entry [SCAL-317811, SCA…
ShashiSubramanya Sep 15, 2026
805eb3e
docs(26.10.0.cl): add REST API v2.0 changelog entry [SCAL-317811, SCA…
ShashiSubramanya Sep 15, 2026
790df80
docs(26.10.0.cl): add Spotter pin EmbedEvents and scoped filter event…
ShashiSubramanya Sep 15, 2026
a986982
docs(26.10.0.cl): add Spotter pin HostEvents, GetGroups, OpenParamete…
ShashiSubramanya Sep 15, 2026
c51df1f
docs(26.10.0.cl): add Spotter pin EmbedEvents and scoped filter event…
ShashiSubramanya Sep 15, 2026
d7ffb9b
docs(26.10.0.cl): add Spotter pin HostEvents, GetGroups, OpenParamete…
ShashiSubramanya Sep 15, 2026
0adf76e
docs(26.10.0.cl): fix whats-new truncation — write full merged file w…
ShashiSubramanya Sep 15, 2026
4595b14
whats new edit
ShashiSubramanya Sep 15, 2026
e02731f
indentation issue fix
ShashiSubramanya Sep 15, 2026
55c78b6
edits
rani2655 Sep 23, 2026
1f75842
more edits
rani2655 Sep 23, 2026
4d49906
review edits
rani2655 Sep 23, 2026
093f7a0
updates to lb filters
rani2655 Sep 23, 2026
ad96d81
updates to lb filters
rani2655 Sep 23, 2026
d8dcb61
csr updates
rani2655 Sep 23, 2026
2608b78
lb csr
rani2655 Sep 23, 2026
8340e46
lb csr
rani2655 Sep 23, 2026
0374673
edited whats new
rani2655 Sep 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 119 additions & 0 deletions modules/ROOT/pages/api-changelog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,125 @@

This page documents the changes introduced in each release of the Visual Embed SDK. For information about the REST API v2.0 changes, see the xref:rest-apiv2-changelog.adoc[REST API v2.0 changelog].

== Version 1.53.0, October 2026

[width="100%", cols="1,4"]
|====
|[tag greenBackground]#NEW#
a|
[discrete]
===== Spotter Analyst embed (`spotterAnalystConfig`)

You can now embed a single, pinned Spotter Analyst using `spotterAnalystConfig.analystId` in `SpotterEmbed`. Setting this property locks the embed to one governed Analyst and prevents users from navigating to other Analysts or to the default Spotter.

New and updated configuration properties:

`SpotterAnalystConfig.analystId` (string)::
Pins the embed to the Analyst with this GUID. Available from cluster version 26.10.0.cl.

`spotterChatPinConfig` (on `SpotterSidebarViewConfig`)::
Enables pinning and unpinning of conversations in the sidebar. Contains `enabled` (boolean, default `false`), `pinLabel` (string), and `unpinLabel` (string). Available from cluster version 26.10.0.cl.

`isScopedLiveboardFilteringEnabled` (on `LiveboardViewConfig` and `AppViewConfig`)::
Enables group-level and tab-level filters and parameter scoping on Liveboards, in addition to existing Liveboard level filters.

`starterPrompts` (on `SpotterChatViewConfig`)::
Configures which starter prompt pills are shown above the Spotter chat input. Contains keys: `enable`, `quick`, `research`, `previewData`, and `liveboard`. Available from cluster version 26.10.0.cl.

`openSpotterOnLiveboardByDefault` (on `SpotterChatViewConfig`)::
Opens the Spotter chat panel automatically when a Liveboard loads. Default: `true`. Supported on `LiveboardEmbed` and `AppEmbed`. Available from cluster version 26.10.0.cl.

For more information, see xref:embed-spotter-analyst.adoc[Embed Spotter Analyst].

|[tag greenBackground]#NEW#
a|
[discrete]
===== New `Action` enum members

The following `Action` enum members are added in this release:

[cols="2,3"]
!===
! Action ! Description

! `Action.SpotterChatPin`
! Controls the visibility and disabled state of the pin and unpin action in the Spotter conversation edit menu.

! `Action.SpotterAnalystList`
! Controls the visibility and disabled state of the Show all Analysts row in the Analyst interface.

! `Action.SpotterDefaultAnalyst`
! Controls the visibility and disabled state of the default Spotter analyst entry in the Analyst interface.

! `Action.SpotterOnLiveboard`
! Controls the Spotter button in the Liveboard header.

! `Action.AllLiveboardFilters`
! Shows, hides, or disables all filter surfaces on a Liveboard: filter chips, parameter chips, and cross-filter chips at the Liveboard, tab, and group levels. Parameter and cross-filter chips support hide only and cannot be disabled.

! `Action.EditInputTable`
! Edits an input table used by an Answer directly from the Liveboard.

! `Action.QuickSearchPill`
! Controls the Basic Search starter-prompt pill in the Spotter interface.

! `Action.DeepAnalysisPill`
! Controls the Deep Analysis starter-prompt pill in the Spotter interface.

! `Action.DataLiteracyPill`
! Controls the Data Literacy starter-prompt pill in the Spotter interface.
!===

|[tag greenBackground]#NEW#
a|
[discrete]
===== New `EmbedEvent` members

`EmbedEvent.SpotterConversationPinned`::
Emitted when a user pins a Spotter conversation. Payload: `{ conversationId, pinnedAt }`. Requires `spotterChatPinConfig.enabled: true` and `enablePastConversationsSidebar: true`.

`EmbedEvent.SpotterConversationUnpinned`::
Emitted when a user unpins a Spotter conversation. Payload: `{ conversationId, unpinnedAt }`. Requires `spotterChatPinConfig.enabled: true` and `enablePastConversationsSidebar: true`.

The following existing `EmbedEvent` members gained an optional `applicability` attribute for scoped filter and parameter operations:

* `EmbedEvent.FilterChanged`
* `EmbedEvent.ParameterChanged`

|[tag greenBackground]#NEW#
a|
[discrete]
===== New `HostEvent` members

`HostEvent.PinSpotterConversation`::
Pins a saved Spotter conversation. Accepts `{ conversationId }`. Requires `enablePastConversationsSidebar: true` on the instance.

`HostEvent.UnpinSpotterConversation`::
Unpins a previously pinned Spotter conversation. Accepts `{ conversationId }`. Requires `enablePastConversationsSidebar: true` on the instance.

`HostEvent.GetGroups`::
Returns filter and parameter group details for the current Liveboard. Response includes `orderedGroupIds`, `numberOfGroups`, and `Groups`.

`HostEvent.OpenParameter`::
Opens the parameter panel for a specific parameter on the Liveboard. Accepts an optional `applicability` object to scope the action to a tab or group.

The following existing `HostEvent` members gained an optional `applicability` attribute for scoping to a Liveboard tab or group:

* `HostEvent.OpenFilter`
* `HostEvent.GetFilters`
* `HostEvent.UpdateFilters`
* `HostEvent.UpdateParameters`
* `HostEvent.GetParameters`

|[tag yellowBackground]#DEPRECATED#
a|
[discrete]
===== `HostEvent.UpdatePersonalizedView` deprecated

`HostEvent.UpdatePersonalizedView` is deprecated in this release. Use `HostEvent.SelectPersonalizedView` instead. The replacement accepts an optional `viewName` to select a view by name, resets to the original view when the payload is empty, and reports an error when the named view is not found.

|====

== Version 1.52.x, September 2026

[width="100%" cols="1,4"]
Expand Down
1 change: 1 addition & 0 deletions modules/ROOT/pages/common/nav-rest-api.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ REST API endpoints
** link:{{navprefix}}/api-user-management[Users and group privileges]
** link:{{navprefix}}/rbac[Role-based access control]
** link:{{navprefix}}/audit-logs[Audit logs]
** link:{{navprefix}}/feature-management[Feature Management]

* Multi-tenancy and Orgs
** link:{{navprefix}}/orgs-api-op[Orgs APIs]
Expand Down
11 changes: 11 additions & 0 deletions modules/ROOT/pages/data-security.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,14 @@ The OAuth workflow requires opening a new window or redirecting to the OAuth pro
CLS restricts user access to specific columns of a table. When CLS is applied, users see only the columns that they are allowed to view. Object owners can configure CLS by sharing a relevant set of columns in a table with a specific user or user group.

For more information on CLS, see link:https://docs.thoughtspot.com/cloud/latest/share-source-tables[Sharing tables and columns, window=_blank].

[#csr-liveboards]
=== #Column security rules on Liveboards#
#Starting with ThoughtSpot Cloud 26.10.0.cl, Liveboards that include columns restricted by Column Security Rules (CSR) open and work normally for users who cannot access those columns, including in embedded Liveboards. Previously, such Liveboards were blocked for these users. Column security remains fully enforced:#

* #Filter values from columns that the user cannot access are masked instead of blocking the Liveboard.#
* #Scheduled Liveboard deliveries apply CSR separately for each recipient.#

#To control whether masked filter chips are visible in an embedded Liveboard, use the `showMaskedFilterChip` SDK property. For more information, see xref:embed-pinboard.adoc#masked-filter-chips[Masked filter chips].#

#For more information, see link:https://docs.thoughtspot.com/cloud/latest/security-data-object#csr-liveboard[Column security rules on Liveboards, window=_blank].#
67 changes: 67 additions & 0 deletions modules/ROOT/pages/embed-pinboard.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,23 @@ When `hideIrrelevantChipsInLiveboardTabs` is `true`:
* A *Show irrelevant filters* toggle button appears in the filter row when at least one chip is hidden, allowing users to temporarily reveal all chips.
* When the user clicks *Show irrelevant filters*, a complementary *Hide irrelevant filters* button appears to restore the filtered view.

[#masked-filter-chips]
==== #Masked filter chips#
#If a Liveboard includes filters on columns that a user cannot access because of column-level security, the filter values are masked for that user. Use the `showMaskedFilterChip` property to control whether these masked filter chips are visible:#

* #`true`: the filter chips for inaccessible columns are displayed as masked.#
* #`false`: the filter chips for inaccessible columns are hidden.#

[source,JavaScript]
----
const liveboardEmbed = new LiveboardEmbed(document.getElementById('ts-embed'), {
//... other embed config properties
showMaskedFilterChip: true,
});
----

#The `showMaskedFilterChip` property is also available in full application embedding. For more information, see xref:data-security.adoc#csr-liveboards[Column security rules on Liveboards].#

[#noteTiles]
=== Add Note tiles
You can add a link:https://docs.thoughtspot.com/cloud/latest/liveboard-notes[Liveboard Note tile, window=_blank] with custom text, images, and links on an embedded Liveboard.
Expand Down Expand Up @@ -384,6 +401,56 @@ limit are silently dropped without an error or warning. For more information, se
xref:runtime-filters.adoc#_maximum_filter_count[Runtime filter limit].
====

[#contextual-liveboard-filtering]
==== #Contextual filtering in Liveboards# [earlyAccess eaBackground]#Early Access#
Starting with ThoughtSpot Cloud 26.10.0.cl release, Liveboard filters and parameters can be scoped at three levels:

* *Liveboard*: applies to all visualizations on the Liveboard.
* *Tab*: applies only to visualizations on a specific tab.
* *Group*: applies only to visualizations in a specific group on a tab.

With contextual filtering, you can add the same filter at more than one of these levels on a Liveboard. For example, a Liveboard can have a `Region` filter at the Liveboard level and another independent `Region` filter on a specific tab or group.

[NOTE]
====
Contextual filtering in Liveboards is an Early Access feature and is disabled by default on ThoughtSpot instances. To enable this feature on your instance, set `isScopedLiveboardFilteringEnabled` to `true`.
====


[source,JavaScript]
----
const liveboardEmbed = new LiveboardEmbed(document.getElementById('ts-embed'), {
//... other embed config properties
liveboardId: "d7a5a08e-a1f7-4850-aeb7-0764692855b8",
isScopedLiveboardFilteringEnabled: true,
});
----

The `isScopedLiveboardFilteringEnabled` property is also available in `AppViewConfig` for full application embedding.

To get the groups on a Liveboard, use `HostEvent.GetGroups`. To scope a filter or parameter update to a specific tab or group, pass the `applicability` attribute with `HostEvent.UpdateFilters` or `HostEvent.UpdateParameters`:

[source,javascript]
----
liveboardEmbed.trigger(HostEvent.UpdateFilters, {
filters: [
{
column: 'Region',
oper: 'IN',
values: ['West'],
applicability: {
level: 'GROUP',
targetId: '{group-id}',
},
},
],
});
----

To listen for filter and parameter changes, use `EmbedEvent.FilterChanged` and `EmbedEvent.ParameterChanged`. Starting with SDK 1.53.0, both events include an optional `applicability` field in their response payload that indicates the scope of the change.

For more information, see xref:events-hostEvents.adoc#liveboard-group-events[Liveboard group and parameter events] and xref:events-hostEvents.adoc#applicability-host-events[Scoped filter and parameter host events].

==== Updating filters
Use the following host events in the Visual Embed SDK to update filters:

Expand Down
Loading