Hacker News new | ask | show | jobs
by swyx 1099 days ago
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.

1 comments

This is why the JS ecosystem sucks...