Skip to content

Releases: MimoJanra/TestOpsMCP

v2.1.7

Choose a tag to compare

@github-actions github-actions released this 14 Jul 11:00

[2.1.7] - 2026-07-14 - Revert SDK Downgrade, Route Around jitless zod Bug Instead

Fixed

  • 2.1.6's downgrade to ext-apps@1.6.0 broke the widget handshake with a new error (i.parts is not iterable) — that version's wire protocol isn't compatible with the current Claude Desktop host. Reverted the pinned bundle back to 1.7.4.
  • Internal zod crashes (_zod/.def undefined) instead worked around via the SDK's own allowUnsafeEval: true App option, which skips the zod.config({jitless:true}) call in the constructor that appears to trigger them. Applied to all three widgets (dashboard, action picker, results display).

Docker Image

docker pull ghcr.io/mimojanra/testopsmcp:v2.1.7
docker pull ghcr.io/mimojanra/testopsmcp:latest

Platforms: linux/amd64, linux/arm64 · Setup guide

v2.1.6

Choose a tag to compare

@github-actions github-actions released this 14 Jul 10:48

[2.1.6] - 2026-07-14 - Downgrade Pinned Widget SDK to Avoid jitless zod Crashes

Fixed

  • Launch Dashboard widget crashing with shifting internal zod errors (Cannot read properties of null (reading '_zod'), Cannot read properties of undefined (reading 'def')) on valid, non-null data. Traced to ext-apps@1.7.x, which added an unconditional zod.config({jitless:true}) call in the App constructor (needed since the widget iframe's CSP blocks eval-based JIT compilation) — that code path appears to have bugs that surface intermittently depending on which fields are present. Pinned the bundle back to 1.6.0, which predates that change and has the same App API shape our widgets use.

Docker Image

docker pull ghcr.io/mimojanra/testopsmcp:v2.1.6
docker pull ghcr.io/mimojanra/testopsmcp:latest

Platforms: linux/amd64, linux/arm64 · Setup guide

v2.1.5

Choose a tag to compare

@github-actions github-actions released this 14 Jul 10:37

[2.1.5] - 2026-07-14 - Fix Widget Crash on Null Launch Status

Fixed

  • Launch Dashboard widget still crashing with Cannot read properties of null (reading '_zod') on some launches. Root cause: Allure returns status: null for launches without a terminal status yet (e.g. still running), and that raw null was passed straight through get_launch_dashboard/get_launch_details into the widget's data payload, tripping the host's schema validation. Both tools now normalize status (string, {id,name} object, or null) into a plain string, defaulting to "UNKNOWN".

Docker Image

docker pull ghcr.io/mimojanra/testopsmcp:v2.1.5
docker pull ghcr.io/mimojanra/testopsmcp:latest

Platforms: linux/amd64, linux/arm64 · Setup guide

v2.1.4

Choose a tag to compare

@github-actions github-actions released this 14 Jul 10:03

[2.1.4] - 2026-07-14 - Pinned Widget SDK & Better Diagnostics

Fixed

  • Launch Dashboard widget crashing with Cannot read properties of null (reading '_zod'). The ext-apps SDK bundle was fetched unpinned from unpkg/jsdelivr ("latest"), so an upstream package release could silently change SDK internals underneath us — the same class of issue behind the two prior widget fixes (2.1.2, 2.1.3). The bundle version is now pinned (1.7.4) and only bumped deliberately after verification.
  • Widget failures were hard to diagnose. new App(...)/app.connect() weren't wrapped in error handling, so an SDK-internal throw could leave the widget blank with no explanation. The whole init flow is now guarded, and both server-side (bundle fetch attempts per CDN candidate) and client-side (console.error with the full error/stack) now log the actual reason a widget failed to render instead of just a generic fallback message.

Fixed

  • Widgets still rendering blank after the ext-apps bundle fix. The App constructor was called with a bare string (new App('launch-dashboard', {}, {})) instead of the required {name, version} info object, breaking the widget-host connection handshake so the host never revealed the iframe. Also replaced inline onclick="..." handlers in the dashboard's action buttons with addEventListener, since the widget sandbox's CSP blocks inline event handler attributes. Added autoResize: true so widget height tracks rendered content.

Docker Image

docker pull ghcr.io/mimojanra/testopsmcp:v2.1.4
docker pull ghcr.io/mimojanra/testopsmcp:latest

Platforms: linux/amd64, linux/arm64 · Setup guide

v2.1.3

Choose a tag to compare

@github-actions github-actions released this 14 Jul 09:36

[2.1.3] - 2026-07-14 - Widget Handshake Fix

Fixed

  • Widgets still rendering blank after the ext-apps bundle fix. The App constructor was called with a bare string (new App('launch-dashboard', {}, {})) instead of the required {name, version} info object, breaking the widget-host connection handshake so the host never revealed the iframe. Also replaced inline onclick="..." handlers in the dashboard's action buttons with addEventListener, since the widget sandbox's CSP blocks inline event handler attributes. Added autoResize: true so widget height tracks rendered content.

Docker Image

docker pull ghcr.io/mimojanra/testopsmcp:v2.1.3
docker pull ghcr.io/mimojanra/testopsmcp:latest

Platforms: linux/amd64, linux/arm64 · Setup guide

v2.1.2

Choose a tag to compare

@github-actions github-actions released this 14 Jul 09:06

[2.1.2] - 2026-07-14 - Widget Rendering Fix

Fixed

  • Interactive widgets (dashboard, action picker, results display) rendering blank. The ext-apps SDK bundle was fetched from dist/app-with-deps.js, but the published package places it at dist/src/app-with-deps.js — every CDN candidate 404'd, so the server always silently fell back to a minimal stub that doesn't implement the real widget host handshake. Corrected the CDN paths so the real SDK loads.

Docker Image

docker pull ghcr.io/mimojanra/testopsmcp:v2.1.2
docker pull ghcr.io/mimojanra/testopsmcp:latest

Platforms: linux/amd64, linux/arm64 · Setup guide

v2.1.1

Choose a tag to compare

@github-actions github-actions released this 13 Jul 08:34

What's Changed

  • No changes

Full Changelog: v2.1.0...v2.1.1

Docker Image

docker pull ghcr.io/mimojanra/testopsmcp:v2.1.1
docker pull ghcr.io/mimojanra/testopsmcp:latest

Platforms: linux/amd64, linux/arm64 · Setup guide

v2.1.0

Choose a tag to compare

@github-actions github-actions released this 19 Jun 09:42

[2.1.0] - 2026-06-19 - Project Search, Launch Cleanup & Tool Discoverability

Added

  • find_project — find a project by name or code (case-insensitive substring match). Resolves a human-readable name/code (e.g. TSi) to its numeric project ID without paging through list_projects or guessing IDs. Scans /api/project client-side since the Allure TestOps API exposes no server-side project name filter; returns matches, count, scanned, and a truncated flag when more matches may exist beyond limit (default 20) or the 5000-project scan cap.

  • remove_test_cases_from_launch — remove test cases from a launch (e.g. to trim a launch with too many cases or duplicates, including already-started ones). Resolves each test_case_id to its test result(s) in the launch — including retries — and removes them. mode="hide" (default) excludes the results from the report but keeps the data (POST /api/testresult/bulk/hide, non-destructive); mode="delete" permanently deletes them (DELETE /api/testresult/{id}). Since the Allure API has no bulk test-result delete, delete issues one request per result and reports per-result failures under failed. Returns removed_count, removed_result_ids, not_found_test_case_ids, and truncated.

  • initialize now returns an instructions field — the MCP handshake response includes a capability overview (tool groups, how to resolve names→IDs, the search_testops_operations/execute_testops_operation fallback for the 600+ endpoints, and safety notes). MCP clients add this to the model's system prompt, so Claude knows what the server can do instead of inferring it from bare tool names. Directly improves tool discoverability.

  • Tool count: 112 → 114.

Fixed

  • llms.txt listed the removed update_launch_environment tool — dropped from the Launches group (it was removed in 2.0.3) and the group count corrected.

Docker Image

docker pull ghcr.io/mimojanra/testopsmcp:v2.1.0
docker pull ghcr.io/mimojanra/testopsmcp:latest

Platforms: linux/amd64, linux/arm64 · Setup guide

v2.0.3

Choose a tag to compare

@github-actions github-actions released this 01 Jun 12:08

What's Changed

  • No changes

Full Changelog: v2.0.2...v2.0.3

Docker Image

docker pull ghcr.io/mimojanra/testopsmcp:v2.0.3
docker pull ghcr.io/mimojanra/testopsmcp:latest

Platforms: linux/amd64, linux/arm64 · Setup guide

v2.0.2

Choose a tag to compare

@github-actions github-actions released this 01 Jun 10:29

What's Changed

  • No changes

Full Changelog: v2.0.1...v2.0.2

Docker Image

docker pull ghcr.io/mimojanra/testopsmcp:v2.0.2
docker pull ghcr.io/mimojanra/testopsmcp:latest

Platforms: linux/amd64, linux/arm64 · Setup guide