#runtimes

Les dernières actualités, versions et analyses runtimes pour les développeurs TypeScript et web.
27 articles tagged with runtimes
Fastify v5.9.0 ajoute `request.mediaType` et `onMaxParamLength`, durcit la confiance dans les en-têtes `forwarded`, découpe les grandes réponses HTTP/2 et migre les tests de types vers TSTyche

Fastify v5.9.0 ajoute `request.mediaType` et `onMaxParamLength`, durcit la confiance dans les en-têtes `forwarded`, découpe les grandes réponses HTTP/2 et migre les tests de types vers TSTyche

Fastify v5.9.0, publié le 2026-06-28 (github.com/fastify/fastify), est la première version mineure de la ligne v5 en 2026 et un cycle substantiel de 65 PR. Les fonctionnalités principales sont `request.mediaType` (un accesseur typé pour le type de média négocié, [#6653](https://github.com/fastify/fastify/pull/6653) par climba03003), l'option de route `onMaxParamLength` ([#6716](https://github.com/fastify/fastify/pull/6716) par climba03003), et un correctif de sécurité qui ne fait plus confiance à `X-Forwarded-Host` et `X-Forwarded-Proto` quand le socket entrant est absent ([#6684](https://github.com/fastify/fastify/pull/6684) par mcollina). Le cycle livre un correctif de découpage en morceaux du buffer HTTP/2 pour les grandes réponses ([#6746](https://github.com/fastify/fastify/pull/6746) par mcollina), trois gains de performance liés au schéma (parsing différé du ContentType dans `getSchemaSerializer` #6692, mise en cache des objets `ContentType` analysés dans `ContentTypeParser` #6694, garde `typeof` avant `toString.call` dans `send` / `onSendEnd` #6693 par aquie00t), Node.js 26 ajouté à la matrice de tests ([#6728](https://github.com/fastify/fastify/pull/6728) par Fdawgs) et Node.js 20 retiré de la matrice yarn CI ([#6662](https://github.com/fastify/fastify/pull/6662) par Tony133), la migration de la suite de tests de types d'assertions `expect-type` artisanales vers [TSTyche](https://github.com/mrazauskas/tstyche) ([#6532](https://github.com/fastify/fastify/pull/6532) par mrazauskas, avec les suites #6726 et #6727), et un bump de fastify-plugin v6.0.0 purement TypeScript. Autres correctifs notables : déduplication de `res.end` du trailer (#6676), garde de complétion dupliquée du trailer (#6714), `error.code` sur les erreurs de routage (#6678), `hasRequestDecorator` / `hasReplyDecorator` détectant les propriétés natives assignées par constructeur (#6753), `getValidationFunction()` autorisé à retourner `undefined` (#6665), et un nettoyage du `_meta` du socket qui ferme une fuite keep-alive (#6799).
Deno 2.9 livre un démarrage à froid 1,98x plus rapide, 2,2 à 3,1x moins de RSS en charge, le minimum-release-age npm activé par défaut, la politique de confiance no-downgrade et les tests par snapshot natifs

Deno 2.9 livre un démarrage à froid 1,98x plus rapide, 2,2 à 3,1x moins de RSS en charge, le minimum-release-age npm activé par défaut, la politique de confiance no-downgrade et les tests par snapshot natifs

Deno 2.9 (Bartek Iwańczuk, publié le 2026-06-25 sur deno.com/blog/v2.9) est la plus grande release Deno du cycle. Le démarrage à froid passe de 34,2 ms à 17,3 ms (1,98x), le pic RSS sur la charge realworld de Deno.serve baisse d'un facteur 2,2 (142 Mo → 64 Mo) et de 3,1x sur les corps de 1 Mio (197 Mo → 63 Mo), et le débit Deno.serve grimpe de 1,27x en realworld (56,8k → 72,4k req/s), 1,11x en plaintext, et 1,18x sur les corps de 1 Mio. Durcissement supply chain : le npm minimum-release-age est activé par défaut avec une fenêtre de 24h (PR #35458), et une nouvelle politique de confiance opt-in no-downgrade (PR #34927) refuse de résoudre toute version dont la preuve de confiance (publication échelonnée, trusted publishing, attestation de provenance) est plus faible que la meilleure preuve sur toute version précédemment publiée du même paquet. Parité du runner de tests : t.assertSnapshot() natif (#35139), Deno.test.each (#34938), --shard pour fan-out CI (#35057), retry et repeats (#35053), sélection change-aware --changed et --related (#35199), et seuils de coverage (#35056). Interop lockfile : deno install seed deno.lock depuis package-lock.json, pnpm-lock.yaml, yarn.lock ou bun.lock (#34296, #35330, #35346, #35350, #35394), pnpm-workspace.yaml auto-migre vers deno.json / package.json (#34993), et les marqueurs de conflit de fusion git dans deno.lock se résolvent automatiquement (#34726). Plus : deno desktop sort de l'expérimental (PR #33441 du 16 juin), sous-commandes deno link / deno unlink / deno list / deno watch, --unsafe-proto stable (#34738), Web Locks API (#31166), Happy Eyeballs v2 (RFC 8305) (#31726), navigator.userAgentData (#34743), la proposition WebCrypto Modern Algorithms (ML-KEM, ML-DSA, SLH-DSA, ChaCha20-Poly1305, famille SHA-3, KMAC, Argon2) (#34447, #34448, #34914, #35223), compat Node 26.3.0 (#34746, #34747), Node-API v10 (#35270), et imports de modules CSS sous --unstable-raw-imports (#35093). Plus de 165 PRs mergent dans ce cycle.
Node.js 26.4.0 'Current' livre le sous-système node:vfs (Matteo Collina), les package maps pour les hooks de loader ESM (Maël Nison), la compression de certificat TLS, TCP_KEEPINTVL/TCP_KEEPCNT, et argon2 stable

Node.js 26.4.0 'Current' livre le sous-système node:vfs (Matteo Collina), les package maps pour les hooks de loader ESM (Maël Nison), la compression de certificat TLS, TCP_KEEPINTVL/TCP_KEEPCNT, et argon2 stable

Node.js 26.4.0 (Current), publié le 2026-06-24 par @aduh95, apporte huit changements SEMVER-MINOR : un sous-système node:vfs minimal qui permet de monter des systèmes de fichiers virtuels fournis par l'application (PR #63115, Matteo Collina) ainsi qu'un suivi qui redirige node:fs/promises vers les instances VFS montées (PR #63537), les package maps pour les hooks de loader ESM qui routent les spécificateurs bruts à travers les hooks de loader (PR #62239, Maël Nison), certificateCompression TLS qui câble la compression zlib et zstd de la RFC 8879 à travers la configuration de build OpenSSL (PR #62217, Tim Perry), le support de TCP_KEEPINTVL et TCP_KEEPCNT dans net.Socket.setKeepAlive (PR #63825, Guy Bedford), des buffers fournis par l'appelant dans fs.readFile / fs.readFileSync (PR #63634, Matteo Collina), closeIdleConnections qui ferme désormais aussi les sockets pre-request (PR #63470, semimikoh), net.BlockList promu au statut Release Candidate (PR #63050), et crypto argon2 + KEM encap/decap marqués stable (PR #63924, Filip Skokan). La release ajoute aussi WebCrypto cSHAKE (PR #63988), listEndpoints QUIC (PR #63536) et des handles X509Certificate (PR #63191), dgram connectSync / bindSync (PRs #63838 + #63932, Guy Bedford), net.BoundSocket pour un binding TCP précoce (PR #63951), un chemin expérimental d'appel FFI rapide pour AArch64 et x86_64 (PRs #63068 + #63941, Paolo Insogna), npm 11.17.0 (PR #63857), sqlite 3.53.2 et libffi 3.6.0.
Node.js 24.18.0 'Krypton' LTS : Buffer.poolSize à 64 Kio, TurboSHAKE et KangarooTwelve dans Web Crypto, et http.writeInformation pour les codes 1xx arbitraires

Node.js 24.18.0 'Krypton' LTS : Buffer.poolSize à 64 Kio, TurboSHAKE et KangarooTwelve dans Web Crypto, et http.writeInformation pour les codes 1xx arbitraires

Node.js 24.18.0 'Krypton' (LTS), publié le 2026-06-23, embarque la valeur par défaut Buffer.poolSize à 64 Kio déjà livrée sur Current par la 26.3.0, ajoute à Web Cryptography les algorithmes TurboSHAKE et KangarooTwelve de la RFC 9861 (PR #62183, 1 521 ajouts, 13 fichiers), expose http.writeInformation pour envoyer des codes 1xx arbitraires (PR #63155, 306 ajouts, 7 fichiers), rend accessible au runtime JS le démarrage de la couverture précise de V8 (commit 8c989ec4a3), ajoute l'import-export JWK pour les types de clés post-quantiques ML-KEM et SLH-DSA (PR #62706, 842 ajouts, 39 fichiers), câble en BoringSSL ML-DSA, ML-KEM, ChaCha20-Poly1305 et AES-KW pour Web Crypto (PR #63255), durcit WebCrypto contre la pollution de prototype (PR #63363), aligne les noms d'arguments de clé de crypto.diffieHellman et accepte des données de clé en entrée (PR #62527), annule le comportement 'stream: noop pause/resume on destroyed streams' de la 24.16.0 (PR #63834), et publie dans la foulée un correctif minimal 22.23.1 qui revient sur un changement d'agent http introduit dans la release de sécurité 06-18 et qui rattachait des listeners de stream sur les sockets idle.
Bun intègre le React Compiler directement dans son bundler, environ 20x plus rapide que le plugin Babel

Bun intègre le React Compiler directement dans son bundler, environ 20x plus rapide que le plugin Babel

La PR #32504, fusionnée dans oven-sh/bun le 20 juin 2026, transforme le portage Rust amont du React Compiler en transformation intégrée à `bun build`, derrière `--react-compiler` et `Bun.build({ reactCompiler: true })`. Bun porte directement l'espace de travail `compiler/crates/` de `facebook/react` dans une unique crate `src/react_compiler/` (~62 k LOC) plutôt que de passer par Babel, SWC ou Oxc, et sur une grosse base de code React (environ 860 composants, 1400 slots de mémo) la passe du compilateur s'exécute en 465 ms contre 9,15 s pour le plugin Babel. La fonctionnalité est expérimentale, désactivée par défaut, et livrée avec `reactCompilerOutputMode` (client ou ssr) et un script `scripts/sync-react-compiler.sh` pour resynchroniser le portage.
Node.js Juin 2026 : Correctif de Sécurité Couvrant 12 CVE Sur v22.23.0, v24.17.0 et v26.3.1, avec Deux Correctifs High TLS et Crypto

Node.js Juin 2026 : Correctif de Sécurité Couvrant 12 CVE Sur v22.23.0, v24.17.0 et v26.3.1, avec Deux Correctifs High TLS et Crypto

Le 18 juin 2026, le projet Node.js a publié des versions de sécurité coordonnées pour la LTS v22 « Jod », la LTS v24 « Krypton » et la ligne Current v26. La mise à jour corrige 12 CVE, dont deux notées High : CVE-2026-48618 (normalisation du hostname TLS pour la vérification d'identité serveur) et CVE-2026-48933 (garde sur la longueur de sortie des chiffrements WebCrypto). La release embarque aussi OpenSSL 3.5.7, undici 8.5.0 sur v26, llhttp 9.4.2, et nghttp2 1.69.0 (semver-major) sur v22 et v24.
Le compilateur AOT de Swoole devient TypePHP : du code à syntaxe PHP compilé en binaire natif, beta pour le 1er octobre

Le compilateur AOT de Swoole devient TypePHP : du code à syntaxe PHP compilé en binaire natif, beta pour le 1er octobre

Le 18 juin 2026, l'équipe Swoole a officiellement renommé son compilateur PHP ahead-of-time en TypePHP, un langage compilé fortement typé distinct, à compatibilité syntaxique PHP totale, avec un moteur dual compile-statique / ZendVM-runtime, des types natifs Decimal / BigInt / BigFloat, quatre conteneurs fortement typés soutenus par le C++, la syntaxe d'appel de fonction uniforme, et des appels directs à l'ABI C++ vers des bibliothèques statiques C, C++, Rust et Go. Une beta est promise pour la Fête nationale chinoise (1er octobre 2026), suivie d'une release complète du code source. Nous décortiquons le design dual-engine, l'intégration à l'ABI C++, le compilateur auto-hébergé, ce qui change face à KPHP, HHVM, PeachPie et FrankenPHP, et la question ouverte que Roman Pronskiy a soulevée sur la limite où le langage cesse d'être du PHP.
Deno accueille `deno desktop` : sous-commande pour applications de bureau auto-contenues, basée sur WEF, avec Deno.BrowserWindow, DevTools unifiés et compilation croisée macOS, Windows et Linux

Deno accueille `deno desktop` : sous-commande pour applications de bureau auto-contenues, basée sur WEF, avec Deno.BrowserWindow, DevTools unifiés et compilation croisée macOS, Windows et Linux

Deno a fusionné `deno desktop` le 16 juin 2026 (PR #33441), une nouvelle sous-commande qui transforme un projet Deno en application de bureau auto-contenue. La fonctionnalité embarque le backend WEF (CEF par défaut, plus WebView et winit brut), l'API Deno.BrowserWindow pour le cycle de vie de la fenêtre et les événements natifs, la détection automatique des frameworks Next, Astro, Fresh, Remix, Nuxt, SvelteKit, SolidStart, TanStack Start et Vite SSR, un multiplexeur CDP qui expose les deux isolats V8 dans une seule session DevTools, un système de mise à jour automatique avec patches bsdiff, et des sorties compilées .app/.dmg/.exe/.AppImage. Trois PR Deno plus petites sont arrivées le même matin : `deno link`/`unlink`, `deno test --shard`, et un `request_builder_hook` fetch pour les en-têtes `x-deno-fetch-token`/`cdn-loop`.
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

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.
Fresh 2.3 : Zero JS par Défaut, View Transitions et Support WebSocket

Fresh 2.3 : Zero JS par Défaut, View Transitions et Support WebSocket

Fresh 2.3 tient enfin sa promesse de 'zéro JavaScript par défaut', ajoute le support natif des View Transitions, des handlers WebSocket intégrés, l'injection de nonce CSP et le support de l'API Temporal dans les islands.
Nitro v3.0.260603-beta : Commandes de Framework Personnalisées et Config defaultPreset

Nitro v3.0.260603-beta : Commandes de Framework Personnalisées et Config defaultPreset

Le dernier beta de Nitro ajoute le support des commandes preview et deploy personnalisées, introduit l'option de configuration defaultPreset, et corrige un cas limite sur le stripping des types TypeScript.
Node.js 26.3.0 : Buffer Pool double, permission.drop() arrive, les Macs Intel en péril

Node.js 26.3.0 : Buffer Pool double, permission.drop() arrive, les Macs Intel en péril

Node.js 26.3.0 apporte un Buffer.poolSize par défaut de 64 KiB, une méthode permission.drop() pour abandonner les capacités une par une, un avertissement sur les binaires universels macOS, et un WebCrypto renforcé. npm passe à 11.16.0.
Deno 2.8 : Audit Fix, Sous-commande CI et Outil de Pack Natif

Deno 2.8 : Audit Fix, Sous-commande CI et Outil de Pack Natif

Deno 2.8 introduit quatre nouvelles sous-commandes CLI, améliore la compatibilité Node.js et ajoute un packager de paquets ciblant les registries npm.
Bun rejoint Anthropic : ce que l'acquisition signifie pour l'écosystème JavaScript

Bun rejoint Anthropic : ce que l'acquisition signifie pour l'écosystème JavaScript

Le runtime, bundler et toolkit JavaScript construit par une équipe de 14 personnes et utilisé par des millions de développeurs a été acquis par Anthropic. Bun reste open source et sous licence MIT, mais la roadmap s'oriente désormais vers l'infrastructure de coding IA.
Bun v1.3.12, Automatisation Naveau Et Native, Supporte `using` et `await using`

Bun v1.3.12, Automatisation Naveau Et Native, Supporte `using` et `await using`

La dernière version de Bun ajoute WebView pour l'automatisation naveau, supporte nativement la proposition TC39 using/await using dans JavaScriptCore, et accélère URLPattern jusqu'à 2,3×.
JetStream 3 : Le Benchmark Qui Reflète Enfin le Fonctionnement des Apps Web Modernes

JetStream 3 : Le Benchmark Qui Reflète Enfin le Fonctionnement des Apps Web Modernes

WebKit, Google et Mozilla viennent de publier JetStream 3, la première révision majeure du benchmark depuis 2019. Il abandonne les microbenchmarks au profit de workloads réalistes, refond le scoring WebAssembly, et introduit du Dart, Kotlin et Rust compilés en Wasm.
Node.js 25.9 : L'API stream/iter Arrive Enfin en Expérimental

Node.js 25.9 : L'API stream/iter Arrive Enfin en Expérimental

Node.js 25.9 ajoute un module stream/iter expérimental pour l'itération asynchrone sur les streams, un flag CLI --max-heap-size, AsyncLocalStorage avec using scopes, la crypto TurboSHAKE, et npm 11.12.1.
QuickBEAM : un runtime JavaScript pour la VM BEAM, JavaScript rencontre OTP d'Erlang

QuickBEAM : un runtime JavaScript pour la VM BEAM, JavaScript rencontre OTP d'Erlang

QuickBEAM est un runtime JavaScript qui s'exécute à l'intérieur de la VM BEAM, la même machine virtuelle qui alimente Erlang et Elixir. Il intègre JavaScript dans les arbres de supervision OTP, permet à JS d'appeler des fonctions Elixir et des bibliothèques OTP, et inclut un outil TypeScript intégré.
État de TypeScript 2026 : langage #1 sur GitHub, Project Corsa et la facture de la supply chain

État de TypeScript 2026 : langage #1 sur GitHub, Project Corsa et la facture de la supply chain

Un regard rétrospectif sur les événements majeurs qui ont redéfini la position de TypeScript dans l'écosystème JavaScript, du dépassement de JavaScript sur GitHub à la réécriture du compilateur en Go pour des builds 10x plus rapides.
Deno 2.7 Stabilise l'API Temporelle, Ajoute le Support Windows ARM et les Overrides npm

Deno 2.7 Stabilise l'API Temporelle, Ajoute le Support Windows ARM et les Overrides npm

Deno 2.7 est une version majeure du cycle : l'API Temporal est désormais en production, les builds Windows on ARM natifs arrivent, npm overrides fonctionne comme dans Node, et des dizaines d'amélioration de compatibilité Node.js atterrissent.
Node.js Mars 2026 : Six Correctifs de Sécurité Sur Toutes les Branches Actives

Node.js Mars 2026 : Six Correctifs de Sécurité Sur Toutes les Branches Actives

Node.js a publié des correctifs de sécurité d'urgence pour v25, v24, v22 et v20 le 24 mars 2026, corrigeant deux CVE à haute sévérité dont un crash TLS SNICallback et un risque de pollution prototype HTTP. Détails.
Rivet Agent OS : le système d'exploitation in-process qui exécute les agents IA à 500x moins cher que les sandboxes

Rivet Agent OS : le système d'exploitation in-process qui exécute les agents IA à 500x moins cher que les sandboxes

Soutenu par YC et a16z, Rivet a construit un runtime d'agents sur des isolats V8 et WebAssembly qui cold-starte en 4,8 ms, 92x plus rapide que E2B, pour un coût 17x inférieur. Nous avons profondément recherché l'architecture, les benchmarks et les implications.
Attaque supply chain npm sur Axios : Versions malveillantes déposent un cheval de Troie d'accès à distance

Attaque supply chain npm sur Axios : Versions malveillantes déposent un cheval de Troie d'accès à distance

Deux releases empoisonnées d'axios, l'une des bibliothèques HTTP client Node.js les plus utilisées, ont été publiées puis retirées de npm en quelques heures. Ce qui s'est passé, comment l'attaque a fonctionné, et ce que vous devez faire maintenant.
Bun v1.3.11 avec Cron natif au niveau OS et intégration au stack IA d'Anthropic

Bun v1.3.11 avec Cron natif au niveau OS et intégration au stack IA d'Anthropic

Bun v1.3.11 réduit le binaire de 4 Mo, intègre Bun.cron pour les jobs planifiés au niveau OS, et marque un moment pivot alors que le runtime rejoint Anthropic pour alimenter Claude Code.
TypeScript 6.0 Sort : La Dernière Release Basée sur JavaScript Avant la Réécriture Go

TypeScript 6.0 Sort : La Dernière Release Basée sur JavaScript Avant la Réécriture Go

Microsoft livre TypeScript 6.0 comme la dernière release construite sur le codebase JavaScript original. Mises à jour des types DOM, inférence améliorée, imports de sous-chemins et un flag de migration préparent le terrain pour le TypeScript 7.0 natif basé sur Go.
Bun vs Node vs Deno en 2026 : Le Duel des Runtimes Que Personne N'a Demandé (Mais Que Tout Le Monde Fait)

Bun vs Node vs Deno en 2026 : Le Duel des Runtimes Que Personne N'a Demandé (Mais Que Tout Le Monde Fait)

Trois runtimes JavaScript. Trois philosophies différentes. Des benchmarks indépendants à travers le throughput HTTP, les cold starts et la performance asynchrone racontent une histoire plus claire que le marketing ne pourrait jamais le faire. Voici l'analyse brutale et honnête pour les développeurs qui choisissent leur prochaine plateforme JS côté serveur.
Aperçu Natif TypeScript 7 : Project Corsa Réécrit le Compilateur en Go, Et Cela Change Tout

Aperçu Natif TypeScript 7 : Project Corsa Réécrit le Compilateur en Go, Et Cela Change Tout

La décision de Microsoft de porter le compilateur TypeScript et le service de langage vers Go n'est pas qu'une démo technique, les premiers benchmarks montrent que le codebase VS Code compile en 7,5 secondes contre 77,8 secondes. Voici ce que l'ère native signifie pour votre pipeline de build et la performance de l'éditeur.