Changelog
Release notes for Tapsmith, generated from GitHub Releases.
Released July 3, 2026
<!— Release notes generated using configuration in .github/release.yml at v0.3.5 —>
🐛 Bug Fixes
Section titled “🐛 Bug Fixes”- Fence zombie test bodies and ship the failed attempt’s trace on flaky results
- Cut Android agent per-action a11y round-trips from ~15 to 0-2 (PILOT-278)
Full Changelog: https://github.com/samsmithyeah/tapsmith/compare/v0.3.4…v0.3.5
Released July 2, 2026
<!— Release notes generated using configuration in .github/release.yml at v0.3.4 —>
Other Changes
Section titled “Other Changes”- Add retain-on-failure-and-retries trace/video mode (Playwright parity)
- Retry transient agent-command timeouts within the action budget
- Fix the systematic E2E CI flakes across all four components
- Automate releases + publish notes to GitHub Releases and website changelog
New Contributors
Section titled “New Contributors”- @github-actions[bot] made their first contribution in https://github.com/samsmithyeah/tapsmith/pull/169
Full Changelog: https://github.com/samsmithyeah/tapsmith/compare/v0.3.3…v0.3.4
Released July 2, 2026
- Tunnel embedded-root gRPC (Firestore) that aborts the MITM handshake
- Don’t gate Android element queries on global UI idle
- Default to the list reporter everywhere, including CI
- Make single-test filtering intuitive and fail-loud
- Fix list_results dropping all but the last file in multi-file runs
- Add —project flag to the CLI
Full Changelog: https://github.com/samsmithyeah/tapsmith/compare/v0.3.2…v0.3.3
Released July 2, 2026
- Address positional/filtered actions by agent-cached element id
Full Changelog: https://github.com/samsmithyeah/tapsmith/compare/v0.3.1…v0.3.2
Released July 2, 2026
- Preserve Android auth (keystore) + runtime permissions across appState restore
Full Changelog: https://github.com/samsmithyeah/tapsmith/compare/v0.3.0…v0.3.1
Released July 2, 2026
- Fix npm ci sync failure after release: decouple committed @tapsmith dep versions
- Allow getBy*/locator() scoping off modified handles
- Preserve AndroidKeyStore on app-state restore; add device.platform getter
- docs: correct Android appState keystore behavior + cross-device limitation
- Trace element-action auto-wait so failures are attributed correctly (PILOT-244)
- Handle Firestore HTTP/2 cert rejects with passthrough
- Show pending state for MCP-initiated test runs in UI mode
- Trust the MITM CA on Android 14+ via the Conscrypt APEX store
- Fix route.abort() hanging instead of failing the request (PILOT-248)
- Fix literal … rendering in container “Run” button
- LLM-friendly setup: non-interactive init, doctor —json, verify command
Full Changelog: https://github.com/samsmithyeah/tapsmith/compare/v0.2.0…v0.3.0
Released July 2, 2026
- Pin website deploy to production branch on Cloudflare Pages
- Strict mode for locators + runtime-true selector validation (PILOT-226)
- Capture iOS simulator keychain in app state save/restore/clear (PILOT-220)
- Tunnel HTTP/2-only and pinned-host TLS connections instead of dropping them (PILOT-231)
- Make stop actually stop tests immediately, with SIGKILL escalation for wedged workers (PILOT-222)
- Stop no longer leaks video recording + network capture on the daemon (PILOT-235)
- Live progress feedback during long device actions (PILOT-232)
- Video on-first-retry: startup warning, docs, and CI switch (PILOT-240)
- Stop dispatcher crashing with unhandled EPIPE when a worker dies mid-run (PILOT-228)
- Fix trace viewer not deploying to production on tag push
- Fix empty Source tab for in-progress actions in UI mode (PILOT-233)
- Retry transient stale snapshots during pre-action element resolution
- Tear down child resources when the dispatcher crashes (PILOT-230)
- Fix UI-mode MCP single-session transport; add multi-client support (PILOT-221)
Full Changelog: https://github.com/samsmithyeah/tapsmith/compare/v0.1.8…v0.2.0
Released July 2, 2026
- Fix iOS simulator agent npm packages shipping without the app bundle
Full Changelog: https://github.com/samsmithyeah/tapsmith/compare/v0.1.7…v0.1.8
Released July 2, 2026
- Auto-retry Android agent install on signature mismatch
- Fix explicit test files only running against first matching project
Full Changelog: https://github.com/samsmithyeah/tapsmith/compare/v0.1.6…v0.1.7
Released July 2, 2026
- Fix CJS/ESM dual-instance crash in test runner
Full Changelog: https://github.com/samsmithyeah/tapsmith/compare/v0.1.5…v0.1.6
Released July 2, 2026
- Fix iOS agent startup race with concurrent app install
Full Changelog: https://github.com/samsmithyeah/tapsmith/compare/v0.1.4…v0.1.5
Released July 2, 2026
- Fix: strip DSTROOTPath from auto-built iOS simulator xctestrun
Full Changelog: https://github.com/samsmithyeah/tapsmith/compare/v0.1.3…v0.1.4
Released July 2, 2026
- Skip optional deps in CI workflows to prevent lockfile mismatch
- Extract Android agent into separate @tapsmith/agent-android package
- Auto-build iOS simulator agent on SDK version mismatch
Full Changelog: https://github.com/samsmithyeah/tapsmith/compare/v0.1.2…v0.1.3
Released July 2, 2026
- Skip already-published release packages
- Show in-flight action in UI mode Actions tab (PILOT-200)
- Fix HTTPS scheme in Android network capture + auto-launch emulators when AVD set
- PILOT-114: Add video recording of test execution
- PILOT-189: Support cross-origin redirection in route.continue({ url })
- Add —grep and —grep-invert CLI flags
- PILOT-193: Stream device logs into Console tab
- Add elementHandle.waitFor() for waiting on element state
- Add getByLabel() for locating inputs by label text
- Add checked, disabled, selected, expanded options to getByRole()
- Add isEditable() query method on ElementHandle
- Add sharded Android E2E tests to CI
- Fix 30 performance, robustness, and flakiness issues
- PILOT-205: Replay full run state on WebSocket reconnect
- Improve iOS reliability and harden CI against transient flakes
- Add configurable double-tap interval
- Mitigate CI flakes: session recovery retry, test hardening, accessible locators
- UI Mode v2 design overhaul + bug fixes
- Implement test retries for failed tests
- Add recovery for agent connection drops during between-file reset
- Support getByRole for non-button roles on Android
- Trace viewer v2 redesign to match UI Mode
- Respect —workers as a hard cap on total worker count
- Selector playground: suggest getByRole for trait-based roles (PILOT-216)
- Fix launchEmulators inference for per-project use blocks
- Fix ANR dialog detection failing on ASCII apostrophes
- MCP server: multi-daemon discovery for cross-platform devices (PILOT-218)
- Improve Tapsmith launch progress output
- Ship prebuilt iOS simulator agent as npm packages (PILOT-203)
- Comprehensive documentation overhaul
- Fix iOS CI flakes: atomic doubleTap, robust restartApp, session recovery
- Headless MCP server: full test dispatcher with CLI activity logging
- Migrate MCP server from SSEServerTransport to Streamable HTTP (PILOT-204)
- Polish launch progress output
- Add Tapsmith documentation website
- Add ephemeral preview deployments for website PRs
- Add deployment workflows for trace viewer
- Reference trace.tapsmith.dev in docs
- Install MITM CA into system trust store on Android emulators (PILOT-198)
- Redesign landing page with new branding and content improvements
- Fix UI mode live test discovery
- Fix trace action wall durations
- Stream test results immediately instead of buffering per-file
- Match Playwright list reporter output format
- Fix flaky tests
- Implement reset app deep link in E2E
- Exclude caches from app state archives for faster save/restore
- Refactor E2E tests: screen fixtures and deeplink navigation
- Persistent TCP connection to on-device agent
- Fix list reporter duplicate in-progress lines in single-worker mode
- Make tapsmith SDK ESM-first
- Add Tapsmith branding and website-matched dark theme to UI mode & trace viewer
- Type-check the web apps and lint the trace viewer in CI
- Resolve test-scoped fixtures in beforeAll/afterAll hooks
- UI mode Source tab reads actual source files (Playwright-style)
- Interactive device mirror in UI mode (tap/swipe/long-press/text)
- docs(ui-mode): document the interactive device mirror
- Stream daemon logs into trace files (trace.daemonLogs)
- Fix iOS deep-link Open prompt flake
- Guard iOS inputText typing
- Use photographic device bezels in UI mode and the trace viewer
- Fix UI mode: hard-refresh no longer starts a test run
- Remove live video stream from the device mirror (screenshot-only)
- Speed up iOS e2e: skip blind settle wait + add timing instrumentation
- Add batched captureTraceState command to reduce iOS trace overhead
- Fix chronic iOS auth.setup attempt-1 deep-link flake
- perf: startup optimisations (CI + local)
- Fix iOS simulator agent build in release workflow
- Use npm install for tapsmith publish step in release
Full Changelog: https://github.com/samsmithyeah/tapsmith/compare/v0.1.1…v0.1.2
Released July 2, 2026
- Add CI pipeline, 195 unit tests, and quality gates
- Add 13 locator assertions for Playwright API parity (PILOT-3)
- Add generic value assertions, expect.soft(), and expect.poll()
- Add Locator API enhancements (PILOT-1)
- Setup improvements
- Add element action methods (PILOT-2)
- Add device management APIs (PILOT-10, 11 stories)
- Add test app, E2E suite, and test isolation
- Add test reporter system with 8 built-in reporters (PILOT-7)
- Add parallel execution, CI sharding, and emulator auto-provisioning
- Add trace viewer with recording pipeline, viewer UI, network capture, and CLI (PILOT-85)
- Add test.use() to override options per describe scope (PILOT-50)
- Add app state snapshot/restore and projects (PILOT-115)
- Add —watch CLI flag for re-running tests on file change (PILOT-120)
- Add interactive UI mode for test running and debugging (PILOT-87)
- Fix parallel test flakiness with scrollIntoView, file isolation, and trace optimizations
- Add iOS simulator support via XCUITest agent
- Replace selector builders with Playwright-style getBy* locators
- Add device-per-project support for multi-platform testing
- Replace macOS system proxy with per-simulator NE redirect (PILOT-182)
- Physical iOS device support (PILOT-185)
- Add API request fixture for test data seeding (PILOT-121)
- Feat/network route interception
- UI mode UX overhaul: network detail pane, watch scoping, errors tab, assorted polish
- Fix known selector + assertion bugs (PILOT-131, 132, 133, role/text/empty)
- Fix iOS network mocking test flakiness
- Selector playground for trace viewer and UI mode
- Add WebView testing support for hybrid apps (PILOT-116)
- Add MCP server for LLM/agent integration
- Rename Pilot to Tapsmith
- Add npm packaging, init wizard, and doctor command
- Fix cross-compilation for linux-arm64 daemon build
- Vendor protoc for cross builds
- Make release versioning idempotent
Full Changelog: https://github.com/samsmithyeah/tapsmith/commits/v0.1.1