| read TFA: > "Svelte 3 was released more than four years ago... Svelte 4 is mainly a maintenance release, bumping minimum version requirements and tightening up the design in specific areas." Major Changes
breaking: Minimum supported Node version is now Node 16 (#8566) breaking: Minimum supported webpack version is now webpack 5 (#8515) breaking: Bundlers must specify the browser condition when building a frontend bundle for the browser (#8516) breaking: Minimum supported vite-plugin-svelte version is now 2.4.1. SvelteKit users can upgrade to 1.20.0 or newer to ensure a compatible version ([#8516] (#8516)) breaking: Minimum supported rollup-plugin-svelte version is now 7.1.5 (198dbcf) breaking: Minimum supported svelte-loader is now 3.1.8 (198dbcf) breaking: Minimum supported TypeScript version is now TypeScript 5 (it will likely work with lower versions, but we make no guarantees about that) ([#8488] (#8488)) breaking: Remove svelte/register hook, CJS runtime version and CJS compiler output (#8613) breaking: Stricter types for createEventDispatcher (see PR for migration instructions) (#7224) breaking: Stricter types for Action and ActionReturn (see PR for migration instructions) (#7442) breaking: Stricter types for onMount - now throws a type error when returning a function asynchronously to catch potential mistakes around callback functions (see PR for migration instructions) (#8136) breaking: Overhaul and drastically improve creating custom elements with Svelte (see PR for list of changes and migration instructions) ([#8457](https://github. com//pull/8457)) breaking: Deprecate SvelteComponentTyped in favor of SvelteComponent (#8512) breaking: Make transitions local by default to prevent confusion around page navigations (#6686) breaking: Error on falsy values instead of stores passed to derived (#7947) breaking: Custom store implementers now need to pass an update function additionally to the set function ([#6750](https://github.com/sveltejs/svelte/pull/ 6750)) breaking: Do not expose default slot bindings to named slots and vice versa (#6049) breaking: Change order in which preprocessors are applied (#8618) breaking: The runtime now makes use of classList.toggle(name, boolean) which does not work in very old browsers ([#8629](https://github.com/sveltejs/svelte/ pull/8629)) breaking: apply inert to outroing elements (#8627) breaking: use CustomEvent constructor instead of deprecated createEvent method (#8775) These are just catch up releases, nothing seriously breaking. to give you perspective, Nodejs went from v10 to v20 in the same time frame. |