Skip to content

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 —>

  • 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 —>

  • 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

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