v1.1.0
Main Changes
PropFunction
is not longer neccesary
We simplified how you create custom events in your components. Now wou can pass custom callbacks to components without using PropFunction
type.
interface CmpProps {
onClick$?: () => void;
}
export const Cmp = component$<CmpProps>((props) => {
return (
<div>
<h1>CHILD</h1>
</div>
)
});
- fix: no need for prop function by @manucorporat in #4088
Improved serialization dynamic tree shaking
Qwik becomes even smarter at knowing what NOT to serialize, leading to smaller HTML and faster SSR!
- perf: reuse text nodes for serialization by @manucorporat in #4074
- perf: optimize immutable signals and props by @manucorporat in #4079
- fix: serialize only required state by @manucorporat in #4073
Zero-JS for all qwik-city apps
By default, if not interactive, all QwikCity app will include zero JS, out of the box!
- perf: zero initial js for qwik-city by @manucorporat in #4055
New jsx-img
eslint rule
Missing width
and height
in img is a common source of performance footgun, since they browser will have to relayout the page when the image loads the the intrinsec size is known. This new eslint rule will let you know when you are missing it!
- feat: add jsx-img eslint rule by @manucorporat in #4082
Experiments: qwik-worker
Early days! but we are working on some cool things using the $ power!
- feat: qwik-worker by @manucorporat in #4014
New empty
starter
We heard you! the current basic starter is not that basic! we got a new starter with absolutely the bare minimum but ready to build apps at scale with QwikCity
Server-Timing API early support
Now it should be much easier to debug during development, where the server is spending most of the time! Server-Timing API allows the server to expose timing information that becomes visible in the DevTools!
https://ma.ttias.be/server-timings-chrome-devtools/
- feat: server-timing api support by @manucorporat in #4035
What's Changed
- docs: fix hamburger menu not legigble on mobile on homepage by @steve8708 in #4021
- docs: Add link for registering components by @steve8708 in #4020
- Documentation wording fixes by @iancharlesdouglas in #4016
- docs: add resumability youtube video by @neonpie in #4017
- docs: fix integrations page by @adamdbradley in #4022
- Fix Modular Forms SVG logo on ecosystem page by @fabian-hiller in #4025
- docs: fix nx docs capitalization by @meeroslav in #4024
- docs: remove double parens by @steve8708 in #4023
- Update pages.json by @solamichealolawale in #4027
- fix(cli): app name is a placeholder again by @zanettin in #4031
- docs: correct typo by @mhevery in #4028
- Fix link to zod validation docs by @johnrackles in #4033
- docs: typo fix (Manaul -> Manual) by @hugomonte in #4037
- style(next-steps.tsx): correct grammar in copy text by @gjf20 in #4042
- docs: add integration docs by @adamdbradley in #4045
- chore: add missing contributor by @gioboa in #4048
- docs: update ecosystem links by @adamdbradley in #4049
- Update Tailwind documentation by @NickClark in #4047
- fix: service-worker.js should work with basePathname by @jessezhang91 in #4044
- fix: test mode force isServer=true by @manucorporat in #4056
- fix: add assert disclaimer by @manucorporat in #4036
- fix: cmp as signal value by @manucorporat in #4039
- docs: correct typos for events description by @drumnistnakano in #4052
- Fix/best practices inline operations template by @anartzdev in #4051
- fix: cloudflare worker deploy from windows by @manucorporat in #4057
- docs: fix useStylesScoped$ by @tanftw in #4050
- docs: add site reference with leaflet maps and consume osm data by @anartzdev in #4066
- docs: change state to count by @jnsmtnr in #4063
- docs: fixed inline-components links in tutorial by @fkruczek in #4061
- docs: extend mdx section with reading frontmatter by @zanettin in #4065
- docs: add label to docs issues by @adamdbradley in #4070
- docs: update docs issue template by @adamdbradley in #4071
- Improve type for
userEvent
ofcreateDOM
by @ahnpnl in #4062 - docs(endpoints): add documentation for redirects by @electather in #4069
- docs: generated api docs by @adamdbradley in #3420
- docs: update tutorial after useStore is deep recursive by default by @fkruczek in #4072
- chore: update all deps by @manucorporat in #4080
- docs: add showcase by @wtlin1228 in #4083
- docs: improve useContextProvider's wording. by @igalklebanov in #4084
- docs: remove empty line by @the-r3aper7 in #4093
- Fix Supabase docs by @samijaber in #4098
- docs: state: explain how to add methods to stores by @wmertens in #4102
- chore: fix error message by @hamatoyogi in #4104
- docs: added titles by @the-r3aper7 in #4090
- refactor: added status codes by @the-r3aper7 in #4092
- docs: update code snippet by @the-r3aper7 in #4111
- docs: fix export of hook useJokeVoteAction by @nsdonato in #4099
- fix: allow
false
type in BaseClassList by @steve8708 in #4112 - fix: remove module collapse hack by @manucorporat in #4105
- docs: fix code example for routeAction validation by @aivarsliepa in #4113
- fix: export ClassList for easier typing of components with a
class
prop by @steve8708 in #4114 - feat: pass qwik manifest down the middlewares by @manucorporat in #4107
- feat(qwik-city): export Qwik City RedirectMessage class by @fabian-hiller in #4077
- Update index.mdx by @kumarasinghe in #4118
- docs: fix code snippet for useStore methods example by @aivarsliepa in #4124
- fix: status code can be any number by @manucorporat in #4123
- feat: HTMLFragment by @manucorporat in #4106
- Update index.mdx for an easy reference to Angular Developers by @debugmodedotnet in #4117
- chore: update CoreQL by @manucorporat in #4126
- fix: hash navigation by @manucorporat in #4127
- chore: update qwik-city release script by @adamdbradley in #4116
- chore: fix qwik-city release by @adamdbradley in #4131
- Fix link to documentation by @indicozy in #4130
- Fix typo in entry ssr starter app by @misaelaguayo in #4129
- chore: fix qwik-city release by @adamdbradley in #4132
- chore: release 1.1.0 by @manucorporat in #4138
- docs: use nightly release by @manucorporat in #4139
New Contributors
- @neonpie made their first contribution in #4017
- @meeroslav made their first contribution in #4024
- @solamichealolawale made their first contribution in #4027
- @johnrackles made their first contribution in #4033
- @hugomonte made their first contribution in #4037
- @gjf20 made their first contribution in #4042
- @NickClark made their first contribution in #4047
- @drumnistnakano made their first contribution in #4052
- @anartzdev made their first contribution in #4051
- @tanftw made their first contribution in #4050
- @jnsmtnr made their first contribution in #4063
- @fkruczek made their first contribution in #4061
- @electather made their first contribution in #4069
- @igalklebanov made their first contribution in #4084
- @nsdonato made their first contribution in #4099
- @aivarsliepa made their first contribution in #4113
- @debugmodedotnet made their first contribution in #4117
- @indicozy made their first contribution in #4130
- @misaelaguayo made their first contribution in #4129
Full Changelog: v1.0.0...v1.1.0