react v18.2.0 Release Notes

Release Date: 2022-06-14 // 6 months ago
  • React DOM

    • Provide a component stack as a second argument to onRecoverableError. (@gnoff in #24591)
    • ๐Ÿ›  Fix hydrating into document causing a blank page on mismatch. (@gnoff in #24523)
    • ๐Ÿ›  Fix false positive hydration errors with Suspense. (@gnoff in #24480 and @acdlite in #24532)
    • ๐Ÿ›  Fix ignored setState in Safari when adding an iframe. (@gaearon in #24459)

    React DOM Server

    • Pass information about server errors to the client. (@salazarm and @gnoff in #24551 and #24591)
    • ๐Ÿ‘ Allow to provide a reason when aborting the HTML stream. (@gnoff in #24680)
    • Eliminate extraneous text separators in the HTML where possible. (@gnoff in #24630)
    • ๐Ÿ’ป Disallow complex children inside <title> elements to match the browser constraints. (@gnoff in #24679)
    • ๐Ÿ›  Fix buffering in some worker environments by explicitly setting highWaterMark to 0. (@jplhomer in #24641)

    Server Components (Experimental)

    • โž• Add support for useId() inside Server Components. (@gnoff) in #24172

Previous changes from v18.1.0

  • React DOM

    • ๐Ÿ›  Fix the false positive warning about react-dom/client when using UMD bundle. (@alireza-molaee in #24274)
    • ๐Ÿ›  Fix suppressHydrationWarning to work in production too. (@gaearon in #24271)
    • ๐Ÿ›  Fix componentWillUnmount firing twice inside of Suspense. (@acdlite in #24308)
    • ๐Ÿ›  Fix some transition updates being ignored. (@acdlite in #24353)
    • ๐Ÿ›  Fix useDeferredValue causing an infinite loop when passed an unmemoized value. (@acdlite in #24247)
    • ๐Ÿ›  Fix throttling of revealing Suspense fallbacks. (@sunderls in #24253)
    • ๐Ÿ›  Fix an inconsistency in whether the props object is the same between renders. (@Andarist and @acdlite in #24421)
    • ๐Ÿ›  Fix a missing warning about a setState loop in useEffect. (@gaearon in #24298)
    • ๐Ÿ›  Fix a spurious hydration error. (@gnoff in #24404)
    • Warn when calling setState in useInsertionEffect. (@gaearon in #24295)
    • Ensure the reason for hydration errors is always displayed. (@gaearon in #24276)

    React DOM Server

    • ๐Ÿ›  Fix escaping for the bootstrapScriptContent contents. (@gnoff in #24385)
    • ๐ŸŽ Significantly improve performance of renderToPipeableStream. (@gnoff in #24291)

    ๐Ÿ‘• ESLint Plugin: React Hooks

    • ๐Ÿ›  Fix false positive errors with a large number of branches. (@scyron6 in #24287)
    • Don't consider a known dependency stable when the variable is reassigned. (@afzalsayed96 in #24343)

    ๐Ÿ‘‰ Use Subscription

    • ๐Ÿ”€ Replace the implementation with the use-sync-external-store shim. (@gaearon in #24289)