Releases: dyad-sh/dyad
Release list
v1.12.0-beta.1
Full release notes: https://www.dyad.sh/docs/releases/1.12.0-beta.1
What's Changed
- Show progress while a test run is being stopped by @azizmejri1 in #4284
- Add testing-for-new-apps telemetry by @azizmejri1 in #4253
- Run project pre-commit hooks before agent checkpoints by @azizmejri1 in #4278
- feat: prompt for a screenshot on session uploads and record the outcome by @RyanGroch in #4296
- Keep plan mode submissions in current chat by @azizmejri1 in #4308
- Let Local Agent run production builds safely by @keppo-bot[bot] in #4319
- feat(logging): mark session boundaries in the app log by @RyanGroch in #4330
- Let users skip database integration setup by @keppo-bot[bot] in #4329
- Show Basic Agent quota error instead of silent Build fallback by @keppo-bot[bot] in #4332
- Increase free Basic Agent quota to 20 per day by @wwwillchen in #4333
- Clarify Supabase Edge Function deployment timing by @keppo-bot[bot] in #4335
- Show actionable GitHub sync errors by @keppo-bot[bot] in #4328
- fix(search-replace): stop writing stray blank lines into edited files by @RyanGroch in #4338
- Improve auto-sidekick lifecycle and delegation safety by @keppo-bot[bot] in #4309
- Deflake proposal and concurrent chat E2E flows by @keppo-bot[bot] in #4337
- Add grace period before app sidebar collapse by @wwwillchen in #4331
- Bump to v1.12.0-beta.1 by @wwwillchen in #4339
Full Changelog: v1.11.1...v1.12.0-beta.1
v1.11.1
What's Changed
- Track meaningful visual editor usage by @azizmejri1 in #4307
- Keep preview tooltips clear of navigation tabs by @keppo-bot[bot] in #4306
- Improve interrupted version restore recovery by @wwwillchen in #4312
- Cancel hanging Local Agent engine requests by @keppo-bot[bot] in #4298
- Bump to v1.11.1 by @wwwillchen in #4313
- Avoid Ubuntu mirror hangs in Linux release builds by @wwwillchen in #4314
Full Changelog: v1.11.0...v1.11.1
v1.11.0
Full release notes: https://www.dyad.sh/docs/releases/1.11.0
What's Changed
- Deflake E2E waits for background app operations by @keppo-bot[bot] in #4242
- Enforce preview proxy frame-ancestors CSP to block remote framing by @azizmejri1 in #4234
- Fix Claude issue triage artifact generation by @wwwillchen in #4248
- Open a file's diff from the commit dialogs by @azizmejri1 in #4228
- Mark uncommitted and unsaved files in the code editor file tree by @azizmejri1 in #4229
- Add app blueprint posthog telemetry by @azizmejri1 in #4252
- Record Playwright tests from the preview by @azizmejri1 in #4245
- Add model-specific effort levels per chat by @keppo-bot[bot] in #4255
- Fix recorded-test assertion model configuration by @azizmejri1 in #4269
- Improve prompt guidance for questionnaire, esp. for app blueprints by @wwwillchen in #4247
- feat: stabilize fragile recorded test selectors by @azizmejri1 in #4268
- Route Value model through OpenAI Responses API by @wwwillchen in #4271
- Restore durable queued prompts across app restarts by @keppo-bot[bot] in #4270
- Fix Value model reasoning and model picker interactions by @wwwillchen in #4273
- Add durable Agent teams with safe mode and tool gating by @keppo-bot[bot] in #3926
- Keep reload shortcuts scoped to the app preview by @wwwillchen in #4261
- Fix queue revision error when stopping chat by @wwwillchen in #4272
- Attach the recorded-test proposal to the chat input by @azizmejri1 in #4262
- Polish model picker and agent card surfaces by @wwwillchen in #4274
- Add manual Supabase Edge Function redeployment by @keppo-bot[bot] in #4232
- Bump to v1.11.0-beta.1 by @wwwillchen in #4276
- Stabilize main CI across preview, queue, and Git flows by @keppo-bot[bot] in #4279
- feat(coolify): deploy apps to a self-hosted server by @RyanGroch in #4187
- Fix issue triage artifact permission by @wwwillchen in #4280
- Allow new chats during E2E tests and recordings by @keppo-bot[bot] in #4281
- Bump to v1.11.0 by @wwwillchen in #4300
Full Changelog: v1.10.0...v1.11.0
v1.11.0-beta.1
Full release notes: https://www.dyad.sh/docs/releases/1.11.0-beta.1
What's Changed
- Deflake E2E waits for background app operations by @keppo-bot[bot] in #4242
- Enforce preview proxy frame-ancestors CSP to block remote framing by @azizmejri1 in #4234
- Fix Claude issue triage artifact generation by @wwwillchen in #4248
- Open a file's diff from the commit dialogs by @azizmejri1 in #4228
- Mark uncommitted and unsaved files in the code editor file tree by @azizmejri1 in #4229
- Add app blueprint posthog telemetry by @azizmejri1 in #4252
- Record Playwright tests from the preview by @azizmejri1 in #4245
- Add model-specific effort levels per chat by @keppo-bot[bot] in #4255
- Fix recorded-test assertion model configuration by @azizmejri1 in #4269
- Improve prompt guidance for questionnaire, esp. for app blueprints by @wwwillchen in #4247
- feat: stabilize fragile recorded test selectors by @azizmejri1 in #4268
- Route Value model through OpenAI Responses API by @wwwillchen in #4271
- Restore durable queued prompts across app restarts by @keppo-bot[bot] in #4270
- Fix Value model reasoning and model picker interactions by @wwwillchen in #4273
- Add durable Agent teams with safe mode and tool gating by @keppo-bot[bot] in #3926
- Keep reload shortcuts scoped to the app preview by @wwwillchen in #4261
- Fix queue revision error when stopping chat by @wwwillchen in #4272
- Attach the recorded-test proposal to the chat input by @azizmejri1 in #4262
- Polish model picker and agent card surfaces by @wwwillchen in #4274
- Add manual Supabase Edge Function redeployment by @keppo-bot[bot] in #4232
- Bump to v1.11.0-beta.1 by @wwwillchen in #4276
- Stabilize main CI across preview, queue, and Git flows by @keppo-bot[bot] in #4279
- feat(coolify): deploy apps to a self-hosted server by @RyanGroch in #4187
- Fix issue triage artifact permission by @wwwillchen in #4280
- Allow new chats during E2E tests and recordings by @keppo-bot[bot] in #4281
Full Changelog: v1.10.0...v1.11.0-beta.1
v1.10.0
Full release notes: https://www.dyad.sh/docs/releases/1.10.0
What's Changed
- Deflake setup and version lifecycle E2E tests by @keppo-bot[bot] in #4070
- Document state-machine hardening proposals by @keppo-bot[bot] in #4075
- Add comments for safety by @wwwillchen in #4077
- Harden state-machine types and test tooling by @keppo-bot[bot] in #4076
- Add explicit state-machine capability selectors by @keppo-bot[bot] in #4079
- Add transactional dispatcher with voice-to-text pilot by @keppo-bot[bot] in #4078
- Harden chat stream identity with invocation references by @keppo-bot[bot] in #4080
- Migrate image generation and screenshot controllers to transactional dispatch by @keppo-bot[bot] in #4084
- Add shared scopes and ordered disposal lifecycle by @keppo-bot[bot] in #4082
- Harden app run identity across restarts by @keppo-bot[bot] in #4083
- Recover user-input follow-ups without durable handoff state by @keppo-bot[bot] in #4085
- Polish state machine observability and rules by @keppo-bot[bot] in #4086
- plans: clean-up state machines by @wwwillchen in #4089
- Enforce state ownership boundaries and add selector bindings by @keppo-bot[bot] in #4090
- Retire S-tier state machine mirrors by @keppo-bot[bot] in #4091
- feat: collect user-supplied setup fields for catalog MCP servers by @RyanGroch in #4081
- Replace single-machine Jotai projections with snapshot stores by @keppo-bot[bot] in #4092
- Replace cross-machine preview atom edges with facades by @keppo-bot[bot] in #4093
- Add the safe A6b renderer reader seam by @keppo-bot[bot] in #4094
- Retire legacy chat streaming status and error atoms by @keppo-bot[bot] in #4095
- docs: record main-owned state machine architecture by @keppo-bot[bot] in #4096
- Add golden single-window characterization suite by @keppo-bot[bot] in #4097
- Give preview runtime channels explicit owners by @keppo-bot[bot] in #4098
- Define app-run wire codecs and safe remote projection by @keppo-bot[bot] in #4099
- Extract transport-neutral app runtime service by @keppo-bot[bot] in #4101
- Document C2 main registry boundaries and hardening by @keppo-bot[bot] in #4103
- Add multi-window infrastructure and coherence harness by @keppo-bot[bot] in #4102
- Add the local distributed actor kernel by @keppo-bot[bot] in #4100
- Rewire single-window audit paths for multi-window delivery by @keppo-bot[bot] in #4104
- Add contract-driven remote actor transport by @keppo-bot[bot] in #4105
- Add remote distributed machine client and React bindings by @keppo-bot[bot] in #4106
- Move app run authority to main actor by @keppo-bot[bot] in #4108
- Delete legacy renderer app run authority by @keppo-bot[bot] in #4109
- Move GitHub operations to the main actor host by @keppo-bot[bot] in #4116
- Delete legacy GitHub operations adapter by @keppo-bot[bot] in #4117
- Harden main-owned connection registries by @keppo-bot[bot] in #4122
- Move image generation jobs to the main actor host by @keppo-bot[bot] in #4121
- Automatically remove unauthorized GitHub releases by @keppo-bot[bot] in #4124
- Make stopping a stream non-destructive for queued prompts by @azizmejri1 in #4126
- Move chat and plan execution authority to main by @keppo-bot[bot] in #4119
- refactor: delete legacy chat stream adapters by @keppo-bot[bot] in #4120
- Move version preview lifecycle behind main-process actor by @keppo-bot[bot] in #4123
- Pin compaction to gpt-5.6-luna for Pro users; add compaction quality benchmark by @keppo-bot[bot] in #4128
- Add opt-in multi-window app product surface by @keppo-bot[bot] in #4115
- Remove retired state-machine compatibility infrastructure by @keppo-bot[bot] in #4129
- correct state machines plans by @wwwillchen in #4131
- format plan by @wwwillchen in #4135
- fix: preserve recovery after interrupted version restore by @keppo-bot[bot] in #4132
- refactor: add state-machine contract and conformance shell by @keppo-bot[bot] in #4133
- Add delete and open-in-editor actions to the Tests panel by @azizmejri1 in #4087
- refactor: centralize pending receipt deduplication by @keppo-bot[bot] in #4136
- Stabilize test teardown and worker scheduling by @keppo-bot[bot] in #4137
- refactor: harden remote intent admission and subscriptions by @keppo-bot[bot] in #4138
- feat: encrypt MCP server headers and env vars at rest by @RyanGroch in #4130
- Add cross-window chat tab transfer by @keppo-bot[bot] in #4134
- refactor: enforce keyed actor admission fences by @keppo-bot[bot] in #4139
- refactor: add correlated actor request settlement by @keppo-bot[bot] in #4143
- refactor: migrate image generation to authoritative operation settlement by @keppo-bot[bot] in #4144
- fix: resume the chat after the database integration Continue by @azizmejri1 in #4147
- refactor: migrate app run to correlated actor requests by @keppo-bot[bot] in #4145
- Deflake Windows dependency and app navigation E2Es by @keppo-bot[bot] in #4150
- refactor: enforce correct state-machine construction by @keppo-bot[bot] in #4149
- docs: plan remaining distributed-machine migrations by @keppo-bot[bot] in #4152
- refactor: add operation route registry by @keppo-bot[bot] in #4153
- Upgrade GitHub workflows to Claude Opus 5 by @wwwillchen in #4158
- Keep app references available across a chat in agent modes by @azizmejri1 in #4151
- feat: open a plugin's page after adding it by @RyanGroch in #4160
- fix: stop asking for OAuth once an MCP token works by @RyanGroch in #4186
- Add edit action to code diff toolbar by @azizmejri1 in #4159
- Use Agent mode for AI merge conflict resolution by @wwwillchen in #4191
- Compact model context before tool outputs cross limits by @keppo-bot[bot] in #4148
- Make version diff mode easier to exit by @keppo-bot[bot] in #4195
- feat: migrate apps off legacy Supabase API keys by @azizmejri1 in #4173
- Require build provenance for release artifacts by @wwwillchen in #3966
- Bump to v1.10.0-beta.1 by @wwwillchen in #4196
- Fix draft release asset verification by @wwwillchen in #4199
- Enable show_full_output for Claude PR review debugging by @wwwillchen in #4198
- Use GPT-5.6 Luna for MCP consent classification by @wwwillchen in #4197
- Match release provenance to published assets by @wwwillchen in #4200
- Deflake app search and Supabase dependency E2Es by @keppo-bot[bot] in #4201
- Remove sub-agent from Claude PR review to fix missing-output flake by @wwwillchen in #4204
- Fix merge conflict recovery UX by @wwwillchen in #4202
- Keep apps selectable when Supabase metadata lookup fails by @wwwillchen in #4206
- Fix cross-platform CI test synchronization by @keppo-bot[bot] in #4205
- Remove prefixes from Dyad-generated messages by @wwwillchen in #4209
- Bump to v1.10.0 by @wwwillchen in #4210
- Bump to v1.10.0-beta.2 by @wwwillchen in #4212
- Prevent stale windows from w...
v1.10.0-beta.3
What's Changed
- Decouple app operations with resource-scoped coordination by @wwwillchen in #4223
- Fix native macOS quit and Dock reopen lifecycle by @wwwillchen in #4222
- Bump to v1.10.0-beta.3 by @wwwillchen in #4225
- Handle existing folders during GitHub app imports by @keppo-bot[bot] in #4227
- Make long error messages easier to inspect by @wwwillchen in #4226
Full Changelog: v1.10.0-beta.2...v1.10.0-beta.3
v1.10.0-beta.2
What's Changed
- Remove prefixes from Dyad-generated messages by @wwwillchen in #4209
- Bump to v1.10.0 by @wwwillchen in #4210
- Bump to v1.10.0-beta.2 by @wwwillchen in #4212
- Prevent stale windows from wedging app previews by @wwwillchen in #4213
- Prevent preview wedge when reopening during shutdown by @wwwillchen in #4215
Full Changelog: v1.10.0-beta.1...v1.10.0-beta.2
v1.10.0-beta.1
Full release notes: https://www.dyad.sh/docs/releases/1.10.0-beta.1
What's Changed
- Deflake setup and version lifecycle E2E tests by @keppo-bot[bot] in #4070
- Document state-machine hardening proposals by @keppo-bot[bot] in #4075
- Add comments for safety by @wwwillchen in #4077
- Harden state-machine types and test tooling by @keppo-bot[bot] in #4076
- Add explicit state-machine capability selectors by @keppo-bot[bot] in #4079
- Add transactional dispatcher with voice-to-text pilot by @keppo-bot[bot] in #4078
- Harden chat stream identity with invocation references by @keppo-bot[bot] in #4080
- Migrate image generation and screenshot controllers to transactional dispatch by @keppo-bot[bot] in #4084
- Add shared scopes and ordered disposal lifecycle by @keppo-bot[bot] in #4082
- Harden app run identity across restarts by @keppo-bot[bot] in #4083
- Recover user-input follow-ups without durable handoff state by @keppo-bot[bot] in #4085
- Polish state machine observability and rules by @keppo-bot[bot] in #4086
- plans: clean-up state machines by @wwwillchen in #4089
- Enforce state ownership boundaries and add selector bindings by @keppo-bot[bot] in #4090
- Retire S-tier state machine mirrors by @keppo-bot[bot] in #4091
- feat: collect user-supplied setup fields for catalog MCP servers by @RyanGroch in #4081
- Replace single-machine Jotai projections with snapshot stores by @keppo-bot[bot] in #4092
- Replace cross-machine preview atom edges with facades by @keppo-bot[bot] in #4093
- Add the safe A6b renderer reader seam by @keppo-bot[bot] in #4094
- Retire legacy chat streaming status and error atoms by @keppo-bot[bot] in #4095
- docs: record main-owned state machine architecture by @keppo-bot[bot] in #4096
- Add golden single-window characterization suite by @keppo-bot[bot] in #4097
- Give preview runtime channels explicit owners by @keppo-bot[bot] in #4098
- Define app-run wire codecs and safe remote projection by @keppo-bot[bot] in #4099
- Extract transport-neutral app runtime service by @keppo-bot[bot] in #4101
- Document C2 main registry boundaries and hardening by @keppo-bot[bot] in #4103
- Add multi-window infrastructure and coherence harness by @keppo-bot[bot] in #4102
- Add the local distributed actor kernel by @keppo-bot[bot] in #4100
- Rewire single-window audit paths for multi-window delivery by @keppo-bot[bot] in #4104
- Add contract-driven remote actor transport by @keppo-bot[bot] in #4105
- Add remote distributed machine client and React bindings by @keppo-bot[bot] in #4106
- Move app run authority to main actor by @keppo-bot[bot] in #4108
- Delete legacy renderer app run authority by @keppo-bot[bot] in #4109
- Move GitHub operations to the main actor host by @keppo-bot[bot] in #4116
- Delete legacy GitHub operations adapter by @keppo-bot[bot] in #4117
- Harden main-owned connection registries by @keppo-bot[bot] in #4122
- Move image generation jobs to the main actor host by @keppo-bot[bot] in #4121
- Automatically remove unauthorized GitHub releases by @keppo-bot[bot] in #4124
- Make stopping a stream non-destructive for queued prompts by @azizmejri1 in #4126
- Move chat and plan execution authority to main by @keppo-bot[bot] in #4119
- refactor: delete legacy chat stream adapters by @keppo-bot[bot] in #4120
- Move version preview lifecycle behind main-process actor by @keppo-bot[bot] in #4123
- Pin compaction to gpt-5.6-luna for Pro users; add compaction quality benchmark by @keppo-bot[bot] in #4128
- Add opt-in multi-window app product surface by @keppo-bot[bot] in #4115
- Remove retired state-machine compatibility infrastructure by @keppo-bot[bot] in #4129
- correct state machines plans by @wwwillchen in #4131
- format plan by @wwwillchen in #4135
- fix: preserve recovery after interrupted version restore by @keppo-bot[bot] in #4132
- refactor: add state-machine contract and conformance shell by @keppo-bot[bot] in #4133
- Add delete and open-in-editor actions to the Tests panel by @azizmejri1 in #4087
- refactor: centralize pending receipt deduplication by @keppo-bot[bot] in #4136
- Stabilize test teardown and worker scheduling by @keppo-bot[bot] in #4137
- refactor: harden remote intent admission and subscriptions by @keppo-bot[bot] in #4138
- feat: encrypt MCP server headers and env vars at rest by @RyanGroch in #4130
- Add cross-window chat tab transfer by @keppo-bot[bot] in #4134
- refactor: enforce keyed actor admission fences by @keppo-bot[bot] in #4139
- refactor: add correlated actor request settlement by @keppo-bot[bot] in #4143
- refactor: migrate image generation to authoritative operation settlement by @keppo-bot[bot] in #4144
- fix: resume the chat after the database integration Continue by @azizmejri1 in #4147
- refactor: migrate app run to correlated actor requests by @keppo-bot[bot] in #4145
- Deflake Windows dependency and app navigation E2Es by @keppo-bot[bot] in #4150
- refactor: enforce correct state-machine construction by @keppo-bot[bot] in #4149
- docs: plan remaining distributed-machine migrations by @keppo-bot[bot] in #4152
- refactor: add operation route registry by @keppo-bot[bot] in #4153
- Upgrade GitHub workflows to Claude Opus 5 by @wwwillchen in #4158
- Keep app references available across a chat in agent modes by @azizmejri1 in #4151
- feat: open a plugin's page after adding it by @RyanGroch in #4160
- fix: stop asking for OAuth once an MCP token works by @RyanGroch in #4186
- Add edit action to code diff toolbar by @azizmejri1 in #4159
- Use Agent mode for AI merge conflict resolution by @wwwillchen in #4191
- Compact model context before tool outputs cross limits by @keppo-bot[bot] in #4148
- Make version diff mode easier to exit by @keppo-bot[bot] in #4195
- feat: migrate apps off legacy Supabase API keys by @azizmejri1 in #4173
- Require build provenance for release artifacts by @wwwillchen in #3966
- Bump to v1.10.0-beta.1 by @wwwillchen in #4196
- Fix draft release asset verification by @wwwillchen in #4199
- Enable show_full_output for Claude PR review debugging by @wwwillchen in #4198
- Use GPT-5.6 Luna for MCP consent classification by @wwwillchen in #4197
- Match release provenance to published assets by @wwwillchen in #4200
- Deflake app search and Supabase dependency E2Es by @keppo-bot[bot] in #4201
- Remove sub-agent from Claude PR review to fix missing-output flake by @wwwillchen in #4204
- Fix merge conflict recovery UX by @wwwillchen in #4202
- Keep apps selectable when Supabase metadata lookup fails by @wwwillchen in #4206
- Fix cross-platform CI test synchronization by @keppo-bot[bot] in #4205
Full Changelog: v1.9.0...v1.10.0-beta.1
v1.9.0
Full release notes: https://www.dyad.sh/docs/releases/1.9.0
What's Changed
- Remove automatic Build-mode problem fixing by @keppo-bot[bot] in #3983
- Use local TypeScript CLI for checks by @keppo-bot[bot] in #3984
- Remove fast-push skill by @wwwillchen in #3986
- Add graceful TypeScript 6 fallback for Code Explorer & upgrade Dyad to use TS v6 internally by @keppo-bot[bot] in #3985
- Bump to v1.9.0-beta.1 by @wwwillchen in #3987
- Clarify incomplete TypeScript check results by @wwwillchen in #3989
- Clarify incomplete TypeScript check results by @wwwillchen in #3990
- Remove the dyad:lint skill by @keppo-bot[bot] in #3991
- Stabilize unit and E2E test suites by @keppo-bot[bot] in #3992
- Fix require.resolve caching issue | fix type checks after rebuilding TypeScript by @wwwillchen in #3994
- Run Supabase dependency analysis safely with TypeScript 7 by @wwwillchen in #3995
- Bump to v1.9.0-beta.2 by @wwwillchen in #3996
- 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
- Fix cross-platform CI test races by @keppo-bot[bot] in #4067
- Bump to v1.9.0 by @wwwillchen in #4072
Full Changelog: v1.8.0...v1.9.0
v1.9.0-beta.3
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