Changelog
2.4.12 (alpha) – 2025-06-20
- Refactorisation de la structure du dossier /etc/alemca: speparation des scripts, commandes, configurations.
- Refactorisation de la gestion des statuts de commande et des messages
job_response
(ajout du statutterminated
pour filesync, upload, wireguard). - Refactorisation des commandes de copie dans la CI pour utiliser la variable
PACKAGE_NAME
et simplifier les chemins de destination. - Refactorisation de la gestion des acquittements manuels (manual ack) pour AMQP.
- Refactorisation de la gestion des modules spéciaux dans
InitModule
et amélioration du chargement des configurations. - Ajout du module
FileSync
: remplace le plugin FOTA, permet la synchronisation de fichiers locaux avec un serveur distant via commands. - Ajout fonction lua
publish(topic, msg)
etmsg = subscribe(topic)
pour la publication et la souscription de messages entre lua. - Ajout du module
GPIO
avec intégration Lua pour lecture/écriture. - Ajout de la métrique
alive
dans la réponse ping pour le monitoring. - Ajout de la gestion de l’expiration des commandes.
- Ajout de la gestion du fuseau horaire et des timestamps.
- Ajout de la gestion de la mémoire (formatage, suivi de l’allocation).
- Ajout de la gestion du verrouillage mutex pour la sécurité des méthodes AMQP (multi-threads).
- Ajout de la gestion des acquittements manuels pour les livraisons AMQP.
- Amélioration du module Ping : ajout du flag
Privileged
et meilleure gestion de la configuration. - Amélioration de la fusion des configs (tag yaml
!include
) pour supporter la fusion unique des slices par nom. - Amélioration de la gestion des erreurs et du logging dans plusieurs modules (FileSync, Modbus, etc.).
- Amélioration de la gestion des statuts de commande et de la normalisation des sorties.
- Amélioration de la gestion des jobs dans la CI/CD (ajout de variables, centralisation des versions, packaging OPKG).
- Correction de la gestion des fichiers diskless et du script de version dans la CI.
- Correction de la gestion des valeurs de coils dans Modbus et de l’initialisation du client.
- Suppression de l’intégration du plugin FOTA et ajustement de la logique de lancement des plugins.
- Suppression des scripts d’exemple dépréciés et des fichiers obsolètes.
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
etsendBatch
pour ajouter un argument optionnelbatchName
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
danscan
(avec fichier de config initial) - Refactor de fonctions
MoveCache
etSendBatch
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
danslua_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
etatConnector
pour configuration dynamique - Livraison persistante activée par défaut (
DeliveryMode
modifié 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
InitModule
pour prise en charge correcte des typesconfig
- Correction de la balise YAML
ReadTimeout
dans la structATSocket
- Correction de l’ordre de collecte des métriques (désormais après envoi)
- Intégration des nouveaux modules dans
all.go
etiot.go
2.4.5 – 2025-04-18
- Réorganisation des répertoires CI (
bin-addon
pour jobsairvantage-addon-package
etpackage-addon
) - Refactor du job
package-addon
: utilisation deBIN_DIR
etTYPE_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
), syntaxesed
corrigé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
TaskIdent
dansCommandJson
- 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
(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
→answer
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éfautedge_running
- Refactor de
runCommand
etWriteJobResponse
- 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
metrics
et correction ducachepath
pourautoenroll
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
,history
et ajout de métriques par défaut - Chemin de cache configurable, configuration Windows ajustée
- Renommage de
remote_exec
→commands
etmetric
→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
WriteJobResponse
etWriteMultipleRegisters
corrigé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
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
etPushMetrics
, 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