3.5.1 (28 mai 2026) {#351-28 mai 2026}
Améliorations internes {#internal-improvements}
core/gates : compteurs « backoff_time_gate » et « suppressed-hit » (cc989c0), clôture du ticket n° 244core/gates : variante « streak_gate » et « keyed » (748f419), clôture du ticket n° 244appareils : ajout d'un indicateur de charge au Verse Grip sans fil (6482bd6)Périphériques : interrogation de l'état de mouvement de l'« inverse3 » à une fréquence de 20 Hz (bfc160d)appareils : prêt Utilisation de la sérialisation v3.1 dans le journal de débogage des instantanés (0c59c26)http : Autorisation des routes GET à correspondance exacte dans les paramètres avancés / paramètres obsolètes (2b5f037)http : contrôle de l'affichage de GET /settings à l'aide d'un indicateur (4f013d8), clôture du ticket n° 251modules::inverse: mode_aperçu Derrière la porte associé à.auto Publié (1f7f0e1), clôture du ticket n° 230sérialisation : Indicateurs globaux pour les versions préliminaires mode_aperçu Ajouté (422e822), clôture le ticket n° 230sérialisation : ajout de la représentation d'Euler aux quaternions de la version 3.1 (c32dd6b), clôture du ticket n° 239sérialisation : explicite quaternion Les constructeurs et les opérateurs d'affectation du noyau (677ed6f)sessions : autoriser des intervalles inférieurs à un milliseconde dans la limitation des réponses en streaming (9a42719)sessions : extension /sessions v3.1 avec porte de prévisualisation (6c1c8f2)paramètres : Divers/Obsolète Promouvoir vers les paramètres avancés (b3528d7)Tutoriels : Prototype pour la vérification des trames dans les réponses en streaming (6b57c39)Corrections de bogues {#bug-fixes}
command_processor : Empêcher l'inversion de mode lors du basculement entre « Force » et « Position » (d754ef1), clôture le ticket n° 232command_processor : séparation de la vidange en ligne à usage unique de la commande ZOH (5960498), clôture du ticket n° 117core::gates : la « keyed time-gate » reflète désormais la période la plus récente à chaque hit (c73b86a)détection : intégration du journal de la première injection de « extra_ports » (57e21d7)détection : contrôle des journaux par port via « keyed_gate » (04b8d54), clôture du ticket n° 243périphériques : ne marquer le « wireless verse grip » comme « ready » qu’après avoir récupéré les informations (dfd7d5d)appareils : Concernant le Verse_Grip sans fil définir_les_données_d'extension Limite de débit (011d5a0)http : faire en sorte que le sélecteur de périphériques accepte « #1234 » et « 1234 » comme identifiants de périphérique (1452c10)http : suppression d'un champ « context » inutilisé qui bloquait la compilation de la version finale de macOS (-Wunused-private-field) (5345989)modules::inverse-ux : appairage automatique lorsqu'un Inverse3 et un grip sont connectés (41b3024), clôture #227 #227modules::inverse-ux : suppression automatique des paires lorsque la topologie dépasse un rapport 1↔1 (e4fb80c)modules::inverse: Lors de l'étalonnage de Minverse force_attached Respect de la modification apportée par (e24bf84), clôture du ticket n° 224modules::inverse: Minverse et la valeur de `paired_with` dans le premier POST ci-joint pour que soit toujours [secure] (cafb574)modules::inverse-ux : registre d'appairage Inverse3 ↔ VerseGrip par périphérique (ac63d2a), clôture du ticket n° 224modules::inverse: POST et DELETE associé à La racine a été calculée ci-joint Pour qu'il renvoie l'état (a751208)Prévention des avertissements répétés lorsque le service tente de détecter un périphérique non WVG comme s'il s'agissait d'un périphérique WVG (17ad373)protocol::inverse3 : traitement d'une charge utile de notification 0xBA à longueur variable (61f7b1f)service : application de la classe « Sélecteur de périphériques » en complément de l'index (2d6422a)service : conservation de l'expression du sélecteur d'appareil dans le message 404 (d2c4626)sessions : valeurs par défaut / avant du bras Lors de l'application de `apply_preset`, le montage est réinitialisé (a333da8), clôture le ticket n° 240sessions : si l'identifiant inter-sessions est inconnu, utiliser la session actuelle comme solution de secours (14367ed), clôture #239sessions : renvoi de tous les instantanés avec la commande « force_render_full_state » sur l'ensemble des sessions (8afc646)sessions : prise en compte de la valeur « execute:[secure] » de session.configure.serialization (3458af0)sessions : valeurs par défaut / avant du bras Conserver l'état de démontage du périphérique lors de l'application d'un préréglage (698008b), résout les tickets #252 et #253sessions : valeurs par défaut / avant du bras Réinitialisation du montage sur « identity » via un préréglage (a0a2b29), clôture du ticket n° 240sessions : restauration des réponses WS dans les instantanés de streaming limités (787a656), clôture du ticket n° 248sessions : Stabilisation du « hot path » du WS RX sous une charge de simulation continue (e4e55d0)Amélioration des performances {#performance-improvements}
command_processor : ajout d'un « fast-pass » pour WS RX destiné aux lots de contrôle uniquement (92bb4e8), clôture du ticket n° 241engine : Convergence du taux de répartition adaptatif grâce à l'amortissement AIMD (b8fc1c8), clôture du ticket n° 249main_loop : limitation de la file d'attente ASIO à la limite supérieure du tick en cours de traitement (8d77823)sérialisation : mise en cache des options d'aperçu dans une structure statique (8698636), clôture du ticket n° 241sessions : réduction des conflits liés à `session::_mutex` dans Hotpath (bf117c8), clôture des tickets #241 et #242sessions : Pour les appels aux périphériques lors d'une session, Tracy Portée locale octroi (7404990)