release architecture security clawhub breaking-changes performance

OpenClaw 3.22 : Refonte architecturale — 12 changements incompatibles, 30+ correctifs de sécurité, la plus grande version jamais publiée

OpenClaws.io Team

OpenClaws.io Team

@openclaws

March 22, 2026

15 min de lecture

OpenClaw 3.22 : Refonte architecturale — 12 changements incompatibles, 30+ correctifs de sécurité, la plus grande version jamais publiée

9 jours depuis la 3.13. Le plus long silence entre deux versions d'OpenClaw depuis des mois. Quand le changelog est tombé, tout s'est éclairé : 12 changements incompatibles, plus de 30 correctifs de sécurité, plus de 100 corrections de stabilité, 7 nouveaux fournisseurs de modèles, et un virage fondamental dans la découverte et l'installation des plugins.

Ce n'est pas une mise à jour incrémentale. C'est la version où OpenClaw a arraché sa plomberie héritée pour reconstruire les fondations.

Détaillons.

ClawHub : la grande migration de l'écosystème de plugins

Le changement phare de la 3.22 paraît simple : openclaw plugins install consulte désormais ClawHub avant npm.

Cette seule phrase réécrit l'économie des plugins. ClawHub est le registre de paquets natif d'OpenClaw — conçu pour la découverte, le versionnage et la vérification de confiance des plugins. npm a toujours été une maison empruntée ; ClawHub est la première qu'OpenClaw possède vraiment.

Ce qui l'accompagne :

  • Flux natifs install/search/update : openclaw skills search|install|update plus openclaw plugins install clawhub: avec suivi des métadonnées de mise à jour
  • Support des bundles Claude/Codex/Cursor : Découverte et installation de bundles compatibles, mapping des skills vers OpenClaw, application des défauts settings.json au Pi intégré
  • Registre marketplace Claude : Installations plugin@marketplace, listing et mises à jour
  • Refonte du Plugin SDK : La nouvelle surface publique est openclaw/plugin-sdk/* — l'ancien openclaw/extension-api monolithique est supprimé sans couche de compatibilité
  • Surface de test du Plugin SDK : Surface publique openclaw/plugin-sdk/testing pour les helpers de test des auteurs de plugins
  • Support system-prompt du plugin Memory : Le plugin mémoire actif peut désormais enregistrer sa propre section system-prompt

Le changement du Plugin SDK est le prérequis structurel de tout le reste. En standardisant sur des sous-chemins étroits openclaw/plugin-sdk/* plutôt qu'une racine monolithique, chaque plugin obtient un contrat API plus petit et plus stable.

12 changements incompatibles : solder la dette technique d'un coup

Douze breaking changes en une seule version. Ça paraît agressif. Mais lus ensemble, ils racontent une seule histoire : OpenClaw brûle les derniers ponts vers son architecture pré-1.0.

Écosystème de plugins (4)

  1. 1.ClawHub remplace npm comme source d'installation par défaut. Le fallback npm reste, mais ClawHub a la priorité
  2. 2.Surface du Plugin SDK changée vers openclaw/plugin-sdk/* — sans shim de compatibilité
  3. 3.Relais d'extension Chrome MCP supprimé — chemin de relais, assets et driver: "extension" supprimés. openclaw doctor --fix pour migrer
  4. 4.Génération d'images standardisée — docs nano-banana-pro supprimés. Utiliser agents.defaults.imageGenerationModel

Nettoyage du legacy (3)

  1. 5.Variables d'environnement héritées supprimées : CLAWDBOT_ et MOLTBOT_ retirées partout. Utiliser OPENCLAW_*
  2. 6.Répertoire d'état hérité supprimé : .moltbot et détection auto de moltbot.json retirés. Migrer vers ~/.openclaw
  3. 7.Adaptateur de découverte de messages changé : ChannelMessageActionAdapter.describeMessageTool(...) requis

Sécurité et sandbox (3)

  1. 8.Sandbox exec étendu : Bloque l'injection JVM, l'exploitation glibc tunables et le détournement de dépendances .NET
  2. 9.Wrapper time transparent : time traité comme wrapper de dispatch transparent lors de l'évaluation des allowlists
  3. 10.Durcissement des webhooks d'appels vocaux : Rejet des headers de signature manquants, budget pre-auth réduit à 64 Ko / 5s

Protocoles de plateforme (2)

  1. 11.Discord Carbon reconcile : Le déploiement natif de commandes passe à Carbon reconcile par défaut
  2. 12.Plugin Matrix réécrit : Nouveau plugin basé sur le matrix-js-sdk officiel

Douze breaking changes en une version. Radical en apparence. Mais chacune de ces coupures était en retard.

Sécurité : 30+ correctifs, de SMB à SSRF à Hangul

La section sécurité de la 3.22 est massive. Pas 3 éléments comme en 3.13 — plus de trente. Par surface d'attaque :

Couche réseau et protocoles

  • Fuite de credentials SMB Windows bloquée : URLs file:// distantes et chemins UNC bloqués avant résolution du système de fichiers local
  • Pinning SSRF durci : Traduction des hints de transport sur tunnels proxy HTTPS, fail-closed pour les fetches HTTP plein protégés
  • Scope d'auth Gateway durci : Sauts loopback falsifiés ignorés dans les chaînes de transfert de confiance
  • Découverte Gateway fail-closed : Endpoints Bonjour et DNS-SD non résolus fail-closed
  • Limites du body d'erreur média : Mêmes caps de streaming que les téléchargements réussis

Couche sandbox et exécution

  • Manifestes marketplace de plugins sandboxés : Rejet des entrées installant hors du repo cloné
  • jq retiré de la whitelist safe-bin : Plus de dump de secrets hôte sans chemin de confiance explicite
  • Vérification HMAC exec macOS : Comparaison timing-safe, signatures malformées fail-closed
  • Gating des hooks workspace : Hooks repo-locaux désactivés par défaut

Couche identité et authentification

  • Pairing de device lié au profil : Codes setup iOS liés au profil node prévu
  • Binding user_id Synology Chat : Livraison liée au user_id numérique stable par défaut
  • Enforcement du proxy node navigateur : nodeHost.browserProxy.allowProfiles appliqué
  • Rotation de token device durcie : Échecs publics génériques, raisons internes loguées

Couche encodage et injection

  • Escape Hangul filler : Code points Hangul filler vides escapés dans les prompts d'approbation
  • Politique pré-crypto DM Nostr : Politique DM entrante appliquée avant décryptage
  • Parsing webhook LINE : Body brut vérifié forcé
  • Sanitisation des métadonnées webhooks email : Expéditeur et sujet sanitisés
Surface d'attaqueCorrections
Réseau & Protocoles5
Sandbox & Exécution5
Identité & Auth5+
Encodage & Injection5+
Spécifiques plateforme10+
Total30+

Ces correctifs n'apparaîtront pas sur les affiches marketing. Mais ce sont eux qui décident qui ose mettre OpenClaw en production. Être fiable est plus dur qu'être utile.

Performance : le démarrage à froid du Gateway renaît

L'amélioration la plus visible : le Gateway ne recompile plus le TypeScript des extensions empaquetées à chaque démarrage. Les démarrages à froid classe WhatsApp passent de dizaines de secondes à quelques secondes.

Autres changements :

  • Préchauffage du modèle avant le démarrage des canaux, avec un retry transitoire
  • Chargement paresseux dans toute la pile : Routes canal, résolution de fallback, runtime Discord — tout lazy
  • Cache du catalogue de modèles Agent : Caché par état config et auth-file
  • Nettoyage du cache de sessions : Entrées expirées nettoyées opportunistiquement

Nouvelles fonctionnalités en bref

Écosystème de recherche

  • Exa : Filtres de date natifs, sélection de mode, extraction de contenu optionnelle
  • Tavily : Outils dédiés tavily_search et tavily_extract
  • Firecrawl : firecrawl_search et firecrawl_scrape avec fallback base-URL/env

Sandbox et outils

  • Backends de sandbox enfichables : OpenShell et SSH livrés
  • Profils de navigateur Chromium : browser.profiles..userDataDir pour Brave, Edge et autres

Interaction

  • /btw questions annexes : Réponses rapides sans outils sur la session en cours
  • Expansion canvas Control UI : Bouton d'expansion sur les bulles de chat
  • Slider d'arrondi : Rayon des coins ajustable dans les paramètres d'apparence
  • Défauts thinking/reasoning/fast par Agent : Overrides de modèle non autorisés auto-revertés

CLI et configuration

  • Extension CLI config set : Modes SecretRef et provider builder, assignation JSON/batch, validation --dry-run
  • Moniteur de santé Gateway : Seuils d'événements et limites de redémarrage configurables
  • Installation depuis GitHub main : openclaw update --tag main

Fournisseurs de modèles : la course aux armements continue

FournisseurChangements
OpenAIModèle par défaut sur openai/gpt-5.4. Forward-compat gpt-5.4-mini/gpt-5.4-nano
Anthropic VertexNouveau support fournisseur pour Claude via Google Vertex AI
ChutesNouveau fournisseur empaquté avec auth OAuth/API-key
MiniMaxM2.7 ajouté, défaut mis à jour vers M2.7. Surface plugin unifiée
xAICatalogue Grok synchronisé sur les IDs Pi actuels
Z.AICatalogue GLM synchronisé avec familles 4.5/4.6
XiaomiPassage au endpoint /v1 compatible OpenAI. MiMo V2 Pro et Omni
MistralMétadonnées synchronisées avec les prix Pi actuels
GitHub CopilotIDs de modèle dynamiques forward-compat

Améliorations sur toutes les plateformes

Android

  • Thème sombre système sur l'onboarding et l'app principale
  • Migration vocale Talk derrière gateway talk.speak
  • Recherche journal d'appels et recherche SMS avec permissions partagées
  • Fix recherche contacts : % et _ échappés dans les requêtes de noms
  • Fix mémoire caméra : Recyclage des bitmaps de snapshots

Telegram

  • Endpoints Bot API personnalisés : Support par compte pour les déploiements auto-hébergés
  • Renommage auto des topics DM : Labels générés par LLM au premier message
  • Action d'édition de topic : Renommage et mise à jour d'icône
  • Réponses d'erreur silencieuses : channels.telegram.silentErrorReplies désactivé par défaut
  • Stabilité réseau : Fallback IPv4 sticky maintenu entre les redémarrages de polling

Feishu (Lark)

  • Cartes d'approbation et d'actions rapides interactives
  • Binding de sessions ACP et sous-agents
  • Stream de raisonnement : Tokens de pensée en blocs de citation markdown
  • En-têtes et pieds de carte identity-aware
  • Surface d'actions étendue : Lecture/édition de messages, réponses en fil, épinglage

Matrix

  • Plugin entièrement réécrit basé sur le matrix-js-sdk officiel
  • Politique de salle allowBots
  • Opt-in réseau privé : allowPrivateNetwork par compte
  • Déduplication durable d'événements
  • Fix binding mention-gated

Discord

  • Carbon reconcile pour le déploiement de commandes
  • Auth whitelist stricte des composants DM
  • Forwarding d'abort ACP

WhatsApp

  • Fix reconnexion : Filtre de récence append restauré
  • Singleton listener actif
  • Fix login : Attente de l'écriture des creds avant réouverture

Plus de 100 corrections de stabilité

DomaineCorrections clés
Compaction AgentRéparation tool_result orphelins, recovery overflow, troncation JSONL opt-in
Runtime AgentDédup tool call ID, suppression champs prompt_cache, sortie erreur texte brut
Runtime pluginsÉtat singleton partagé, sémantiques context engine, fix TDZ bundler
GatewayTimeout handshake WS à 10s, recovery runs orphelins, startup canaux sérialisé
Control UIClés settings par chemin gateway, préfixe fournisseur préservé, persistance locale
TelegramHard-timeout getUpdates, routage clés session topics DM

Chiffres clés

Métrique3.133.22
Breaking Changes012
Correctifs sécurité330+
Patchs stabilité70+100+
Nouveaux fournisseurs07
Nouveaux plugins recherche03
Source de pluginsnpmClawHub
Démarrage à froid GatewayDizaines de secondesSecondes
Timeout Agent par défaut600s48h
Contributeurs remerciés~1080+

---

La 3.22 n'est pas une version qui fait la une grâce à une fonctionnalité clinquante. C'est une opération chirurgicale — ouvrir la poitrine, remplacer le moteur, recoudre, et tourner plus vite qu'avant.

12 changements incompatibles ne sont pas du chaos. C'est brûler les vieilles cartes. ClawHub en production, surfaces de sécurité blindées sur tous les fronts, démarrage à froid du Gateway ressuscité — ces trois choses réunies signifient qu'OpenClaw est passé de « projet open source en itération rapide » à « infrastructure sur laquelle on peut vraiment compter ».

Le homard a mué encore une fois. Cette fois, jusqu'au squelette.

Reste informé

Reçois les news sur les nouvelles fonctionnalités et intégrations. Pas de spam, désinscription à tout moment.