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