Releases: preactjs/preact
5.0.0-beta7
New Features
- Add support for
cloneElement()
. See React's Docs for more.
Bug Fixes
- Wrap DOM property assignment in a
try{}
block, as it can throw. - Fix element reordering regression (#174)
5.0.0-beta6
5.0.0-beta6
5.0.0-beta2
Potentially Breaking Changes
- Switch to exclusively named exports. Fixes compatibility with ES Module bundlers like Rollup (#150).
Bug Fixes
5.0.0-beta1
4.8.0
-
Fix
children
being ignored when passed explicitly via props in certain cases. Fixes preactjs/preact-compat#44 (thanks @ld0rman!)Fun fact: this means you can now do:
<div children={['hello!']} />
4.7.2
4.7.1
4.7.0
-
Merge #106: removes some unnecessary code, drops ~50 bytes
-
Lazy-instantiate the internal mapping for
linkState()
and setState's callback queue.This reduces allocation cost for components. It also reduces overall memory consumption for classful components that don't make use of those given features (certainly the common case for
setState
callback)
4.6.3
4.6.2
-
Optimize serialization of Objects to CSS strings to be about 5x faster (benchmark: https://esbench.com/bench/570daee0db965b9a009659f7)
-
Rethink solution to #120. TL;DR: fresh instances, cached DOM. Long version:
Re-invoking the constructor on a class was not a great idea. Babel's transpiled constructors
(and basically anything else) re-assign to the prototype, which is slow and a fairly bad idea.
Also, and more importantly, it was assigningthis.base
tonull
, completely ignoring the
main reason for caching components (caching their generated DOM using the component itself
as a cache key). This commit changes the behavior to discard the cached component instance
itself, re-using only the base by copying it to a fresh instance. Best of both worlds!