Inertia.js v3.7.0, publiée le 31 août 2026, donne à la composante <Form> deux nouveaux moyens d'interrompre une requête encore en cours. L'attribut cancelOnUnmount, disponible dans les adaptateurs Vue, React et Svelte, annule automatiquement l'envoi lorsque le formulaire est retiré de la page, par exemple quand une fenêtre modale se ferme en plein téléversement. Il vaut false par défaut, les formulaires existants conservent donc leur comportement actuel. Par ailleurs, une méthode cancel est désormais exposée via les props du slot, la référence du composant et le contexte de formulaire, dans les trois adaptateurs, ce qui permet de brancher un bouton d'annulation explicite à côté du bouton d'envoi. Pour que cela fonctionne, la gestion des requêtes a été modifiée afin que le callback onCancelToken devienne inactif une fois la réponse arrivée, ce qui évite qu'un événement onCancel se déclenche après onSuccess dans le schéma courant où un envoi réussi ferme la modale parente du formulaire.

Upload.vue
<Form action="/avatar" method="post" cancel-on-unmount>
 <input type="file" name="avatar" />
 <button type="submit">Upload</button>
</Form>

Le hook usePoll, jusque-là limité aux fonctions start et stop, renvoie désormais aussi une valeur réactive polling indiquant si l'interrogation périodique est active, initialisée depuis l'option autoStart (true par défaut). En Vue, il s'agit d'un Ref<boolean>, en React d'un useState, et en Svelte le hook a été déplacé dans un fichier .svelte.ts adossé à $state, ce qui oblige les utilisateurs de Svelte à conserver l'objet retourné plutôt qu'à le déstructurer pour garder la réactivité.

Deux bugs au niveau du routeur ont été corrigés. Les once props, résolues une seule fois puis mises en cache côté client, perdaient leur valeur lorsqu'elles étaient combinées à des visites instantanées affichant une page de remplacement avant la fin de la vraie requête. Le routeur reporte désormais la once prop mémorisée et son entrée de registre sur la page de remplacement, sauf si la visite fournit sa propre valeur. La logique d'annulation était par ailleurs trop large: naviguer vers une nouvelle page annulait aussi des visites asynchrones indépendantes ciblant d'autres pages. L'annulation vérifie désormais l'origine et le chemin de la requête, si bien que seules les requêtes liées à la page quittée, comme les deferred props, les partial reloads, router.reload() et les polls, sont annulées, tandis que les visites asynchrones vers d'autres pages vont jusqu'au bout.

Trois autres corrections: l'adaptateur React affichait des props obsolètes après la duplication d'un onglet dans Chrome ou Firefox, ce qui déclenche une restauration de navigation back_forward (PR #3196); replaceProp(), appendToProp() et prependToProp() ne clonent plus en profondeur l'ensemble de l'objet props, ce qui évite des rendus inutiles et un coût de copie, une contribution de Svyatoslav Kryukov (PR #3194); et <Form> ne lève plus de TypeError en React lorsqu'un événement input se déclenche sur un élément de formulaire déjà démonté, une première contribution de Niek Nijland (PR #3203). La mise à jour s'installe via npm, par exemple npm install @inertiajs/vue3@^3.7.0, avec les paquets équivalents pour les adaptateurs React et Svelte.