TestIntel — Release Notes

v2026.1.0

Operational notes

expired or cancelled license now actually enforces (previously it was only

logged). Behavior: a configurable grace period (default 7 days,

license.grace_period_days) of full access with a warning banner after

expiry, then read-only mode — you can still view your inventory, history,

and settings, but generation/sync and other mutating actions are blocked

(HTTP 402). Your data is never deleted; restoring the license restores

full access. Seat limits are also enforced: creating a user invite is

refused once active users + pending invites reach the license's seat count

(Enterprise/unlimited exempt).

unhealthy re-check window (default 1 hour) or instantly via the **"Refresh

license status"** button on the banner (POST /auth/license/recheck). The

license key itself is set via the TESTINTEL_LICENSE_KEY environment

variable.

cancelled response — if the license server is merely unreachable, TestIntel

keeps working on the cached license and never locks you out.

in config.yaml to disable enforcement entirely (useful for local/dev or

if you want to upgrade before turning enforcement on). See

docs/configuration-reference.md → "License enforcement".

overage; the License Agreement's audit rights remain the backstop.

baseline *snapshot* (last_synced_snapshot), used for three-way conflict

resolution. Tests synced before this existed may have a baseline hash but no

snapshot. These migrate automatically the next time they are touched by a

pull, push-update, or repair-baselines run (the snapshot is populated

alongside the hash). Until then, such a legacy test is treated safely: it is

never falsely flagged as edited, and if a conflict is reviewed before

migration, all differing fields are shown as conflicts (no baseline to

attribute changes) — which is the safe, conservative default. No manual

migration step is required; a routine pull of your synced projects backfills

them.

Features

UX Improvements

Deferred to Next Release

The following features are fully implemented in the codebase but hidden from the UI for the initial release. They will be enabled in a future release after additional polish and user testing.

#### Reporting Tab (History/Analytics)

  1. In testintel/web/static/index.html, remove style="display:none;" from the Reporting tab button:
  2. 
         <!-- Change this: -->
         <button class="tab" data-tab="history" style="display:none;">Reporting</button>
         <!-- To this: -->
         <button class="tab" data-tab="history">Reporting</button>
    
  1. That's it. All JS rendering, API routes, and backend logic remain intact.

#### CLI (testintel command)


v0.1.0 (Beta)

Features

Known Limitations