github welldone-software/why-did-you-render v10.0.0
Why Did You Render v10 Supporting React 19! πŸŽ‰πŸΎ

latest release: v10.0.1
16 hours ago

Β―\(ツ)/Β― no idea how version 9 was skipped when I ran npm publish but we've jumped from v8 to v10 directly Β―\(ツ)/Β―

Note

I've joined the React team, specifically working on React tooling. This role has opened up exciting opportunities to enhance the developer experience for React usersβ€” and your input could offer valuable insights to help me with this effort. Please join the conversation in the discussion thread!

Breaking Changes

Caution

The library was not tested with React Compiler at all. I believe it's completely incompatible with it.

Caution

Not all re-renders are "bad". Sometimes shenanigan to reduce re-renders can either hurt your App's performance or have a neglagable effect, in which case it would be just a waste of your efforts, and complicate your code. Try to focus on heavier components when optimizing and use the React profiler inside the React dev-tools to measure the effects of any changes.

New Features

  • 1562bfc - Improved console colors so the text is now clearly visible in dark mode. This can be adjusted via the setting textBackgroundColor.

Internal

  • cdd84dc, 2eb3f93, 6c617d6 - Re-worked how owner render reasons are detected
  • 6bd8f0c - Fixed how the demo app is being ran and using fast-refresh instead of the old hot-reload
  • 0613270 - Made the detection of hooks in a new component much more simple, clear, and accurate
  • 8cb3d36, 5e927f2 - Adjusted tests to React 19
  • cd969a0 - Only testing the latest libraries that are compatible with React 19.
  • 7eed9c5 - Eliminated a warning that forwardRef functions accept exactly two parameters. Added a demo page for forwardRef.
  • db2914c - Updated eslint to version 9
  • 3fb801c - Removed all dev packages that were not used
  • fcc8a8f, 1f524c0 - Updated the rest of the dev packages, and adjusted the code accordingly

Don't miss a new why-did-you-render release

NewReleases is sending notifications on new releases.