diff --git a/.REFACTOR_NOTES.md b/.REFACTOR_NOTES.md new file mode 100644 index 00000000000..94fe1b685c5 --- /dev/null +++ b/.REFACTOR_NOTES.md @@ -0,0 +1,44 @@ +1 << 0 | 001 | static listeners +1 << 1 | 002 | static subtree + +## Slots + +```typescript +const Parent = component$(() => { + return ( + + Projection Content + Secondary Content + Other Content + + }; +}); + +const Child = component$(() => { + return ( +
+ Default Primary + Default Secondary +
+ ); +}); +``` + +```html + + +
+ + Projected Content + + + + Secondary Content + +
+
+ +
+``` diff --git a/.changeset/afraid-bags-jam.md b/.changeset/afraid-bags-jam.md new file mode 100644 index 00000000000..fc00f500181 --- /dev/null +++ b/.changeset/afraid-bags-jam.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: Resource without onPending callback diff --git a/.changeset/afraid-garlics-greet.md b/.changeset/afraid-garlics-greet.md new file mode 100644 index 00000000000..bc9283e30da --- /dev/null +++ b/.changeset/afraid-garlics-greet.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: don't escape value attribute diff --git a/.changeset/afraid-wolves-heal.md b/.changeset/afraid-wolves-heal.md new file mode 100644 index 00000000000..405a7263694 --- /dev/null +++ b/.changeset/afraid-wolves-heal.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: checking if object is serializable in dev mode diff --git a/.changeset/all-cloths-hammer.md b/.changeset/all-cloths-hammer.md new file mode 100644 index 00000000000..4a2db064fba --- /dev/null +++ b/.changeset/all-cloths-hammer.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +FEAT: the QRL segment mapping during Vite dev mode now happens in core and does not require providing a separate `symbolMapper` function any more. diff --git a/.changeset/all-poets-sink.md b/.changeset/all-poets-sink.md new file mode 100644 index 00000000000..98f107fbf63 --- /dev/null +++ b/.changeset/all-poets-sink.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: defer setting scoped style until jsx is resolved diff --git a/.changeset/angry-boats-lose.md b/.changeset/angry-boats-lose.md new file mode 100644 index 00000000000..22add4b4ade --- /dev/null +++ b/.changeset/angry-boats-lose.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/router': patch +--- + +Bugfix - rename the view transition type in CSS to prevent default view transition on SPA navigation diff --git a/.changeset/angry-grapes-itch.md b/.changeset/angry-grapes-itch.md new file mode 100644 index 00000000000..a4af4b3c5d7 --- /dev/null +++ b/.changeset/angry-grapes-itch.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: rendering attribute value from array of classes from spread props diff --git a/.changeset/angry-jokes-brush.md b/.changeset/angry-jokes-brush.md new file mode 100644 index 00000000000..dfcae89f3e8 --- /dev/null +++ b/.changeset/angry-jokes-brush.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +FIX: Qwik vite plugin respects outDir change diff --git a/.changeset/better-shrimps-sin.md b/.changeset/better-shrimps-sin.md new file mode 100644 index 00000000000..a9dc57aad3c --- /dev/null +++ b/.changeset/better-shrimps-sin.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/router': patch +--- + +fix: adding popstate and scroll event for SPA navigation diff --git a/.changeset/blue-beans-happen.md b/.changeset/blue-beans-happen.md new file mode 100644 index 00000000000..2767fb83652 --- /dev/null +++ b/.changeset/blue-beans-happen.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/router': patch +--- + +fix: using routeLoader$ result as component prop diff --git a/.changeset/brave-files-grin.md b/.changeset/brave-files-grin.md new file mode 100644 index 00000000000..7b1e6c2bb05 --- /dev/null +++ b/.changeset/brave-files-grin.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: reduced number of errors "Cannot serialize function" during serialization diff --git a/.changeset/bright-cloths-film.md b/.changeset/bright-cloths-film.md new file mode 100644 index 00000000000..8198ce9ee08 --- /dev/null +++ b/.changeset/bright-cloths-film.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +Fix: Better configuration of Vite's optimizeDeps, preventing false duplication warnings, and verifying that Qwik dependencies are not in optimizeDeps. diff --git a/.changeset/bright-cows-sell.md b/.changeset/bright-cows-sell.md new file mode 100644 index 00000000000..6cad08879b7 --- /dev/null +++ b/.changeset/bright-cows-sell.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: resuming a component using styles and a text node diff --git a/.changeset/brown-ravens-behave.md b/.changeset/brown-ravens-behave.md new file mode 100644 index 00000000000..2753f83f5e3 --- /dev/null +++ b/.changeset/brown-ravens-behave.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: updating signal-based props diff --git a/.changeset/calm-cycles-know.md b/.changeset/calm-cycles-know.md new file mode 100644 index 00000000000..1b0fc3ab1a1 --- /dev/null +++ b/.changeset/calm-cycles-know.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: serialization of an array of refs diff --git a/.changeset/chilled-spoons-wonder.md b/.changeset/chilled-spoons-wonder.md new file mode 100644 index 00000000000..262ae2d7438 --- /dev/null +++ b/.changeset/chilled-spoons-wonder.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: prevent multiple store deserialization diff --git a/.changeset/chilly-fans-shave.md b/.changeset/chilly-fans-shave.md new file mode 100644 index 00000000000..dba9d9d3c20 --- /dev/null +++ b/.changeset/chilly-fans-shave.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: don't wrap template literals with a function call inside them in a signal diff --git a/.changeset/clear-shoes-cheat.md b/.changeset/clear-shoes-cheat.md new file mode 100644 index 00000000000..8bd9091e8c6 --- /dev/null +++ b/.changeset/clear-shoes-cheat.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +FEAT: `qwikVite` now accepts `ssr.manifestInputPath` for when the `q-manifest.json` file from the client build is at an unexpected location. diff --git a/.changeset/clever-flowers-drum.md b/.changeset/clever-flowers-drum.md new file mode 100644 index 00000000000..f9d34076769 --- /dev/null +++ b/.changeset/clever-flowers-drum.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: using ref inside useContext diff --git a/.changeset/cold-moons-follow.md b/.changeset/cold-moons-follow.md new file mode 100644 index 00000000000..3a97ce6fcc6 --- /dev/null +++ b/.changeset/cold-moons-follow.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: infinity loop while tracking element ref diff --git a/.changeset/cold-rice-slide.md b/.changeset/cold-rice-slide.md new file mode 100644 index 00000000000..6f15856a353 --- /dev/null +++ b/.changeset/cold-rice-slide.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: proper empty props diffing diff --git a/.changeset/common-breads-wait.md b/.changeset/common-breads-wait.md new file mode 100644 index 00000000000..eacfd91f201 --- /dev/null +++ b/.changeset/common-breads-wait.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/router': patch +--- + +FIX: Zod validator uses defined locale for the current request diff --git a/.changeset/config.json b/.changeset/config.json index 705002fcff7..a20f03b694f 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -2,16 +2,16 @@ "$schema": "https://unpkg.com/@changesets/config@3.0.1/schema.json", "changelog": ["./changelog-github-custom.cjs", { "repo": "QwikDev/qwik" }], "commit": false, - "fixed": [["@builder.io/qwik", "@builder.io/qwik-city", "eslint-plugin-qwik", "create-qwik"]], + "fixed": [ + ["@qwik.dev/core", "@qwik.dev/router", "eslint-plugin-qwik", "create-qwik", "@qwik.dev/react"] + ], "linked": [], "access": "public", - "baseBranch": "origin/upcoming", + "baseBranch": "origin/build/v2", "updateInternalDependencies": "minor", "ignore": [ "qwik-docs", - "@builder.io/qwik-labs", "insights", - "@builder.io/qwik-worker", "qwik-cli-e2e", "qwik-react-test-app", "docs-e2e" diff --git a/.changeset/crazy-dodos-attend.md b/.changeset/crazy-dodos-attend.md new file mode 100644 index 00000000000..7840604ddfa --- /dev/null +++ b/.changeset/crazy-dodos-attend.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: serializing reused qrl diff --git a/.changeset/cyan-bottles-speak.md b/.changeset/cyan-bottles-speak.md new file mode 100644 index 00000000000..fcdcf0536a7 --- /dev/null +++ b/.changeset/cyan-bottles-speak.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: creating error overlay diff --git a/.changeset/cyan-walls-sing.md b/.changeset/cyan-walls-sing.md new file mode 100644 index 00000000000..a87c32aba38 --- /dev/null +++ b/.changeset/cyan-walls-sing.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: reuse the same props instance when props are changing diff --git a/.changeset/dark-eagles-tap.md b/.changeset/dark-eagles-tap.md new file mode 100644 index 00000000000..b3faabeafc8 --- /dev/null +++ b/.changeset/dark-eagles-tap.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: ignore diffing for deleted parent diff --git a/.changeset/deep-places-allow.md b/.changeset/deep-places-allow.md new file mode 100644 index 00000000000..f8592f12c9b --- /dev/null +++ b/.changeset/deep-places-allow.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +feat: rename .resolve() to .promise() diff --git a/.changeset/dirty-lemons-shop.md b/.changeset/dirty-lemons-shop.md new file mode 100644 index 00000000000..5d8e229f1a1 --- /dev/null +++ b/.changeset/dirty-lemons-shop.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: reexecute component with null key diff --git a/.changeset/dirty-lines-march.md b/.changeset/dirty-lines-march.md new file mode 100644 index 00000000000..55aa90a1bc8 --- /dev/null +++ b/.changeset/dirty-lines-march.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +feat: implement new SerializationWeakRef class for values that can be not serialized diff --git a/.changeset/dull-insects-slide.md b/.changeset/dull-insects-slide.md new file mode 100644 index 00000000000..17c5b4657a2 --- /dev/null +++ b/.changeset/dull-insects-slide.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +feat: make props more reactive for var props diff --git a/.changeset/eager-coats-retire.md b/.changeset/eager-coats-retire.md new file mode 100644 index 00000000000..02568fcc19f --- /dev/null +++ b/.changeset/eager-coats-retire.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: allow to modify inline component's children component props diff --git a/.changeset/easy-geese-watch.md b/.changeset/easy-geese-watch.md new file mode 100644 index 00000000000..911f65ffd4e --- /dev/null +++ b/.changeset/easy-geese-watch.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: convert any destructured props to restProps helper diff --git a/.changeset/eighty-ligers-wink.md b/.changeset/eighty-ligers-wink.md new file mode 100644 index 00000000000..0e5e73b1ac3 --- /dev/null +++ b/.changeset/eighty-ligers-wink.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: correctly handle initial resource state diff --git a/.changeset/eighty-points-argue.md b/.changeset/eighty-points-argue.md new file mode 100644 index 00000000000..21f11f3f004 --- /dev/null +++ b/.changeset/eighty-points-argue.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: async computed signal promise rejection diff --git a/.changeset/empty-mails-laugh.md b/.changeset/empty-mails-laugh.md new file mode 100644 index 00000000000..41b12ffda5a --- /dev/null +++ b/.changeset/empty-mails-laugh.md @@ -0,0 +1,9 @@ +--- +'supabase-auth-helpers-qwik': major +'create-qwik': major +'@qwik.dev/router': major +'@qwik.dev/react': major +'@qwik.dev/core': major +--- + +BREAKING: the CJS/UMD builds have been removed; ESM is well-supported everywhere and allows better optimizations. diff --git a/.changeset/every-badgers-bake.md b/.changeset/every-badgers-bake.md new file mode 100644 index 00000000000..40b216079f5 --- /dev/null +++ b/.changeset/every-badgers-bake.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/router': minor +--- + +FEAT: useQwikRouter() hook replaces QwikRouterProvider. This gives access to the context immediately and is slightly more efficient. diff --git a/.changeset/fair-cameras-boil.md b/.changeset/fair-cameras-boil.md new file mode 100644 index 00000000000..da52dcd02a7 --- /dev/null +++ b/.changeset/fair-cameras-boil.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: change client side generated ID to start with build base and add convert first character to letter if it is starting from number diff --git a/.changeset/famous-numbers-kneel.md b/.changeset/famous-numbers-kneel.md new file mode 100644 index 00000000000..bc08f538218 --- /dev/null +++ b/.changeset/famous-numbers-kneel.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +feat: expose invalidate method for computed-like signals diff --git a/.changeset/fast-baboons-itch.md b/.changeset/fast-baboons-itch.md new file mode 100644 index 00000000000..c143d2a6e8a --- /dev/null +++ b/.changeset/fast-baboons-itch.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': major +--- + +BREAKING: remove HTML-related types. Use PropsOf instead. diff --git a/.changeset/few-mugs-accept.md b/.changeset/few-mugs-accept.md new file mode 100644 index 00000000000..6f9ca38be04 --- /dev/null +++ b/.changeset/few-mugs-accept.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: null or undefined as ref attribute value diff --git a/.changeset/five-kangaroos-matter.md b/.changeset/five-kangaroos-matter.md new file mode 100644 index 00000000000..caa63e24785 --- /dev/null +++ b/.changeset/five-kangaroos-matter.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': major +--- + +💥**BREAKING**: `useComputed` no longer allows Promise returns. (meaning it is strictly sync) Instead, use `useSignal` and `useTask` together to perform async signal updates diff --git a/.changeset/five-shoes-deny.md b/.changeset/five-shoes-deny.md new file mode 100644 index 00000000000..83e3fb8cfa1 --- /dev/null +++ b/.changeset/five-shoes-deny.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: prevent infinity loop by inserting the same projection before itself diff --git a/.changeset/flat-hounds-burn.md b/.changeset/flat-hounds-burn.md new file mode 100644 index 00000000000..ce327ad650b --- /dev/null +++ b/.changeset/flat-hounds-burn.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/router': minor +--- + +feat: add `DocumentHeadTags` component and make the `head.styles` and `head.scripts` types more like the `head.meta` and `head.links` types. diff --git a/.changeset/fluffy-poets-raise.md b/.changeset/fluffy-poets-raise.md new file mode 100644 index 00000000000..55c0e6bf676 --- /dev/null +++ b/.changeset/fluffy-poets-raise.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: custom event names and DOMContentLoaded handling diff --git a/.changeset/fluffy-times-hug.md b/.changeset/fluffy-times-hug.md new file mode 100644 index 00000000000..244fe942efe --- /dev/null +++ b/.changeset/fluffy-times-hug.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: calling sync qrls should not go through scheduler diff --git a/.changeset/forty-garlics-train.md b/.changeset/forty-garlics-train.md new file mode 100644 index 00000000000..b45123a890d --- /dev/null +++ b/.changeset/forty-garlics-train.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: store effects cleanup diff --git a/.changeset/free-needles-live.md b/.changeset/free-needles-live.md new file mode 100644 index 00000000000..4521550f0d6 --- /dev/null +++ b/.changeset/free-needles-live.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +FEAT: All vite.config.mts files got renamed to vite.config.ts files, because all starters are marked as ESM projects diff --git a/.changeset/fresh-rocks-exercise.md b/.changeset/fresh-rocks-exercise.md new file mode 100644 index 00000000000..28ff44c88d0 --- /dev/null +++ b/.changeset/fresh-rocks-exercise.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +feat: new integration tests that are running with the optimizer diff --git a/.changeset/friendly-beers-heal.md b/.changeset/friendly-beers-heal.md new file mode 100644 index 00000000000..489f8b4107e --- /dev/null +++ b/.changeset/friendly-beers-heal.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: attribute diffing was not working correctly in some edge cases diff --git a/.changeset/friendly-gorillas-walk.md b/.changeset/friendly-gorillas-walk.md new file mode 100644 index 00000000000..803223e3e70 --- /dev/null +++ b/.changeset/friendly-gorillas-walk.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +FIX: types error when migrating to V2 with `moduleResulution: "node"` diff --git a/.changeset/friendly-sloths-return.md b/.changeset/friendly-sloths-return.md new file mode 100644 index 00000000000..f3cda8ab3a2 --- /dev/null +++ b/.changeset/friendly-sloths-return.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: projection siblings serialization diff --git a/.changeset/funny-apricots-learn.md b/.changeset/funny-apricots-learn.md new file mode 100644 index 00000000000..4fb9c305ffb --- /dev/null +++ b/.changeset/funny-apricots-learn.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: moving existing virtual node during vnode diffing diff --git a/.changeset/funny-feet-wish.md b/.changeset/funny-feet-wish.md new file mode 100644 index 00000000000..774cac926c8 --- /dev/null +++ b/.changeset/funny-feet-wish.md @@ -0,0 +1,5 @@ +--- +'eslint-plugin-qwik': minor +--- + +feat: add eslint rule for resolving async computed diff --git a/.changeset/fuzzy-files-kiss.md b/.changeset/fuzzy-files-kiss.md new file mode 100644 index 00000000000..e247367a082 --- /dev/null +++ b/.changeset/fuzzy-files-kiss.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: don't wrap function calls in signal diff --git a/.changeset/fuzzy-jobs-compare.md b/.changeset/fuzzy-jobs-compare.md new file mode 100644 index 00000000000..5b55fe46fe0 --- /dev/null +++ b/.changeset/fuzzy-jobs-compare.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: component props as var props diff --git a/.changeset/fuzzy-worlds-kneel.md b/.changeset/fuzzy-worlds-kneel.md new file mode 100644 index 00000000000..ce054e74feb --- /dev/null +++ b/.changeset/fuzzy-worlds-kneel.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/router': patch +--- + +fix: trim script added by vite in dev mode diff --git a/.changeset/gentle-laws-see.md b/.changeset/gentle-laws-see.md new file mode 100644 index 00000000000..4abc320ff21 --- /dev/null +++ b/.changeset/gentle-laws-see.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/router': minor +--- + +FEAT: if a server$ function throws an error that is not a `ServerError`, it will now log the error on the server diff --git a/.changeset/gentle-melons-pretend.md b/.changeset/gentle-melons-pretend.md new file mode 100644 index 00000000000..9d490c6017c --- /dev/null +++ b/.changeset/gentle-melons-pretend.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: convert destructured string prop to props variable diff --git a/.changeset/great-news-lie.md b/.changeset/great-news-lie.md new file mode 100644 index 00000000000..e314a95a337 --- /dev/null +++ b/.changeset/great-news-lie.md @@ -0,0 +1,10 @@ +--- +'@qwik.dev/router': minor +'@qwik.dev/core': minor +--- + +Feat: split Qwik Core and Router dev experience. Core now only adjusts the html using the Vite hook for it, so it can work in any environment or client-only. You can make a Qwik application client-only by running `qwik add csr` now. +Feat: Qwik Route now runs dev mode using the node middleware, which is the same as production, and can now hot-reload when routes are added. It does this by transforming the response while it streams to add the dev scripts. This opens the door for Vite Environment support. +Feat: `qwikVite()` SSR builds now reads the manifest from the client build whenever possible. You can still pass in the manifest yourself if needed. +Fix: Qwik Router's Vite plugin no longer imports Qwik Core, a cause of duplicate imports in dev and preview mode. +Fix: Sometimes, SSG hangs after completion. The cause is still unknown, but now there is a workaround by forcing the process to exit after SSG is done. diff --git a/.changeset/green-days-give.md b/.changeset/green-days-give.md new file mode 100644 index 00000000000..e9c0cd1dd11 --- /dev/null +++ b/.changeset/green-days-give.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +feat: introduce deferUpdates option for useTask$ diff --git a/.changeset/green-drinks-strive.md b/.changeset/green-drinks-strive.md new file mode 100644 index 00000000000..b124d7097ea --- /dev/null +++ b/.changeset/green-drinks-strive.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/router': minor +--- + +FEAT: qwikRouter middleware no longer needs qwikRouterConfig, it handles it internally diff --git a/.changeset/happy-banks-dream.md b/.changeset/happy-banks-dream.md new file mode 100644 index 00000000000..402660ee916 --- /dev/null +++ b/.changeset/happy-banks-dream.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +FEAT: `bind:checked` and `bind:value` now also work through spread props, and they result in less code. diff --git a/.changeset/heavy-clouds-walk.md b/.changeset/heavy-clouds-walk.md new file mode 100644 index 00000000000..e01a5606086 --- /dev/null +++ b/.changeset/heavy-clouds-walk.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +feat: support promises in attributes diff --git a/.changeset/heavy-kids-wave.md b/.changeset/heavy-kids-wave.md new file mode 100644 index 00000000000..30a2e8ac3b2 --- /dev/null +++ b/.changeset/heavy-kids-wave.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: rendering markdown file with Qwik component diff --git a/.changeset/heavy-maps-wash.md b/.changeset/heavy-maps-wash.md new file mode 100644 index 00000000000..376c6956e80 --- /dev/null +++ b/.changeset/heavy-maps-wash.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/router': patch +--- + +fix: getting invoke context for loaders in production diff --git a/.changeset/heavy-radios-dream.md b/.changeset/heavy-radios-dream.md new file mode 100644 index 00000000000..8db7e56e562 --- /dev/null +++ b/.changeset/heavy-radios-dream.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +FIX: QRLs are now scheduled instead of directly executed by qwik-loader, so that they are executed in the right order. diff --git a/.changeset/heavy-seas-carry.md b/.changeset/heavy-seas-carry.md new file mode 100644 index 00000000000..d5d1582094b --- /dev/null +++ b/.changeset/heavy-seas-carry.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: encode the `q:subs` property diff --git a/.changeset/hip-hornets-cheer.md b/.changeset/hip-hornets-cheer.md new file mode 100644 index 00000000000..80a614bb89c --- /dev/null +++ b/.changeset/hip-hornets-cheer.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +feat: new simpler signals implementation with lazy useComputed$ execution, only when is needed diff --git a/.changeset/hip-points-kick.md b/.changeset/hip-points-kick.md new file mode 100644 index 00000000000..338fb9beef0 --- /dev/null +++ b/.changeset/hip-points-kick.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: the @qwik-handlers aren't properly handled in dev mode for library projects diff --git a/.changeset/honest-berries-knock.md b/.changeset/honest-berries-knock.md new file mode 100644 index 00000000000..ec8185eaf03 --- /dev/null +++ b/.changeset/honest-berries-knock.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +feat: add SSR backpatching (attributes-only) to ensure SSR/CSR parity for signal-driven attributes; limited to attribute updates (not OoO streaming) diff --git a/.changeset/honest-pears-sniff.md b/.changeset/honest-pears-sniff.md new file mode 100644 index 00000000000..2d9d57a57e2 --- /dev/null +++ b/.changeset/honest-pears-sniff.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: serialize less vnode data diff --git a/.changeset/itchy-comics-develop.md b/.changeset/itchy-comics-develop.md new file mode 100644 index 00000000000..c37c1332be0 --- /dev/null +++ b/.changeset/itchy-comics-develop.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: different component rendering with the same key diff --git a/.changeset/kind-toes-glow.md b/.changeset/kind-toes-glow.md new file mode 100644 index 00000000000..3478fd452d0 --- /dev/null +++ b/.changeset/kind-toes-glow.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: export SVG type from qwik/core diff --git a/.changeset/large-houses-watch.md b/.changeset/large-houses-watch.md new file mode 100644 index 00000000000..3471c878d4a --- /dev/null +++ b/.changeset/large-houses-watch.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +FIX: the `srcInput` option to `qwikVite` is deprecated because it's unused. diff --git a/.changeset/large-turtles-write.md b/.changeset/large-turtles-write.md new file mode 100644 index 00000000000..f75d8aaa91f --- /dev/null +++ b/.changeset/large-turtles-write.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: don't emit script before qwik style element diff --git a/.changeset/lazy-tigers-dig.md b/.changeset/lazy-tigers-dig.md new file mode 100644 index 00000000000..c0fe8fcdc3e --- /dev/null +++ b/.changeset/lazy-tigers-dig.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +feat: new async scheduler diff --git a/.changeset/lemon-dingos-dance.md b/.changeset/lemon-dingos-dance.md new file mode 100644 index 00000000000..d01b451ab60 --- /dev/null +++ b/.changeset/lemon-dingos-dance.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +BREAKING: (slightly) Qwik will no longer scan all modules at build start to detect Qwik modules (which should be bundled into your server code). Instead, a much faster build-time check is done, and Qwik will tell you if you need to update your `ssr.noExternal` settings in your Vite config. diff --git a/.changeset/lemon-tools-bathe.md b/.changeset/lemon-tools-bathe.md new file mode 100644 index 00000000000..3b097d7d35a --- /dev/null +++ b/.changeset/lemon-tools-bathe.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +FIX: optimizer is now better at recognizing constProp diff --git a/.changeset/little-ways-deny.md b/.changeset/little-ways-deny.md new file mode 100644 index 00000000000..53f6ec85f3f --- /dev/null +++ b/.changeset/little-ways-deny.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +feat: new hook - useAsyncComputed$ in replacement of useComputed$ with async operations diff --git a/.changeset/long-shirts-thank.md b/.changeset/long-shirts-thank.md new file mode 100644 index 00000000000..5204b0320bb --- /dev/null +++ b/.changeset/long-shirts-thank.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: create svg nested children with correct namespace diff --git a/.changeset/loud-cars-run.md b/.changeset/loud-cars-run.md deleted file mode 100644 index c80efdfa062..00000000000 --- a/.changeset/loud-cars-run.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@builder.io/qwik': minor ---- - -PERF: Computed signals now only trigger listeners if their value has changed diff --git a/.changeset/loud-dolphins-relate.md b/.changeset/loud-dolphins-relate.md new file mode 100644 index 00000000000..28521f3f36a --- /dev/null +++ b/.changeset/loud-dolphins-relate.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: finding context parent and sorting projections in the scheduler diff --git a/.changeset/many-forks-ring.md b/.changeset/many-forks-ring.md new file mode 100644 index 00000000000..da72f993e4f --- /dev/null +++ b/.changeset/many-forks-ring.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: avoid potential name conflicts with rest props diff --git a/.changeset/many-tips-win.md b/.changeset/many-tips-win.md new file mode 100644 index 00000000000..e52f53a2c14 --- /dev/null +++ b/.changeset/many-tips-win.md @@ -0,0 +1,6 @@ +--- +'@qwik.dev/core': minor +'@qwik.dev/router': patch +--- + +FEAT: Server output chunk files are now under their own build/ subdir, like the client build. This makes it easier to override the chunk filenames. This is possible because the Router metadata files are now an earlier part of the build process. diff --git a/.changeset/mean-dingos-hug.md b/.changeset/mean-dingos-hug.md new file mode 100644 index 00000000000..705ba076cb2 --- /dev/null +++ b/.changeset/mean-dingos-hug.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +feat: move signal invalidation to the scheduler diff --git a/.changeset/mean-parents-buy.md b/.changeset/mean-parents-buy.md new file mode 100644 index 00000000000..ed4f50182e8 --- /dev/null +++ b/.changeset/mean-parents-buy.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: replace inline component with component$ with the same key diff --git a/.changeset/mean-tires-cover.md b/.changeset/mean-tires-cover.md new file mode 100644 index 00000000000..5e02b27310d --- /dev/null +++ b/.changeset/mean-tires-cover.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +feat: expose `loading` and `error` fields of async computed signal diff --git a/.changeset/mean-webs-try.md b/.changeset/mean-webs-try.md new file mode 100644 index 00000000000..a0e9ca2780e --- /dev/null +++ b/.changeset/mean-webs-try.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: backpatches ignore unknown nodes diff --git a/.changeset/nervous-terms-explode.md b/.changeset/nervous-terms-explode.md new file mode 100644 index 00000000000..3ac190db6c4 --- /dev/null +++ b/.changeset/nervous-terms-explode.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +feat: better node attributes serialization diff --git a/.changeset/nice-teams-grow.md b/.changeset/nice-teams-grow.md new file mode 100644 index 00000000000..51b48aede30 --- /dev/null +++ b/.changeset/nice-teams-grow.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: ensure DOM is updated during long running tasks diff --git a/.changeset/nine-otters-repeat.md b/.changeset/nine-otters-repeat.md new file mode 100644 index 00000000000..807574de712 --- /dev/null +++ b/.changeset/nine-otters-repeat.md @@ -0,0 +1,35 @@ +--- +'@qwik.dev/core': major +--- + +`qwik-labs` package has been removed in favor of experimental features. +So the "Insights" vite plugin and components have been moved to core as an experimental feature. + +In order to use it, you need to - + +**1)** add `insights` to the experimental array in `vite.config.ts`: + +```ts +qwikVite({ + experimental: ['insights'] +}), +``` + +**2)** Import and use the `qwikInsights` vite plugin from `@qwik.dev/core/insights/vite`: + +```ts +import { qwikInsights } from '@qwik.dev/core/insights/vite'; +``` + +**3)** import the `` component from `@qwik.dev/core/insights` and use it in your `root.tsx` file: : + +```tsx title="root.tsx" +import { Insights } from '@qwik.dev/core/insights'; + +// ...rest of root.tsx file + +return ( + + /* ...qwik app */ +); +``` diff --git a/.changeset/ninety-crabs-lay.md b/.changeset/ninety-crabs-lay.md new file mode 100644 index 00000000000..5665a8a037b --- /dev/null +++ b/.changeset/ninety-crabs-lay.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: preserve innerHTML after component rerender diff --git a/.changeset/ninety-pets-win.md b/.changeset/ninety-pets-win.md new file mode 100644 index 00000000000..93a710f1178 --- /dev/null +++ b/.changeset/ninety-pets-win.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: blocking slot parent and parent order diff --git a/.changeset/old-guests-stare.md b/.changeset/old-guests-stare.md new file mode 100644 index 00000000000..d08ad40d8cf --- /dev/null +++ b/.changeset/old-guests-stare.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: subscribe to signals on computed signal recomputation diff --git a/.changeset/old-mangos-return.md b/.changeset/old-mangos-return.md new file mode 100644 index 00000000000..2869373840c --- /dev/null +++ b/.changeset/old-mangos-return.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: maximum component rerender retries diff --git a/.changeset/old-mayflies-fetch.md b/.changeset/old-mayflies-fetch.md new file mode 100644 index 00000000000..1b47c91d512 --- /dev/null +++ b/.changeset/old-mayflies-fetch.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: the use hook didn't work when type is Slot. diff --git a/.changeset/olive-cameras-collect.md b/.changeset/olive-cameras-collect.md new file mode 100644 index 00000000000..4a5cdb5c658 --- /dev/null +++ b/.changeset/olive-cameras-collect.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +CHORE: replace the `_hW` export in segments with a shared export `_task` in core. This opens up using QRLs from core. diff --git a/.changeset/olive-yaks-prove.md b/.changeset/olive-yaks-prove.md new file mode 100644 index 00000000000..f2e8ec6239c --- /dev/null +++ b/.changeset/olive-yaks-prove.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: don't wrap static objects with signal diff --git a/.changeset/open-beds-grab.md b/.changeset/open-beds-grab.md new file mode 100644 index 00000000000..7ee62465733 --- /dev/null +++ b/.changeset/open-beds-grab.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: render SVG attributes with correct namespace diff --git a/.changeset/orange-otters-attend.md b/.changeset/orange-otters-attend.md new file mode 100644 index 00000000000..8f1d2f204fe --- /dev/null +++ b/.changeset/orange-otters-attend.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +feat: emit "qrender" event after every render diff --git a/.changeset/orange-planes-kiss.md b/.changeset/orange-planes-kiss.md new file mode 100644 index 00000000000..f33cc1489ee --- /dev/null +++ b/.changeset/orange-planes-kiss.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +feat: change behavior of useAsyncComputed$ to throw only once diff --git a/.changeset/petite-experts-press.md b/.changeset/petite-experts-press.md new file mode 100644 index 00000000000..448493d1757 --- /dev/null +++ b/.changeset/petite-experts-press.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/router': minor +--- + +feat: extend routeLoader$ signal type and eslint rule diff --git a/.changeset/plain-eggs-clean.md b/.changeset/plain-eggs-clean.md new file mode 100644 index 00000000000..f93f91b8b68 --- /dev/null +++ b/.changeset/plain-eggs-clean.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: handling spread props on element node diff --git a/.changeset/polite-parents-win.md b/.changeset/polite-parents-win.md new file mode 100644 index 00000000000..786c4564c93 --- /dev/null +++ b/.changeset/polite-parents-win.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +feat: add resolve method for async computed diff --git a/.changeset/polite-sloths-visit.md b/.changeset/polite-sloths-visit.md new file mode 100644 index 00000000000..dca422844be --- /dev/null +++ b/.changeset/polite-sloths-visit.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/router': minor +--- + +fix: the SSR internal build imports `@qwik-router-not-found-paths` and `@qwik-router-static-paths` are no longer used. Instead, the data is embedded directly. This might be a breaking change for some users that forked an adapter, in that case just remove the imports. diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 00000000000..d122cd8e128 --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,197 @@ +{ + "mode": "pre", + "tag": "beta", + "initialVersions": { + "create-qwik": "2.0.0-0", + "qwik-docs": "0.0.1", + "eslint-plugin-qwik": "2.0.0-0", + "@qwik.dev/core": "2.0.0-0", + "@qwik.dev/router": "2.0.0-0", + "insights": "0.1.0", + "@qwik.dev/dom": "2.1.19", + "@qwik.dev/react": "2.0.0-0", + "supabase-auth-helpers-qwik": "0.0.3", + "qwik-cli-e2e": "0.0.0" + }, + "branch": "build/v2", + "changesets": [ + "afraid-bags-jam", + "afraid-garlics-greet", + "afraid-wolves-heal", + "all-cloths-hammer", + "angry-boats-lose", + "angry-grapes-itch", + "angry-jokes-brush", + "better-shrimps-sin", + "blue-beans-happen", + "brave-files-grin", + "bright-cloths-film", + "bright-cows-sell", + "brown-ravens-behave", + "calm-cycles-know", + "chilled-spoons-wonder", + "chilly-fans-shave", + "clear-shoes-cheat", + "clever-flowers-drum", + "cold-moons-follow", + "cold-rice-slide", + "common-breads-wait", + "crazy-dodos-attend", + "cyan-bottles-speak", + "cyan-walls-sing", + "dark-eagles-tap", + "deep-places-allow", + "dirty-lemons-shop", + "dirty-lines-march", + "eager-coats-retire", + "easy-geese-watch", + "eighty-ligers-wink", + "eighty-points-argue", + "empty-mails-laugh", + "every-badgers-bake", + "fair-cameras-boil", + "famous-numbers-kneel", + "fast-baboons-itch", + "few-mugs-accept", + "five-kangaroos-matter", + "five-shoes-deny", + "flat-hounds-burn", + "fluffy-poets-raise", + "fluffy-times-hug", + "forty-garlics-train", + "free-needles-live", + "fresh-rocks-exercise", + "friendly-beers-heal", + "friendly-gorillas-walk", + "friendly-sloths-return", + "funny-apricots-learn", + "funny-feet-wish", + "fuzzy-files-kiss", + "fuzzy-jobs-compare", + "fuzzy-worlds-kneel", + "gentle-laws-see", + "gentle-melons-pretend", + "great-news-lie", + "green-days-give", + "green-drinks-strive", + "happy-banks-dream", + "heavy-clouds-walk", + "heavy-kids-wave", + "heavy-maps-wash", + "heavy-radios-dream", + "heavy-seas-carry", + "hip-hornets-cheer", + "hip-points-kick", + "honest-berries-knock", + "honest-pears-sniff", + "itchy-comics-develop", + "kind-toes-glow", + "large-houses-watch", + "large-turtles-write", + "lazy-tigers-dig", + "lemon-dingos-dance", + "lemon-tools-bathe", + "little-ways-deny", + "long-shirts-thank", + "loud-dolphins-relate", + "many-forks-ring", + "many-tips-win", + "mean-dingos-hug", + "mean-parents-buy", + "mean-tires-cover", + "mean-webs-try", + "nervous-terms-explode", + "nice-teams-grow", + "nine-otters-repeat", + "ninety-crabs-lay", + "ninety-pets-win", + "old-guests-stare", + "old-mangos-return", + "old-mayflies-fetch", + "olive-cameras-collect", + "olive-yaks-prove", + "open-beds-grab", + "orange-otters-attend", + "orange-planes-kiss", + "petite-experts-press", + "plain-eggs-clean", + "polite-parents-win", + "polite-sloths-visit", + "pretty-glasses-mate", + "pretty-parents-draw", + "pretty-trees-check", + "proud-houses-fix", + "proud-kangaroos-boil", + "proud-pillows-try", + "purple-melons-invent", + "quick-moons-show", + "quiet-friends-taste", + "rare-candies-join", + "red-trains-deny", + "rich-shirts-thank", + "rich-sites-refuse", + "rich-wasps-tease", + "rotten-penguins-cough", + "rotten-weeks-tickle", + "seven-pumpkins-argue", + "shaggy-poems-appear", + "shaggy-poems-return", + "shaky-pianos-wait", + "sharp-apples-relate", + "shiny-readers-double", + "short-suits-bet", + "shy-carpets-switch", + "shy-shirts-glow", + "shy-walls-shake", + "silly-pans-wear", + "silly-symbols-sleep", + "six-breads-rule", + "six-games-float", + "sixty-grapes-beam", + "slick-clowns-relax", + "slick-coats-exist", + "slimy-weeks-hope", + "smooth-cups-press", + "social-lizards-clean", + "soft-insects-see", + "solid-olives-know", + "some-birds-juggle", + "some-emus-fly", + "sour-zebras-tell", + "stale-corners-flow", + "strange-bottles-sleep", + "strong-rules-rescue", + "sweet-bees-punch", + "sweet-hairs-remember", + "sweet-socks-whisper", + "swift-flowers-juggle", + "tall-rivers-appear", + "tame-glasses-explain", + "tasty-glasses-bet", + "tasty-penguins-ring", + "tasty-turkeys-stand", + "ten-emus-jog", + "thirty-carrots-stand", + "thirty-ravens-draw", + "tidy-chefs-tickle", + "tiny-berries-bow", + "tiny-cows-pick", + "tricky-dogs-cross", + "tricky-meals-heal", + "tricky-peaches-buy", + "twelve-buckets-brake", + "twenty-goats-flow", + "twenty-lines-prove", + "unlucky-dodos-grab", + "unlucky-olives-knock", + "warm-camels-remain", + "warm-spoons-punch", + "wet-bobcats-decide", + "wicked-pets-chew", + "wide-boats-pump", + "wild-cooks-pay", + "witty-balloons-thank", + "young-cameras-hang", + "yummy-grapes-make" + ] +} diff --git a/.changeset/pretty-glasses-mate.md b/.changeset/pretty-glasses-mate.md new file mode 100644 index 00000000000..b239852e5cb --- /dev/null +++ b/.changeset/pretty-glasses-mate.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: resuming app with non-qwik elements inside diff --git a/.changeset/pretty-parents-draw.md b/.changeset/pretty-parents-draw.md new file mode 100644 index 00000000000..f634bee6dcd --- /dev/null +++ b/.changeset/pretty-parents-draw.md @@ -0,0 +1,6 @@ +--- +'@qwik.dev/router': patch +'@qwik.dev/core': patch +--- + +FEAT: withLocale() uses AsyncLocalStorage for server-side requests when available. This allows async operations to retain the correct locale context. diff --git a/.changeset/pretty-trees-check.md b/.changeset/pretty-trees-check.md new file mode 100644 index 00000000000..3ed456a8c1d --- /dev/null +++ b/.changeset/pretty-trees-check.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: ensure components are only rendered when necessary diff --git a/.changeset/proud-houses-fix.md b/.changeset/proud-houses-fix.md new file mode 100644 index 00000000000..39a63045930 --- /dev/null +++ b/.changeset/proud-houses-fix.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +feat: expose option to never or always serialize computed-like signal value diff --git a/.changeset/proud-kangaroos-boil.md b/.changeset/proud-kangaroos-boil.md new file mode 100644 index 00000000000..9c44e3d9d53 --- /dev/null +++ b/.changeset/proud-kangaroos-boil.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: finding vnodes on interaction diff --git a/.changeset/proud-pillows-try.md b/.changeset/proud-pillows-try.md new file mode 100644 index 00000000000..52b8001173c --- /dev/null +++ b/.changeset/proud-pillows-try.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +chore: more descriptive HTML streaming error message diff --git a/.changeset/purple-melons-invent.md b/.changeset/purple-melons-invent.md new file mode 100644 index 00000000000..be13abfef7b --- /dev/null +++ b/.changeset/purple-melons-invent.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: find correct context after rendering empty array diff --git a/.changeset/quick-moons-show.md b/.changeset/quick-moons-show.md new file mode 100644 index 00000000000..ca950218c53 --- /dev/null +++ b/.changeset/quick-moons-show.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: correctly serialize vnode props in production mode diff --git a/.changeset/quiet-friends-taste.md b/.changeset/quiet-friends-taste.md new file mode 100644 index 00000000000..c785274ed68 --- /dev/null +++ b/.changeset/quiet-friends-taste.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/router': minor +--- + +feat: `createRenderer()` wraps the `renderToStream()` function with Qwik Router types, for nicer `entry.ssr` files. diff --git a/.changeset/rare-candies-join.md b/.changeset/rare-candies-join.md new file mode 100644 index 00000000000..a483644fc06 --- /dev/null +++ b/.changeset/rare-candies-join.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: skip serialize functions wrapped with the `noSerialize` diff --git a/.changeset/red-trains-deny.md b/.changeset/red-trains-deny.md new file mode 100644 index 00000000000..41418c4a044 --- /dev/null +++ b/.changeset/red-trains-deny.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: textarea with null value diff --git a/.changeset/rich-shirts-thank.md b/.changeset/rich-shirts-thank.md new file mode 100644 index 00000000000..51f3cd948e1 --- /dev/null +++ b/.changeset/rich-shirts-thank.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +FIX: add HTMLElementAttrs and SVGProps types to exports diff --git a/.changeset/rich-sites-refuse.md b/.changeset/rich-sites-refuse.md new file mode 100644 index 00000000000..25020a00f5e --- /dev/null +++ b/.changeset/rich-sites-refuse.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: core now throws an error when a qwik lib package is not added to ssr.noExternal diff --git a/.changeset/rich-wasps-tease.md b/.changeset/rich-wasps-tease.md new file mode 100644 index 00000000000..c0b3baffcaf --- /dev/null +++ b/.changeset/rich-wasps-tease.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': major +--- + +BREAKING: the Typescript exports were trimmed down to the bare minimum. If there are types you are missing, open an issue. diff --git a/.changeset/rotten-penguins-cough.md b/.changeset/rotten-penguins-cough.md new file mode 100644 index 00000000000..2f7854361e4 --- /dev/null +++ b/.changeset/rotten-penguins-cough.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: undefined or null as projection child diff --git a/.changeset/rotten-weeks-tickle.md b/.changeset/rotten-weeks-tickle.md new file mode 100644 index 00000000000..267de3a2bbf --- /dev/null +++ b/.changeset/rotten-weeks-tickle.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: do not trigger effects if computed value is not changed diff --git a/.changeset/seven-pumpkins-argue.md b/.changeset/seven-pumpkins-argue.md new file mode 100644 index 00000000000..d41780171d0 --- /dev/null +++ b/.changeset/seven-pumpkins-argue.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: infinity serialization loop diff --git a/.changeset/shaggy-poems-appear.md b/.changeset/shaggy-poems-appear.md new file mode 100644 index 00000000000..4899a30fc83 --- /dev/null +++ b/.changeset/shaggy-poems-appear.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +feat: log a warning instead of throwing an error for server host mismatch error diff --git a/.changeset/shaggy-poems-return.md b/.changeset/shaggy-poems-return.md new file mode 100644 index 00000000000..1d869f2f7ac --- /dev/null +++ b/.changeset/shaggy-poems-return.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: event handlers in loops diff --git a/.changeset/shaky-pianos-wait.md b/.changeset/shaky-pianos-wait.md new file mode 100644 index 00000000000..1f25f1f4fc5 --- /dev/null +++ b/.changeset/shaky-pianos-wait.md @@ -0,0 +1,6 @@ +--- +'@qwik.dev/core': major +--- + +BREAKING: (slightly) `-` handling in JSX event handlers has slightly changed. Now, if an event name starts with `-`, the rest of the name will be kept as-is, preserving casing. Otherwise, the event name is made lowercase. Any `-` characters in the middle of the name are preserved as-is. Previously, `-` were considered to mark the next letter as uppercase. + For example, `onCustomEvent$` will match `customevent`, `on-CustomEvent$` will match `CustomEvent`, and `onCustom-Event$` will match `custom-event`. Before, that last one would match `customEvent` instead. diff --git a/.changeset/sharp-apples-relate.md b/.changeset/sharp-apples-relate.md new file mode 100644 index 00000000000..7278588ecfb --- /dev/null +++ b/.changeset/sharp-apples-relate.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: vNode serialization error on server$ diff --git a/.changeset/shiny-readers-double.md b/.changeset/shiny-readers-double.md new file mode 100644 index 00000000000..c5ca5049052 --- /dev/null +++ b/.changeset/shiny-readers-double.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: adding and removing attributes on vnodes diff --git a/.changeset/short-suits-bet.md b/.changeset/short-suits-bet.md new file mode 100644 index 00000000000..62d98fa4ec1 --- /dev/null +++ b/.changeset/short-suits-bet.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': minor +--- + +FIX: `qwikVite` has better vite config handling around input files, and no longer writes the q-manifest file to a temp dir. diff --git a/.changeset/shy-carpets-switch.md b/.changeset/shy-carpets-switch.md new file mode 100644 index 00000000000..a7c7bdced3c --- /dev/null +++ b/.changeset/shy-carpets-switch.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: useId should genereate different id for ssr diff --git a/.changeset/shy-shirts-glow.md b/.changeset/shy-shirts-glow.md new file mode 100644 index 00000000000..5709c970d8f --- /dev/null +++ b/.changeset/shy-shirts-glow.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: finding parent dom element from projected content diff --git a/.changeset/shy-walls-shake.md b/.changeset/shy-walls-shake.md new file mode 100644 index 00000000000..a7ba9087047 --- /dev/null +++ b/.changeset/shy-walls-shake.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: reactivity for type-asserted variables in templates diff --git a/.changeset/silly-pans-wear.md b/.changeset/silly-pans-wear.md new file mode 100644 index 00000000000..41fbcb10241 --- /dev/null +++ b/.changeset/silly-pans-wear.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: calling document:onQInit qrls diff --git a/.changeset/silly-symbols-sleep.md b/.changeset/silly-symbols-sleep.md new file mode 100644 index 00000000000..45f60cb03aa --- /dev/null +++ b/.changeset/silly-symbols-sleep.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: handle falsy value as context value diff --git a/.changeset/six-breads-rule.md b/.changeset/six-breads-rule.md new file mode 100644 index 00000000000..6834ccf2200 --- /dev/null +++ b/.changeset/six-breads-rule.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': major +--- + +BREAKING: When using the `base` setting in Vite, the client build will no longer be placed under that base path. Instead, the output directory is always `dist/` by default. If you need to change the output directory, use the `build.outDir` setting in Vite or the `outDir` option in the `qwikVite` plugin under `client` or `ssr`. diff --git a/.changeset/six-games-float.md b/.changeset/six-games-float.md new file mode 100644 index 00000000000..e5346ede392 --- /dev/null +++ b/.changeset/six-games-float.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: don't wrap and serialize functions that are attribute values diff --git a/.changeset/sixty-grapes-beam.md b/.changeset/sixty-grapes-beam.md new file mode 100644 index 00000000000..5469f057e85 --- /dev/null +++ b/.changeset/sixty-grapes-beam.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +fix: serializer symbol value recalculate without update function diff --git a/.changeset/slick-clowns-relax.md b/.changeset/slick-clowns-relax.md new file mode 100644 index 00000000000..5fc8f76e6e5 --- /dev/null +++ b/.changeset/slick-clowns-relax.md @@ -0,0 +1,5 @@ +--- +'@qwik.dev/core': patch +--- + +Add explicit tag nesting rules for and