npm / preact
preact
What changed in preact 10 to 11, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
1 breaking1 security5 behavior and defaults11 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initpreact 1116 changes
Behavior and default changes 5
Errors that no boundary handles now log the component stack.
Event listeners are keyed by prop name and have attach times stamped per listener.
Ref cleanups stay on the element instead of the ref function.
The imageRendering property is mapped to the image-rendering CSS property.
Top-level Fragments no longer use cloneNode.
Fixes and other changes 11
Parked Suspense children are unmounted when their boundary unmounts.
Types for preact/compat/scheduler are fixed.
Types for preact/compat/server are fixed.
Suspended hydration stays within a component's own $s range.
CamelCase custom event names retain their casing.
Insertion appends when the reference node lives in another container.
Containers without an ownerDocument use the global document.
Availability is checked on the container rather than globally.
DOM nesting validation now stops at portal boundaries.
Refs are re-attached when a suspended subtree reveals.
Resuming into the DOM kept while a component was suspended is fixed.
preact 102 changes
Breaking changes 1
Updates in flushSync are batched.
Security 1
Preact has JSON VNode Injection issue