Skip to main content

Release v2.13.1

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

We're excited to announce Bublik v2.13.1!
In this release we've added a button to navigate to the latest run report from history page. We also fixed timestamp corruption in imported test iteration results, including timezone offset issues and midnight-crossing errors, and added automatic repair during imports to prevent future inconsistencies. Expected result generation was fixed to preserve keys and notes from obtained data, while avoiding duplicate expectations on force imports.

What's New

History Button To Latest Run Report
We've added a button to navigate to the latest run report from history page

Highlights

History Button To Latest Run Report

History Button To Latest Run Report

Admin Section

⚠️ Action Required — Force Re-import Needed

In v1.10.0, Bublik was updated to support the new run log format. As part of this update, the handler that derives the expected result for iterations that lack one was adjusted. In the updated version, only key and notes nested inside result of the obtained result are taken into account, while top-level fields of the obtained result are not. This may result in missing corresponding key values in the expected results of iterations from affected runs. To resolve this a force re-import of the relevant runs is required after completing the update.

tip

Before starting the update, create a database backup to ensure data safety in case of any unexpected issues during the process.

Backend Update

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

Runs imported before Bublik v2.13.0 from logs generated before TE v1.68.0 may contain two classes of timestamp corruption in iteration results: midnight-crossing date errors and timezone offset errors. These stem from incorrect timezone handling during import (fixed in Bublik v2.13.0) and incorrect calendar date assignment during log-to-JSON parsing (fixed in TE v1.68.0). To repair the affected data:

tip

Since repairing iteration result timestamps may take a long time, use tmux or screen during the update to keep your session running in the background, ensuring it won't be interrupted if the connection is lost.

  1. Activate the virtual environment: source .env/bin/activate
  2. Run the management command with a date range and/or a list of run IDs: python manage.py fix_result_timestamps -f 2017.01.01

Frontend Update

danger

If you hit error ERROR: packages field missing or empty when trying to build it means that you use outdated pnpm version in github workflow.

To fix this you can cherry pick following commit: 68d6a09

  1. Trigger the workflow in your frontend repository
  2. Synchronize the mirrors
  3. cd bublik-ui
  4. git remote update
  5. git checkout v2.13.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.13.1

Docker Instance Update

note

TE has been upgraded from version v1.47.1 to v1.69.0

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

# 3. Pull the latest docker image
task pull

# 4. Start the docker container
task up

# 5. Enter the shell
task shell

# 6. Fix result timestamps (see above)
python manage.py fix_result_timestamps -f 2017.01.01

Changelog

Frontend

🚀 New Feature

  • history: add button for navigation to latest run report (801cc8b)

🐛 Bug Fix

  • import: fix import event filter pagination reset (a7c2ded)
  • import: status line on top of the import table header (9918c4b)
  • log: adjust objective text wrapping in log metadata (7ecef66)

📦 Chores

  • deps: upgrade xlsx to 0.20.3 version to integrity issues (ab8a671)

Backend

🐛 Bug Fix

  • config: fix list method ignoring query parameter filters (90ce105)
  • importruns: fix expected result composition when absent from log (596b083)
  • importruns: fix duplicate expectations on force import (c1515b2)
  • importruns: fix timezone mismatch between run and iteration timestamps (6bf518e)
  • log: fix fetching JSON logs without authenticated URL helper (1a17177)
  • mcp: fix wrong name for run metadata filter in list_runs tool (08940c6)
  • mcp: fix list_runs_today not matching project today dashboard (0c90db2)
  • mcp: accept numeric JSON log timestamps (17fa4f8)
  • importruns: fix crash when importing runs with non-UTC timezone offset (029cc23)

🚀 New Feature

  • runs: add backend aggregation for runs charts (c069e53)
  • history: include report config ID in test result response (b6e1403)
  • importruns: prefer Unix timestamps over naive strings for iterations (55080f1)
  • utils: add context manager support to execution time measurement (d4895ab)
  • management: add command to repair corrupted TIR timestamps (cc5f822)
  • importruns: automatically fix result timestamps after run import (e3abcc0)

♻️ Code Refactoring

  • report: encapsulate recent report config lookup in service layer (12cbce9)

📦 Chores

  • config: remove pagination from ViewSet for consistency (f401077)
  • config: clarify OpenAPI response descriptions (3c5674d)