What a month we had! The weather is getting warmer and I think we can all enjoy a new refreshment in the form of a Preact release! The past weeks saw a good chunk of bug fixes and a bit of house keeping. Upgrades should be as straightforward as swapping out the version number in package.json
and running npm install
or yarn install
once!
Introducing prefresh (experimental)
It was one of those miracle days where all the pieces fell into place just perfectly: @JoviDeCroock got a HMR (=hot module reloading) prototype up without any changes to Preact and running in a couple hours! With the biggset achievement being that it works amazingly well in keeping hooks state around.
Since then he was contacted by various maintainers of bundlers to collaborate on an ideal developer experience. Today, about a little more than a week later we have them ready to be tested. And we need your feedback to make it the best HMR experience we can! Please file any issue you come across!
Snowpack template
Oh and while we were at it @sventschui added a Preact template for snowpack! You can get it up and running via this line:
npx create-snowpack-app my-project --template @snowpack/app-template-preact
Preact sightings
Recently deno cut it's 1.0.0 release which is a huge achievement. It's a new spin on what node could look like if it would have started fresh in 2019 and we're excited where this experiment will lead to! Despite it being very early it made some waves in our community and we were filled with joy when we noticed that the website is built with our beloved framework!
Bug Fixes
- Add noop
React.StrictMode
tocompat
(#2529, thanks @developit) - Use latest reducer function in
useReducer
(#2526, thanks @hadeeb) - Improve
IS_NON_DIMENSIONAL
for compatibility with animation-iteration-count (#2523, thanks @viko16) - Polyfill prototype setter in
debug
(#2514, thanks @JoviDeCroock) - Fix
hydrate
export incompat
(#2511, thanks @hadeeb) - Fix creating multiple roots from
useEffect
(#2493, thanks @JoviDeCroock)
Types
- Add
StrictMode
tocompat/src/index.d.ts
(#2530, thanks @38elements) - Add
loading
attribute toHTMLAttributes
TypeScript interface (#2521, thanks @gerardo-rodriguez)
Maintenance
- Fix
CONTRIBUTING.md
indentation (#2528, thanks @Vincent-Carrier) - Fix test on IE11 by wrapping the
spy
helper (#2524, thanks @JoviDeCroock) - Remove unnecessary cloning of props (#2516, thanks @hadeeb)
- Iteratively diff children and convert array children to
Fragments
(#2507, thanks @andrewiggins) - Update focus tests to better match user behavior (#2506, thanks @andrewiggins)
- IE11+ -> IE11 (#2499, thanks @38elements)
- Reorganize render test file (#2487, thanks @andrewiggins)
- golf effect cleanup (#2494, thanks @JoviDeCroock)
- Remove
processingException
check (#2483, thanks @JoviDeCroock) - Reduce unnecessary DOM attribute reads (#2486, thanks @andrewiggins)
- Remove unnecessary
excessDomChildren
creation (#2491, thanks @andrewiggins) - Add update benchmark from
js-framework-benchmark
(#2489, thanks @andrewiggins)