Full release notes: https://www.dyad.sh/docs/releases/1.21.0
What's Changed
- test(e2e): close the reminder toast before the bug report Done click by @RyanGroch in #4787
- fix: name the .cmd shim when wrapping pnpm in Socket Firewall on Windows by @RyanGroch in #4770
- feat(plugins): show catalog icons on plugin cards by @RyanGroch in #4760
- test(e2e): wait for each env var row before the next edit by @RyanGroch in #4788
- test(e2e): hide the window before sending in completion notification tests by @RyanGroch in #4789
- test(e2e): return from importApp once the chat input is visible by @RyanGroch in #4790
- Preserve complete issue triage responses without output caps by @wwwillchen in #4793
- fix(sandbox): run every script on a worker thread by @RyanGroch in #4771
- test(e2e): empty the chat input before a sendPrompt retry refill by @RyanGroch in #4791
- feat(cloudflare): sync Neon database config to Workers by @RyanGroch in #4756
- Use Anthropic OIDC for issue automation by @wwwillchen in #4803
- Enable Claude diagnostics for issue automation by @wwwillchen in #4805
- Try API-key authentication for issue automation by @wwwillchen in #4807
- Route issue automation through the Tailscale Claude proxy by @wwwillchen in #4809
- Send the issue proxy credential as a bearer token by @wwwillchen in #4811
- Use the Tailscale proxy and Opus 5.5 for all Claude workflows by @wwwillchen in #4813
- Publish to GitLab (gitlab.com and self-hosted), including Coolify deploys by @Apasmara in #4616
- Disable blocked Claude maintenance workflows by @wwwillchen in #4817
- Prefer GPT-6 Luna for ChatGPT Free subscriptions by @wwwillchen in #4801
- Bump to v1.20.0-beta.1 by @wwwillchen in #4818
- Remove ANTHROPIC_AUTH_TOKEN from Claude workflows by @wwwillchen in #4819
- fix(preview): simplify addresses and fix browser opening by @azizmejri1 in #4776
- feat(cloudflare): convert plain Vite apps to Nitro by @RyanGroch in #4822
- feat(github): report what each sync actually pushed by @RyanGroch in #4834
- feat(cloudflare): list recent deployments on the Cloudflare card by @RyanGroch in #4838
- Restore Claude triage diagnostics by @wwwillchen in #4853
- Allow issue triage to read its issue metadata by @wwwillchen in #4855
- Allow bug reporters to skip writing a description by @keppo-bot[bot] in #4857
- feat(onboarding): emphasize ChatGPT in setup dialog by @RyanGroch in #4839
- Make task tabs visible and easier to distinguish by @keppo-bot[bot] in #4832
- fix(claude-code): keep long MCP tool calls alive with delivered progress by @keppo-bot[bot] in #4865
- Keep production builds from blocking other chats and isolated E2E setup by @keppo-bot[bot] in #4864
- Bump to v1.21.0-beta.1 by @wwwillchen in #4867
- chore(deps): bump mustardscript to 0.3.1 by @RyanGroch in #4858
- feat(chat): show test run queue and outcomes by @azizmejri1 in #4833
- fix(preview): namespace HttpOnly cookies per app on shared localhost by @wwwillchen in #4794
- feat: add guided Neon deployment flow by @azizmejri1 in #4694
- feat(chat): suggest follow-up prompts after a build completes by @RyanGroch in #4841
- feat(chat): accept zip attachments and unpack them for the agent by @RyanGroch in #4843
- fix(e2e): match Vercel deployment status label by @azizmejri1 in #4884
- feat(telemetry): add memory context to crash events by @RyanGroch in #4888
- feat(cloudflare): make Cloudflare deployment generally available by @RyanGroch in #4882
- chore(chat): remove unused delete-messages endpoint by @azizmejri1 in #4878
- fix: support long Windows paths across Git operations by @azizmejri1 in #4767
- Show system-wide CPU and memory usage in the toolbar by @wwwillchen in #4887
- fix(zip): copy extraction into place when the rename stays blocked by @RyanGroch in #4889
- feat(tests): explain why a test run was stopped by @keppo-bot[bot] in #4890
- Fix Rive MCP discovery and show connection errors by @keppo-bot[bot] in #4892
- Bump to v1.21.0-beta.2 by @wwwillchen in #4893
- Promote v1.21.0-beta.2 to v1.21.0 by @wwwillchen in #4911
New Contributors
Full Changelog: v1.19.0...v1.21.0