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.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.
Version :
3.0.9
Publication date:  
25/3/2026
  • Added :
    • Auto-open agent window
      • The AI agent window now opens automatically when Agilitest starts, positioned at the bottom-right of the screen with a compact size (350x500)

    • Script recall action
      • New recall action that restarts the current script from the beginning with a shared $loop counter (starts at 1) across all recalls. Supports max loop setting, optional execution condition, and parameter updates per iteration. Use sub-scripts for nested independent loops

    • Audio properties for record element
      • New properties available on the record element: audio-has-sound (true/false), audio-rms-db (average sound level), audio-peak-db (peak sound level), audio-duration (captured audio duration in seconds). Returns default silent values when no audio device is available

    • IP address in network usage report
      • Network requests in the report now display the server IP address

    • Stop recorder during test play
      • The visual recorder automatically stops when playing a test from the editor using play buttons
  • Changed :
  • Evolution :
    • Network usage improvements
      • Network usage view now supports suite-level analysis and multiple iterations

    • Show/hide left panel
      • New button to toggle the left panel visibility in the editor
  • Fixed :
    • Capture element alignment
      • Element position shift and capture rectangle not aligned with the element during capture process

    • Close channel with window id
      • Error when closing a channel with a specific window id

    • Click on mobile
      • Click action not working on mobile devices

    • Dialog box with BiDi enabled
      • Dialog box handling when WebDriver BiDi is enabled

    • Opera over and swipe
      • Mouse over and swipe actions on Opera browser

    • Language set in Docker execution
      • Language not being set correctly when executing tests in Docker containers

    • Filter non-real HTTP requests
      • Network capture including non-real HTTP requests in the report

    • Variable lost on validate project
      • Variable values being lost when using the validate project function

    • Velocity select in command line
      • Velocity selection not working correctly for Java single execution mode

    • Clipboard copy in command lines popup
      • Clipboard copy of command line before opening the terminal

    • Callscript subscript update
      • Modified called subscript not being updated in callscript action

    • $loop variable reinitialized
      • $loop variable being incorrectly reinitialized

    • New script not fully loading
      • New script created in the ATS script explorer not loading completely, requiring a project reload to use it
Version :
3.0.7
Publication date:  
20/2/2026
  • Added :
  • Changed :
  • Evolution :

    • Modification of the panel for encrypted data and authentication management in the project’s properties
      • In order to manage the Oauth2 protocol, this management was added with the passwords management in a new panel (project’s menu > passwords) 

    •  Naming of numeric format “european format” for mathematical calculus (Reminder, european format 4.095,75 > 4095.75)

    • Currency characters in a characters chain and in a numeric transformation are not taken into account (4 095,75 € > 4095.75)

  • Fixed :
    • Conditions bug
      • Conditions that tested variables or constants without quotes or single quotes did not work (IsNotEmpty(OK) returned FALSE instead TRUE)

    • Actions executed after a switch channel were not saved in the execution report

Version :
3.0.6
Publication date:  
16/2/2026
  • Added :
    • Reassignment of user scripts
      • For each script, there is now the concept of a creator and the concept of a script editor. It is possible to change the creator of scripts to assign them to other users of the project.

    • Addition of a specific log level, the “AI” level (log.level=ai) 
      • 5 log levels : 
        • silent
        • error
        • info
        • warning
        • all
      • A 6th log level has been added: log.level=ai.
      • This log level is optimized so that AIs can more easily analyze the execution of an ATS test. This information has been added to the ATS project memories with the idea that an AI can use an ATS project with this information.

    • Incremental project generation and compilation
      • When launching execution from Agilitest or from command lines in a terminal, project generation and compilation will be faster if you have not cleaned your target directory beforehand. This makes Agilitest easier to use during the test verification and debugging phase.

  • Changed :
  • Evolution :
    • HMI Upgrade
      • The current behavior for selecting a script or a data file was to automatically select the file in the project explorer. From now on, you can choose whether or not to automatically select the file in the project explorer using the “focus” button next to the favorites display button in the project explorer

    • Network usage with city and country location
      • Now, it is possible to capture network requests made during test executions. A certain number of requests will be captured for each action in the application. Not all actions will generate network traffic and therefore be captured (e.g., property comparisons will not generate network traffic). The report will display a list of requests made by the browser
      • https://fr.agilitest.com/documentation/network-activity#usage

    • Upload action: Handling file paths with backslashes
      • Paths entered with Windows file address backslashes are now supported for uploads

    • Creation of markdown files in an ATS project 
      • In each ATS project, explanations for AIs are automatically generated to help them understand the context of the project and make interventions directly on ATS projects. Additional explanations for AIs have also been added to the overall ATS project.

    • Improved loading of ATS projects in Java
      • The loading times for ATS projects have been optimized and reduced for user convenience.

    • Generation of dashboard report
      • A dashboard report is generated with various information on the statistics of an ATS project.

    • New window for viewing Docker containers Agilitest Linux Desktop
      • The display of Linux Desktop containers has been improved. The display can be in a dedicated viewer while retaining the ability to display it in the system's default browsers. In this new viewer, other features have been added, such as launching executions from the containers. All other features have been maintained.

  • Fixed :
    • isEmpty / isNotEmpty functions in the conditions of an execution 
      • The isEmpty and isNotEmpty functions did not cover all cases with or without double/single quotes.

    • Summary report comment incorrectly formatted
      • The text of the report summary action comment was not displayed correctly in the HTML execution report (text too large, poorly formatted).