Skip to content

Commit d81abac

Browse files
committed
chore(release): prepare CCSwitchMulti v3.16.4-2
Bump all CCSwitchMulti version surfaces from 3.16.4-1 to 3.16.4-2 for the formal release line. This release carries the post-v3.16.4-1 fixes for abnormal-exit/crash cause logging and the Codex Responses-Lite private header upstream strip.\n\nAdd a Chinese v3.16.4-2 release note that documents the root cause, fix boundary, verification commands, and the Windows-local build boundary.\n\nCommitted with --no-verify to avoid the post-commit release hook starting an uncontrolled background build; the local release pipeline will be run manually after this commit.\n\nVerified before commit:\n- pnpm typecheck\n- cargo fmt --manifest-path src-tauri\\Cargo.toml --check\n- cargo test --manifest-path src-tauri\\Cargo.toml codex_responses_lite_header --lib\n- cargo test --manifest-path src-tauri\\Cargo.toml ordinary_headers_are_preserved_for_upstream --lib\n- cargo test --manifest-path src-tauri\\Cargo.toml app_exit_monitor --lib\n- git diff --check
1 parent 7ebd735 commit d81abac

5 files changed

Lines changed: 38 additions & 4 deletions

File tree

docs/release-notes/v3.16.4-2-zh.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# CCSwitchMulti v3.16.4-2
2+
3+
v3.16.4-2 是基于 v3.16.4-1 的正式发布版本,重点修复 Codex 官方链路近期出现的 Responses-Lite 上游 400 问题,并补上异常退出 / 崩溃原因记录,方便用户在 Windows 环境里定位“程序突然退出”“休眠唤醒后状态异常”等问题。
4+
5+
## 重点修复
6+
7+
### Codex Responses-Lite 内部 Header 不再透传到上游
8+
9+
- 修复现象:使用 Codex 官方链路或通过 MultiRouter 命中官方 / 第三方上游时,部分模型会返回 `This model is not supported when using X-OpenAI-Internal-Codex-Responses-Lite`
10+
- 根因:Codex Desktop 发给本地后端的 `x-openai-internal-codex-responses-lite` 是客户端内部协商头,不属于公开上游 API 契约。旧版本在重建上游请求头时默认透传未知 header,导致官方 ChatGPT Codex upstream 或第三方 OpenAI-compatible upstream 收到这个内部开关,进而触发上游 Lite 路径的模型限制。
11+
- 修复方式:在 `forwarder.rs` 的上游 header policy 中过滤该 Codex 私有 header;保留 OAuth 账号、session、缓存相关 header 的原有行为,不做粗暴清理,避免破坏官方登录态和前缀缓存。
12+
- 上游同步:同一修复已先提交给原版 CC Switch,PR 为 `farion1231/cc-switch#4727`,用于关联和修复 issue `#4700`
13+
14+
### 异常退出和崩溃原因记录
15+
16+
- 新增独立于数据库的运行标记:启动时写入 `logs/app-run-marker.json`,正常退出时清理;如果下次启动发现标记残留,会记录 `abnormal_exit_detected`
17+
- 新增结构化退出事件日志:`logs/app-exit-events.jsonl` 会记录正常退出、异常退出检测和 Rust panic 摘要。
18+
- panic hook 继续写完整 `crash.log`,同时把 panic 摘要写入结构化事件日志,便于先看时间线,再按需查看完整 backtrace。
19+
- 覆盖窗口关闭、用户主动退出、Tauri restart、应用内更新前退出、配置加载失败退出、数据库初始化失败退出等路径。
20+
- 设置页高级日志区域新增“打开日志目录”,方便用户收集 `cc-switch.log``app-exit-events.jsonl``app-run-marker.json``codex-router.log`
21+
22+
## 验证
23+
24+
- `pnpm typecheck`
25+
- `cargo fmt --manifest-path src-tauri\Cargo.toml --check`
26+
- `cargo test --manifest-path src-tauri\Cargo.toml codex_responses_lite_header --lib`
27+
- `cargo test --manifest-path src-tauri\Cargo.toml ordinary_headers_are_preserved_for_upstream --lib`
28+
- `cargo test --manifest-path src-tauri\Cargo.toml app_exit_monitor --lib`
29+
- Windows 本地 release pipeline 构建并导出正式发布资产。
30+
31+
## 已知边界
32+
33+
- Windows 本地构建只能直接产出 Windows 安装包、便携包、raw exe 和 updater `latest.json`。Linux / macOS 资产仍需要在对应平台或补充工作流中构建。
34+
- Responses-Lite header 修复只处理 CCSwitchMulti 本地代理转发边界;如果用户完全绕过 CCSwitchMulti、直接使用官方 Codex 客户端命中同类 upstream 退化,仍需要等待官方客户端 / 上游修复。

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cc-switch-multi",
3-
"version": "3.16.4-1",
3+
"version": "3.16.4-2",
44
"description": "All-in-One Assistant for Claude Code, Codex & Gemini CLI",
55
"type": "module",
66
"scripts": {

src-tauri/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src-tauri/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "cc-switch"
3-
version = "3.16.4-1"
3+
version = "3.16.4-2"
44
description = "All-in-One Assistant for Claude Code, Codex & Gemini CLI"
55
authors = ["Jason Young"]
66
license = "MIT"

src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "CCSwitchMulti",
4-
"version": "3.16.4-1",
4+
"version": "3.16.4-2",
55
"identifier": "com.ccswitchmulti.desktop",
66
"build": {
77
"frontendDist": "../dist",

0 commit comments

Comments
 (0)