npm / virtua
virtua
What changed in virtua 0.50 to 0.54, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-03.
4 breaking7 new APIs and options7 performance4 behavior and defaults22 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initvirtua 0.547 changes
New APIs and options 1
Adds the ssrCount prop to VGrid and VMasonry.
Performance 2
Fixes unnecessary rendering of lists outside the viewport.
Optimizes wheel event handling.
Fixes and other changes 4
Fixes a memory leak of the first data in React components.
Fixes jumps when items are removed or reordered and broken layout with shift.
Suppresses the “ResizeObserver loop completed with undelivered notification…” notification.
Fixes base offset calculation for horizontal WindowVirtualizer in RTL.
virtua 0.5310 changes
Breaking changes 2
The per-axis imperative scrolls of VGrid were merged into one.
Horizontal VList now defaults to display: block.
New APIs and options 3
Adds the onResize prop.
Added the keepMounted prop to VMasonry.
A VMasonry component is now available.
Behavior and default changes 1
ViewportComponentAttributes now accepts all attributes.
Fixes and other changes 4
Fixed a blank viewport when it is scrolled before mount.
Virtua now handles the touchcancel event.
In Svelte, stale keepMounted indexes are guarded against the store's length.
Fixes a bug where relayout called onResize.
virtua 0.5210 changes
Breaking changes 2
Grid types were renamed, which may require updating type references.
Angular component events were renamed to avoid conflicts with browser events.
New APIs and options 1
VGrid props were refined to support section headers.
Performance 3
Improves performance of spans.
VGrid was optimized with keepMounted, spans and sectionRows.
VGrid with pinned rows and columns is optimized, improving performance for developers using pinned rows and columns.
Behavior and default changes 2
Virtua explicitly opts out of React Compiler.
VGrid is no longer experimental and is available across all frameworks.
Fixes and other changes 2
Fixes a blank viewport after it is hidden or detached.
Fixes a regression in jump compensation at the end.
virtua 0.518 changes
Performance 2
Re-renders are optimized for Svelte.
Re-renders are optimized for Vue.
Fixes and other changes 6
Fixes viewport measurement when using position: fixed.
Adds a guard for the keepMounted prop.
Corrects the ref convention in Solid adapters.
The index attribute no longer leaks to the DOM in Solid adapters.
Fixed a bug where scroll-behavior: smooth could break programmatic scrolling.
Fixed a bug where the scroll position could jump back during fast scrolling.
virtua 0.509 changes
New APIs and options 2
A Layout interface was created.
Support for pretext was added.
Behavior and default changes 1
CacheSnapshot was stabilized.
Fixes and other changes 6
Fixed a race condition when imperative scroll is called during measurement.
Fixes a bug that could make the estimated size 0.
Missing ssrCount props were implemented.
Fixed the angular handle.
Improved SSR support in Svelte.
Svelte avoids observing elements when the component is already unmounted.