May 29, 2026
Oracle is now a native data source
You can now connect Oracle as a direct database connection alongside Postgres, MySQL, SQL Server, and the rest. Connections use node-oracledb in Thin mode, so there’s no Oracle Instant Client install to babysit—standard host/port/service-name (and SSL/SSH-tunnel) connections work out of the box, and schema introspection runs through the ALL_* views the way you’d expect.
The chat agent knows about Oracle SQL gotchas, the connection picker shows the Oracle logo inline, and we hid the Airbyte Oracle DB connector now that there’s a first-class native option that talks directly to your database.
MCP servers join the public API
The public API now covers MCP servers end-to-end: you can list, create, update, fetch, and delete the MCP connectors attached to an organization through /api/public/organizations/{orgId}/mcp-servers. This closes one of the larger gaps after last week’s automations, members, AI usage, and data source access endpoints.
If you provision Basedash from your IDP or runbooks, you can now keep MCP server configs in sync from outside the app—useful for environments where every connector needs to be reviewable and reproducible.
Insights got more flexible
Insights schedules now include a “Never” option. Turn off automatic generation entirely while keeping Insights enabled so people on your team can still trigger them manually from the app—useful for trial accounts and for orgs that only want Insights on demand.
The public Insights API also now returns a rendered chart image URL alongside each insight’s chart, reusing the same cached screenshot the in-app and Slack/email surfaces use. If you’re piping Insights into your own tools or docs, you no longer have to render the chart yourself to embed the visual.
Data source pages keep getting better
We polished the data source detail page another pass. Renaming now happens through the command menu everywhere instead of inline-editing the title, the overflow actions in the sidebar and page headers were consolidated into one consistent menu, and direct SQL connections get a dialect-aware Connection details section with blurred-until-revealed credentials, masked secrets, and a one-click warehouse password reveal. Airbyte connectors can now load their full spec/config on demand with the same secret-masking treatment, and Fivetran connectors got a cleaner “managed in Fivetran” block.
If you belong to multiple organizations, the login flow now lands you in the alphabetically-first org instead of an arbitrary one, so the default destination is predictable.
The chat agent can manage its own skills
The chat agent can now create, update, and delete AI skills directly. When you tell it something worth remembering—a recurring instruction, a domain convention, or a piece of business context—it can save that as a durable, reusable skill (with a generated routing description) instead of relying on you to add it manually in settings.
We also generate routing descriptions for new and renamed skills automatically, which improves how the agent picks the right skill on each turn—so skills you’ve already created should kick in more reliably.
Fixes and improvements
- Surfaced chat file upload errors with a clear toast and preserved the user’s draft and selected attachment, instead of swallowing the failure silently.
- Fixed chat attachment submission so failed uploads no longer wipe the composer and you can retry without re-attaching the file.
- Fixed an Insights cron edge case where a top-of-hour fan-out across multiple pods could publish the same insight twice on the same day.
- Fixed shared chart exports on public dashboards so JWT-locked variables and legacy variable names round-trip correctly through CSV/Excel exports.
- Paginated schema sync so very large warehouses sync reliably without stalling the event loop on big table sets.
- Added a realistic example payload to the public Insights API spec so the generated docs show what an insight response actually looks like.