Houston Cloud v0.5.20
Pre-release
Pre-release
·
374 commits
to main
since this release
Houston v0.5.20
Features
- feat(routines): chat-first redesign of the Routines tab
- feat(catalog): add Kimi K3 (kimi-coding) by backporting the pi-ai 0.80.9 entry
- feat(store): creator profiles - in-app editor, @handle pages, analytics, verified badges
- feat(app): unified catalog search across integrations, AI hub, and skills
- feat(ui): two-section catalog shell with unified search grammar
- feat(providers): hide regional duplicate deployments from the catalog
- feat(store): one-click Open in Houston install from the website
- feat(analytics): instrument usage, permissions, org, AI hub, skills, cloud migration
- feat(analytics): instrument feature-adoption gaps + model/provider on sends
- feat(sentry): tag client events with their deployment (#991)
- feat(dev): add
pnpm dev:stagingto run the desktop against remote staging (#994) - feat(app): send app-version header to the gateway + blocking required-update screen (#985)
- feat(host): build identity on /v1/version + pod-level /activity busy probe (#984)
- feat(chat): apply AI Mode changes to the running turn, like Claude Code's shift+tab
- feat(files): transparent files panel + move-conflict dialog (#966)
- feat(store): app parity wave - categories, integration filter, reporting, owner dashboard
- feat(store): extract @houston/agentstore-client SDK and migrate both frontends
- feat(teams): agent-centric Permissions, on-agent mount, and permission-aware agents (#954)
- feat(teams): admin Permissions hub — People access lens + blocked-state deep links (#948)
- feat(usage): split the Usage page into Compute usage / Model usage panes
- feat(integrations): review and revoke always-allowed actions per agent (#942)
- feat(integrations): surface connected-but-ungranted apps on the agent tab (#939)
- feat(files): redesign the Files tab as a Drive-style card grid (#960)
- feat(analytics): enable session recordings + heatmaps (masked)
- feat(chat): add conversation map
- feat(onboarding): email steps - floating brand marks, one clear final action
- feat(onboarding): preselect the OS locale on the language gate
- feat(chat): toast when a mode change lands on the next message
- feat(usage): show time worked instead of engine up-time + chart legibility (#936)
- feat(usage): split accounts into AI subscriptions and AI per token sections
- feat(sentry): debuggable engine events — synthetic stacks, version tag, severity correctness (#937)
- feat(ios): move auth to GCIP with Apple, Google, Microsoft, and email-code sign-in (#938)
- feat(secrets): use gateway custody for managed agents (#899)
- feat(usage): show how long agents ran (compute usage, hosted cloud) (#925)
- feat(models): curate provider model lists via one shared visibility table (#928)
- feat(create-agent): model picker in the Create-with-AI step (#927)
- feat(usage): meter token spend locally for API-key providers with no usage API
- feat(chat): preview + download files the agent created from chat (#923)
- feat(onboarding): larger Gmail/Outlook rows on the connect-email step
- feat(onboarding): centered pill-grid segment screen with skip + PostHog person property
- feat(analytics): enable rage + dead click capture, fully masked
- feat(engine): Sentry crash reporting for the TS engine (pods + desktop sidecar) (#907)
- feat(onboarding): add reset segment setting
- feat(onboarding): add segmentation screen
- feat(website): unlisted bootcamp landing page at /bootcamp/ (#906)
- feat: Admin > Agents drill-in to manage one agent's access in place
- feat: visible workspace policy everywhere and a settings-style Admin page
- feat: move org allowlists to an Admin page, keep Integrations personal
- feat(dev): one pnpm dev — full local stack, multiplayer included (#900)
- feat(migration): reconnect checklist from the legacy Composio consumer account (#895)
- feat(local-model): share a tunnelled local model with your team (#860)
- feat(auth): provider pill row + six-box pin input on the login screen
- feat(design): visible sidebar selected state via sidebar-active token
- feat(board): say Archive/Archived instead of Complete/Completed
- feat: per-account provider usage page (top-level Usage view) (#890)
Fixes
- fix(routines): adapt intake connect card to per-slug connect-flow states
- fix(onboarding): migration-flow polish, durable onboarding-completed signal, deleted-account sign-out (#999)
- fix(store-sync): skip an over-cap file instead of letting it block every sync pass (#989)
- fix(runtime): size Claude context fill from per-request usage, not the turn aggregate (#988)
- fix(sentry): stop expected operational failures from spamming error events (#986)
- fix(runtime-client): retry transient object-store failures instead of failing hydrate/sync (#987)
- fix(runtime-client): tolerate files vanishing mid-walk in syncBack (#983)
- fix(host): cover all delivery paths of the recursive-watcher ENOENT race (#981)
- fix(app): reconnect card for a disconnected local model + unknown-state polish (#980)
- fix(local-model): connect directly when the deployment has no tunnel relay (#978)
- fix(chat): unwedge the reconnect auto-continue from the send queue (#979)
- fix(host): disconnect a terminally-rejected credential instead of retrying its dead refresh token forever (#977)
- fix(skills): require a description before creating a skill from scratch (#976)
- fix(app): keep the Codex sign-in relay off for a loopback hosted gateway (#955)
- fix(website): unblock download gate and de-jank modal open (#975)
- fix(providers): report unknown, not signed-out, when the engine is unreachable (#973)
- fix(host): demote the Linux recursive-watcher ENOENT race to a warning (#970)
- fix: stop a double-fired first send from losing a mission (#969)
- fix(usage): only show the user's own agents, count messages not tasks (#967)
- fix(onboarding): skip only on failure; the sent payoff says check your inbox
- fix(onboarding): email mission runs in Autopilot; skip waits for the agent's reply
- fix(providers): fail Codex sign-in port conflicts fast, loud, and localized (#945)
- fix(e2e): conversation map spec earns its 3-moment minimum on the fake host
- fix(agentstore): pin folder-entry timestamps — reproducible skill zips (#961)
- fix(sentry): count orgs as users-affected, trim the runtime capture frame (#957)
- fix(usage): hide system/ghost agents from the Time worked list (#956)
- fix(analytics): admit detected_locale through the branch cleanProps filter
- fix(chat): conversation map floats over the transcript + clean marker previews
- fix(onboarding): ask the work-segment question at most once per user
- fix(web): provider connect no longer reports success it did not earn
- fix(auth): desktop Apple sign-in returns via gateway bridge + houston:// deep link
- fix(app): paint cached mission cards on cold open while the pod wakes (#950)
- fix(sentry): attach the synthetic stack as a thread, keep the message as the issue title (#949)
- fix(design): floating surfaces are solid everywhere, no glass modals
- fix(chat): approval card drops the technical param rows
- fix(host): satisfy noUncheckedIndexedAccess in the provider-usage route test
- fix(usage): Copilot usage no longer reads "sign in again" on a healthy connection
- fix(onboarding): require initial email action
- fix(chat): pin the agent's configured model on setup-chat kickoffs
- fix(runtime): expire abandoned OAuth logins so they release the callback port (#932)
- fix(settings): remove onboarding segment reset from production settings
- fix(design): solid dialog + create-agent cards, no see-through surfaces
- fix(e2e): scope usage-compute agent rows to the Running time section
- fix(design): opaque floating surfaces on desktop (WebView2 backdrop-filter)
- fix(chat): make pasted links readable inside the user message bubble
- fix(usage): honest OpenRouter balance + "not metered yet" copy
- fix(routines): stop cron routines vanishing after an edit (#924)
- fix(fake-host): split the setup-runtime connect surface into gate + first-run slots
- fix(e2e): onboarding connect spec survives the connected setup-runtime
- fix(providers): live-verify a pasted API key before storing it
- fix(web): make the engine gate reachability-only; onboarding owns connect
- fix(chat): make the in-chat integration approval card work on hosted cloud + stop the footer overflowing (#919)
- fix(fake-host): serve the /setup-runtime connect surface the WebApp gate probes
- fix(web): point the standalone connect gate at /setup-runtime
- fix(e2e): teach the fake host the /setup-runtime connect surface
- fix(web): probe the host's /setup-runtime connect surface, not a flat /auth/status
- fix(web): point the connect gate at the host's /setup-runtime surface
- fix(providers): curate key-dashboard URLs for the remaining api-key providers
- fix(providers): connect any pi api-key provider from the UI
- fix(integrations): never mint a bare custom OAuth auth config (Meta Ads)
- fix(onboarding): email test-send card shows only the option; Omitir actually skips
- fix(app): paint sidebar needs-you badges through a pod cold start (#914)
- fix(onboarding): drop the "Another provider" row from the connect-email step
- fix: cloud-migration wizard recovery — keep the Settings retry after partial runs, escape hatch on errors (#908)
- fix(anthropic): repair OAuth connect + credential lifecycle end to end (#910)
- fix(app): keep cached mission cards painted while an asleep pod wakes (#911)
- fix(ai-hub): stop curating OAuth providers' model lists — hub now matches the chat picker (#909)
- fix(onboarding): adapt segmentation screen to current main after rebase
- fix: cloud-migration backup fails on Windows with 'Acceso denegado (os error 5)' (#905)
- fix(sidebar): stop agent list overflowing onto the user footer in short windows (#898)
- fix(release): preserve Bun sidecar in Linux AppImage (#897)
- fix(release): give vite build 4GB Node heap on low-RAM runners (#896)
- fix(chat): stop hiding a reply whose text contains an auth code (HOU-734) (#885)
- fix(migration): skip the empty Reconnect-your-apps step (#893)
- fix(ui): keep the open chat panel mounted while its card is transiently absent (#891)
Docs
- docs: record the catalog redesign in the knowledge base and inventory
- docs(kb): document agentstore-client SDK, store parity features, deep-link install
- docs(website): point developer docs at the real gateway, centralize the URL (#993)
- docs(kb): drop retired theagentlibrary note from agent-store KB
CI & infra
- ci(images): build engine-pod/agentstore on tag push, notify prod sepa… (#992)
Changes
- refactor(files): flatten the Files tab onto the canvas (#1007)
- test(e2e): update catalog specs for the unified catalog redesign
- test(onboarding): skip-route assertion follows the failure-gated shouldOfferSkip
- refactor(settings): drop the Connected accounts shortcut row (#947)
- refactor(integrations): fold Settings > Connected accounts into the Integrations page (#941)
- test(onboarding): update language-gate e2e to the preselect + Continue contract
- test(web): approval e2e pins the card without param rows
- test(onboarding): select required segment in e2e
- refactor(usage): drop the billing sections' subtitles
- test(fake-host): serve the pre-agent /setup-runtime/* connect surface
- test(e2e): align onboarding specs with the segment gate and the welcome-less flow
- perf(host): parallelize store hydration — cuts managed-pod wake by ~10s (#901)
Before you upgrade
- Quit Houston before installing. macOS doesn't always replace a running app. If in doubt:
rm -rf /Applications/Houston.appand drag the new copy in.
Full changelog: v0.5.6...cloud-v0.5.20