Changes to the POS Apps SDK (@pancake-pos/ui-extensions, @pancake-pos/ui, @pancake-pos/app-cli, @pancake-pos/eslint-plugin, create-pos-app). The packages are released together under one version number.
- Deployed apps need nothing: POS serves the runtime, so fixes and new elements take effect right away. Everything in
api_version2026-01is additive and does not break existing code. - Projects in progress should update to get the new types, code rules, docs and MCP examples. The CLI tells you when a new version is out (Updating the SDK):
Terminal
npm i @pancake-pos/ui@latest @pancake-pos/ui-extensions@latest
npm i -D @pancake-pos/app-cli@latest @pancake-pos/eslint-plugin@latestIf you use the MCP server, restart it after updating.
2026.1.9
- The CLI tells you about a newer SDK:
npm run check,build,deployanddevprint the update command;--jsonresults and the MCP tools (check_app,deploy,get_errors) carry anupdatefield so AI tools can offer the update. Turn it off withPOS_APP_NO_UPDATE_CHECK=1. - Rule
pos-app/valid-elements: an unknown element, property or event that looks like no known name now suggests updating the SDK (usually code written from newer docs). - This What's new page.
2026.1.8
Components
- New:
pos-switch,pos-radio-group,pos-time-picker,pos-file-input(POS reads CSV/Excel into a table for the app). pos-table:rowstake Open API records as they are and a columnkeyis a path (customer.name,items.0.sku); an "Actions" column withrowActionsandonRowAction;copyablecolumns.pos-select: search through the API withonSearchandloading.pos-date-picker:timeto pick a time as well.pos-modal:width(520, 720, 1000 px). The footer ofpos-modalandpos-draweralso takespos-menu-buttonandpos-link.
API (runtime-api)
pos.api.paginateloads many pages in parallel within the rate limit;pos.api.get(path, { cache })keeps catalogs in memory.pos.download({ sheet }): POS builds an.xlsxor.csvfile from columns and rows.pos.navigate({ resource: 'order', id })opens an order in a new tab.pos.formatformats numbers, money and dates like POS.pos.clipboard.copy.
Runtime and tools
- A value that breaks the schema (wrong type, misplaced element, text too long) no longer stops the extension: POS drops the bad part and writes it to the error log.
- Development mode writes "Standard screens" warnings (
standard_screen) to the error log, read withget_errors. - MCP tool
get_example: complete sample apps (report, list with a detail drawer, file import, order form block, print template, hook).
2026.1.7
- Elements for report and list screens:
pos-stat,pos-date-range,pos-menu-button,pos-description-list,pos-timeline,pos-progress,pos-empty,pos-drawer. pos-table: columnformatbadge, link, percent,tones,subtitle,sortable,fixed,ellipsis;sort,summary,selectable,selected; eventsonSortChange,onSelectionChange,onCellClick.pos-chart: combined bars and lines, horizontal bars, percent.pos-button:icon,tooltip.pos.downloadsaves a file the app made.- Rule
pos-app/standard-screen(warning) following Standard screens; thecreate-pos-apptemplate has a sample report page. - MCP tools
search_apiandget_apilook up Open API endpoints. - Fix: development mode could not load data when POS called the API through
pos.pancake.vn.
2026.1.6
- Docs and the template run the CLI through
npm run …ornpx @pancake-pos/app-cli …(thepos-apppackage on npm is not Pancake's).
2026.1.5
- Customer targets:
customer.details.action,customer.index.action,customer.index.selection-action,customer.index.column.
2026.1.4
- Worker UI pages (
app.pagewithrender: "worker") and page elements:pos-page,pos-tabs,pos-filter-bar,pos-chart. - List columns (
<resource>.index.column), app print templates (<resource>.print-action), the customer profile block (customer.details.block).
