v1.1.0 · Released October 13, 2026

Covered, retested, proven.

Requirements and traceability, Impact Analysis from your git diff, automation launched from the test run, and reports you can freeze.

Commits
700+
New tests
~4,000
New reports
5
New API endpoints
64

New in 1.1

v1.1.0 · Oct 2026

Requirements, Natively

A tree of what the system should do — synced or authored

Every project gets an opt-in Requirements area. Author requirements directly, or pick which tracker issue types count and TestPlanIt mirrors them — hierarchy included — from Jira, Azure DevOps, GitLab, GitHub, Gitea, Redmine, or MantisBT. Provenance badges, versioned content with per-field diffs, drag-and-drop reorganizing, and case links from either side.

v1.1.0 · Oct 2026

Coverage You Can Defend

Rollups, suspect flags, and snapshots for sign-off

Each requirement rolls up the latest result of every case covering it — scoped to a milestone or configuration when you need it — and a link is flagged Suspect when the requirement changes after its case last ran. Traceability, Coverage Gaps, and Coverage Changes reports put it in front of stakeholders, and a Snapshot freezes the matrix so sign-off has evidence, not a screenshot.

v1.1.0 · Oct 2026

Impact Analysis

Test what changed, not everything

Connect the repository of the application under test — GitHub, GitLab, Bitbucket, Azure DevOps, or Gitea — pick two commits or a pull request, and get the Affected Tests where you compose the run. It works from the git diff alone: no coverage agent, no instrumentation. Code Pins, ticket keys in commits, history, and an AI ranking each explain why a test was selected, and repository webhooks can compose the run for you.

v1.1.0 · Oct 2026

Automated Execution

Run your automation from the test run

Click Execute automated cases and the automated part of a run executes in your CI — a GitHub Actions workflow, a GitLab CI pipeline, or a signed webhook for Jenkins, Buildkite, CircleCI, and others — while testers pick up the manual cases. Define the parameters your pipeline takes — a browser, an environment, whatever it needs — and choose their values when you execute. No agent to install, any test framework, and manual and automated results share one checklist.

v1.1.0 · Oct 2026

Saved & Frozen Reports

Keep the report — and the numbers you signed off on

Save any report, pre-built or custom, and reopen it with every setting restored; relative ranges like Last week or Last N days keep their meaning each time it opens. Save or share a report frozen and every open shows exactly the numbers captured at that moment, stamped with when and by whom — including public and password-protected links.

v1.1.0 · Oct 2026

SCIM for Every Directory

Several identity providers on one instance

Let Okta manage employees and Entra manage contractors on the same instance: each directory owns its own users and groups, and a write across that line is refused and logged. Rotate SCIM tokens with an overlap window, map IdP-asserted roles to access tiers, and scope a group to the projects it works on.

v1.1.0 · Oct 2026

Auto-Save & Draft Recovery

Never lose a test case to a closed tab

Test case edits are kept as you type — in the Add Case dialog and in edit mode — and offered back the next time you open the case. Drafts stay private to you, and nothing reaches the published case until you click Save.

v1.1.0 · Oct 2026

Imports That Remember

Map a CSV once, link tickets by key

Save a CSV import's column mapping — delimiter, encoding, row mode, and template included — and the wizard suggests it the next time a matching file arrives. A ticket key like PROJ-123 is now enough to link an issue from a CSV import, the API, or an AI agent on the MCP server, so a repository with thousands of ticket references migrates in one import.

v1.1.0 · Oct 2026

A Bigger API & MCP Surface

64 new endpoints, and agents that keep your formatting

Everything new in 1.1 is reachable by API token — requirements, impact analyses, execution targets, and the automation plan a CI job fetches. Creates through the REST API, the MCP server, and imports share one validated writer with the web UI, rich text round-trips through the MCP server as Markdown, and results can be recorded against a single iteration of a data-driven case.

v1.1.0 · Oct 2026

DeepSeek, First Class

One more AI provider, one step to connect

DeepSeek gets its own integration with model selection, thinking mode, and cost defaults instead of the generic OpenAI-compatible workaround. Test generation got leaner too: shorter preconditions, one scenario per case, your named test data, and a retry for a single generated case.

The release in detail

Requirements, in detail12 changes
  • Classify by issue type — or labelNew

    Pick the issue types that count as requirements (Epic, Story, a custom type) per integration; GitHub and Gitea select repository labels instead. An impact preview shows what will change before you save, and removing a type is reversible.

  • Promote, exclude, resetNew

    Override the rule for a single issue: promote a bug into the requirements tree, exclude a story that shouldn’t be there, and reset either back to what its type says.

  • Hierarchy mirrored from the trackerNew

    Synced epics, stories and sub-tasks keep their parent/child structure, completed within a single import run. Tracker priority is mirrored too — no more fabricated “medium”.

  • Detach to take ownershipNew

    Release a synced requirement to local editing in one click. It keeps its tracker badge and link, and becomes as editable as a manual one.

  • Content historyNew

    Every change to a requirement’s title, description or documentation — edited here or arriving from a sync — is a numbered content version with per-field diffs, and snapshots record which version each requirement was at.

  • Rich documentation on every requirementNew

    Rich-text notes and file attachments, staged with the rest of your edits and saved or discarded together — on synced requirements too.

  • Coverage scoped to a release or environmentNew

    Milestone and configuration pickers narrow the rollup to executions from matching runs — a release scope includes its sprints — in the list, the detail panel and both coverage reports.

  • Requirements while you testNew

    The execution sheet shows the requirements a case covers, and a Linked Requirements panel on Test Case Details lets you link more from the case’s own project.

  • Built for thousands of requirementsNew

    Above a threshold the tree loads a window at a time — roots first, children on expand, more rows as you scroll — with search and the Coverage, Status and Source filters resolved on the server and every match returned with its ancestor chain.

  • Drag-and-drop reorganizingNew

    Grab handles, outlined drop zones and a root-level strip; invalid moves such as dropping a requirement into its own subtree are rejected server-side.

  • Delete a subtree, recover from TrashNew

    Deleting cascades through descendants and says exactly how many; it’s a soft delete, restorable from the Trash.

  • Defect lists stay defect listsNew

    Requirement rows are kept out of issue lists, issue pickers, issue-tracking reports and the MCP issues tool by default — their coverage is reported by the requirement reports instead.

Impact Analysis, in detail12 changes
  • Code PinsNew

    Pin a test case to a file, a line range, a function or class, or a glob pattern from the Code Pins panel on the case page. Any change inside a pinned block selects the case first; a pin whose lines no longer exist still matches at file level and is flagged Stale.

  • Pins declared in the repositoryNew

    Put @testplanit case:123 in a comment above the code it covers, or list globs against case ids and tags in .testplanit/testmap.yml. Markers are scanned on every cache refresh and problems are reported on the settings page.

  • Tickets in commit messagesNew

    A commit naming PROJ-123, #42 or AB#42 selects every case linked to that ticket and leaves a Ticket pin on the functions it changed. Tickets TestPlanIt doesn’t hold yet are imported from the tracker, ready to link.

  • Tickets a tester attached count tooNew

    A ticket raised against a test result — or a single step result — can select that case as well, not just tickets linked to the case itself. It’s a switch on each repository connection’s Linked Tickets card, off by default.

  • Rescan or walk the full historyNew

    Rescan Recent Commits and Scan Full History run on demand, report progress by stage, can be cancelled, and resume where a capped scan stopped — so pins backfill for tickets linked later.

  • Pull request modeNew

    Choose a pull request instead of two commits — filtered by Open, Merged or Closed — and it’s measured from the merge base, so the diff describes what the PR did and nothing that landed on the target branch meanwhile.

  • Several repositories per projectNew

    Connect a repository for every service the application spans, each with its own branch, path patterns, cache and pins. The Impact dialog, the Code Pins panel and the settings page gain a repository choice, and the repository page gets a Code Pins column and filter.

  • Repository webhooksNew

    An opened pull request is analyzed against its target branch; a push to the base branch analyzes the pushed commits; optionally, a push to any branch is compared against base. Each analysis composes a run of the affected cases. GitHub, GitLab, Bitbucket, Azure DevOps and Gitea.

  • Every reason on the recordNew

    Each affected test carries a score and a Pinned, Affected or Related tier, with Pin, Ticket, Keyword, History and AI badges explaining why — including the AI’s rationale — so the team can trust the shortlist and add to it.

  • Start where you left offNew

    Start from a previous analysis to set the base to its head commit, paste any ref, or jump to the latest on a branch. The same two commits within 24 hours reuse the completed analysis.

  • Work the shortlistNew

    The Affected Tests open at the selection threshold with a count in the header, and can be filtered, sorted and selected by tier, reason and score. Branch search reaches the provider directly, past the first 500 branches.

  • Clear out stale pinsNew

    A background check reads each pinned file at the branch tip, and the settings page shows per repository how many Code Pins no longer match — with Remove Stale Pins to clean them up, sparing dismissed pins and those the repository’s own markers declare.

Automated Execution, in detail10 changes
  • Execution targetsNew

    Project Settings → Automated Execution holds GitHub Actions workflow, GitLab CI pipeline and signed-webhook targets — Jenkins, Buildkite, CircleCI or a home-grown runner — with static inputs, a timeout and a Verify check that catches a bad credential or missing workflow input before you dispatch.

  • A plan, not a list of idsNew

    The job fetches GET /api/test-runs/{id}/automation-plan (or runs testplanit run plan) and gets every automated case with the id tokens, class and full name a runner filter can match on — so a run of any size fits, and nothing framework-specific lives in TestPlanIt.

  • Hybrid runsNew

    A manual run becomes hybrid the first time automated results land in it. Each result updates its case, the progress bar and ready-to-complete check reflect both kinds of execution, and any case can still be executed by hand.

  • Execute a single caseNew

    Execute automated test on a case page or the repository row menu creates a run holding just that case, which completes itself once the job finishes and its results are in.

  • Track, cancel, retryNew

    An execution chip on the run shows Pending, Dispatched, Running, Succeeded, Failed, Could not start, Timed out or Cancelled, with a link to the job. Cancel asks the provider to stop; Retry reopens the dialog; Execution history survives run completion.

  • Reporters that attach to a runNew

    The Playwright and WebdriverIO reporters and the CLI treat a run named by TESTPLANIT_RUN_ID as externally managed: they attach results and never create or complete a run of their own. Two outbound webhook events and audit entries follow the lifecycle.

  • Parameters chosen at execute timeNew

    A target declares single-choice, multiple-choice, text or configuration parameters with defaults. The Execute dialog renders one control each, the choices reach the job as inputs, and they’re recorded on the execution chip, its history and the run’s documentation.

  • Execute just the selected casesNew

    Select rows in a run and the button becomes Execute N selected automated cases; the dialog says how many selected manual cases it skips, and Retry replays the same subset.

  • Its own permissionNew

    Starting, retrying and cancelling an execution needs the new Automated Execution permission plus Test Run Results rights, so editing a run no longer means spending CI. Existing roles are backfilled from their results rights.

  • Targets as codeNew

    Create, read, update and delete execution targets with an API token, with the same validation, credential encryption and audit trail as the settings page.

Integrations, import & sync7 changes
  • One Import Issues action

    A single dialog per linked project covers both a recent, capped sample and an uncapped All-history run of your requirement types — it tells you how many the tracker holds before writing anything, runs in the background, and can be stopped keeping everything imported so far.

  • Attach issues by keyNew

    A ticket key like PROJ-123 is all it takes to link an issue from a CSV import, the API or an AI agent on the MCP server — nobody has to open the ticket in TestPlanIt first, so a repository with thousands of ticket references migrates in one import.

  • Issue-type scoped searches

    Jira, Azure DevOps, Redmine and GitLab queries scope themselves to specific issue types, with GitLab paging each type independently; Azure DevOps and MantisBT imports page correctly past the first window.

  • Tracker creation dates preserved

    Each synced issue keeps its own created date from the tracker, which powers the gap report’s Uncovered Since column.

  • Map a CSV onceNew

    Save a CSV import’s column mapping — with its delimiter, encoding, row mode and template — and apply it next time. The wizard suggests a saved mapping whose columns match, reports any it couldn’t apply, and shared mappings follow their template into every project. Test Cases, Shared Steps and datasets.

  • Requirement Sync settingsNew

    A new section on the active integration’s settings for the seven requirement-capable trackers; issue integration settings are merged into one card and Milestone Sync moves to an explicit Save.

  • Inbound webhooks, one wizard

    A single Add inbound webhook flow covers issue-tracker and repository sources, both kinds list together with health, deliveries and Send test, and Bitbucket joins the inbound providers.

Reports & tables12 changes
  • Requirement Traceability reportNew

    One row per requirement–case pair with parent path, coverage state, latest result and project, plus a donut of coverage states and a per-hierarchy coverage breakdown.

  • Requirement Coverage Gaps reportNew

    Zero-linked and never-run tiers, an On Closed Requirements count, debt by top-level requirement, and debt aging from under 30 days to over a year.

  • Requirement Coverage Changes reportNew

    Pick a baseline snapshot and compare it to the live matrix or a later snapshot to see exactly which requirements’ coverage moved, and how.

  • Generate tests from a gapNew

    Every gap row ends with a Generate Test Cases button that opens the AI wizard pre-seeded with that requirement — its title, body and, for synced requirements, the tracker description.

  • Cross-project requirement reportsNew

    Administrators run the traceability and gaps reports across every project with requirements enabled at once, from Reporting & Analytics, with a Requirement Project filter in one shared menu.

  • Impact Analysis History reportNew

    Every analysis with its trigger, changed files, selection tiers, the run it composed and how that run went, plus weekly volume by trigger — per project or across projects.

  • Code Pin Coverage reportNew

    Pins and uncovered changed files per repository directory, so you can see where the code is changing without a test pinned to it.

  • Impact in the Report BuilderNew

    Trigger and Code Repository dimensions and three metrics — Impact Analysis Count, Affected Cases Selected and Selection Precision — with drill-down to the analyses behind each number.

  • Scope, filter, share

    Scope either report to selected subtrees, filter traceability by coverage state, and share links carry the scope — and every pre-built report’s parameters now survive the share redirect.

  • Date ranges that move with the calendarNew

    Pick Last week, This month or the new Last N days, weeks or months, and a live saved report or share link keeps that meaning: open it next Monday and it reports next Monday’s last week, in the timezone of whoever saved it, with the viewer stating the dates it currently covers. Choose Fixed dates when the dates matter more than the window.

  • One Filters menu, several values each

    Every pre-built report’s filters live in a single Filters menu, and each accepts more than one value. Flaky Tests gains folder, tag, milestone, configuration and custom-field filters; Test Case Health, Automation Trends, Impact Analysis History and Code Pin Coverage get their own. Existing share links, saved reports and API calls keep working.

  • Totals in the Report Builder

    Show total line draws a dashed sum across a multi-series chart plotted over Date or Milestone, and it rides saved reports and share links. Grouped table rows now total their children’s duration metrics instead of averaging averages, marked with Σ and a row count.

API & MCP server5 changes
  • One writer behind every create

    A case created through the REST API, the MCP server or an import now goes through the same writer as Add Case, in one transaction: template defaults applied, options matched by id or name, numbers held to their range, dates and links validated, rich text stored in the shapes the web UI stores — and required or restricted fields enforced rather than quietly accepted.

  • Rich text survives the round tripNew

    Steps, Text Long fields, session missions and notes, milestone notes and issue, result and review notes come back from the MCP server as Markdown instead of flattened text, and are parsed back into the same document on write — so an agent that reads a case, edits one step and writes it back no longer strips the formatting from the others.

  • Results on a single iterationNew

    Record a result against one row of a data-driven case, with attempts numbered per iteration; a case-level result on a parameterized case is refused instead of overwriting the rollup. Failed results can carry the issue a project requires, and the first result moves the run out of its initial state.

  • Iterations wherever the run is builtNew

    Runs created through the API or MCP server — and cases added to a run afterwards — generate the per-row iterations of parameterized cases just as the Add Test Run dialog does. A new MCP tool lists a run case’s iterations, with sensitive parameter values redacted.

  • History that doesn’t depend on the clientNew

    Sessions written through the MCP server record a version on create, edit and complete the way the browser does, through a new versions endpoint open to API tokens; results added in bulk or over the API record the case version they ran against.

Access & administration5 changes
  • See who can open a projectNew

    Project Settings → Access lists everyone with access, the role that governs them in this project, and the grant that decided it — a user permission, a group permission, the project default or system access. Administrators get a link straight to the project’s Users tab to change it.

  • Project admin is a permission, not a name

    Add/Edit on the Project Settings area makes a role’s holders project admins of every project where it is their effective role, however the role reaches them — the name “Project Admin” is no longer special. The same check now also covers project LLM integrations, JUnit suites, share links, repository connections and the audit log.

  • Two permission areas retired

    Issue Integration and Forecasting governed nothing and are gone from the role editor, so a role’s grid matches what it actually controls.

  • Force SSO, enforced on the server

    Force SSO used to hide the password form; the credentials provider and the signup API now refuse a password sign-in while any provider forces it. Signup resolves access level and role on the server, and user records, API-token ownership and sign-in account links are administrator-only through the model API.

  • Hide the admin contact on sign-inNew

    Set SIGNIN_ADMIN_CONTACT=false and the “Contact the System Administrator” line leaves the sign-in page and the endpoint behind it stops looking the address up. It’s read at request time, so prebuilt images pick it up without a rebuild.

Editing, AI & platform9 changes
  • Auto-save and draft recoveryNew

    Test case edits are kept in the browser as you type and on the server a few seconds after you stop, in the Add Case dialog and in edit mode. Reopen the case and choose Restore or Discard; nothing reaches the case until you click Save.

  • DeepSeek, first classNew

    DeepSeek V4 Flash, V4 Pro and the Flash Vision preview get their own integration with model selection, thinking mode and cost defaults — one step instead of the generic OpenAI-compatible workaround.

  • Leaner generated test cases

    Generation asks for short preconditions, one scenario per case and steps that start in the application under test, and uses the test data you named instead of inventing accounts and IDs — so cases arrive near the length teams were trimming them to. Linked issues can be fed to the prompt, and the wizard says how many existing cases it found for context and warns when there are none.

  • Retry one generated case

    When AI test generation returns a case that failed review, retry just that one from the review step instead of regenerating the batch.

  • Beta channel imagesNew

    Pre-release builds now publish themselves: every push to a release branch cuts the next beta as a GitHub pre-release, self-host server and worker images on a beta channel tag, and the Helm chart at that version — so you can try the next release before it ships.

  • S3 without long-lived keys

    Leave the access-key variables unset and storage uses the AWS credential chain — EC2 instance role, EKS IRSA, ECS task role or SSO. Static keys still work, so MinIO setups are unaffected.

  • Nothing falls through the Trash

    Sixteen more kinds of soft-deleted records — comments, share links, execution targets, traceability snapshots, review requests and dataset rows among them — can be restored or purged from Admin Trash. The item types are derived from the schema, and a test fails the suite when a new model is missing from Trash.

  • Faster tables

    Every table moves to TanStack Table v9. On a 250-row repository page the browser does about 38% less main-thread script work and sorts about 12% faster; column pinning, row selection and drag ordering carry over unchanged.

  • Upload limit on prebuilt images

    UPLOAD_MAX_MB now takes effect on the official images as well as source builds, so raising the attachment ceiling is a variable change rather than a rebuild.

Everything before 1.1

v1.0.0 · Sep 2026

Jira Milestones, Synced

Your milestone page is now a release cockpit

Milestones sync straight from Jira Fix Versions and Sprints — issue membership, webhooks, live updates — with burndown, a release-readiness rollup, a per-case traceability matrix in the PDF export, and an activity log. From the TestPlanIt panel on any Jira issue, generate test cases and QuickScript automation without leaving Jira.

v1.0.0 · Sep 2026

AI That Can See Your App

Screenshots become test-generation context

Test-case generation now accepts images: screenshots pulled from linked Jira issues or Azure DevOps work items, rich-text documents with embedded images, or page captures from a URL crawl. A multimodal pipeline translates images per provider so it works with whichever LLM you've connected, and a cross-project LLM Usage report shows admins exactly where AI spend goes.

v1.0.0 · Sep 2026

Automated Runs, Analyzed

What happened, not just how many passed

Per-run execution metrics and duration, an execution timeline that shows real parallelization across workers, within-run flaky detection that understands retries, and result filters to slice big runs. Abandoned runs close themselves, linked cases flip to automated when results arrive, and AI agents can read it all through the MCP server.

v1.0.0 · Sep 2026

A Rebuilt Data Foundation

Access control at the query layer, heavy lists ~80× faster

1.0 moves the entire data and access layer to ZenStack v3, enforcing permissions at the query layer with Prisma removed. Two-phase pagination took the heaviest lists from ~22 seconds to ~270 ms, project access resolves once per request, and runs, users, and audit logs window, prefetch, and stream on scroll.

v1.0.0 · Sep 2026

Official Images & Helm Chart

Self-host on Kubernetes without a build step

Public self-host images on GHCR plus a single-tenant Helm chart for EKS, GKE, AKS, or k3s. Opt-in read-replica routing splits Postgres reads from writes entirely in-app, and /api/health reports event-loop lag so operators see trouble before users do.

v1.0.0 · Sep 2026

Revamped Test Repository

Filter across every dimension, then save the view

A dockable, drag-resizable case-details panel, a sortable latest-result column, columns that remember their order and width, stacked filters across templates, states, tags, issues, and custom fields, saved views, and a searchable, virtualized folder tree that stays fast at any size.

v1.0.0 · Sep 2026

Review Workflows, Complete

Request in bulk, decide from one inbox

Request approvals in bulk, track pending-review badges wherever a run or session appears, and work a dedicated Reviews Inbox with full case details — including the requests you sent, with reminders. Approving applies the workflow transition automatically, and reviews cancel themselves when their subject is deleted or moved.

v1.0.0 · Sep 2026

17 Languages, RTL & Accessible Dark

Arabic, Czech, and a WCAG AA dark theme

Arabic — with the entire interface mirrored right-to-left — and Czech bring TestPlanIt to 17 languages, with community translations managed in the open. A new accessible Dark theme meets WCAG AA, enforced by a CI contrast gate, and switching themes no longer flashes the previous one.

v1.0.0 · Sep 2026

Test-Data Reservation

Lease dataset rows so parallel runs never collide

Turn any shared dataset into a reservation pool. A CI job acquires the next free row, provisions its real fixture, and releases it when done — every lease carries a TTL, so a crashed job never pins a row forever. The locking model you know from Jenkins Lockable Resources or GitLab resource_group, for test data.

v0.38.2 · Jun 2026

Redmine & MantisBT Support

Two more issue trackers, natively linked

Link test results to issues in Redmine and MantisBT — now joining Jira, GitHub, GitLab, Gitea/Forgejo/Gogs, Azure DevOps, and Simple URL. Connect the tracker your team already uses and keep issues in sync with your runs.

v0.38.0 · Jun 2026

AI Test Cases in Jira

Turn Jira tickets into test coverage without switching tools

Generate AI-powered test cases right inside the Jira issue panel. TestPlanIt reads the ticket's full context — description, comments, linked issues, and existing cases — streams suggestions for review, and saves them as linked, versioned test cases without leaving Jira.

v0.37.0 · Jun 2026

SCIM 2.0 Support

Your identity provider, in charge of your entire user list

Pair SAML 2.0 single sign-on with SCIM 2.0 provisioning that creates, updates, and deactivates accounts straight from your identity provider — no manual admin. Out-of-the-box support for Okta, Microsoft Entra, and OneLogin, plus any SCIM 2.0-compliant provider.

v0.1.0 · Jun 2026

Playwright Reporter

Push Playwright results straight to your test cases

An official Playwright reporter that links results to cases by annotation, tag, or title, optionally auto-creates cases and folders from your test.describe structure, and uploads screenshots, videos, and traces — no launcher or worker coordination required.

v0.34.0 · Jun 2026

Automation Candidates

Know which manual test to automate next

An AI-powered report that ranks your manual test cases by automation value, so your team always knows where converting to automation pays off most.

v0.30.0 · May 2026

Review & Approval

Sign-off, built into the workflow

Request reviews on test cases and runs, track approvals, and keep an auditable sign-off trail — without leaving TestPlanIt or bolting on a separate tool.

v0.29.0 · May 2026

Parameterized Test Cases

One case, many runs, real coverage

Drive a single test case from a table of input rows. Per-case and project-scoped shared datasets with version pinning bring true data-driven testing to your suite.

v0.25.0 · May 2026

MCP Server

Talk to your test data

An official Model Context Protocol server lets Claude, Cursor, and other AI assistants securely read and update your test cases, runs, and results — bringing test management into your AI workflow.

v0.31.0 · May 2026

Governed Test Results

Results you can defend

Server-enforced result governance: required fields, edit windows, and justified result flips keep your run history trustworthy and audit-ready.

v0.33.0 · May 2026

Data Lake Export

Stream test data into your data lake

Export endpoints plus a full webhook event catalog stream your test data straight into the warehouse, so you can build analytics on top of it.

v0.27.0 · May 2026

13 Languages

TestPlanIt now speaks 13 languages

Full localization across 13 languages brings TestPlanIt to teams everywhere — with community translations managed in the open.

v0.24.0 · May 2026

Webhooks

Two-way sync with your issue tracker — and anywhere else

Bidirectional sync keeps issues and test results in step, while outbound webhook delivery pushes events to anywhere you can receive them.

v0.22.0 · Apr 2026

Password Policy & Security Hardening

Stronger controls for self-hosted teams

Configurable password policies and a round of security hardening give administrators tighter control over how their instance is accessed.

v0.18.0 · Mar 2026

Duplicate Detection

Keep your test suite lean as it grows

Find and resolve redundant test cases and repeated step sequences, merge duplicates, convert shared steps into reusable groups, and get early warnings when new cases overlap.

v0.16.0 · Mar 2026

Auto Tag

AI-powered tagging, zero busywork

AI suggests tags for test cases, runs, and sessions from their content and linked-issue context — review suggestions before applying and reuse existing tags when they fit.

v0.15.0 · Mar 2026

QuickScript

Manual to automation in seconds

Turn manual test cases into executable automation code. Pick a framework and export ready-to-run scripts for Playwright, Cypress, Selenium, pytest, Jest, and more — real code, no vendor lock-in.

Every feature here is on every plan.