Skip to main content

2025-04

You can find a run by its ID in the commit page's search box, and qa batch now stops before flooding QA-Board with more than 1,000 runs at once.

Users

Search runs by ID

Type id:1234 in the commit page's filter box to show only the run with that ID, for instance when a colleague or a log gives you a run ID.

Project integration

A limit of 1,000 runs per qa batch

qa batch now fails when it would send more than 1,000 runs at once, which is usually a mistake in a batch definition. Set QA_BATCH_ALLOW_MANY_RUNS=1 when you really need more, or use qa --offline batch to run without reporting to QA-Board.

Learn more →

2025-03

You can copy the new, reference or diff image straight to the clipboard to paste it in a chat or a report. Admins get a backend tuned for heavy load, and production logs can go to a central collector.

Users

Copy images to the clipboard

The image viewer has a new Copy button. Click it to copy the new image, or hover it to copy the reference or the diff image instead. If your browser can't write images to the clipboard, the image is downloaded.

Learn more →
Admins

A backend tuned for heavy load

uWSGI workers now use threads, a larger request queue and longer timeouts, and are recycled when they use more than 4GB of memory. Fewer processes and smaller database connection pools keep PostgreSQL from running out of connections.

2025-02

Commit pages load faster, especially for big batches and for commits that don't exist, and their errors now say what went wrong. The web app moved to React 18 and newer UI libraries.

Users

Faster commit pages

The server now caches slow lookups like the list of users in redis, shared by all its workers, and the web app matches each run with its reference run much faster. Large commits open noticeably quicker.

Users

Clearer errors on the commit page

Hover the red "Error" tag in the commit navbar to see the server's message. It also tells you whether to check the commit and project you asked for, or to contact the QA-Board admins.

2025-01

When you compare images, the diff image now shows the same crosshair as the new and reference images. The CLI can authenticate to the API with a QA_TOKEN environment variable.

Users

Synced crosshair on the diff image

Hovering over the new or reference image now draws the crosshair at the same spot on the diff image too, so you can see where a difference is. It goes away when the mouse leaves the image.

Learn more →
Users

API token from QA_TOKEN

When the QA_TOKEN environment variable is set, the qa CLI and qaboard.api send it to the QA-Board API as a bearer token, which lets scripts and CI jobs call the API as a logged-in user.

2024-q4

Scripts can call the API with personal tokens, the video viewer keeps both videos in sync and shows the time of each, and runs remember which batch they came from. Image comparisons flag different sizes and failed tiles.

Users

API tokens

Logged-in users can create a personal API token with a POST to /api/v1/user/token/, then authenticate scripts with an Authorization Bearer header or a token URL parameter.

Learn more →
Users

Synced video comparisons

The video viewer keeps the new and reference videos in sync, re-syncs when you pause, and shows the current time of each video and how far apart they are.

Users

Batch names on runs

Runs now record the name of the batch they were started from. It is shown in the run's menu, and you can filter runs by it.

Project integration

Metric descriptions

Metrics in metrics.yaml can have a description, shown in a tooltip on the metric's header.

Learn more →

2024-q3

Admins can restrict access to specific projects or namespaces, exports let you choose how and where files go, and batches can be selected with wildcards. The qa CLI starts faster and the docs moved to Docusaurus 3.

Admins

Per-project access control

The users restriction YAML has a new projects section to allow only some users into a project or a whole namespace. Sign-in rules move under a login key. Users now stay signed in for 180 days.

Learn more →
Users

Better file exports

Exporting results lets you choose between links and copies and set the destination folder on the shared storage. It warns about invalid file patterns, and reports errors and the number of exported files clearly.

Users

Wildcards for batches

qa batch 'batch-*' runs every matching batch, and wildcards also work in aliases and pipelines.

Learn more →
Users

Synced cursor in the image viewer

When comparing images, a cross shows on the other image where your mouse is, to compare the same pixels.

2024-q2

A quiet quarter: image comparisons fall back to BMP references when a PNG is missing, the image viewer shows when it is still loading, and tuning from the web app handles single quotes.

Users

Compare PNG outputs with older BMP references

When a run outputs a PNG image but the reference only has the same image as BMP, the file and image viewers now compare the two, and label which file is shown on each side.

2024-q1

The integrations menu got nested items, per-batch configurations and more variables, and webhooks can open a page in response. The file viewer can filter on differing or matching files, and the web app moved to Blueprint 5.

Project integration

Richer integrations menu

Integrations in qaboard.yaml can nest items with sub, appear directly in the sidebar with in_menu: false, and use variables for the selected batches, filters and logged-in user. Webhooks can return a url to show, and open it automatically with open: true.

Learn more →
Users

Filter files by comparison status

In the file and bit-accuracy viewer, filter with diff:name or match:name to only show files that differ from, or match, the reference. A new "Hide runs without files" switch hides runs where every file is filtered out.

Project integration

Filter inputs by path

The only and exclude filters of batches can match the absolute input path with an input_path key, alongside input metadata.

Learn more →

2023-q4

Admins can restrict sign-in to a list of users or groups, and projects spread over many repositories can share one templated configuration. Runs are matched with the reference more accurately, and output menus show compute times and the reference's directory.

Admins

Restrict who can sign in

With QABOARD_LOGIN_RESTRICTED=true and a YAML file set in QABOARD_LOGIN_RESTRICTED_YAML, only listed users can sign in, matched by user name, email or any attribute from the authentication provider. User details from the provider are now saved on each login.

Learn more →
Project integration

Shared configuration across repositories

project.name and project.url can use {root_path} and {project_path} placeholders, so many repositories can include the same qaboard.yaml. Submodules can set storage.artifacts.subproject to keep their artifacts organized.

Learn more →
Users

More accurate run matching

When comparing with a reference, runs are matched by input database and path, and still by input path alone when databases differ. Exports name files after the database when a batch mixes several.

2023-q3

QA-Board servers can now authenticate users with single sign-on (SAML) and require a login to see projects. Interrupted runs show as failed, and comparisons prefer reference runs on the same input.

Admins

Single sign-on with SAML

Besides local accounts and LDAP, users can now sign in through a SAML identity provider. Choose the method with QABOARD_LOGIN_TYPE (LOCAL, LDAP or SAML) and configure SAML with the QABOARD_SAML_* variables.

Learn more →
Admins

Require a login

Set QABOARD_LOGIN_REQUIRED=true to block anonymous users: they must sign in before opening a project.

Learn more →