# 🚀 CodeBuddy Code v2.97.5 Release

## 📦 Version Information

| Component | Version |
|-----------|---------|
| CodeBuddy Code CLI | v2.97.5 |
| Agent SDK JS | v0.3.155 |
| Agent SDK Python | v0.3.154 |

## 🐛 Bug Fixes

- **Multiple Expert Team Hangs / Missing Artifacts / Abnormal Termination**: Centrally fixed multiple anomalies reported by users while using expert teams (such as "Tencent Stock Picker", "One-Person Company", "Professional Document Generation", "Deep Research", etc.), including tasks ending abnormally without artifacts, sub-members completing while the main session remained stuck on "Thinking", and expert teams self-terminating mid-run causing artifact loss
- **No Response to shutdown When Team Member Already Completed**: When a team-lead initiated `shutdown_request` after a member had already completed its task, the previous logic bypassed `ShutdownCoordinator`, causing the lead to wait indefinitely for an acknowledgement. Short-circuit handling has been unified to ensure the lead is unblocked promptly
- **Message Loss During Concurrent spawn**: When a main lead spawned multiple members in rapid succession, the old logic would error out and lose messages because the peer could not be found. The new "writeToMailbox first, resolve later" strategy is now used, accompanied by fallback refresh and notice prompts
- **Member Misidentified as team-lead**: Fixed an issue at respawn boundaries where a member message's `from` field crossed wires, causing collaboration confusion. session.meta is now forcibly materialized and lead identity is validated
- **Same-Millisecond Concurrent shutdown ID Collision**: When a lead concurrently shut down multiple members, ID collisions caused acknowledgements to be overwritten. The format `recipient + timestamp + random number` is now used
- **Process Exit Cleanup Safety Net**: Added exit cleanup for session-team to prevent the long-term accumulation of 20+ orphan directories
- **Fork Subagent Recursion Explosion**: Added the environment variable `CODEBUDDY_DISABLE_FORK_SUBAGENT`. When enabled, fork subagent is consistently disabled at both the tool description and runtime layers, and historical calls are downgraded to `general-purpose`, avoiding request explosions and errors
- **HTTP User-Agent Header Fix**: Fixed an issue where, in the absence of `productName`, the User-Agent fell back to `WorkBuddy/unknown`, polluting downstream statistics. The corresponding segment is now only appended when the product name is present
