May 22, 2026
Filter individual charts independently from dashboards
Chart filters can now be scoped to a single chart instead of the whole dashboard. You decide whether a filter applies dashboard-wide or just to one chart, and you can promote a chart-level filter to the dashboard or demote a dashboard filter back to a single chart whenever you want to rearrange things.
This makes dashboards with mixed analytic surfaces much more workable—one chart can have its own time range or status filter while the rest of the dashboard keeps using its defaults, without forking the underlying SQL.
Embed individual charts, not just dashboards
Public sharing now works at the chart level. Open the share popover on a chart that lives in a publicly shared dashboard and you’ll get a link and iframe snippet you can drop into your own product, docs, or internal tools. The embedded chart renders full-bleed, supports any chart-scoped filters you’ve configured, and keeps a small “Made in Basedash” badge in the corner.
Inherited dashboard access is shown read-only in the popover so it’s obvious who can already see the chart, and the embed strips app chrome (sidebar and chat toggles) while keeping the chart’s own filter controls visible.
Data source pages got a major rework
Connector homepages now live in the main content area with inline editing for everything: AI context autosaves on blur, access is managed with the same share-popover pattern as dashboards (everyone / group / member rows with their own permission dropdowns), and the danger zone is a type-to-confirm field that flips the delete button from secondary to primary the moment you type the right name. Sync moved out of the page header and into the sidebar footer, and switching between data sources of the same type no longer leaves your scroll position in a strange place.
Warehouse credentials are now obscured by default behind a “Show credentials” overlay with per-field copy buttons (including the password once it’s fetched), so it’s harder to accidentally leak secrets while screen-sharing. Settings pages also got fresher empty states, consistent section subtitles, and a unified AI context textarea.
The public API now covers most of Basedash
Following last week’s Insights API, this week the public API adds endpoints for automations (list, create, update, archive, fetch, plus run management), members (invite by email and update role or profile), AI usage (current billing-period totals plus a per-member breakdown), and data source access (read or replace the policy with either “everyone” or restricted groups and members).
Together with Insights, this means you can wire most of Basedash’s surface area into your own tools—pin reports into a runbook, drive provisioning from your IDP, monitor AI spend, or audit who can query what.
Slack and email responses now ship with chart images
Slack chat replies and automation notifications (Slack and email) now include rendered chart screenshots inline, matching the flow that already ships for Insights. When the chat agent or an automation generates a chart, the image is placed right where the chart appears in the response, so you can see the answer directly in the thread or message without clicking through to Basedash.
Chart screenshots are also now rendered at 2× device scale, so the visuals look noticeably sharper in Slack messages, email digests, and anywhere else server-side renders show up.
Fixes and improvements
- Fixed Google sign-in so it works on the first try instead of occasionally bouncing users back to the login page.
- Recovered chats that got stuck mid-generation by adding an automatic recovery sweep, so the message composer no longer stays disabled after a thinking step finishes.
- Added a Slack disclaimer message that posts automatically when the Basedash app is added to a Slack channel, so everyone in the channel knows what to expect.
- Filtered the Slack private channel picker so it only shows channels the configuring user actually belongs to.
- Capped Slack messages at Slack’s 50-block limit with a clean truncation footer instead of failing to post long responses.
- Added horizontal scrolling for dashboard filter rows so long filter sets no longer break the header layout.
- Improved dropdown option rendering when a filter’s label and value differ, with smarter width splitting and full-text hover.
- Fixed multi-select filter handling when option values contain commas so selections round-trip correctly.
- Always show number chart titles on public sharing links, matching the in-app behavior.
- Tightened line chart stroke widths for a cleaner look at typical chart sizes.
- Fixed markdown blockquotes (and inline code, bold, italic, and links) so they’re legible in dark Insight and automation emails.
- Required explicit confirmation, including the resource type, when deleting data sources, with case-insensitive matching.
- Changed the default role for invited members from “inherit from inviter” to “Member” so admins are no longer created by accident.
- Fixed Fivetran destinations failing when an organization name starts with a number.
- Fixed Postgres JSONB queries using
->and->>getting mangled by pagination logic on cached connections. - Fixed the chat agent retrieving stale chart context when dashboard context was too large to inline.
- Fixed inline chat charts that reference dashboards so they pick up the correct dashboard date defaults and variable values.
- Stopped surfacing unhandled errors when chat message prefetching failed transiently.
- Eliminated repeated 404 spam from
/connections//{schemas,tables}requests when no connection was selected. - Fixed chart screenshot rendering in production so Slack and email chart images render reliably.