preactjs/preact (preact)
### [`v10.23.1`](https://togithub.com/preactjs/preact/releases/tag/10.23.1)
[Compare Source](https://togithub.com/preactjs/preact/compare/10.23.0...10.23.1)
##### Fixes
- Fix debug-issue in testing libraries where there might not be a DOM node ([#4454](https://togithub.com/preactjs/preact/issues/4454), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock))
### [`v10.23.0`](https://togithub.com/preactjs/preact/releases/tag/10.23.0)
[Compare Source](https://togithub.com/preactjs/preact/compare/10.22.1...10.23.0)
#### Features
- Support ref cleanup functions ([#4436](https://togithub.com/preactjs/preact/issues/4436), thanks [@marvinhagemeister](https://togithub.com/marvinhagemeister))
This adds support for returning a function in functional refs, example
```jsx
{
// 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](https://togithub.com/preactjs/preact/issues/4448), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock))
- Invalid DOM check not firing when p/a/button have a parent ([#4449](https://togithub.com/preactjs/preact/issues/4449), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock))
- Support comments for streaming renders ([#4446](https://togithub.com/preactjs/preact/issues/4446), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock))
- Import renderToPipeableStream in server.mjs for re-exporting ([#4440](https://togithub.com/preactjs/preact/issues/4440), thanks [@3846masa](https://togithub.com/3846masa))
#### Types
- Add missing types ElementType and ComponentPropsWithoutRef ([#4433](https://togithub.com/preactjs/preact/issues/4433), thanks [@hamza0867](https://togithub.com/hamza0867))
- Add html attributes types [#4099](https://togithub.com/preactjs/preact/issues/4099) ([#4100](https://togithub.com/preactjs/preact/issues/4100), thanks [@samsam-ahmadi](https://togithub.com/samsam-ahmadi))
#### Maintenance
- Dependency maintenance ([#4431](https://togithub.com/preactjs/preact/issues/4431), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock))
- Fix coveralls reporting on PRs ([#4430](https://togithub.com/preactjs/preact/issues/4430), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock))
### [`v10.22.1`](https://togithub.com/preactjs/preact/releases/tag/10.22.1)
[Compare Source](https://togithub.com/preactjs/preact/compare/10.22.0...10.22.1)
#### Fixes
- Only check is connected for dom nodes ([#4409](https://togithub.com/preactjs/preact/issues/4409), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock))
- Prevent useMemo from being too lazy with repeated renders ([#4426](https://togithub.com/preactjs/preact/issues/4426), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock))
- Replace isConnected with parentDom.contains ([#4421](https://togithub.com/preactjs/preact/issues/4421), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock))
- Graciously handle array shuffling ([#4413](https://togithub.com/preactjs/preact/issues/4413), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock))
- Support popover boolean attribute ([#4393](https://togithub.com/preactjs/preact/issues/4393), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock))
#### Types
- Improve React compatibility for `Ref` type. ([#4403](https://togithub.com/preactjs/preact/issues/4403), thanks [@maxbrieiev](https://togithub.com/maxbrieiev))
- Expose stream render from `preact-render-to-string` ([#4395](https://togithub.com/preactjs/preact/issues/4395), thanks [@Austaras](https://togithub.com/Austaras))
#### Maintenance
- Prefer `globalThis` over `window` if available ([#4401](https://togithub.com/preactjs/preact/issues/4401), thanks [@marvinhagemeister](https://togithub.com/marvinhagemeister))
- Bump lockfile version to v3 ([#4398](https://togithub.com/preactjs/preact/issues/4398), thanks [@rschristian](https://togithub.com/rschristian))
#### Performance
- Improve perf by skipping some lifecycle hooks for perf ([#4366](https://togithub.com/preactjs/preact/issues/4366), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock))
- Create hot path for unmounting a tree of context ([#4396](https://togithub.com/preactjs/preact/issues/4396), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock))
- Migrate husky v9 ([#4390](https://togithub.com/preactjs/preact/issues/4390), thanks [@castrogarciajs](https://togithub.com/castrogarciajs))
- Migrate to oxlint ([#4387](https://togithub.com/preactjs/preact/issues/4387), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock))
- Migrate to biome ([#4386](https://togithub.com/preactjs/preact/issues/4386), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock))
### [`v10.22.0`](https://togithub.com/preactjs/preact/releases/tag/10.22.0)
[Compare Source](https://togithub.com/preactjs/preact/compare/10.21.0...10.22.0)
#### Features
- Support MathML namespace ([#4364](https://togithub.com/preactjs/preact/issues/4364), thanks [@rschristian](https://togithub.com/rschristian))
#### Types
- Add popover types ([#4378](https://togithub.com/preactjs/preact/issues/4378), thanks [@rschristian](https://togithub.com/rschristian))
#### Maintenance
- Skip running compressed-size builds twice ([#4377](https://togithub.com/preactjs/preact/issues/4377), thanks [@rschristian](https://togithub.com/rschristian))
- Test types and warnings ([#4369](https://togithub.com/preactjs/preact/issues/4369), thanks [@rschristian](https://togithub.com/rschristian))
- Bump compressed-size-action ([#4368](https://togithub.com/preactjs/preact/issues/4368), thanks [@rschristian](https://togithub.com/rschristian))
#### Fixes
- Allow the same component to render many times across different phases ([#4382](https://togithub.com/preactjs/preact/issues/4382), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock))
- Provide error for illegal nesting of
This PR contains the following updates:
10.20.0
->10.23.1
Release Notes
preactjs/preact (preact)
### [`v10.23.1`](https://togithub.com/preactjs/preact/releases/tag/10.23.1) [Compare Source](https://togithub.com/preactjs/preact/compare/10.23.0...10.23.1) ##### Fixes - Fix debug-issue in testing libraries where there might not be a DOM node ([#4454](https://togithub.com/preactjs/preact/issues/4454), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock)) ### [`v10.23.0`](https://togithub.com/preactjs/preact/releases/tag/10.23.0) [Compare Source](https://togithub.com/preactjs/preact/compare/10.22.1...10.23.0) #### Features - Support ref cleanup functions ([#4436](https://togithub.com/preactjs/preact/issues/4436), thanks [@marvinhagemeister](https://togithub.com/marvinhagemeister)) This adds support for returning a function in functional refs, example ```jsx { // 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](https://togithub.com/preactjs/preact/issues/4448), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock)) - Invalid DOM check not firing when p/a/button have a parent ([#4449](https://togithub.com/preactjs/preact/issues/4449), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock)) - Support comments for streaming renders ([#4446](https://togithub.com/preactjs/preact/issues/4446), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock)) - Import renderToPipeableStream in server.mjs for re-exporting ([#4440](https://togithub.com/preactjs/preact/issues/4440), thanks [@3846masa](https://togithub.com/3846masa)) #### Types - Add missing types ElementType and ComponentPropsWithoutRef ([#4433](https://togithub.com/preactjs/preact/issues/4433), thanks [@hamza0867](https://togithub.com/hamza0867)) - Add html attributes types [#4099](https://togithub.com/preactjs/preact/issues/4099) ([#4100](https://togithub.com/preactjs/preact/issues/4100), thanks [@samsam-ahmadi](https://togithub.com/samsam-ahmadi)) #### Maintenance - Dependency maintenance ([#4431](https://togithub.com/preactjs/preact/issues/4431), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock)) - Fix coveralls reporting on PRs ([#4430](https://togithub.com/preactjs/preact/issues/4430), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock)) ### [`v10.22.1`](https://togithub.com/preactjs/preact/releases/tag/10.22.1) [Compare Source](https://togithub.com/preactjs/preact/compare/10.22.0...10.22.1) #### Fixes - Only check is connected for dom nodes ([#4409](https://togithub.com/preactjs/preact/issues/4409), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock)) - Prevent useMemo from being too lazy with repeated renders ([#4426](https://togithub.com/preactjs/preact/issues/4426), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock)) - Replace isConnected with parentDom.contains ([#4421](https://togithub.com/preactjs/preact/issues/4421), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock)) - Graciously handle array shuffling ([#4413](https://togithub.com/preactjs/preact/issues/4413), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock)) - Support popover boolean attribute ([#4393](https://togithub.com/preactjs/preact/issues/4393), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock)) #### Types - Improve React compatibility for `Ref` type. ([#4403](https://togithub.com/preactjs/preact/issues/4403), thanks [@maxbrieiev](https://togithub.com/maxbrieiev)) - Expose stream render from `preact-render-to-string` ([#4395](https://togithub.com/preactjs/preact/issues/4395), thanks [@Austaras](https://togithub.com/Austaras)) #### Maintenance - Prefer `globalThis` over `window` if available ([#4401](https://togithub.com/preactjs/preact/issues/4401), thanks [@marvinhagemeister](https://togithub.com/marvinhagemeister)) - Bump lockfile version to v3 ([#4398](https://togithub.com/preactjs/preact/issues/4398), thanks [@rschristian](https://togithub.com/rschristian)) #### Performance - Improve perf by skipping some lifecycle hooks for perf ([#4366](https://togithub.com/preactjs/preact/issues/4366), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock)) - Create hot path for unmounting a tree of context ([#4396](https://togithub.com/preactjs/preact/issues/4396), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock)) - Migrate husky v9 ([#4390](https://togithub.com/preactjs/preact/issues/4390), thanks [@castrogarciajs](https://togithub.com/castrogarciajs)) - Migrate to oxlint ([#4387](https://togithub.com/preactjs/preact/issues/4387), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock)) - Migrate to biome ([#4386](https://togithub.com/preactjs/preact/issues/4386), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock)) ### [`v10.22.0`](https://togithub.com/preactjs/preact/releases/tag/10.22.0) [Compare Source](https://togithub.com/preactjs/preact/compare/10.21.0...10.22.0) #### Features - Support MathML namespace ([#4364](https://togithub.com/preactjs/preact/issues/4364), thanks [@rschristian](https://togithub.com/rschristian)) #### Types - Add popover types ([#4378](https://togithub.com/preactjs/preact/issues/4378), thanks [@rschristian](https://togithub.com/rschristian)) #### Maintenance - Skip running compressed-size builds twice ([#4377](https://togithub.com/preactjs/preact/issues/4377), thanks [@rschristian](https://togithub.com/rschristian)) - Test types and warnings ([#4369](https://togithub.com/preactjs/preact/issues/4369), thanks [@rschristian](https://togithub.com/rschristian)) - Bump compressed-size-action ([#4368](https://togithub.com/preactjs/preact/issues/4368), thanks [@rschristian](https://togithub.com/rschristian)) #### Fixes - Allow the same component to render many times across different phases ([#4382](https://togithub.com/preactjs/preact/issues/4382), thanks [@JoviDeCroock](https://togithub.com/JoviDeCroock)) - Provide error for illegal nesting of