Skip to main content

Release v2.10.0

· 6 min read
Kostromin Danil
Bublik UI Maintainer
Rybchenko Natalia
Bublik Backend Maintainer

We're excited to announce Bublik v2.10.0!
This release brings powerful new capabilities for AI integration and improved history global search form.

What's New

MCP Server
In this release, we've added an MCP (Model Context Protocol) server, enabling seamless integration with AI agents and assistants.

Run Filters for Obtained Results
We've enhanced the run page with powerful new filtering capabilities in the results table.

History Global Search Form Improved
The history global search form has been completely revamped for better usability. Filters are now organized into clear sections (TEST, RUN, RESULT, VERDICT), with frequently used fields prominently displayed and advanced options collapsed by default.

Highlights

MCP Server

We're introducing a Model Context Protocol (MCP) server that allows AI agents to interact with Bublik programmatically. This opens up possibilities for:

  • Automated Analysis: Let AI assistants analyze test failures and identify patterns
  • Natural Language Queries: Ask questions about your test data in plain language
  • Workflow Integration: Connect Bublik to your existing AI-powered workflows

Here's an example of naive just for the start conversation

You can connect to it via these configs as an example:

  1. OpenCode:
"bublik-mcp": {
"type": "remote",
"url": "https://<bublik_url>/mcp",
}
  1. Claude:
"bublik-mcp": {
"type": "http",
"url": "https://<bublik_url>/mcp"
}

Run Filters For Obtained Results

Run filters for obtained results

History Global Search Form Improved

The form now shows the most commonly used fields by default, with advanced options available through expandable sections. Long test paths are intelligently truncated to show only the end portion by default, making the interface cleaner.

Updated history global search form

Cleaner Legend — We've also removed unnecessary clutter from the history legend by hiding empty values, giving you a cleaner view of your test data.

Cleaned up history legend

Admin Section

Backend Update

  1. cd bublik
  2. git remote update
  3. git checkout v2.10.0
  4. ./scripts/deploy --steps pip_requirements django_settings run_services

Frontend Update

  1. Trigger the workflow in your frontend repository
  2. Synchronize the mirrors
  3. cd bublik-ui
  4. git remote update
  5. git checkout v2.10.0

Documentation Update

  1. Trigger the workflow in your frontend repository
  2. Synchronize the mirrors
  3. cd bublik-docs
  4. git remote update
  5. git checkout v2.10.0

Docker Instance Update

  1. task backup:create
  2. Open your .env file and change IMAGE_TAG to 2.10.0
  3. grep -q "BUBLIK_DOCKER_MCP_HOST" .env || echo "BUBLIK_DOCKER_MCP_HOST=127.0.0.1" >> .env
  4. grep -q "BUBLIK_DOCKER_MCP_PORT" .env || echo "BUBLIK_DOCKER_MCP_PORT=8001" >> .env
  5. task pull
  6. task up

Changelog

Frontend

🚀 New Feature

  • api: add components for handling API errors in a centralized manner (fba28d8)
  • api: add normalized error handling (c8c5a06)
  • api: create library for centralized display of API errors (0f5c423)
  • run: expose obtained-result facets in result table toolbar (302ee2c)
  • ui: [input] allow input to oprionally show end of value on mount (302c499)
  • ui: add shared primitives for handling API errors in a centralized manner (cfa28df)

💅 Polish

  • dashboard: remove line wrap for run progress nok/ok results (063be18)
  • dashboard: separate refresh button from clock widget (a829cee)
  • form: change gray color for input placeholders and app labels (e596185)
  • history: capitalize labels for history legend items (eb8978e)
  • history: don't display placeholder for empty legend items (8867bfa)
  • log: [meta] improve structure for log time information (d855ce4)
  • ui: [checkbox] allow passing className for icon as a prop (90e0ddc)
  • ui: [hover-card] fix incorrect arrow position (c983414)

🐛 Bug Fix

  • history: stop prefiltering history shortcuts by classification (a69e212), closes #512
  • log: expand nested ERROR rows in log (be1288a)
  • run: [details] clarify Run ID label (79f7e2f)
  • run: [multiple] preserve runIds query params on columns reset (3f89cee), closes #511
  • run: make filtering exact and prevent accidental dim reference selection (e401ded)
  • runs,history,report: fix memory leak (4527f0a)
  • runs: [charts] align day charts to daily aggregates (55ae3dc)
  • runs: [charts] guard pass rate against zero totals (8d85479)
  • runs: rename metadata filter label from 'Tags' to 'Metas' (8160813), closes #505

♻ Code Refactoring

  • history: revamp global search form interactions (b7c3d91)
  • report: extract hooks for performance from report to reusable library (fc1fb29)
  • run: make dim mode default in result table (5cd151b)
  • ui: [badge-input] improve ergonomics (523907d)
  • use single component for API errors handling and empty states (2e54fda)

📦 Chores

  • dashboard: remove links from subrow and add link hints to tooltips (93d11fa), closes #488
  • history: rename "Test Name" to "Test Path" (6b5ff68)
  • run: [comment] close after succesufull edit/create/update form (7aa905d)
  • run: [result-table] move button and rename to "Filters" for opening toolbar (33de7ff)
  • test: update snapshot tests (da533b7)

⚡ Performance Improvements

  • history: [series] improve performance of series charts (bc58b7a)
  • report: improve performance for report charts (a42f530)

Backend