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 deinit()) - 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
topologypour 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éparationconfig/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_ucietsync_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
OPCUAetGPIO. - Ajout de nouveau arguments de ligne de commande
--credentials,--log-lua-output,--log-max-backups,--log-max-ageet--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
modbuspatch sur la lecture/ecriture de coils. - Refactorisation du plugin
IOTpar rapport a la gestion des commandes (erreurs, logs, statut).
2.4.11 - 2025-06-06
- Ajout du module
md5pour le hachage MD5 de fichiers - Ajout du module
mqtt - Ajout du module
influxdbpour écrire et lire des points de métriques dans une base InfluxDB v2 via le protocole HTTP - Ajout du module
ftppour transférer des fichiers en FTP ou SFTP - Ajout de
--statuset--status-filequi retourne le status amqp - Modification du chemin par défaut sous Windows à
$HOME/alemca - Modification de
WriteCachepour tronquer le cache à 1 Mo par défaut - Fix de problème de
MaxCacheSizeà 0 - Modification des fonctions
writeBatchetsendBatchpour ajouter un argument optionnelbatchNamepermettant de spécifier le nom du batch - Ajout du module
influxdbpour écrire et lire des points de métriques dans une base InfluxDB v2 via le protocole HTTP - Ajout du module
ftppour 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
Cancelune commande en cours d'exécution - Version alpha du plugin
fotapour 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
runCommandpour compatibilité Windows - Mise à jour des imports de modules dans
all.gopour 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
GetDBCVersiondanscan(avec fichier de config initial) - Refactor de fonctions
MoveCacheetSendBatchpour 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
oncedanslua_scriptet 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
streampour le module "addon"
2.4.6 – 2025-04-25
- Ajout de
PingSocketpour tester la connectivité réseau via ping - Ajout de
ATSocketavec journalisation des erreurs pour la communication série - Intégration des modules Lua
configConnectoretatConnectorpour configuration dynamique - Livraison persistante activée par défaut (
DeliveryModemodifié dansPublish) - 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
InitModulepour prise en charge correcte des typesconfig - Correction de la balise YAML
ReadTimeoutdans la structATSocket - Correction de l’ordre de collecte des métriques (désormais après envoi)
- Intégration des nouveaux modules dans
all.goetiot.go
2.4.5 – 2025-04-18
- Réorganisation des répertoires CI (
bin-addonpour jobsairvantage-addon-packageetpackage-addon) - Refactor du job
package-addon: utilisation deBIN_DIRetTYPE_FILE=bin-addon - Ajout du job de publication de l’addon dans la pipeline
2.4.4 – 2025-04-10
- Refactor de
InitModulepour un chargement et préchargement fiables des modules Lua
2.4.3 – 2025-04-10
- Prise en charge de
schedule_pathdans la configuration des commandes IoT - Introduction du champ
TaskIdentdans les commandes - Centralisation de l’envoi des statuts de commande dans une fonction unique et refactorisation de la structure des messages
- Struct
CronLuapour 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.v3et 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), syntaxesedcorrigée
2.4.2 – 2025-03-31
- Refactor de
AMQPHandler: meilleure déclaration des ressources, usage explicite dechannel, vérification de connexion, optimisation de l’envoi des métriques - Ajout des routing keys pour les réponses de commandes et du champ
TaskIdentdansCommandJson - 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-neonet 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(DynamicGrpcClientV2→Addon, ajout deAddonType) - 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 typoawnser→answerdans 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éfautedge_running - Refactor de
runCommandetWriteJobResponse - Correction d’orthographe dans messages de cancellation et bugs mineurs (
tempo, suppression determinated)
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 OPKGdiskless - 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
metricset correction ducachepathpourautoenroll
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 profilingpprof - 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,historyet ajout de métriques par défaut - Chemin de cache configurable, configuration Windows ajustée
- Renommage de
remote_exec→commandsetmetric→metrics - Réorganisation du code (
pkg→internal,/app), refonte du README et ajout d’un exemple d’utilisation - Corrections : bug Modbus, log level
Debug→Info, 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 pourschedule_path - Plugin TSE initial, exemple Modbus, refactor logs (
amqpHandler,iot) et goroutines dansConsume WriteJobResponseetWriteMultipleRegisterscorrigés, restructuration projet (pkg→internal,/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
sendMetricsenvoie désormais aussi des pings- Modbus : prise en charge d’octets supplémentaires, suppression de
byteorder - Refactor de
WriteMultipleRegisterspour 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
WriteMetricsetPushMetrics, mise à jour des helpers IoT et dehttp.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