sveltejs / svelte · Issue No. 18583
Svelte 5 deprecated beforeUpdate and afterUpdate. onMount should go to. It is implemented as an effect that runs its callback inside untrack:
user_effect(() => {
const cleanup = untrack(fn);
if (typeof cleanup === 'function') return cleanup;
});
We already say "onMount is just effect untracked" (#16556), so why not just show it that way. In a runes component onMount(fn) and $effect(() => untrack(fn)) are the same thing, and keeping two sanctioned spellings of one behavior means the docs teach a lifecycle model the rest of Svelte 5 abandoned.
The precedent already exists. beforeUpdate/afterUpdate stayed available in legacy mode and became errors in runes mode. onMount can follow the same path.
Relay reads this issue against the repository's contribution signals: the files it is likely to touch, how the maintainers triage work this size, and what the first contribution would exercise.
The full analysis for this issue is still being assembled. Until then, the description above and the thread on GitHub are the most reliable context.