To celebrate the release of Preact 11, we’re hosting a design competition for the Preact website!
We think it’s about time for a fresh look + marketing and would love to involve the community in the process.
preactjs.com/blog/website-re…
What do the winners get?
First place: $4000 USD + will likely be implemented as the new Preact site design
Second: $2500 USD
Third: $1500 USD
Four extra designs that we like will receive $500 each.
If there’s a bunch of designs that really blow us away, we might hand out more prizes yet.
We look forward to seeing what the community comes up with! Hope you all enjoy Preact 11!
Preact 11 is out 🎉
We’ve been hard at work at making our diffing use modern features like moveBefore , leveraging ESM for tree-shaking Preact Compat and ensuring you have a great experience with resumed hydration.
Preact 11.0.0-rc.1 is here ⚛️
preact/compat code is now tree-shakeable, with representative single-export bundles shrinking by up to ~28%.
Plus: more size wins, better HTML attribute types and maintenance fixes.
This will most likely be the last rc - feedback is appreciated
Released the first release candidate of Preact 11 and I'm pretty proud that all of the packages combined actually shrunk by 100 bytes while adding A LOT of features!
ALT A screenshot of bundle-js where we export preact, preact/hooks and preact/compat on the release candidate tag. It evaluates to 9.25kb gzip
Released a new markdown rendering library for Preact called preact-md. It currently uses the general unified remark/rehype by default and sanitises inputs.
TanStack 🤝 Preact?
Adding a preact adapter for TanStack Store is step 1 of a more official offering for preact from TanStack. More libs should follow soon.
Signals flip the script. React renders where you create state. Signals render where you use state. Same state, but you are pushed into patterns that will lead to better performance by default. One paradigm shift away from memoization hell. 🎯
jovidecroock.com/blog/state-…
@preact/signals currently* has an issue with how it handles changing signal references within useComputed's captured scope and we were hoping to get a bit of feedback from the community, if anyone wants to offer their opinions and feelings on the matter.
`useCallback` to avoid it rerunning.
B) require use of `useLiveSignal`, a derived local signal. The compute function can depend on this stable local signal and it will remain in sync with any external signals, updating when they change value or a different reference is
provided. Downside is that this may be not obvious to users.
Neither are perfect, but in lieu of a better third option, these are the choices available. Any thoughts, comments, concerns would be greatly appreciated!