CLI Changelog
Highlights of @glasshome/widget-cli; the entry-by-entry history lives in the CLI CHANGELOG. The SDK ships separately: see the SDK changelog.
Notable CLI releases
0.11: upgrade upgrades
upgradein a standalone project now moves the SDK for you:bun add @glasshome/widget-sdk@latest(or--to <version>) into the section that already declares it, then the manifestsdkVersionsync andvalidateit always did. Before, it only synced manifests and printed the four manual steps.- Fresh projects build again on Windows and get
@glasshome/uion install; both fixes ship in widget-sdk 1.10.3, whichcreatenow scaffolds against.
0.10: types checked, compatibility told the truth
buildandpublishtypecheck the project first and stop on a type error. Scaffolded projects ran a barevite build, which strips types without checking them, so a widget could publish with its config type and itsconfigSchemadisagreeing. Projects without TypeScript are not blocked, only warned.- New widgets no longer scaffold a stale
sdkVersion.createandaddwrote a hardcoded^0.2.0while the project built against a 1.x SDK, and because a pre-1.0 range reads as “pre-capabilities”, those widgets were quietly excused from declaring capabilities at all. The range is now derived from the SDK you actually have installed. validatecompares the manifest range against the installed SDK instead of the range inpackage.json, which only ever compared a claim with itself.publishruns the same check, where it was previously skipped.publishsends the manifest written by the build it just ran, so bundle-owned keys no longer ship one publish behind.
0.9: preview shots
glasshome-widget previewrenders everyexamplesentry from your manifest, light and dark, intopreview/, using the same harness the Hub’s render worker uses. See Widget Previews.- Playwright is an optional peer: without it the command prints the install line instead of failing.
0.8: update and compatibility warnings
- Every command nudges when a newer CLI is published, checked at most once a day and cached, so warm runs stay offline. Opt out with
GLASSHOME_NO_UPDATE_NOTIFIERorCI. validatewarns when a manifest’ssdkVersionrange excludes the SDK pinned inpackage.json.loginstores the Hub-assigned username as your publish scope, so the scope shown at login matches whatpublishuses.
0.6: config migration
migrate configrewrites a widget’s raw-zod config to the SDK config API (defineConfig+field.*). Unrecognized patterns are left alone and reported.--drypreviews;--name <widget>targets one widget. See Config API.buildandconnectlint for deprecated config usage and directzodimports, printing the removal timeline. Warning only.
Minimum version
Hub enforces a minimum CLI version per deploy; publishing with an older CLI is refused. The current floor is served from /api/widgets/cli-version. See Widget CLI.