Releases: preactjs/preact
Releases · preactjs/preact
10.25.0
Features
Move per-element type interfaces into core and more strictly type IntrinsicElements (#4546, thanks @rschristian)
This adds per-element typings for every DOM-node type, this means that our types might become slightly stricter when you are using DOM attributes/properties where they are not allowed, an example of this might be <div src="x" />
.
If you notice any issues when upgrading tell us about them, we can evaluate whether we have missed a case.
Recreate unkeyed functional components when they change position. (#4550, thanks @JoviDeCroock)
This is a long time bugfix, when we have elements that look like
return (
{condition ? <Element /> : null}
{condition ? null : <Element />
)
We would reuse the state of the first VNode to render the second one when the condition switches. When you are using key
, this issue was not present.
Support { handleEvent() {} }
object interface as a listener (#4538, thanks @lilnasy)
We've added support for attaching object/class event-handlers
let handler = {
onclick,
handleEvent() {
this.onclick()
}
}
<div onClick={handler} />
Fixes
- Ensure state updates work in signals (#4560, thanks @JoviDeCroock)
- Ensure SVGAttributes includes height & width (#4556, thanks @rschristian)
- Fork types for TS 5.1 and beyond (#4548, thanks @JoviDeCroock)
- Re-add missing properties & property casings (#4554, thanks @rschristian)
- Ensure we unwrap custom .then() (#4547, thanks @JoviDeCroock)
- Fix error message when nesting invalid elements within <p> tags (#4534, thanks @jubalm)
Maintenance
- Try constant for undefined (#4552, thanks @JoviDeCroock)
- Fix demo (#4551, thanks @JoviDeCroock)
- Use
Signalish
helper to reduce verbosity (#4545, thanks @rschristian) - Re-export ErrorInfo type (#4541, thanks @jose-torres-marin)
- Skip PR reporter action on non-pull request triggers (#4536, thanks @rschristian)
- upgrade biome to 1.9.4 (#4535, thanks @unvalley)
- oxlint violation of
react/iframe-missing-sandbox
(#4533, thanks @DonIsaac)
10.24.3
Fixes
- We should not always set to hydration when suspending (#4529, thanks @JoviDeCroock)
- refactor: Warn on NaN in dep arrays instead of throwing (#4527, thanks @rschristian)
Performance
- Context consumer unmounting perf (#4526, thanks @JoviDeCroock)
Maintenance
- ci: Fix PR reporter (#4531, thanks @rschristian)
- ci: Remove saucelabs (#4530, thanks @rschristian)
- ci: Ensure paths-filter action works on push events (#4528, thanks @rschristian)
- ci: Unify workflows into singular pipeline (#4520, thanks @rschristian)
10.24.2
Performance
- Improve performance and reduce memory allocation (#4521, thanks @JoviDeCroock)
Types
- Re-export types for events and event handlers (#4512, thanks @jose-torres-marin)
Maintenance
- Merge upload actions to fix usage in v4 (#4515, thanks @rschristian)
- Update Tachometer reporter glob to support subdirs (#4519, thanks @rschristian)
- Fix download artifact regexp (#4517, thanks @rschristian)
- Switch to regexp for download-artifact action (#4516, thanks @rschristian)
- Bump upload/download-artifact action versions (#4511, thanks @rschristian)
10.24.1
Fixes
- Prevent debug crash when analyzing hydration mismatches (#4507, thanks @JoviDeCroock)
Types
- Correct some missing & incorrect SVG types (#4505, thanks @rschristian)
- Remove incorrect
spellCheck
type (#4497, thanks @rschristian) - React props with children didn't allow for multiple children (#4493, thanks @hesxenon)
Maintenance
10.24.0
Features
- Warn our user for hydration mismatches (#4490, thanks @JoviDeCroock)
Fixes
- Avoid setting value for progress with nullish value (#4492, thanks @JoviDeCroock)
- Fix skewedIndex becoming outrageously big and document tradeoffs of our decisions (#4483, thanks @JoviDeCroock)
Types
AnyComponent
type to support classes (#4479, thanks @rschristian)
Maintenance
- Fix typo in comment (#4494, thanks @rburgst)
- Update fake compat version (#4488, thanks @rschristian)
- Remove impossible branch (#4491, thanks @JoviDeCroock)
- Golf down diffChildren (#4485, thanks @JoviDeCroock)
- Get rid of eager unmounting (#4484, thanks @JoviDeCroock)
10.23.2
Fixes
- Fix shifting VNode children to the front (#4472, thanks @JoviDeCroock)
Types
- Add TypeScript support for Container.contains (#4471, thanks @sjoerdmulder)
- Add AriaRole types export (#4466, thanks @kuronijin)
Maintenance
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)