Clearer logout confirmation
helix logout now tells you which account was signed out, so you can confirm the right session ended.
- Changed
helix logoutnow names the account it signed out - for example✓ Logged out (you@example.com)…
Pre-GA Helix is in Design Partner and Early Access. Early Access opens in the second half of August 2026. Design Partner and Early Access only. Request access
What shipped, newest first. Each entry leads with the changes that affect how you build, then lists the rest. Open a release for the full detail.
@trayai/helix-cli and
@trayai/helix-sdk are released together and share a version.
Install matching versions.
helix logout now tells you which account was signed out, so you can confirm the right session ended.
helix logout now names the account it signed out - for example ✓ Logged out (you@example.com)… s3Sign() on an authed AWS credential returns a signed, time-limited object URL, so browsers and services upload or download directly. A matching MCP tool mints one from chat.
s3Sign Give a deployed project a readable address from the dashboard. An org admin sets one namespace, each project takes an alias, and the app answers at a name instead of its project ID.
Functions under functions/_scheduled/ can run on a cron schedule instead of an HTTP route. Schedules fire on the deployed platform, not in local dev.
Authenticated calls carry bodies byte for byte, so binary uploads and downloads work end to end. Redirects come back to you instead of being followed.
ctx.http.authed() sends and returns bodies verbatim helix auth connect --new creates the credential in the browser and wires it into your project in one command, instead of leaving you to do both halves.
helix auth connect --new creates and wires a credential in one command getContext() now returns the canonical execution context, so request-specific fields are optional and need a presence check. Handler parameters are unaffected.
getContext() returns PlatformContext instead of TrayContext ctx.trigger.isRetry has been removed rather than kept as a value the platform cannot populate honestly. Schedule handlers must be idempotent.
ctx.trigger.isRetry for scheduled functions Two auth aliases written at once could silently lose one of them. Writes are now serialized, and an alias may match a key used elsewhere in the config.
helix deploy no longer refuses a project with more than 100 authentications before uploading. The platform decides, and says so if it rejects one.
helix deploy no longer enforces an authentication count limit locally helix login signs you in through your browser unless you ask for something else. The Chrome-session and pasted-token flow is still there behind a flag.
helix login signs you in through your browser by default The dashboard link printed after helix deploy now points at app.helix.tray.ai. No public API changed in either package.
app.helix.tray.ai helix logout now revokes a browser sign-in server side, not just on your machine. Chrome-session tokens are still removed locally only, as before.
helix logout revokes tokens obtained through browser sign-in helix login --method oauth signs you in through your browser using OAuth 2.0 with PKCE. The default login method is unchanged in this release.
helix login --method oauth signs you in through your browser Spans now carry the whole operation payload rather than summary fields, so a trace shows what was actually sent and returned. Sensitive headers are redacted.
helix init --with-app now scaffolds a bare Vite and React frontend with plain CSS. The --raw-ui and --no-ui flags are gone.
helix init's --raw-ui and --no-ui flags helix init --with-app scaffolds a default favicon, so a generated project no longer logs a repeated 404 for the icon on every page load.
helix init --with-app scaffolds a default favicon The first early-access release of the Helix CLI and SDK: scaffold a project, run it locally, deploy it with one command, and build with an AI assistant.
Looking for what Helix can do today rather than what changed? See limits and roadmap.