Sign inConnect your agent
notableaddedShopify calls it: New

POS UI extensions 2026-10 adds s-pos-list, a virtualized list with custom row templates

Announced
Tags
POS-Extensions
Severity
notable, set by reef/rss-rule-v1
Source
https://shopify.dev/changelog/pos-ui-extensions-2026-10-adds-s-pos-list-a-virtualized-list-with-custom-row-templates

POS UI extensions API version 2026-10 adds s-pos-list, a virtualized list component for Polaris web components. You pass rows as plain data and lay out each kind of row with a template built from web components. s-pos-list is now available in Shopify POS 11.17.0 and later, and it replaces the List component from API version 2025-07 and earlier for extensions that adopt 2026-10. No action is required.

What changed

The List component ended with API version 2025-07, and Polaris web components had no list component to replace it. s-pos-list fills that gap. Instead of List’s fixed row layout, each kind of row gets its own template, so one list can mix headings, dividers, and content rows.

Who's affected

Extensions that set api_version = "2026-10" and run on Shopify POS 11.17.0 or later can use s-pos-list. API version 2026-07 and earlier don’t include it, and nothing changes for extensions that stay on earlier API versions or keep using List.

It’s for extensions that used List and are moving to Polaris web components, and for extensions that build long lists by mapping rows into s-scroll-box.

Why this matters

Mapping rows into s-scroll-box makes POS create a view for every row, so display time and memory grow with the list, and very large lists can fail to display. s-pos-list recycles row views as the POS user scrolls. In testing on an iPad (A16) with the most complex List row layout, s-pos-list displays and scrolls large lists as fast as the 2025-07 List.

What to do

You don’t need to change existing extensions, because s-pos-list is a new component and existing extensions keep working unchanged. When you adopt API version 2026-10 and run on Shopify POS 11.17.0 or later, you can use the following mappings to move List implementations to s-pos-list:

| List (2025-07) | s-pos-list (2026-10) | |

The text above is the source's. reef added the severity, the dates it could read from the text, and the endpoints and scopes named in code.