unstale

npm / react-window

react-window

What changed in react-window 2, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.

6 new APIs and options3 performance2 behavior and defaults13 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

react-window 224 changes

New APIs and options 6

  • Accepts an optional ownerDocument parameter and caches the measured size separately for each document.

    2.3.4release notes

  • Grid accepts an optional columnKey prop.

    2.3.0release notes

  • List accepts an optional rowKey prop.

    2.3.0release notes

  • Grid accepts an optional rowKey prop.

    2.3.0release notes

  • Use the defaultHeight prop to server render the initial set of rows.

    2.2.5release notes

  • Use the defaultWidth prop to server render the initial set of cells.

    2.2.5release notes

Performance 3

  • Fixes unnecessary size calculations when scrolling beyond cached bounds.

    2.3.3release notes

  • Avoids allocating bounds for items preceding fixed-size jumps.

    2.3.2release notes

  • Calculates fixed-size visible ranges directly and searches cached variable-size bounds instead of scanning from the beginning.

    2.3.2release notes

Behavior and default changes 2

  • List, Grid, and useDynamicRowHeight use the ResizeObserver, requestAnimationFrame, and document belonging to the window containing the list, supporting rendering into another window such as an iframe or portal pop-up.

    2.3.4release notes

  • Uses fractional percentage sizing.

    2.3.2release notes

Fixes and other changes 13

  • Rows with an aria-hidden attribute are now measured.

    2.3.4release notes

  • Fixes center alignment near list boundaries.

    2.3.2release notes

  • Fixes dropped prop updates.

    2.3.2release notes

  • Fixes stale row measurements when rows are reordered by key.

    2.3.2release notes

  • Fixes scrolling and alignment in RTL layouts.

    2.3.2release notes

  • Improves scrollToRow accuracy for rows with dynamic heights.

    2.3.2release notes

  • Grid updates its direction when the dir prop changes after mount.

    2.3.1release notes

  • useDynamicRowHeight no longer instantiates ResizeObserver when server-rendering.

    2.2.6release notes

  • Imperative scroll-to methods throw a RangeError instead of a regular Error when passed an invalid index.

    2.2.3release notes

  • Adjust the TypeScript return type to work around a ReactNode versus ReactElement mismatch caused by #875.

    2.2.2release notesrelease notes

  • The return type is explicitly annotated as ReactElement to fix TypeScript warnings for React versions 18.0–18.2.

    2.2.2release notes

  • The return type is explicitly annotated as ReactElement to fix TypeScript warnings for React versions 18.0–18.2.

    2.2.2release notes

  • Adjust the TypeScript return type to work around a ReactNode versus ReactElement mismatch caused by #875.

    2.2.2release notesrelease notes