> ## Documentation Index
> Fetch the complete documentation index at: https://momentic.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Product updates

> New updates and improvements

<Update label="June 2026">
  ## Features

  ### Editor

  * Both the web (v3) and mobile editors gained Vim-style keyboard authoring:
    press `o` / `O` to insert a step after or before the current step, `Backspace`
    (or `Delete`) to remove the selected step(s), and `Shift+J` / `Shift+K` to
    extend a multi-step range selection (same as `Shift+Down` / `Shift+Up`).
  * Turn a multi-step selection into a reusable [module](/core-concepts/modules)
    straight from the right-click menu in both editors with the new **Create
    module from steps** action.
  * The module creation dialog lets you pick the destination folder again, so new
    modules are saved where your scoped `include` patterns expect them instead of
    landing at the project root.
  * The mobile editor now shows a step number beside each step, matching the web
    editor and Run Viewer.
  * The mobile editor now includes the same **Find using description** locator
    control as the web editor on description-based target fields, so you can
    verify tap, type, element-check, scroll-to, and drag-and-drop targets before
    running the full test.
  * New [while loop](/core-concepts/test-format#while-loops) step repeats its body
    while a condition holds. The condition uses the same forms as a
    [conditional](/core-concepts/test-format#conditionals) and re-evaluates each
    iteration, and an optional `maxIterations` caps the number of passes (provide
    it on its own to repeat a fixed number of times).

  ### Mobile

  * [AI action](/core-concepts/agentic-testing) V3 - the planner-style agent that
    drafts a flow up front, caches the resolved steps, and self-heals on failure -
    now runs on iOS as well as Android.
  * The mobile Run Viewer now shows the test's **tag** and expands
    [AI action](/core-concepts/agentic-testing) V3 sub-steps, matching the web Run
    Viewer.
  * [`visualDiff`](/reference/mobile-commands/visual-diff) now works on mobile:
    capture a full-screen screenshot and compare it pixel-by-pixel against a
    golden image stored on disk, the same way it works on web.
  * [`assertVisually`](/reference/commands/assert-visually) now works on mobile.
    It evaluates the assertion from the screenshot only and skips capturing the
    accessibility/XML hierarchy, which helps when the screen is rendered in a way
    the hierarchy cannot describe (for example a WebView) or the condition is
    purely visual.
  * [`pressKey`](/reference/mobile-commands/press-key) gained `repeat` and
    `delay`, so one step can press a key such as `backspace` several times, with
    an optional pause between presses, to clear a field.
  * `momentic-mobile run` now supports `allure` and `allure-json` reporters for
    iOS and Android, matching the web CLI's rich per-step report output.

  ### AI

  * The `locator`, `assertion`, and `visual-assertion` agents now default to
    **v4**, the new recommended versions, for new projects and organizations.
    Existing projects keep whatever version they have pinned. See the
    [agent configuration](/configuration/ai) reference for the trade-offs.
  * [AI action](/core-concepts/agentic-testing) V3 on web now draws on your
    [knowledge base](/ai/knowledge-base) while authoring and healing, and can
    suggest new knowledge base entries for your team to review.
  * The [explore agent](/ai/explore) now supports `--granularity` for controlling
    plan depth, `--timeout` for bounded CI runs, seed-mode defaults of 60 minutes,
    JSON output, and first-class potential bug reports with reproduction steps.
  * Test healing now retrieves relevant [knowledge base](/ai/knowledge-base)
    entries scoped to the test being repaired, including rules targeted at the
    heal subagent.

  ### CLI

  * `momentic ai heal` is now
    [`momentic ai triage`](/cli-reference/momentic/commands/ai#triage), reflecting
    that the agent groups failures, updates tests in place, and uploads a
    validation signal rather than only repairing tests. `heal` stays as a
    backward-compatible alias, so existing scripts keep working. The command also
    gained `--run-group-id` to target an uploaded run group, `--dry-run` to
    preview proposed fixes without writing them, `--json` for machine-readable
    output, and `--no-upload` to keep the results archive local.
  * The setup wizard (`npx @momentic/wizard@latest`) no longer scaffolds over an
    existing project. When a `momentic.config.yaml` is already present, it offers
    to (re)install skills, MCP, and browsers and bring the project up to date
    instead of overwriting your config or sample test.
  * New [`momentic results check`](/cli-reference/momentic/commands/results)
    command gates CI on your local results: it exits non-zero when any
    non-quarantined run truly failed (failed or canceled, passed only via in-run
    failure recovery, or carrying a failure classification). Pass
    `--allow-recovered` to treat recovered runs as clean, or `--json` for a
    machine-readable report.
  * Result [classification](/reliability/failure-analysis) is now controlled from
    `momentic.config.yaml` via `ai.classification.enabled`, and letting a
    classified failure pass CI is now strictly opt-in
    (`ai.classification.overrideExitCode`, or the `--classify-override-exit-code`
    switch on [`momentic run`](/cli-reference/momentic/commands/run)). A new
    `ai.triage` block configures
    [`momentic ai triage`](/cli-reference/momentic/commands/ai#triage). See the
    [AI configuration](/configuration/ai) reference.
  * The [explore agent](/ai/explore) can now be run from the CLI with
    [`momentic ai explore`](/cli-reference/momentic/commands/ai#explore) to draft
    tests from a git diff (beta).
  * [`momentic ai classify`](/cli-reference/momentic/commands/ai#classify) and
    [`momentic ai triage`](/cli-reference/momentic/commands/ai#triage) accept
    multiple `--run-id` values, so you can classify or triage several runs in a
    single invocation.
  * [`momentic snapshot`](/cli-reference/momentic/commands/snapshot) captures a
    fully resolved, self-contained test zip, and
    [`momentic run --from-snapshot`](/cli-reference/momentic/commands/run) replays
    it without reading modules, config, environment, or step caches from the
    current project.
  * `momentic run` and `momentic-mobile run` can emit a local
    [Momentic JSON report](/guides/reporting/json-reporter) with structured
    statuses, skipped tests, failures, and classifications.
  * `momentic run` now writes live `progress.json` into the output directory while
    a run is active, and `--no-classify` skips AI classification for a one-off run
    even when classification is enabled in config.

  ### Dashboard

  * Failed runs without a current AI classification now show a **Classify with
    AI** button in the Run Viewer's Failure analysis tab, so you can start an AI
    classification on demand. The classification override popover also gained a
    **Clear manual override** action.
  * When auto-heal delivers changes, the Run Viewer's **Heal details** tab now
    links directly to the pull request or branch where the healed code landed.
  * The Run Viewer now shows web step cache status directly in the step detail
    pane, labels conditional outcomes inline as `= true` / `= false`, and groups
    retried steps into expandable `Attempt N` blocks.
  * Quarantine settings now live on a single **Quarantine** page (renamed from
    "Quarantine rules"), which also hosts the default Slack notification channel
    that previously sat on the Slack integration card. Existing links redirect
    automatically.

  ### Integrations

  * The GitHub App and connected-account cards now run a live health check and
    surface a **Needs re-auth** or **Update permissions** button when the stored
    authorization has stopped working or new permissions are required.
  * Connected accounts on your Profile now use a **Connected** dropdown to unlink.
  * The Slack channel picker now lists only the channels Momentic has been added
    to, instead of every public channel in the workspace.

  ## Bug fixes

  * [CHECK steps](/reference/commands/check-element) backed by a stale cache entry
    no longer wait out the full timeout before relocating the element.
  * Creating a mobile test or module from the editor now creates the target folder
    instead of failing with a "directory does not exist" error.
  * You can now add a module before or after another module from the right-click
    menu, and pressing `Esc` while that menu is open no longer also closes the
    step detail pane.
  * Mobile **Single tap** steps no longer fail at runtime with
    `tapDelayMs requires iterations >= 2` after switching back from a Double or
    Triple tap.
  * The setup wizard now detects pnpm and yarn workspaces from a nested package,
    so it installs browsers instead of aborting inside a monorepo.
  * The file upload step no longer shows an "extension could not be detected"
    warning when the file source field is empty.
  * The Free plan billing card now shows your real step-execution quota instead of
    an internal token metric.
  * The web (v3) editor no longer briefly shows, or autosaves, another test's
    steps over the one you have open.
  * The unsaved-changes confirmation prompt is back in the web (v3) editor, so you
    no longer lose edits by navigating away.
  * The **Run to here** action is back in the web (v3) editor.
  * Steps dragged into a conditional can be opened again instead of staying stuck
    closed.
  * Module parameter fields keep multi-line JavaScript expressions intact instead
    of collapsing them onto one line.
  * Interactive mode no longer treats your keystrokes as editor shortcuts (or
    deletes the current step on Backspace) while you type into a step.
  * The editor keeps interactive authoring sessions open when an organization runs
    out of credits, instead of locking you out mid-edit.
  * [TYPE steps](/reference/commands/type) accept a blank value again to clear an
    input.
  * A [`removeRouteMock`](/reference/commands/remove-route-mock) step with no key
    (remove all mocks) no longer crashes the CLI when the test is saved back to
    disk.
  * `--ai-select` no longer reports a passing run when it matched tests but ran
    none of them.
  * The "browser not installed" error now names the specific browser you are
    missing instead of suggesting a mobile command to web users.
  * A single corrupt local-storage cache entry is now skipped instead of crashing
    the whole run.
  * Smart waiting no longer repeats the full stability check on every retry.
  * Disabled tests no longer run on a schedule.
  * Free-tier organizations are blocked from starting runs once they exceed their
    limits, over-quota mobile runs are rejected instead of leaving emulators
    running, and usage emails no longer mention overage charges that free plans
    cannot incur.
  * The Knowledge breadcrumb now returns you to the page you came from.
</Update>

<Update label="May 2026">
  ## Features

  ### Dashboard

  * The [failure recovery](/reliability/failure-recovery) agent's trajectory is
    now visible in the Run Viewer, so you can see exactly what the agent did to
    recover a run.
  * The Run Viewer header now shows **Quarantined** and **Recovered** badges
    alongside heal status and classification, and reveals the quarantine reason on
    hover.
  * The Runs table gained a **Healed** filter, and the **Quarantined**,
    **Recovered**, and **Healed** filter chips now support inline *is / is not*
    toggles.
  * The Runs table can now filter by test **label**.
  * Mobile assets now appear in the cloud dashboard, grouped by channel in an
    expand/collapse table.

  ### Editor

  * The **web editor v3** continues toward general availability with step input
    forms for every command type, an output section (result, agent trajectory, and
    trace), AI-locate and click-to-locate buttons, an export-test dialog,
    configurable module steps, and a "using CSS selector" targeting option.
  * **Click**, **Type**, and **Scroll** steps now expose a "using x, y
    coordinates" toggle, and skipped steps are clearly indicated.
  * Drag steps between the **setup**, **main**, and **teardown** sections in both
    editors.
  * Pop out the **JavaScript** step editor for more room, and run the selected
    step from the keyboard with `Cmd+Shift+Enter` in the mobile and v3 web
    editors.

  ### Mobile

  * `momentic-mobile run` reached quarantine parity with the web CLI, adding
    [`--skip-quarantined`](/cli-reference/momentic-mobile/commands/run) and
    `--only-quarantined` alongside the existing `--ignore-quarantine`.

  ### CLI

  * [`momentic ai triage`](/cli-reference/momentic/commands/ai#triage) gained
    `--exclude` to drop tests from the triage queue by name regex.
  * [`momentic ai classify -i`](/cli-reference/momentic/commands/ai#classify)
    keeps an interactive chat open after classifying, so you can ask follow-up
    questions about the run.
  * [`momentic upgrade`](/cli-reference/momentic/commands/upgrade) and
    `momentic-mobile upgrade` migrate legacy YAML to the
    [simplified format](/get-started/migrate-to-simplified-format), with
    `--dry-run` to preview changes before applying them.
  * [`momentic init`](/cli-reference/momentic/commands/init) and
    `momentic-mobile init` now scaffold the simplified (`fileFormat: v2`) format
    directly.

  ## Bug fixes

  * `momentic ai triage --only-quarantined` no longer reports `FAILED` while
    handing CI a passing exit code.
  * WARN-classified failures no longer count against your CI exit code.
  * JavaScript step input forms no longer show a phantom validation error before
    you start typing.
</Update>

<Update label="Apr 2026">
  ## Features

  ### Dashboard

  * Updated the Run Viewer with a resizable panel layout, a floating step-details
    card, and inline step output, matching the new editor UI.
  * AI action version is now displayed in the Run Viewer settings for both cloud
    and mobile runs.
  * Run page **Reset** button now clears the Search parameter along with other
    filters.
  * You can now unquarantine a test directly from the Run Viewer, not just the
    Quarantine page.
  * [Quarantine rules](/reliability/quarantine#quarantine-rules) now support two
    new metrics: **Recovery count** and **Recovery rate**, so you can
    quarantine/unquarantine tests based on how often they rely on
    [failure recovery](/reliability/failure-recovery).
  * New multi-step **onboarding flow** for self-serve signups: provisions an
    organization, lets you invite teammates, optionally connects GitHub, and hands
    you off to `npx @momentic/wizard@latest` for scaffolding and a first run.
  * Self-serve users now have access to a **Billing** page with current plan,
    credit usage with overage warnings, upcoming invoice, invoice history, and a
    plan comparison table for upgrades.
  * Empty states on **Runs**, **Run Groups**, and **Quarantine** now show CLI
    commands and docs links instead of an empty table when an org has no data yet.
  * Runs page celebrates your first passing test with confetti.

  ### Editor

  * **AI Action V3** is now in public beta for web and mobile. V3 is the
    recommended AI action engine, with planned flows, cached generated steps, and
    self-healing replay. V2 remains available per step as a fallback.
  * Replaced the CodeMirror input for **JavaScript** steps with a Monaco editor
    that ships with autocomplete, typed runtime globals (`env`, `setVariable`,
    `axios`, `faker`, `moment`, `assert`), parameter hints, and syntax validation.
  * [Modules](/core-concepts/modules) now support a **Default retries** setting
    under a new **Control flow** tab. Every invocation uses the module default
    unless it sets its own `retries` value.
  * Search HTML, screen XML, and accessibility trees directly in the editor (and
    the run viewer) with a new inline search bar (case-insensitive, with prev/next
    navigation).

  ### Mobile

  * Added iOS syslog streaming to the editor's device log panel, mirroring the
    existing Android logcat integration.
  * Added a pop-out dialog for the Monaco **JavaScript** editor in the mobile test
    editor so longer scripts are easier to read and edit.
  * The mobile JavaScript editor now autocompletes `env.` with your project's
    environment variable names.
  * Mobile editor's screen XML panel now deduplicates adjacent duplicate nodes and
    has improved row styling.
  * iOS webview targets are now cached, so repeat runs that interact with
    webview-embedded content resolve from cache instead of paying the full AI
    locator cost each time.
  * Upgraded mobile testing dependencies to resolve security advisories.

  ### MCP / Copilot

  * Web and mobile MCP servers both support a `--daemon` flag that keeps a
    persistent local daemon so sessions can be shared across separate MCP server
    invocations. See [`momentic mcp`](/cli-reference/momentic/commands/mcp#daemon)
    and
    [`momentic-mobile mcp`](/cli-reference/momentic-mobile/commands/mcp#daemon).
    Daemon mode is not yet available on Windows for mobile.
  * MCP tool calls routed through the daemon now stream progress notifications
    back to the caller in real time, so MCP clients see incremental updates as
    tools execute.
  * Tool logs now show a **Copilot** or **MCP** prefix so you can tell at a glance
    whether a tool call originated from the copilot or an MCP client.
  * New [Devin setup guide](/integrations/devin) walks through configuring web and
    mobile Momentic MCPs for Devin sessions.
  * **iOS support landed across the mobile MCP toolchain**:
    `momentic_session_start`, `momentic_run_step`, `momentic_preview_step`, and
    `momentic_test_splice_steps` all now work against iOS sessions in addition to
    Android. Both remote and local iOS simulators are supported via
    `localDeviceId` (e.g. `iPhone 17`) and `localAppPath` (path to a `.app`
    bundle). Session step schemas are platform-aware and reject Android-only
    commands (e.g. `ADB_COMMAND`, `OPEN_NOTIFICATION_DRAWER`) on iOS sessions; use
    `APPIUM_EXECUTE` as the cross-platform replacement.

  ### CLI

  * **[`@momentic/wizard`](#)**: new interactive onboarding CLI
    (`npx @momentic/wizard@latest`) that walks you from zero to a passing test in
    about two minutes: platform selection, browser-based sign-in, CLI
    installation, project scaffolding, browser install, and first test run, all in
    one command. Credentials are stored in `~/.momentic/auth.json` and both CLIs
    fall back to that file when `MOMENTIC_API_KEY` isn't set.
  * The wizard now picks a **single platform** per run and surfaces MCP server +
    skills install commands after a successful test run.
  * [`momentic-mobile assets list`](/cli-reference/momentic-mobile/commands/assets#list):
    lists asset channels and tags, with `--channel`, `--platform`, `--tag-filter`,
    and `--json` for scripting.
  * [`momentic ai classify`](/cli-reference/momentic/commands/ai#classify) now
    accepts a full run URL (`https://app.momentic.ai/runs/<runId>`) in addition to
    a raw run ID.
  * New `--video` option on
    [`momentic-mobile run`](/cli-reference/momentic-mobile/commands/run). Pass
    `true`, `false`, or `on-fail` to control video capture per run; `on-fail`
    records every attempt but discards videos for passing tests to keep result
    sizes manageable.
  * The end-of-run failure summary now prints a **YAML pointer** to the failing
    step, in the style of Playwright's `>` marker: the lines around the failure
    with `>` highlighting the exact step in your test file (or the imported
    module, when the failure happens inside one).

  ### Configuration

  * New [`timezone`](/configuration/browser#browser-timezone) and
    [`useHostTimezone`](/configuration/browser#browser-usehosttimezone) browser
    settings. Set a project-wide default timezone in `momentic.config.yaml`
    instead of configuring it per-test. `useHostTimezone: true` skips the override
    entirely and uses the machine's native timezone.
  * New [`bannedAttributes`](/configuration/browser#browser-bannedattributes)
    browser setting. Specify HTML attributes that should be stripped from the
    accessibility tree and ignored when comparing cached elements. Use this for
    framework-generated attributes (e.g. `for`, `aria-controls`, `data-dynamic-*`)
    whose values change on every page load, causing unnecessary cache busting and
    noisy AI context.

  ### Integrations

  * New GitHub installs now have **PR status comments** enabled by default,
    without setting the toggle in integration settings. You can still turn them
    off in
    [Settings > Integrations](https://app.momentic.ai/settings/integrations) if
    you prefer.

  ## Bug fixes

  * Fixed a renderer crash on extremely large pages caused by accessibility tree
    fetching.
  * Fixed a bug where step execution continued past the module boundary when using
    **Run to step** inside a module.
  * Fixed cancellations being reported as successes in some CI runs.
  * Fixed pending runs getting stuck by tightening queue worker recovery.
  * Fixed unreadable white-on-white text in the video timeline step tooltip.
  * Normalized platform-specific paths returned from glob so test globs work
    consistently on Windows.
  * Clear-content steps now wait briefly between attempts to reduce flakiness on
    slow inputs.
  * Mobile driver now attempts to reconnect to Appium on transient failures
    instead of failing the run.
  * Fixed wizard showing a stale dashboard URL when the sample test run fails.
  * Fixed CI visibility page breadcrumbs not rendering.
  * Fixed duplicate settings overlay appearing in the mobile editor.
  * Fixed iOS finish step not running on remote simulators.
  * Fixed the copilot occasionally hallucinating invalid config formats.
  * Fixed the Monaco pop-out editor opening at an unusably small size.
  * iOS native elements now use the `text` attribute instead of `innerText` for
    more reliable text extraction.
  * Context tab no longer drops environment variables when switching between tabs
    in the editor.
  * OpenAI `server_error` responses are now recognized by the retry classifier,
    preventing silent failures on transient provider outages.
</Update>

<Update label="Mar 2026">
  ## Features

  ### Dashboard

  * Delete tests directly from the test details pane, and delete runs directly
    from the Runs page.
  * Row selection and bulk unquarantine in the
    [Quarantine](/reliability/quarantine) table.
  * Cache bust reasons are now shown in traces, and caches can be
    [isolated per environment](/reliability/step-cache).
  * Run Details panel now supports detachable panels for side-by-side debugging.
  * Frontend scripts that slow down rendering are detected and logged to the
    console during test runs.
  * [Memory](/ai/memory) now uses AI to pick which memory entry to read.

  ### Mobile

  * iOS closed beta is live. Reach out in Slack to join.
  * [Modules](/core-concepts/modules) are now supported on iOS.
  * Geolocation mocking support for iOS.
  * **AI extract** is now available for mobile tests.
  * Swipe step now supports relative coordinates.

  ### MCP / Copilot

  * Mobile MCP launched with splice, preview, and session creation tools.
  * Web and mobile MCPs can install Momentic skills with
    `npx skills add momentic-ai/skills` (see the
    [MCP integration guide](/integrations/mcp-server)).
  * Module creation and preview tools added to MCP.
  * **Conditional** steps are now supported in MCP/Copilot.
  * Configurable MCP session idle timeout via `--timeout-ms`, and `--port` to run
    the Momentic app on a custom port.
  * MCP now infers when to run setup and teardown steps automatically.

  ### CLI

  * [`momentic init`](/cli-reference/momentic/commands/init) now scaffolds a
    sample config and starter tests.
  * `buildkite-JSON` is available as a
    [reporter](/running-tests/results#generating-local-reports).

  ## Bug fixes

  * Fixed **Click** steps that succeeded but were still marked failed, incorrectly
    triggering [failure recovery](/reliability/failure-recovery).
  * Corrected **AI action** scrolling endlessly in the wrong direction on mobile.
  * **Conditional** actions now handle single quotes in element descriptions.
  * Resolved stale images appearing in browser preview during slow page loads.
  * Fixed the editor jumping back to a failed step when scrolling away.
  * Resolved silent MCP/Copilot crashes caused by unhandled type errors.
  * Fixed mobile taps timing out and crashing ADB connections.
  * Playwright-JSON reporter no longer reports `retries: 1` or produces malformed
    JSON.
  * Fixed video timestamp discrepancies in the Run Viewer.
  * Local apps no longer exit on non-critical errors.
  * Changing a step type to **Module** now sets default parameters correctly.
  * Removed the force-click fallback when Global Locator Redirect finds no
    eligible elements.
  * Fixed Run Viewer display for **Conditional** steps.
  * Long unbroken strings no longer overflow trace views.
</Update>

<Update label="Feb 2026">
  ## Features

  ### Dashboard

  * AI settings used during a test run are surfaced in the Run Viewer for easier
    debugging.
  * Runs that passed via [failure recovery](/reliability/failure-recovery) now
    show recovery details and a **Recovered** badge in the Run Viewer, with a
    **Recovered** filter on the Runs table.
  * Failure Recovery now handles a wider range of scenarios, including failures
    within modules and longer action sequences, with a clearer UI for recovery
    details and suggested steps.
  * Multi-select filters on Runs, Run Groups, and Analytics.
  * Date-range picker and CLI version filter on the Runs and Run Groups pages.
  * Search bar on the [Quarantine](/reliability/quarantine) page to filter by test
    name, plus a directory filter on quarantine rules.
  * Video player supports speed controls and smoother playback.
  * Network tab dropdowns in the Run Viewer now support multi-select.
  * Assertion V4 model rolled out with improved accuracy.
  * **Page check** assertions are now scoped to the document body, reducing false
    positives from non-visible page content.

  ### Editor

  * Test retries are now optional per-test and fall back to the organization's
    [`momentic.config.yaml`](/configuration/momentic-config#retries) when unset.
  * Run a single step within a **Conditional** without triggering the assertion.

  ### MCP / Copilot

  * Granular MCP tools: individual tools for each step type instead of a single
    monolithic tool, with skill files for guided workflows.
  * Consolidated test and environment listing into a single MCP tool.
  * Added `resetSession` parameter to `momentic_run_step` for in-place session
    restart.
  * Added request listener, request recording, and mock route step types for AI
    agents.
  * Custom headers and device pixel ratio support on the MCP server.
  * [`momentic mcp`](/cli-reference/momentic/commands/mcp) now accepts a flag to
    override headful/headless browser mode.
  * Caching is now supported in Copilot for faster repeat interactions.
  * New parameter for outputting test results to files.

  ## Bug fixes

  * Fixed an error when opening the Settings > AI page and the AI configs page
    failing to load due to a type error.
  * Fixed runs that passed via failure recovery not displaying the recovered
    badge.
  * Failed **Conditional** child steps are now properly skipped when using **Run
    to step**.
  * Fixed video timeline scrubber sync issues on short runs.
  * Test details panel now correctly updates the title when switching tests.
</Update>

<Update label="Jan 2026">
  ## Features

  ### Dashboard

  * Organization-level default browser setting (Chrome, Chromium, or Chrome for
    Testing) in [Settings](https://app.momentic.ai/settings/browser). Tests can
    use **default** to inherit this setting.
  * Pin specific sub-agent versions in
    [`momentic.config.yaml`](/configuration/momentic-config) for consistent AI
    performance across CLI releases.
  * Video Player in the Run Viewer to watch recorded test run videos directly in
    the browser.
  * Filter the Analytics page by individual test for more targeted insights.

  ### Editor

  * **Conditional** steps now support JavaScript as an assertion, enabling
    programmatic branching logic.
  * [Memory](/ai/memory) now supports **Conditional** steps, so assertion memory
    is saved and resolved for conditional blocks.
  * Undo/Redo is now supported in the editor.

  ### Mobile

  * [Failure recovery](/reliability/failure-recovery) now available for mobile
    tests.
  * **Rotate Orientation** step added for mobile tests.
  * Error messages and details are now shown for failed mobile runs.
  * Undo/Redo is supported in the mobile editor.
  * iOS support: **AI check**, **AI tap**, WebView support, and iOS-specific
    agents launched.

  ## Bug fixes

  * Fixed the Save button remaining enabled after saving, which also prevented the
    Reset button from working.
  * **Conditional** steps no longer throw errors when used inside modules, and
    saving a new module parameter option no longer errors.
  * Cached modules now work reliably: auth state is no longer incorrectly restored
    when an invalidation rule is configured.
  * Modules can no longer be added inside other modules via the step chooser.
  * Fixed a full-page error when clicking a single day on the Usage page and a
    server components error affecting certain accounts on the same page.
  * Fixed editor performance issues and excessive battery drain during prolonged
    dashboard use.
  * **AI check** and **AI extract** steps are significantly faster.
</Update>

<Update label="Dec 2025">
  ## Features

  ### Dashboard

  * Runs that passed via [failure recovery](/reliability/failure-recovery) are now
    visually indicated on the Runs page.
  * The Run Viewer auto-focuses and scrolls to the first failed step when opening
    a test result.
  * Navigate between steps in the Run Viewer using the arrow keys.
  * New `disableConsoleLogs` and `disableNetworkLogs` browser settings control log
    collection during remote runs, reducing CPU usage.

  ### Editor

  * AI reasoning and thoughts are now visible in the step pane.

  ### Mobile

  * **Screen check** step now available for mobile.
  * Added **Uninstall app** step type.
  * Step retries are supported for mobile tests.
  * **Element check** step now available for mobile.
  * **Drag and drop** step supported on mobile.
  * [Memory](/ai/memory) is now supported for mobile tests.
  * APK asset details now shown in the mobile test overview.

  ### MCP / Copilot

  * Copilot now supports images for richer context.
  * MCP tool descriptions clarify how modules are edited.

  ## Bug fixes

  * Massive console logs no longer cause high CPU usage and crashes in remote
    runs.
  * Modules in the Run Viewer can now be collapsed again after expanding.
  * Fixed elements bleeding through the Run Viewer details panel.
  * Editing an assertion in a **Conditional** step no longer causes child steps to
    disappear, and **Conditional** steps now save correctly inside modules.
  * Fixed cached-action slowness for certain customer accounts.
  * Fixed mobile module updates not saving, and incorrect input values in model
    input forms.
</Update>

<Update label="Nov 2025">
  ## Features

  ### Dashboard

  * Released V3 AI models for locator, assertions, and visual assertions. Enable
    them in [Settings](https://app.momentic.ai/settings/ai) or via
    [`momentic.config.yaml`](/configuration/ai).

  * With V3 locator models enabled, Momentic caches contextual elements in
    addition to the targeted element.

  * Videos of test runs can now be captured via the `--record-video` flag or
    [`recordVideo: true`](/configuration/momentic-config#recordvideo).

  * Test caches now merge back into `main` when using GitHub or GitLab
    integrations.

  * Quarantined-test notifications can be routed to a specific Slack channel.

  * **AI smart waiting** prompt overhaul: faster models and better prompts for
    stability checks.

  * New `disableFullStory`
    [config option](/configuration/browser#browser-disablefullstory) since
    FullStory's DOM mutation tracking can crash test automation.

  * Updated to the latest Playwright.

  ### Editor

  * Added **Conditional** step to support if-style branching: write an **AI
    check** assertion and perform nested steps when it passes.
  * **AI action** now supports **Drag and Drop** as a sub-step.
  * Env var search bar added to the editor.

  ### Mobile

  * Mobile editor UI refresh.
  * Geolocation mocking for Android.
  * **Close app** step and WebView speed improvements.
  * **AI action** v0 for mobile.
  * **Drag and drop** for mobile.
  * Mobile logs improvements in the editor.
  * Local-only mode for mobile tests, matching the web
    [CLI-only org setting](/cli-reference/momentic/overview).

  ### MCP / Copilot

  * MCP/Copilot can now reference and use [modules](/core-concepts/modules).
  * Notifications sent back to the caller from MCP during long-running actions.
  * Improved MCP tool descriptions for external agents (e.g. Roo).
  * Improved context management and richer return values from tools.

  ### CLI

  * New [`momentic quarantine list`](/cli-reference/momentic/commands/quarantine)
    command prints all quarantined tests.
  * HTTP proxy support.
  * Test retries can be configured per step and per test.
  * More verbose logging for `momentic upgrade` and the correct upgrade command
    surfaced in version-check output.

  ## Bug fixes

  * Smart waiting now handles element-location stability when the cache cannot be
    used.
  * Updated libraries with security advisories across the CLI.
  * AI now considers alternative elements if the original target is ineligible,
    and **AI action** no longer attempts to interact with ineligible elements.
  * Improved V3 locator agent accuracy and reduced false positives.
  * Removed the conflict-resolution dialog between editor and disk; auto-save is
    now simpler.
  * Fixed a visual bug where **AI action** couldn't add child steps correctly.
  * Faster load times for quarantine rules.
  * Responses from recorded or mocked network calls are no longer redacted due to
    memory limits, and memory usage associated with storing network requests is
    reduced.
  * Error messages now reference a step's position within its test correctly.
  * Fixed incorrect detection of element changes between cache resolution and
    interaction, and mouse-drag command reliability.
  * Fixed typing into webviews and mobile taps crashing ADB.
  * Resolved a visual bug where Copilot could significantly extend page height,
    and network tab header overlap.
  * Runs search is now case-insensitive.
</Update>

<Update label="Oct 2025">
  ## Features

  * Tests that are Quarantined are now labeled as such in the Analytics page.
  * **Type** steps now support using relative positioning when interacting with an
    element.
  * V3 models for assertions, visual assertions, and locators are now in beta and
    can be enabled in Settings.
  * More verbose logs for long-running scripts are now shown in the Console tab.
  * Added a column in the Quarantine table for the last date the test was run.
  * Icon elements using the `<i>` tag are now visible in the a11y tree.

  ## Bug fixes

  * Fixed a bug that caused caches to reset to the original cache after Element
    Check steps executed.
  * Resolved an issue where focusing the dashboard caused unexpected behavior.
  * Resetting a test while it is saving now shows a toast notification instead of
    quietly failing.
  * Test results with many steps are no longer truncated.
  * Locator no longer picks elements based on momentic-id if removed and added
    back into the DOM.
  * Scrolling now works as expected for XML viewers.
  * Larger pages are now pruned more efficiently to prevent delays caused by
    excessive RAM usage.
  * Sorting tests in the Quarantine table now works as expected.
</Update>

<Update label="Sept 2025">
  ## Features

  ### MCP Server

  * Use AI models to interact with your local Momentic tests via the desktop
    server.
  * Create and modify your tests without leaving your IDE.
  * Get started using MCP [here](model-context-protocol).

  ### Mobile App

  * Create and run tests written in natural language for Android.
  * Upload your APK and collaborate with your team on testing your mobile app.
  * See the [documentation](model-context-protocol).

  ### Additional features

  * Support for network [request mocking](request-mocking) for testing your
    frontend without running a backend, overwriting feature flag configurations,
    or testing error states.
  * Revamped Network tab for easier readability and navigation.
  * Tests that are removed from Quarantine no longer reenter Quarantine if they
    fail and must meet the threshold set in the Quarantine rules.

  ## Bug fixes

  * Resolved issue where filtering network logs would show unassociated logs.
  * Longer lists of variables in the Context tab are no longer truncated.
  * **AI extract** now supports all valid JSON schemas.
</Update>

<Update label="Aug 2025">
  ## Features

  ### Mobile Support

  * Beta testing for Android [Mobile Support](https://momentic.ai/blog/mobile) is
    now open. [Sign up here](https://momentic.ai/sales).
  * Author once in natural language and run across iOS (release date TBA) and
    Android.

  ### Copilot + MCP

  * [Copilot + MCP](https://momentic.ai/blog/copilot-mcp) now available in the
    Momentic local application.
  * Momentic Copilot with MCP adds natural-language test creation and execution to
    your local development workflow.

  ### Failure Recovery

  * [Failure recovery](failure-recovery) enables Momentic to auto-correct and
    retry tests when transient UI or network glitches occur, so only real
    regressions fail the run.
  * Failure recovery can be enabled via
    [`ai.failureRecovery`](/configuration/ai#ai-failurerecovery) or at the
    per-test level.

  ### Suggestions & GitHub App

  * [Test Suggestions and GitHub](https://momentic.ai/blog/suggestions) app now
    available.
  * Momentic can now review your pull requests, surface relevant test execution
    context, and suggest precise edits you can apply with one click.
  * You can integrate your GitHub account with Momentic today in your account's
    [Settings](https://app.momentic.ai/settings/integrations).

  ### Additional features

  * Rules can now be set to automate test Quarantine in your account
    [Settings](https://app.momentic.ai/settings/quarantine-rules).
  * The GitHub integration can now post status messages directly on associated
    pull requests.
  * Steps can now be edited while a test is running in the Editor.
  * Retries can now be set at the step level.
  * **Element check** can now assert against computed styles.
  * Teardown steps that fail will now fail the entire test.
  * Native Slack app now available. Enable it in your account's
    [Integration](https://app.momentic.ai/settings/integrations) page.
  * [Memory](memory) is now out of beta and available to all Momentic users.
  * **AI extract** steps now validate schema before execution with the v2 schema.
  * Default user-agent now appends `Momentic/1.0 (+https://momentic.ai)` as a
    suffix to support anti-botting and Vercel automation, without affecting normal
    application behavior.

  ## Bug fixes

  * Fixed UI bug in the Usage page impacting customers with annual plans.
  * `momentic list` no longer truncates test names.
  * Fixed UI slowness when opening a test in the Repository view.
  * Values of variables in the GraphQL Request step no longer converts to a
    string.
  * AI model configurations in Settings now correctly shows the models in use.
  * Search results in the network viewer now shows only what is passed in the
    search input.
  * **AI action** steps now show Before/After screenshots in the Run Viewer.
</Update>

<Update label="July 2025">
  ## Features

  * Added AI Settings to select the AI agent version for locators, assertions,
    visual assertions, and text extraction.
  * Added Browser Settings to toggle Visual Click, zero-opacity elements, and
    Global Locator Redirect.
  * Introduced [Memory (beta)](/memory) to use traces from past test runs for
    improved AI consistency and reliability.
  * Tests can now be [Quarantined](/quarantine) to prevent them from failing
    pipelines, either manually or through automated rules.
  * Runs now display additional metadata.
  * Added the ability to duplicate modules.
  * Module parameters now support persistent options for inputs.
  * Rows in Runs and Repository can be opened in a new tab using CMD/CTRL + Click.
  * **Element check** now supports assertions on tag names, computed styles, and
    focus state.
  * Added more filters to the Run, Run Groups, and Analytics pages.
  * Updated the Network Viewer UI to show intercepted data.

  ## Bug fixes

  * Test descriptions now correctly update in the side panel when opening tests in
    the Repository.
  * Resolved an issue preventing API key creation.
  * Folders in different directories can now share the same name.
  * Fixed an issue where values in the GraphQL Request step were being converted
    to strings.
  * Screenshots now save correctly in all Runs.
  * Runs and Run Group results load much faster.
  * Moved the interaction mode warning outside the browser preview.
  * Fixed a UI crash when interacting with the Network Viewer.
</Update>

<Update label="June 2025">
  ## Features

  * Support for setup and teardown steps.
  * Hybrid selector mode for locators.
  * New sidebar for the local app that shows all folders.
  * New step to set headers
  * New `momentic list` command for easier integration with CircleCI.
  * Skipped tests are included in JUnit XML reports.
  * New keydown and keyup steps.
  * New step to wait for requests.
  * New module search experience with multiple tabs.
  * Clearer separation of global and local module configurations.
  * Be able to copy environment variable paths and values.
  * Table rows are now links.
  * You can now view initial navigation in the test trace.
  * Page and element check builder now supports syntax highlighting.
  * Labels are included in Junit XML reports.
  * Be able to duplicate modules in the local app.

  ## Bug fixes

  * `momentic import` now supports importing a much larger volume of tests.
  * Fix handling of zero opacity elements.
  * Opening a test link directly in the local app no longer show's an empty page.
  * Ungrouping a module no longer causes duplicate id errors.
  * Drastically improved local app performance and navigation speed.
  * Search query is now debounced.
  * Screenshots in test traces now display with the correct dimensions.
  * Create and edit suite now paginates tests properly.
  * Test options dialog now scrolls.
  * Fixed option parsing for the CLI.
</Update>

<Update label="May 2025">
  ## Momentic 2.0

  We're excited to introduce Momentic 2.0 - a major update with performance
  improvements, new features, and expanded configuration.

  * Test results are now saved locally by default.
  * Caching is now isolated per branch to prevent cross-branch cache
    contamination.
  * Project configuration now supports feature flags, protected branches, new AI
    settings, and more browser controls.
  * Chromium has been updated to the latest version, and Chrome for Testing is now
    supported.
  * Read our [v2.x migration guide](/cli/migrate-v2) for details on how to
    transition.

  ## Features

  * Steps now appear in the module overview panel for easier inspection.
  * Time zone and geolocation can be configured in test options to simulate
    various regions.
  * Option to ignore href attributes in anchor tags.
  * Option to invalidate cache when an element's bounding box changes.
  * Local app search now includes all tests and modules within nested directories
    and subdirectories.

  ## Bug fixes

  * Improved handling of long page content to prevent selector errors on pages
    with a lot of HTML.
  * Credits in the billing view now properly reflect additions and rollovers.
  * Improved locators to distinguish between nearly identical elements.
  * Tests now honor the configured retry count when screenshots fail to capture.
  * Dropdowns with a large number of options are now scrollable.
</Update>

<Update label="April 2025">
  ## Features

  * Improved accuracy of recording on lengthy sites.
  * **Switch tab** now accepts template strings.
  * Download HTML and Download A11y tree in the debug pane of the test editor.
  * New CLI option to ignore autogenerated `href` attributes.
  * Tests can now be duplicated directly from the app.

  ## Bug fixes

  * React components that change classes no longer bust the cache.
  * [Failure recovery](/failure-recovery) no longer removes **Element check** if
    they fail during a test.
  * Resolved an issue where scrolling in the browser preview or during Scroll
    steps did not match real-world behavior.
  * Fixed an issue that would sometimes cause the usage breakdown graph in Billing
    to not populate.
  * Changing the name of a module locally now updates the file name to match.
  * Addressed a compatibility issue affecting users on Node.js 20.19.0 or older
    caused by a breaking change in an upstream telemetry dependency. The CLI now
    pins that dependency to prevent similar failures in the future.
</Update>

<Update label="March 2025">
  ## Features

  * You can now upload files directly in Momentic. Use the File Upload step to
    upload files to your application during tests.
  * New search for modules in the editor.
  * Updated the repository's tree structure to support arbitrary folder nesting,
    making it easier to organize your tests and modules.

  ## Bug fixes

  * Uploading files larger than 5MB no longer causes a full-page error.
  * **Element check** now supports empty strings.
  * Assertions no longer cause elements to scroll into view.
  * Tests will no longer auto-save if validation errors are present.
  * Negative assertion results are no longer cached, ensuring accuracy.
  * Resolved navigation errors between multiple run attempts.
  * Local YAML test files will remain unchanged unless explicitly modified.
</Update>

<Update label="February 2025">
  ## Features

  * **AI action** has improved reasoning and self-healing capabilities.
  * Test runs with multiple attempts now allow viewing results for all attempts.
  * Momentic now displays Git information for CLI-executed tests.

  ## Bug fixes

  * Momentic now correctly sets MIME types for uploaded files.
  * Fixed incorrect labeling of tests running on main branches as `HEAD`.
  * Suite-level environments now correctly override individual test environments.
  * Addressed an issue preventing removal or modification of scheduled tests.
  * `npx momentic queue test` no longer queues disabled tests.

  ## Data retention policy updates

  * Screenshots and stop-level details will be kept for 3 months.
  * Run metadata will be kept for 6 months.
  * Analytics will be available indefinitely.
</Update>

<Update label="January 2025">
  ## Features

  * Analytics loads much faster and provides helpful insights to identify failing
    or flaky tests.
  * You can now view suite analytics, which aggregates analytics for all tests in
    a suite.
  * You can now view historical credit usage for suites and tests.
  * There are now steps in the editor for copy and pasting to and from the
    clipboard.
  * The editor now has a refresh button to refresh the page.
  * New buttons in the editor to move a step to the top or bottom of the test.
  * Suites now support setup and teardown.

  ## Bug fixes

  * Enabled `--headless=new` on Chromium
  * **AI action** now supports interpolated variables.
  * Creating a new test when viewing a folder now adds it to that folder.
  * Selecting more than 40 tests per page when creating suites no longer breaks
    the dialog.
  * Test export now exports labels.
  * Duplicated tests are now created in the same folder as the original.
  * Accepting email invites no longer fails with 500 errors.
</Update>

<Update label="December 2024">
  ## Failure recovery (beta)

  * Review proposed steps in the run viewer and apply them directly to tests
    stored in the dashboard or on your local machine through a CLI command.
  * Can be enabled on a per-test basis or globally in organization settings.

  ## Test and suite cancellation

  * Tests and suites running on Momentic dashboard can now be cancelled through
    the UI.

  ## Usage statistics

  * You can now view usage statistics for your organization in
    [settings](https://app.momentic.ai/settings/usage).

  ## AI improvements

  * We have developed new v1 AI agents for locating elements and evaluating
    assertions that perform 17% better on our benchmarks.
  * These agents should return more detailed thoughts and reasoning steps.
  * We back-tested these agents extensively and followed a gradual rollout process
    in the last few weeks. v1 agents are now the default for all organizations.

  ## Bug fixes

  * Fix a bug where the **Page check** assertions would fail because fetching the
    HTML took too long.
  * Improve the exponential backoff algorithm for **Page check** assertions, which
    sometimes led to lengthy pauses.
  * Improve execution logic when running an individual step within a module; if
    all sub-steps of a module have been ran individually, the module as a whole is
    marked as complete now.
  * Fix the logic for the "run to end" button when running a cached module.
  * Reduce memory and CPU usage caused by streaming browser screenshots.
  * Bump the max number of tokens that can be generated by AI agents for **AI
    check** steps.
  * Create a randomized test ID when importing a new test via ZIP file into the
    cloud app.
  * Restore the feature of test auto-saving on load in the editor.
  * Fix rare cases of the Chrome browser hanging indefinitely due to an underlying
    Chromium bug.
</Update>

<Update label="November 2024">
  ## New test tree view

  * Click on a test in the tree view to view detailed information about the test.
    Including the steps, estimated credits, and included modules.
  * Duplicate a test with a new name.
  * Manually run tests against different environments.
  * Delete a test directly from the tree view.
  * Manage labels and suites directly from the test view.
  * Schedule tests directly from the test view.
  * Configure and customize notifications that you receive from Momentic. You can
    use variables and test data to make it more informative.

  ## Step updates

  * Wait for URL now supports case insensitive matching and negative matching.
  * **AI check** now support vision-only mode that is tuned for visual checks.
  * A module can now be treated as a auth module. This will automatically save and
    restore the state of the module. Turn on "Treat as auth module" to enable this
    feature.
  * You can now use XY coordinates to target elements. This is useful when you
    want to click on a specific part of the screen.
  * Pressing keys now supports a delay between each key press. This is useful when
    you want to simulate typing.
  * Empty string is a valid value for the Type step.

  ## Debug data

  You can now see the HTML as well as the a11y tree in the editor and the test
  results. This will help you debug issues with your tests. We've also made
  updates to the console log and network logs viewers.

  ## Suites

  You can now set a default environment for a suite. This will be used when
  running tests in the suite.

  ## Reporting

  The CLI now supports outputting JUnit XML reports for test runs. You can use
  this to integrate with your CI/CD pipeline.

  ## Knowledge base

  We now have a dedicated knowledge base for customers to share detailed guides
  and tutorials. You can access it [here](https://momentic.ai/docs/guides) if
  you're a current customer.

  ## Performance

  We've written an in-depth guide on Momentic's performance characteristics. Check
  it out [here](/performance).

  ## Bug fixes

  * Fixed a race condition when updating results.
  * Locator redirection now works in shadow roots.
  * Fixed concurrency issues with the Chromium browser in the CLI.
  * Include IndexDB in saved and restored auth state.
  * Updated mirror for stable channel Chrome.
  * Improved table serialization.
  * Updated **File upload** URL validation.
  * Retry failed email requests.
  * Fixed drag and drop.
  * Scroll now wait for the scroll to complete.
  * Updated the create suite dialogs to support >35 tests at a time.
  * Don't throw an error if a click times out after completion.
  * Make sure ungrouped steps have new ids.
  * Support Node 18 in the CLI.
  * Search will now preserve folders when searching.
</Update>
