Skip to main content

Release v2.17.1

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

We're excited to announce Bublik v2.17.1!
This release adds drag-and-drop column reordering to run tables, improves progress loading by fetching runs in batches as needed, and extends MI log charts with support for the new series aggregation type. We also made history form labels and placeholders clearer, significantly sped up report generation, introduced data contracts for run logs and run metadata with validation during import, and fixed broken short URLs, report generation bugs, and incorrect tag caching.

What's New

Reorder Runs Table Columns
Drag column headers into the order that works best for you. Your layout is preserved per project and can be shared through the page URL.

Faster Progress Loading
Progress runs are now loaded in batches of 50 as you navigate through the table, replacing the previous 200-run limit as well as added lazy loading for infinite scrolling

New MI Log Aggregation
MI log charts now support series entries containing multiple values, including charts that use automatic sequence numbers.

Highlights

Reorder Runs Table Columns

Run table columns can now be reordered directly from their headers. Drag an individual column or move a grouped header as one block; the tree column remains fixed at the start of the table. Your preferred order is saved per project, reflected in the URL for sharing, and can be restored with the table's Reset action.

Drag And Drop

Admin Section

Backend Update

  1. cd bublik
  2. git remote update
  3. git checkout v2.17.1
  4. ./scripts/deploy --steps per_project_conf run_services _TagsCache was replaced with _MetasCache — the cache now also stores branches, revisions, and labels, plus the population logic was fixed. Existing caches need to be rebuilt to match the new structure.
  5. Activate the virtual environment: source .env/bin/activate
  6. Run the command to update the project cache: python manage.py project_cache update

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.17.1

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.17.1

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.17.1/" .env

# 3. Pull the latest docker image
task pull

# 4. Start the docker container
task up

# 5. Enter container shell
task shell

# 6. Run the command to update the project cache and configs
python manage.py project_cache update
python manage.py migrate_configs
python manage.py reformat_configs
python manage.py initialize_configs

Changelog

Frontend

🐛 Bug Fix

  • dashboard: manual refresh not updating run statuses (0502759)
  • log: render new series aggregation on auto-seqno MI charts (9152b0a)
  • log: keep pagination available in all-pages mode (18b227a)
  • sidebar: hide horizontal overflow when collapsed (85c45d9)
  • report: preserve deep-link anchors scroll (76dd5b6)

🚀 New Feature

  • log: support new aggregation type in MI logs (996f0e9)
  • log: add setting to remember all-pages selection (1cfccbd)
  • run: [table] add ability to reorder columns by dragging them (60b2655)
  • runs: [progress] lazy load progress runs in batches of 50 (2616efa)

💅 Polish

  • history: [form] make input label bolder (982683c)
  • history: [form] make inputs placeholders to use #ccc color (8ddc001)

Backend

🐛 Bug Fix

  • run: validate run before loading stats defaults (b2fc6bc)
  • result: validate result before loading artifacts (2ae4525)
  • utils: fix typo in binary multiplier key (328b394)
  • cache: fix tags cache population for default context (d84eff6)
  • run data: fix tags missing from project relevant and all cache entries (c488028)
  • url: fix URL-unsafe characters in short URL hashes (d99652b), closes #340
  • config: align schema with the only supported UI version (f412662), related to #341
  • report: fix report configuration applicability detection (ddec067)
  • config: prevent broken reports caused by empty y-axis values (5395bbd)
  • importruns: fix import failure caused by invalid meta data schema (c0b30ed)
  • results: support EMPTY status reported by TE (f0e691d)

🚀 New Feature

  • importruns: support series aggregation type in MI logs (e6a011f)
  • importruns: introduce data contract for run log format (b4d8395)
  • importruns: enforce run log contract during import (7cd195a)
  • importruns: introduce data contract for run metadata format (0e722e7)
  • importruns: enforce run metadata contract during import (769fbcc)
  • cache: extend project cache with branches, revisions, and labels (a520a83)
  • history: add endpoint to fetch test parameter search options (f55c18a)
  • history: add endpoint to fetch run meta search options (65ce277)

⚡ Performance

  • report: improve performance by eager-loading related data (59b6bf3), closes #346
  • measurement: improve performance by reusing prefetched measurement metas (c4839ea)
  • report: improve performance by reducing filtering queries (00cf85e), related to #346
  • report: improve performance by avoiding re-execution of filter queries (342627c), related to #346

♻️ Code Refactoring

  • report: improve robustness of test ordering retrieval (e272ae6)
  • config: make test ordering optional in report configs (163c76c)

📦 Chores

  • run: align OpenAPI schemas with actual API responses (04abe49)
  • result: align OpenAPI schemas with actual API responses (b35e417)
  • management: enable reformat to ensure supported UI version (af7b667), closes #341
  • management: enable reformat to clean up empty y-axis config entries (04a2f8b)
  • requirements: update packages versions to pick up bug fixes (5bf204f)