Releases: preactjs/preact
10.25.2
Notable
Revert unkeyed no-search (#4604, thanks @JoviDeCroock)
We noticed that there's a few unpleasant scenario's that could form from this change, we wanted to be on the safe side here and revert this for the time being. if you run into issues with swapping components placement wise in a list use the key
property.
Fixes
Types
Performance
- Use == where possible and precompute .length (#4599, thanks @JoviDeCroock)
- Check preallocate new children array perf (#4595, thanks @JoviDeCroock)
Maintenance
- Replace npm-run-all and lint-staged (#4600, thanks @JoviDeCroock)
- Remove benches folder (#4592, thanks @JoviDeCroock)
- Dependency maintenance (#4594, thanks @JoviDeCroock)
10.25.1
Fixes
- Revert handle event (#4584, thanks @JoviDeCroock) we had to revert this due to an inherent type incompatibility, apologies for missing this!
- Fix portal children ordering (#4573, thanks @JoviDeCroock)
- Handle errors during hydration (#4563, thanks @JoviDeCroock)
Types
- Ensure resolution of core types goes through typesVersions resolution (#4576, thanks @rschristian)
- Correct
defaultValue
property types for inputs, selects, & textareas (#4585, thanks @rschristian) - Add missing SVG
type
attribute (#4582, thanks @rschristian) createElement
&h
types (#4578, thanks @rschristian)href
&hreflang
attribute types (#4575, thanks @rschristian)- Mark
datetime
on<del>
as optional (#4570, thanks @marvinhagemeister) max
andmin
properties on input element types (#4568, thanks @rschristian)- Add missing
ElementRef
type to compat (#4557, thanks @rschristian)
Maintenance
- Correct some internal test types (#4588, thanks @rschristian)
- Reduce byte-size by reducing bit-flag size (#4586, thanks @JoviDeCroock)
- Remove
declare global
from internal types (#4583, thanks @rschristian) - Move some frequently used things to constants (#4579, thanks @JoviDeCroock)
- Remove _nextDom usage (#4553, thanks @JoviDeCroock)
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)