Nitro v3 Beta : Tracing intégré, détection inteligente des dépendances et support Vercel Queues

Nitro v3 Beta : Tracing intégré, détection inteligente des dépendances et support Vercel Queues

lschvn

La beta publique de Nitro v3 continue de évoluer rapidement. La mise à jour du 15 avril (v3.0.260415-beta) apporte un ensemble de fonctionnalités axées sur l'expérience développeur et la production.

Canaux de Tracing Intégrés

L'ajout principal est le support expérimental des canaux de tracing (PR #4001). Nitro émet désormais des spans de trace structurés pour le cycle de vie des requêtes, correspondance de route, exécution de handler, cache hits/misses, timing des requêtes base de données, directement depuis le cœur du framework. Pas besoin de SDK OpenTelemetry ; le tracing est une fonctionnalité native de Nitro.

Détection Intelligente des Dépendances avec Full-trace

L'outil traceDeps de Nitro reçoit une amélioration importante (PR #4175). Le nouveau mode full-trace et les options de trace personnalisées donnent aux développeurs le contrôle sur la façon dont Nitro analyse le graphe de dépendances pendant le build.

L'amélioration clé : le tracer upstream nf3 inclut désormais une base de données de packages natifs en expansion et la détection automatique des dépendances optionnelles. Si votre projet utilise des packages avec des binaires natifs, sharp, canvas, better-sqlite3, Nitro peut désormais les détecter automatiquement et éviter un bundling incorrect, source fréquente d'erreurs "ça marche en local, ça plante en prod".

Vercel Queues et Configuration par Route

Le preset de déploiement Vercel gagne deux fonctionnalités de production.

Vercel Queues : Les handlers de routes Nitro peuvent désormais enfiler du travail asynchrone via l'infrastructure queue de Vercel. Définissez des tâches avec nitro.tasks, déployez sur Vercel, et utilisez le SDK Vercel. Le preset gère la configuration automatiquement. Cela apporte une exécution asynchrone durable sans infrastructure queue séparée.

Override de config par route : Les routes individuelles peuvent désormais surcharger la configuration de fonction Vercel par défaut, limite mémoire, timeout, maxDuration. Pratique quand une route spécifique a besoin de plus de ressources que le reste de l'application.

Tencent EdgeOne Pages

Nitro ajoute Tencent EdgeOne Pages comme cible de déploiement. Le nouveau preset edgeone-pages utilise l'API v3 de EdgeOne Pages Build Output et est documenté sur nitro.build/deploy/providers/edgeone.

Correctifs de Sécurité H3 v2

H3 passe de rc.16 à rc.20 avec plusieurs corrections importantes :

  • Protection path traversal : les doubles segments pointés encodés dans les URLs sont maintenant rejetés
  • Protection open redirect : redirectBack() valide que la cible n'utilise pas un chemin protocol-relative
  • Streaming body plus strict : applique les limites de taille quelque soit l'en-tête Content-Length
  • Conformité cookie RFC 6265bis : parsing et sérialisation des cookies alignés avec le RFC actualisé
  • Fix count cookie illimité : prévient un vecteur DoS via un nombre arbitraire de cookies

ocache et unstorage

ocache gagne l'invalidation de cache via handler.invalidate() et le support multi-tier. unstorage flush désormais proactivement les entrées mémoire expirées plutôt que d'attendre le prochain accès.

Documentation

Nitro.build introduit de nouvelles guides pour OpenAPI et WebSocket.

Cette mise à jour montre Nitro v3 se rapprochant de la GA avec des fonctionnalités d'infrastructure de production plutôt que du confort développeur.

Questions fréquentes

Articles connexes

Plus de couverture avec des sujets et tags en commun.

Turborepo 2.10.3 Reconnaît nub et aube, Deux Nouveaux Gestionnaires de Paquets Node.js en Rust par Colin McDonnell (Zod) et Jeff Dickey (mise)
typescript

Turborepo 2.10.3 Reconnaît nub et aube, Deux Nouveaux Gestionnaires de Paquets Node.js en Rust par Colin McDonnell (Zod) et Jeff Dickey (mise)

Turborepo [v2.10.3](https://github.com/vercel/turborepo/releases/tag/v2.10.3) est sorti le 2026-07-03 avec un support de première classe pour [nub](https://github.com/nubjs/nub) et [aube](https://github.com/jdx/aube), deux gestionnaires de paquets Node.js écrits en Rust qui ont émergé au printemps et à l'été 2026. nub est écrit par Colin McDonnell (créateur de [Zod](https://github.com/colinhacks/zod), 43k étoiles) et aube par Jeff Dickey (créateur de [mise](https://github.com/jdx/mise)); les deux s'intègrent à Turborepo comme valeurs `packageManager` dans `package.json` et `devEngines.packageManager`. La release apporte aussi un nouveau toggle TUI/logs-streamés, la sélection de tâches au clic dans la liste de tâches TUI, la copie automatique des sélections TUI au presse-papiers à la souris, un flag `--production` sur `turbo prune`, TypeScript 7.0.1-rc comme toolchain de workspace, thin LTO + `codegen-units=1` pour les builds de release, et une longue liste de corrections de perf sur le cache-hashing. Le signal principal: deux des builders les plus respectés du toolchain JS livrent désormais des gestionnaires de paquets qui s'appuient sur Node stock au lieu de le remplacer, et Turborepo est le premier outil de monorepo mainstream à formaliser les deux.
React Router v8 promeut ses Future Flags en valeurs par défaut, passe en ESM uniquement et abandonne `react-router-dom`
frameworks

React Router v8 promeut ses Future Flags en valeurs par défaut, passe en ESM uniquement et abandonne `react-router-dom`

React Router v8.0.0 (17 juin 2026) est la première version majeure sous le modèle de gouvernance ouverte (Open Governance) du projet et la première d'un rythme annuel planifié. Chaque indicateur `future.v8_*` de la v7 devient la valeur par défaut (middleware toujours activé, requêtes pass-through, API Vite Environment, découpage des modules de route), la base minimale passe à Node 22.22+, React 19.2.7+ et Vite 7+, tous les paquets sont publiés en ESM uniquement avec une cible ES2022, `react-router-dom` est supprimé, et les adaptateurs Node basculent vers un serveur fetch maintenu par Remix tandis que `create-react-router` abandonne son polyfill fetch pour le `fetch` natif.
Nitro v3.0.260603-beta : Commandes de Framework Personnalisées et Config defaultPreset
frameworks

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.

Commentaires

Connexion Connectez-vous pour participer à la conversation.

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