4 ms·
I've used Svelte 3 and I like it, but honestly this is the problem I have with most JS projects. Svelte 3 had 3000+ experimental features and hacky stuff, why g
by chillbill 3y ago
I've used Svelte 3 and I like it, but honestly this is the problem I have with most JS projects. Svelte 3 had 3000+ experimental features and hacky stuff, why go into 4 when 3 itself has not mature yet?! Software support is basically the thousands of low-paid js dev jobs that companies hire to update their stack every 6 months?
- chrisweekly 3y agoI hear you, but you might be projecting a bit. FTA: > "Svelte 3 was released more than four years ago! In JavaScript-framework-time, that's eons. Svelte’s freshness has persisted throughout, but Node.js and browser APIs have evolved during that time and today we’re updating Svelte to take advantage of some of these improvements. Svelte 4 is mainly a maintenance release, bumping minimum version requirements and tightening up the design in specific areas." This seems eminently reasonable to me.
- chillbill 3y agoMaybe they shouldn't call it Svelte 4 then. Major version in semver are usually breaking.
- chrisweekly 3y agoIt definitely qualifies, given e.g. its minimum required node.js version.
- swyx 3y agoread 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 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/ 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/ 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.
- chillbill 3y agoThis is why the JS ecosystem sucks...
- toastercat 3y agoDid you read the article? Svelte 4 is mostly a maintenance release. It is largely backwards compatible with Svelte 3 code.
- chillbill 3y ago"largely"
- toastercat 3y agoI count a total of 3 API changes [1]. [1] https://svelte.dev/docs/v4-migration-guide https://svelte.dev/docs/v4-migration-guide
- deleted 3y ago[deleted]