<!-- Generated from changelog.mdx. DO NOT EDIT. -->
<Update label="v7.9.51-canary" description="April 2026" tags={["canary"]}>
🚀 Canary release
This release promotes changes from v7.9.4-test through v7.9.51-test to canary, rolling up all updates since v7.9.3.
✨ New features
- (Internal) Autoscaling
- (Internal) End-to-end distributed tracing
🔧 Improvements
- Faster image matching
- Storage and infra hardening
- Sentry environment consistency
- Chrome extension interaction reliability
- Docs and onboarding refresh — Updated v7 docs, SDK examples, and VS Code onboarding/init flows.
🐛 Bug fixes
- Windows AMI build stability — Fixed
chrome.exe startup/build failures.
- Realtime cleanup reliability — Fixed connection cleanup leaks in session shutdown paths.
- Environment and deployment fixes
</Update>
<Update label="v7.8.0-test.22" description="March 2026" tags={["test"]}>
Releases test.11 through test.22 include version bumps and internal CI improvements across all packages. No new user-facing changes — see v7.8.0-test.10 for the latest updates in this release stream.
</Update>
<Update label="v7.8.0-test.10" description="March 2026" tags={["test"]}>
🔧 Improvements
- Parallel test concurrency — Concurrency limits are now enforced with atomic slot tracking, eliminating a race condition where multiple tests launching at the same time could all bypass the limit. If you hit your concurrency cap, the SDK waits and retries automatically.
- Dashboard access for all plans — Test recordings and metrics on the dashboard are now visible to all users, including those on the Free plan.
- Sandbox message throttling — High-frequency interactions no longer risk hitting connection limits. The SDK automatically paces outgoing messages during fast command sequences.
- Windows Dashcam stability — Web log tracking on Windows sandboxes now handles errors gracefully instead of failing the test.
</Update>
<Update label="v7.8.0-test.9" description="March 2026" tags={["test"]}>
🔧 Improvements
- Stable release promotion — Fixed an issue where promoting a test or canary release to stable could be incorrectly skipped. Stable releases now proceed reliably regardless of the prior pre-release channel.
- Example docs sync — Example documentation now updates more reliably, continuing even when individual example tests fail so that passing examples still get refreshed.
</Update>
<Update label="v7.8.0-test.8" description="March 2026" tags={["test"]}>
🔧 Improvements
- VS Code environment switching — The TestDriver VS Code extension now includes a status bar indicator and a new TestDriver: Switch Environment command. You can switch between stable, canary, and test environments directly from VS Code, and your MCP server configuration updates automatically.
- Plan rename: Starter → Pro — The "Starter" plan has been renamed to Pro. No changes to pricing or features — just a clearer name. The "Self-Hosted" tier is now labeled Enterprise.
- SDK network resilience — API requests now automatically retry on transient server errors (500, 502, 503, 504) with exponential backoff, reducing flaky test failures caused by brief infrastructure hiccups.
- Pricing page refresh — The hosted plans page now shows plan cards with included minutes, concurrency limits, and pricing at a glance.
📚 Docs updates
- Quickstart redesign — The quickstart now has tabbed setup paths for CLI, GitHub Copilot, and manual installation.
- Deployment section — "Cloud" is now Hosted and the previous Enterprise page has been consolidated into Self-Hosted, which covers both standard and air-gapped deployments.
</Update>
<Update label="v7.8.0-test.7" description="March 2026" tags={["test"]}>
This release includes all changes from v7.8.0-test.6 with version bumps across all packages. No additional user-facing changes.
</Update>
<Update label="v7.8.0-test.6" description="March 2026" tags={["test"]}>
🔧 Improvements
- Sandbox spawning reliability — Sandbox creation now uses a 3-minute timeout to handle slow infrastructure, then immediately switches to a 60-second orphan timeout for fast cleanup. This reduces sandbox creation failures during high-traffic periods.
- Command deadline timeouts — Sandbox commands now enforce a hard deadline that terminates execution if the connection drops mid-command, preventing tests from hanging indefinitely.
- Real-time channel cleanup — Fixed a compatibility issue with the real-time messaging layer that could cause channel cleanup to fail during shutdown.
- Dashboard timestamp tooltips — Extended UTC date tooltips to the test history sidebar. Hovering over any relative timestamp (e.g., "5 minutes ago") across the dashboard now shows the full UTC date and time.
</Update>
<Update label="v7.8.0-test.4" description="March 2026" tags={["test"]}>
✨ New features
🔧 Improvements
- Sandbox reliability — Linux sandboxes now use a longer creation timeout to handle slow infrastructure, then immediately switch to a short orphan timeout for fast cleanup of disconnected sessions.
- Command execution timeouts — Sandbox commands now have deadline timeouts that prevent hangs if the connection drops mid-execution.
- Real-time connection stability — Updated the real-time messaging layer for better compatibility and more reliable channel cleanup during shutdown.
- Dashboard date display — Hovering over relative timestamps (e.g., "5 minutes ago") now shows the full UTC date and time.
</Update>
<Update label="v7.8.0-canary.5" description="March 2026" tags={["canary"]}>
This release includes all changes from v7.8.0-canary.4 with version bumps.
✨ New features
- Cache API — Speed up repeated test runs with screenshot-based caching. The system compares screenshots to cached results and reuses element positions when the screen hasn't changed, reducing AI calls.
- Custom error classes — New
ElementNotFoundError class with rich debugging info including screenshot paths, pixel diffs, and detailed messages.
- Events system — Listen to SDK lifecycle events with wildcard support via
testdriver.emitter. Uses colon-delimited namespaces (e.g., command:start, log:*).
- Provision API — Launch browsers, desktop apps, VS Code, and Chrome extensions in your sandbox before tests run. Access via
testdriver.provision.*.
- Redraw detection — Wait for screens to stabilize after interactions using two-phase detection with pixel comparison and z-score analysis.
- Screenshots API — Capture screenshots manually with
testdriver.screenshot() or automatically before/after every command.
📚 New examples
🔧 Improvements
- Improved console URL mapping for canary and test environments
- Enhanced Ably channel cleanup for better resource management
- Updated release workflow with improved changelog generation
</Update>
<Update label="v7.5.26" description="March 2026" tags={["stable"]}>
🚀 Stable release
This release promotes v7.5.25 to stable with deployment channel improvements.
✨ Features
- Deployment channels — SDK now supports stable and canary release channels. Stable releases use the
latest npm tag, while canary releases use the canary tag. Install canary with npm install testdriverai@canary.
🔧 Improvements
- Improved cache hit debugging and logging
- Enhanced element location reliability
- Better error handling during test execution
🐛 Bug fixes
- Fixed restart behavior during auto-updates
- Fixed console URL routing for various environments
<Note>
This release includes changes from v7.5.17 through v7.5.25.
</Note>
</Update>
<Update label="v7.5.25" description="March 2026" tags={["stable"]}>
🐛 Bug fixes
- Fixed restart update behavior
</Update>
<Update label="v7.5.24" description="March 2026" tags={["stable"]}>
🔧 Improvements
- Disabled auto-update restart to improve CI stability
</Update>
<Update label="v7.5.22" description="March 2026" tags={["stable"]}>
🔧 Improvements
- Added markdown-to-HTML rendering for marketing content
</Update>
<Update label="v7.5.19" description="March 2026" tags={["stable"]}>
🔧 Improvements
- Enhanced debugging output for cache hits
- Improved element location reliability
</Update>
<Update label="v7.5.17" description="March 2026" tags={["stable"]}>
🔧 Improvements
- Improved codespace scaling and development environment setup
- Updated VS Code extension version
</Update>