Skip to content

Changelog

  • #1393 fa9dd31 Thanks @petyosi! - Fix useWindowScroll SSR layout collapse by rendering the window viewport in normal flow while preserving sticky top items.
  • #1388 5871779 Thanks @petyosi! - Fix useSyncExternalStore detection for React 19+

    The version check used startsWith('18') which excluded React 19, causing it to fall back to the legacy useState+useLayoutEffect subscription path. This could cause tearing issues in concurrent rendering scenarios. Changed to parseInt(React.version) >= 18 to correctly use useSyncExternalStore for React 18 and above.

  • #1375 620b260 Thanks @marcospassos! - Fix atBottomStateChange in useWindowScroll lists when the Virtuoso instance is rendered below other page content.
  • 161db63 Thanks @petyosi! - Use changeset publish for proper git tagging and GitHub release creation
  • #1361 7b38166 Thanks @petyosi! - Replace ESLint and Prettier with oxlint and oxfmt for faster linting and formatting. Modernize TypeScript configuration with verbatimModuleSyntax and ES2022 build targets.

    Source code changes are non-behavioral: stricter equality checks (===/!== instead of truthiness), ?? instead of || for defaults, early returns instead of else blocks, self-closing JSX tags, and removal of unnecessary JSX fragments. LogLevel in react-virtuoso is changed from a TypeScript enum to a const object — the named exports (LogLevel.DEBUG, etc.) work identically, but enum reverse-mapping (LogLevel[0]) is no longer supported.

  • 58b9703: Add minOverscanItemCount prop to ensure a minimum number of items are rendered before/after the viewport, useful for tall or collapsible items where pixel-based overscan is insufficient.
  • 497681b: provenance test
  • 7e327d8: Added heightEstimates prop to provide per-item height estimates for more accurate initial scrollbar sizing with variable height items
  • 34646ce: Support fixed size for groups in grouped virtuoso
  • f4f307f: Fix bogus context attribute
  • 0898bc7: Support `scrollIntoViewOnChange prop for Virtoso”
  • 7ee973e: Support table grouping
  • dbe93a0: Follow output works with fixedItemHeight set
  • a04ba00: Fix for prepend items flickering
  • bb0402e: Support window scrolling to iframe react portals
  • b1d4519: Revert node requirements
  • fdbf0c5: Updated to latest tooling
  • fdbf0c5: correct TS types for custom component, context is always passed