All Versions
21
Latest Version
Avg Release Cycle
17 days
Latest Release
29 days ago

Changelog History
Page 1

  • v10.0.5

    November 10, 2019

    _ tl;dr: This release is a bug fix only release and all users are encouraged to update._

    ๐Ÿฑ This week saw many cool improvements surrounding our TypeScript definitions. Thanks to an amazing contribution from @lukeshiru the event target is now correctly inferred for all native elements. This alone should remove many manually casted event arguments in your code ๐ŸŽ‰

    ๐Ÿฑ Together @JoviDeCroock and @cristianbote set their minds on fixing a few newly reported issues surrounding refs and the like. Personally, I'm pretty impressed how quickly they could identify and resolve the issues. Much respect to you two ๐Ÿ‘

    As the year is coming to an end @andrewiggins did some house-cleaning and found various places where we could save even more bytes! I don't know how he does it and it's just amazing to witness so much pure talent!

    ๐Ÿšง Beside that, the changes mainly revolve around maintenance tasks. We've switched to prettier for automatic code formatting, lowering the barrier for new contributors even more. The formatting is automatically applied on each commit via a git-hook, and everything will be taken care of for you ๐Ÿ’ฏ

    ๐Ÿฑ We also saw two exciting contributions from Googlers: @jridgewell found a very hard to spot unnecessary case in a regex we use to append px to certain CSS values and @jakearchibald found an html attribute we missed in our typings ๐ŸŽ‰

    ๐Ÿš€ Like in our past release we'd like to take a moment to thank everybody who contributed, not just code but also made the time to write bug reports. Thank you so much ๐Ÿ‘

    ๐Ÿ› Bug Fixes

    ๐Ÿฑ Golf ๐ŸŒ๏ธโ€โ™€๏ธ

    TypeScript

    • โž• Add types for currentTarget on event handlers for IntrinsicElements (#2084, thanks @lukeshiru)
    • ๐Ÿ‘Œ Improve ref typings for IntrinsicElements (#2070, thanks @lukeshiru)
    • โž• Add as html attribute to TypeScript defs (#2068, thanks @jakearchibald)

    ๐Ÿšง Maintenance

  • v10.0.4

    October 29, 2019

    ๐Ÿš€ This release fixes a build issue that caused errors when using effect hooks.

  • v10.0.3

    October 29, 2019

    ๐Ÿš€ This release corrects an issue where a debug warning was printed incorrectly to the console, that (rightfully) confused users. So we wanted to fix that as quick as possible ๐Ÿ‘

    ๐Ÿ› Bug Fixes

    ๐Ÿšง Maintenance

    • Queue layoutEffects in component render callbacks array (+0 B) (#2050, thanks @andrewiggins)
    • โœ… Separate debug tests into multiple files and fix some bugs in debug (#2047, thanks @andrewiggins)
  • v10.0.2

    October 28, 2019

    _ tl;dr: This is release contains mostly bug fixes and some size reductions. We encourage everyone to upgrade._

    ๐Ÿš€ Just a week has passed since the last release and there are already an exciting number of new commits in master. Hackoktoberfest has had really positive effects on us and we're excited to see some new contributors in this release ๐Ÿ’ฏ

    ๐Ÿ‘€ As you can see from the changelog: @andrewiggins is currently on a byte removing spree, so I thought it'd be appropriate to list them in their own category ๐ŸŽ‰ A few others joined him and marie kondo'ed everything that didn't spark joy in us!

    ๐Ÿฑ Besides some great savings, there are new debug warnings for components and fixes for our Suspense implementation ๐ŸŽ‰

    ๐Ÿ”‹ Features

    • โž• Add debug warnings when calling setState or forceUpdate on an unmounted component (#2037, thanks @andrewiggins)

    ๐Ÿ› Bug Fixes

    Golf (size reductions)

    • Inline coerceToVNode inside of toChildArray (-21 B) (#2040, thanks @andrewiggins)
    • โœ‚ Remove unused mount check in context Provider (-6 B) (#2039, thanks @andrewiggins)
    • Golfed render (#2045, thanks @MohammedSheikhIbrahim)
    • โœ‚ Remove useless return from eventProxy (#2026, thanks @jridgewell)
    • Rewrite useImperativeHandle to use useLayoutEffect (-35 B) (#2003, thanks @andrewiggins)
    • Re-purpose renderCallbacks as a general per-component commit queue (#2011, thanks @andrewiggins)

    Types

    • โž• Add nonce to JSX HTMLAttributes types for better Content Security Policy support. (#2035, thanks @calvinf)
    • โœ‚ Remove internal import from compat types (#2018, thanks @andrewiggins)
    • ๐Ÿ›  Fix internal vnode typings (#2015, thanks @pmkroeker)

    ๐Ÿšง Maintenance

    • โœ‚ Remove end of line in compat/mangle.json (#2053, thanks @38elements)
    • Add _afterPaintQueued and _fallback to mangle.json (#2043, thanks @38elements)
    • โœ‚ Remove OpenCollective postinstall Banner (#2033, thanks @developit)
    • โšก๏ธ Update preact/compat in readme (#2029, thanks @developit)
    • ๐Ÿ›  Fixed some typos and grammatical mistakes. (#2028, thanks @MohammedSheikhIbrahim)
    • ๐Ÿ‘ฎ Add _force and _lastDomChild to mangle.json (#2023, thanks @developit)
    • โž• Add _suspensions to mangle (#2019, thanks @JoviDeCroock)
    • โž• Add npm script to run compat TS tests (#2017, thanks @andrewiggins)
  • v10.0.1

    October 17, 2019

    _ tl;dr: This is a standard bug-fix release with no new features. We encourage everyone to upgrade_

    ๐Ÿš€ Wow, we've been overwhelmed with the reactions to our final Preact X release! We saw a huge uptick in npm downloads to 200.000 per week ๐ŸŽ‰ Another exciting announcement is that Google AMP is officially using Preact under the hood. We've receivied many more thank you notes (and even stroopwafels!) from companies using Preact. Those range from small companies to big enterprise ones, where Preact is used in a wide span of different environments.

    ๐Ÿฑ We preactively allocated the weeks after the big launch for a period of bug-fixes only in case something slipped through. It was admittedly a more conservative decision after our long alpha and beta period, but we wanted to make sure that you all would have a butter smooth experience no matter what ๐ŸŒ  It's safe to say that it went really well and we've only received a couple bug reports so far ๐ŸŽ‰

    ๐Ÿš€ In the short amount of time that has passed since the release, we managed to squash a good portion of those! Thank you so much to everyone for reporting bugs and helping us track them down! You rock ๐Ÿ‘ ๐Ÿ’ฏ

    ๐Ÿ› Bug Fixes

    Types

    ๐Ÿšง Maintenance

  • v10.0.0

    July 11, 2019

    _ tl;dr: This is mostly a bugfix only release, with one notable exception. Due to popular demand we reversed our decision to remove support for string styles and brought them back ๐Ÿ€ All users on the next tag are encouraged to upgrade_ ๐Ÿ‘

    You may have already noticed the rc suffix in the release number and that is because we're finally out of beta ๐Ÿ‘ rc stands for r oughly c omplete... uh... release candidate and this means that a final Preact X release is really close ๐Ÿ We do wanted to give it another phase of testing before going final though and it gives us a bit time to get our docs in shape.

    ๐Ÿฑ 8.x will be maintained further ๐Ÿ”ง

    ๐Ÿš€ Don't worry if there is something you would have loved to see in X, but that didn't make the cut. The final X release is more of a sign that we think it's stable and maybe even more so than 8.x ever was ๐ŸŽ‰ This also means that we can focus more on adding new features and reduce our current maintenance overhead of working on two release lines simultaneously. The upgrade should be pretty seamless for everyone and we'll publish a complete migration guide along with the final X release. If you for some reason can't update to X don't worry. We'll keep maintaining the 8.x release line for a good while.

    Now Youโ€™re Thinking With Portals

    ๐Ÿš€ This release contains some noteworthy fixes to our Portal-Component. But not just that, we also added back support for string styles due to popular demand. Originally we removed them to save bytes, but it turns out that this feature is way to useful not to have. Additionally it aligns better with out philosophy with being "closest to the DOM". Thank you'all for everyone who participated in that journey and helped us make the right decision moving forward ๐Ÿ‘ ๐Ÿ’ฏ

    ๐Ÿฑ SSR Boost ๐Ÿšค

    ๐Ÿšš This change has been cooking for a while and plays well along with the research @developit and @housseindjirdeh have been doing about hydration. When you look at the way SSR works, you'll notice that pretty much the complete diff phase is redundant. The HTML that is sent to the client matches the vnode tree completely, so there isn't much point in comparing changes. The thing is that we can't remove it completely though, because we still need to attach event listeners. For that case we introduced a faster code path which bypasses most of the diffing. After the initial render is done, Preact will continue with the usual diff mode.

    Note: This may be a breaking change if you are sending an incorrect DOM structure to the client and relied on hydrate to correct that for you. To fix this make sure to sent HTML that matches the initial vnode tree on the client.

    Rock solid ecosystem

    ๐Ÿฑ At this point we'd like to give a shoutout to @robertknight who continues to quietly maintain enzyme-adapter-preact-pure. It's rock solid already and it's only getting better. Be sure to check it out ๐Ÿค“

    Without further ado: Here is the full changelog of our first (p)release candidate ๐Ÿฅ‡

    ๐Ÿ”‹ Features

    ๐Ÿ› Bug Fixes

  • v10.0.0-rc.3

    September 10, 2019

    ๐Ÿš€ So uhm... just yesterday we've published RC2 and we've mentioned that it would be likely the last RC before going final. Turns out that fate had other plans. One seemingly minor change to our jsx constructor function lead to pretty weird and nasty bug depending on whether the code was run in use strict mode or not. @jviide wrote up a great summary on how this issue came to be.

    ๐Ÿ› Bug Fixes

    Typings

    • ๐Ÿ›  Fix PureComponent not passing generic types along (#1920, thanks @amelekhin)
  • v10.0.0-rc.2

    September 09, 2019

    _ tl;dr: This release contains a lot of bug fixes in many areas and we encourage everyone to upgrade. We're confident that this is the last rc release before marking X as stable._

    ๐Ÿš€ It's time for another Preact release ๐ŸŽ‰ We've spent the past weeks on make
    ๐Ÿ›  Preact as robust as we can. Most fixes are ones you all submitted to our
    tracker. This is super awesome and we wouldn't be where we are without all your
    help!

    ๐Ÿ›  On top of countless fixes, a few minor features found their way into the
    ๐Ÿ“ฆ package like isValidElement that can be used to check if something is valid to
    render, meaning it's a valid child that was created by h/createElement.

    โœ… The test utils also received much love and we're very impressed with how quickly
    ๐Ÿ‘ @robertknight was able to land support for async callbacks and nested calls
    ๐Ÿฑ to act ๐Ÿ’ฏ This is useful in cases where triggering an effect or state change
    involves async steps, such as waiting for a fetch call to resolve.

    Preact Devtools are coming

    We think it'd be good to give a setSate of the union here about where we are
    with the devtools. As many of you are aware we've always depended on the
    react-devtools extension for a long time now. We were very excited to
    โ†” integrate with version 4, not just because of the new featureset, but also
    ๐Ÿ‘ because the adapter and protocol is so much better than before.

    We got very far, but despite of all our efforts we ran into blocker issues with
    the expected order of events that need to be sent to the extension. Our
    internals differ quite a bit and after trying for weeks to get it right we
    ultimately went back to the drawing board.

    It became clear that just writing our own extension would be less resource
    intensive and would make it easier for us to maintain. It's pre-alpha right now,
    but we expect to mature in the coming weeks/month. Here is a screenshot as a
    little sneak peek:

    preact-devtools-preview-public

    Very early pre-alpha preview of preact-devtools

    ๐Ÿš€ We'll keep you posted! Here is the full list of changes in this release:

    ๐Ÿ”‹ Features

    ๐Ÿ› Bug Fixes

    Typings

    ๐Ÿšง Maintenance

  • v10.0.0-rc.1

    August 02, 2019

    _ tl;dr: This release contains many little fixes and we encourage all X users to upgrade._

    ๐Ÿš€ As we're nearing closer to the actual release we're hoping to sweeten the wait with another rc-release ๐ŸŽ‰ While the docs are coming along nicely we have a preview of our upcoming migration guide to Preact X from 8.x. We have a little polish left to do, but apart from that the new docs are basically ready :fingers_crossed:

    But back to the actual release! This time the fixes touch a broad area in Preact. There are a few for Portals, some for onTransition* or onAnimation* events and the usual round of browser or typing PRs.

    ๐Ÿš€ It's arguably less feature packed than previous releases, but that's a really good sign for the release candidate phase. It means that X is mature and is in great shape for going gold ๐Ÿ‘ ๐Ÿ’ฏ

    ๐Ÿ”‹ Features

    • Diff props when replacing a node and don't diff when hydrating (#1786, thanks @JoviDeCroock)

    ๐Ÿ› Bug Fixes

    Typings

    ๐Ÿšง Maintenance

  • v10.0.0-rc.0

    July 11, 2019

    _ tl;dr: This is mostly a bugfix only release, with one notable exception. Due to popular demand we reversed our decision to remove support for string styles and brought them back ๐Ÿ€ All users on the next tag are encouraged to upgrade_ ๐Ÿ‘

    You may have already noticed the rc suffix in the release number and that is because we're finally out of beta ๐Ÿ‘ rc stands for r oughly c omplete... uh... release candidate and this means that a final Preact X release is really close ๐Ÿ We do wanted to give it another phase of testing before going final though and it gives us a bit time to get our docs in shape.

    ๐Ÿฑ 8.x will be maintained further ๐Ÿ”ง

    ๐Ÿš€ Don't worry if there is something you would have loved to see in X, but that didn't make the cut. The final X release is more of a sign that we think it's stable and maybe even more so than 8.x ever was ๐ŸŽ‰ This also means that we can focus more on adding new features and reduce our current maintenance overhead of working on two release lines simultaneously. The upgrade should be pretty seamless for everyone and we'll publish a complete migration guide along with the final X release. If you for some reason can't update to X don't worry. We'll keep maintaining the 8.x release line for a good while.

    Now Youโ€™re Thinking With Portals

    ๐Ÿš€ This release contains some noteworthy fixes to our Portal-Component. But not just that, we also added back support for string styles due to popular demand. Originally we removed them to save bytes, but it turns out that this feature is way to useful not to have. Additionally it aligns better with out philosophy with being "closest to the DOM". Thank you'all for everyone who participated in that journey and helped us make the right decision moving forward ๐Ÿ‘ ๐Ÿ’ฏ

    ๐Ÿฑ SSR Boost ๐Ÿšค

    ๐Ÿšš This change has been cooking for a while and plays well along with the research @developit and @housseindjirdeh have been doing about hydration. When you look at the way SSR works, you'll notice that pretty much the complete diff phase is redundant. The HTML that is sent to the client matches the vnode tree completely, so there isn't much point in comparing changes. The thing is that we can't remove it completely though, because we still need to attach event listeners. For that case we introduced a faster code path which bypasses most of the diffing. After the initial render is done, Preact will continue with the usual diff mode.

    Note: This may be a breaking change if you are sending an incorrect DOM structure to the client and relied on hydrate to correct that for you. To fix this make sure to sent HTML that matches the initial vnode tree on the client.

    Rock solid ecosystem

    ๐Ÿฑ At this point we'd like to give a shoutout to @robertknight who continues to quietly maintain enzyme-adapter-preact-pure. It's rock solid already and it's only getting better. Be sure to check it out ๐Ÿค“

    Without further ado: Here is the full changelog of our first (p)release candidate ๐Ÿฅ‡

    ๐Ÿ”‹ Features

    ๐Ÿ› Bug Fixes