Aller au contenu

Changelog

3.0.7 – 2026-01-29

  • Amélioration du script de test Modbus
  • Correction du push de métriques dans le module Alemca
  • Modification du comportement de la configuration par défaut lors de l'envoie de donnée

3.0.6 – 2026-01-21

  • Correction du calcul d'offset des facteurs d'échelle SunSpec
  • Ajout du support du protocole OPC XMLDA

3.0.5 – 2026-01-16

  • Extension des capacités de gestion de fichiers pour les opérations publish/subscribe
  • Le watcher de configuration supporte maintenant la surveillance récursive des dossiers
  • Correction du watcher de configuration et des unités de retour SunSpec
  • Correction de la gestion récursive des répertoires de configuration
  • Améliorations du logging de debug
  • Résolution des conflits de tests (déplacement de flag.Parse() hors de init())
  • Nettoyage des fichiers et répertoires inutilisés
  • Mise à jour du script Lua de mise à jour de l'agent

3.0.4 – 2026-01-15

Release majeure - Fiabilité et performance de l'agent

  • Implémentation complète du protocole SunSpec pour onduleurs solaires et compteurs
  • Optimisation des performances du plugin IoT
  • Nouvel endpoint API pour lister les fichiers synchronisés
  • Protection thread-safe de la map resources AMQP
  • Prévention des race conditions dans l'itération des ressources AMQP
  • Prévention des race conditions dans l'acquittement des messages (Ack/Nack)
  • Prévention des fuites de goroutines
  • Gestion correcte des erreurs après échec des retries de déclaration de ressources
  • Fermeture correcte des fichiers TLS key log
  • Support de l'arrêt gracieux du GarbageCollector (plugin Remote)
  • Annulation via context pour SendAlive/SendPublicKey
  • Gestion correcte du cycle de vie des goroutines Lua (plugin IoT)
  • Fiabilité des commandes pendant le redémarrage des appareils
  • Élimination des acquittements dupliqués causant PRECONDITION_FAILED
  • Ajout d'un timeout de 10 minutes pour l'attente de complétion des commandes
  • Arrêt gracieux du watcher de configuration
  • Timeouts pour les opérations socket (connect et read)
  • Protection par timeout HTTP
  • Nettoyage des ressources tunnel SSH (io.Copy goroutines)
  • Timeout de connexion SSH
  • Timeout de résolution DNS (netscan)
  • Correction du calcul d'offset SunSpec (modbus)
  • Protection thread-safe de filesync
  • Gestion thread-safe des subscriptions MQTT via message queue
  • Encodage correct des URLs (alemca)
  • Correction de sécurité : prévention du path traversal dans downloadDir
  • Gestion des erreurs yaml.Marshal dans les fonctions SetConfig
  • Gestion des erreurs io.ReadAll dans le module alemca
  • Prévention des nil pointer panics (file.Stat())
  • Correction du parsing JSON filesync pour l'API /list
  • Nouveau répertoire de configuration système
  • Corrections des tâches périodiques
  • Améliorations du tunnel
  • Correction du push de métriques Modbus

3.0.3 – 2026-01-05

  • Mise à jour automatique pour appareils OpenWrt
  • Amélioration des tests Modbus avec meilleure gestion d'erreurs
  • Encodage base64 et préchargement des packages Lua
  • Nettoyage des logs avant démarrage du service
  • Correction du nom de l'agent dans le script de reboot
  • Correction du mécanisme de rechargement
  • Vérification de l'espace disque pour OpenWrt

3.0.2 – 2025-12-19

  • Correction de la gestion des erreurs lors de l'envoi de messages
  • Mise à jour de la gestion des certificats
  • Optimisation de l'image Docker
  • Refactoring des scripts de snapshot
  • Suppression des scripts obsolètes
  • Mises à jour majeures des configurations

3.0.1 – 2025-11-25

  • Ajout d'un scanner de topologie pour la visualisation du réseau LAN
  • Ajout de la commande topology pour lancer un scan réseau et créer les équipement sur la plateforme alemca
  • Gestion améliorée des entités avec création et mise à jour d'attributs
  • Détection et marquage des entités inactives (appareils et services non vus)
  • Indexation par hash map pour des recherches en O(1)
  • Implémentation d'une file d'attente persistante dans AMQPHandler
  • Ajout de la logique de cache pour le stockage et la récupération des messages pour tout message AMQP
  • Mode de connexion périodique activé
  • Compression gzip des métriques envoyées
  • Optimisation du module Alemca
  • Migration automatique des identifiants (passage de v2 a v3)
  • Mise à jour de la version TLS minimale
  • Stockage des identifiants dans une map pour un accès facilité
  • Configuration asynchrone de la connexion AMQP (WIP)
  • Support du mode hors ligne avec timeout optionnel
  • Gestion des demandes de rechargement pendant les tentatives de connexion
  • Vérifications de disponibilité des ressources pour la publication
  • Support du logging des clés TLS
  • Ajout du module yaml
  • Amélioration de la conversion Lua vers Go
  • Ajout du contexte de script aux fonctions de log Lua
  • Normalisation des fichiers vers /etc/alemca/system
  • Nombreuses améliorations des logs avec ajout de contexte
  • Changement du niveau de log de info à debug pour les métriques
  • Logs de débogage pour les vérifications d'activité
  • Correction des problèmes avec Wireguard
  • Amélioration de la gestion des erreurs dans le module configConnector
  • Standardisation des constantes de configuration
  • Consolidation des constantes de configuration des métriques
  • Refactoring de la gestion des flags Windows
  • Ajout de la détection CVE dans la CI
  • Ajout des variables de dépôt

3.0.0 – 2025-09-23

  • Réorganisation de /etc/alemca : migration des configurations spécifique alemca vers /system, séparation config / credentials, changement du dossier de config par défaut vers /etc/alemca/configs.
  • Module FileSync : nouveau module de synchronisation de fichiers remplace FOTA.
  • Module AMQP : manual ack, retries avec jitter+backoff, logging renforcé.
  • Metrics : ajout de modem MCC/MNC/TAC
  • agent-alemca-diskless : Modification pour authorisier la version alpha
  • Sessions & tunnels : fermeture robuste des sessions et meilleure journalisation.
  • Commandes : ajout de reboot, command_uci et sync_ntp.
  • Usage tracking : implémentation d'un serveur HTTP et compteurs pour métriques par service (AMQP/HTTP/MQTT/Socket/FileSync).
  • Redemarage automatique de plugins en cas de changement de configuration.
  • Meilleure gestion des erreurs logs de changement de configuration.
  • Ajout des modules OPCUA et GPIO.
  • Ajout de nouveau arguments de ligne de commande --credentials, --log-lua-output, --log-max-backups, --log-max-age et --usage-track.
  • Possibilité de séparer les logs de l'agent et des modules Lua dans des fichiers différents.
  • Ajout de l'addon I2C.
  • Optimisation de l'agent-alemca en mode light.
  • Module modbus patch sur la lecture/ecriture de coils.
  • Refactorisation du plugin IOT par rapport a la gestion des commandes (erreurs, logs, statut).

2.4.11 - 2025-06-06

  • Ajout du module md5 pour le hachage MD5 de fichiers
  • Ajout du module mqtt
  • Ajout du module influxdb pour écrire et lire des points de métriques dans une base InfluxDB v2 via le protocole HTTP
  • Ajout du module ftp pour transférer des fichiers en FTP ou SFTP
  • Ajout de --status et --status-file qui retourne le status amqp
  • Modification du chemin par défaut sous Windows à $HOME/alemca
  • Modification de WriteCache pour tronquer le cache à 1 Mo par défaut
  • Fix de problème de MaxCacheSize à 0
  • Modification des fonctions writeBatch et sendBatch pour ajouter un argument optionnel batchName permettant de spécifier le nom du batch
  • Ajout du module influxdb pour écrire et lire des points de métriques dans une base InfluxDB v2 via le protocole HTTP
  • Ajout du module ftp pour transférer des fichiers en FTP ou SFTP
  • Fix d'un problème lors de la récupération des tags de l'entité Alemca
  • Fix d'un problème de marshal dans le module addon
  • Ajout de la possibilité de Cancel une commande en cours d'exécution
  • Version alpha du plugin fota pour la synchronisation des fichiers locaux avec un serveur distant (désactivé par défaut)
  • Ajout du support des builds light et addon dans la configuration CI et les modules
  • Amélioration du logging et de la gestion d’erreurs au démarrage de l’agent Alemca
  • Amélioration de la gestion d’erreur de CreateQueue : tentative de suppression puis redéclaration de la queue en cas de conflit d’arguments
  • Normalisation des séparateurs de chemins de fichiers dans la fonction runCommand pour compatibilité Windows
  • Mise à jour des imports de modules dans all.go pour inclure FTP, InfluxDB, MD5 et MQTT

2.4.7 - 2025-05-20

  • Mise à jour du module HTTP, ajout de headers
  • Send AMQP, failsafe pour les messages vides
  • Suppression du support FreeBSD
  • Correction du chemin binaire en mode diskless
  • Correction du script de démarrage et du post-install pour Teltonika
  • Ajout de GetDBCVersion dans can (avec fichier de config initial)
  • Refactor de fonctions MoveCache et SendBatch pour une meilleure gestion du cache
  • Refactor du module "ping" pour améliorer la gestion des timeouts et la précision du RTT (microsecondes)
  • Refactor de l'envoie de status de commande pour simplifier l’affectation de la routingKey
  • Amélioration du message d’erreur lorsque le numéro de série manque
  • Ajout de la récupération du numéro de série sous Windows et automatisation de ce processus, avec journalisation renforcée
  • Correction du chemin du cache des métriques
  • Suppression de logs de debug
  • Ajout du champ once dans lua_script et adaptation du monitoring pour l’exécution unique
  • Réduction du délai de verification du schedule de 10 s à 1 s pour plus de réactivité
  • Ajout de la méthode stream pour le module "addon"

2.4.6 – 2025-04-25

  • Ajout de PingSocket pour tester la connectivité réseau via ping
  • Ajout de ATSocket avec journalisation des erreurs pour la communication série
  • Intégration des modules Lua configConnector et atConnector pour configuration dynamique
  • Livraison persistante activée par défaut (DeliveryMode modifié dans Publish)
  • Mise à jour de AddonType à "canbus" pour compatibilité service CAN en Lua
  • Refactor de executeLuaScript : suppression des retries, gestion d’erreurs renforcée
  • Consolidation des paramètres Docker dans GitLab CI pour plus de clarté
  • Amélioration de InitModule pour prise en charge correcte des types config
  • Correction de la balise YAML ReadTimeout dans la struct ATSocket
  • Correction de l’ordre de collecte des métriques (désormais après envoi)
  • Intégration des nouveaux modules dans all.go et iot.go

2.4.5 – 2025-04-18

  • Réorganisation des répertoires CI (bin-addon pour jobs airvantage-addon-package et package-addon)
  • Refactor du job package-addon : utilisation de BIN_DIR et TYPE_FILE=bin-addon
  • Ajout du job de publication de l’addon dans la pipeline

2.4.4 – 2025-04-10

  • Refactor de InitModule pour un chargement et préchargement fiables des modules Lua

2.4.3 – 2025-04-10

  • Prise en charge de schedule_path dans la configuration des commandes IoT
  • Introduction du champ TaskIdent dans les commandes
  • Centralisation de l’envoi des statuts de commande dans une fonction unique et refactorisation de la structure des messages
  • Struct CronLua pour meilleure gestion concurrente des scripts Lua
  • Gestion des fichiers de planification : initialisation d’un planning vide en cas d’échec, intervalle de remote health check ajusté
  • Séparation claire chargement vs écriture de la configuration
  • Passage à yaml.v3 et nettoyage des imports + split du pipeline GitLab CI (ajout de photosol script, commandes AT)
  • Mise à jour de l’URL autoenroll, correction des dépendances et chemins CI (publish-addon, build-addon), syntaxe sed corrigée

2.4.2 – 2025-03-31

  • Refactor de AMQPHandler : meilleure déclaration des ressources, usage explicite de channel, vérification de connexion, optimisation de l’envoi des métriques
  • Ajout des routing keys pour les réponses de commandes et du champ TaskIdent dans CommandJson
  • Script de publication AirVantage optimisé (variable DIR_PATH, détection des nouvelles apps), publication restreinte à main
  • Correction de la syntaxe d’upload dans GitLab CI et suppression d’appels Lua commentés
  • Correction du déclenchement manuel des jobs

2.4.1 – 2025-03-19

  • Correction d’un nil pointer dereference dans Modbus et amélioration de la gestion d’erreurs dans le plugin Remote
  • Ajout de la dépendance cortexa9hf-neon et création du job CI dédié
  • Nouvelles fonctions Lua pour gestion d’entités et requêtes HTTP personnalisées
  • Exécution des scripts Lua repositionnée avant le déclenchement temporel

2.4.0 – 2025-03-13

  • Support CAN bus : définitions Protobuf, client gRPC dynamique intégré à Lua
  • Refactor complet du module addon (DynamicGrpcClientV2Addon, ajout de AddonType)
  • Gestion AMQP renforcée : vérification proactive, fermeture robuste, reconnexion avec exponential backoff + jitter, logging amélioré, panic catch
  • Concurrence AMQP : goroutines + wait group et ack intégré
  • Script airvantage-package étendu (wildcard, ls), ajout du package Sierra
  • Timestamps de commandes : format mis à jour, buffer réduit à 5 min, planification toutes les 10 s, conversion UTC corrigée
  • Autorisation de !includ, mise à jour de la bannière, nettoyage de fichiers et imports obsolètes, multiples correctifs AMQP et scripts CI

2.3.12 – 2025-02-12

  • Mise à jour du script WireGuard pour une meilleure stabilité VPN

2.3.11 – 2025-02-11

  • Correction du script WireGuard pour fiabilité VPN

2.3.10 – 2025-02-06

  • Optimisation du consommateur AMQP (Consume) et correction de typo awnseranswer dans le module Alemca

2.3.9 – 2025-01-20

  • Support multi-architecture (mips_4kec), messages de réponse standardisés et enrichis, statut de job par défaut edge_running
  • Refactor de runCommand et WriteJobResponse
  • Correction d’orthographe dans messages de cancellation et bugs mineurs (tempo, suppression de terminated)

2.3.8 – 2025-01-09

  • Correction de bugs HTTP, mise à jour du module Webdyn, persistance post-firmware améliorée
  • Optimisation du post-install hors diskless, structs ajustées, création conditionnelle des répertoires de cache

2.3.7 – 2024-12-19

  • Commande diskless install, post-install diskless amélioré, package OPKG diskless
  • Ajout de la commande NAT, vérification d’URL sessions Internet et connexion CI avant artefacts
  • Format YAML CI corrigé, scripts système mis à jour, délai avant métriques si cache manquant

2.3.6 – 2024-12-05

  • Support de la configuration Legato dans metrics et correction du cachepath pour autoenroll

2.3.5 – 2024-11-22

  • Ajout du support armv5

2.3.4 – 2024-11-21

  • Correction du pattern regex pour la métrique load average, ajustement des valeurs par défaut et mises à jour générales des métriques

2.3.3 – 2024-11-20

  • Refactorisation des noms de métriques pour cohérence et lisibilité

2.3.2 – 2024-11-20

  • Ajout de métriques basées sur des valeurs et flag single collection, intégration du profiling pprof
  • Mise à jour de la commande gsmctl, corrections config Docker et AMQP, suppression des anciens scripts de build

2.3.1 – 2024-11-15

  • Activation par défaut des modules iot, metrics, remote, history et ajout de métriques par défaut
  • Chemin de cache configurable, configuration Windows ajustée
  • Renommage de remote_execcommands et metricmetrics
  • Réorganisation du code (pkginternal, /app), refonte du README et ajout d’un exemple d’utilisation
  • Corrections : bug Modbus, log level DebugInfo, typos, reconnect patch, réponses de jobs clarifiées

2.3.0 – 2024-09-19

  • Modbus : SetSlaveId, NewCommand, configuration JSON améliorée, support Windows pour schedule_path
  • Plugin TSE initial, exemple Modbus, refactor logs (amqpHandler, iot) et goroutines dans Consume
  • WriteJobResponse et WriteMultipleRegisters corrigés, restructuration projet (pkginternal, /app)
  • Multiples correctifs Docker, CI, auto-enroll et scripts turbotech

2.1.3 – 2024-08-27

  • CI/CD : modification du path des scripts Lua

2.1.2 – 2024-08-21

  • sendMetrics envoie désormais aussi des pings
  • Modbus : prise en charge d’octets supplémentaires, suppression de byteorder
  • Refactor de WriteMultipleRegisters pour meilleures gestions des nombres impairs

2.1.1 – 2024-08-14

  • Amélioration de WriteMultipleRegisters (impairs, conversion hex), conversion des résultats Modbus en hex

2.0.2 – 2024-08-02

  • Support des types bool, bit, byte, uint8, int8 et refactor des lectures Modbus
  • AMQP : prise en charge du prefetch count, suppression du mode confirm, gestion des connexions nulles/fermées
  • Réécriture de WriteMetrics et PushMetrics, mise à jour des helpers IoT et de http.lua
  • Ajout d’outils WireGuard, commandes planifiées, flags, cache metrics, CI sécurité désactivé

2.0.1 – 2024-07-03

  • Refonte de la connexion AMQP

2.0.0 – 2024-07-03

  • Refonte complète de l’agent-iot en agent-alemca