Published versions and upcoming versions of Agilitest

This changelog presents you with the list of latest developments, additions and bug fixes in Agilitest.

Upcoming version :

We are working !

We are currently working on further evolutions and added values, without any prospected publication date, come back soon for new updates.

Changelog :

Version :
3.1.3
Publication date:  
8/6/2026
  • Added :
    • Project cleanup tool from the editor
      • New CleanProjectTask exposed in the editor-listener, callable from the IDE to clean the project workspace (build artifacts, temporary captures, abandoned recording state) without touching versioned files

    • Modern dropdown skin set in agilitest-components
      • The agilitest-components library ships IconDropDownList + ModernDropDownItemRenderer skins, reused across the action editors and explorer panels for a consistent look-and-feel
  • Changed :
    • ATSV report: screenshot uses the last captured frame
      • The per-action screenshot in the HTML report now uses the last ATSV frame captured for that action, which captures the result of a keyboard or click (the dropdown actually opened, the text actually entered) rather than the state right before the input

    • ATSV report: post-keyboard / post-click frame
      • A new frame is captured right after a keyboard or click action so the report always shows the resulting page state. Entered text is also recorded before the post-keyboard frame, so the screenshot caption matches what is actually visible

    • Keyboard: decimal point in number inputs
      • Typing a decimal value (12.5 or 12,5) into a type=number input now works regardless of the user's locale — previously a French keyboard could send the comma to an input expecting the dot (or vice versa), leaving the input rejected as invalid

    • REPL: resolve $pass, $prj and $env variables
      • REPL sessions now resolve $pass-*, $prj-* and $env-* variables, matching the resolution done at script execution. Useful for interactive exploration of scripts that depend on project parameters

    • REPL goto-url: file:// URL for local assets
      • getAssetsFilePath now returns a proper file:// URL when the asset is a local file, so a REPL goto-url step on a local HTML file actually navigates to it instead of trying to interpret the bare path

    • Console capture tolerates malformed BiDi frames
      • Console capture used to throw when Selenium's BiDi log model received a malformed stack frame (e.g. a Chrome extension injecting log lines with non-standard fields). Capture now bypasses the strict model and tolerates the malformed entry — the log line is recorded with the missing fields left empty instead of being dropped or crashing the capture

    • In-process eval[java] compile/link
      • eval[java] actions now compile and link properly when ats-core runs in-process (e.g. inside the editor's listener), where the classpath is provided by the host JVM rather than via the ats-core launcher

    • Suite parameters reflect -A: command-line overrides
      • The execution report's suite parameters block now reflects values passed via the -A:key=value command-line override, matching what the run actually used instead of the default values declared in the suite XML

    • Project.getAtsScripts sequential stream
      • Project.getAtsScripts() now uses a sequential stream instead of parallelStream, fixing a sporadic data-loss issue where two threads could race on the same script-id slot

    • Overview report: faster JSON generation
      • Overview report JSON generation could be very slow on large campaigns (hundreds of suites). Generation is now significantly faster, with per-report timings logged so a slow generation can be diagnosed

    • Ragged CSV data files
      • Named-header CSV data files now tolerate ragged rows (rows with fewer cells than the header), filling the missing cells with empty strings instead of failing the load

    • AI provider resolved from project only
      • AI provider configuration is now resolved exclusively from the active project, eliminating the case where a workspace-level provider could shadow the project-level selection

    • Installer hardening + update window kept open on error
      • Several users reported install-agilitest.ps1 closing silently before finishing on slow connections or with strict execution policies. The script is now hardened with: a top-level trap handler that keeps the window open when an error is raised; synchronous Stop-NamedProcesses (agilitest-agent, electrondriver, ats-automated-testing) with WaitForExit before replacing binaries; an admin-rights check with early exit when installing to Program Files without elevation; a 3-attempts download retry loop with exponential backoff; TLS 1.3 added to the supported protocol list with fallback; Get-ExeVersion wrapped in Start-Process + timeout; Start Menu shortcut creation wrapped in try/catch; per-component failure tracking that surfaces a non-zero exit code at the end of the script. The companion update-agilitest.bat now also pauses on error so the user can read the diagnostic before the window closes
    • Execution panel: variables sorted A→Z, case-insensitive
      • Variables in the Execution panel are now sorted alphabetically (A→Z, case-insensitive) for faster lookup

    • Conditioned property-get / AI: return variable preserved
      • When a property-get or AI action has an execution condition that evaluates to false, the action's return variable is no longer cleared. Previously, conditioning an action that filled a variable would empty the variable as soon as the condition failed, breaking downstream actions that relied on its previous value

    • Main documentation URL
      • Documentation link in the editor's Help menu fixed (pointed to an old domain)
  • Evolution :
    • Pedagogical mode in the AI agent — keep the human in the loop
      • New 'Pedagogical mode' toggle in the agent's settings. Agilitest's stance on AI is that it should augment the test engineer, not replace them — the human stays in the loop, decides, and learns. When this mode is enabled, every answer the AI produces is accompanied by a short, plain-language explanation of what each part of the result does and why: for a regex, what each character class matches and why that quantifier was chosen; for a date format, what each token means; for a JavaScript condition, what the expression evaluates to and the alternatives that were considered. The goal is explicit: instruct and train the engineers who use Agilitest so that each interaction with the agent leaves them slightly more autonomous on regexes, date/time formats and JS expressions, instead of blindly copy-pasting an opaque answer. Off by default so the regular output stays terse for power users; engineers wanting to grow their skills (or onboarding teammates) can switch it on at any time. The preference is persisted alongside the existing 'Show at startup' setting

    • AI agent: upfront sanity check on date / hour inputs
      • When asked to suggest a date or hour format and the source value clearly is not a date/time (random text, identifier, etc.), the agent now warns upfront in a yellow banner before producing any format suggestion. Variable references (e.g. $prj-MY_VAR) are detected and pass through unchanged

    • AI agent: enterprise-friendly Copilot / Cursor defaults
      • GitHub Copilot setups can now leave the Base URL blank — the agent falls back to https://api.githubcopilot.com (and https://api.cursor.sh/v1 for Cursor) instead of erroring out. The API key is also marked as optional in the agent UI for these two providers: corporate gateways that handle auth at the network or TLS layer (mTLS, IP allowlist, SSO pass-through) can leave the key empty

    • AI agent: Vision reuses the chat provider
      • The separate Vision provider configuration was removed. Modern LLMs (GPT-4o / 4.1, Claude Sonnet / Opus, Gemini 2.x...) all accept image inputs natively, so screenshot description and vision-based requests now reuse the LLM provider/model already selected for chat. Old config files still carrying a 'vision' key are silently ignored

    • Electron application as a first-class channel type
      • Electron desktop apps are now testable just like Chrome or Firefox, via the new electron://<path-to-exe> channel URL. The whole capture pipeline was adapted: the visual recorder treats Electron as a headless target (the capture comes from the BrowserWindow content area, not the OS desktop), the overlay rectangle aligns with the application client area (title bar + dev-tools dock accounted for), the initial window resize works the moment the channel starts, the window is reliably brought to the front, and the application icon shown by Agilitest matches the bundled executable

    • Test-by-test navigation in execution reports
      • Execution reports gain prev/next buttons that jump from test to test without going back to the suite index. Combined with the existing status / group filters, navigating a large campaign is now far quicker

    • RGAA 4.1 coverage matrix
      • The doc folder now ships an RGAA 4.1 coverage matrix that cross-references each criterion with the corresponding Check-RGAA check, and the in-code check tables are aligned with the official wording

    • Per-input AI sparkle on AI-capable fields
      • Action fields that can be improved by the Agilitest AI agent (regex, date format, hour format, the JS expression in <lang>_eval transformers, the JavaScript condition of the execute-condition selector...) now show an animated violet sparkle in place of the static cog icon. Clicking the sparkle sends the field's current value, transformer kind and surrounding script context to the agent and opens the agent panel pre-filled with a relevant prompt. The sparkle only appears when AI is enabled in the Agilitest license — for offline / no-AI installs, the cog icon is preserved
    • Faster project load — headers-only by default
      • Project load now uses a headers-only lazy-parse path by default (-Dload.headersOnly=true). When opening a project only the script header info (description, parameters, return variable signatures) is parsed up front; each script body is loaded on demand when actually opened. On large projects (hundreds of scripts) cold-load time drops from several seconds to a fraction of a second. The open-a-single-script path was also reworked to avoid the double LoadScriptProcess that used to happen when a body was lazy-loaded. The full pipeline trace is unified with separate Java-load and AMF-deserialization timings, plus a 'java CACHED' marker when the editor-listener served from cache

    • Command lines popup: env-var forwarding + Linux/Windows picker
      • Polish pass on the agi-container tab of the command lines popup: in single-test mode the parallel toggle and 3-choice OS dropdown are hidden, replaced by a simple Linux/Windows picker that emits --os linux|win. AI provider env-var placeholders (${VAR} in apiKey/apiUrl) are forwarded into docker/podman/agi-container as -e VAR=%VAR% (cmd) or -e VAR=$env:VAR (PowerShell), so a provider key never has to be written into the project file
    • AtsLauncher honors ATS_HOME on Linux containers
      • AtsLauncher now honors the ATS_HOME environment variable on Linux containers, so libs and drivers pre-cached at /home/ats-user/ats/cache/<version> are picked up instead of /root/ats/cache — eliminating the useless re-download that used to happen on every container start in CI
  • Fixed :
Version :
3.0.8
Publication date:  
1/6/2026
  • Added :
    • Dashboard with tracker data
      • When generating the dashboard, select a tracker declared in Agilitest that is online and connected to enrich the dashboard with execution history recorded by the tracker

    • ATS Tracker management
      • Manage test execution trackers directly from Agilitest Settings. See https://actiontestscript.org/tools/ats-tracker

    • Image recognition algorithms
      • 3 algorithms available: ATS (pixel diff), ATS-NCC (Normalized Cross-Correlation) and ATS-MS (Multi-Scale NCC) for different DPI/zoom levels

    • OAuth2 support
      • Built-in OAuth2 authentication protocol for API testing and secured web applications

    • JS file path in Scripting action
      • Add file path reference for JavaScript scripting actions

    • JS file drag and drop
      • Drag and drop JavaScript files directly onto scripting actions to set the file path

    • Standalone installer script
      • install-agilitest.ps1 can install or reinstall Agilitest. Located at the root of the install directory or download and run with PowerShell: irm https://agilitest.app/installer.php | iex
  • Changed :
  • Evolution :
    • New sidebar and menus
      • Agilitest editor modernization with a new sidebar. Customize the location of menus using the configuration button

    • New execution console
      • The new console is resizable, features dark and light themes, allows log filtering and keyword search

    • Command line execution redesign
      • Redesigned popup with additional parameters: ATSV report, log velocity, tracker settings, and more

    • REPL keyboard on root
      • Keyboard actions can now be sent without specifying an element selector in the REPL (uses root element)

    • Improved AI directives
      • AI directives saved in an ATS project are improved at Agilitest startup

    • Emojis in reports
      • Support for emoji characters in functional steps (comment-step) and report summaries for better readability

    • Validate ATS scripts
      • Validate and convert old ATS action formats to the current syntax. Compare scripts content, increment counter, ignore timestamp/author fields

    • Project users management
      • Edit users, show at bottom of the editor, updated layout and buttons

    • HTML editor for comments
      • Clean redundant font tags, fix empty U and I tags in plain text mode

    • HelpContent and AboutPopup redesign
      • Changelog and licenses moved to AboutPopup, responsive layout

    • ATSV HTML Player redesign
      • Modernized home screen with integrated test info, 3 playback speeds (0.5x, 1x, 2x), restart from beginning at end of playback, and improved timeline UX

  • Fixed :
    • ShadowDOM in iFrames
      • Fixed capture and interaction with Shadow DOM elements nested inside iframes

    • Selection shift in iFrames
      • Fixed element position offset when using the capture tool on elements inside iframes

    • Screenshot selection rectangles
      • Fixed selection rectangles being misaligned or missing during screenshot capture

    • Select element in report
      • Fixed visual highlight rectangle not displaying correctly for select (dropdown) elements in the HTML report

    • Keyboard F keys and Enter
      • Fixed F1-F12 and Enter key not being sent correctly during keyboard actions

    • isEmpty/isNotEmpty with spaces
      • Fixed isEmpty and isNotEmpty operators incorrectly handling values containing only whitespace characters

    • Frozen variables
      • Fixed frozen variable values being lost after script reload

    • Numeric variables
      • Fixed incorrect default value handling for numeric type variables

    • Geckodriver quit on Firefox failure
      • Fixed geckodriver process not terminating properly when a test fails on Firefox browser

    • Capture elements map performance
      • Optimized element map building: removed unnecessary parallel/sort operations, sequential recalculation, and direct element flattening

    • Decimal numeric variable default
      • Fixed decimal default value not being applied correctly when creating numeric variables

    • User ID picture click
      • Fixed click event not working on user profile picture in the editor

    • Tracker ID update
      • Fixed tracker identifier not being updated correctly when modifying tracker configuration

    • Mouse scroll
      • Fixed mouse scroll behavior in the editor panels and script view

    • Opera swipe action
      • Fixed swipe action on Opera browser producing incorrect offsets due to Opera's getCartesianOffset shift

    • ATSV HTML Player animations
      • Fixed focus label and mouse arrow staying visible between consecutive actions in the animated report
Version :
3.1.2
Publication date:  
23/5/2026
  • Added :
    • Duplicate an execution suite (right-click → Duplicate)
      • In the editor's Execution window, right-clicking an execution suite (the XML files in src/exec used by TestNG) now offers a "Duplicate" option that creates a plain copy of the file: the new suite is an independent duplicate of the original (same scripts, same variables, same order) and can be freely modified, with no link back to the source. Handy for starting from an existing campaign and taking it in a different direction

    • Shadow clone suite (right-click → Shadow clone)
      • Still through the context menu on a suite in the Execution window, a second "Shadow clone" option creates a shadow suite that permanently mirrors the test list of its reference suite — any change made to the script list in the source suite is automatically reflected in the shadow. The shadow does, however, own its own suite variables, which makes it possible to replay the exact same campaign in a different context (acceptance environment, alternate data set, etc.) without maintaining two parallel lists. Note: you cannot shadow a shadow — that would make no sense, the chain is limited to one level
  • Changed :
  • Evolution :
    • About popup: customer code entry for demo users
      • Users discovering Agilitest through an evaluation license can now enter the customer code provided by their sales contact directly from the About window. No more editing a configuration file: input happens in the UI, the code is validated live and the demo license is activated immediately

    • License connection: unified terminology, no more "alternate" or "degraded" jargon
      • When the workstation connects to the Agilitest license server through the HTTPS fallback path (instead of the direct secure WebSocket channel, sometimes blocked by enterprise proxies), the editor used to display "degraded" or "alternate" labels that could worry the IT department. The status is now simply shown as "connected" in green as soon as the license responds, regardless of the channel used. No functional change — just a clearer, more reassuring UI

    • Ollama icons in the components library
      • The official Ollama icon set has been added to the shared component library used by the editor. These icons now appear next to Ollama / AgiLlama AI providers in the project properties, making it easy to identify the connection type at a glance

    • ATS Launcher: integrated test suite execution
      • The internal tool that runs test suites (AtsLauncher) has been reworked to perform Java compilation, TestNG launch and result packaging to .tar.gz without going through external commands. Faster startup, fewer dependencies, clearer logs on failure. No visible change for scripts: it is simply faster, more reliable, and crucially no longer triggers security alerts in some vulnerability scanning environments

    • AgiLlama: dedicated AI provider type
      • AgiLlama becomes a first-class AI provider type in the project properties, distinct from the generic Ollama provider. Under the hood it is OpenAI-compatible, but the editor is aware of the AgiLlama server specifics (model list, request format). Model selection draws from an "ats-auto" catalogue curated by Agilitest, and the rest of the models installed on the server are fetched live

    • AI provider: capability badges, environment variables and link to web admin
      • The AI provider edit screen now shows colored badges summarizing what each provider can do: text, vision (image analysis), tools (tool use), structured JSON output, and so on. The API key can be referenced through an environment variable (e.g. ${MY_KEY}) to avoid exposing secrets in the versioned project file. A direct link to the provider's web administration interface (Anthropic, OpenAI, etc.) makes quota and model management easier

    • SAP recording: channel state managed explicitly
      • The recording state of the SAP channel is now handled explicitly and idempotently: re-enabling an already-active recording has no effect (instead of producing duplicates), and the state is reset cleanly when the channel is closed. From the user's perspective: no more duplicated recorded actions if you click the Record button twice, and reliable start/stop

    • macOS update: "Update Now" button functional again + installer fixes
      • On macOS, the "Update Now" button in the update notification popup did not trigger the installation. Several installer bugs also prevented the automatic update depending on the install path (~/Applications vs /Applications). Everything is now working: the update kicks in with a single click, just like on Windows

    • Check Security and Check RGAA actions: stop/continue control visible in the editor
      • The security and accessibility (RGAA) check actions now clearly display in their editor the behavior to apply on failure: continue the script (the result is recorded in the report, the test continues) or stop the execution. The overall UI of these actions has been refreshed to make configuration easier

    • RGAA criteria viewer and selector
      • New component to browse and select RGAA criteria (Référentiel Général d'Amélioration de l'Accessibilité — the French general accessibility improvement framework) to apply in a Check RGAA action. Criteria are presented by theme (visual, semantic, interaction, media) with their official label and description. No more need to memorize the framework codes

    • Stepper UI component: fixes
      • Fixed the behavior of the stepper component (the small +/- fields for numeric input, found for example in the "try" and "delay" parameters of an action): the ENTER key now validates input, limit values are handled properly, and placeholder text rendering works. The fix benefits every action editor that uses this component

    • Containers and mobile explorer: UI and features
      • The container explorer (the window that walks the structure of a web page, a desktop application or a mobile app to pick an element) gets several improvements: more effective filters, attribute preview on hover, easier selection. On mobile, the iOS and Android explorers now display elements in a more readable tree with their native properties
  • Fixed :
    • Recording input in a SAP combobox
      • When recording input into a SAP combobox, the captured action could be incorrect: empty-value selection preamble, duplicate, or undetected re-click. Capture is now clean from the first try, with a single "select" event that exactly reflects the value the user chose

    • Actions recorded on SAP screens
      • Several cases where actions were not recorded at all, or recorded with incorrect parameters, when using the recorder on certain SAP screens — particularly after popups appeared or after a window was abruptly closed. The recorder is now far more reliable in these scenarios, with no phantom keystrokes or duplicated Enter events

    • Try / delay parameter behavior
      • The "try" (number of attempts before failure) and "delay" (wait time between attempts) parameters of an action did not always behave as expected, particularly on the first execution right after a channel was opened. The behavior now matches the documentation: the full try × delay budget is respected

    • ATS code generated for RGAA actions
      • The ATS code generated for RGAA check actions contained a few serialization errors (conformance level and threshold sometimes incorrect, especially after duplicating an action). Generation is now clean and the produced scripts can be replayed unchanged
Version :
3.1.1
Publication date:  
26/4/2026
  • Added :
    • macOS Update
      • A macOS updater ported to bash (equivalent to the Windows install-agilitest.ps1), with support for .dmg archives for installing and updating the Agilitest editor. Automatic management of ~/Applications and /Applications paths, detection of the macOS system proxy, and clean termination of processes before replacing binaries.

    • CMD installation command
      • A new pure batch installation command (install-agilitest.bat) is available to complement the PowerShell script, for users whose company policy prohibits the execution of PowerShell scripts. It relies on curl.exe and tar.exe (built-in Windows 10+), detects the IE/Edge system proxy in the registry, and uses Windows' built-in NTLM/Negotiate authentication. It is displayed alongside the PowerShell command in the mini installation popup accessible from the Command button in the About window.

    • AI provider language selection
      • A new language field (French/English) is available when creating/editing an AI provider in the project properties. The language is passed to the provider with each call so that AI diagnoses, healing suggestions, and reports are generated in the chosen language.

    • Updated list of AI models (April 2026)
      • Refreshed list of models available by provider: Anthropic (claude-opus-4-7, claude-opus-4-6), OpenAI (gpt-5.5, gpt-5.5-pro, gpt-5.4, gpt-5.3-codex, gpt-5 and mini/nano versions), Google Gemini (gemini-pro-latest, gemini-flash-latest, gemini-3.1-pro-preview, gemini-3-pro-preview, gemini-2.5-pro/flash), DeepSeek (deepseek-v4, deepseek-v4-flash, deepseek-v3.2), Mistral (devstral-2-latest in addition to large/medium/small/codestral)

    • Mobile button in the wandering panel
      • A mobile button can be added to the roving buttons bar, always positioned next to the Container button. It can be configured from the sidebar button management window.

    • Logically sized iOS mobile capture
      • The iOS capture viewer now displays the live preview at the device's logical size (iOS points) instead of the raw pixel size, making the preview more faithful to what the end user sees, with structured JSON parsing from the new iOS driver.
  • Changed :
  • Evolution :
    • AI-powered self-healing of actions
      • New project-level healing option: When an ATS action fails due to a broken selector or a missing element, the AI ​​provider configured for the project is called during execution to propose a correction to the selector or interaction strategy, and the action is automatically replayed with the new strategy. The healing trace appears in the execution report. This can be enabled per project (ats.aiproviders @healing) only when at least one provider is configured; it is automatically disabled if all providers are removed.

    • Verification of CVEs of project dependencies
      • A new Check CVEs option, activatable per suite (variable ats.cve.check), scans the ats-libs/drivers/JDK dependencies used by the execution and cross-checks their versions against the public vulnerability database (NVD/CVE). Detected vulnerabilities are reported in the execution HTML report with their CVSS and a direct link to the CVE page. This ensures that an automation campaign runs on an up-to-date stack.

    • Redesign of the About window
      • The About popup has been redesigned with a card-based layout (System, License, Capabilities) and a new standalone mode: when the editor is launched without a license server connection, the popup displays the metadata of the agilitest.lic file (ID, Issued by, Issued on, Licensed user, Maximum number of licenses), the activated products (Agilitest, AgiliDoc, AgiliPerf, AgiliSecOps, with a strikethrough for those not activated), and the AI/SAP status. A license server connection status indicator has been added to the top left of the logo (green = WSS, orange = HTTPS fallback, gray = standalone/unreachable).

    • WSS connection to the license server
      • New secure WebSocket (WSS) channel for real-time communication with the Agilitest license server, replacing the old TCP channel. Integrated system proxy detection, automatic failover to HTTPS fallback when the WSS channel is blocked, silent reconnection in case of brief network outages, and continued support for legacy systems for customers who have not yet migrated.
  • Fixed :
    • Infinite loop using the old callscript syntax
      • Fixed a bug that could cause an infinite loop when parsing a script using the old subscript call syntax. The parser now forces a sequential traversal of lines to avoid cross-recursion.

    • Random empty variable
      • Fixed a race condition that could leave an empty variable during execution in certain scenarios where the variable was assigned and then read in the same action.

    • Click on the execution error link
      • Fixed an issue where clicking error links in the execution report was not correctly reopening the relevant action in the editor.

    • Dependency updates
      • Upgrading Java dependencies (Selenium, Appium, HTTP libraries, JSON parser) to benefit from the latest security and performance patches

    • Renaming the "gradient" mode to "alternate" mode
      • The license client's connection mode when the direct channel is unavailable (restrictive corporate proxy, blocked WSS port) was called "degraded mode"—an anxiety-inducing term considering the application functions normally via the fallback HTTPS path. It has been renamed "alternative mode" throughout the UI: badge in the top right corner, information popup, logo badge tooltip, and execution log. No functional regression, just a clear renaming to reassure the user and their IT department.
Version :
3.1.0
Publication date:  
20/4/2026
  • Added :
    • AI report data
      • AI-enriched data in reports with callscript statistics and language information; a new, highly condensed report on execution results: ats-overview.html

    • Security and accessibility verification actions with or without AI
      • A new security check action allows for basic security analysis of a web application. AI can be added for contextual checks on the current web page; an RGAA-compliant check based on the same principle is under development.

    • AI dialogue on a script
      • New context menu 'Chat with AI agent' on a script. Sends the agent the complete script content (.ats) as well as the project context (CLAUDE.md, AGENT.md, and ai-memory/*.md, truncated to 30 KB to avoid overloading the communication pipeline). The agent's system prompt focuses on three specific intentions: writing the description field -> of the [ats-header] (1-2 sentences to copy and paste), a written analysis of robustness and relevance, and suggestions for structural improvements (grouping, sub-scripts, naming). Functions requiring insertion into the script (comments, assertions) are intentionally disabled until they are automatically branched.

    • Support for Claude 4.7 and AI model updates
      • Agent-side support for claude-opus-4-7: the temperature parameter, now rejected by this model, is automatically omitted from queries. Complete update of the model lists offered by both the agent and the editor (Gemini 2.5 family replacing gemini-2.0-flash, removed by Google; addition of gpt-5 / gpt-5-mini, codestral-latest, ministral-8b / ministral-3b, deepseek-r1-distill-llama-70b, qwen-2.5-32b / qwen-2.5-coder-32b; removal of deprecated Groq models).

    • Starting a mobile channel by application name
      • New mobile channel startup method: simply specify the name of the application to be tested. The first available mobile device in the fleet exposed by Mobile Station and capable of running the application is automatically selected, without having to specify a device or OS. This is ideal for sharing a fleet of mobile devices between multiple scripts or workstations.

    • ats-overview summary report
      • A new ats-overview.html report is generated at the end of the campaign, providing a comprehensive summary of the execution: overall statistics, success rates, breakdown by suite and script, durations, reported errors, and points of attention. If an AI provider is enabled in the project properties, the report is enhanced with an automatic analysis of the project and results (diagnosis, trends, and suggestions for improvement).

    • Security check action
      • A new security check action aggregates four categories of checks on the current page: HTTP, network, console, and DOM. These checks are organized into three cumulative compliance levels: A (critical vulnerabilities: CSRF, mixed content, HTTP actions over HTTPS, sensitive GET fields, javascript:/data:URI, external base href, scripts in SVG), AA (significant weaknesses: password autocomplete, inline handlers, iframes without sandboxing, secrets in localStorage/sessionStorage, WebSocket ws://, sensitive data-* attributes), and AAA (hardening: tabnapping target=_blank without rel=noopener, missing SRI, sensitive HTML comments, permissive referrer policy). A configurable pass threshold (0-100) determines the percentage of successful checks required for the action to be considered successful. Centralized configuration is managed at the suite level via ats.security.level and ats.security.threshold, and is applied to all actions in the suite.

    • Parallel execution of sequences
      • A new agi-container tool based on containerd + nerdctl (without Docker Desktop dependencies) allows for maximum parallel execution. Suites can run simultaneously on Linux and Windows from the same command line: Linux containers via WSL2 (Windows Home, Pro, Enterprise, or native Linux) and Windows containers with Hyper-V isolation on Windows Pro/Enterprise. In the editor's command-line popup, a --parallel checkbox enables the execution of one suite per container, and it's possible to choose one of the project's environment variables and then enter a comma-separated list of values ​​(e.g., chrome, firefox, msedge, webkit, opera) to launch an additional container for each value. The mechanisms combine: the number of containers launched in parallel is equal to suites × OS × values ​​(1 suite × 2 OSs × 5 browsers = 10 simultaneous containers). Images are shared (single pull), suites targeting an unavailable OS are silently ignored, and reports from each container are automatically merged into a unified report (HTML, XML, JSON, JUnit). Direct integration into GitLab CI and GitHub Actions pipelines.

    • HTTP link to ATS Tracker
      • Link to the script execution history in ATS Tracker added to the execution reports

    • Console log capture
      • Console logs are captured and saved in a separate folder for better organization. Network captures and logs are stored in files only, without subfolders.

    • REPL introspection and automatic BiDi recording
      • New AtsReplServer that exposes the entire ATS vocabulary in interactive mode, with automatic activation of network and console BiDi recorders as soon as a channel is started, ensuring that inspection commands always have data to analyze. ATS actions recorded in the script: channel-start / channel-close / channel-switch, goto-url, window-state, click / double-click / right-click / over, keyboard, select, property-get / property-set, scripting, check-property / check-count / check-value / check-occurrence, check-security [ai], check-rgaa [ai], swipe, scroll, drag / drop, comment / comment-log / comment-step, api-get / post / put / patch / delete, upload / download, call-subscript. Unrecorded exploration: screenshot, source, find, find-text, map, suggest-selector, diagnose-selector, capture-test. BiDi captures: console-logs, network-list, network-detail, network-cookies, security-check / security-console / security-network. Meta commands: header, variable, variable-delete, vars-list, vars-clear, save, load, script-list, script-undo, script-clear, script-edit, script-insert, script-delete, run-all, run-from, run-to, step, help, exit. In parallel, the MCP server ats-mcp exposes 30 tools on the same REPL to control ATS from an LLM: session/channels (start_channel, stop_channel, switch_channel), web navigation (goto_url, navigate_back, navigate_forward, refresh), interaction (click, hover, send_keys, press_key, scroll, drag, drop, select_option, file_upload, handle_dialog), inspection (screenshot, capture_tree, find_elements, evaluate_js, console_logs, network_list, network_detail, network_cookies), windows (window_resize, window_switch, window_new_tab, window_close), and the run_ats_block escape method to execute a raw ATS sequence.

    • Selecting the AI ​​provider in the project properties
      • A new project property allows you to choose the AI ​​provider (Claude, OpenAI, Ollama, Gemini, Mistral, etc.) used by all AI-based ATS mechanisms: generating the ats-overview summary report, and performing AI-assisted verification actions such as check-security [ai], check-rgaa [ai], and check-ai. The provider, its endpoint, API key, and response language are configured once at the project level and propagated to runtime.

    • Command-line dashboard property
      • The ATS project dashboard is no longer automatically generated at the end of the campaign; it must be explicitly requested via the command line. A new parameter, `ats-dashboard=true` (or `-Dats-dashboard=true` on the JVM side), must be added to the launch script to generate the `ats-project-dashboard.html` file at the end of execution. Example: `java AtsLauncher.java suite=Regression ats-report=3 ats-dashboard=true`

    • Container management with web service
      • Final version of agi-container with web service integration for container management

    • Optimized mobile capture viewer
      • Optimized screen flow in the mobile capture window for a smoother live preview

    • Script duplication
      • A new 'Duplicate Script' menu item has been added to the script's context menu. If the script is open and modified, it first flushes any changes in memory, generates an incremental name (copy_name1.ats, copy_name2.ats, etc.), copies the text content, saves the new script to the project, refreshes the file explorer, and selects the duplicated script without opening it.
  • Changed :
  • Evolution :
    • Execution report modernization
      • The HTML report data organization has been revised for quick visualization of very large reports: direct filtering by status (pass/fail) and filters by groups included in the suites, faster loading, improved generation, and a JSON summary report.

    • New mobile channel management
      • Mobile Station is now a fully web-based application with its own server, capable of displaying real-time statistics and detailed information on connected mobile devices (status, battery, network, performance, screen feed). ADB process management has been reworked and optimized, resulting in significantly improved mobile device startup and response times. New Android emulator integration allows for the automatic creation and launching of instances with selectable resolution and SDK, without relying on Android Studio—the necessary SDK is downloaded and provisioned directly by Mobile Station.

    • New update process
      • The update process for the Agilitest editor and ATS libraries has been improved using PowerShell, which leverages the same components as Chrome or Microsoft Edge for network access and enterprise proxies. A component update alert is now displayed, but no installation is initiated without user consent. The update script also allows for a rollback to the last five installations of the editor and ATS components

    • Mobile Explorer Redesign
      • Redesigned mobile explorer popup: manage multiple Mobile Stations, navigate between installed applications and apps from the store (iTunes on iOS, Aptoide on Android), track installations simultaneously across multiple devices, monitor live connections, clickable HTTP link to open the station's web interface, inline deletion on station maps, automatic refresh when adding or deleting a station

    • New Agilitest license management workflow
      • Redesign of the license activation and tracking workflow: customer code entry on first launch, demo activation via email, license information popup, blocking screen upon expiration, HTTP fallback when the primary licensing channel is unreachable, legacy compatibility for a smooth transition from the old system, and real-time Agilitest user fleet management

    • New customer account management server
      • New backend server for managing Agilitest customer accounts and user provisioning, which underpins the new license activation flow
  • Fixed :
    • Safari channel startup
      • Fixed Safari channel startup issues

    • ATSV HTML player errors
      • Fixed various errors in the ATSV HTML animated report player

    • Drag and drop in Firefox
      • Fixed drag-and-drop behavior in the Firefox channel

    • Driver startup reliability
      • Improved reliability of the driver startup sequence to reduce intermittent startup failures

    • Duplicate geolocation data
      • Correction of duplicate geolocation data captured during test execution

    • Project configuration hidden by an outdated copy
      • Project.getProjectProperties() now prioritizes reading the source file from disk before returning to the classpath. Previously, an outdated copy of .atsProjectProperties left in target/classes by a Maven build could silently overwrite the current project configuration (including the AI ​​provider selection).

    • Variable values ​​lost when opening a script
      • Fixed a very rare case of a race condition between parallel loading processes that caused the values ​​of a variable to disappear when a script was opened.

    • Unwanted variables when a subscript is called
      • Fixed the creation of unsolicited variables in the calling script when a subscript was called with variables passed as parameters.

    • Properties file in subfolder
      • Properties files in subfolders not resolved when calculated value changes

    • Null jsCode in scripting
      • Fixed null jsCode error in scripting actions

    • Container images and management
      • Fixed container images list, loaded containers list, and various container management issues

    • Refreshing the tree when moving a folder
      • Fixed an issue where the script tree was not refreshing correctly when moving a folder containing a favorite script.

    • Reliability of publisher/AI agent communication
      • Several fixes to stabilize the AMF3 bridge between the editor and the agent. NativeProcess error listeners now listen for the correct events (standardInputIoError, standardOutputIoError, standardErrorIoError) — previously only the generic IO_ERROR was listened for, allowing pipe errors to be reported as unhandled errors. When an IO error occurs, the process is properly released to prevent a subsequent call from writing to a dead pipe. A null guard has been added to the stdout handler to prevent a NullPointerException after release. The project context (CLAUDE.md / AGENT.md / ai-memory) sent to the agent is truncated to 30 KB to remain below the Windows stdin pipe buffer size (~64 KB) and prevent silent write failures.

    • Selecting a script from the tree
      • `selectFileInTree` no longer forces the selected script to the very top of the viewport. If the item is already visible, there is no further scrolling; otherwise, minimal scrolling occurs, just enough to make it visible (at the top if it was above, at the bottom if it was below). The selection is made using `selectedIndex` after the parent's expansion, in the next rendering cycle, so that the flattened index is consistent with the rendered tree.