v1.7.0
immich-app/immichv1.7.0Jul 13, 2026by github-actions[bot]
AI Summary
This release focuses on extensive memory optimization across the application, specifically targeting chat attachments, voice-to-text, and preview processes to prevent OOMs. It includes significant architectural refactoring of Electron utility processes and TSC workers, alongside improvements to E2E testing and local agent performance.
Key Highlights
- Major memory management improvements including bounds for chat attachments, voice-to-text recording, and preview console usage to prevent OOMs.
- Architectural shift to serialize TypeScript utility processes and consolidate code explorer sessions.
- Enhanced E2E testing coverage with AI-generated tests and restored MCP transport coverage.
- Performance improvements for local agent file listing and reduced Supabase function bundle concurrency.
- New feature: OpenRouter app attribution added.
New Features
- AI-generated E2E testing feature
- OpenRouter app attribution
- Process-level memory diagnostics in session debug export
Full Release Notes
Full release notes: https://www.dyad.sh/docs/releases/1.7.0 ## What's Changed * improve bump version script by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3853 * Fix safeStorage E2E keychain account names by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3856 * Add AI-generated E2E testing feature by @azizmejri1 in https://github.com/dyad-sh/dyad/pull/3681 * Add process-level memory diagnostics to session debug export by @keppo-bot[bot] in https://github.com/dyad-sh/dyad/pull/3860 * Fix PreviewPanel Jotai test mock by @keppo-bot[bot] in https://github.com/dyad-sh/dyad/pull/3865 * Run TSC worker in a utilityProcess instead of a worker thread by @keppo-bot[bot] in https://github.com/dyad-sh/dyad/pull/3861 * Consolidate code explorer sessions into one byte-budgeted utility process by @keppo-bot[bot] in https://github.com/dyad-sh/dyad/pull/3862 * Skip renderer problems auto-refresh for local-agent turns by @keppo-bot[bot] in https://github.com/dyad-sh/dyad/pull/3864 * Add OpenRouter app attribution by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3867 * Add electron-workers rule: shared V8 cage, utilityProcess checklist, memory measurement by @keppo-bot[bot] in https://github.com/dyad-sh/dyad/pull/3868 * Improve local agent file listing performance by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3888 * fix: bound chat attachment memory usage by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3872 * Bound voice-to-text recording memory by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3879 * Bound preview console memory usage by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3875 * Bound child-process output memory and timeouts by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3876 * Reduce Supabase function bundle concurrency by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3891 * Prevent OOMs from large file reads by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3884 * Keep aiMessagesJson out of renderer IPC by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3889 * Stream upgrade backup checksums by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3890 * Fix Node.js external dependency detection by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3892 * Bump to v1.7.0-beta.1 by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3893 * Prevent duplicate MCP clients and clean up transports by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3883 * Serialize TypeScript utility processes by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3895 * Restore MCP transport E2E coverage by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3898 * Bump to v1.7.0 by @wwwillchen in https://github.com/dyad-sh/dyad/pull/3917 **Full Changelog**: https://github.com/dyad-sh/dyad/compare/v1.6.2...v1.7.0