What's new for you
Latest stable quality pass: OpenAI image generation defaults move to `gpt-image-2`, doctor can now repair missing bundled plugin runtime dependencies in packaged installs, image provider/model fallback failures are logged clearly, owner-enforced command checks are tightened, Slack runtime sends preserve `threadTs` aliases, browser invalid accessibility refs fail fast, and npm install noise is reduced via `node-domexception` override mirroring.
- Image generation — default bundled OpenAI image path and smoke tests now use `gpt-image-2`
- Doctor — packaged installs can repair missing bundled plugin runtime dependencies
- Security — owner-enforced commands now require real owner identity or internal `operator.admin`
- Slack — runtime outbound sends preserve supplied `threadTs` aliases for thread targeting
- Browser — invalid `ax<N>` refs fail immediately instead of waiting for action timeout
- Install UX — root overrides mirror `node-domexception` alias to suppress deprecated dependency-chain warnings
Release highlights
| Feature | Details |
|---|---|
| OpenAI images default to gpt-image-2 | Bundled image generation defaults and live media smoke tests now target gpt-image-2, with tool/docs metadata advertising newer 2K/4K OpenAI size hints. |
| Doctor plugin runtime dependency repair | Doctor can repair missing bundled plugin runtime dependencies from packaged installs without forcing broad core dependency reinstalls. |
| Image fallback warning visibility | Failed provider/model candidates are now logged at warn level before automatic fallback, so hidden image-generation failures are visible in gateway logs. |
| Owner-command enforcement hardening | Owner-enforced commands now require owner-candidate identity match or internal operator.admin; permissive channel allowFrom fallback no longer bypasses owner-only command gates. |
| Slack threadTs alias preservation | Runtime outbound sends now preserve thread aliases so generic sends stay in the intended Slack thread when callers provide threadTs. |
| Browser accessibility ref fast-fail | Invalid ax<N> accessibility refs are rejected immediately in browser action paths instead of failing only after timeout. |
| npm node-domexception override mirror | Root package.json mirrors the node-domexception alias in overrides, reducing deprecated transitive dependency-chain warnings during npm installs. |
Feature deep dives
Learn more about the changes that matter most. Bug fixes and minor improvements are listed on GitHub.
OpenAI images default to gpt-image-2
Default bundled image generation now targets gpt-image-2 with updated 2K/4K size hints in tooling and docs.
Read more →Doctor plugin runtime dependency repair
Doctor can recover missing bundled plugin runtime dependencies in packaged installs without broad reinstall steps.
Read more →Image fallback warning visibility
Provider/model failures are logged before fallback so image issues are visible even when later providers succeed.
Read more →Owner-command enforcement hardening
Owner-only command routing now requires true owner identity or internal operator admin context.
Read more →Slack threadTs alias preservation
Runtime sends preserve threadTs alias fields so replies stay in the intended Slack thread.
Read more →Browser accessibility ref fast-fail
Invalid accessibility refs fail immediately, cutting noisy timeout waits in browser action flows.
Read more →npm node-domexception override mirror
Install-time dependency override cleanup reduces deprecated warning noise in npm-based setups.
Read more →Full release notes
The complete changelog with all changes, fixes, and technical details is on the official GitHub release page.
Open v2026.4.21 on GitHub →