← All changes ·

2026 W39

Dashboard analysis, Cloud login, ClickHouse SCD2 materializations, reverse ETL destinations, and pipeline workflow improvements.

Date range: September 12-27, 2026. This release adds dashboard analysis tools, Cloud login for the Bruin CLI, ClickHouse SCD2 materializations, and reverse ETL destinations, while improving pipeline filtering, notifications, and run diagnostics.

Highlights

  • Show images in dashboards and split a widget into tabs.
  • Automatically trigger an agent when a pipeline run succeeds.
  • Log in to Bruin Cloud from the CLI through your browser.
  • SCD2 materializations for ClickHouse assets.
  • New reverse ETL destinations: HubSpot and CleverTap.

Bruin Cloud

Dashboards

  • New Image tables and widgets → In dashboard YAML, set a column or widget to type: image, map src, title, caption, and alt fields, and choose fit: contain or cover to render URL-backed images. Also available in DAC.
  • Improved Query result previews → Select a SQL chart or table widget → Results to inspect the raw rows behind a visualization without leaving the dashboard.
  • New Tabbed widgets → In dashboard YAML, set type: tabs to combine complete widgets in one container, with a separate query, encoding, notes, and download view for each tab. Also available in DAC.
  • New Tab-scoped filters → In dashboard YAML, add tab to a filter to show it in that tab's filter bar; applying a filter now refreshes only widgets that use it. Also available in DAC.
  • New Dashboard notes → In dashboard YAML, define dimension-scoped notes and reuse them across widgets; publish the dashboard before agents use new or changed note definitions. Also available in DAC.
  • New Drag-and-drop widget ordering → Open a dashboard in edit mode and drag widgets directly on the canvas, including widgets inside tabs.
  • Improved Full-width widget defaults → Widgets without an explicit width now use all 12 columns in Cloud and repo-defined dashboards.
  • Improved Dashboard filter validation → Dashboard filters validate declared values and reuse a shared options cache, so dependent dropdowns update more reliably and invalid selections fail clearly.
  • Fix Dashboard editing fixes → Deleting a widget now reflows its row, row menus stay within the viewport, and move-to-folder remains available from the menu.
  • Improved YAML editor indentation → Pressing Enter or pasting a multiline block keeps nested mappings and list mappings aligned with the current indentation.

Pipelines and runs

  • New Pipeline tags and filters → In Pipelines, use tag badges, search by owner or tags, include unowned pipelines, and combine the filters with text search.
  • Improved Next-run and status details → Pipeline and run pages now distinguish scheduled, continuous, unscheduled, loading, and unavailable states, keep statuses visible beside long run IDs, and show blocking or non-blocking check failures.
  • Fix Run task status updates → Cloud run actions now mark task instances by default when a run is marked successful or failed, including bulk, API, backfill, and MCP actions.
  • Fix Backfill run durations → Marked backfill runs without a real execution start no longer display inflated multi-day durations.

Data apps

  • New Access controls → Use private or team visibility and grant individual viewer or editor access from the Share menu in the data-app list or builder.

Scheduled agents

  • New Pipeline success triggers → In a scheduled agent's Schedule section, select one or more pipelines to start the agent when any scheduled run succeeds. Pipeline triggers work independently of cron schedules and Cloud notifications.
  • Improved Advanced trigger conditions → Open Advanced to customize the event types and conditions used by a scheduled-agent trigger, while simple pipeline selections stay focused on scheduled runs.
  • Improved Run history and trigger details → Browse scheduled-agent runs with a total count and Previous/Next pagination, and see whether each run started from a schedule, a manual action, or a pipeline.

Connections and GitHub

  • Improved GCP service account uploads → In GCP connection forms and connection sets, choose Upload JSON file to populate the editable service-account field, with inline validation for invalid files.
  • New Multiple GitHub accounts → Connect personal and organization GitHub installations together, filter repositories by account, and use the selected project's installation for GitOps writes.
  • Improved GitHub connection controls → Team Settings now shows one clear GitHub connection status and one Refresh action that re-discovers installations without a browser round-trip.
  • Fix Connection validation messages → Snowflake forms support password-only and key-pair authentication again, and rejected connection details are distinguished from an unreachable validation service.

Notifications and agents

  • Improved Run-tag filters → Notification rules can filter on run tags such as manual, scheduled, and backfill, plus pipeline and asset owners and tags, with suggestions scoped to the selected projects, pipelines, and assets.
  • Improved Pipeline notification emails → Notification emails now use clearer success, warning, and failure cards with event details and direct links to the relevant run, asset, or quality check.
  • Improved Permission guidance → Capability-gated dashboard, scheduled-run, and agent-chat pages now explain which Cloud CLI permission is missing and link directly to the settings needed to enable it.
  • Improved Custom MCP secret handling → The custom MCP server form now directs secrets to Environment variables with ${VAR} references and keeps argument values out of saved labels.
  • Improved Warehouse-first data answers → When MCP servers are attached, agents now check the warehouse first for data questions and use MCP directly for actions or offered live pulls.

Bruin CLI

  • New Cloud browser login → Run bruin cloud login to approve access in your browser, choose teams and a permission level, set an expiration, and store the credential locally; use bruin auth status or bruin logout to manage it.
  • New Scheduled-agent pipeline triggers → Use bruin cloud scheduled-agents pipeline-trigger get|set|delete to configure a scheduled agent's pipeline-success trigger with standard Cloud authentication and JSON output.
  • New Asset-level run status → Use bruin cloud runs mark-status --asset to mark one asset instance successful or failed without changing the rest of the run.
  • Improved ClickHouse SCD2 and table options → Track row history with scd2_by_time or scd2_by_column materializations, and set table engines, sort keys, TTL, and partitions in ClickHouse asset definitions. Materializations can also run across a cluster, and connections accept query settings.
  • New HubSpot reverse ETL options → HubSpot reverse ETL assets accept incremental_strategy: update to change existing records only and delete to archive them. Set reject_mode and write_nulls to control rejected rows and empty fields.
  • Improved Filtered pipeline runs → bruin run now validates dependencies against the selected assets when using --tag or --exclude-tag, so excluded assets no longer block discovery runs unnecessarily.
  • Fix Faster low-volume logs → Secret masking no longer holds ordinary low-volume CLI output for minutes before flushing.
  • New Semantic note definitions → Define reusable, dimension-aware notes in semantic models with validated dimension options.

Bruin VS Code

  • Fix Readable table-diff errors → The Table Diff panel now shows the actual CLI error message instead of the raw JSON error object when a diff fails.

DAC

  • Fix Dark export backgrounds → PNG and PDF dashboard exports now preserve the active dark theme background.

ingestr

  • New HubSpot and CleverTap reverse ETL → Write warehouse rows to HubSpot CRM objects and associations or CleverTap profiles and events through reverse ETL destinations, with matching and reject handling for each API.
  • Improved Safer column renaming → --columns renames now preserve values for schema-less sources, and automatic naming no longer mutates source schemas or primary keys during single-table and CDC runs.
  • Fix Fail-fast reverse ETL writes → A reverse ETL write error with fail_fast now stops the source read immediately instead of consuming the rest of the stream.
  • Improved BigQuery staging location → When a BigQuery destination omits location, _bruin_staging now follows the target dataset's region. A mismatched existing staging dataset fails fast with an actionable error.
  • Fix Quieter Snowflake first runs → Handled destination-table probes no longer print misleading driver errors during normal ingestion; use --debug when you need the driver's details.

Sign up to our newsletter

Practical updates on open-source data pipelines, AI analysts, governance, and what we are shipping at Bruin.

The signup form is hosted by Brevo. Allow marketing cookies to load it.