Notable
- Preserve hook state when Suspense re-suspends (#5239, thanks @JoviDeCroock)
Types
- Add
selectedcontentJSX type (#5234, thanks @JoviDeCroock) - Make the Children.map/forEach context argument optional (#5230, thanks @JoviDeCroock)
Fixes
- Keep the pending error flag until the boundary's retry render (#5227, thanks @JoviDeCroock)
- Only treat components with error handlers as error boundaries (#5226, thanks @JoviDeCroock)
- Anchor the MathML token element regex (#5228, thanks @JoviDeCroock)
- Fall back to insertBefore when the moved node was detached externally (#5244, thanks @JoviDeCroock)
Performance
- Omit dev fields from production jsx vnodes (#5220, thanks @JoviDeCroock)
- Resolve unmount error routing lazily (fixes #5217) (#5218, thanks @JoviDeCroock)
- Reduce gzip size when using jsx() (#5243, thanks @JoviDeCroock)
Maintenance
- Upgrade Vitest to 5 (#5238, thanks @JoviDeCroock)
- Upgrade Node.js to 22 (#5237, thanks @JoviDeCroock)
- Remove dead _dom/_children copy from compat Suspense _catchError (#5240, thanks @JoviDeCroock)
- Require preact-render-to-string >=6.7.0 as the optional peer (#5231, thanks @JoviDeCroock)
- Drop stale references to the removed min build and JSX.HTMLAttributes (#5232, thanks @JoviDeCroock)