## bytedance/deer-flow — v2.0.0-rc0…v2.0.0-rc1

_40 commits._

### Features
- **feat(suggest_agent): stop frontend from fetching when suggestions disabled (#3599)** (3e055d8)
- **feat(community): add Serper Google Images provider for image_search (#3575)** (0bbbbc0)
- **feat(subagents): attribute subagent spans to parent thread's Langfuse session (#3611)** (a72af8e)
- **feat(skill): strengthen maintainer orchestrator review workflow (#3606)** (65fab1d)

### Fixes
- **perf(sandbox): speed up should_ignore_name in glob/grep walks (#3657)** (d2292d7)
- **fix(mcp): make stdio MCP-produced files resolvable via virtual sandbox paths (#3597) (#3600)** (9124f99)
- **perf(sandbox): cache LocalSandbox path-rewrite regexes per instance (#3647) (#3648)** (21d9ec0)
- **fix(frontend): render full content for multi-part AI messages (#3649)** (654f5e1)
- **fix(gateway): attribute token usage to actual models (#3658)** (e7a03e5)
- **perf(persistence): cache Base.to_dict column reflection per class (#3654)** (8cde305)
- **fix(skills):Update the smock-test skill to use make up in docker mode (#3656)** (525ec0a)
- **fix(frontend): resolve stale subagent running state after stop (#3639)** (a692576)
- **fix: preserve sandbox reducer in middleware state (#3629)** (29489c0)
- **fix(serialization): strip base64 image data from streamed values events (#3631)** (3e5c76e)
- **fix(smoke-test): add auth-aware frontend checks with login support (#3641)** (b5a4d34)
- **fix(frontend): improve mobile workspace layout (#3646)** (86a4744)
- **Update bug-report.yml** (6044e5c)
- **fix(channels): scope IM files and helper commands to owner (#3579)** (525af0d)
- **fix(channels): harden runtime credential management APIs (#3581)** (2b301e8)
- **fix(channels): make channel connect flow deterministic (#3582)** (68ba419)
- **fix(channels): add operational guardrails (#3584)** (8c0830a)
- **fix(sandbox): stop flagging string-literal path fragments as unsafe absolute paths (#3623)** (97dd9ec)
- **fix(channel): force reload config on channel restart (#3619)** (ec16b66)
- **fix(sandbox): return actionable hint when read_file hits a binary file (#3624)** (6a4a30f)
- **fix(channels): centralize shared channel retry helpers (#3583)** (e732a74)
- **fix(serialization): stop stripping __interrupt__ from channel values (#3595) (#3605)** (c81ab26)
- **fix(sandbox): make setup-sandbox.sh script executable (#3618)** (5851f82)
- **fix(sandbox): create shell session before retrying on a fresh id (#3577)** (f212da9)
- **fix(channels): make runtime provider state authoritative (#3580)** (926406e)
- **fix(channel): unsubscribe channel listeners by equality (#3608)** (43dba44)
- **fix: add MCP tools cache reset endpoint (#3602)** (1896722)
- **fix(channels): require bound identity for user-owned IM messages (#3578)** (0966131)
- **fix(subagents): raise general-purpose max_turns to 150 and default timeout to 30min (#3610)** (05be7ea)

### Backend
- **Prepare 2.0.0 release (#3603)** (98127f5)
- **make ai follow-up suggestions optional (#3591)** (d2cc991)

### Chore
- **chore(deps): bump starlette from 1.0.1 to 1.3.1 in /backend (#3622)** (6b2716e)
- **chore(deps): bump aiohttp from 3.14.0 to 3.14.1 in /backend (#3621)** (55577eb)
- **chore(deps): bump cryptography from 46.0.7 to 48.0.1 in /backend (#3620)** (fda8209)
- **chore(deps): bump python-multipart from 0.0.27 to 0.0.31 in /backend (#3613)** (c361fa3)
- **chore(deps): bump pyjwt from 2.12.1 to 2.13.0 in /backend (#3612)** (5a9db48)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/bytedance/deer-flow?utm_source=github-action)._