# Vercel Labs version bump — 2026-04-29

All 4 tracked Vercel Labs upstreams refreshed. Body content updated from each upstream's release notes — no synthesized features. Backwards-compatible across all 4.
packages bumped 4 of 4 breaking changes 0 files changed 13 all tests PASS

## Version delta

Package | Skill | Was | Now | Headline change
--- | --- | --- | --- | ---
emulate | /ork:emulate-seed | 0.4.1 | 0.5.0 | +1 emulator (Clerk auth/sessions); portless embedded mode; AWS S3 wire-format fix
portless | /ork:portless | 0.10.2 | 0.12.0 | Tailscale integration (`--tailscale`, `--funnel`); zero-config bare command; `portless prune`
agent-browser | /ork:browser-tools | 0.25.4 | 0.26.0 | `agent-browser doctor` diagnostic; stable string tab IDs (t1, t2, ...) with `--label`
@json-render/core | /ork:json-render-catalog | 0.17.0 | 0.18.0 | Devtools ecosystem (5 new packages: core + React/Vue/Svelte/Solid adapters, 6-tab inspector); Zod 4 fix

## What's new in each skill

## emulate 0.5.0

- Clerk emulator added (auth + sessions) → 13 total
- portless integration: emulators run embedded under portless URLs (no dedicated port needed)
- Stripe Checkout example + Resend magic-link example shipped
- Google OAuth `hd` claim support
- AWS S3 emulator now matches the official SDK wire format (was a compat bug)

## portless 0.12.0 (via 0.11)

- `--tailscale` shares apps over your tailnet with auto-HTTPS on 443
- `--funnel` exposes apps publicly via Tailscale Funnel
- Bare `portless` auto-discovers `package.json` dev scripts; multi-app monorepos get auto subdomains; Turborepo task-graph aware
- `portless.json` config file supported; `--script` overrides default "dev"
- `portless prune` removes orphaned dev servers + stale Tailscale registrations
- State dir moved to `~/.portless` (was scattered)
- Rsbuild + VitePlus auto-port injection (on top of existing Vite/Next)

## agent-browser 0.26.0

- `agent-browser doctor` — one-shot diagnostic. Flags: `--offline`, `--quick`, `--fix`, `--json`. Run before opening an issue
- Stable string tab IDs (`t1`, `t2`, ...) with optional `--label` for memorable names. Survives daemon restart
- `core` skill expanded with comprehensive snapshot-ref-act loop guide
- Config `$schema` reference for IDE auto-completion (`https://agent-browser.dev/schema.json`)
- Fixed: `--state` not loading saved cookies/localStorage at launch

## @json-render/core 0.18.0

- 5 new devtools packages: `@json-render/devtools` + adapters for React, Vue, Svelte, Solid
- Inspector panel: 6 tabs (Spec, State, Actions, Stream, Catalog, Pick) with DOM element-picking → spec key
- Devtools tree-shake to `null` in production builds
- Action observer + devtools flag exposed for adapter integration
- Companion Next.js demo app with AI-chat + catalog integration
- Zod 4 fix: `formatZodType` handles `z.record()`, `z.default()`, `z.literal()` correctly (was empty/wrong)

## Sibling: wterm research issue

User asked about wterm too. Vercel Labs released vercel-labs/wterm at `@wterm/{dom,react,core}@0.2.1` — terminal emulator for the web (Zig + WASM, ~12KB). Not currently used in OrchestKit. Issue #1557 opened to decide: defer / track-only (add to version watcher) / build a `terminal-emulator` skill.

## Verification

- ✓ `node scripts/check-labs-versions.mjs --check` — all 4 in sync after bump
- ✓ `npm run build` clean (prebuild sync-shared-scripts ran)
- ✓ `npm run test:skills` SUCCESS (2 pre-existing warnings unrelated)
- ✓ `tests/skills/test-skill-length.sh` — 107/107 skills under 500 lines (largest: json-render-catalog at 394)
- ✓ `tests/skills/test-shared-scripts-drift.sh` 3/3 PASS
- ✓ Frontmatter changes are mechanical (script-driven)
- ✓ Body content fact-checked against each upstream's release notes — no synthesized features