Skip to main content

Release v2.14.0

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

We're excited to announce Bublik v2.14.0!
In this release the run statistics table can now be configured to show a custom set of default columns straight from the project config, with the frontend honoring those defaults automatically. We've also added a button to copy a config's JSON schema, refactored the runs charts page to use a new, more efficient API endpoint, and fixed the import form so the "Force Import" flag and selected project are no longer reset when adding a new URL. On the backend, the run and result API modules were separated for clearer contracts, and the MCP server gained compact run and result navigation.

What's New

Configurable Default Columns for Run Stats Table
The default columns displayed in the run stats table can now be configured via the main project config, and the frontend applies them automatically instead of relying on hardcoded defaults.

Copy Config Schema Button
The config editor now has a button to copy a config's JSON schema to the clipboard.

Faster Runs Charts Page
The runs charts page now uses a new, more efficient API endpoint.

Import Form Fix
The "Force Import" flag and selected project are no longer reset when adding a new URL field in the import form.

Highlights

Configurable Default Columns for Run Stats Table

Which columns are shown by default in the run stats table can now be controlled from the main project config instead of being hardcoded.

Config

Reorder

Copy Config Schema Button

The config editor now exposes a button to copy a config's JSON schema to the clipboard, making it easier to author and validate configuration against the expected structure.

Copy

Admin Section

Backend Update

  1. cd bublik
  2. git remote update
  3. git checkout v2.14.0
  4. ./scripts/deploy --steps pip_requirements 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.14.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.14.0

Docker Instance Update

# 1. Backup the current db
task backup:create

# 2. Update the image tag in the .env file
sed -i "s/^IMAGE_TAG=.*/IMAGE_TAG=2.14.0/" .env

# 3. Pull the latest docker image
task pull

# 4. Start the docker container
task up

Changelog

Frontend

🐛 Bug Fix

  • import: force import flag resetting after adding new URL (babf57b)

🚀 New Feature

  • configs: add button to copy config schema (a99c331)
  • run: add ability to reorder columns (b8a212b)
  • run: honor column order provided from API (01a762e)
  • run: honor default columns provided for run table from API (752b039)

♻️ Code Refactoring

  • runs: use new API endpoint for runs charts page (d8ca6e8)

Backend

🐛 Bug Fix

  • run: fix compromised status check to consistently return bool (a99d31b)
  • run: unify compromised details dict shape across both statuses (32d1824)
  • mcp: fix return type annotation of run compromised status tool (85c5b9c)
  • api: fix results module export declaration (cabc978)

🚀 New Feature

  • config: allow configuring default columns for run stats table (66bd431)
  • run: expose default run stats columns in stats API response (720a816)
  • core: expose resolved page in pagination payload (dda5c74)
  • run: add resolved page to run list pagination DTO (40dc9d5)
  • mcp: enforce run/result navigation to reduce context usage (3617b55)

⚡ Performance

  • run: materialize NOK distribution response (5a48edc)
  • run: improve run list pagination performance (8144453)

♻️ Code Refactoring

  • run: prepare API modules for independent evolution (add803d)
  • run: introduce DTO-based service contracts (970baea)

📦 Chores

  • ci: use Ruff for Python quality checks (acff8b3)
  • style: configure Ruff docstring quote handling as advised in PEP 257 (2498626)
  • style: ignore ruff suggestion to remove list index lookup (6d764b0)

🧹 Cleanup

  • style: normalize Python docstring quotes (9e1ef46)
  • style: normalize string and f-string literals (b9e3010)
  • style: rewrap long lambda expressions (21d6503)
  • style: remove unused test imports (282ad08)
  • style: simplify test helper (fbc9817)
  • results: clarify execution sequence number parameter description (724dc90)