Releases: preactjs/preact
Releases · preactjs/preact
10.23.1
Fixes
- Fix debug-issue in testing libraries where there might not be a DOM node (#4454, thanks @JoviDeCroock)
10.23.0
Features
- Support ref cleanup functions (#4436, thanks @marvinhagemeister)
This adds support for returning a function in functional refs, example
<input
ref={(ref) => {
// Assign ref, do something with it
return () => {
// ref cleanup, when the element unmounts
// we run the cleanup
};
}}
/>
Fixes
- Child-diffing should shift keyed fragmented lists (#4448, thanks @JoviDeCroock)
- Invalid DOM check not firing when p/a/button have a parent (#4449, thanks @JoviDeCroock)
- Support comments for streaming renders (#4446, thanks @JoviDeCroock)
- Import renderToPipeableStream in server.mjs for re-exporting (#4440, thanks @3846masa)
Types
- Add missing types ElementType and ComponentPropsWithoutRef (#4433, thanks @hamza0867)
- Add html attributes types #4099 (#4100, thanks @samsam-ahmadi)
Maintenance
- Dependency maintenance (#4431, thanks @JoviDeCroock)
- Fix coveralls reporting on PRs (#4430, thanks @JoviDeCroock)
10.22.1
Fixes
- Only check is connected for dom nodes (#4409, thanks @JoviDeCroock)
- Prevent useMemo from being too lazy with repeated renders (#4426, thanks @JoviDeCroock)
- Replace isConnected with parentDom.contains (#4421, thanks @JoviDeCroock)
- Graciously handle array shuffling (#4413, thanks @JoviDeCroock)
- Support popover boolean attribute (#4393, thanks @JoviDeCroock)
Types
- Improve React compatibility for
Ref
type. (#4403, thanks @maxbrieiev) - Expose stream render from
preact-render-to-string
(#4395, thanks @Austaras)
Maintenance
- Prefer
globalThis
overwindow
if available (#4401, thanks @marvinhagemeister) - Bump lockfile version to v3 (#4398, thanks @rschristian)
Performance
- Improve perf by skipping some lifecycle hooks for perf (#4366, thanks @JoviDeCroock)
- Create hot path for unmounting a tree of context (#4396, thanks @JoviDeCroock)
- Migrate husky v9 (#4390, thanks @castrogarciajs)
- Migrate to oxlint (#4387, thanks @JoviDeCroock)
- Migrate to biome (#4386, thanks @JoviDeCroock)
10.22.0
Features
- Support MathML namespace (#4364, thanks @rschristian)
Types
- Add popover types (#4378, thanks @rschristian)
Maintenance
- Skip running compressed-size builds twice (#4377, thanks @rschristian)
- Test types and warnings (#4369, thanks @rschristian)
- Bump compressed-size-action (#4368, thanks @rschristian)
Fixes
- Allow the same component to render many times across different phases (#4382, thanks @JoviDeCroock)
- Provide error for illegal nesting of
<button>
and<a>
(#4376, thanks @rschristian) - Disallow
<tr>
as a child of<table>
(#4375, thanks @rschristian) - Change syntax in
compat/client
for IE11 support (#4372, thanks @rschristian)
10.21.0
Features
- Debug throw on too many rerenders (#4349, thanks @rschristian)
- Add compat/client types (#4345, thanks @rschristian)
Fixes
- Expose hooks through compat's
ReactCurrentDispatcher
(#4342, thanks @rschristian) - Respect default value (#4341, thanks @JoviDeCroock)
- Incorrect "missing transform-jsx-source" warning (#4350, thanks @rschristian)
Types
- Support ComponentChild(ren) in compat render/hydrate/createPortal (#4346, thanks @rschristian)
- Import and re-export PreactElement (#3228, thanks @henryqdineen)
Maintenance
- Add zustand and redux-toolkit to the demo. (#3523, thanks @MortezaMirjavadi)
- Optimise jsx runtime (#4337, thanks @JoviDeCroock)
10.20.2
Fixes
- Check whether
oldDom
is present in the DOM (#4318, thanks @JoviDeCroock) - Simplify the logic introduced in #4322 & use eventClock for capture events too (#4324, thanks @jviide)
- Use a virtual clock instead of Date.now() for event dispatch times (#4322, thanks @jviide)
Types
- Add template tag JSX type (#4334, thanks @marvinhagemeister)
Maintenance
- Integrate the new benchmarks repo and update (#4310, thanks @andrewiggins)
- Some byte improvements (#4321, thanks @JoviDeCroock)
10.20.1
Fixes
- Add special case for focusIn and focusOut (#4316, thanks @JoviDeCroock)
10.20.0
Features
- Add isMemo to compact to allow compatibility with react-is dependant libraries (#4302, thanks @ziongh)
Fixes
- Fix case where shrinking a list would cause an exception (#4312, thanks @JoviDeCroock)
10.19.7
Types
- Bring consistency to our focus-event types (#4307, thanks @JoviDeCroock)
- Add onScrollend listener type (#4305, thanks @JoviDeCroock)
- Align state updater type with Raeect (#4306, thanks @JoviDeCroock)
Fixes
- Revert batch commit callbacks from all components in the render queue (#4297, thanks @JoviDeCroock)
10.19.6
tl;dr: This release contains bug fixes for incorrect ordering of unkeyed children.
Fixes
- Match
null
placeholders using skewed index (#4290, thanks @andrewiggins) - Fix increment skew when we aren't removing the first pointer (#4284, thanks @JoviDeCroock)
- Fix invalid vnode internal id for text nodes (#4291, thanks @marvinhagemeister)
- Fix unkeyed reconciliation order in certain scenarios (#4287, thanks @marvinhagemeister, thanks @JoviDeCroock)
Full Changelog: 10.19.5...10.19.6