@tencent-ai/codebuddy-code 2.93.3 → 2.93.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/codebuddy-headless.js +82 -88
  3. package/dist/codebuddy.js +110 -116
  4. package/dist/web-ui/docs/cn/cli/agent-teams.md +16 -2
  5. package/dist/web-ui/docs/cn/cli/cli-reference.md +1 -0
  6. package/dist/web-ui/docs/cn/cli/daemon.md +10 -0
  7. package/dist/web-ui/docs/cn/cli/env-vars.md +29 -1
  8. package/dist/web-ui/docs/cn/cli/hooks.md +4 -4
  9. package/dist/web-ui/docs/cn/cli/http-api.md +37 -4
  10. package/dist/web-ui/docs/cn/cli/installation.md +2 -2
  11. package/dist/web-ui/docs/cn/cli/keybindings.md +1 -1
  12. package/dist/web-ui/docs/cn/cli/release-notes/README.md +13 -0
  13. package/dist/web-ui/docs/cn/cli/release-notes/v2.84.0.md +35 -0
  14. package/dist/web-ui/docs/cn/cli/release-notes/v2.85.0.md +19 -0
  15. package/dist/web-ui/docs/cn/cli/release-notes/v2.86.0.md +29 -0
  16. package/dist/web-ui/docs/cn/cli/release-notes/v2.87.0.md +34 -0
  17. package/dist/web-ui/docs/cn/cli/release-notes/v2.88.0.md +28 -0
  18. package/dist/web-ui/docs/cn/cli/release-notes/v2.89.0.md +24 -0
  19. package/dist/web-ui/docs/cn/cli/release-notes/v2.90.0.md +26 -0
  20. package/dist/web-ui/docs/cn/cli/release-notes/v2.91.0.md +30 -0
  21. package/dist/web-ui/docs/cn/cli/release-notes/v2.92.0.md +29 -0
  22. package/dist/web-ui/docs/cn/cli/release-notes/v2.93.0.md +26 -0
  23. package/dist/web-ui/docs/cn/cli/release-notes/v2.93.1.md +5 -0
  24. package/dist/web-ui/docs/cn/cli/release-notes/v2.93.2.md +8 -0
  25. package/dist/web-ui/docs/cn/cli/release-notes/v2.93.3.md +7 -0
  26. package/dist/web-ui/docs/cn/cli/remote-control.md +9 -3
  27. package/dist/web-ui/docs/cn/cli/security.md +18 -0
  28. package/dist/web-ui/docs/cn/cli/settings.md +2 -1
  29. package/dist/web-ui/docs/cn/cli/worktree.md +1 -1
  30. package/dist/web-ui/docs/en/cli/agent-teams.md +16 -2
  31. package/dist/web-ui/docs/en/cli/cli-reference.md +1 -0
  32. package/dist/web-ui/docs/en/cli/daemon.md +10 -0
  33. package/dist/web-ui/docs/en/cli/env-vars.md +29 -1
  34. package/dist/web-ui/docs/en/cli/http-api.md +37 -4
  35. package/dist/web-ui/docs/en/cli/installation.md +38 -13
  36. package/dist/web-ui/docs/en/cli/keybindings.md +1 -1
  37. package/dist/web-ui/docs/en/cli/release-notes/README.md +13 -0
  38. package/dist/web-ui/docs/en/cli/release-notes/v2.84.0.md +35 -0
  39. package/dist/web-ui/docs/en/cli/release-notes/v2.85.0.md +19 -0
  40. package/dist/web-ui/docs/en/cli/release-notes/v2.86.0.md +29 -0
  41. package/dist/web-ui/docs/en/cli/release-notes/v2.87.0.md +34 -0
  42. package/dist/web-ui/docs/en/cli/release-notes/v2.88.0.md +28 -0
  43. package/dist/web-ui/docs/en/cli/release-notes/v2.89.0.md +24 -0
  44. package/dist/web-ui/docs/en/cli/release-notes/v2.90.0.md +26 -0
  45. package/dist/web-ui/docs/en/cli/release-notes/v2.91.0.md +30 -0
  46. package/dist/web-ui/docs/en/cli/release-notes/v2.92.0.md +29 -0
  47. package/dist/web-ui/docs/en/cli/release-notes/v2.93.0.md +26 -0
  48. package/dist/web-ui/docs/en/cli/release-notes/v2.93.1.md +5 -0
  49. package/dist/web-ui/docs/en/cli/release-notes/v2.93.2.md +8 -0
  50. package/dist/web-ui/docs/en/cli/release-notes/v2.93.3.md +7 -0
  51. package/dist/web-ui/docs/en/cli/remote-control.md +9 -3
  52. package/dist/web-ui/docs/en/cli/security.md +18 -0
  53. package/dist/web-ui/docs/en/cli/settings.md +2 -1
  54. package/dist/web-ui/docs/en/cli/worktree.md +1 -1
  55. package/dist/web-ui/docs/search-index-en.json +1 -1
  56. package/dist/web-ui/docs/search-index-zh.json +1 -1
  57. package/dist/web-ui/docs/sidebar-en.json +1 -1
  58. package/dist/web-ui/docs/sidebar-zh.json +1 -1
  59. package/package.json +1 -1
  60. package/product.cloudhosted.json +2 -2
  61. package/product.internal.json +25 -4
  62. package/product.ioa.json +9 -11
  63. package/product.json +2 -2
  64. package/product.selfhosted.json +2 -2
@@ -0,0 +1,26 @@
1
+ # 🚀 CodeBuddy Code v2.93.0 Release
2
+
3
+ ## ✨ New Features
4
+
5
+ ### Canvas Standalone View & Window Management
6
+
7
+ Canvas terminals are fully enhanced, supporting opening individual terminal panes or the entire canvas in a standalone browser window for multi-monitor workflows. New window actions include maximize, minimize, and clone terminal. When maximized, the tile uses fixed positioning detached from the canvas transform for a full-screen immersive experience.
8
+
9
+ ### Canvas Interaction Experience Upgrade
10
+
11
+ Aligned with Figma/Miro standard interaction paradigms: scroll to pan, Cmd+scroll to zoom, drag inertia animation, and a transparent overlay that captures pointer events — allowing smooth canvas operations even when the cursor hovers over terminal content.
12
+
13
+ ## 🔧 Improvements
14
+
15
+ - **Terminal State Persistence**: PTY Session IDs and working directories of canvas terminals are persisted with the canvas state, automatically restoring connections after refresh
16
+ - **PTY Connection Management**: SSE subscriptions are now included in client liveness detection to prevent active connections from being incorrectly released; eliminated the zsh first-line highlight artifact
17
+ - **Tool Parameter Streaming Rendering**: Fixed multiple correctness issues including parallel tool parameter ID mix-ups, first-frame loss, and empty object flash, making Web UI tool call rendering more stable
18
+ - **Startup Performance Optimization**: Shell snapshot warm-up deferred to 2 seconds after startup, MCP config reads are deduplicated concurrently, reducing cold-start I/O contention
19
+ - **Windows Compatibility**: No longer force-exits when Git Bash is not installed; automatically falls back to PowerShell for shell command execution
20
+ - **Persistence Loss Prevention**: Debounce queues are synchronously flushed on page refresh/close to prevent unpersisted state from being lost
21
+ - **Gateway Security**: PWA-related static files are properly exempted from CSRF validation
22
+
23
+ ## 🐛 Bug Fixes
24
+
25
+ - **Marketplace Config Storage**: Fixed data loss caused by concurrent read/write of marketplace configuration
26
+ - **Marketplace Deduplication Logic**: Fixed false-positive deduplication when adding marketplaces
@@ -0,0 +1,5 @@
1
+ # 🚀 CodeBuddy Code v2.93.1 Release
2
+
3
+ ## 🔧 Improvements
4
+
5
+ - **New Kimi-K2.6 Model**: Added the Kimi-K2.6 model with support for a 256K context window, image understanding, and reasoning capabilities, providing domestic users with a more powerful model option
@@ -0,0 +1,8 @@
1
+ # 🚀 CodeBuddy Code v2.93.2 Release
2
+
3
+ ## 🐛 Bug Fixes
4
+
5
+ - **File Tree Loading Recovery**: Fixed an issue where corrupted persisted data caused the file tree to permanently display "Loading Failed"; added a retry button for manual recovery
6
+ - **Persisted Data Integrity**: Fixed an issue where Set/Map type fields were restored as empty objects after persistence; data is now automatically converted to a serializable format before saving
7
+ - **Marketplace Storage Stability**: Introduced cross-process file locking and atomic writes for marketplace configuration files, fixing data corruption caused by concurrent multi-process writes; corrupted files are now automatically backed up and rebuilt on read
8
+ - **Conversation History Replay**: Fixed an issue where slash commands (e.g., `/clear`) were incorrectly truncated during history replay, ensuring complete command content restoration
@@ -0,0 +1,7 @@
1
+ # 🚀 CodeBuddy Code v2.93.3 Release
2
+
3
+ ## 🔧 Improvements
4
+
5
+ - **Permission System Optimization**: Project-level allow rules in trusted directories can now override dangerous command interception without manually moving rules to user-level configuration. Behavior in untrusted directories remains unchanged
6
+ - **CORS Wildcard Support**: Added subdomain wildcard (`https://*.example.com`) and allow-all (`*`) configuration modes to the CORS whitelist, making it easier to onboard multi-subdomain environments
7
+ - **LAN Access Simplification**: When starting with `--host 0.0.0.0`, the local LAN IP is now automatically added to the CORS and Host whitelists, allowing LAN devices to access the Web UI directly via IP without additional configuration
@@ -130,6 +130,12 @@ By default, the Gateway allows cross-origin requests from the following origins:
130
130
  - The public address assigned by the Tunnel
131
131
  - Additional origins configured via `gateway.corsOrigins`
132
132
 
133
+ Three configuration modes are supported:
134
+
135
+ - **Exact match**: `https://example.com`
136
+ - **Subdomain wildcard**: `https://*.example.com` (matches all subdomains, including multi-level subdomains such as `a.b.example.com`)
137
+ - **Allow all**: `*`
138
+
133
139
  ## Web UI
134
140
 
135
141
  The Web UI provides a complete CodeBuddy Code interaction interface, including:
@@ -153,7 +159,7 @@ You can configure Gateway-related options in `~/.codebuddy/settings.json`:
153
159
  "gateway": {
154
160
  "auth": "password",
155
161
  "password": "your-custom-password",
156
- "corsOrigins": ["https://your-domain.com"],
162
+ "corsOrigins": ["https://your-domain.com", "https://*.example.com"],
157
163
  "maxConnections": 5,
158
164
  "tokenTtlMs": 86400000
159
165
  }
@@ -164,7 +170,7 @@ You can configure Gateway-related options in `~/.codebuddy/settings.json`:
164
170
  |:------|:-----|:------|
165
171
  | `auth` | Authentication mode, `"password"` or `"none"` | `"none"` |
166
172
  | `password` | Custom password. Auto-generated on first start if empty | Auto-generated |
167
- | `corsOrigins` | List of additional allowed CORS origins | `[]` |
173
+ | `corsOrigins` | List of additional allowed CORS origins. Supports exact origins, `*.domain` subdomain wildcards, and `*` to allow all | `[]` |
168
174
  | `maxConnections` | Maximum concurrent ACP connections | `5` |
169
175
  | `tokenTtlMs` | ACP Session Token TTL in milliseconds | `86400000` (24 hours) |
170
176
 
@@ -172,7 +178,7 @@ You can configure Gateway-related options in `~/.codebuddy/settings.json`:
172
178
 
173
179
  | Environment Variable | Description |
174
180
  |:---------|:-----|
175
- | `CODEBUDDY_CODE_CORS_ORIGINS` | Additional allowed CORS origins (comma-separated) |
181
+ | `CODEBUDDY_CODE_CORS_ORIGINS` | Additional allowed CORS origins (comma-separated). Supports exact origins, `*.domain` subdomain wildcards, and `*` to allow all. e.g., `https://*.example.com,https://specific.com` |
176
182
 
177
183
  ## Instance Management
178
184
 
@@ -83,6 +83,24 @@ We encourage writing your own MCP servers or using MCP servers from providers yo
83
83
 
84
84
  See [MCP Integration Documentation](mcp.md) for details.
85
85
 
86
+ ## Gateway Network Security
87
+
88
+ When starting the HTTP service via `--serve` mode or Daemon, CodeBuddy Code employs multi-layered defenses to protect API endpoints:
89
+
90
+ ### CORS Whitelist
91
+
92
+ Only cross-origin requests from legitimate origins are allowed. Requests with unauthorized Origins (whether OPTIONS preflight or actual requests) are rejected outright without executing any business logic. Three configuration modes are supported: exact origin (`https://example.com`), subdomain wildcard (`https://*.example.com`), and allow all (`*`). Configure via the environment variable `CODEBUDDY_CODE_CORS_ORIGINS` or the setting `gateway.corsOrigins`.
93
+
94
+ ### Custom Request Header Validation
95
+
96
+ All API requests must include the `X-CodeBuddy-Request: 1` header. This mechanism leverages browser security policies: custom headers force a CORS preflight, and browsers do not allow sending custom headers in `no-cors` mode, thereby preventing cross-site request forgery.
97
+
98
+ Can be disabled via `CODEBUDDY_DISABLE_REQUEST_VALIDATION=1`. See [HTTP API Security](http-api.md#security) for details.
99
+
100
+ ### Authentication Protection
101
+
102
+ Sensitive endpoints (including `/info`, `/health`) require a Bearer Token when password authentication is enabled. See [HTTP API Authentication](http-api.md#authentication) for details.
103
+
86
104
  ## Sandbox Security
87
105
 
88
106
  CodeBuddy Code supports Bash sandbox functionality that isolates bash commands from your file system and network:
@@ -65,7 +65,7 @@ The `settings.json` file is the official mechanism for configuring CodeBuddy Cod
65
65
  | `model` | Override the default model used by CodeBuddy Code | `"gpt-5"` |
66
66
  | `agent` | Override the agent name used by the main thread (built-in or custom agent), applying that agent's system prompt, tool restrictions, and model configuration. Priority: `product.json default` → `plugin agent` → `settings.json agent` → `CLI --agent` | `"my-reviewer"` |
67
67
  | `statusLine` | Configure a custom status line to display context. See [statusLine documentation](#status-line-configuration) | `{"type": "command", "command": "~/.codebuddy/statusline.sh"}` |
68
- | `enableAllProjectMcpServers` | Auto-approve all MCP servers defined in the project's `.mcp.json` file | `true` |
68
+ | `enableAllProjectMcpServers` | Auto-approve all MCP servers defined in the project's `.mcp.json` file | `false` |
69
69
  | `enabledMcpjsonServers` | List of specific MCP servers approved from `.mcp.json` files | `["memory", "github"]` |
70
70
  | `disabledMcpjsonServers` | List of specific MCP servers rejected from `.mcp.json` files | `["filesystem"]` |
71
71
  | `autoCompactEnabled` | Enable auto-compaction | `true` |
@@ -89,6 +89,7 @@ The `settings.json` file is the official mechanism for configuring CodeBuddy Cod
89
89
  | `additionalDirectories` | Additional [working directories](iam.md#working-directories) that CodeBuddy can access | `[ "../docs/" ]` |
90
90
  | `defaultMode` | Default [permission mode](iam.md#permission-modes) when opening CodeBuddy Code | `"acceptEdits"` |
91
91
  | `disableBypassPermissionsMode` | Set to `"disable"` to prevent activating `bypassPermissions` mode. This disables the `-y` and `--dangerously-skip-permissions` CLI flags | `"disable"` |
92
+ | `subagentPermissionMode` | Override the default permission mode for subagents/team members. When set, all subagents use this mode instead of inheriting from the main session's mode. The `mode` parameter of the Agent tool takes higher priority | `"bypassPermissions"` |
92
93
 
93
94
  ### Memory Configuration (Experimental)
94
95
 
@@ -71,7 +71,7 @@ When starting with the `--worktree` parameter:
71
71
  - If `--worktree-branch xxx` is specified, uses the local branch `xxx`
72
72
  - If not specified, defaults to the remote default branch (usually `origin/main` or `origin/master`)
73
73
  3. Automatically creates a corresponding branch (e.g., `worktree-feature-auth`)
74
- 4. Switches the working directory to the worktree
74
+ 4. Switches the working directory to the worktree; if you started from a subdirectory of the repository, it will preferentially enter the corresponding relative subdirectory in the new worktree
75
75
  5. Runs initialization (copies settings, creates symlinks, copies `.worktreeinclude` files, etc.)
76
76
 
77
77
  **Behavior when the branch does not exist**: