3.5.4 (26/08/2026) {#354-26/08/2026}
Améliorations internes {#internal-improvements}
force_bench : --no-embedded-sim Mode simulation matérielle (5f00182)force_bench : détection d'une interruption réelle du service et vérification de la valeur --mode (57d6a06)force_bench : exposition via l'interface CLI des horaires, des sessions et de la liste des fréquences pour les balayages cadencés (paced) (6f842b5)force_bench : correction d'une incohérence dans la fusion des métriques multi-sessions (d054310)force_bench : correction d'une condition de concurrence liée au loquet en mode m5 et d'une lecture erronée des données de télémétrie de l'appareil (f4ef266)force_bench : Générateur de boucle ouverte à face — Balayage de vitesse, forme d'onde, mode position/M5 (B1+B2) (dddf0c7)force_bench : validation du générateur étape par étape — exclusion après enregistrement, sans interruption de l'exécution (7fdf03c)force_bench : envoi de session.configure à tous les clients multi-sessions créés (dcc44d4)force_bench : correction pour éviter que le programme ne revienne à l'ancienne valeur de « center » lors du passage en mode m5 (52d1678)force_bench : modification visant à éviter de céder le contrôle (yield) à chaque itération de spin-wait (48d51ed)force_bench : attente de la réception des données de télémétrie en temps réel avant l'exécution de position/m5 (a6e2dab)force_bench : cession à l'exécuteur lors de la phase finale du « spin-wait » de FaceD (907413f)http : correction de la capture « expert serial-io » pour éviter que la requête GET ne provoque d'effets indésirables (d907b63)protocole : prévention de l'allocation d'une pile de grande taille lors de la copie du journal d'E/S série (a3ee03b)protocole : [secure] /expert/status — correction d'une erreur et ajout d'une tâche à faire (726fe72), clôture du ticket n° 330protocole : documenter « expert/serial_io » comme étant définitivement sans porte (ungated) et ajouter des tests unitaires (aa5dd0b)protocole : exposition de la capture d'E/S série pour la suite de tests « Inverse3 » (4d4990a)protocole : correction de l'emplacement de [[maybe_unused]] pour Clang (95ee7f0)protocole : correction d'un échec de compilation lié à un paramètre inutilisé dans `read_payload` (029d13b), clôture le ticket #ifdefprotocole : application d'une porte de sélection à la mise en attente de l'E/S série RX « Inverse3 » selon le critère « armed() » (7bb5aa6)protocole : allocation différée dans le tas du tampon circulaire `serial_io_log` au début de la branche `arm` (9a23139)protocole : retour d'un filigrane séquentiel dans `copy_since` de `serial_io_log` (820e7c3)protocole : acheminement de toutes les lectures RX de Inverse3 vers un seul point de capture (78a12d8)protocole : correction pour éviter que la capture « expert serial-io » ne soit immédiatement désactivée (ac4d0b0)protocole : dans la capture RX de serial_io_log, utiliser l'en-tête réel à la place de bytes[0] (804f0bb)Corrections de bogues {#bug-fixes}
docs : 3.5.4 Ajout de l'historique des cycles dans le journal des modifications et ajustement de la cohérence du registre de la dette technique (4e240ed)perf : augmentation de la limite maximale de dispatches en cours de traitement, qui passe de 4 à 30 (741a7d0)