# 🚀 CodeBuddy Code v2.98.0 Release

## 📦 Version Info

| Component | Version |
|------|------|
| CodeBuddy Code CLI | v2.98.0 |
| Agent SDK JS | v0.3.156 |
| Agent SDK Python | v0.3.155 |

## ✨ New Features

### OpenTelemetry Custom Reporting (Traces)

Support exporting internal traces to your own Collector via standard OTel environment variables, enabling integration with enterprise observability platforms:

```bash
export CODEBUDDY_CODE_ENABLE_TELEMETRY=1
export OTEL_EXPORTER_OTLP_ENDPOINT=https://otel.corp.example.com
export OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer%20<TOKEN>
```

Supports standard variables such as `OTEL_TRACES_EXPORTER` / `OTEL_SERVICE_NAME` / `OTEL_RESOURCE_ATTRIBUTES`. See `docs/monitoring.md` for details.

### Sandbox Ecosystem Asset Directory Allowlist

The sandbox security policy now allows write access to WorkBuddy ecosystem asset directories and cross-platform skill directories by default, reducing access restriction issues for plugins, skills, and connectors in sandbox environments.

## 🔧 Improvements

- **Auto-compact window increase**: For models without `maxInputTokens` configured, the default auto-compact window has been raised from 100k to 200k tokens
- **Hooks inject agent_id / agent_type**: All hook event payloads now include trigger source identifiers, making it easier to distinguish between main sessions and sub-agents in global hooks
- **Hook deduplication refinement**: Resolved "same event triggered twice" issue — same command across settings scopes is collapsed into one, while different plugin/sub-agent scopes each retain their own copy
- **Multi-source hook hit observability**: When a single event matches ≥ 2 different hooks, logs now list all matched commands for easier conflict debugging
- **CLI documentation updates**: Added `monitoring.md` and `codebuddy-dir.md`, completed v2.96.1 ~ v2.97.5 release notes bilingual sync and navigation updates

## 🐛 Bug Fixes

- **Background Bash zombie processes**: Fixed zombie processes left by background commands like `nohup`. stdout/stderr now write directly to file descriptors; added 50MB output watchdog (`CODEBUDDY_BASH_BG_MAX_OUTPUT_BYTES` configurable) and `CODEBUDDY_BASH_BG_PIPE_MODE=1` rollback switch
- **Official Copilot gateway retains thinking field**: Fixed an issue where the thinking field was prematurely cleared when requests with `auto` model thinking enabled were sent to the official gateway
- **Compact type passthrough**: Fixed an issue where auto-compact and manual `/compact` could not be distinguished in ACP `_meta`
- **Process termination reliability**: Fixed issues where `kill()` was blocked by `_disposed` flag after `dispose()`, and `disposeAll()` exit event routing was lost

## 📝 Documentation Updates

- **CLI Monitoring Documentation**: Added `monitoring.md` covering OpenTelemetry custom reporting
- **Directory Structure Guide**: Added `codebuddy-dir.md` explaining `~/.codebuddy/` and `.codebuddy/` directory structure, configuration priority, and memory loading order
- **Release Notes Index**: Added bilingual release notes for 7 versions from v2.96.1 ~ v2.97.5
