Full release notes: https://www.dyad.sh/docs/releases/1.9.0-beta.3
What's Changed
- Fix Supabase dependency analysis test coverage by @keppo-bot[bot] in #3997
- feat: add a curated MCP server catalog to the plugins page by @RyanGroch in #3961
- Add restore-to-message arrow on user messages by @azizmejri1 in #3596
- Add run_tests agent tool with iterative fix loop by @azizmejri1 in #3866
- Use provider defaults for unspecified model temperature by @wwwillchen in #4000
- Remove experimental badge from Neon by @wwwillchen in #3960
- Resolve TypeScript CLI from package metadata by @wwwillchen in #3988
- Pin Claude actions and upgrade workflows to Opus 4.8 by @keppo-bot[bot] in #3965
- Redesign settings page with a flat, modern layout by @azizmejri1 in #3949
- Replace Version History preview orchestration with an explicit state machine by @keppo-bot[bot] in #3967
- Stabilize rebuild E2E and provider-default snapshots by @keppo-bot[bot] in #4001
- Make plan handoff deterministic and lifecycle-safe by @keppo-bot[bot] in #3968
- Make version preview state app-scoped and authoritative by @keppo-bot[bot] in #4005
- Default typed plan acceptance to the current chat by @wwwillchen in #4006
- Add local-agent chat history recall tools by @keppo-bot[bot] in #3948
- Add chat-history recall benchmark eval by @keppo-bot[bot] in #4007
- Centralize per-app run state with generation-safe transitions by @keppo-bot[bot] in #3969
- Introduce flowId-correlated connection state machine for GitHub/Supabase/Neon OAuth by @keppo-bot[bot] in #3970
- Format chat_history.eval.ts to fix fmt:check on main by @keppo-bot[bot] in #4011
- Introduce chat stream lifecycle state machine by @keppo-bot[bot] in #4008
- Add explore_chat_history sub-agent for historical recall (Pro) by @keppo-bot[bot] in #4009
- Introduce shared state machine micro-kernel by @keppo-bot[bot] in #4014
- Harden concurrent workflows and machine boundaries by @keppo-bot[bot] in #4015
- Machines detailed plan by @wwwillchen in #4017
- Adopt shared state-machine lifecycle in chat streams by @keppo-bot[bot] in #4019
- Fix Claude PR review artifact generation by @wwwillchen in #4018
- Own chat stream lifecycle with a constructed manager by @keppo-bot[bot] in #4021
- Confirm before Undo or Retry reverts extra commits by @keppo-bot[bot] in #4020
- Centralize state-machine manager lifecycle by @keppo-bot[bot] in #4024
- Reject stale chat stream events by generation by @keppo-bot[bot] in #4023
- Route merge conflict resolution through chat stream machine by @keppo-bot[bot] in #4025
- Add shared state machine trace observer by @keppo-bot[bot] in #4026
- Add interleaving co-simulation driver to state machine kernel by @keppo-bot[bot] in #4027
- Model voice-to-text lifecycle with injectable time and IDs by @keppo-bot[bot] in #4029
- Replace chat stream edge detectors with completion signals by @keppo-bot[bot] in #4028
- Add user-input round-trip machine and port tool consents onto it by @keppo-bot[bot] in #4033
- feat: add stdio support to the MCP plugin catalog by @RyanGroch in #4012
- Model image generation lifecycle in the renderer by @keppo-bot[bot] in #4032
- Move user-app end-to-end tests to e2e-tests/ with a migration offer by @azizmejri1 in #4035
- Add chat stream protocol spec, main-process model, and co-simulation suite by @keppo-bot[bot] in #4031
- Prevent orphaned files after image generation cancellation by @keppo-bot[bot] in #4030
- Project user-input requests into the renderer with reload rehydration by @keppo-bot[bot] in #4037
- Machines plan progress by @wwwillchen in #4042
- Remove automatic BugBot review trigger by @wwwillchen in #4043
- Bump to v1.9.0-beta.3 by @wwwillchen in #4044
- Replace pr-fix:actions with artifact-first pr-fix:ci by @keppo-bot[bot] in #4049
- Fix nightly runner reboot workflow by @wwwillchen in #4051
- Make Retry safe when newer commits exist by @keppo-bot[bot] in #4050
- Deactivate component picker after chat submission by @keppo-bot[bot] in #4053
- Prevent orphaned chat-history tool cards by @keppo-bot[bot] in #4052
- Fix Windows CI path and command portability by @keppo-bot[bot] in #4054
- Bump to v1.9.0 by @wwwillchen in #4056
- Route Linux dev deep links back into the running instance by @azizmejri1 in #4041
- Add MCP OAuth loopback state machine by @keppo-bot[bot] in #4036
- Add rationale doc for the state machine migration by @keppo-bot[bot] in #4038
- Carry git error codes across IPC and serialize mutations per app by @keppo-bot[bot] in #4046
- Prevent duplicate visual editing saves by @keppo-bot[bot] in #4013
- Port questionnaire and integration continuation onto the user-input machine and retire the legacy channels by @keppo-bot[bot] in #4047
- Refactor first-prompt setup into a reliable saga by @keppo-bot[bot] in #4040
- Own preview iframe identity, navigation, and picker lifecycle in a state machine by @keppo-bot[bot] in #4048
- Centralize shared state-machine lifecycle infrastructure by @keppo-bot[bot] in #4045
- Model GitHub repository operations with a per-app state machine by @keppo-bot[bot] in #4059
- Close the compaction and tab-hydration concurrency chores by @keppo-bot[bot] in #4060
- Model the preview screenshot pipeline as a per-app state machine by @keppo-bot[bot] in #4058
- Default new chats to Agent mode by @keppo-bot[bot] in #4057
- Revert "Bump to v1.9.0" by @wwwillchen in #4064
- Make dependency installs constraint-aware by @keppo-bot[bot] in #4063
- Let Local Agent restart and rebuild apps directly by @keppo-bot[bot] in #4062
- Project GithubBranchManager from the github_ops machine by @keppo-bot[bot] in #4061
Full Changelog: v1.9.0-beta.2...v1.9.0-beta.3