Never miss a release that matters
AI-powered summaries of every GitHub release.
AI Summaries
Changelogs condensed into clear, actionable insights.
Always Free
Track up to 5 packages at no cost, forever.
Weekly Digest
A curated summary of every release, delivered weekly.
TL;DR
Preact now correctly hydrates textareas with defaultValue or value props, resolving issues with initial content display.
Fixes Worth Knowing
Textareas with pre-defined values now render correctly on the client-side after initial load (hydration).
TL;DR
Preact has received significant performance improvements, especially around Suspense (data loading) and memory management, leading to faster and more efficient updates in your applications.
New
None
Fixes Worth Knowing
Several fixes address crashes and unexpected behavior when using Suspense, portals, and signals (reactive variables). These improvements should result in more stable and predictable rendering.
Before You Upgrade
No specific action is needed, but testing your application after upgrading is always recommended, especially if you heavily utilize Suspense or signals.
TL;DR
Preact now correctly identifies as a UMD (Universal Module Definition) module, improving compatibility with various bundlers and environments.
Breaking
"browser"field changed to"umd:main"(affects module resolution).
New
(No new features)
Fixes Worth Knowing
(No fixes worth knowing)
Before You Upgrade
If you rely on the "browser" field in your build process, update it to "umd:main" in your package.json.
TL;DR
Preact 10.0.0-rc.3 resolves a critical bug affecting rendering in strict mode, ensuring consistent behavior regardless of JavaScript execution settings.
Breaking
- Circular
childrenrefs increateElementcould cause issues; this is now fixed.
New
isValidElementfunction added to check if an object is a valid Preact element.- Improved test utilities now support
asynccallbacks and nested calls toact(testing helper) for more robust asynchronous component testing.
Fixes Worth Knowing
- Numerous bug fixes improve stability, including fixes for
setStatecalls,useImperativeHandle,shouldComponentUpdate, and IE11 compatibility. - Typing definitions have been improved for better developer experience.
Before You Upgrade
No specific action is needed, but upgrading to this release is highly recommended to benefit from the bug fixes and ensure consistent behavior.
TL;DR
Preact DevTools now correctly handles functional components (developer tools for debugging) without requiring them to explicitly inherit from Component.
Fixes Worth Knowing
DevTools no longer throws errors when inspecting functional components.
Before You Upgrade
No action needed. This is a bugfix release.
Package: Preact Release:
--- 7.3.0 (2017-04-27) ---
Features
- Support for
createContextAPI (https://github.com/preactjs/preact/pull/1080). This is a new API for managing data that can be passed through the component tree without having to pass props down manually at every level. cloneElementnow accepts akeyprop (https://github.com/preactjs/preact/pull/1101).
Breaking
createClassis removed. Useclasssyntax or functional components
TL;DR
Preact now offers preliminary support for the React DevTools (browser extension), improving debugging and component inspection.
New
- React DevTools support: Debug Preact applications with familiar tools.
Fixes Worth Knowing
- Resolved an issue preventing text updates in Firefox.
- Improved component updates when using nested components.
- Fixed a bug that could cause incorrect element recycling.
Before You Upgrade
Install the React DevTools browser extension to take advantage of the new support.
TL;DR
Preact now correctly handles re-rendering and empty vnodes (virtual DOM nodes), resolving issues with duplicated DOM elements and unexpected comment nodes.
Breaking
- Improperly inheriting from
Component(JavaScript classes) now requires correctly forwarding arguments tosuper().
Fixes Worth Knowing
- Event handler names are now case-insensitive (e.g.,
onClickandonclickboth work). - Re-rendering components with the same root node no longer duplicates DOM elements.
Before You Upgrade
- Review any custom component implementations that extend
Componentand ensuresuper()is called with the correct arguments.
TL;DR
Preact now handles component lifecycle events and DOM updates more reliably, resolving issues with timing and unexpected behavior.
Breaking
- No breaking changes in this release.
New
No new features in this release.
Fixes Worth Knowing
- Resolved issues where component lifecycle events weren’t firing in the expected order (timing of component updates).
- Fixed a bug causing unexpected swapping of content (DOM manipulation).
Before You Upgrade
No specific action needed for this upgrade.
TL;DR
Preact now correctly renders children passed directly as a prop, enabling more flexible component composition.
Fixes Worth Knowing
Passing children as a prop now works as expected, resolving an issue with certain component setups.
Before You Upgrade
No action is needed; this is a bug fix release.
TL;DR
Preact is now significantly faster due to improvements to its core diff algorithm, resulting in a ~10% performance boost.
Breaking
linkState()with top-level keys no longer mutatesthis.statedirectly. (Avoids unexpected side effects)
New
Component.prototype.forceUpdate()is added. (Allows manual component re-rendering)react-reduxis now fully supported. (Enables use with a popular state management library)
Fixes Worth Knowing
- Components now correctly receive unmount lifecycle hooks. (Ensures predictable component behavior)
- Fixed a bug causing unnecessary parent component re-initialization. (Improves rendering stability)
Before You Upgrade
- Review any code using
linkState()with top-level keys and adjust for the non-mutating behavior.
TL;DR
Preact 3.0 introduces context support (global data access) and improves performance with modular code and optimized rendering.
Breaking
VNode#__isVNoderemoved (useinstanceof VNodeinstead).componentDidUpdate()now behaves as expected, not triggering on initial render.
New
- Context Support: Enables sharing data across components without prop drilling.
Fixes Worth Knowing
- Event removal issues are resolved, improving stability.
Before You Upgrade
Replace any code using VNode#__isVNode with instanceof VNode.
TL;DR
Preact now handles external changes to component properties more reliably, improving stability when integrating with other libraries or complex state management (managing application data).
Breaking
- Properties mutated externally are now accounted for, potentially changing behavior if you relied on Preact not reacting to outside modifications.
Fixes Worth Knowing
- Improved performance when updating DOM properties that don’t have corresponding attributes (e.g.,
valueon an input).
Before You Upgrade
- Review any code that directly manipulates component properties from outside of Preact’s rendering cycle to ensure expected behavior.