# Notes de version

> Suivez les changements apportés au produit Thalovant, aux SDK, au MCP et à la documentation, et trouvez le guide de mise à niveau utile.

Source: https://docs.thalovant.com/fr/updates/release-notes/

---
{/* Last Edit: Claude Opus 5.5 - 2026-09-28 - Motive: Canadian French translation of the English page. */}

Consultez cette page pour trouver les changements du produit, les versions
prises en charge des SDK et du MCP, et le guide qui explique votre prochaine
étape. Les entrées plus anciennes décrivent les versions offertes à leur date.
Pour choisir la version à installer aujourd'hui, utilisez le
[tableau de compatibilité](/fr/developers/sdks/#versions-prises-en-charge).

## Vérification et récupération de compte plus claires — 22 septembre 2026

À l'inscription, les instructions à suivre dans votre boîte de réception restent
maintenant à l'écran. Le courriel de vérification a un nouveau design, et un
formulaire de récupération couvre les liens manquants ou expirés. Les pages de
confirmation suivent le thème du tableau de bord et indiquent l'étape suivante
pour vous connecter.

Le nouveau point de terminaison additif `POST /v1/auth/verify/resend` accepte une
adresse courriel et renvoie une réponse générique d'acceptation. Les formats de
requête existants pour l'inscription et la vérification restent compatibles.
L'enrôlement à l'authentification multifacteur (AMF) est maintenant facultatif sur le
forfait Free. Un facteur que vous avez déjà activé reste exigé à la connexion,
et les comptes payants gardent la politique d'enrôlement attribuée au compte.
Les clients SDK et MCP existants n'ont pas besoin de mise à niveau.
Consultez [l'accès au compte](/fr/account/sign-in-and-account-access/) pour les limites de renvoi et la récupération.

## Sessions gérées, inventaire et revendication des réponses — 13 septembre 2026

Python **0.7.4**, Node, Kotlin, .NET et Swift **0.7.1**, Go **0.9.1**
et Rust **0.9.0** offrent des sessions de hub gérées et des modèles d'inventaire
et de cache présentables. Les sessions conservent les abonnements quand la
connexion est remplacée et ne rejouent pas les requêtes après un envoi incertain.
La relance automatique d'Ask qu'offraient auparavant les sessions gérées de
Python est retirée. Un Ask peut déclencher une action, alors c'est à
l'application de décider si une nouvelle tentative est sûre.

Python intègre aussi un correctif en amont contre les événements entrants en double avant les rappels des abonnés.

Les réponses exposent maintenant, dans l'ordre, les identifiants du pipeline et
des compétences, ainsi qu'un statut de revendication indicatif. Une réponse
venue seulement d'un repli garde son texte et son statut de réussite, mais n'est
pas revendiquée. Les anciennes réussites sans marquage restent revendiquées. Ces
champs ne vérifient pas l'identité du pair.

Les caches d'inventaire valident les enregistrements, écrivent de façon privée
et atomique, et conservent la langue d'exemple par défaut lors de la
sérialisation JSON. Une prise en charge inconnue d'une langue dans le catalogue
reste distincte d'une langue connue comme non prise en charge. Les SDK gérés
partagent aussi des cas de conformité pour la détection des questions et l'inventaire.

MCP **0.5.1** ajoute la vue de présentation partagée à son outil d'inventaire,
tout en conservant les champs de sortie existants et l'isolation d'identité
propre à chaque appel. Le C embarqué **0.6.1** ajoute une extraction bornée des
identifiants de réponse et une classification des revendications gérée par l'appelant.
Consultez le [tableau de compatibilité des SDK](/fr/developers/sdks/#versions-prises-en-charge) et le
[guide d'inventaire MCP](/fr/developers/mcp/#sortie-dinventaire-présentable).

## Abonnements Python lors des reconnexions — 13 septembre 2026

Python **0.6.11** conserve les abonnements `on()` actifs quand la connexion est
remplacée. Il corrige aussi des situations de concurrence de la 0.6.9 qui
pouvaient enregistrer un gestionnaire deux fois ou restaurer un abonnement fermé.
Les enregistrements qui échouent restent inactifs après les reconnexions
suivantes. Les sessions rouvertes par la bibliothèque sous-jacente gardent leurs
écouteurs sans les enregistrer de nouveau, ce qui préserve le correctif de la 0.6.10. Consultez le [guide du SDK Python](/fr/developers/sdks/python/).

## Correctifs de connexion WebSocket pour Kotlin — 13 septembre 2026

Kotlin **0.6.3** remplace les valeurs d'autorisation WebSocket périmées par
l'identité actuelle, y compris dans les noms de requête encodés. Les autres
paramètres de requête et les fragments d'URL sont conservés. Les erreurs de
connexion ne retiennent plus les messages réseau ni les causes qui contiennent
des identifiants. Les transports pris en charge et les API de listage ne changent pas.
Consultez le [guide du SDK Kotlin](/fr/developers/sdks/kotlin/).

## Listages dans 270 langues — 12 septembre 2026

Python **0.6.8**, Node, Swift et .NET **0.6.1**, Kotlin **0.6.2**, Go et Rust
**0.8.1**, et MCP **0.4.1** appliquent les mêmes règles de listage de
`thalovant-languages` 0.2.1. Les questions en espagnol reçoivent maintenant leur
point d'interrogation. Les variantes régionales héritent de leur langue de base,
et les phrases complètes comme le français `coupe le son` gardent leur point
final. Les langues sans règles connues restent telles quelles. Les API de
listage et la prise en charge des transports ne changent pas.

Installez les versions actuelles à partir des [guides des SDK](/fr/developers/sdks/).
Le C embarqué reste à **0.6.0**, avec des emplacements et un transport fournis par l'appelant.

## Listages adaptés à la langue dans les SDK et le MCP

Node `0.6.0`, Go/Rust `0.8.0`, Kotlin/Swift/.NET `0.6.0` et MCP `0.4.0`
apportent aux autres clients gérés la fonction de listage en phrases de Python.
Ils intègrent les mêmes données de langue et associent les étiquettes de langue
régionales à l'aide des distances OVOS. Ils remplissent les emplacements
d'exemple avant les remplacements explicites, et seuls les exemples rendus
uniques et non vides comptent dans les limites. Les méthodes existantes
d'exemples bruts restent disponibles.
Consultez les [guides des SDK](/fr/developers/sdks/) pour l'appel propre à chaque langage.

MCP `0.4.0` gère aussi proprement SIGTERM et SIGINT en mode stdio et HTTP,
y compris quand il s'exécute comme PID 1 dans son conteneur. Le nettoyage a un
délai d'échec de dix secondes.

Python `0.6.7` corrige la suppression des messages de dépréciation OVOS répétés
au sujet du format imbriqué de l'emplacement du hub. Ce correctif de
journalisation propre à Python conserve les autres avertissements et ne change
ni le protocole ni le listage. Le C embarqué reste à `0.6.0`, avec un rendu
explicite dans le tampon de l'appelant et sans tables de langue intégrées.

## Listages d'intentions Python adaptés à la langue

Python `0.6.5` ajoute `as_sentence()` et `HubIntent.examples(sentence=True)`.
Installez `thalovant[listing]` pour obtenir la ponctuation propre à chaque langue
et des exemples d'emplacements tirés du paquet de données partagé
`thalovant-languages`. Sans langue précisée, la langue de l'enregistrement choisi
est conservée; une variante régionale choisit l'enregistrement le plus proche.
Les rendus vides ou répétés ne comptent pas dans la limite d'exemples.
Consultez [le guide de listage Python](/fr/developers/sdks/python/#listes-dintentions-adaptées-aux-paramètres-régionaux).

## Aides de requête des SDK et mises à jour de configuration protégées

Python `0.6.4` prend un instantané de la configuration imbriquée et des personas
avant les E/S de fusion, et copie la session de requête même sans indication de
pipeline. Les SDK gérés coordonnés gardent la même charge utile de l'appelant
lors des nouvelles tentatives après un conflit de configuration. Python relève
aussi le minimum de Requests à 2.33.0 et celui de cryptography à 50.0.0 pour
exclure des versions vulnérables connues.

Node `0.5.0`, Go/Rust `0.7.0`, Kotlin/Swift/.NET `0.5.0`, C embarqué `0.6.0`
et MCP `0.3.0` ajoutent, comme Python, les indications de langue, de pipeline et
d'emplacement dans les requêtes, des aides pour l'audio intégré et des exemples
d'intentions prononçables. Les SDK gérés limitent l'audio à 4 MiB par extrait et
16 MiB par réponse. Le C embarqué fournit plutôt des primitives de collecte
gérées par l'appelant. Le MCP garde les octets audio hors du texte et offre des
blocs média distincts avec `includeAudio`.

Les versions de suivi Node/Swift `0.5.1` et Rust `0.7.1` empêchent la corruption
des valeurs numériques pendant les fusions protégées. Node refuse les valeurs non
finies et les entiers non sûrs dans la configuration et les personas. Rust et
Swift conservent les entiers natifs et refusent les valeurs à virgule flottante
hors de la plage des entiers exacts. Ces vérifications couvrent aussi la
configuration stockée avant l'écriture. Pour les entiers qui dépassent la plage
prise en charge par votre SDK, utilisez des identifiants sous forme de chaîne.

Les aides de mise à jour de configuration gérées font maintenant par défaut une
fusion protégée par révision. Elles font au plus trois tentatives et ne
réessaient que sur HTTP 412. Il faut une API compatible ainsi que `hubs:read` et
`hubs:write`, qui exige un forfait payant. Les applications existantes qui ont
besoin d'un remplacement complet doivent choisir l'opération de remplacement explicite.
Consultez les [capacités des SDK](/fr/developers/sdks/) et le
[guide de migration de la configuration](/fr/developers/provisioning/).

## 12 septembre 2026

### Mises à jour simultanées de la configuration Python

Python `0.6.3` corrige la perte de mises à jour quand des clients distincts
fusionnent la configuration du runtime en même temps. Il utilise les révisions de
configuration et un PUT conditionnel. Sur HTTP 412, il relit la configuration et
réapplique les changements d'origine, avec au plus trois tentatives d'écriture.
Une API compatible est requise; les serveurs plus anciens échouent sans rien
écrire. `merge=False` reste un remplacement inconditionnel. Consultez
[les mises à jour simultanées de la configuration](/fr/developers/sdks/python/#mises-à-jour-simultanées-de-la-configuration-du-runtime).

### Aides du client vocal Python

Python `0.6.1` ajoute des options de langue, de pipeline et d'emplacement pour les requêtes, une collecte bornée de l'audio intégré, l'indication de la langue de la réponse et des exemples d'intentions prononçables. La fabrique de clients expose maintenant `self_signed`, avec la vérification des certificats activée par défaut. Python `0.6.2` conserve la priorité des phrases complètes quand il limite les exemples d'intentions rendus. Les aides existantes pour les compétences du runtime partagé restent prises en charge. Consultez [le guide du SDK Python](/fr/developers/sdks/python/#contexte-et-médias-des-requêtes-vocales).

### Gestion des compétences dans les SDK gérés

Python `0.6.0`, Node.js `0.4.0`, Go et Rust `0.6.0`, ainsi que Kotlin, Swift et .NET `0.4.0` permettent de lister, d'installer, de mettre à jour et de retirer les compétences d'un hub, et d'en consulter l'historique. Les écritures peuvent, au choix, attendre la fin de l'opération. Conservez la réponse acceptée au complet pour reprendre après un échec d'interrogation sans répéter l'écriture.

Les opérations de compétences adressées à un hub touchent le groupe de runtime rattaché et tous les hubs qui le partagent. Utilisez des groupes de runtime distincts quand des hubs ont besoin de compétences différentes. Les jetons restreints doivent couvrir tous les hubs servis par le groupe.

MCP `0.2.0` utilise le SDK Node `0.4.0` et ajoute `thalovant_list_hub_skill_history`, y compris en mode lecture seule. Consultez [Ajouter une compétence à un hub](/fr/manage/add-a-skill-to-a-hub/) et les [guides des SDK](/fr/developers/sdks/) pour les noms de méthodes et des exemples.

## 9 septembre 2026

### Corrections de l'interrogation des compétences de hub

Python `0.5.16` et Node.js `0.3.16` ne lancent plus de nouvelle lecture d'état une fois l'échéance d'interrogation atteinte. Si une lecture d'état échoue, les deux gardent l'identifiant de l'opération acceptée et l'erreur d'API d'origine, nettoyée. L'appelant peut ainsi reprendre l'interrogation sans soumettre une autre écriture. L'échéance n'annule pas une requête HTTP déjà en cours. Python refuse aussi les lignes mal formées de la liste des compétences au lieu de les ignorer en silence, et corrige les consignes d'attente du CLI partagé.

MCP `0.1.24` exige le SDK Node `0.3.16` et utilise ses méthodes publiques de compétences de hub. Il conserve les vérifications d'annulation du MCP et le catalogue par défaut actuel de 45 outils. Consultez [Ajouter une compétence à un hub](/fr/manage/add-a-skill-to-a-hub/) pour les clients offerts et la marche à suivre pour reprendre après un échec.

### Corrections issues de la revue historique

Les versions de suivi sont Python `0.5.14`, Node.js `0.3.14`, Go `0.5.4`, Rust `0.5.2`, Kotlin et .NET `0.3.3`, Swift `0.3.2`, C embarqué `v0.5.1` et MCP `0.1.22`.

- Les SDK de haut niveau refusent, dans la portée de leur client, les identifiants de requête Ask actifs et les identifiants Query en double, ce qui préserve des espaces de noms indépendants. Utilisez aussi de nouveaux identifiants pour les opérations suivantes; une réponse retardée peut survivre à une annulation.
- Node refuse une confiance enregistrée mal formée et sérialise entre les processus les transactions complètes sur l'état du système de fichiers. Dans le navigateur, l'état reste limité à la file d'une seule page. Des onglets actifs en parallèle ont besoin d'identités et d'espaces de noms distincts.
- Go et Rust resserrent aussi la validation des épingles enregistrées; la méthode de premier contact de Rust refuse les remplacements contradictoires. Python, Node, Go et Rust reconnaissent les encodages hexadécimaux équivalents d'une épingle sans traiter la casse comme un changement de clé du serveur.
- Tous les SDK de haut niveau distinguent les définitions d'intentions partielles utilisables des réponses vides ou en erreur suivies d'un silence. Une description vide reçue au complet reste valide. .NET garde les manifestes de moteur reçus quand un autre moteur refuse ou reste silencieux.
- Go et Rust refusent les etags de hub vides avant l'envoi; Kotlin refuse les notes hors de l'intervalle 1–5. Les exemples de nouvelle tentative exigent une clé d'idempotence explicite et conservée. La configuration d'un groupe de runtime remplace les valeurs précédentes. Elle exige des écritures sérialisées, car l'API n'offre pas de jeton d'écriture conditionnelle.
- Le C embarqué refuse les séparateurs d'objet mal formés après un champ demandé au lieu de renvoyer un succès prématuré. Ses exemples s'arrêtent sur les erreurs du constructeur et du codec.
- Le masquage des noms d'identifiants couvre maintenant les métadonnées imbriquées d'identité et d'amorçage, alors que la persistance explicite des secrets reste possible. Rust omet les corps d'erreur HTTP non structurés. Il signale aussi la fermeture WSS par le pair avec son code d'état, au lieu d'un délai d'authentification dépassé.
- Le MCP utilise le SDK Node `0.3.14`; ses tests de provisionnement couvrent les résultats d'outils réussis et la création protégée des fichiers d'identité. Son guide des politiques indique maintenant clairement que le refus global a préséance.

Consultez les [versions actuelles](/fr/developers/sdks/#versions-prises-en-charge) et les [consignes sur les clés enregistrées](/fr/developers/identity-files/#clés-enregistrées).

### Compétences propres au hub

Les méthodes de compétences adressées à un hub gèrent les rattachements du groupe de runtime de ce hub; tous les hubs qui le partagent sont touchés. Le groupe peut commencer sans aucune compétence et en recevoir une à la fois. Les changements s'appliquent en direct en environ 15 secondes, sans redémarrage.

- Dans l'application : onglet **Skills**, **Add skill**, choisissez la compétence et une version, puis confirmez. La ligne affiche l'état d'installation jusqu'à ce qu'il se stabilise. **Update** et **Remove** se trouvent sur chaque ligne.
- API : `GET` et `POST` sur `/v1/hubs/{hub_id}/skills`; `PATCH` et `DELETE` sur le même chemin suivi de `/{skill}`. Désignez la compétence par son identifiant, pas par son slug. Le listage exige `hubs:inspect`. Les écritures exigent `hubs:write` et un forfait payant, et renvoient HTTP 202 avec un `operation_id` à interroger sur `/v1/operations/{operation_id}`. Elles répondent 409 (`skill_version_already_installed`) si la compétence est déjà à cette version, ou 404 (`hub_without_runtime_group`) s'il n'y a pas de groupe de runtime. Les erreurs sont du JSON de problème avec un `code` à la racine.
- Le SDK Python `0.5.15` ajoute `list_hub_skills`, `install_hub_skill`, `update_hub_skill` et `remove_hub_skill`, ainsi que les sous-commandes CLI `thalovant skills list|add|update|remove`. Le SDK Node `0.3.15` ajoute `listHubSkills`, `installHubSkill`, `updateHubSkill` et `removeHubSkill`. Par défaut, `wait` interroge l'opération toutes les 2 secondes pendant au plus 120 secondes.
- MCP `0.1.23` ajoute quatre outils correspondants, `thalovant_list_hub_skills` et ses équivalents d'installation, de mise à jour et de retrait; le catalogue par défaut passe à 45 outils.

Go, Rust, Kotlin, Swift et .NET n'offrent pas encore ces appels. Consultez [Ajouter une compétence à un hub](/fr/manage/add-a-skill-to-a-hub/).

### Parité des fonctions des SDK et sécurité des identifiants

L'ensemble coordonné comprend Python `0.5.12`, Node.js `0.3.12`, Go `0.5.2`, Rust `0.5.1`, Kotlin et .NET `0.3.2`, Swift `0.3.1`, C embarqué `v0.5.0` et MCP `0.1.21`.

- Dans les SDK de haut niveau, les processus du runtime partagé couvrent maintenant les requêtes routées, les conversations et l'attente d'événements. Les flux utilisent des files bornées lorsqu'elles existent; Node utilise des abonnements directs par rappel. Un listage d'intentions resté sans réponse se rabat sur les manifestes de moteur. La découverte de repli facultative distingue une prise en charge inconnue d'un résultat vide et offre une vérification prudente de la langue.
- Les délais d'Ask, de Query et d'attente d'événements incluent la connexion et la disponibilité authentifiée, ainsi que l'envoi et la collecte des réponses qui s'appliquent. Un appelant en file qui est annulé ne peut pas fermer la connexion active. Le nettoyage garde la responsabilité jusqu'à l'arrêt du travail; les écritures incertaines ne sont jamais rejouées automatiquement.
- Le nettoyage HTTP signale une réponse de déconnexion refusée ou invalide. Il garde la responsabilité d'une session distante non confirmée jusqu'à ce que le nettoyage soit confirmé. Un accusé documenté « déjà déconnecté » permet la reprise quand une réponse réussie antérieure a été perdue. Le SDK garde la responsabilité du nettoyage, et le MCP empêche les outils suivants de réutiliser cette identité dans le même processus.
- Les appels d'API refusent les redirections et les informations d'utilisateur dans l'URL. Les appels authentifiés et les corps de requête exigent HTTPS, sauf pour les points de terminaison de développement explicites en boucle locale. Le correctif .NET exige de migrer depuis un `HttpClient` injecté arbitraire pour les appels qui portent des identifiants; consultez son [guide](/fr/developers/sdks/dotnet/).
- Go `0.5.0` exige Go 1.26; Rust `0.5.0` exige Rust 1.88. Les deux conservent les structures existantes de requête et d'inventaire grâce à des options additives et à des enveloppes de capacités.
- Le MCP ajoute des outils de Query routée, d'inventaire des intentions du runtime et d'état des opérations. Il utilise le SDK Node `0.3.12` et lie les identifiants configurés à l'origine d'API configurée. L'annulation d'une requête MCP atteint les opérations du runtime prises en charge. Un outil en file annulé ne s'exécute jamais plus tard, et le travail accepté garde son identité jusqu'au nettoyage.
- Consultez [Limites des plateformes](/fr/developers/sdks/#limites-des-plateformes) pour les runtimes et les systèmes d'exploitation pris en charge.

Les niveaux de transport ne changent pas : Kotlin, Swift et .NET utilisent WSS; le C embarqué fournit des aides de protocole avec un transport géré par l'appelant. Gardez les clés enregistrées de chaque client pendant les mises à niveau. Python remplace l'attente de disponibilité supplémentaire, faite au mieux depuis la `0.5.7`, par un seul budget de connexion strict. Consultez le [tableau de compatibilité des SDK](/fr/developers/sdks/#versions-prises-en-charge).

### Suivi Python pour les sessions et le listage des intentions

Python `0.5.7` conserve les correctifs de l'état de confiance et des erreurs de délai de la `0.5.6`. Il ajoute une attente de disponibilité bornée après la connexion, pour que les opérations suivantes puissent réutiliser la session. Son inventaire d'intentions par défaut se rabat sur les manifestes de moteur quand la requête de listage ne reçoit pas de réponse. Consultez le [SDK Python](/fr/developers/sdks/python/) pour le comportement des délais et du repli.

### Correctifs de fiabilité des SDK

- Python `0.5.6` conserve les erreurs de délai après le nettoyage HTTPS et signale les épingles enregistrées mal formées sans écraser l'état de confiance.
- Le SDK Node `0.3.5` impose TLS pour MQTT après la normalisation du point de terminaison. Il garde aussi la configuration MQTT et le nettoyage après un échec HTTPS dans le délai de connexion. MCP `0.1.19` inclut cette mise à jour du SDK.
- .NET `0.2.1` publie des clés et des épingles complètes, pour qu'une écriture interrompue ne puisse pas corrompre l'identité enregistrée.
- Swift `0.2.1` permet aux appels simultanés de se joindre à une seule tentative de connexion authentifiée. Le C embarqué `v0.4.1` et Swift imposent l'étape finale d'authentification.
- Rust `0.4.8` partage la négociation de session et son cache d'identifiants entre WSS, HTTPS et MQTT.

La prise en charge actuelle des transports et des plateformes ne change pas. Gardez les clés enregistrées de chaque client lors de la mise à niveau.

### Sessions chiffrées dans tous les SDK

- Les huit SDK ouvrent maintenant la même session chiffrée et authentifiée avec un hub. Kotlin, Swift et .NET restent limités à WSS, et le C embarqué exige le transport de l'application. Le [tableau de compatibilité des SDK](/fr/developers/sdks/#versions-prises-en-charge) donne les versions exactes des paquets.
- Python, Node.js, Go et Rust authentifient les sessions WSS, HTTPS et MQTT, gardent leurs clés enregistrées d'une reconnexion à l'autre et conservent leur session HTTPS. Un échec d'authentification ne remplace jamais l'identité de hub enregistrée et ne revient jamais à un transport plus ancien.
- MCP `0.1.18` utilise le SDK Node `0.3.4` pour ses outils de runtime de hub. Gardez ses clés enregistrées d'un redémarrage à l'autre et utilisez des identités différentes pour des processus MCP simultanés.
- Mettez à niveau les anciens clients avant de les connecter à un hub actuel; le `crypto_key` d'une ancienne identité ne donne plus accès à rien. Consultez la page de chaque langage pour les exigences de stockage, les limites de mémoire en embarqué et le runtime WebSocket qu'exige Swift sous Linux.

### Corrections des guides pour développeurs

- Mise à jour des guides par langage et de la page d'accueil des développeurs pour les huit SDK actuels, y compris les restrictions liées au navigateur et aux plateformes.
- Correction des exemples Python d'actions et de réponses enrichies, qui utilisent maintenant les noms de méthodes et les champs de réponse publiés.
- Précision : l'authentification à l'API du MCP et l'identité utilisée pour se connecter à un hub sont deux étapes de configuration distinctes.
- Ajout de consignes de dépannage de connexion pour les versions non prises en charge, les identités de serveur modifiées et les identités de client partagées. Précision : la capacité Autoscaling se choisit sur un hub, séparément des paramètres du runtime partagé.

## 5 septembre 2026

### Que peut-on demander à mon hub?

- Un client connecté peut maintenant lister toutes les intentions auxquelles son
  hub répond, par langue, avec les phrases qu'une personne dit pour atteindre
  chacune. La réponse passe par la session du client lui-même, donc aucun jeton
  d'API n'entre en jeu.
- La connexion doit être autorisée à publier `ovos.intent.list`, et aussi
  `ovos.intent.describe` quand le SDK doit demander les phrases séparément.
  Le SDK demande au hub de les renvoyer avec la liste. Un runtime qui respecte
  `include_definitions` ne lui fait donc jamais envoyer de describe, et ce
  second type n'y est pas nécessaire. Aucun runtime livré ne le respecte
  aujourd'hui, y compris celui de Thalovant, alors autorisez les deux types.
  Un hub qui refuse répond aussitôt par une erreur de politique qui nomme le
  type. Le SDK se rabat alors sur les seuls noms d'intentions, à condition que
  le hub autorise les anciens manifestes de moteur. Les connexions créées pour
  les clients SDK et Thalovant Voice autorisent les deux types par défaut.
- Quand un hub répond à une requête par une erreur, cela veut dire deux choses
  différentes. Un listage échoué lève l'erreur de runtime du SDK avec le texte
  d'erreur du hub, car un listage qui a échoué n'est pas un hub vide. Un
  describe échoué laisse cette intention sans phrases et ne lève rien : le hub
  ne connaît pas cet enregistrement.
- Le SDK Python 0.4.36 fournit `client.intents(...)`, `list_intents`,
  `describe_intent`, `ThalovantPolicyDeniedError` et la commande
  `thalovant intents`. Node.js, Go, Rust, Kotlin, Swift, .NET et la bibliothèque
  C embarquée publient maintenant les mêmes appels, chacun avec sa propre
  graphie : `@thalovant/sdk 0.2.39`,
  `thalovant-go-sdk v0.3.14`, `thalovant 0.3.1` sur crates.io,
  `com.thalovant:thalovant-sdk 0.1.8`, `thalovant-swift-sdk v0.1.9`,
  `Thalovant.Sdk 0.1.13` et `thalovant-embedded-c v0.3.0`. Ces versions,
  et Python 0.4.40, sont les premières à signaler un listage échoué comme une
  erreur. Chaque [page de SDK](/fr/developers/sdks/) contient un exemple fonctionnel.
- Consultez [Que peut-on demander à mon hub?](/fr/concepts/hub-intents/) et
  [Lister ce que l'on peut demander au hub](/fr/developers/sdks/python/#lister-ce-quon-peut-demander-au-hub).

## 13 août 2026

### Connexion sans mot de passe et jetons d'API

- Chaque SDK peut maintenant se connecter par votre navigateur : le SDK affiche
  un code court, vous approuvez la demande à `https://dash.thalovant.com/activate`,
  et le SDK reçoit un jeton d'API limité et révocable au lieu de manipuler votre
  mot de passe. Il faut Python 0.4.22, Node.js 0.2.25, Go v0.3.3, Rust v0.2.20,
  ou Kotlin, Swift et .NET 0.1.1.
- Ajout de la page [Jetons d'API](/fr/account/api-tokens/) : créez des jetons
  limités et à durée fixe pour les scripts, l'intégration continue (CI) et les
  agents d'IA. Copiez le secret, qui ne s'affiche qu'une fois, suivez la
  dernière utilisation et révoquez le jeton au besoin. Créer et approuver des
  jetons exige un forfait payant pour l'espace de travail.
- Chaque SDK documente aussi l'authentification directe par jeton d'API avec le
  constructeur de son plan de contrôle. Consultez [Se connecter sans mot de passe](/fr/developers/sdk-functions/signing-in/#se-connecter-sans-mot-de-passe).
- Le serveur MCP 0.1.9 recommande un `THALOVANT_API_TOKEN` limité pour les
  configurations d'IA et de CI. Son outil d'état de configuration indique le
  mode d'authentification déclaré. Consultez
  [Serveur MCP](/fr/developers/mcp/).

## 11 août 2026

### Connaissances Source Scout sans restriction, avec protection selon l'âge facultative

- Source Scout ne limite plus les hubs pour adultes à une liste de sujets
  autorisés. Il accepte toute question non vide comme dernier repli appuyé sur
  des sources, une fois que les compétences plus précises ont eu la chance de répondre.
- Les propriétaires du runtime peuvent protéger explicitement les publics de
  moins de 13, 16, 18 ou 21 ans. Ce réglage vérifie les questions et les
  réponses, et bloque la réponse quand une classification protégée ne peut pas
  aller au bout.
- Le réglage par défaut, sans restriction, n'appelle pas la classification par
  âge. Les réponses protégées et sans restriction utilisent des identités de cache distinctes.
- Source Scout conserve les étiquettes OVOS de langue, d'écriture et de région,
  et ne se limite pas à l'anglais et au français.
- Consultez [Compétences](/fr/concepts/skill-sets/#connaissances-de-source-scout-et-protection-selon-lâge)
  et [Configurer le runtime](/fr/manage/configure-runtime/) pour la marche à suivre du propriétaire.

## 10 août 2026

### Mise à l'échelle automatique des hubs selon le forfait

- La création et la modification d'un hub offrent maintenant une capacité Standard ou Autoscaling.
- Team comprend un hub Autoscaling avec deux instances de travail toujours
  prêtes, et huit au maximum. Pour Enterprise, la capacité est fixée par contrat,
  jusqu'à 32 instances de travail par hub.
- La facturation indique l'utilisation des places Autoscaling et le plafond
  d'instances de travail enregistré pour chaque hub.
- Les hubs existants restent en Standard. Autoscaling répond au moyen des
  compétences installées; les réponses Persona et les réponses générales du LLM
  ne sont pas offertes dans ce profil.
- Consultez [Créer un hub](/fr/manage/create-a-hub/), [Hubs](/fr/concepts/hubs/) et
  [Facturation et forfaits](/fr/workspace/billing-and-plans/) pour la marche à suivre.

## 29 juillet 2026

### Thalovant Voice 0.1.83

- Thalovant Voice se reconnecte maintenant automatiquement après un redémarrage normal du hub, une tentative de connexion échouée ou l'expiration d'un ping réseau.
- Chaque reconnexion crée une nouvelle session chiffrée et continue de vérifier l'identité de hub enregistrée.
- La reconnexion automatique est offerte sur macOS, Windows et Linux.
- Les clients déjà jumelés peuvent installer la mise à jour sans créer de nouvelle connexion. Si l'application signale que l'identité du serveur a changé, arrêtez-vous et faites confirmer le changement par le soutien au lieu de contourner l'avertissement.

## 13 juillet 2026

### Mises à jour de sécurité des dépendances des SDK

- Le SDK Go v0.3.0 met à jour `golang.org/x/net` vers sa version corrigée et exige donc Go 1.25 ou plus récent. Il inclut le durcissement de l'allocation des trames binaires de la v0.2.17.
- Le SDK Rust v0.2.17 retire le chemin de dépendance vulnérable `rustls-webpki 0.102` en utilisant le TLS natif du système d'exploitation pour MQTT. HTTPS et WSS restent sur la branche corrigée de Rustls.

### Bêta privée sur invitation seulement

- Ajout du [Guide de la bêta privée](/fr/start/private-beta/). Il couvre les attentes en matière de consentement, le premier parcours utile, la mesure respectueuse de la vie privée, le soutien, le retrait, l'exportation et la suppression du compte. Il rappelle aussi de n'utiliser que des données de paiement de test.
- La participation à la bêta privée est mesurée avec des identifiants aléatoires et des jalons agrégés. Ces mesures n'enregistrent ni noms, ni adresses courriel, ni invites, ni réponses, ni identifiants de connexion, ni données de paiement.

## 12 juillet 2026

### Distribution publique du SDK Go

- Le SDK Go v0.2.16 est offert comme module Go public. Un environnement vierge peut l'installer par le proxy public de modules Go, sans identifiants GitHub ni configuration de module privé.
- Mise à jour du [guide du SDK Go](/fr/developers/sdks/go/) avec la commande d'installation de la version vérifiée et immuable.

### Confidentialité pendant la configuration

- Ajout de jalons de configuration respectueux de la vie privée, pour mesurer de façon agrégée l'accueil des nouveaux utilisateurs et le temps avant la première valeur. Les invites, les réponses, le contenu de la mémoire, les adresses courriel, les jetons, les identifiants et les secrets sont exclus des métadonnées d'activation.
- Avant de retirer un compte, sa suppression efface maintenant la télémétrie produit liée, les jalons d'activation, les résumés et exportations d'analytique, et les traces d'audit liées à l'identité.
- Mise à jour des pages [Analytique](/fr/workspace/analytics/) et [Audit](/fr/account/audit/) avec le comportement visible en matière de confidentialité et de suppression.

## 11 juillet 2026

### Flux d'état durable

- Ajout de consignes sur le [flux d'état](/fr/developers/status-stream/) : événements de condition versionnés, curseurs de séquence ordonnés, relecture bornée, suppression des doublons et récupération par instantané après une réinitialisation explicite du curseur.
- Précision : les SDK officiels n'encapsulent pas encore le point de terminaison SSE d'état du plan de contrôle.

### Disponibilité de l'aperçu public

- Un problème d'aperçu dans le navigateur ne change pas la visibilité du hub. Utilisez votre connexion client habituelle tant que l'aperçu n'est pas disponible.

## 17 juin 2026

### Revue des origines des SDK

- Ajout des [origines des SDK](/fr/developers/sdk-origins/) pour les demandes d'origine de navigateur, les avis aux réviseurs, le relais par courriel et le comportement CORS sans identifiants.
- Mise à jour des consignes sur les SDK, les points de terminaison, l'identité et le tableau de bord. Les applications de navigateur utilisent des origines approuvées, et les secrets de longue durée restent côté serveur.

## 17 mai 2026

### Peaufinage de la documentation

- Simplification de la page d'accueil de la documentation, pour que les nouveaux lecteurs voient d'abord le parcours utile le plus court : apprendre les bases, faire une configuration, connecter un client ou régler un problème visible.
- Resserrement des pages de première lecture et des pages à forte friction. Les actions verrouillées, les limites, les liens de configuration et la vérification du premier signal de présence (heartbeat) y sont plus faciles à trouver.
- Mise à jour du guide de style et du gabarit de page pour privilégier une promesse claire, une première action claire et moins de liens concurrents.

## 16 mai 2026

### Configuration des connexions

- Ajout de [Connecter un client](/fr/manage/connect-a-client/) pour le parcours actuel de **Connections**.
- Mise à jour des consignes sur les clients pour les liens de configuration à usage unique, Thalovant Voice, les commandes de configuration Linux et la vérification du premier signal de présence.
- Actualisation du démarrage rapide, de la première configuration réussie, du dépannage, des limites et des pages de sécurité. Les liens de configuration y passent maintenant avant la manipulation manuelle des fichiers.

### Mises à jour des compétences, du runtime, des hubs et de la facturation

- Ajout de [Gérer les mises à jour](/fr/manage/manage-updates/), la page de référence en langage simple pour les mises à jour des compétences, du runtime et des hubs, et pour les contrôles liés au forfait.
- Actualisation des pages Runtime, Compétences, Hubs, Tableau de bord, Facturation et Limites connues. Vous pouvez ainsi savoir si une mise à jour relève d'un paquet de compétence, d'une cible de conteneur du runtime, d'une cible de conteneur du hub ou d'une vérification du forfait.

## 5 mai 2026

### Parité entre le produit et la documentation

- Mise à jour du vocabulaire des limites de forfait, pour que la page Billing reste la référence des allocations exactes de l'espace de travail.
- Ajout de la page [Analytique](/fr/workspace/analytics/) : analytique d'utilisation, signaux de demande, géographie, posture des clients et filtrage détaillé par hub ou par client.
- Mise à jour des consignes du tableau de bord pour les panneaux actuels Fleet overview, Fleet snapshot, Client activity, d'attention et de mises à jour.
- Ajout de la page [Audit](/fr/account/audit/) : piste du compte, historique des sessions, actions visibles et dossiers d'historique sûrs à transmettre au soutien.
- Précision : l'accès payant au Skill Store est indiqué par le forfait, plutôt que fixé dans la documentation.
- Actualisation des consignes sur le runtime pour les langues principale et secondaires. Les consignes sur la topologie couvrent maintenant le rattrapage différé de l'état après une panne de service étendue.

### Assistance et état des services

- Ajout de la page d'état aux consignes d'aide, de limites, de dépannage, de demande de soutien et de configuration Discord.
- Mise à jour des modèles de soutien, pour que chacun indique s'il a consulté la page d'état avant de signaler un problème de service étendu.

## 27 avril 2026

### Assistance et Discord

- Ajout de la page publique [Obtenir de l'aide](/fr/account/get-support/), avec des modèles de demande de soutien, de signalement de bogue et de demande de fonctionnalité.
- Ajout de [Limites connues](/fr/help/known-limits/), avec une vérification des limites qui commence par le forfait.
- Ajout de l'[Index de dépannage](/fr/troubleshooting/symptom-index/) pour passer d'un symptôme visible à la page qui en traite.
- Ajout de canaux de soutien publics sur Discord et d'un message d'accueil.

### Gestion de la documentation

- Ajout d'un texte de transfert au soutien. Il avertit de ne pas partager de jetons, de mots de passe, de clés d'API, de secrets client, de fichiers de connexion, de données privées de clients ni de captures d'écran sensibles.

  Pour une demande de soutien, commencez par [Obtenir de l'aide](/fr/account/get-support/) afin que la première réponse porte sur la prochaine vérification.

## Choisir la suite

- Installez une version actuelle à partir des [guides des SDK](/fr/developers/sdks/).
- Configurez le [serveur MCP](/fr/developers/mcp/) pour votre agent.
- Utilisez l'[Index de dépannage](/fr/troubleshooting/symptom-index/) si une mise à jour empêche un client de se connecter.

Ouvrir Obtenir de l'aide
