Changelog

Latest updates and improvements to T-IA Connect.

v2.3.62

LatestAugust 4, 2026
Improvements - fix(release): pin deployed website authority - fix(release): align runtime cross-repo baseline - fix(security): dispose emergency BugTrace responses - fix(licensing): surface TLS inspection on managed login errors - fix(heartbeat): tolerate expected capability loss - fix(runtime): propagate authoritative security epoch - test(runtime): characterize fresh finalize recovery - chore(websetup): refresh runtime contract baseline - test(release): validate disabled orchestrator CLI on Windows PowerShell - fix(release): harden publication orchestrator recovery - feat(release): add deterministic publication orchestrator - fix(validation): serialize canonical solution build - fix(release): enforce global obfuscation compatibility - fix(mcp): preserve approval contracts during obfuscation - fix(release): decouple WebSetup lifecycle - fix(runtime): resume persisted bootstrap without refinalize - docs(websetup): require global readiness matrix - test(runtime): pin aligned living baseline - chore(runtime): align living contract baseline - fix(websetup): recover orphaned runtime identity - feat(validation): enforce complex code documentation - test(websetup): isolate quarantine archive history - chore(release): realign runtime contract baseline - feat(mcp): persist approvals and resume calls - test(gsd): preserve missing AML coverage behind gate - fix(catalog): prefer exact Siemens order number - chore(validation): align final release baseline - fix(updater): require explicit dashboard consent - fix(updater): reconcile WebSetup-only public updates - fix(security): reconcile legacy script credentials - chore(validation): advance production contract baseline - chore(validation): advance final living baseline - fix(validation): enforce native release gates - fix(security): bound canary delivery resources - chore(validation): advance live contract baseline - fix(validation): enforce live runtime contracts - fix(websetup): bind archive promotion to file identity - test(websetup): prepare Authenticode revocation matrix - fix(websetup): report granular local diagnostics - fix(websetup): recheck quarantined archive bytes - fix(release): pin tag validation proof - fix(websetup): close security and telemetry gates - feat(quality): audit C# god classes with Roslyn - feat(telemetry): correlate WebSetup activation lifecycle - fix(scripts): make complexity audit reproducible - fix(tooling): handle native pin generation explicitly - fix(websetup): recover terminal pending enrollment - fix(websetup): automate canonical versioning - fix(licensing): recover after validated reactivation - fix(logging): unify user log directory - fix(release): isolate canonical entrypoint tests - fix(websetup): bind publication to reviewed source - fix(websetup): bind artifacts to source provenance - docs(scripts): inventory executable tooling - fix(validation): pin Git snapshot - fix(validation): move full checks to pre-push - fix(readiness): validate ApprovedBinaries authority - fix(websetup): preserve runtime identity across legacy upgrade - fix(release): add deterministic R0 workflow - fix(runtime): preserve critical incident decision - feat(websetup): consume cross-version Runtime transition - test(websetup): add deterministic readiness gate - fix(websetup): select authoritative upgrade target - fix(recovery): harden rollback diagnostics and publication - fix(release): preserve runtime bootstrap boundary - test(runtime): isolate bootstrap pin fixture - fix(runtime): support safe bootstrap leaf pin rotation - fix(runtime): close bootstrap transport and persistence gaps - fix(runtime): harden license bootstrap completion - feat(runtime): bootstrap license before local gate - fix(websetup): recover terminal enrollment safely - fix(runtime): fail closed on finalize rejection - fix(activation): return actionable failure messages - fix(activation): diagnose network failures automatically - Revert "fix(ci): bind automatic validation to release commit" - fix(ci): bind automatic validation to release commit - fix(ci): handle runner latency and MCP approvals - fix(ci): use server-issued MCP sessions in tests - fix(ci): parse runtime envelope length on powershell 5 - fix(ci): select latest prerelease on powershell 5 - fix(ci): add bounded runner runtime reset - fix(ci): support runtime diagnostics on net48 - fix(ci): persist repaired runner licence atomically - fix(runtime): preserve terminal enrollment refusal - fix(ci): enforce dedicated runner licence identity - fix(mcp): highlight requested approval action - fix(mcp): refresh tools after project changes - feat(mcp): alert on approval requests - fix(mcp): restore approval center after reconnect - fix(release): preserve copilot obfuscation contract - fix(copilot): hide actions until provider is ready - feat(mcp): add approval registry and modal coordination - fix(mcp): coalesce covered approval prompts - docs(mcp): document approval policy matrix - fix(mcp): make approvals non-blocking and localized - fix(mcp): harden approval UX and dependency resolution - feat(ops): automate private validation identity reset - fix(updater): keep optional notification additive - fix(recovery): reconcile runtime rollback before preflight - fix(mcp): isolate SignalR infrastructure resolution - feat(mcp): add license-bound approval leases - fix(runtime): reconcile signed recovery rollbacks - docs(updater): require recovery source provisioning - fix(recovery): advance immutable runtime generation - fix(updater): show persistent optional update action - fix(updater): require explicit update consent - fix(classroom): observe cleanup failures - fix(websetup): harden failure diagnostics - feat(runtime): add safe enrollment retry - fix(recovery): define receipt time boundaries - fix(security): harden private secret storage - fix(runtime): preserve milestone evidence diagnostics - fix(projects): complete polling ready transition - feat(runtime): upgrade active enrollments across releases - feat(security): enforce native runtime capability gates - feat(security): bridge legacy runtime enrollment - fix(security): redact runtime support errors - fix(runtime): pin enrollment lease authority constructor - fix(websetup): explain expired approval flow - fix(websetup): retry browser selection in same flow - fix(websetup): record known protocol refusals safely - fix(websetup): accept created device response - chore(git): ignore generated native and test outputs - feat(websetup): present actionable failure messages - feat(websetup): show branded network error - fix(websetup): avoid privileged token query - fix(websetup): add bounded failure diagnostics - fix(websetup): verify secure service reachability - fix(websetup): report network prerequisites clearly - fix(runtime): preserve validated TIA version selection - fix(security): migrate legacy runtime identity - fix(security): preserve milestone obfuscation boundary - fix(release): serialize solution build - fix(release): pin license capability Unity constructor - fix(release): preserve private store through obfuscation - fix(ci): stop integration suite after first failure - fix(ci): load DPAPI assembly on PowerShell 5.1 - fix(ci): serialize build before integration tests - fix(security): protect local credential stores - fix(security): authenticate classroom protocol v2 - fix(recovery): retain previous public release - fix(security): remove tracked script credentials - feat(security): enforce granular MCP capabilities - fix(security): remove agentic secret reveal - fix(security): secure local pairing and settings API - feat(security): emit authenticated runtime milestones - feat(security): consume critical recovery receipts - test(security): support release audit context - fix(licensing): enforce remote access gates end to end - fix(licensing): enforce hasAi across Copilot - feat(security): authenticate critical canary delivery - fix(licensing): enforce hasApi on REST writes - fix(licensing): enforce classroom gates end to end - fix(licensing): enforce pattern gates end to end - fix(licensing): enforce VCS gates and harden Git - fix(licensing): enforce plcsim gates end to end - fix(licensing): enforce test harness gates end to end - feat(licensing): track selected license identity - fix(licensing): enforce pipeline gates end to end - feat(security): wire desktop runtime enrollment - fix(licensing): enforce remote artifact gates - fix(licensing): enforce CODESYS gates end to end - fix(licensing): enforce report gates end to end - fix(licensing): enforce CustomDocs gates end to end - fix(customdocs): restrict indexing to approved roots - fix(licensing): preserve primary login error - fix(mcp): bind sessions and bound request processing - feat(security): prepare runtime enrollment proof flow - fix(security): bind runtime capability to authoritative preflight - fix(release): harden approved binaries preflights - test(openness): add Windows service session probe - feat(security): enforce license-first runtime capability - feat(security): harden critical canary acknowledgements - fix(security): gate release on approved binaries - fix(release): preserve lockdown obfuscation contract - feat(security): add persistent compromise lockdown - fix(recovery): use canonical licence and clear cache - fix(release): require durable native hash marker - feat(recovery): restore marked version on demand - docs(recovery): clarify source provisioning order - fix(recovery): deploy immutable v8 agent - chore(git): ignore local audit files - fix(blocks): unify create program block contract - fix(plc): preserve block number on replacement - fix(native): remove obsolete app dll copy - fix(recovery): expire obsolete transactions - fix(recovery): improve restoration result UI - fix(recovery): keep inactive agent safe - fix(release): resolve Obfuscar outside process path - test(licensing): add offline s2s runtime harness - feat(recovery): add guided rollback experience - feat(recovery): make manual rollback primary - test(recovery): add private unhealthy RC harness - fix(activation): diagnose network and group propagation - fix(recovery): promote artifacts outside web runtime - feat(recovery): provision private release archive - test(recovery): parameterize production e2e versions - fix(recovery): harden rollback transaction - fix(tests): preserve offline license trust boundary - fix(security): enforce offline license invariants - fix(recovery): provision production trust anchor - feat(updater): add secure recovery agent - fix(network): repair unusable remote URL ACLs - feat(updater): add recovery transaction foundations - fix(hmi): resolve panel article on matching device item - fix(hmi): guard fixed panel screen dimensions - docs(licensing): document client internals - fix(tags): resolve nested PLC tag tables - chore(release): record 2.2.798 publication

vv1.0.15

DeprecatedFebruary 9, 2026
Changelog (v1.0.14 -> v1.0.15) Période : 05/02/2026 - 08/02/2026 (15h06) 🚀 Fonctionnalités Majeures (Features) 📊 Système de Télémétrie (Complet) * Métadonnées Enrichies : Implémentation de la collecte automatique des versions de TIA Portal installées, des types de processeurs détectés et des statistiques d'usage des différents modules de l'API. * Intégration WebUI : Ajout d'un indicateur d'état de la télémétrie dans l'interface web et respect strict du consentement utilisateur (Opt-in/Opt-out). 🔐 Sécurité & Intégrité des Données * Signature HMAC-SHA256 : Sécurisation de tous les rapports de télémétrie via une signature cryptographique HMAC-SHA256, garantissant que les données transmises au serveur n'ont pas été altérées durant le transit. * Validation de Payload : Renforcement des contrôles côté serveur pour rejeter toute requête de télémétrie dont la signature ou le secret partagé ne correspond pas à l'identifiant machine. 🐛 Corrections (Fixes) * Robustesse MSI : Amélioration du script de génération de l'installateur pour garantir le redémarrage correct des services Windows après une mise à jour mineure. * Nettoyage Automatique : Suppression systématique des fichiers temporaires et des journaux de débogage obsolètes lors de la phase de compilation Release. --- Version actuelle : 1.0.15 🏁

vV1.0.14

DeprecatedFebruary 5, 2026
Changelog (v1.0.12 -> v1.0.14) Période : 04/02/2026 - 05/02/2026 🚀 Fonctionnalités Majeures (Features) 🔐 Sécurité & Licensing (Refonte) * Preuve de Désactivation : Implémentation d'un système de "Code de Preuve" (HMAC-SHA256) généré lors de la désactivation locale pour permettre la libération sécurisée des licences sur le portail. * Installation Secret : Génération d'un secret d'installation unique, chiffré via DPAPI, désormais transmis au serveur lors de l'activation pour authentifier les futures preuves de désactivation. * Mutation d'Identité : Renforcement de la procédure de désactivation par la mutation forcée de l'ID matériel (Scorched Earth policy) pour invalider toute sauvegarde locale de licence. 🏗️ Gestion de Projet (Robustesse) * Validation Proactive : Ajout d'une vérification systématique de la vacuité du dossier avant la création d'un projet TIA (évite les exceptions critiques d'Openness). * Support V21 (Bridé) : Intégration technique du support pour TIA Portal V21, mais restriction logicielle activée pour cette version (message d'information "En cours de développement") afin de garantir la stabilité publique. 🤖 Assistant IA (WebCopilot) * Fiabilité des Outils : Correction de la sérialisation JSON des objets Proxy Openness dans le ProjectToolHandler, permettant à l'assistant de manipuler les projets ouverts sans erreur de référence. 🏭 Génération de Blocs (SimaticML) * Instruction CALL : Support complet de l'instruction CALL pour les FB/FC dans les générateurs LAD et FBD. * Mapping Dynamique : Correction du mapping des paramètres formels/réels lors des appels de blocs avec une gestion rigoureuse des types. 🛠️ Système & MSI * Rapport de Build : Mise à jour du script Build-Msi.ps1 pour afficher un résumé détaillé en fin de build (Date, Heure, Version, Durée totale). * Audit I18N : Intégration de nouvelles ressources de localisation (FR/EN) pour les erreurs de création de projet et les restrictions de version. 🐛 Corrections (Fixes) * Threading (STA) : Correction de plusieurs accès concurrents critiques lors de l'ouverture de projets via l'Assistant (utilisation forcée du StaDispatcher). * Stabilité PortalManager : Sécurisation de l'événement ProjectChanged pour empêcher un crash de l'API si un abonné (UI/Tray) lève une exception. * Nettoyage Code : Suppression des using redondants et correction des avertissements de compilation restants dans les contrôleurs Mcp. ♻️ Refactoring * Communication Serveur : Mise à jour du DTO d'activation pour inclure les métadonnées de sécurité nécessaires à la validation côté serveur. --- Version actuelle : 1.0.14 🏁

vV1.0.12

DeprecatedFebruary 3, 2026
Changelog (v1.0.11 -> v1.0.12) Période : 02/02/2026 - 03/02/2026 🚀 Fonctionnalités Majeures (Features) 🤖 Assistant IA (WebCopilot) - Contrôle des Tâches : Nouvelle capacité d'interrompre (Stop/Cancel) les tâches de l'assistant en cours d'exécution (Frontend & Backend). - Contexte Projet : Implémentation de la "Carte d'Identité du Projet" (mise en cache) pour une compréhension contextuelle immédiate et précise. - Optimisation Prompts : Externalisation du prompt système (JSON), intégration de la décomposition des tâches (Task Decomposition) et renforcement du strict respect de la langue (FR). - Modèles LLM : Amélioration de la détection des endpoints Ollama et ajout du support pour les modèles Gemini 3.0 et 2.5. 🏭 Génération de Blocs (Gen) - Nouveaux Builders : Introduction de SclBuilder et FbdBuilder pour la génération native de blocs SCL et FBD. - Architecture Unifiée : Fusion des générateurs graphiques (LAD/FBD) au sein d'un GraphicalBlockBuilder unique. - Support Interface : Le service de génération supporte désormais la définition complète des interfaces via la nouvelle architecture de builders. 🛠️ Système & Diagnostics - Logs Centralisés : Centralisation de tous les logs applicatifs dans %LocalAppData% et suppression de la troncature des fichiers pour un diagnostic complet. - Build : Le script Build-All.ps1 utilise désormais la configuration Debug par défaut. - Debugging : Injection de logs détaillés dans les services de génération de blocs pour faciliter le dépannage. 💻 Interface & Scripts - UI Assistant : Ajustement du padding de l'interface de chat pour une meilleure lisibilité. - Documentation : Ajout de notes de recherche techniques pour GRAPH/SFC/STL et documentation de l'architecture des Block Builders. 🐛 Corrections (Fixes) - Gemini Bridge : Correction critique de la gestion des signatures de pensée (thoughtSignature) et des messages vides dans les conversations multi-tours. - Génération LAD : Stabilisation de la génération de code Ladder et renforcement de la gestion d'erreurs. - Qualité Code : Correction des avertissements de compilation liés aux variables d'exception inutilisées (Program.cs). ♻️ Refactoring - Architecture : Migration complète de BlockGenerationService vers l'utilisation exclusive des nouveaux builders (Scl/Graphical). - Clean Code : Application de règles strictes pour forcer des commentaires courts et concis dans le code généré par l'IA. --- Version actuelle : 1.0.12

vV1.0.11

DeprecatedFebruary 3, 2026
Changelog (v1.0.0 -> v1.0.11) Période : 18/01/2026 - 02/02/2026 🚀 Fonctionnalités Majeures (Features) 🔑 Licensing & Sécurité - Notifications Système : Intégration des notifications Windows natives pour les alertes de licence (expiration, erreur, absence) avec support multilingue (FR/EN). - Activation Interactive : Amélioration UX de la console d'activation (support copier/coller, instructions étape par étape). - Éditions : Support de l'édition "School" (équivalent Ultimate) et alias d'éditions ("STANDARD" -> "STD"). - Clés API : Migration vers le préfixe tia_live_ et décryptage sécurisé pour l'affichage UI. - Sécurité Renforcée : - Détection et blocage des tokens Windows périmés. - Avertissement redémarrage après changement de groupe TIA. - Détection globale des erreurs de licence Siemens (ALM). - Gestion Licence : - Affichage des jours restants pour la période d'essai. - Stockage de la licence dans %AppData%\Roaming\T-IA-Connect\. - Suppression de l'activation "Trial" directe (requiert désormais une clé). 🛠️ Système & Diagnostics - Mises à Jour : Système centralisé de vérification des mises à jour avec empreinte matérielle et redirection vers le dashboard. - Diagnostics Démarrage : Service complet de diagnostic au démarrage (prérequis, groupes, services Windows) avec exécution prioritaire avant le check de licence. - Versioning : Centralisation de la version dans version.txt (Source unique de vérité). - Logs : Centralisation des logs d'audit et ajout d'un menu "Ouvrir les logs" dans le tray icon. 💻 Interface & Scripts - Console : Réduction du bruit dans les logs et respect des niveaux de verbosité. - Tray Icon : Liens directs vers la documentation Siemens et le Dashboard. - Scripts : - Validate-AllBranches.ps1 pour le testing multi-branches automatisé. - Amélioration de Sync-Branches.ps1 avec logs détaillés. - Support de la configuration Debug/Release dans les scripts de build. 🐛 Corrections (Fixes) - Settings : Correction de l'affichage de la clé API (décryptage). - Assistant : Notification SignalR correcte lors de la désactivation. - Licensing : Suppression du blocage strict des VM (trop de faux positifs) et correction de la conversion GUID/String. - Startup : Correction des doubles démarrages et unification de la logique de redémarrage. - Infrastructure : Résolution des conflits de conteneur Unity entre Console et WebAPI. - WebUI : Correction du bouton "Nouveau projet" (traduction) et nettoyage des scripts de validation. ♻️ Refactoring - Licensing : Suppression du fallback "Factory License" obsolète. - Architecture : Modularisation de Program.cs (ConsoleManager, Bootstrap, ConnectionCoordinator). - Ressources : Découpage du fichier monolithique SharedResources.resx en fichiers thématiques. - Tests : Modernisation des scripts de test (Pester) et amélioration de la robustesse des tests d'intégration. --- Version actuelle : 1.0.11

vV1.0.0

DeprecatedJanuary 18, 2026
First beta stable