# 🚀 CodeBuddy Code v2.103.1 Release

## 📦 Version Information

| Component | Version |
|-----------|---------|
| CodeBuddy Code CLI | v2.103.1 |
| Agent SDK JS | v0.3.166 |
| Agent SDK Python | v0.3.165 |

## 🔧 Improvements

- **Model Billing Coefficient Update**: Adjusted the billing coefficients for the default models, reasoning models, image models, and several third-party models across all cli-saas deployment forms according to the latest billing policy.
- **WorkBuddy Assistant Conversation Identifier**: When the `PERSONAL_AGENT_ROLE` environment variable is present, conversation requests are automatically tagged as originating from the WorkBuddy assistant, making it easier for the server side to identify orchestrator/specialist scenarios.
- **Configurable Telemetry Flush**: Added the `galileo.aggregatorFlushIntervalSec` config option (default 60s, range [5, 600]); scenarios with a high proportion of short conversations can lower it to 10–20s for more timely data reporting.
- **Expanded Troubleshooting Documentation**: Added a "Cannot update to the latest version" section, explaining that in npm mirror cache lag scenarios, you can retry by specifying the official source with `--registry=https://registry.npmjs.org/`.

## 🐛 Bug Fixes

- **Monitoring Data Lost Before Process Exit**: Subprocesses from short conversations (exiting within < 60s) would discard the aggregator's current window and the reporting buffer's monitoring data on exit, causing the monitoring backend data volume to fall far below expectations. Added a unified flush helper to proactively flush metrics + trace + log data at all critical process exit points, and moved flush to the front of the cleanup queue to ensure completion within the 2s budget.
- **Telemetry Environment Identifier Correction**: Fixed an issue where the Desktop sidecar process always reported telemetry with the environment identifier as Production, preventing development-period data from contaminating the formal monitoring database.
- **History Compaction Boundary Misidentification**: Fixed an issue where, when conversations contained HTML collapsible blocks (`<details><summary>...</summary>...</details>`), messages were incorrectly identified as history compaction boundaries and subsequently excluded from real user input.
- **Background Task Notification Log Cleanup**: Removed leftover temporary troubleshooting logs in background command completion notifications, reducing log noise and avoiding sensitive field leakage.
- **IOA Endpoint Drift Defense**: Fixed an issue where, in concurrent refresh scenarios, IOA user model requests could briefly fall through to the public cloud domain; internally switched to transactional updates to prevent intermediate states from being read, and added a second line of defense to detect abnormal routing.
- **Sub-agent Hook Session ID Correction**: Hooks triggered inside a sub-agent now have their `session_id` pointing to the **main agent**'s session id, with the sub-agent's own id exposed separately via the `agent_id` field, making it easier for downstream auditing/statistics to aggregate across the main session.
- **MCP Disable Persistence**: Fixed an issue where MCP services provided by IDE plugins, after being disabled via `/mcp`, would reappear after restart; the disabled state is now persisted to local configuration.
- **snappy Native Module Bundling**: Fixed an issue where the snappy native module was not correctly excluded during bundling.

## 📝 Documentation Updates

- **CLI Documentation Archive**: Completed English translations for 6 release notes from v2.100.0 ~ v2.103.0, updated the Chinese/English navigation bar, and synchronously updated the Chinese/English versions of env-vars, http-api, troubleshooting, and other documents.
