# 🚀 CodeBuddy Code v2.93.7 Release

## 🔧 Improvements

- **Slimmer Default Main Agent Toolset**: The default agent toolchain now focuses on core tools such as Read / Write / Edit / Bash / PowerShell. Redundant tools that are no longer mounted by default have been removed; user-defined tool lists in settings are not affected
- **Built-in `/commit` and `/commit-push-pr` Commands**: Used for internal delegation by the main agent to standardize Git commit and PR flows; not visible in the `/` menu for users
- **Refined Tool Descriptions for Bash / Agent / Skill**: Trimmed down the tool descriptions in the model-side system prompt and added guidance on how to write sub-agent prompts and how to choose between foreground and background execution
- **Long Conversation Recovery**: Improved stability of automatic recovery after context overflow, reducing context handling anomalies during error retries; refined pre-message compaction behavior in long sessions so the current input is no longer unexpectedly interrupted when compaction fails
- **Aligned Cost Semantics**: `/cost` now follows the industry-standard semantics — `input / cacheRead / cacheWrite` are mutually exclusive and sum up to the total input, avoiding double counting
- **Unified 1000-based Token Display**: Token numbers in `/cost`, `/context`, and related panels now use 1000-based units (k / M), matching the conventions in model provider documentation
- **Cross-Turn Memory Deduplication**: Memories already injected earlier in a session will no longer be re-injected in later turns, leaving more "relevant memory" budget for new candidates
- **Exact ID Matching for Custom Agent Models**: The `model:` field in the frontmatter of `.codebuddy/agents/*.md` will fall back to the main agent's current model if it's not a valid model id, preventing accidental literal name collisions with user-defined models

## 🐛 Bug Fixes

- **Model Request 502 Stability**: Mitigated occasional `502 socket hang up` issues. HTTPS requests in non-proxy scenarios now enable TCP keep-alive to resist idle / NAT timeouts in intermediary gateways; connection-level failures that occur before response headers arrive (ECONNRESET / socket hang up, etc.) are transparently retried once. The retry is strictly limited to the phase before upstream inference starts, so it will not cause double token billing

## 📝 Documentation

- **Third-Party Model Integration Examples**: `env-vars.md` / `models.md` now include complete configuration examples covering endpoint, API key, and main / small / sub-agent models, with support for team-wide configuration via the `env` field in `settings.json`
- **`relatedModels` Field Documentation**: `models.md` adds documentation for the `relatedModels` field, explaining how to associate different model ids for scenarios like `lite` / `reasoning` / `vision` / `longContext` / `subagent`
- **Clarified Boundary of Permission Fields**: `iam.md` / `settings.md` now clarify that `trustAll` / `trustedDirectories` only affect the directory trust authorization prompt at startup — they do not bypass tool execution approval and are independent from `permissions.defaultMode`
