Skip to content

Changelog

See all the context on one timeline
  • New — New test run viewer: Test runs now open in a new view built around the recording, with the agent’s steps, system logs, network requests and telemetry lined up on one timeline beneath it. Pick any step, log line or request to jump straight to that moment in the video. Prefer the old layout? Choose “Back to classic view” from the menu at the top right of any run.
  • Fixed — Verification codes no longer go missing: In rare cases an incoming verification or login-code email was dropped before a run could read it, leaving the run waiting for a code that never arrived. Emails are now kept even when we cannot pull a code out of them, and plain-text emails are handled too.
  • Fixed — Audio problems count as errors, not failures: If we cannot generate the audio a voice test needs, the run is now marked as errored rather than failed, so a problem on our side no longer shows up as a failure in your app.
  • Fixed — Fewer misreported device errors: When a step hit an error that no retry could fix, the run used to retry it several times, rebuild its device session each time and then report it as a device fault. Those errors are now reported for what they are the first time, so runs finish sooner and the reason is clearer.
  • Faster — Faster Android runs: Each action on Android no longer waits for the screen to settle before it fires, which on animated screens could add many seconds per tap, so your Android runs complete noticeably faster.

Every build now explains itself
  • New — Build summaries: Every build now gets an automatic summary of what started failing, what’s passing again and why. You’ll see it on the build page and at the top of your Slack build notification, and it updates if you delete a test. Your recent builds already have one, and you can rate any summary with a thumbs up or down to help us improve.
  • New — Audio input on Android: Your Android tests can now play audio into your app, just as they can on iOS, so you can test voice and speech features like recording and transcription on Android too.
  • New — Agent-accessible docs: Our docs can now be read by AI agents, so you can ask your coding agent something like “Can I override GPS in Semaloop?” and get the right answer.
  • Improved — Simpler Slack setup: Connecting Semaloop to Slack is now simpler, and some of the permissions we used to require are now optional. Connect from Settings, or use the prompt on your build page if you haven’t set it up yet.
  • Improved — Richer Slack failure alerts: Each failed run in Slack now comes with a short explanation of what we think went wrong and the screen it happened on, so you can judge how urgent it is before you open the run.
  • Fixed — Clearer deeplink errors on Android: Opening a deeplink that is missing its scheme no longer causes an Android run to error after repeated retries. The link is now rejected with a clear error instead, so you can see what needs fixing in your test.

Ask Semaloop about your tests
  • New — Ask: You can now ask Semaloop questions about your builds, test runs and tests, such as which tests are flaky or when a test started failing. You’ll find it under “Ask” in the sidebar, and you can rate any answer with a thumbs up or down to help us improve.
  • New — Apple HealthKit support: The agent can now write workout and step data to HealthKit during a test, so you can test features that read from Health. This works on both real devices and simulators.
  • New — Slack link previews: When you paste a link to a Semaloop test run into Slack, it now unfurls into a readable preview instead of a bare URL, so your team can see at a glance which run is being discussed.
  • Improved — MCP test authoring: Tests written through our MCP server now follow the same best practices as our docs, covering context, secrets, custom tools and agent capabilities, so you get a solid test first time without having to point your agent at the docs.
  • Improved — Android run evidence: Android test runs now include the network trace and device logs alongside the video and agent trace, so you have the same evidence to diagnose a failure as you do on iOS. The docs also now spell out where agent capabilities differ on Android.
  • Faster — Smaller Android replays: Android test videos are now compressed the same way as iOS recordings, so replays load much faster.
  • Fixed — Android replays run to the end: Android recordings no longer stop before the run has finished, so you can scrub through the full agent trace.
  • Fixed — Android replays in Safari: Android test run pages no longer squash the agent trace into a narrow column beside the video when viewed in Safari, so the replay and trace sit side by side as they do in other browsers.

Test your Android apps too
  • New — Android support: Semaloop now runs on Android. It’s available as an add-on to your current plan, so let us know if you’d like to explore testing on Android.
  • New — iOS 27 support: With Apple’s release of iOS 27, we’ve upgraded some devices in our fleet to run the new version, so you should start to see tests running on iOS 27.
  • Improved — Draft tests with MCP: You can now create tests as drafts and move them in and out of draft using our MCP server, so you can stage new tests from your own tooling before they start running against your builds.
  • Improved — Faster Slack notifications: When a run succeeds, the Slack notification now goes out as soon as the run finishes rather than waiting for the full analysis to complete, so you hear about a passing build sooner.
  • Fixed — Consistent signal counts: The number of signals shown for an issue in your issues list now matches the number you see when you open it.
  • Fixed — Replay improvements: Clicking inside a step’s card in a test run replay no longer jumps the video back to the start of that step. Only the step title moves playback now, so a stray click won’t lose your place.

Find answers in the new docs
  • New — Docs: We’ve published comprehensive docs covering the whole platform, including agent capabilities like network throttling and GPS override that weren’t previously discoverable. They’re available at docs.semaloop.com.
  • New — Webhooks: You can now notify your own tooling the moment a test run finishes, so you can kick off whatever should happen next: open a ticket, page someone, or point a coding agent at the failure. To get started, go to Settings and choose “Set up webhooks”.
  • New — API key support for MCP: Previously we only supported OAuth. You can now authenticate with an API key, which lets our MCP server be used where a browser isn’t available to complete the OAuth flow, such as in your CI pipeline.
  • Improved — Video replay: When our agent gets the position of something in order to interact with it, we now show an outline of that area in both test run replays and on signals. This makes it easier to see which parts of your app’s UI the agent is looking at.
  • Improved — Re-run on previous builds: You can now run all tests against an earlier build, which makes it easier to check whether a problem was introduced by a specific release.
  • Improved — Clearer TestFlight errors: When a run can’t install your build because of TestFlight access, the run now says so instead of failing for an unclear reason.
  • Fixed — Signals from deleted tests: Deleting a test now removes its signals from your issues inbox, so you no longer see problems from tests that no longer exist.
  • Fixed — Agent reliability: We’ve improved how the agent clears pre-filled text fields, handles keyboards that cover the login button, and retrieves email OTPs.

Test paywalls without paying
  • New — Sandbox accounts: Semaloop agents can now pay for in-app purchases using Apple sandbox accounts, which reset before each test run. This means you can reliably test paywalls and other subscription workflows without making custom API calls or dealing with Apple’s APIs. Let us know if you’d like this set up on your Semaloop account.
  • New — Managing the issue lifecycle: Issues surfaces the problems our agents notice while testing, and you can now manage their lifecycle within Semaloop. Choose from open, archived and resolved to stay on top of your inbox.
  • New — GPS: You can now override the device’s location during a test run. Include a latitude and longitude pair, or a description of a location, in your test spec (for example “set device location to the Eiffel Tower”) to set the location for the remainder of the test.
  • New — iOS 27: Agents can now run on iOS 27. Get in touch if you’d like iOS 27 devices added to your environment.
  • New — Device locales and languages: Tests can now run across different device locales and languages.
  • New — MCP updates: You can now manage secrets and tools, and cancel runs, through our MCP server.
  • Improved — Agent search: We’ve improved the search tool available to our agents, so they have a better understanding of what happened earlier in a test. This improves tests that check state set earlier in their run.

See test results on every PR
  • New — Simulators: Semaloop now supports testing on simulators, not just physical devices via TestFlight. That means you can start testing earlier in your development process, and test biometric flows like Face ID that aren’t possible on real devices. Get in touch if you’d like to explore adding simulators to your Semaloop account.
  • New — GitHub integration: For customers running builds on simulators, Semaloop can now post test results straight onto your PR as a GitHub status check, so you can see at a glance whether the current build passed or failed without leaving GitHub.
  • New — Create tests with MCP: Create and edit tests directly from your coding agent using Semaloop MCP. Describe a feature or a user journey and we turn it into a well-formed test. We’ve baked our own guidance on what makes a Semaloop test pass reliably into a prompt, so the specs your agent writes follow our best practice.
  • New — Run tests on previous builds: Open the test you want to run, choose the dropdown next to the re-run button, and select “Rerun on build”. This lets you check whether a recent backend change affects an older version of your app.
  • New — Test feedback: Feedback can now be given per test, which helps our agent understand where it is going wrong and perform better in future.
  • New — Highlighting test spec failures: When a test fails we now highlight which part of the spec failed. Clicking the highlight jumps to that point in the trace.
  • Improved — Resolve test failures with MCP: We’ve improved the “Send to agent” prompt for handling failing tests. Your agent can pull the run, video, logs and network data as before, and now decide whether the app is broken or the test was brittle. You can then either fix your app, or reword the test and re-run it.
  • Improved — Edit folder descriptions: Folder descriptions are now editable after creation.
  • Improved — Edit tests on the test run page: The test spec can now be edited on the test run page. This tightens the loop when you spot a problem in the trace, since you can edit the spec without changing page.
  • Fixed — Video handling: We now handle video correctly when the device changes orientation.

Fix failed tests from your agent
  • New — MCP: Access Semaloop context directly from your coding agent. When a test fails, ask a tool like Claude Code or Codex to pull the test run, video, logs and network data, and help fix the bug on the spot. To speed up bug hunting we’ve built a “Send to agent” workflow for failures inside Semaloop, so you can go from “test failed” to “bug fixed” much faster. Setup details are in Settings under “MCP”. If you have feedback, ask your coding agent to send it to us.
  • Fixed — Audio capture: Audio input wasn’t being captured on certain test runs.
  • Fixed — Map zooming: Composite zoom-out gestures, used where pinch-to-zoom isn’t supported, were failing intermittently.
  • Fixed — Video replays: Clicking play on a signal near the end of a test run restarted playback from the beginning.
  • Fixed — Video sync: Video playback drifted out of sync when a test changed the device’s region mid-run.

Find problems your tests miss
  • New — Issues: A new way to find problems your tests miss, by observing how your app behaves across all of your test runs. Issues surfaces the problems our agents notice while testing, such as screens hanging before they load, buttons that need multiple taps, or flows that technically work but don’t feel right. No setup is required: it runs on the tests you already have.

Know why every test failed
  • New — Error analysis: When a test fails, Semaloop now examines every artefact from the session, including the trace, app logs and network traffic, and determines the true root cause. It also suggests next steps, so you don’t have to spend time working out what went wrong.

Keep your tests neatly organised
  • New — Folders: You can now organise tests into folders. Create a folder from the test page, then assign tests on creation via the folder dropdown, or move existing tests from the row menu. Folders expand in place, so you can open a spec without leaving the page.

Know the moment a test finishes
  • New — Per-test notifications: You can now subscribe to notifications for a particular test run. Semaloop messages you directly on Slack when the run finishes.
  • New — Dynamic build notifications: Slack notifications now update to match your dashboard. When you fix a failing test, the Slack notification updates to reflect that it no longer fails, so you can tell the current state of each build from Slack.
  • New — Control automatic test runs: You can now stop tests from running automatically as soon as we discover a new TestFlight build. Configure this in the “Test runs” section of your settings.
  • New — Skill feedback: You can now rate learned skills up or down in test run traces. Rating a skill down stops it running again in future.

Test Apple sign-in and purchases
  • New — Apple IDs: All of our devices now have a unique Apple ID, which lets you test Apple authentication workflows. This works alongside existing Google authentication flows and any accounts you have added through Secrets. Apple IDs on device also enable in-app purchases, so you can test subscription workflows within a test rather than upgrading accounts by hand beforehand.
  • New — Keyboard shortcuts: You can now move through test videos step-by-step with the j and k keys. Press ? for a reminder of the other shortcuts we support. Spoiler: for now it’s just Space to play and pause.
  • Improved — Faster video: We tweaked some video settings, so recordings of recent test runs are now much quicker to start playing.
  • Fixed — Credential selection: In some cases we picked the wrong credentials when getting past TestFlight login screens.
  • Fixed — Blank video: A blip in our video pipeline could cause the remainder of a recording to show up blank.

Test with your own accounts
  • New — Secrets: You can now bring your own accounts or API tokens into Semaloop. For example, you can add multiple email accounts, then prompt the agent to “log in with a premium account” or “log in with a free account” depending on what you want to test. When creating a test you choose which secrets to make available; to use custom accounts in an existing test, edit the spec and select the secrets you want the agent to access. Custom accounts are optional and sit alongside the default on-device Google and Apple accounts, giving you far more options for how you authenticate to your app.

Your data, independently audited
  • Security — SOC 2 Type 2: We have obtained our SOC 2 Type 2 certification following an independent audit conducted over a three-month period. The audit reviewed our operational processes and software management practices, and confirmed compliance with a set of high security standards.

Check failing runs from your phone
  • New — Mobile UI: We improved the mobile experience for quick check-ins on the go. There’s now a movable test run preview, so the trace and session video can be viewed side by side on mobile. This makes it easier to spot false positives and understand what happened in a failing test before digging deeper on a larger screen.

Replays now skip the idle parts
  • New — Skip inactivity in session replays: Session replays now fast-forward through inactivity automatically, so you only watch the parts where something is happening. This is on by default: open a test, hit play, and the recording skips past the parts you don’t need. Replaying a test is now several times faster.

Test results, straight to Slack
  • New — Slack integration: Get test summary notifications in Slack every time your test suite runs after a TestFlight build is pushed. We tell you what passed and failed, and link you to the right place to investigate. Manually triggered runs stay notification-free to keep the noise down.

Call your own APIs during tests
  • New — Bring your own tools: You can now provide your own tools for the agent to use during a test run. This is especially useful for resetting server-side state, such as test user accounts. Pass in an API endpoint, for example a reset user endpoint, and reference it in your test spec. When the test runs, we call your tool at the right time.
  • Improved — Playback scrubbing: Clicking through the session trace now feels considerably smoother.
  • Fixed — Touch gestures: Complex swiping interactions are now captured accurately in the video player.
  • Fixed — Video reloading: When a test completes you no longer need to refresh the page for the video to load.

Perfect tests before they go live
  • New — Draft tests: You can now mark tests as drafts so they don’t run on every build. This makes it easier to iterate on tests, investigate issues, and keep all your tests in one place without running them before they’re ready. Draft tests can still be triggered manually at any time.
  • New — Audio controls: For tests using audio input and output, we now play those sounds in the video player, with a control for each audio stream.
  • Improved — Model provider error messages: If a model provider is having an outage and your test fails, we now tell you that’s what happened, so you can monitor the outage and re-run the test.
  • Fixed — System logs: We reworked how we capture system logs, which has significantly reduced device CPU load.

Tests that get faster every run
  • New — Skills: Introduced reusable skills (repeatable Python scripts learnt while testing) for a given test spec. Inspired by Cloudflare’s code mode post, this speeds up some tests by up to 2x once enough skills have been collected.
  • New — Auto re-runs: If a test fails, we now automatically re-run it on the same device to confirm it isn’t a random failure.
  • New — Cancel queued tests: You can now cancel a test run while it is still queued. Handy if you want to update the test spec. You can’t yet cancel a run once it has started.
  • Fixed — Auto-scroll: You can now scroll through the test trace while the video is playing. Previously you had to pause first.
  • Fixed — Video playback: Refreshing the page or sharing a test run link now keeps your playback progress.