OpenAI Codex 0.141 ajoute des exécuteurs distants chiffrés en Noise, un `PathUri` multi-OS, un marketplace de plugins et un pin SQLite WAL-Reset

OpenAI Codex 0.141 ajoute des exécuteurs distants chiffrés en Noise, un `PathUri` multi-OS, un marketplace de plugins et un pin SQLite WAL-Reset

lschvn

OpenAI Codex 0.141.0 a été publié le 18 juin 2026 à 04:43 UTC, un jour après 0.140 et environ six semaines après que la ligne 0.139 a ouvert la nouvelle architecture exec-server. La release est la plus grosse drop Codex de la série 0.13x : elle pose un transport chiffré en Noise par défaut entre l'orchestrateur et les exécuteurs distants, une nouvelle couche PathUri interne qui rend l'orchestration multi-OS tractable, un marketplace de plugins created-by-me-remote, et un vrai fix de bug pour une régression SQLite qui s'était silencieusement réintroduite. Il y a aussi du ménage significatif dans le sandbox Windows et les surfaces realtime/TUI.

Noise IK devient le transport par défaut

Le changement principal, c'est que le transport exec-server est désormais Noise de bout en bout. L'architecture précédente relayait le trafic JSON-RPC entre l'orchestrateur et l'exécuteur distant à travers un service « Rendezvous » qui pouvait voir en clair les appels d'outils et les réponses. Le nouveau transport est un canal Noise IK hybride construit sur Clatter, avec X25519 pour l'accord de clé, ML-KEM-768 pour la résistance post-quantique, AES-256-GCM pour le chiffrement symétrique, et SHA-256 pour le transcript du handshake. Le relay ne voit que des frames chiffrées.

Le handshake est lié à trois identifiants : l'environment_id de l'exécuteur distant, son executor_registration_id, et le stream_id par flux. La clé publique Noise de l'exécuteur est récupérée depuis un bundle du registre et épinglée avant que le handshake ne se termine, ce qui ferme l'attaque évidente de « swap the key during reconnect ». L'autorisation du harness est portée à l'intérieur du handshake chiffré, pas dans un header que le relay peut réécrire. Les frames sont ordonnées contre les nonces Noise, les gros messages JSON-RPC sont fragmentés en records bornés, et les payloads de handshake, frames, streams et reassembly de message sont tous size-bounded pour qu'un relay malveillant ne puisse pas épuiser la mémoire en envoyant des frames hors taille.

Pour les équipes qui font tourner Codex contre des exécuteurs distants self-hosted ou tiers, l'effet pratique est que le relay n'est plus trusted by construction. Les commits de suivi dans la même release ajoutent un refresh d'URL signées à la reconnexion, un environnement Noise rendezvous, une reprise de session après déconnexion, et un backoff de retry borné sur la recovery du registre, donc le transport chiffré est aussi durable à travers les hoquets réseau, pas juste chiffré. Le rachat de Bun par Anthropic pour l'infrastructure de coding IA plus tôt cette année était le moment « le runtime est l'agent » ; 0.141 est le moment « le relay n'est qu'un fil ».

PathUri et la couture orchestrateur multi-OS

Le deuxième morceau de plumbing est path-uri: render native paths across platforms et son frère PathUri in filesystem permission paths for exec-server. Le code précédent formatait les chemins en String des deux côtés de la couture orchestrateur/exec-server, ce qui cassait dès qu'un orchestrateur Mac passait un répertoire de travail comme /Users/lou/repo à un exécuteur Windows, ou l'inverse. PathUri est un nouveau type interne qui peut rendre le même chemin logique en POSIX (/home/lou/repo), en lettre de lecteur Windows (C:\Users\lou\repo), ou en chemin UNC (\\share\repo) selon l'hôte qui le consomme, avec des helpers explicites PathConvention et NativePathString pour les trois personnalités.

La migration est graduelle et délibérément invisible au niveau de l'API publique app-server. Le PathConvention rend le chemin correctement pour l'hôte qui possède l'environnement, la frontière app-server traduit en chemins String natifs OS pour les clients, et l'encodage URI reste un format wire interne. La nouvelle suite de tests path-uri couvre le rendu multi-host, l'encodage, l'Unicode, et le rejet de composant invalide. C'est le même plumbing qui permet à l'exec-server de respecter le cwd et le shell de l'environnement distant (#28122) et de porter PathUri à travers la couche unified-exec, de sorte qu'un orchestrateur Mac peut piloter un exécuteur Windows sans régression de mangling de chemins à la couture.

C'est le genre de travail qui ne sort pas dans un tableau de benchmarks, mais qui est la raison pour laquelle un futur Codex multi-OS (orchestrateur serveur Linux, exécuteur workstation Windows) peut shipper. Le travail Vite 8.1 beta sur les importmaps et le fix esbuild 0.28.1 sur la traversée de chemin Windows sont dans la même catégorie de plumbing multi-OS ; la différence est que la couture de Codex est sur le fil, pas sur le disque.

Un marketplace de plugins et un vrai tier de catalogue MCP

Le troisième batch de changements construit l'histoire plugin. Codex 0.141.0 ajoute un marketplace de plugins created-by-me-remote adossé au répertoire de plugins scope USER paginé, le surface via le protocole app-server v2 avec des schémas regénérés, et ajoute un flux Load API curated marketplace by auth qui renvoie des catalogues différents selon le mode d'auth (user, org, enterprise). Les plugins d'executeur sélectionnés peuvent désormais activer leurs serveurs MCP stdio par thread, et le tier de précédence selected-plugin dans le catalogue MCP donne à un plugin sélectionné un slot distinct au-dessus des plugins auto-découverts, avec l'attribution portée directement sur l'entrée de catalogue.

Le changement de catalogue a de l'importance parce que l'ordre de résolution précédent laissait silencieusement un gagnant de précédence plus basse désactivé laisser un état fantôme au niveau du nom, et un outil MCP gagnant ne pouvait pas être attribué de manière fiable au package sélectionné. Le nouveau tier corrige les deux, et le connection manager retient la policy d'approbation d'outil du serveur sélectionné gagnant pour qu'un enregistrement sélectionné ne puisse pas hériter d'un comportement d'approbation d'un plugin local perdant. Le timeout d'outil MCP par défaut passe de 60 à 300 secondes, ce qui est la bonne forme pour des outils MCP long-running (runs CI, génération d'images, jobs browser headless) et élimine une classe de rapports « l'outil a timeout avant de finir ».

Le travail plugin est la deuxième moitié de la même histoire que les articles sur Project Glasswing d'Anthropic et la couverture de GLM-5.2 comme agent de coding long-horizon ne cessent de tourner en boucle : la surface d'outils de l'agent est le produit, et le marketplace est ce qui rend la surface composable.

Le fix SQLite WAL-reset et les autres corrections de bugs

Le fix de bug le plus important de 0.141.0 est discret : Pin bundled SQLite to fixed WAL-reset version. SQLite a documenté un bug de corruption WAL reset dans les release notes de la 3.51.3, et SQLx 0.9 accepte une plage libsqlite3-sys large. Un refresh de dépendance non lié avait fait reculer Codex de libsqlite3-sys 0.37.0 (SQLite 3.51.3) vers 0.35.0 (SQLite 3.50.2), réintroduisant silencieusement le bug. 0.141.0 épingle le bundle pour qu'un futur refresh de lock ne puisse pas répéter la downgrade. C'est exactement la classe de panne « votre gestionnaire de dépendances vous a silencieusement downgradé » que le travail pnpm 11.7 frozenStore + vérification de lockfile a été conçu pour faire remonter.

La release corrige aussi plusieurs régressions du sandbox Windows : une auto-récupération de credentials Windows sandbox devenues stale, un unified exec yield floor qui donne aux commandes PowerShell plus de temps avant d'être backgroundées, un shared Windows sandbox session runner extrait du chemin inline, et un hidden Windows sandbox wrapper entrypoint. Le chemin codex exec thread-start préserve désormais le hook-trust bypass à la reprise et les hooks PostToolUse rejettent correctement les appels d'outils code-mode. Une entrée utilisateur steer peut immédiatement interrompre wait_agent au lieu de rester bloquée derrière. L'API realtime gagne un contrôle speech-append, un toggle pour le contexte de démarrage realtime, et un timer TUI d'auto-resolution pour les prompts request_user_input qui lance une grace period cachée de 60 secondes, puis un countdown visible de 60 secondes, puis soumet une réponse vide si l'utilisateur n'interagit pas.

0.141.0 est le genre de release qui a l'air routinière de l'extérieur et qui est structurellement un milestone de l'intérieur. Le relay Noise et la couche PathUri sont les deux morceaux de plumbing qui doivent être en place pour que Codex multi-host puisse shipper, le marketplace de plugins est ce qui rend la surface d'outils composable, et le pin SQLite est le genre de fix de bug discret qui empêche la prochaine panne d'être une régression de la précédente. Aucune action n'est requise côté utilisateur ; l'upgrade est sûr à prendre dès que votre CI est prêt.

Questions fréquentes

Articles connexes

Plus de couverture avec des sujets et tags en commun.

L'Open Knowledge Format de Google Cloud est un standard, pas un produit : plongée dans OKF v0.1
ai

L'Open Knowledge Format de Google Cloud est un standard, pas un produit : plongée dans OKF v0.1

Le 12 juin 2026, Google Cloud a publié l'Open Knowledge Format (OKF), une spécification ouverte qui formalise le pattern LLM-wiki en format portable et interopérable : un répertoire de fichiers markdown avec frontmatter YAML, un seul champ obligatoire (type), cinq recommandés, et zéro outillage requis. Le tweet de Google Cloud Tech du 16 juin a généré 117 000 vues en 24 heures et a fait de la spec l'annonce de format de connaissance la plus discutée de l'année. Cette longue lecture parcourt la spec v0.1 section par section, les choix de design qui la rendent délibérément minimale, ce que Google livre avec (un agent d'enrichissement pour BigQuery, un visualiseur HTML statique, trois bundles d'exemple, et une intégration native au Knowledge Catalog BigQuery), et la question ouverte que tout constructeur d'agents IA et toute équipe plateforme de données devraient suivre sur les six prochains mois.
pnpm 11.7 ajoute `frozenStore` pour les systèmes de fichiers en lecture seule, délègue la résolution à pacquet, et corrige un path-traversal dans le lockfile
security

pnpm 11.7 ajoute `frozenStore` pour les systèmes de fichiers en lecture seule, délègue la résolution à pacquet, et corrige un path-traversal dans le lockfile

pnpm 11.7.0 (15 juin 2026) apporte quatre changements principaux : un mode d'installation `--frozen-store` pour les stores Nix, les couches OCI et les montages en lecture seule ; la délégation de la résolution des dépendances au port Rust pacquet (pas seulement la matérialisation) ; un flag opt-in `--batch` pour `pnpm publish --recursive` ; et un correctif de sécurité qui rejette les alias de path-traversal et les alias réservés (`.bin`, `.pnpm`, `node_modules`, `../../escape`) dans les dépendances provenant du lockfile.
GLM-5.2 de Z.ai : un modèle 1M de contexte en open weights conçu pour les agents de code long-horizon, analyse approfondie
ai

GLM-5.2 de Z.ai : un modèle 1M de contexte en open weights conçu pour les agents de code long-horizon, analyse approfondie

Le 16 juin 2026, Z.ai a publié GLM-5.2 sous licence MIT, avec un contexte solide d'un million de tokens, une optimisation d'attention sparse appelée IndexShare qui réduit les FLOPs par token de 2,9×, un module anti-hack pour le RL de code, et des scores de benchmark qui le placent à quelques points de Claude Opus 4.8 sur Terminal-Bench 2.1, devant GPT-5.5 sur trois suites long-horizon, et en tête du classement open weights sur tous les benchmarks de code que l'entreprise a choisi de publier. Cette longue lecture parcourt l'architecture, IndexShare + MTP, l'infrastructure slime pour le RL agentique, le module anti-hack, la table complète des benchmarks avec toutes les notes de bas de page, et ce que cela implique pour le reste de la course au long contexte en open weights.

Commentaires

Connexion Connectez-vous pour participer à la conversation.

Pas encore de commentaires. Soyez le premier à partager vos pensées.