A New Look
Cube has carried the same brand and the same colors since September 2018, when the first commit landed in the open source repo. It was a semantic layer for embedded analytics then. It is the agentic analytics platform now — Analytics Chat, workbooks, dashboards, embedded surfaces, with the semantic layer underneath all of it. The logo stayed put the whole time.
That changed this week. Cube has a new logo and a new look — across Cube Cloud, the sign-in pages, the Google Sheets and Excel add-ons, and the MCP app.
A dashboard reports in its own time zone
The workspace time zone policy shipped last week lets each reader bucket numbers in their own zone. A dashboard is one artifact many people read, so it can now carry a zone of its own, and everything on it agrees — charts, chat answers, drill-downs, subtotals, sparklines. Saved explorations get the same control, gated like the rest of the artifact: a read-only viewer cannot re-pin a shared exploration, and a reader cannot relabel a pinned dashboard by bringing their own zone to it. An exploration with no zone of its own inherits the workspace zone, the same as a dashboard. Both need the policy on under Admin → Settings.
Worth knowing before you turn the policy on: an exploration saved before this release, with no zone of its own, used to resolve on each reader's personal zone. It now resolves on the workspace zone, so a reader outside that zone will see different numbers on it than they did last week.
Other improvements and fixes:
Workbooks
- SQL and Python now sit in the report toolbar in both Explore and Workbooks, next to the view selector
- An exploration shared with read-only access now opens for the recipient and renders view-only, instead of redirecting them away
- You can now compare the same offset under more than one time dimension at once, so "1 month earlier by Date" and "1 month earlier by Created at" can sit in the same report
- A new report now starts on the deployment's default row limit instead of quietly running at the deployment maximum
Dashboards
- You can now download an individual chart as PNG or PDF from its menu on a published Dashboard, alongside the existing CSV
- The AI widget is now called Analysis, with Run and Refresh in place of Generate Summary and Re-run, and Refresh all charts now re-runs it too
- Adding a chart that uses a different semantic view now warns you that the dashboard's controls will not filter it, and offers to map them across
- The Layout Compaction setting has been removed from the builder — the editor now always compacts vertically
Visualization
- A Table chart column can now render image thumbnails: a dimension declared
format: imageUrldoes it with no configuration, and any other string column can be switched to image mode from the Style tab - Pie charts have a new Slice grouping control that folds small slices into a single "Other" — either everything under a share of the total, or everything past the biggest few
- Small multiples can now split by two dimensions — one across the columns, one down the rows — so each panel shows one combination of the two
- A greyed-out chart type in the picker now tells you what it needs, like "Line. Needs 1 time dimension"
- The chart type picker has a search box that answers what you want to draw: type "sparkline" and it points you at the Table and KPI settings that make one
- If you change a query so its chart type no longer fits, the chart now says what is missing and offers the nearest type that works
Administration
- The Audit Log now lists SCIM group membership changes by user email, so you can search it for who was added or dropped
- Pushing to a protected branch on Azure DevOps, GitLab or Bitbucket now tells you the branch requires a pull request, instead of reporting a repository access problem
- The billing usage bars now fill with the amount remaining, matching the caption beneath them
AI
- Every MCP tool now accepts a
deploymentId, so a connected client can reach any deployment you have access to, not just the one it connected with - Added
readReport,updateReportanddeleteReportMCP tools, so an agent can edit a report without breaking the Dashboard widgets that use it - Fixed MCP sessions being dropped after ten minutes of quiet
- The MCP
loadQueryResultstool can now be called — every query Analytics Chat runs now comes back with the id the tool needs
Integrations
- A dbt sync can now be watched and cancelled through the deployment API, and pointed at a branch for a single run, so CI can start a sync, wait for it, and fail the job when the model breaks
- Snowflake Semantic View Sync can now pull named views instead of the whole schema, with
*patterns - Selecting dbt models from several schemas now generates each cube against the schema that model actually builds into, instead of pointing them all at one schema
Modeling
- Time dimensions over a
DATEcolumn now work on Trino and Presto, where they used to fail outright with a type mismatch - A segment named in
FILTER_PARAMSnow pushes its condition into the cube's SQL, so it filters the scan rather than being applied after the joins - An ungrouped query is no longer answered from a rollup that would hand back pre-summed groups instead of raw rows
- Merging a branch through the CLI or the API now exits dev mode for anyone still working on it, instead of leaving them on a branch that no longer exists
API
The SQL API now pushes WIDTH_BUCKET down to your data warehouse.
Workspace
- An empty workspace now shows what you can do next, instead of an empty table
- The Owner column now reads "No owner" where the owner has been deleted