Versions publiées et à venir d'Agilitest
Ce changelog vous présente la liste des derniers développements, ajouts et corrections de bug dans Agilitest.
Prochaine version :
Nous travaillons !
Nous travaillons actuellement sur d'autres évolutions et valeurs ajoutées, sans date de publication prévue, revenez bientôt pour de nouvelles mises à jour.
Changelog :
Version :
3.1.3
Date de publication :
8 juin 2026
- Ajouté :
- Outil de nettoyage du projet depuis l'éditeur
- La nouvelle tâche CleanProjectTask est désormais disponible dans l'éditeur-écouteur ; elle peut être appelée depuis l'IDE pour nettoyer l'espace de travail du projet (artefacts de compilation, captures temporaires, états d'enregistrement abandonnés) sans toucher aux fichiers versionnés
- Ensemble de thèmes modernes pour menus déroulants dans agilitest-components
- La bibliothèque agilitest-components fournit les habillages IconDropDownList et ModernDropDownItemRenderer, qui sont réutilisés dans les éditeurs d'actions et les panneaux d'exploration afin d'assurer une apparence et une ergonomie cohérentes
- Outil de nettoyage du projet depuis l'éditeur
- Fixé :
- Rapport ATSV : la capture d'écran utilise la dernière image capturée
- La capture d'écran par action dans le rapport HTML utilise désormais la dernière image ATSV enregistrée pour cette action, qui reflète le résultat d'une saisie au clavier ou d'un clic (le menu déroulant effectivement ouvert, le texte effectivement saisi) plutôt que l'état juste avant la saisie
- Rapport ATSV : image post-clavier/ post-clic
- Une nouvelle image est capturée immédiatement après une action au clavier ou un clic, de sorte que le rapport affiche toujours l'état de la page qui en résulte. Le texte saisi est également enregistré avant l'image post-clavier, afin que la légende de la capture d'écran corresponde à ce qui est réellement visible
- Clavier : point décimal dans la saisie des nombres
- La saisie d'une valeur décimale (12.5 ou 12,5) dans un champ de saisie de type « nombre » fonctionne désormais quel que soit le paramètre régional de l'utilisateur. Auparavant, un clavier français pouvait envoyer une virgule à un champ de saisie qui attendait un point (ou inversement), ce qui entraînait le rejet de la saisie comme non valide.
- REPL : résoudre les variables $pass, $prj et $env
- Les sessions REPL résolvent désormais les variables $pass-*, $prj-* et $env-*, conformément à la résolution effectuée lors de l'exécution du script. Cette fonctionnalité est utile pour l'exploration interactive de scripts qui dépendent des paramètres du projet
- REPL goto-url : URL de type file:// pour les ressources locales
- La fonction `getAssetsFilePath` renvoie désormais une URL `file://` valide lorsque la ressource est un fichier local ; ainsi, une commande `goto-url` du REPL sur un fichier HTML local permet désormais d'accéder directement à ce fichier au lieu d'essayer d'interpréter le chemin d'accès nu.
- La capture de console tolère les trames BiDi mal formées
- Auparavant, la capture en ligne de commande générait une exception lorsque le modèle de journalisation BiDi de Selenium recevait une trame de pile mal formée (par exemple, une extension Chrome injectant des lignes de journal comportant des champs non standard). Désormais, la capture contourne ce modèle strict et tolère les entrées mal formées : la ligne de journal est enregistrée en laissant les champs manquants vides, au lieu d'être ignorée ou de provoquer un plantage de la capture.
- Évaluation en cours de compilation/lien [Java]
- Les actions eval[java] se compilent et s'assemblent désormais correctement lorsque ats s'exécute en cours de traitement (par exemple, au sein du listener de l'éditeur), là où le classpath est fourni par la JVM hôte plutôt que par le lanceur ats
- Les paramètres de la suite tiennent compte des options de ligne de commande -A :
- Le bloc des paramètres de la suite du rapport d'exécution reflète désormais les valeurs transmises via la commande de ligne de commande -A:key=value, correspondant ainsi aux valeurs effectivement utilisées lors de l'exécution plutôt qu'aux valeurs par défaut déclarées dans le fichier XML de la suite
- Flux séquentiel Project.getAtsScripts
- La méthode `Project.getAtsScripts()` utilise désormais un flux séquentiel au lieu d'un flux parallèle, ce qui résout un problème de perte de données sporadique survenant lorsque deux threads pouvaient entrer en conflit sur le même emplacement d'identifiant de script
- Rapport de synthèse : génération plus rapide de fichiers JSON
- La génération des rapports récapitulatifs au format JSON pouvait s'avérer très lente pour les campagnes de grande envergure (comprenant des centaines de suites). Ce processus est désormais nettement plus rapide, et les durées par rapport sont désormais enregistrées, ce qui permet de diagnostiquer les cas de génération lente.
- Fichiers CSV non formatés
- Les fichiers CSV avec un nom d'en-tête acceptent désormais les lignes incomplètes (lignes comportant moins de cellules que l'en-tête) ; les cellules manquantes sont chaines de caractères remplacées par chaines de caractères vides, chaines de caractères l'échec du chargement
- Le fournisseur d'IA configuré uniquement par projet
- La configuration des fournisseurs d'IA s'effectue désormais exclusivement à partir du projet actif, ce qui évite qu'un fournisseur défini au niveau de l'espace de travail ne prenne le pas sur la sélection effectuée au niveau du projet
- Renforcement de l'installateur + fenêtre de mise à jour restant ouverte en cas d'erreur
- Plusieurs utilisateurs ont signalé que le script install-agilitest.ps1 se fermait sans avertissement avant d'avoir terminé, notamment en cas de connexion lente ou de politiques d'exécution strictes. Le script a désormais été renforcé avec : un gestionnaire d'erreurs de niveau supérieur qui maintient la fenêtre ouverte lorsqu'une erreur est levée ; des commandes Stop-NamedProcesses synchrones (agilitest-agent, electrondriver, ats) avec WaitForExit avant le remplacement des binaires ; une vérification des droits d'administrateur avec sortie anticipée lors de l'installation dans Program Files sans élévation de privilèges ; une boucle de 3 tentatives de téléchargement avec délai d'attente exponentiel ; TLS 1.3 ajouté à la liste des protocoles pris en charge avec repli ; Get-ExeVersion encapsulé dans Start-Process + délai d'expiration ; création d'un raccourci dans le menu Démarrer encapsulée dans try/catch ; suivi des échecs par composant qui fait apparaître un code de sortie différent de zéro à la fin du script. Le fichier d'accompagnement update-agilitest.bat s'interrompt désormais également en cas d'erreur afin que l'utilisateur puisse lire le diagnostic avant la fermeture de la fenêtre
- Panneau d'exécution : variables classées de A à Z, sans distinction de majuscules/minuscules
- Les variables du panneau d'exécution sont désormais classées par ordre alphabétique (A→Z, sans distinction de majuscules/minuscules) pour faciliter leur recherche
- Propriété conditionnelle - get / IA : la variable de retour est conservée
- Lorsqu'une action de récupération de propriété ou d'IA comporte une condition d'exécution dont le résultat est faux, la variable de retour de l'action n'est plus réinitialisée. Auparavant, le fait de subordonner à une condition une action qui remplissait une variable entraînait la réinitialisation de cette variable dès que la condition échouait, ce qui interrompait les actions en aval qui dépendaient de sa valeur précédente
- URL de la documentation
- Le lien vers la documentation dans le menu Aide de l'éditeur a été corrigé (il renvoyait vers un ancien domaine)
- Rapport ATSV : la capture d'écran utilise la dernière image capturée
- Evolution :
- Mode pédagogique dans l'agent IA — maintenir l'humain dans la boucle
- Nouvelle option « Mode pédagogique » dans les paramètres de l'agent. La philosophie d'Agilitest en matière d'IA est que celle-ci doit venir en renfort de l'ingénieur de test, et non le remplacer : l'humain reste impliqué, prend les décisions et apprend. Lorsque ce mode est activé, chaque réponse générée par l'IA est accompagnée d'une brève explication en langage clair sur le rôle de chaque partie du résultat et la raison de ce choix : pour une expression régulière, ce à quoi correspond chaque classe de caractères et pourquoi ce quantificateur a été choisi ; pour un format de date, ce que signifie chaque token ; pour une condition JavaScript, le résultat de l'expression et les alternatives qui ont été envisagées. L'objectif est clair : former et accompagner les ingénieurs qui utilisent Agilitest afin que chaque interaction avec l'agent leur permette de gagner un peu plus d'autonomie sur les expressions régulières, les formats de date/heure et les expressions JS, au lieu de se contenter de copier-coller aveuglément une réponse opaque. Désactivé par défaut afin que la sortie standard reste concise pour les utilisateurs expérimentés ; les ingénieurs souhaitant développer leurs compétences (ou former leurs collègues) peuvent l'activer à tout moment. La préférence est enregistrée en plus du paramètre existant « Afficher au démarrage ».
- Agent IA : vérification préalable de la validité des données saisies pour la date et l'heure
- Lorsqu'on lui demande de proposer un format de date ou d'heure et que la valeur d'origine n'est manifestement pas une date/heure (texte aléatoire, identifiant, etc.), l'agent affiche désormais un avertissement préalable sous forme de bannière jaune avant de proposer un format. Les références à des variables (par exemple $prj-MY_VAR) sont détectées et conservées telles quelles.
- Agent IA : paramètres par défaut de Copilot / Cursor adaptés aux entreprises
- Lors de la configuration de GitHub Copilot, il est désormais possible de laisser le champ « URL de base » vide : l'agent se rabattra alors sur https://api.githubcopilot.com (et https://api.cursor.sh/v1 pour Cursor) au lieu de générer une erreur. La clé API est également marquée comme facultative dans l'interface utilisateur de l'agent pour ces deux fournisseurs : les passerelles d'entreprise qui gèrent l'authentification au niveau de la couche réseau ou TLS (mTLS, liste blanche IP, SSO pass-through) peuvent laisser la clé vide
- Agent IA : Vision réutilise le chat fournisseur
- La configuration distincte du fournisseur Vision a été supprimée. Les grands modèles de langage (LLM) modernes (GPT-4o / 4.1, Claude Sonnet / Opus, Gemini 2.x...) acceptent tous nativement les entrées d'images ; par conséquent, la description des captures d'écran et les requêtes basées sur la vision réutilisent désormais le fournisseur/modèle LLM déjà sélectionné pour le chat. Les anciens fichiers de configuration contenant encore une clé « vision » sont ignorés sans avertissement.
- L'application Electron en tant que type de canal de premier ordre
- 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
- Navigation test par test dans les rapports d'exécution
- Les rapports d'exécution sont désormais dotés de boutons « Précédent » et « Suivant » qui permettent de passer d'un test à l'autre sans revenir à l'index de la suite. Associée aux filtres de statut et de groupe déjà disponibles, la navigation dans une campagne volumineuse est désormais bien plus rapide
- Matrice de couverture RGAA 4.1
- Le dossier « doc » contient désormais une matrice de couverture RGAA 4.1 qui établit un lien entre chaque critère et le test Check-RGAA correspondant, et les tableaux de vérification intégrés au code sont alignés sur la formulation officielle
- Une touche d'IA par entrée sur les champs compatibles avec l'IA
- 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
- Chargement plus rapide des projets — en-têtes par défaut uniquement
- Le chargement des projets utilise désormais par défaut un chemin de parse paresseux limité aux en-têtes (-Dload.headersOnly=true). Lors de l'ouverture d'un projet, seules les informations d'en-tête des scripts (description, paramètres, signatures des variables de retour) sont analysées au préalable ; le corps de chaque script est chargé à la demande, au moment de son ouverture effective. Sur les projets volumineux (comportant des centaines de scripts), le temps de chargement à froid passe de plusieurs secondes à une fraction de seconde. Le chemin d'ouverture d'un script unique a également été remanié pour éviter le double LoadScriptProcess qui se produisait auparavant lorsqu'un corps était chargé de manière différée. La trace complète du pipeline est unifiée avec des chronométrages distincts pour le chargement Java et la désérialisation AMF, ainsi qu'un marqueur « java CACHED » lorsque l'éditeur-écouteur est servi à partir du cache
- Fenêtre contextuelle des lignes de commande : redirection des variables d'environnement + sélecteur Linux/Windows
- 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 prend en charge ATS_HOME dans les conteneurs Linux
- 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
- Mode pédagogique dans l'agent IA — maintenir l'humain dans la boucle
- Fixé :
Version :
3.0.8
Date de publication :
1er juin 2026
- Ajouté :
- Tableau de bord avec les données du suivi
- Lors de la création du tableau de bord, sélectionnez un tracker déclaré dans Agilitest qui soit en ligne et connecté afin d'enrichir le tableau de bord avec l'historique d'exécution enregistré par ce tracker
- Gestion ATS
- Gérez les suivis d'exécution des tests directement depuis les paramètres d'Agilitest. Voirats
- Algorithmes de reconnaissance d'images
- 3 algorithmes disponibles : ATS différence de pixels), ATS(corrélation croisée normalisée) et ATS(corrélation croisée normalisée multi-échelle) pour différents niveaux de résolution (DPI) et de zoom
- Prise en charge d'OAuth2
- Protocole d'authentification OAuth2 intégré pour les tests d'API et les applications web sécurisées
- Chemin d'accès au fichier JS dans l'action de script
- Ajouter une référence au chemin d'accès du fichier pour les actions de script JavaScript
- Glisser-déposer de fichiers JS
- Faites glisser et déposez des fichiers JavaScript directement sur les actions de script pour définir le chemin d'accès au fichier
- Script d'installation autonome
- Le fichier install-agilitest.ps1 permet d'installer ou de réinstaller Agilitest. Il se trouve à la racine du répertoire d'installation ; vous pouvez également le télécharger et l'exécuter avec PowerShell : irm https://agilitest.app/installer.php | iex
- Tableau de bord avec les données du suivi
- Fixé :
- Evolution :
- Nouvelle barre latérale et nouveaux menus
- Modernisation de l'éditeur Agilitest avec une nouvelle barre latérale. Personnalisez l'emplacement des menus à l'aide du bouton de configuration
- Nouvelle console d'exécution
- La nouvelle console est redimensionnable, propose des thèmes sombres et clairs, et permet de filtrer les journaux et d'effectuer des recherches par mot-clé
- Refonte de l'exécution en ligne de commande
- Fenêtre contextuelle repensée avec des paramètres supplémentaires : rapport ATSV, vitesse d'enregistrement, paramètres du tracker, etc.
- Clavier REPL en mode root
- Les actions de clavier peuvent désormais être envoyées sans spécifier de sélecteur d'élément dans le REPL (utilise l'élément racine)
- Directives améliorées en matière d'IA
- Les directives d'IA enregistrées dans un ATS sont mises à jour au démarrage d'Agilitest
- Les emojis dans les rapports
- Prise en charge des emojis dans les étapes fonctionnelles (étape de commentaire) et les résumés de rapport pour une meilleure lisibilité
- Valider ATS
- Valider et convertir les anciens formats ATS en syntaxe actuelle. Comparer le contenu des scripts, incrémenter le compteur, ignorer les champs d'horodatage et d'auteur
- Gestion des utilisateurs du projet
- Modifier les utilisateurs, afficher en bas de l'éditeur, mise en page et boutons mis à jour
- Éditeur HTML pour les commentaires
- Supprimer les balises de police superflues, corriger les balises U et I vides en mode texte brut
- Refonte de la page d'aide et de la fenêtre contextuelle « À propos »
- Le journal des modifications et les licences ont été déplacés vers AboutPopup, mise en page adaptative
- Refonte du lecteur HTML ATSV
- Écran d'accueil modernisé avec informations sur les tests intégrées, 3 vitesses de lecture (0,5x, 1x, 2x), redémarrage depuis le début à la fin de la lecture et expérience utilisateur améliorée sur la timeline
- Nouvelle barre latérale et nouveaux menus
- Fixé :
- ShadowDOM dans les iFrames
- Fixé et de l'interaction avec les éléments Shadow DOM imbriqués dans des iframes
- Déplacement de la sélection dans les iFrames
- Fixé du décalage de position Fixé lors de l'utilisation de l'outil de sélection sur des éléments situés à l'intérieur d'iframes
- Rectangles de sélection pour les captures d'écran
- Fixé d'un problème d'alignement ou d'absence des rectangles Fixé lors de la capture d'écran
- Sélectionner un élément dans le rapport
- Fixé d'un problème d'affichage du rectangle de mise en évidence Fixé pour les éléments de sélection (menus déroulants) dans le rapport HTML
- Touches F et Entrée du clavier
- Fixé et la touche Entrée ne sont pas transmises correctement lors des actions au clavier
- isEmpty/isNotEmpty avec des espaces
- Fixé opérateurs Fixé et isNotEmpty traitent de manière incorrecte les valeurs ne contenant que des caractères d'espacement
- Variables figées
- Fixé de la perte des valeurs des variables Fixé après le rechargement du script
- Variables numériques
- Fixé du traitement Fixé des valeurs par défaut pour les variables de type numérique
- Geckodriver s'est arrêté en raison d'une erreur dans Firefox
- Fixé d'un problème empêchant le processus Fixé de se fermer correctement lorsqu'un test échoue dans le navigateur Firefox
- Cartographie des performances des éléments de capture
- Optimisation de la construction de la carte des éléments : suppression des opérations de parallélisation et de tri superflues, des recalculs séquentiels et de l'aplatissement direct des éléments
- Valeur par défaut d'une variable numérique décimale
- Fixé d'un problème où la valeur par défaut Fixé n'était pas appliquée correctement lors de la création de variables numériques
- Cliquez sur la photo de profil
- Fixé : l'événement Fixé » ne fonctionnait pas sur la photo de profil de l'utilisateur dans l'éditeur
- Mise à jour de l'identifiant de suivi
- Fixé d'un problème empêchant la mise à jour correcte de l'identifiant Fixé lors de la modification de sa configuration
- molette de souris
- Fixé du comportement de la molette Fixé dans les panneaux de l'éditeur et dans la vue des scripts
- Geste de balayage dans Opera
- Fixé d'un problème dans le navigateur Opera où Fixé entraînait des décalages incorrects en raison d'un décalage dans la fonction getCartesianOffset d'Opera
- Animations du lecteur HTML ATSV
- Fixé : l'étiquette Fixé et le curseur de la souris restent visibles entre deux actions consécutives dans le rapport animé
- ShadowDOM dans les iFrames
Version :
3.1.2
Date de publication :
23 mai 2026
- Ajouté :
- Dupliquer une suite d'exécution (clic droit → Dupliquer)
- Dans la fenêtre « Exécution » de l'éditeur, un clic droit sur une suite d'exécution (les fichiers XML du répertoire src/exec utilisés par TestNG) propose désormais une option « Dupliquer » qui crée une simple copie du fichier : la nouvelle suite est un double indépendant de l'original (mêmes scripts, mêmes variables, même ordre) et peut être modifiée librement, sans aucun lien avec la source. Pratique pour partir d'une campagne existante et l'orienter dans une direction différente
- Ensemble de clones d'ombre (clic droit → Clone d'ombre)
- Toujours via le menu contextuel d'une suite dans la fenêtre d'exécution, une deuxième option « Clone fantôme » permet de créer une suite fantôme qui reflète en permanence la liste de tests de sa suite de référence : toute modification apportée à la liste de scripts de la suite source est automatiquement répercutée dans la suite fantôme. La suite fantôme possède toutefois ses propres variables de suite, ce qui permet de rejouer exactement la même campagne dans un contexte différent (environnement d'acceptation, ensemble de données alternatif, etc.) sans avoir à gérer deux listes parallèles. Remarque : vous ne pouvez pas créer de suite fantôme d'une suite fantôme — cela n'aurait aucun sens, la chaîne est limitée à un seul niveau
- Dupliquer une suite d'exécution (clic droit → Dupliquer)
- Fixé :
- Evolution :
- À propos de la fenêtre contextuelle : saisie du code client pour les utilisateurs de la version de démonstration
- Les utilisateurs qui découvrent Agilitest grâce à une licence d'évaluation peuvent désormais saisir le code client fourni par leur interlocuteur commercial directement depuis la fenêtre « À propos ». Plus besoin de modifier un fichier de configuration : la saisie s'effectue dans l'interface utilisateur, le code est validé en temps réel et la licence de démonstration est activée immédiatement.
- Connexion aux licences : terminologie harmonisée, fin des termes techniques tels que « alternative » ou « dégradée »
- Lorsque le poste de travail se connecte au serveur de licences Agilitest via le chemin de secours HTTPS (au lieu du canal WebSocket sécurisé direct, parfois bloqué par les proxys d'entreprise), l'éditeur affichait auparavant des mentions telles que « dégradé » ou « alternatif », susceptibles d'inquiéter le service informatique. Désormais, le statut s'affiche simplement en vert avec la mention « connecté » dès que la licence répond, quel que soit le canal . Aucun changement fonctionnel — juste uneinterface utilisateur plus claire et plus rassurante
- Icônes Ollama dans la bibliothèque de composants
- La palette d'icônes officielle d'Ollama a été ajoutée à la bibliothèque de composants partagés utilisée par l'éditeur. Ces icônes apparaissent désormais à côté des fournisseurs d'IA Ollama / AgiLlama dans les propriétés du projet, ce qui permet d'identifier facilement le type de connexion d'un seul coup d'œil
- ATS : exécution de suites de tests intégrées
- L'outil interne chargé d'exécuter les suites de tests (AtsLauncher) a été repensé pour permettre la compilation Java, le lancement de TestNG et packaging tar.gz packaging les résultats packaging sans passer par des commandes externes. Le démarrage est plus rapide, les dépendances sont réduites et les journaux d'erreurs sont plus clairs en cas d'échec. Aucun changement visible pour les scripts : l'outil est simplement plus rapide, plus fiable et, surtout, ne déclenche plus d'alertes de sécurité dans certains environnements d'analyse de vulnérabilités.
- AgiLlama : fournisseur spécialisé dans l'IA
- AgiLlama devient un fournisseur d'IA de premier plan dans les propriétés du projet, distinct du fournisseur générique Ollama. En arrière-plan, il est compatible avec OpenAI, mais l'éditeur tient compte des spécificités du serveur AgiLlama (liste de modèles, format de requête). La sélection des modèles s'appuie sur un catalogue «ats » géré par Agilitest, et les autres modèles installés sur le serveur sont récupérés en temps réel
- Fournisseur d'IA : badges de capacités, variables d'environnement et lien vers l'interface d'administration Web
- 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
- Enregistrement SAP : canal géré explicitement
- L'état d'enregistrement du canal SAP canal désormais géré de manière explicite et idempotente : réactiver un enregistrement déjà en cours n'a aucun effet (au lieu de générer des doublons), et l'état est réinitialisé proprement lorsque le canal fermé. Du point de vue de l'utilisateur : plus de doublons d'actions enregistrées si vous cliquez deux fois sur le bouton « Enregistrer », et un démarrage/arrêt fiable
- Mise à jour de macOS : le bouton « Mettre à jour maintenant » fonctionne à nouveau + corrections apportées au programme d'installation
- Sous macOS, le bouton « Mettre à jour maintenant » de la fenêtre contextuelle de notification de mise à jour ne lançait pas l'installation. Plusieurs bugs du programme d'installation empêchaient bugs la mise à jour automatique selon le chemin d'installation (~/Applications ou /Applications). Tout fonctionne désormais correctement : la mise à jour se lance d'un simple clic, tout comme sous Windows
- Actions « Vérifier la sécurité » et « Vérifier RGAA » : commande « Arrêter/Continuer » visible dans l'éditeur
- Les actions de vérification de la sécurité et de l'accessibilité (RGAA) indiquent désormais clairement dans leur éditeur le comportement à adopter en cas d'échec : poursuivre l'exécution du script (le résultat est consigné dans le rapport, le test se poursuit) ou interrompre l'exécution. L'interface utilisateur globale de ces actions a été remaniée afin de faciliter leur configuration
- Visualiseur et sélecteur de critères RGAA
- Nouveau composant permettant de parcourir et de sélectionner les critères du RGAA (Référentiel général d'amélioration de l'accessibilité) à appliquer dans une action « Vérifier le RGAA ». Les critères sont classés par thème (visuel, sémantique, interaction, médias) et accompagnés de leur étiquette officielle et de leur description. Plus besoin de mémoriser les codes du référentiel
- Composant d'interface utilisateur Stepper : corrections
- Fixé comportement du composant « stepper » (les petits champs +/- destinés à la saisie numérique, que l'on trouve par exemple dans les paramètres « try » et « delay » d'une action) : la touche Entrée valide désormais la saisie, les valeurs limites sont gérées correctement et l'affichage du texte de remplacement fonctionne. Cette correction s'applique à tous les éditeurs d'actions qui utilisent ce composant
- Conteneurs et explorateur mobile : interface utilisateur et fonctionnalités
- L'explorateur de conteneurs (la fenêtre qui parcourt la structure d'une page web, d'une application de bureau ou d'une application mobile pour sélectionner un élément) bénéficie de plusieurs améliorations : des filtres plus efficaces, un aperçu des attributs au survol et une sélection plus facile. Sur mobile, les explorateurs iOS et Android affichent désormais les éléments dans une arborescence plus lisible, avec leurs propriétés natives
- À propos de la fenêtre contextuelle : saisie du code client pour les utilisateurs de la version de démonstration
- Fixé :
- Saisie de données dans une liste déroulante SAP
- Lors de l'enregistrement d'une saisie dans une liste déroulante SAP, l'action capturée pouvait parfois être erronée : sélection d'une valeur vide, doublon ou nouveau clic non détecté. La capture est désormais correcte dès le premier essai, avec un seul événement « select » qui reflète exactement la valeur choisie par l'utilisateur
- Actions enregistrées sur les écrans SAP
- Plusieurs cas ont été signalés où les actions n'étaient pas enregistrées du tout, ou l'étaient avec des paramètres erronés, lors de l'utilisation de l'enregistreur sur certains écrans SAP — en particulier après l'apparition de fenêtres contextuelles ou la fermeture brusque d'une fenêtre. L'enregistreur est désormais bien plus fiable dans ces situations : il n'y a plus de frappes fantômes ni d'événements « Entrée » dupliqués.
- Comportement du paramètre « Try / delay »
- Les paramètres « try » (nombre de tentatives avant échec) et « delay » (temps d'attente entre les tentatives) d'une action ne se comportaient pas toujours comme prévu, notamment lors de la première exécution juste après canal d'un canal . Le comportement correspond désormais à la documentation : le budget total « try × delay » est respecté
- ATS généré pour les actions RGAA
- ATS généré pour les actions de vérification RGAA comportait quelques erreurs de sérialisation (niveau de conformité et seuil parfois incorrects, notamment après la duplication d'une action). La génération est désormais correcte et les scripts générés peuvent être exécutés tels quels.
- Saisie de données dans une liste déroulante SAP
Version :
3.1.1
Date de publication :
26 avril 2026
- Ajouté :
- Mise à jour de macOS
- Un outil de mise à jour macOS porté sous Bash (équivalent au fichier install-agilitest.ps1 de Windows), prenant en charge les archives .dmg pour l'installation et la mise à jour de l'éditeur Agilitest. Gestion automatique des chemins d'accès ~/Applications et /Applications, détection du proxy système macOS et fermeture propre des processus avant le remplacement des binaires.
- Commande d'installation de CMD
- Une nouvelle commande d'installation par lots (install-agilitest.bat) est désormais disponible en complément du script PowerShell, à l'intention des utilisateurs dont la politique d'entreprise interdit l'exécution de scripts PowerShell. Elle s'appuie sur curl.exe et tar.exe (intégrés à Windows 10 et versions ultérieures), détecte le proxyEdge dans le registre et utilise l'authentification NTLM/Negotiate intégrée à Windows. Elle s'affiche aux côtés de la commande PowerShell dans la mini-fenêtre contextuelle d'installation accessible depuis le bouton Commande de la fenêtre À propos.
- Sélection de la langue du fournisseur d'IA
- Un nouveau champ de langue (français/anglais) est disponible lors de la création ou de la modification d'un fournisseur d'IA dans les propriétés du projet. La langue est transmise au fournisseur à chaque appel, afin que les diagnostics de l'IA, les suggestions de correction et les rapports soient générés dans la langue choisie.
- Liste mise à jour des modèles d'IA (avril 2026)
- Liste mise à jour des modèles disponibles par fournisseur : 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 et versions mini/nano), 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 en plus des versions large/medium/small/codestral)
- Bouton « Mobile » dans le panneau flottant
- Un bouton mobile peut être ajouté à la barre de boutons flottants ; il est toujours placé à côté du bouton « Conteneur ». Il peut être configuré depuis la fenêtre de gestion des boutons de la barre latérale.
- Capture mobile iOS au format adapté
- La visionneuse de captures iOS affiche désormais l'aperçu en direct à la taille logique de l'appareil (points iOS) plutôt qu'à la taille brute en pixels, ce qui rend l'aperçu plus fidèle à ce que voit l'utilisateur final, grâce à l'analyse JSON structurée fournie par le nouveau driver iOS.
- Mise à jour de macOS
- Fixé :
- Evolution :
- Auto-correction des actions grâce à l'IA
- Nouvelle option de correction au niveau du projet : lorsqu'une ATS échoue en raison d'un sélecteur incorrect ou d'un élément manquant, le fournisseur d'IA configuré pour le projet est appelé pendant l'exécution afin de proposer une correction du sélecteur ou de la stratégie d'interaction, et l'action est automatiquement réexécutée avec la nouvelle stratégie. La trace de correction apparaît dans le rapport d'exécution. Cette fonctionnalité peut être activée par projet (ats.aiproviders @healing) uniquement lorsqu'au moins un fournisseur est configuré ; elle est automatiquement désactivée si tous les fournisseurs sont supprimés.
- Vérification des vulnérabilités CVE des dépendances du projet
- Une nouvelle option « Vérifier les CVE », activable au niveau de chaque suite (variable ats.cve.check), analyse les dépendances ats utilisées par l'exécution et compare leurs versions à celles de la base de données publique des vulnérabilités (NVD/CVE). Les vulnérabilités détectées sont signalées dans le rapport HTML d'exécution avec leur score CVSS et un lien direct vers la page CVE. Cela garantit qu'une campagne d'automatisation s'exécute sur une pile à jour.
- Refonte de la fenêtre « À propos »
- La fenêtre contextuelle « À propos » a été repensée avec une mise en page sous forme de fiches (Système, Licence, Fonctionnalités) et un nouveau mode autonome : lorsque l'éditeur est lancé sans connexion au serveur de licences, la fenêtre contextuelle affiche les métadonnées du fichier agilitest.lic (ID, Émis par, Date de délivrance, Utilisateur sous licence, Nombre maximal de licences), les produits activés (Agilitest, AgiliDoc, AgiliPerf, AgiliSecOps, ceux qui ne sont pas activés étant barrés), ainsi que le statut AI/SAP. Un indicateur de statut de connexion au serveur de licences a été ajouté en haut à gauche du logo (vert = WSS, orange = repli sur HTTPS, gris = autonome/inaccessible).
- Connexion WSS au serveur de licences
- Nouveau canal WebSocket sécurisé (WSS) canal la communication en temps réel avec le serveur de licences Agilitest, remplaçant l'ancien canal TCP. Détection intégrée des proxys système, basculement automatique vers le protocole HTTPS de secours lorsque le canal WSS canal bloqué, reconnexion automatique en cas de brèves coupures réseau, et prise en charge continue des legacy pour les clients qui n'ont pas encore effectué la migration.
- Auto-correction des actions grâce à l'IA
- Fixé :
- Boucle infinie utilisant l'ancienne syntaxe de script d'appel
- Fixé bug entraîner une boucle infinie lors de l'analyse d'un script utilisant l'ancienne syntaxe sous-script . L'analyseur impose désormais un parcours séquentiel des lignes afin d'éviter toute récursivité croisée.
- Variable aléatoire vide
- Fixé condition de concurrence qui pouvait laisser une variable vide pendant l'exécution dans certains cas où la variable était à la fois assignée et lue au cours de la même opération.
- Cliquez sur le lien « Erreur d'exécution »
- Fixé problème qui empêchait la réouverture correcte de l'action correspondante dans l'éditeur lorsque l'on cliquait sur des liens d'erreur dans le rapport d'exécution.
- Mises à jour des dépendances
- Mise à jour des dépendances Java (Selenium, Appium, bibliothèques HTTP, analyseur JSON) afin de bénéficier des derniers correctifs de sécurité et d'optimisation des performances
- Renommer le mode « dégradé » en mode « alterné »
- Le mode de connexion du client de licence lorsque le canal direct canal disponible (proxy d'entreprise restrictif, port WSS bloqué) était appelé « mode dégradé » — un terme qui suscitait une certaine inquiétude, étant donné que l'application fonctionne normalement via le chemin de secours HTTPS. Il a été rebaptisé « mode alternatif » dans l'ensemble de l'interface utilisateur : badge dans le coin supérieur droit, fenêtre contextuelle d'informations, info-bulle du badge du logo et journal d'exécution. Aucune régression fonctionnelle, juste un changement de nom clair pour rassurer l'utilisateur et son service informatique.
- Boucle infinie utilisant l'ancienne syntaxe de script d'appel
Version :
3.1.0
Date de publication :
20 avril 2026
- Ajouté :
- Données du rapport sur l'IA
- Données enrichies par l'IA dans les rapports, comprenant des statistiques sur les scripts d'appel et des informations linguistiques ; un nouveau rapport très synthétique sur les résultats d'exécution : ats.html
- Mesures de vérification de la sécurité et de l'accessibilité, avec ou sans IA
- Une nouvelle fonctionnalité de contrôle de sécurité permet d'effectuer une analyse de sécurité de base d'une application web. Il est possible d'intégrer l'IA pour effectuer des vérifications contextuelles de la page web actuelle ; une fonctionnalité de contrôle conforme aux normes RGAA, reposant sur le même principe, est en cours de développement.
- ATS MCP ATS
- Un nouveau serveur MCP (Model Context Protocol) permet à un LLM de contrôler les sessions de test ActionTestScript — Web, mobile, bureau et API — via le REPL ats. Compatible avec Claude Code, Claude Desktop, Cursor ou tout autre client MCP, il est distribué sous forme de package npm package ats) ou de fichier JAR autonome. Voir ats
- Dialogue généré par l'IA à partir d'un script
- Nouveau menu contextuel « Discuter avec l'agent IA » sur un script. Envoie à l'agent le contenu complet du script (.ats) ainsi que le contexte du projet (CLAUDE.md, AGENT.md et ai-memory/*.md, tronqué à 30 Ko pour éviter de surcharger le pipeline de communication). L'invite système de l'agent se concentre sur trois intentions spécifiques : la rédaction du champ de description -> de l'[ats] (1 à 2 phrases à copier-coller), une analyse écrite de la robustesse et de la pertinence, et des suggestions d'améliorations structurelles (regroupement, sous-scripts, nommage). Les fonctions nécessitant une insertion dans le script (commentaires, assertions) sont intentionnellement désactivées jusqu'à ce qu'elles soient automatiquement dérivées.
- Prise en charge de Claude 4.7 et mises à jour des modèles d'IA
- Prise en charge côté agent pour claude-opus-4-7 : le paramètre « temperature », désormais rejeté par ce modèle, est automatiquement omis des requêtes. Mise à jour complète des listes de modèles proposées à la fois par l'agent et l'éditeur (famille Gemini 2.5 remplaçant gemini-2.0-flash, supprimé par Google ; ajout de 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 ; suppression des modèles Groq obsolètes).
- Lancer une canal mobile canal son nom
- Nouvelle méthode canal mobile : il suffit d'indiquer le nom de l'application à tester. Le premier appareil mobile disponible dans le parc mis à disposition par Mobile Station et capable d'exécuter l'application est automatiquement sélectionné, sans qu'il soit nécessaire de préciser un appareil ou un système d'exploitation. Cette solution est idéale pour partager un parc d'appareils mobiles entre plusieurs scripts ou postes de travail.
- Rapport de synthèse ats
- À la fin de la campagne, un nouveau rapport ats. ats » est généré, offrant un résumé complet de l'exécution : statistiques générales, taux de réussite, répartition par suite et par script, durées, erreurs signalées et points à surveiller. Si un fournisseur d'IA est activé dans les propriétés du projet, le rapport est enrichi d'une analyse automatique du projet et des résultats (diagnostic, tendances et suggestions d'amélioration).
- Mesure de contrôle de sécurité
- Une nouvelle action de contrôle de sécurité regroupe quatre catégories de vérifications sur la page actuelle : HTTP, réseau, console et DOM. Ces contrôles sont organisés en trois niveaux de conformité cumulatifs : A (vulnérabilités critiques : CSRF, contenu mixte, actions HTTP sur HTTPS, champs GET sensibles, javascript:/data:URI, base href externe, scripts dans SVG), AA (faiblesses significatives : saisie automatique des mots de passe, gestionnaires en ligne, iframes sans sandboxing, secrets dans localStorage/sessionStorage, WebSocket ws://, attributs data-* sensibles), et AAA (renforcement de la sécurité : tabnapping target=_blank sans rel=noopener, SRI manquant, commentaires HTML sensibles, politique de référent permissive). Un seuil de réussite configurable (0-100) détermine le pourcentage de vérifications réussies requis pour que l'action soit considérée comme réussie. La configuration centralisée est gérée au niveau de la suite via ats.security.level et ats.security.threshold, et s'applique à toutes les actions de la suite.
- Exécution parallèle de séquences
- Un nouvel outil agi-container basé sur containerd + nerdctl (sans dépendances à Docker Desktop) permet une exécution parallèle maximale. Les suites peuvent s'exécuter simultanément sous Linux et Windows à partir de la même ligne de commande : les conteneurs Linux via WSL2 (Windows Home, Pro, Enterprise ou Linux natif) et les conteneurs Windows avec isolation Hyper-V sous Windows Pro/Enterprise. Dans la fenêtre contextuelle de la ligne de commande de l'éditeur, une case à cocher --parallel permet d'activer l'exécution d'une suite par conteneur, et il est possible de choisir l'une des variables d'environnement du projet puis de saisir une liste de valeurs séparées par des virgules (par exemple, chrome, firefox, msedge, webkit, opera) pour lancer un conteneur supplémentaire pour chaque valeur. Les mécanismes se combinent : le nombre de conteneurs lancés en parallèle est égal à suites × OS × valeurs (1 suite × 2 OS × 5 navigateurs = 10 conteneurs simultanés). Les images sont partagées (pull unique), les suites ciblant un OS indisponible sont ignorées silencieusement, et les rapports de chaque conteneur sont automatiquement fusionnés en un rapport unifié (HTML, XML, JSON, JUnit). Intégration directe dans les pipelines GitLab CI et GitHub Actions.
- Lien HTTP vers ATS
- Ajout d'un lien vers l'historique d'exécution des scripts dans ATS aux rapports d'exécution
- Capture du journal de la console
- Les journaux de la console sont enregistrés et sauvegardés dans un dossier distinct pour une meilleure organisation. Les captures réseau et les journaux sont stockés uniquement dans des fichiers, sans sous-dossiers.
- Introspection REPL et enregistrement BiDi automatique
- Nouveau serveur AtsReplServer qui expose l'intégralité ATS en mode interactif, avec activation automatique des enregistreurs BiDi réseau et console dès canal un canal , garantissant ainsi que les commandes d'inspection disposent toujours de données à analyser. ATS enregistrées dans le script : canal/ canal/ canal, goto-url, window-state, click / double-click / right-click / over, clavier, sélectionner, property-get / property-set, script, vérifier-propriété / vérifier-nombre / vérifier-valeur / vérifier-occurrence, vérifier-sécurité [ai], vérifier-rgaa [ai], balayer, faire défiler, glisser / déposer, commentaire / journal-commentaire / étape-commentaire, api-get / post / put / patch / delete, télécharger / téléverser,sous-script. Exploration non enregistrée : capture d'écran, source, recherche, recherche de texte, carte, suggestion de sélecteur, diagnostic de sélecteur, capture de test. Captures BiDi : journaux de console, liste réseau, détails réseau, cookies réseau, vérification de sécurité / console de sécurité / réseau de sécurité. Commandes méta : en-tête, variable, suppression-de-variable, liste-des-variables, effacement-des-variables, enregistrer, charger, liste-des-scripts, annuler-script, effacer-script, modifier-script, insérer-script, supprimer-script, tout-exécuter, exécuter-depuis, exécuter-jusqu'à, étape, aide, quitter. En parallèle, le serveur MCP ats expose 30 outils sur le même REPL pour contrôler ATS un LLM : session/canaux (start_channel, stop_channel, switch_channel), navigation web (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), fenêtres (window_resize, window_switch, window_new_tab, window_close), et la méthode d'échappement run_ats_block pour exécuter une ATS brute.
- Sélection du fournisseur d'IA dans les propriétés du projet
- Une nouvelle propriété de projet vous permet de choisir le fournisseur d'IA (Claude, OpenAI, Ollama, Gemini, Mistral, etc.) utilisé par tous ATS basés sur l'IA : la génération du rapport récapitulatif ats » et l'exécution d'actions de vérification assistées par l'IA telles que « check-security [ai] », « check-rgaa [ai] » et « check-ai ». Le fournisseur, son point de terminaison, sa clé API et la langue de réponse sont configurés une seule fois au niveau du projet et propagés à l'exécution.
- Propriété du tableau de bord en ligne de commande
- Le tableau de bord ATS n'est plus généré automatiquement à la fin de la campagne ; il doit être explicitement demandé via la ligne de commande. Un nouveau paramètre, `ats` (ou `-Dats-dashboard=true` côté JVM), doit être ajouté au script de lancement pour générer le fichier `ats.html` à la fin de l'exécution. Exemple : `java AtsLauncher.java suite=Regression ats ats`
- Gestion des conteneurs via web service
- Version finale d'agi-container avec web service pour la gestion des conteneurs
- Visionneuse optimisée pour la capture sur mobile
- Flux d'affichage optimisé dans la fenêtre de capture mobile pour un aperçu en direct plus fluide
- Duplication de scripts
- Une nouvelle option de menu intitulée « Dupliquer le script » a été ajoutée au menu contextuel du script. Si le script est ouvert et a été modifié, cette fonction enregistre d'abord toutes les modifications en mémoire, génère un nom incrémentiel (copy_name1.ats, copy_name2.ats, etc.), copie le contenu textuel, enregistre le nouveau script dans le projet, actualise l'explorateur de fichiers et sélectionne le script dupliqué sans l'ouvrir.
- Données du rapport sur l'IA
- Fixé :
- Evolution :
- Modernisation des rapports d'exécution
- La structure des données des rapports HTML a été revue afin de permettre une visualisation rapide des rapports très volumineux : filtrage direct par statut (réussi/échoué) et par groupes inclus dans les suites, chargement plus rapide, génération optimisée et rapport de synthèse au format JSON.
- Nouvelle canal mobile canal
- Mobile Station est désormais une application entièrement web disposant de son propre serveur, capable d'afficher des statistiques en temps réel et des informations détaillées sur les appareils mobiles connectés (état, batterie, réseau, performances, capture d'écran). La gestion des processus ADB a été repensée et optimisée, ce qui se traduit par une amélioration significative des temps de démarrage et de réponse des appareils mobiles. La nouvelle intégration de l'émulateur Android permet la création et le lancement automatiques d'instances avec une résolution et un SDK sélectionnables, sans passer par Android Studio : le SDK nécessaire est téléchargé et provisionné directement par Mobile Station.
- Nouveau processus de mise à jour
- Le processus de mise à jour de l'éditeur Agilitest et ATS a été amélioré grâce à PowerShell, qui utilise les mêmes composants que Chrome ou Microsoft Edge l'accès au réseau et les proxys d'entreprise. Une alerte de mise à jour des composants s'affiche désormais, mais aucune installation n'est lancée sans le consentement de l'utilisateur. Le script de mise à jour permet également de revenir aux cinq dernières versions installées de l'éditeur et ATS
- Refonte de Mobile Explorer
- Fenêtre contextuelle de l'explorateur mobile repensée : gestion de plusieurs stations mobiles, navigation entre les applications installées et celles de la boutique (iTunes sur iOS, Aptoide sur Android), suivi simultané des installations sur plusieurs appareils, surveillance des connexions en temps réel, lien HTTP cliquable pour ouvrir l'interface Web de la station, suppression directe sur les cartes des stations, actualisation automatique lors de l'ajout ou de la suppression d'une station
- Nouveau processus de gestion des licences Agilitest
- Refonte du processus d'activation et de suivi des licences : saisie du code client lors du premier lancement, activation de la version de démonstration par e-mail, fenêtre contextuelle d'informations sur la licence, écran de blocage à l'expiration, solution de secours HTTP lorsque le canal d'activation principal canal inaccessible, legacy pour une transition en douceur depuis l'ancien système, et gestion en temps réel du parc d'utilisateurs Agilitest
- Nouveau serveur de gestion des comptes clients
- Nouveau serveur backend destiné à la gestion des comptes clients Agilitest et à la gestion des utilisateurs, qui sous-tend le nouveau processus d'activation des licences
- Modernisation des rapports d'exécution
- Fixé :
- canal Safari canal
- Problèmes canal Fixé canal Fixé
- Erreurs du lecteur HTML ATSV
- Fixé erreurs dans le lecteur de rapports animés HTML d'ATSV
- Glisser-déposer dans Firefox
- Fixé du comportement Fixé dans le canal Firefox
- Fiabilité Driver
- Amélioration de la fiabilité de la séquence driver afin de réduire les échecs de démarrage intermittents
- Données de géolocalisation en double
- Correction des données de géolocalisation en double enregistrées lors de l'exécution du test
- Configuration du projet masquée par une copie obsolète
- La méthode Project.getProjectProperties() donne désormais la priorité à la lecture du fichier source sur le disque avant de se rabattre sur le classpath. Auparavant, une copie obsolète du fichier .atsProjectProperties laissée dans le répertoire target/classes par une compilation Maven pouvait écraser silencieusement la configuration actuelle du projet (y compris le choix du fournisseur d'IA).
- Perte des valeurs des variables lors de l'ouverture d'un script
- Fixé cas très rare de conflit d'accès entre des processus de chargement parallèles qui entraînait la disparition des valeurs d'une variable lors de l'ouverture d'un script.
- Variables indésirables lors sous-script l'appel d'un sous-script
- Fixé création de variables non souhaitées dans le script appelant lorsqu'un sous-script appelé avec des variables transmises en paramètres.
- Fichier de propriétés dans un sous-dossier
- Les fichiers de propriétés situés dans des sous-dossiers ne sont pas mis à jour lorsque la valeur calculée change
- Code JavaScript nul dans les scripts
- Fixé d'une erreur « Fixé jsCode » dans les actions de script
- Images de conteneurs et gestion
- Fixé la liste des images Fixé , de la liste des conteneurs chargés et de divers problèmes liés à la gestion des conteneurs
- Actualisation de l'arborescence lors du déplacement d'un dossier
- Fixé problème qui empêchait l'arborescence des scripts de s'actualiser correctement lors du déplacement d'un dossier contenant un script favori.
- Fiabilité de la communication entre l'éditeur et l'agent IA
- Plusieurs corrections ont été apportées pour stabiliser le pont AMF3 entre l'éditeur et l'agent. Les écouteurs d'erreurs NativeProcess détectent désormais les événements appropriés (standardInputIoError, standardOutputIoError, standardErrorIoError) — auparavant, seul l'événement générique IO_ERROR était pris en compte, ce qui entraînait le signalement des erreurs de canal comme des erreurs non gérées. Lorsqu'une erreur d'E/S se produit, le processus est correctement libéré afin d'empêcher un appel ultérieur d'écrire sur un canal inactif. Une protection contre les valeurs nulles a été ajoutée au gestionnaire stdout pour éviter une exception NullPointerException après la libération. Le contexte du projet (CLAUDE.md / AGENT.md / ai-memory) envoyé à l'agent est tronqué à 30 Ko afin de rester en dessous de la taille du tampon de canal stdin de Windows (~64 Ko) et d'éviter les échecs d'écriture silencieux.
- Sélectionner un script dans l'arborescence
- La fonction `selectFileInTree` ne place plus systématiquement le script sélectionné tout en haut de la fenêtre d'affichage. Si l'élément est déjà visible, aucun défilement supplémentaire n'a lieu ; dans le cas contraire, un défilement minimal est effectué, juste assez pour le rendre visible (en haut s'il se trouvait au-dessus, en bas s'il se trouvait en dessous). La sélection est effectuée à l'aide de `selectedIndex` après l'expansion du parent, lors du cycle de rendu suivant, afin que l'index aplati soit cohérent avec l'arborescence rendue.
- canal Safari canal

