> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

Please refer to the [release notes](./release-notes) to see all the user facing changes.

<Update label="5.2.25" description="2026-07-01">
  ### Added

  * UI-9508 - **Database** widget, letting users browse the tables of an Atoti server's database from a dashboard, with paging, a column chooser, sorting, filtering and a vector viewer.
    An administrator grants it per role through the **widgets** permission.

  ### Changed

  * UI-11015 - The **Live** toggle in the application menu displays a **LIVE** or **PAUSED** badge instead of a play or pause icon, and the play or pause icon in a widget's title bar represents the action it performs (switching live updates on or off) rather than the current state.

  ### Fixed

  * UI-10627 - Number formatting controls are disabled for numeric measures that have NaN cell values.
  * UI-10391 - A pinned dashboard or page filter whose hierarchy exists in several cubes sometimes populates its members from a different cube than the filters wizard, potentially yielding none.
  * UI-10937 - Hovering a dimension, hierarchy or named set in the data model panel does not display its description.
  * UI-10922 - In tables, hiding a column header row leaves an empty row aligned with the **Row numbers** column when row numbers are visible.
  * UI-10996 - Unchecking **Defer updates** does not refresh the dashboard until another change is made to it.
</Update>

<Update label="5.2.24" description="2026-05-27">
  ### Added

  * UI-10599 - Waterfall chart bars show the delta from the previous X axis position rather than the raw absolute value, so that consecutive bars represent how the measure evolved over time.
    Only supported when the X axis contains a single-level hierarchy and no sort is applied.
  * UI-10886 - **Focus cell shape** setting ([`table.focusCell.shape`](../developer-guide/reference/types#coresettings)), allowing users to configure the default shape of the focus cell highlight on click in tables.
  * UI-10859 - Atoti UI starter development jar, published to Artifactory under the `development` Maven classifier, letting Java consumers (i.e. projects where Atoti UI is served by Atoti Server itself through a webjar) debug against readable stack traces.
  * UI-9882 - **Seasonal pattern** mode on date filters, letting users select recurring periods such as months, quarters, or days of the week.
  * UI-8824 - Dashboards apply pinned filters from URL parameters at load time.

  ### Changed

  * UI-10925 - The **Real-time** toggle in the application menu and on widget titlebars is renamed to **Live**, and its icon shows a play when live updates are on and a pause when off, making the current state easier to identify at a glance.
  * UI-10755 - When running an **Auto-Explain**, the highlighted tuples are more easily identifiable.

  ### Fixed

  * UI-10322 - On dashboards spanning multiple cubes, filters fail to populate when [`smartFiltering.nonEmptyEvaluationMeasureName`](../developer-guide/reference/types#coresettings) is set to a measure missing from the queried cube.
    Fixed by ignoring the setting for such cubes and falling back on their default measure.
  * UI-10810 - Users with admin privileges on the content server cannot edit, delete or share calculated measures and named sets they don't own.
  * UI-10924 - Pressing <kbd>Escape</kbd> while a widget is in full-screen mode exits full-screen.
  * UI-10858 - Hanging dashboard load when a table widget's `style.cells` contains a malformed range entry (e.g. orphan `{ "range": {} }`).
    Malformed entries are dropped.
</Update>

<Update label="5.2.23" description="2026-05-11">
  ### Added

  * UI-10794 - **View definition** context menu item on saved calculated measures, letting users without edit permission open the same popover as **Edit** in read-only mode to inspect the measure's MDX expression, folder, formatting and conditional styles.

  ### Fixed

  * UI-10911 - Unable to load dashboards that contain legacy table styling information.
  * UI-10910 - In the **Fields** tab, **Drill down one by one** sometimes does not work on columns.
</Update>

<Update label="5.2.22" description="2026-05-06">
  ### Added

  * UI-10814 - **Focus color** setting ([`table.focusCell.color`](../developer-guide/reference/types#coresettings)), allowing users and admins to customize the highlight color of the focus cell in tables.
  * UI-10801 - Improved performance when resolving real-time updates.
  * UI-9432 - **Shared with me** home page section, allowing users to browse the folders and dashboards shared with them by other users.
  * UI-10742 - Ability to format header cells by value in **Pivot Table**, **Tree Table** and **Table** widgets.
    Formatting applied to a header cell follows its underlying member as the table updates, instead of staying at a fixed position.

  ### Changed

  * UI-10547 - The **Save as** popup displays existing files alongside folders and warns when the entered name matches an existing file.
  * UI-9703 - In **Tree table** with multiple measures on rows, **Total** row captions include the measure name to distinguish between them.

  ### Fixed

  * ADMINUI-217 - *"Unexpected application error"* when visiting the database tab in Atoti Admin UI, when the server does not opt into the dedicated `database v10` REST endpoint.
    More generally, optional REST endpoints on the server are unexpectedly not discovered properly by Atoti UI.
  * UI-10858 - *"Cannot read properties of undefined (reading 'from')"* breaking table widgets when opening dashboards saved in versions earlier than 5.2.20 that contain cell range formatting.
  * UI-10806 - Same-named folders from different dimensions appear as separate folders when **Simplified data model** setting is enabled.
  * UI-10874 - On servers supporting `ReverseHierarchize` (Atoti Server 6.0.28+ and 6.1.15+), **Sort ascendingly** on a chart ordinal axis correctly preserves the hierarchy's natural order instead of reversing it.
    A subsequent **Sort descendingly** is applied instead of being ignored.
  * UI-10741 - Pinned crosshair jumps to a different cell after expanding or collapsing a header member.
  * UI-10876 - In the **Fields** tab, drilldown chains cannot be re-ordered in a field that contains measures.
</Update>

<Update label="5.2.21" description="2026-04-01">
  ### Added

  * UI-9702 - Links in the **Open** and **Save as** modals to open folders on the home page.
  * UI-10704, UI-10734 - **Focus cell** toggle in the **Behavior** tab of **Pivot Table**, **Tree Table** and **Table** widgets.
    When enabled, hovering a cell highlights its full row and column, and clicking a cell pins the highlight at the selection anchor.

  ### Changed

  * UI-9690 - CSV exports reflect the number and date formatting configured in the **Style** tab.
  * UI-10732 - Improve dark mode contrast: darker background color, better text readability, and theme-specific color palette with improved contrast for table cell backgrounds.
  * UI-10740 - Redundant **Total** captions are hidden for non-expanded members when a sibling is expanded in pivot and tree tables.
  * UI-10746 - Column headers display borders at sub-hierarchy boundaries when multiple hierarchies are on columns, making it easier to distinguish groups.
  * UI-10701 - Pasting an MDX query into a new widget's query editor uses the most recently used server if a cube with the same name exists in it.

  ### Fixed

  * UI-10488, UI-10752 - Pinned filters are unexpectedly not smart-filtered.
  * UI-10724 - Searching in all lowercase for measures or hierarchies whose names are in camel case sometimes fails to yield the expected results.
  * UI-10654 - Tooltips on table cells sometimes get stuck open after resizing a column to remove text ellipsis.
  * UI-9260 - Opening the current dashboard (using **File** > **Open**) does nothing.
    With the fix, the user is prompted to avoid losing unsaved changes and the dashboard is reset to its last saved state.
  * UI-10725 - Keyboard navigation in table widgets does not scroll soon enough to keep the selected cell visible near the viewport edge.
  * UI-10656 - Calculated measure conditional styles fail to load or save when no color is set for a conditional style.
</Update>

<Update label="5.2.20" description="2026-03-02">
  ### Added

  * UI-10573 - Ability to reorder members of levels displayed as columns in **Pivot Table**, **Tree Table** and **Table** widgets.
    This can be done by selecting the column header, then dragging and dropping it.
  * UI-10204 - Ability to format rows and columns in **Pivot Table**, **Tree Table** and **Table** widgets.
    The formatting controls are found in the **Style** tab and allow to format the selected cells.
    To format a row or a column, the user should select it by clicking its corresponding row or column number.
    Row and column numbers visibility can be toggled on or off, also in the **Style** tab.
  * UI-10670 - Ability to expand/collapse the **Data Model**, the **Tools** and the **Widgets** panels using the <kbd>Enter</kbd> or <kbd>Space</kbd> keys.
  * UI-10672 - Tooltip for tool icons in the tools panel appears when navigating with keyboard.

  ### Changed

  * UI-10624 - Pressing <kbd>Ctrl</kbd>+<kbd>S</kbd> (or <kbd>Cmd</kbd>+<kbd>S</kbd> on Mac) or renaming an unsaved dashboard opens the **Save as** popup, allowing users to choose a name and folder before saving for the first time.
  * UI-10665 - The **Measures** and **Hierarchies** counters in the **Data Model** panel display the number of visible items alongside the total (e.g. **34 / 1551**).
  * UI-10669 - The characters `/`, `[`, and `]` are forbidden when naming calculated measures, in order to avoid errors.
  * UI-10611 - Single-member selection is allowed while creating a filter on a virtual hierarchy.
  * UI-10636 - In the **Save as** popup, double-clicking a folder in the search results navigates into it and displays its contents.
  * UI-10702 - Use [`concurrently`](https://www.npmjs.com/package/concurrently) instead of [`npm-run-all`](https://www.npmjs.com/package/npm-run-all) in [the Atoti UI starter source](https://activeviam.jfrog.io/ui/repos/tree/General/activeui-generic-release/5.2.20/atoti-ui-starter-source-5.2.20.zip) as a fix to [`CVE-2026-26996`](https://www.cve.org/CVERecord?id=CVE-2026-26996).

  ### Fixed

  * UI-10417 - Table rows with members literally named "Total" are unexpectedly blank when displayed below actual total rows.
  * UI-10399 - Search bars throwing errors when the search value contains special characters.
  * UI-10703 - Searching for level members containing underscores in the **Filter on** popover returns no results.
  * UI-10639 - Clicking **Select all** in the named sets popover does not add all members to the selection.
  * UI-9033 - Custom themes fail to show in **Settings** popup in Atoti UI and in settings files in Admin UI.
  * UI-10637 - "No Data" overlay not being displayed when a query with a `WHERE` clause returns no data.
  * UI-10661 - The calendar in the **Quick Filter** widget obstructs the widget's title bar menu and other popups.
</Update>

<Update label="5.2.19" description="2026-01-30">
  ### Added

  * UI-10453 - When the server identified by `jwtServer` in the `env.js` file is down, fall back on other servers to authenticate.
  * UI-10349 - <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>Alt</kbd> + <kbd>Page Up</kbd>/<kbd>Page Down</kbd> keyboard shortcuts to navigate between dashboard pages.
  * UI-10371 - Search functionality in the **Measure group** selector, allowing users to find measure groups by typing their names.
  * UI-10542 - **Saved Widget Information** button in the titlebar of saved widgets.
    Displays the owners, last editor, last update time, and folder location in a popover.
  * UI-10314 - Support for React nodes in [`Configuration.extraVersions`](../developer-guide/reference/types#configuration), allowing to customize the way the passed versions look in the **About** popup.
  * UI-10581 - Pressing <kbd>Ctrl</kbd>+<kbd>S</kbd> (or <kbd>Cmd</kbd>+<kbd>S</kbd> on Mac) on a read-only dashboard opens the **Save As** modal, allowing users to save their changes to a new dashboard.
    Only applies when the user has the `canManageContent` permission.
  * UI-10646 - **Edit calculated measure** popover for query-scoped calculated measures in the **Fields** tab, allowing to edit their expressions more easily than using the **Query** tab.

  ### Changed

  * UI-10370 - Measure groups are sorted alphabetically in the **Data Model** panel.
  * UI-10604 - When the dashboard pages bar overflows, the three-dots menu displays all pages.
  * UI-9273 - The **Submit** button is disabled in the **Query** tab when the query contains a trailing comma after the last member compound identifier in a set.
    This type of query isn't supported and throws an error if run.
  * UI-10150 - Cursor shows "not-allowed" icon when dragging a measure from the **Data model** to a pivot table header, indicating that measures cannot be dropped for drilldown.

  ### Fixed

  * UI-10153 - Searching for hierarchies, measures, dashboard, filters, widgets, folders,… sometimes shows irrelevant results.
  * UI-10597 - Unsupported permission keys are filtered out and logged to the console instead of causing errors when merging user, organization, and role permissions.
  * UI-10155 - Hiding the legend on charts unexpectedly also hides their secondary Y axis.
  * UI-10644 - Widgets sometimes crashing with error *"\[409] Trying to register an MDX query with the query Id xxx and stream Id p-x/x but another registration already exists on this websocket session with the same streamId and queryId pair.*" when recovering a lost connection.
  * UI-10640 - Scrollbar blinking in the named sets popover.
</Update>

<Update label="5.2.18" description="2025-12-31">
  ### Added

  * UI-5901 - A search bar for folders in the **Save as** and **Move File** modals.
  * UI-10327 - [`slicingHierarchies.defaultMemberSelectionMode`](../developer-guide/reference/types#coresettings) setting to control the default selection mode for members of slicing hierarchies. Defaults to "single" member selection mode.

  ### Changed

  * UI-10527 - When selecting a widget, the cube selector tree is collapsed by default, except for the path to the widget's target cube.
  * UI-10176 - When using `withAuthenticatedClientsAndUser` in [`configuration.higherOrderComponents`](../developer-guide/reference/types#configuration), any [`requestInit`](https://developer.mozilla.org/en-US/docs/Web/API/RequestInit) provided through [`<RequestInitProvider />`](../developer-guide/reference/context-providers#requestinitprovider) by another HOC is also used for HTTP calls related to authentication.

  ### Fixed

  * UI-10539 - **Export to PDF** not displaying widgets with long queries correctly.
  * UI-10538 - Filters are not applied correctly on investigation widgets that were configured with custom MDX.
  * UI-10602 - *"TypeError: Cannot read properties of undefined (reading '0')"* when moving measures from columns to rows on a table containing full-row conditional styles.

  ### Deprecated

  * `areFrozenColumnsIgnored` of [`CurriedCellSetTableCellProps`](../developer-guide/reference/types#curriedcellsettablecellprops)
</Update>

<Update label="5.2.17" description="2025-12-09">
  ### Added

  * UI-9967 - **Apply to all subfolders and files** checkbox to the **Share** modal. When checked, sharing a folder will also share all the subfolders and dashboards inside of it.
    * To benefit from this feature, the Atoti Server version must be 6.1.15 or higher.

  ### Fixed

  * UI-10316 - *"Error: The input level \[Dimension].\[Hierarchy] does not belong to any hierarchy defined by the input set"* when collapsing or moving a sorted hierarchy from one axis to another.
    To benefit from this fix, the Atoti Server version must be 6.0.28 or higher, or 6.1.15 or higher.
  * UI-10570 - Double clicking on a cell in a table unexpectedly highlights the row.
</Update>

<Update label="5.2.16" description="2025-12-01">
  ### Added

  * UI-9367 - Chart axes display formatted values based on measure number formats.
    When measures are formatted as thousands, millions, billions, or percentage in the **Style** tab, chart axes show scaled values with the corresponding suffix (K, M, B, %).
    The axis formatting is determined by the first styled measure found on that axis.
  * UI-10554 - **Move** menu item in the **File** header menu, allowing to move the current dashboard to a different folder.
  * UI-10121 - `hasUnsavedChanges` to [`DashboardLoadedAction`](../developer-guide/reference/types#dashboardloadedaction).

  ### Changed

  * UI-10396 - When recovering the connection to the server, widget queries are not rerun unless [real time is turned on for them](../user-guide/analyze-data/refresh-dashboard-data#turn-on-real-time).
  * UI-10121 - When a user's authentication expires, they are redirected to a page with the ability to log back in without losing unsaved changes.

  ### Fixed

  * UI-10555 - When a default filter is pinned, editing a pinned dashboard filter unexpectedly causes an extra pinned filter to appear.
  * UI-10537 - *"Error: Encountered Mdx with unknown type"* when dragging and dropping a widget with an initial query from the **Widgets** panel.
  * UI-10316 - Sorting a high cardinality hierarchy descendingly is unexpectedly slow.
    To benefit from this fix, the Atoti Server version must be 6.0.28 or higher, or 6.1.15 or higher.
  * UI-10557 - Submitting MDX is unexpectedly disabled in the **Query editor** when there are empty dashboard or page filters.
  * UI-10122 - When creating a filter on a slicing hierarchy, the member selection mode unexpectedly defaults to a multiple selection.
</Update>

<Update label="5.2.15" description="2025-10-31">
  ### Added

  * UI-10255 - Ability to drag widgets using the keyboard.
  * UI-9539 - Ability to hide header rows in tables through the **Hide header row(s)** context menu item.
  * UI-10440 - Support for v8 of the Content Server REST API.
  * UI-9539 - `hiddenFrozenRows` to [`TableWidgetState`](../developer-guide/reference/types#tablewidgetstate).
  * UI-10348 - Ability to hide the **Data model**, **Tools** and **Widgets** panels via the `canUseDataModel`, `tools`, and `widgets` [permissions](../developer-guide/reference/types#permissions).
    * The **Data model** panel can be hidden by setting `canUseDataModel` to `false`.
    * The **Tools** and **Widgets** panels can be hidden by setting `tools` and `widgets` to `[]`, respectively.

  ### Deprecated

  * [`InvalidDraggedWidgetError`](../developer-guide/reference/errors#invaliddraggedwidgeterror)

  ### Fixed

  * UI-10369 - Hiding a total causing another previously hidden total to re-appear.
  * UI-10494 - *"Cannot read properties of undefined (reading 'dateFormat')*" error when formatting a measure on a chart with dates.
  * UI-10401 - Rolling date filters unexpectedly returning incorrect data when the selection includes the current date or future ones.
    * To benefit from this fix, the Atoti Server version must be 6.1.13 or higher.
</Update>

<Update label="5.2.14" description="2025-09-30">
  ### Added

  * UI-10016 - Ability to change text formatting in **Conditional styles**.
  * UI-10312 - Ability to add a folder from the **Saved filters** panel as a filter to quickly apply all the filters it contains.

  ### Changed

  * UI-10390 - When a user saves a dashboard (using **File** > **Save As**), it is not shared by default with the users who share the same user roles.
    This is a behavior alignment with the **Save** feature.
  * UI-10016 - Color picker for color sets and **Conditional styles**.

  ### Deprecated

  * `updatePermission` method of the [`ContentClient`](../developer-guide/reference/types#contentclient) interface.
    * It will be removed in 5.3.0.
    * If needed, use the [Content Server's REST API](https://docs.activeviam.com/engine/rest/6.1.20/content-server-rest-api) instead, or edit the permission files manually in Atoti Admin UI.

  ### Fixed

  * UI-10405 - Named sets cannot be used in charts.
  * UI-10436 - When a hierarchy is added to a widget with its calculated members and it is then moved to a different axis, the calculated members disappear.
  * UI-10403 - The "Select all" button does not work in the **Create a set** popover.
  * UI-10404 - Renaming a calculated measure unexpectedly makes it hidden to other users.
  * UI-10357 - The **Filter on** popover unnecessarily sends the same MDX query to the server twice in the case of date hierarchies.
  * UI-10382 - Text in filters tiles are sometimes unexpectedly not right aligned.
</Update>

<Update label="5.2.13" description="2025-08-29">
  ### Added

  * UI-8828 - Ability to create, edit, and delete sets from the **Data model**.
    * This functionality is only supported when using Atoti Server 6.1.11 or higher.
    * The `canUseNamedSets` [permission](../developer-guide/reference/types#permissions) must be enabled to access this functionality.
    * Creating a set from the **Data model** can be done through right-clicking a hierarchy or dimension, and selecting the **Create named set** menu item.
    * Editing and deleting a set can be done through right-clicking the node in the **Data model** and selecting the **Edit named set** or **Delete named set** menu items, respectively.
</Update>

<Update label="5.2.12" description="2025-07-31">
  ### Added

  * UI-8289 - Shortcut to activate/deactivate **Present** mode using <kbd>Alt</kbd>+<kbd>P</kbd>.
  * UI-9784 - Ability to set a hidden measure as non-empty evaluation measure for smart-filtering, in the **Settings** popup.
  * UI-10158 - Description tooltip to dimensions, hierarchies and levels in the **Data Model** and the **Fields** tab.
  * UI-5880 - The sunburst chart widget, allowing users to visualize hierarchical data as concentric rings and explore proportions at each level.
  * UI-5532 - Measure group selector in the **Data Model** and the **Quick Filter** widget. It allows to only display measures and dimensions belonging to a chosen measure group, when some are defined in Atoti Server.
  * UI-10272 - Ability to toggle connecting gaps in **Columns and lines** chart in the **Style** tab.

  ### Changed

  * UI-10289 - The cube selector at the top left of the dashboard shows the cube caption (not the cube name).

  ### Deprecated

  * [`ConfigurationNotFoundError`](../developer-guide/reference/errors#configurationnotfounderror)

  ### Fixed

  * UI-8619 - Plots not being displayed when [`DataOverrides`](../developer-guide/reference/types#dataoverrides) are used.
  * UI-10354 - When filtering via the double-click action on a widget, pinned filters of the same hierarchy are unexpectedly removed.
  * UI-10059 - The **Select all** checkbox in the **Filter on** popover does not work for non-slicing hierarchies with a default member that's not `AllMember`: the view remains filtered on the default member whereas the user expects it to include all members instead.
</Update>

<Update label="5.2.11" description="2025-07-04">
  ### Fixed

  * UI-10317 - Unsaved changes are unexpectedly lost when activating **Present** mode.
  * UI-10329 - Resizing widgets and then adding a new widget unexpectedly results in an empty space in the dashboard.
  * UI-10141 - Pressing Escape while renaming a saved widget/filter unexpectedly closes the panel.
</Update>

<Update label="5.2.10" description="2025-06-30">
  ### Changed

  * UI-10255 - Moving a widget does not affect dashboard layout until dropped. This allows to cancel the move by dragging the widget back to its original place.

  ### Fixed

  * UI-9205 - The loading screen of the application homepage flashes when the loading is very short.
  * UI-10253 - The user is unexpectedly unable to copy/paste an MDX query from one widget to another when there are dashboard or page filters.
  * UI-10290 - The user is unexpectedly able to save and apply an edited calculated measure when the measure already exists in the selected widget.
  * UI-10291 - The dashboard and widget titles get truncated when the user zooms out.
</Update>

<Update label="5.2.9" description="2025-05-28">
  ### Added

  * [UI-9245](https://activeviam.atlassian.net/browse/UI-9245) **Move** menu item on calculated measure nodes in the **Data model**, allowing to quickly change their folder.
  * [UI-9339](https://activeviam.atlassian.net/browse/UI-9339) Ability for extensions to register settings, making them editable by users in the **Settings** popup.
    For more information, see [`Extend settings`](../developer-guide/customize-atoti-ui/user-settings#extend-settings).

  ### Fixed

  * [UI-9589](https://activeviam.atlassian.net/browse/UI-9589) *"Duplicate axis specification: ROWS"* error when using the ids of axis (i.e. 0, 1) instead of their names (COLUMNS, ROWS) in mdx queries and adding a new hierarchy in the **Fields** tab.
  * [UI-10112](https://activeviam.atlassian.net/browse/UI-10112) The command `atoti-ui-cli build-extension` unexpectedly throws an *"InvalidExtensionPackageJsonError: Invalid `package.json` file of extension `@foo/bar`."* error in some cases where it should not.
  * [UI-9578](https://activeviam.atlassian.net/browse/UI-9578) Using axis ids instead of axis names when writing custom MDX in the **Query** tab yields unexpected fields in the widget.
  * [UI-10126](https://activeviam.atlassian.net/browse/UI-10126) In the popover to edit `mdx.measureAliases` in the **Query context** tab, there is unexpectedly no input to choose the measure to alias.
  * [UI-10185](https://activeviam.atlassian.net/browse/UI-10185) `No user found. Did you forget to provide it with <UserProvider />?` error when running the application in development mode using the command `atoti-ui-cli start-application` and when an extension takes more than 10 seconds to start.
  * [UI-10178](https://activeviam.atlassian.net/browse/UI-10178) Unexpected *The filter is not applied to the selected widget because **hierarchy** does not exist in **cube*** warning when adding a filter to a widget before adding anything to its rows or columns.
  * [UI-9853](https://activeviam.atlassian.net/browse/UI-9853) When changing the date format on a chart in the **Style** tab, the order on the time axis is sometimes unexpectedly reversed.
  * [UI-9853](https://activeviam.atlassian.net/browse/UI-9853) Sorting the time axis of a chart breaks its scaling.
  * [UI-9853](https://activeviam.atlassian.net/browse/UI-9853) Dates are sometimes unexpectedly displayed as numbers on charts, depending on their formatting defined on the server-side.
    To benefit from this fix, the member names of your time level must be formatted as `ISO-8601`.
  * [UI-9354](https://activeviam.atlassian.net/browse/UI-9354) When a widget is sorted on a measure, removing a measure fails to remove the sort from the MDX query.
</Update>

<Update label="5.2.8" description="2025-04-30">
  ### Added

  * [UI-8680](https://activeviam.atlassian.net/browse/UI-8680) Ability to pin default filters.
  * [UI-9245](https://activeviam.atlassian.net/browse/UI-9245) Ability to save calculated measures in folders.
  * [UI-10161](https://activeviam.atlassian.net/browse/UI-10161) Named sets are draggable in the **Data model** and the **Fields** tab.
  * [UI-9989](https://activeviam.atlassian.net/browse/UI-9989) Support for MDX [font flags](https://learn.microsoft.com/en-us/analysis-services/multidimensional-models/mdx/mdx-cell-properties-using-cell-properties?view=asallproducts-allversions) in the **KPI** widget.
  * [UI-8849](https://activeviam.atlassian.net/browse/UI-8849) Support for context menus on the **Tree map** widget. In particular, it is possible to use the **Drillthrough** menu item from the treemap.
  * [UI-8721](https://activeviam.atlassian.net/browse/UI-8721) Auto-completion support for named sets in the **Query** tab.
  * [UI-9881](https://activeviam.atlassian.net/browse/UI-9881) Ability to create previous/next year/quarter/month/week/day filters.

  ### Changed

  * [UI-10122](https://activeviam.atlassian.net/browse/UI-10122) Default selection mode to single when creating a filter on a slicing hierarchy.

  ### Fixed

  * [UI-9793](https://activeviam.atlassian.net/browse/UI-9793) When searching the data model, matched measures sometimes appear in folders they don't belong to.
  * [UI-10160](https://activeviam.atlassian.net/browse/UI-10160) In the **Fields** tab, named set tiles are unexpectedly not removable.
  * [UI-10051](https://activeviam.atlassian.net/browse/UI-10051) Slow search in the **Data model**.
  * [UI-10157](https://activeviam.atlassian.net/browse/UI-10157) The selected members within the **Edit filter** popover become unexpectedly deselected when real-time mode is toggled.
  * [UI-8721](https://activeviam.atlassian.net/browse/UI-8721) Unexpected squiggly line warning in the **Query** tab on the name of a query-scoped or cube named set.
  * [UI-10085](https://activeviam.atlassian.net/browse/UI-10085) Select fields not staying open when clicking them in the **Share** modal.
  * [UI-9828](https://activeviam.atlassian.net/browse/UI-9828) When scrolling a pivot table, the header and body of the table sometimes become desynchronized.
  * [UI-8888](https://activeviam.atlassian.net/browse/UI-8888) The status notification unexpectedly disrupts the menu items in the application header.
</Update>

<Update label="5.2.7" description="2025-04-01">
  ### Added

  * [UI-9402](https://activeviam.atlassian.net/browse/UI-9402) Ability to toggle between displaying all row level names or only the deepest level name in the header of tree tables via the **Show names of all levels on rows** toggle in the **Style** tab of the **Tree table**.
  * [UI-8385](https://activeviam.atlassian.net/browse/UI-8385) Ability to set up filtering other widgets on double click in the **Behavior** tab.
  * [UI-10034](https://activeviam.atlassian.net/browse/UI-10034) Ability to move, import, export and make a copy of saved widgets and filters, through context menu items.
  * [UI-10081](https://activeviam.atlassian.net/browse/UI-10081) Support for [`Katex`](https://katex.org/) in the **Measures description** tooltip.
  * [UI-10074](https://activeviam.atlassian.net/browse/UI-10074) Ability to open a dashboard in a new tab by mouse-wheel-clicking on it.
  * [UI-10069](https://activeviam.atlassian.net/browse/UI-10069) **Open "dashboard name" in a new tab** context menu item on dashboards.
  * [UI-10055](https://activeviam.atlassian.net/browse/UI-10055) `autoFocusSearchInput` and `searchInputRef` props to the [`Tree`](../developer-guide/reference/components#treeprops) component.

  ### Changed

  * [UI-10056](https://activeviam.atlassian.net/browse/UI-10056) Hierarchy folders are displayed above hierarchies in the **Hierarchies** tree.

  ### Fixed

  * [UI-9879](https://activeviam.atlassian.net/browse/UI-9879) *"Error: The VIRTUAL-MEMBER-SEARCH post-processor can only be used on the grand total"* when creating a filter on a virtual hierarchy from a widget that is already sliced on another hierarchy.
  * [UI-9968](https://activeviam.atlassian.net/browse/UI-9968) The values in the **Tree table** rows being misaligned when **Measures** are on the **Rows** axis.
  * [UI-10054](https://activeviam.atlassian.net/browse/UI-10054) *\[403] You do not have the permissions to create or update file /ui/dashboards/thumbnails/path/to/file* error when updating a dashboard after it has been imported.
  * [UI-10076](https://activeviam.atlassian.net/browse/UI-10076) unexpected browser caching issues during Atoti UI upgrades.
  * [UI-10084](https://activeviam.atlassian.net/browse/UI-10084) The wrong item is selected when using the keyboard to select a search result in a tree.
  * [UI-10084](https://activeviam.atlassian.net/browse/UI-10084) *Uncaught TypeError: Cannot read properties of undefined (reading 'isFolder')* when using the keyboard to select a search result in a tree.
  * [UI-10072](https://activeviam.atlassian.net/browse/UI-10072) unexpected overflow of long usernames in the **Last editor** column of the dashboards list in the **Home page**.
  * [UI-10113](https://activeviam.atlassian.net/browse/UI-10113) Locally defined calculated measures are unexpectedly displayed in red in the **Fields** tab.
  * [UI-9935](https://activeviam.atlassian.net/browse/UI-9935) When using the **Drillthrough** menu item on data visualization widgets, the generated **Drillthrough table** widget sometimes fails to inherit some filters from the widget on which the action was performed.
</Update>

<Update label="5.2.6" description="2025-02-28">
  ### Added

  * [UI-3382](https://activeviam.atlassian.net/browse/UI-3382) 3D surface chart.
  * [UI-9884](https://activeviam.atlassian.net/browse/UI-9884) Ability to configure filters to only allow a single member to be selected.
  * [UI-9990](https://activeviam.atlassian.net/browse/UI-9990) Ability to trigger an **Investigation** on a grand total cell.
  * [UI-10070](https://activeviam.atlassian.net/browse/UI-10070) Support for ampersand-quoted identifiers in MDX, e.g. `[Geography].[City].&[Berlin]`.
  * [UI-9984](https://activeviam.atlassian.net/browse/UI-9984) Ability to include member names in data labels on the **Pie chart** and **Donut chart** widgets.
  * [UI-9896](https://activeviam.atlassian.net/browse/UI-9896) Ability for extensions to register modals in the application using [`configuration.modals`](../developer-guide/reference/types#configuration), and open them using [`useModal`](../developer-guide/reference/hooks#usemodal). Refer to the [Add a modal](../developer-guide/customize-atoti-ui/customize-the-dashboard/create-a-popup) documentation page for more details
  * [UI-9896](https://activeviam.atlassian.net/browse/UI-9896) [`configuration.modals`](../developer-guide/reference/types#configuration), [`useModal`](../developer-guide/reference/hooks#usemodal), [`ModalsProvider`](../developer-guide/reference/context-providers#modalsprovider), [`ModalNotFoundError`](../developer-guide/reference/errors#modalnotfounderror), and [`ModalsNotFoundError`](../developer-guide/reference/errors#modalsnotfounderror).
  * [UI-9993](https://activeviam.atlassian.net/browse/UI-9993) `"headers"` attribute in the payload of websocket messages sent to Atoti Server containing information about the `application` (Atoti UI), the `dashboardId` and the `widget` that triggered this query.
  * [UI-9993](https://activeviam.atlassian.net/browse/UI-9993) [WebsocketHeadersProvider](../developer-guide/reference/context-providers#websocketheadersprovider) context provider allowing to provide the `headers` to attach to websocket messages sent to Atoti server by any React component below.
  * [UI-9993](https://activeviam.atlassian.net/browse/UI-9993) `initialHeaders` argument to the `register` method of [atotiClient](../developer-guide/reference/types#atoticlient), allowing to provide the `headers` to attach to the `"REGISTER"` websocket message sent the first time this query executed and the `"UPDATE"` messages sent upon subsequent re-executions of this query.

  ### Fixed

  * [UI-10031](https://activeviam.atlassian.net/browse/UI-10031) Inability to plot multi-level hierarchies correctly on the **Line chart** widget.
  * [UI-10007](https://activeviam.atlassian.net/browse/UI-10007) `java.lang.IllegalArgumentException: Invalid character found in the request target` errors in the content server logs when users with names containing the character `"\\"` visit dashboards.
  * [UI-10007](https://activeviam.atlassian.net/browse/UI-10007) The settings of users whose names contain the character `"\\"` fail to be persisted.
  * [UI-10088](https://activeviam.atlassian.net/browse/UI-10088) Inability to interact with checkboxes in the application header menus.
</Update>

<Update label="5.2.5" description="2025-01-31">
  ### Added

  * Keyboard navigation in the home page.
  * Buttons to open the context menu on dashboards and folders in the home page.
  * Ability to add the underlying measure of a KPI property to a calculated measure's expression by clicking this KPI property while the **Create a calculated measure** popup is open.
  * Ability to select search results using the <kbd>↑</kbd>, <kbd>↓</kbd> and <kbd>Enter</kbd> keyboard keys, in the **Filter on** popup.
  * `isSticky` to [`CellProps`](../developer-guide/reference/types#cellprops). When `true`, the cell's text stays in the viewport while scrolling horizontally over children of the concerned cell.
  * [`getWidgetQuery`](../developer-guide/reference/functions#getwidgetquery) function allowing to get the query of a widget as it is sent to Atoti Server.
  * [`getIndexedDataModel`](../developer-guide/reference/functions#getindexeddatamodel) function returning a data model whose properties can be accessed in O(1) through their key.

  ### Changed

  * In tables, the text content of header cells overflows to the right when the next cell is empty.
  * In tables, parent header cells stick to the left above all their children before leaving room to the next parent header cell when the table is scrolled horizontally to the right.
  * When a filter on a date is created in the **Calendar** tab of the **Filter on** popover with the **Date range** option unchecked, if this filter is then pinned, then the pinned filter input is a date picker instead of a date range picker. This allows to change the date of the filter in fewer clicks.

  ### Fixed

  * Inability to drillthrough a grand total table cell when a measure is on the slicer and no hierarchies are expressed on the rows or columns.
  * Changes in an unsaved dashboard are lost after clicking **New dashboard** in the **File** menu, then cancelling in the confirmation prompt.
  * Deselecting all default drillthrough columns in settings results in no drillthrough columns when creating a drillthrough table through the context menu.
  * After pasting custom MDX in the **Query** tab, and then deleting the `areFiltersDrivenByMdx` attribute in the **State** tab, slicer filters are sometimes unexpectedly converted to subselects.
</Update>

<Update label="5.2.4" description="2025-01-03">
  ### Added

  * Ability to set the colors of members on tree map widgets.

  ### Changed

  * Display a warning instead of showing inaccurate statistics at the bottom right of table widgets when the selected cells span beyond the loaded range.
  * When creating or editing a filter, the query to fetch the list of available members takes into account the context values defined in the **Query context** tab.
  * **Switch widget type** context menu item not visible when the **Widgets** panel is open.
  * When using the **Duplicate widget** menu item for widgets, the new widget is selected.
  * The "Select all" option in the **Edit filter** popover is dynamic (equivalent to not filtering at all).

  ### Fixed

  * *"The dimension \[DIMENSION] was not found in the data model of cube "CUBE"."* error displayed when attempting to pin a filter on measures.
  * *"Cannot read properties of undefined (reading '0')"* error displayed when attempting to submit an empty filter on measures.
  * *"The hierarchy \[HIERARCHY] was not found in the data model of cube "CUBE."* error when a field in the **Fields** tab is not found in the cube of the selected widget.
  * *"Cannot read properties of undefined (reading 'reduce')"* error displayed when deleting a dimension or hierarchy name from the **Query** tab.
  * Sorting by **Last edited** or **Last editor** in the home page mixes up folders and dashboards.
  * *"The maximum number of authorized rows (10,000) has been exceeded by a drillthrough"* error when dragging an empty **Drillthrough table** into the dashboard.
</Update>

<Update label="5.2.3" description="2024-12-02">
  ### Added

  * Ability to expand and collapse hierarchy folders in the **Data model** and in the **Quick Filter** widget by clicking anywhere on the folder name, not just the caret.
  * [`totals.areAddedByDefault`](../developer-guide/reference/types#coresettings) setting allowing to control whether totals are added by default when a level is added to a widget.

  ### Changed

  * Widgets display an alert banner, instead of throwing *The dimension \[DIMENSION] was not found in the data model of cube "CUBE"* error, when there is a filter on a dimension or hierarchy that is not present in the widget's target cube. The alert can be hidden via the new [`filters.hideMissingHierarchiesAlert`](../developer-guide/reference/types#coresettings) setting.
  * The **Query** tab is part of the starter project.

  ### Fixed

  * Inability to resize the **Value** column in tables when **Measures** is placed on the **Rows** axis and the **Columns** axis is empty.
  * **Switch widget type** menu item opens the **Saved widgets** panel instead of the **Widgets** panel.
  * *"The dimension \[DimensionName] was not found in the data model of cube "CubeName"."* error in the **Filters** tab when creating a dashboard or page filter on a dimension or hierarchy that doesn't exist in the target cube of some widget in the scope.
  * When editing a calculated measure from the **Data model**, the changes are unexpectedly not applied to the widgets relying on this measure.
  * *"HiddenSubtotals: Invalid level unique name: \[Dimension].\[Hierarchy].\[Level]"* error thrown when changing a widget's cube after having removed levels with hidden subtotals from the widget.
  * Folders tree overflowing on the home page when it contains a large amount of folders.
  * *"The dimension \[Measures] was not found in the data model of cube 'CubeName'."* error thrown when attempting to edit a filter on a measure.
</Update>

<Update label="5.2.2" description="2024-10-31">
  ### Added

  * In calendars, dates for which Atoti Server has data are highlighted.
  * Ability to associate conditional style to a calculated measure from the **Create a calculated measure** popover.
  * Ability to navigate through dashboard pages using the keyboard with the `Tab`, `Shift + Tab` and `Enter` keys.
  * The **Open dashboard** popup opens in the folder containing the current dashboard instead of at the root of dashboards.
  * Cubes are grouped by catalog in the **Data model**.
  * [`filters.default.hiddenHierarchies`](../developer-guide/reference/types#coresettings) setting allowing to hide specific hierarchies from the **Default filters** section of the **Filters** tab.
  * Opt-in **Real-time** button in the application header, allowing to toggle real-time mode for all widgets in the dashboard.
    To add it to your project, include it in the [application menus](../developer-guide/customize-atoti-ui/customize-navigation/configure-the-application-menu) of your [configuration](../developer-guide/reference/types#configuration):

  ```diff theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
  + import { applicationMenuItemToggleRealTime } from "@activeviam/atoti-ui-sdk";
  + configuration.rightApplicationMenu.unshift(
  +   applicationMenuItemToggleRealTime,
  + );
  ```

  ### Fixed

  * *"Hierarchy appears several times in set1 & set2"* error thrown when adding a hierarchy to a query which contains nested crossjoins.
  * Pinned filters are labeled "ALL" instead of by their corresponding hierarchy name when they contain no selected members.
  * [`MenuItemPlugin`](../developer-guide/reference/types#menuitemplugin) not respecting its `doesContextMenuCloseOnClick` property.
  * Inability to import exported folders through the **Import content** context menu in the home page.
</Update>

<Update label="5.2.1" description="2024-09-30">
  ### Added

  * [`lastUsedCube.isEnabled`](../developer-guide/reference/types#coresettings) setting allowing to control whether the last cube selected by the user is used as default when creating a new widget.
  * Ability to toggle between a single scale or two scales for the y-axis of the **Columns and lines** chart in the **Style** tab.
  * Ability to deselect table cells through <kbd>Ctrl</kbd> / <kbd>Cmd</kbd> + click / drag within a selected range of cells.
  * Hovering over a measure tile will display a description, provided the underlying measure includes one.
  * Ability to create empty date range and member filters.

  ### Fixed

  * *"Uncaught (in promise) TypeError: this.\_input.match is not a function"* error when inserting a saved custom filter.
  * Resizing widgets vertically sometimes unexpectedly results in dragging them.
  * Glitch when resizing columns in tables, making it hard to double click a column's right border in order to autofit it to the width of its content.
</Update>

<Update label="5.2.0" description="2024-08-30">
  ### Added

  * When using [`withAuthenticatedClientsAndUser`](../developer-guide/reference/functions#withauthenticatedclientsanduser) in [`configuration.higherOrderComponents`](../developer-guide/reference/types#configuration), the user is automatically logged out upon any uncaught [`UnauthorizedError`](../developer-guide/reference/errors#unauthorizederror).
  * Ability to drill down members in column and bar charts.
  * Ability to open/share dashboards with a specific active page.
    It can be done thanks to page keys in dashboard URLs, e.g. `https://mywebsite.com/#/dashboard/id0/p-4`.
  * Ability to add measures and levels to widgets by clicking them in the **Data model** even when the **Fields** tab is closed.
  * Submitting a drillthrough query in the **Query** tab of an empty widget switches this widget to a **Drillthrough table**, if it is not initially one.
  * The values `"PAGES"`, `"SECTIONS"` and `"CHAPTERS"` to the type [`AxisName`](../developer-guide/reference/types#axisname).
  * Ability to save member color sets within the **Style** tab of chart widgets to a [`style.members`](../developer-guide/reference/types#coresettings) user setting, allowing to use these colors across all dashboards.
  * An interactive command palette, giving users access to many Atoti UI functionalities through keyboard usage. It can be opened using the <kbd>Alt</kbd>+<kbd>Q</kbd> keyboard shortcut, or via the **Help** > **Command palette** menu item. Thanks to the command palette, users can:
    * add a filter to the selected widget
    * add a hierarchy to the selected widget
    * add a measure to the selected widget
    * open a dashboard
    * open the **Fields**, **Style**, **Behavior**, **Query**, **Query context**, **State** tabs
    * insert a new page to the dashboard
    * insert a new widget to the dashboard
    * switch a widget to another one
    * save a dashboard
    * save a dashboard as

  ### Changed

  * The names of several artifacts have changed:
    * `activeui-${version}-licenses.csv` is renamed to `atoti-ui-${version}-licenses.csv`.
    * `activeui.jar` and `activeui-initial-content.jar` are renamed respectively to `atoti-ui.jar` and `atoti-ui-initial-content.jar`, and their `groupId` is changed from `com.activeviam.activeui` to `com.activeviam.atoti-ui`.
    * `admin-ui.jar` is renamed to `atoti-admin-ui.jar`.
  * [`ActivePivotClient`](https://assets.activeviam.com/products/atoti/ui/5.1/docs/api/types/#activepivotclient) hook is renamed to [`AtotiClient`](../developer-guide/reference/types#atoticlient).
  * [`createActivePivotClient`](https://assets.activeviam.com/products/atoti/ui/5.1/docs/api/functions/#createactivepivotclient) hook is renamed to [`createAtotiClient`](../developer-guide/reference/functions#createatoticlient).
  * The [`useActivePivotClients`](https://assets.activeviam.com/products/atoti/ui/5.1/docs/api/hooks/#useactivepivotclients) hook is renamed to [`useAtotiClients`](../developer-guide/reference/hooks#useAtotiClients).
  * The [`useActivePivotClient`](https://assets.activeviam.com/products/atoti/ui/5.1/docs/api/hooks/#useactivepivotclient) hook is renamed to [`useAtotiClient`](../developer-guide/reference/hooks#useAtotiClient).
  * The [`ActivePivotClientNotFoundError`](https://assets.activeviam.com/products/atoti/ui/5.1/docs/api/errors/#activepivotclientnotfounderror) error is renamed to [`AtotiClientNotFoundError`](../developer-guide/reference/errors#atoticlientnotfounderror).
  * The `QueryError` type is renamed to [`ErrorInQueryResult`](../developer-guide/reference/types#errorinqueryresult), as [a new `QueryError` class](../developer-guide/reference/errors#queryerror) is introduced, representing JS errors thrown when Atoti server responds with an error in a query result.
    The `QueryError` name is used for a new actual [error class](../developer-guide/reference/errors#queryerror).
  * The type for [member property](https://learn.microsoft.com/en-us/analysis-services/multidimensional-models/mdx/mdx-member-properties?view=asallproducts-allversions) values is changed from `any` to `unknown`.
    See [`Member.properties`](../developer-guide/reference/types#member).
  * The [`Whitelist`](https://assets.activeviam.com/products/atoti/ui/5.1/docs/api/types/#whitelist) type is renamed to [`Allowlist`](../developer-guide/reference/types#allowlist).
  * [`getSelectedLeafKey`](../developer-guide/reference/functions#getselectedleafkey) requires the dashboard active page key as second argument.
  * The [`useMenuItemExportFolder`](https://assets.activeviam.com/products/atoti/ui/5.1/docs/api/hooks/#usemenuitemexportfolder) hook is renamed to [`useMenuItemExportFilesAndFolders`](../developer-guide/reference/hooks#usemenuitemexportfilesandfolders)
  * The list of standard widgets is shown in a panel to the right of the tools panel.
    The panel can be collapsed by clicking the title bar at the top of the panel or resizing it.
    The panel can be hidden by clicking the button at the bottom of the panel.
    To show the widgets panel when it is hidden, click on the button to the bottom right of the tools panel.
  * [AFilter](../developer-guide/reference/types#afilter) has a `nonVisualTotals` optional attribute, allowing to save filters with non visual totals and to programmatically add such filters to widget queries.
  * The type of the keys of [`axisIds`](../developer-guide/reference/variables#axisids) from `string` to `"slicer" | "columns" | "rows" | "pages" | "chapters" | "sections"`.
  * The **Create new dashboard** and **Create new folder** buttons on the homepage are in the same position in grid view as in list view, in the top right corner below the navigation bar.
  * Improved the captions of the advanced filters, making them more easily understandable both in the wizard and when they are pinned.
  * The way to create, edit and rename calculated measures.
    Create a calculated measure still by clicking the **New calculated measure** button.
    Edit and rename a calculated measure by clicking the **Edit** menu item in the context menu of the corresponding **Data model** node.
    From the calculated measure popover, you can either:
    * click the **Save** button: the measure will be saved in the selected cube, and showed directly in the data model
    * click the **Save and apply** button: on top of being saved, the measure will be added to the selected widget

  ### Deprecated

  * **is alphabetically equal to** and **is not alphabetically equal to** advanced filters. Use filters on members instead.
  * [`FilterOnLowerOrGreaterCaptions`](../developer-guide/reference/types#filteronlowerorgreatercaptions) with a `lowerOrGreaterMode` of `Equal` or `NotEqual`.

  ### Removed

  * `DISPLAY_INFO` value in the [`CellProperty`](../developer-guide/reference/types#cellproperty) enum.
    Indeed, it is a [member property](https://learn.microsoft.com/en-us/analysis-services/multidimensional-models/mdx/mdx-member-properties?view=asallproducts-allversions), not a [cell property](https://learn.microsoft.com/en-us/analysis-services/multidimensional-models/mdx/mdx-cell-properties-using-cell-properties?view=asallproducts-allversions).
  * `contentTree` argument in the `deleteFolder` method of [`ContentClient`](../developer-guide/reference/types#contentclient).
  * `ActivePivotClient.addCalculatedMembersListener`, `ActivePivotClient.removeCalculatedMembersListener`, `ActivePivotClient.addConnectionStatusListener`, `ActivePivotClient.removeConnectionStatusListener`, `ActivePivotClient.addDataModelListener`, `ActivePivotClient.removeDataModelListener`, `ActivePivotClient.addDrillthroughColumnsListener`, `ActivePivotClient.removeDrillthroughColumnsListener`, `ActivePivotClient.addQueryListener`, `ActivePivotClient.removeQueryListener`,`ActivePivotClient.addQueryResultListener`, `ActivePivotClient.removeQueryResultListener`, `ContentClient.addActivityListener`, `ContentClient.removeActivityListener`, `ContentClient.addPermissionListener`, `ContentClient.removePermissionListener`, `ContentClient.addSettingListener`, `ContentClient.removeSettingListener`, `ContentClient.addTreeListener`, and `ContentClient.removeTreeListener`.
  * `ActivityListener`, `SettingListener`, and `TreeListener`.
  * `addDrillthroughColumn`, `removeDrillthroughColumn`, and `moveDrillthroughColumn`.
  * [`ActivePageChangedAction`](https://assets.activeviam.com/products/atoti/ui/5.1/docs/api/types/#activepagechangedaction) Redux action.
  * [`getActivePageKey`](https://assets.activeviam.com/products/atoti/ui/5.1/docs/api/functions/#getactivepagekey) Redux selector.
    Use [`useActivePageKeyFromUrl`](../developer-guide/reference/hooks#useactivepagekeyfromurl) instead.
  * The close icon next to dashboard page names (at the bottom of the screen), allowing to remove them.
    Users can still remove pages by right-clicking their name and using their **Delete** context menu item, or by wheel-clicking their name.
    This prevents from removing pages by mistake.
  * [`useOnNewCalculatedMeasureButtonClicked`](https://assets.activeviam.com/products/atoti/ui/5.1/docs/api/hooks/#useonnewcalculatedmeasurebuttonclicked)
  * [`useOnNewKpiButtonClicked`](https://assets.activeviam.com/products/atoti/ui/5.1/docs/api/hooks/#useonnewkpibuttonclicked)

  ### Fixed

  * When the `NON VISUAL` keyword is manually added to a widget's query, editing the widget's filters unexpectedly removes it.
</Update>
