Releases: preactjs/preact
Releases · preactjs/preact
Release list
11.0.0-rc.1
Features
- Tree-shake feature-specific compat hooks (#5203, thanks @JoviDeCroock)
Bundle size
- Simplify toChildArray guards (#5214, thanks @JoviDeCroock)
- Remove unused memo factory state (#5213, thanks @JoviDeCroock)
- Remove redundant textarea hydration hook (#5212, thanks @JoviDeCroock)
- Require prop type stack getter (#5210, thanks @JoviDeCroock)
Types
- Add missing lowercased html attributes to dom.d.ts (#5207, thanks @teddybradford)
Maintenance
- Clarify staged npm release approval flow (#5204, thanks @JoviDeCroock)
- Declare the sass dependency vite's scss compilation needs (#5206, thanks @upupming)
- Cover JSX refs and event bubbling (#5211, thanks @JoviDeCroock)
- Fix parameter description in getHookState function (#5209, thanks @exedealer)
11.0.0-rc.0
Features
- implement
usein compat (#5186, thanks @JoviDeCroock) - Implement getServerSnapshot for useSyncExternalStore (#4979, thanks @ssssota)
- Support createPortal in core (#5168, thanks @JoviDeCroock)
- Add useEffectEvent hook to compat (#5141, thanks @Mesoptier)
Correctness
- Leverage
moveBeforerather thaninsertBeforewhen available (#5161, thanks @JoviDeCroock) - Avoid mutating user-provided style objects when appending px (#5117, thanks @JSap0914)
- Fix reusing template element content (#5192, thanks @JoviDeCroock)
- Fix dirty child strict equality bailout (#5193, thanks @JoviDeCroock)
- Add the constructor in when cloning VNodes (#5195, thanks @JoviDeCroock)
- Defer passive effect cleanup on unmount (#5196, thanks @JoviDeCroock)
Performance
- Compute minimal child moves with a longest increasing subsequence (#5174, thanks @JoviDeCroock)
- Batch updates in flushSync (#5175, thanks @JoviDeCroock)
- Avoid traversing retained subtrees (#5183, thanks @JoviDeCroock)
- Reduce core bundle size in v11 (#5167, thanks @JoviDeCroock)
- Reduce bundle size before release candidates go live (#5197, thanks @JoviDeCroock)
- Hoist
_childreninto a local inconstructNewChildrenArray(#5198, thanks @JoviDeCroock) - Reduce Preact core compressed size (#5199, thanks @JoviDeCroock)
Maintenance
- Bump reported React version to 19.0.0 (#5171, thanks @JoviDeCroock)
- Remove debug re-throw (#5190, thanks @JoviDeCroock)
- Commit pending hook state in
options._render(#5187, thanks @JoviDeCroock) - Remove straggler forwarded (#5178, thanks @JoviDeCroock)
- Derive document from parentDom instead of threading it (#5180, thanks @JoviDeCroock)
- Remove redundant portal children guard (#5179, thanks @JoviDeCroock)
- Restore
_bitsmangle for Preact ISO (#5200, thanks @JoviDeCroock) - Update contribution build commands (#5166, thanks @Minsecrus)
- Remove unused dependencies (#5160, thanks @JoviDeCroock)
- Avoid Trusted Types violation when dangerouslySetInnerHTML is re… (#4935, thanks @lukewarlow)
- Introduce a modern build setup (#5159, thanks @JoviDeCroock)
10.29.8
Performance
- Batch updates in flushSync (#5173, thanks @JoviDeCroock)
- Avoid traversing retained subtrees (#5182, thanks @JoviDeCroock)
11.0.0-beta.2
Forward porting
- Frontport 10.29.4 (#5139, thanks @JoviDeCroock)
- Frontport 10.29.3 (#5122, thanks @JoviDeCroock)
- Forwardport v10.x fixes since 2026-03-25 (#5089, thanks @JoviDeCroock)
- Forwardport from v10 (#5053, thanks @JoviDeCroock)
Features
- Implement streamed hydration rfc (#5035, thanks @JoviDeCroock)
Types
- Remove erroneous 'type' attribute from select element types (#5097, thanks @rschristian)
- Accept Signalish for input type (#5095, thanks @JoviDeCroock)
Fixes
- Fix compat Suspense hydration children recovery (#5146, thanks @JoviDeCroock)
- Check
nodeTypeinstead of the globaldocument(#5119, thanks @natemoo-re) - Fix Suspense undefined prop revalidation (#5133, thanks @JoviDeCroock)
- Fix error recovery for partially rendered subtrees (#5120, thanks @JoviDeCroock)
- Fix useId stability across async Suspense (#5108, thanks @JoviDeCroock)
- Flush subtree effects (#5055, thanks @JoviDeCroock)
- Fix memory leak hotspots (#5116, thanks @JoviDeCroock)
- Fix hydrate recovery with null excess DOM children (#5112, thanks @JoviDeCroock)
- Fix buggy edge case (#5092, thanks @JoviDeCroock)
- Preserve falsy key and ref values in cloneElement (#5082, thanks @Olexandr88)
Performance
- Use Symbols for the event clock keys (#5143, thanks @JoviDeCroock)
- Performance: compat
shallowDiffers(#4780, thanks @romgrk) - Avoid redundant allocations and writes (#5115, thanks @JoviDeCroock)
- Use .push.apply (#5024, thanks @JoviDeCroock)
Maintenance
- Bump pinned GitHub actions (#5110, thanks @JoviDeCroock)
- Fix typo in vitest config (#5111, thanks @kumavis)
- Use npm staged publishing (#5100, thanks @JoviDeCroock)
- Harden trusted publish workflow (#5099, thanks @JoviDeCroock)
- Add tier 3 sponsor logos (#5093, thanks @JoviDeCroock)
- Add trusted publishing workflow for main (#5086, thanks @JoviDeCroock)
- Add
chaito dev dependencies to make pnpm install work (#5043, thanks @marvinhagemeister)
10.29.7
Maintenance
- Make RTS optional peer dep (#5150, thanks @JoviDeCroock)
10.29.6
We had to revert #5055 due to an incompatibility with useSignalEffect
10.29.5
Fixes
- Compat Suspense hydration children recovery (#5144, thanks @JoviDeCroock)
10.29.4
Fixes
- Fix hydration-suspense crashing due to sCU bail (#5134, thanks @JoviDeCroock)
- Revert "Fix useId stability across async Suspense (#5108)" (#5135, thanks @JoviDeCroock)
10.29.3
Fixes
- Fix error recovery for partially rendered subtrees (#5120, thanks @JoviDeCroock)
- Fix
useIdstability across asyncSuspense(#5108, thanks @JoviDeCroock) - Flush subtree effects when rendering a pending node (#5055, thanks @JoviDeCroock)
- Fix hydrate recovery with null excess DOM children (#5112, thanks @JoviDeCroock)
Performance
- Address and guard memory leak hotspots (#5116, thanks @JoviDeCroock)
- Avoid redundant allocations and writes (#5115, thanks @JoviDeCroock)
Types
- Accept
SignalishforinputDOM-type (#5096, thanks @JoviDeCroock)
Maintenance
- Use npm staged publishing (#5101, thanks @JoviDeCroock)
- Add tier 3 sponsor logos (#5098, thanks @JoviDeCroock)
10.29.2
Fixes
- Fix hydration when we have defaultValue or value on a textarea (#5081, thanks @JoviDeCroock)
Maintenance
- Add CODEOWNERS for GitHub configuration (v10.x) (#5088, thanks @JoviDeCroock)
- Fix trusted publishing workflow (#5084, thanks @JoviDeCroock)
- Trusted publishing (#5072, thanks @JoviDeCroock)