Skip to content

Commit 83fe340

Browse files
committed
chore: bump version to v3.11.1 and add release notes
1 parent c75311e commit 83fe340

9 files changed

Lines changed: 401 additions & 9 deletions

File tree

CHANGELOG.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
---
1111

12+
## [3.11.1] - 2026-02-28
13+
14+
### Hotfix Release
15+
16+
This release reverts the Partial Key-Field Merging architecture introduced in v3.11.0, restoring the proven "full config overwrite + Common Config Snippet" mechanism, and fixes several UI and platform compatibility issues.
17+
18+
**Stats**: 8 commits | 52 files changed | +3,948 insertions | -1,411 deletions
19+
20+
### Reverted
21+
22+
- **Restore Full Config Overwrite + Common Config Snippet** (revert 992dda5c): Reverted the partial key-field merging refactoring from v3.11.0 due to critical issues — non-whitelisted custom fields were lost during provider switching, backfill permanently stripped non-key fields from the database, and the whitelist required constant maintenance. Restores full config snapshot write, Common Config Snippet UI and backend commands, and 6 frontend components/hooks
23+
24+
### Changed
25+
26+
- **Proxy Panel Layout**: Moved proxy on/off toggle from accordion header into panel content area, placed directly above app takeover options, ensuring users see takeover configuration immediately after enabling the proxy
27+
- **Manual Import for OpenCode/OpenClaw**: Removed auto-import on startup; empty state now shows an "Import Current Config" button, consistent with Claude/Codex/Gemini behavior
28+
29+
### Fixed
30+
31+
- **"Follow System" Theme Not Auto-Updating**: Delegated to Tauri's native theme tracking (`set_window_theme(None)`) so the WebView's `prefers-color-scheme` media query stays in sync with OS theme changes
32+
- **Compact Mode Cannot Exit**: Restored `flex-1` on `toolbarRef` so `useAutoCompact`'s exit condition triggers correctly based on available width instead of content width
33+
- **Proxy Takeover Toast Shows {{app}}**: Added missing `app` interpolation parameter to i18next `t()` calls for proxy takeover enabled/disabled messages
34+
- **Windows Protocol Handler Side Effects**: Disabled environment check and one-click install on Windows to prevent unintended protocol handler registration
35+
36+
---
37+
1238
## [3.11.0] - 2026-02-26
1339

1440
### Feature Release
@@ -89,7 +115,7 @@ This release introduces **OpenClaw** as the fifth supported application, a full
89115

90116
#### Architecture
91117

92-
- **Partial Key-Field Merging (⚠️ Breaking)**: Provider switching now uses partial key-field merging instead of full config overwrite, preserving user's non-provider settings (plugins, MCP, permissions). The "Common Config Snippet" feature has been removed as it is no longer needed. Removes 6 frontend files and ~150 lines of backend dead code (#1098)
118+
- **Partial Key-Field Merging (⚠️ Breaking, reverted in v3.11.1)**: Provider switching now uses partial key-field merging instead of full config overwrite, preserving user's non-provider settings (plugins, MCP, permissions). The "Common Config Snippet" feature has been removed as it is no longer needed. Removes 6 frontend files and ~150 lines of backend dead code (#1098)
93119
- **Manual Import**: Replaced auto-import on startup with manual “Import Current Config” button in empty state, reducing ~47 lines of startup code
94120
- **OMO Variant Parameterization**: Eliminated ~250 lines of OMO/OMO Slim code duplication via `OmoVariant` struct with STANDARD/SLIM constants
95121
- **OMO Common Config Removal**: Removed the two-layer merge system for OMO common config (-1,733 lines across 21 files)

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# All-in-One Assistant for Claude Code, Codex & Gemini CLI
44

5-
[![Version](https://img.shields.io/badge/version-3.10.2-blue.svg)](https://github.com/farion1231/cc-switch/releases)
5+
[![Version](https://img.shields.io/badge/version-3.11.1-blue.svg)](https://github.com/farion1231/cc-switch/releases)
66
[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)](https://github.com/farion1231/cc-switch/releases)
77
[![Built with Tauri](https://img.shields.io/badge/built%20with-Tauri%202-orange.svg)](https://tauri.app/)
88
[![Downloads](https://img.shields.io/endpoint?url=https://api.pinstudios.net/api/badges/downloads/farion1231/cc-switch/total)](https://github.com/farion1231/cc-switch/releases/latest)
@@ -80,7 +80,7 @@ Claude Code / Codex / Gemini official channels at 38% / 2% / 9% of original pric
8080

8181
## Features
8282

83-
### Current Version: v3.10.2 | [Full Changelog](CHANGELOG.md) | [Release Notes](docs/release-note-v3.9.0-en.md)
83+
### Current Version: v3.11.1 | [Full Changelog](CHANGELOG.md) | [Release Notes](docs/release-note-v3.11.1-en.md)
8484

8585
**v3.8.0 Major Update (2025-11-28)**
8686

docs/release-note-v3.11.1-en.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# CC Switch v3.11.1
2+
3+
> Revert Partial Key-Field Merging, Restore Common Config Snippet & Bug Fixes
4+
5+
**[中文版 →](release-note-v3.11.1-zh.md) | [日本語版 →](release-note-v3.11.1-ja.md)**
6+
7+
---
8+
9+
## Overview
10+
11+
CC Switch v3.11.1 is a hotfix release that reverts the **Partial Key-Field Merging** architecture introduced in v3.11.0, restoring the proven "**full config overwrite + Common Config Snippet**" mechanism. It also includes several UI and platform compatibility fixes.
12+
13+
**Release Date**: 2026-02-28
14+
15+
**Update Scale**: 8 commits | 52 files changed | +3,948 / -1,411 lines
16+
17+
---
18+
19+
## Highlights
20+
21+
- **Restore Full Config Overwrite + Common Config Snippet**: Reverted partial key-field merging due to critical data loss issues; restores full config snapshot write and Common Config Snippet UI
22+
- **Proxy Panel Improvements**: Proxy toggle moved into panel body for better discoverability of takeover options
23+
- **Theme & Compact Mode Fixes**: "Follow System" theme now auto-updates; compact mode exit works correctly
24+
- **Windows Compatibility**: Disabled env check and one-click install to prevent protocol handler side effects
25+
26+
---
27+
28+
## Reverted
29+
30+
### Restore Full Config Overwrite + Common Config Snippet
31+
32+
Reverted the partial key-field merging refactoring introduced in v3.11.0 (revert 992dda5c).
33+
34+
**Why reverted**: The partial key-field merging approach had three critical issues:
35+
1. **Data loss on switch**: Non-whitelisted custom fields were silently dropped during provider switching
36+
2. **Permanent backfill stripping**: Backfill permanently removed non-key fields from the database, causing irreversible data loss
37+
3. **Maintenance burden**: The whitelist of "key fields" required constant maintenance as new config keys were added
38+
39+
**What's restored**:
40+
- Full config snapshot write on provider switch (predictable, complete overwrite)
41+
- Common Config Snippet UI and backend commands
42+
- 6 frontend components/hooks (3 components + 3 hooks)
43+
44+
**Migration**:
45+
- If you upgraded to v3.11.0 and your providers lost custom fields, re-import your config or manually re-add the missing fields
46+
- Common Config Snippet is available again — use it to define shared config that should persist across provider switches
47+
48+
---
49+
50+
## Changed
51+
52+
- **Proxy Panel Layout**: Moved proxy on/off toggle from accordion header into panel content area, placed directly above app takeover options. This ensures users see takeover configuration immediately after enabling the proxy, avoiding the common mistake of enabling the proxy without configuring takeover
53+
- **Manual Import for OpenCode/OpenClaw**: Removed auto-import on startup; empty state now shows an "Import Current Config" button, consistent with Claude/Codex/Gemini behavior
54+
55+
---
56+
57+
## Fixed
58+
59+
- **"Follow System" Theme Not Auto-Updating**: Delegated to Tauri's native theme tracking (`set_window_theme(None)`) so the WebView's `prefers-color-scheme` media query stays in sync with OS theme changes
60+
- **Compact Mode Cannot Exit**: Restored `flex-1` on `toolbarRef` so `useAutoCompact`'s exit condition triggers correctly based on available width instead of content width
61+
- **Proxy Takeover Toast Shows {{app}}**: Added missing `app` interpolation parameter to i18next `t()` calls for proxy takeover enabled/disabled messages
62+
- **Windows Protocol Handler Side Effects**: Disabled environment check and one-click install on Windows to prevent unintended protocol handler registration
63+
64+
---
65+
66+
## Notes & Considerations
67+
68+
- **Common Config Snippet is back**: If you relied on this feature in v3.10.x and earlier, it works the same way again. Define shared config that should persist across all provider switches.
69+
- **v3.11.0 Partial Key-Field Merging users**: If you noticed missing config fields after switching providers in v3.11.0, re-import your config to restore them.
70+
71+
---
72+
73+
## Download & Installation
74+
75+
Visit [Releases](https://github.com/farion1231/cc-switch/releases/latest) to download the appropriate version.
76+
77+
### System Requirements
78+
79+
| System | Minimum Version | Architecture |
80+
| ------- | ------------------------------- | ----------------------------------- |
81+
| Windows | Windows 10 or later | x64 |
82+
| macOS | macOS 10.15 (Catalina) or later | Intel (x64) / Apple Silicon (arm64) |
83+
| Linux | See table below | x64 |
84+
85+
### Windows
86+
87+
| File | Description |
88+
| ---------------------------------------- | ---------------------------------------------------- |
89+
| `CC-Switch-v3.11.1-Windows.msi` | **Recommended** - MSI installer with auto-update |
90+
| `CC-Switch-v3.11.1-Windows-Portable.zip` | Portable version, extract and run, no registry write |
91+
92+
### macOS
93+
94+
| File | Description |
95+
| -------------------------------- | -------------------------------------------------------------------- |
96+
| `CC-Switch-v3.11.1-macOS.zip` | **Recommended** - Extract and drag to Applications, Universal Binary |
97+
| `CC-Switch-v3.11.1-macOS.tar.gz` | For Homebrew installation and auto-update |
98+
99+
> **Note**: Since the author doesn't have an Apple Developer account, you may see an "unidentified developer" warning on first launch. Please close it, then go to "System Settings" → "Privacy & Security" → click "Open Anyway", and it will open normally afterwards.
100+
101+
### Homebrew (macOS)
102+
103+
```bash
104+
brew tap farion1231/ccswitch
105+
brew install --cask cc-switch
106+
```
107+
108+
Update:
109+
110+
```bash
111+
brew upgrade --cask cc-switch
112+
```
113+
114+
### Linux
115+
116+
| Distribution | Recommended Format | Installation Method |
117+
| --------------------------------------- | ------------------ | ---------------------------------------------------------------------- |
118+
| Ubuntu / Debian / Linux Mint / Pop!\_OS | `.deb` | `sudo dpkg -i CC-Switch-*.deb` or `sudo apt install ./CC-Switch-*.deb` |
119+
| Fedora / RHEL / CentOS / Rocky Linux | `.rpm` | `sudo rpm -i CC-Switch-*.rpm` or `sudo dnf install ./CC-Switch-*.rpm` |
120+
| openSUSE | `.rpm` | `sudo zypper install ./CC-Switch-*.rpm` |
121+
| Arch Linux / Manjaro | `.AppImage` | Add execute permission and run directly, or use AUR |
122+
| Other distributions / Unsure | `.AppImage` | `chmod +x CC-Switch-*.AppImage && ./CC-Switch-*.AppImage` |

docs/release-note-v3.11.1-ja.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# CC Switch v3.11.1
2+
3+
> 部分キーフィールドマージの撤回、共通設定スニペットの復元とバグ修正
4+
5+
**[中文版 →](release-note-v3.11.1-zh.md) | [English →](release-note-v3.11.1-en.md)**
6+
7+
---
8+
9+
## 概要
10+
11+
CC Switch v3.11.1 は修正リリースです。v3.11.0 で導入された**部分キーフィールドマージ**アーキテクチャを撤回し、実績のある「**完全設定上書き + 共通設定スニペット**」メカニズムを復元しました。また、複数の UI とプラットフォーム互換性の問題を修正しています。
12+
13+
**リリース日**: 2026-02-28
14+
15+
**更新規模**: 8 commits | 52 files changed | +3,948 / -1,411 lines
16+
17+
---
18+
19+
## ハイライト
20+
21+
- **完全設定上書き + 共通設定スニペットの復元**: 重大なデータ損失問題のため部分キーフィールドマージを撤回、完全設定スナップショット書き込みと共通設定スニペット UI を復元
22+
- **プロキシパネルの改善**: プロキシトグルをパネル本体に移動し、テイクオーバーオプションの発見性を向上
23+
- **テーマとコンパクトモードの修正**: 「システムに従う」テーマが正しく自動更新、コンパクトモードの終了が正常に動作
24+
- **Windows 互換性**: プロトコルハンドラーの副作用を防ぐため、環境チェックとワンクリックインストールを無効化
25+
26+
---
27+
28+
## 撤回
29+
30+
### 完全設定上書き + 共通設定スニペットの復元
31+
32+
v3.11.0 で導入された部分キーフィールドマージリファクタリングを撤回しました(revert 992dda5c)。
33+
34+
**撤回理由**: 部分キーフィールドマージのアプローチには3つの重大な問題がありました:
35+
1. **切り替え時のデータ損失**: ホワイトリストにないカスタムフィールドがプロバイダー切り替え時にサイレントに破棄された
36+
2. **バックフィルによる永続的な剥離**: バックフィル操作がデータベースから非キーフィールドを永続的に削除し、不可逆なデータ損失を引き起こした
37+
3. **メンテナンス負担**: 「キーフィールド」のホワイトリストは新しい設定キーが追加されるたびに継続的なメンテナンスが必要
38+
39+
**復元された内容**:
40+
- プロバイダー切り替え時の完全設定スナップショット書き込み(予測可能な完全上書き)
41+
- 共通設定スニペット UI およびバックエンドコマンド
42+
- 6つのフロントエンドファイル(コンポーネント 3つ + hooks 3つ)
43+
44+
**移行ガイド**:
45+
- v3.11.0 にアップグレードしてプロバイダーのカスタムフィールドが失われた場合は、設定を再インポートするか、欠落したフィールドを手動で追加してください
46+
- 共通設定スニペット機能が再び利用可能です — プロバイダー切り替え時に保持すべき共有設定を定義するために使用してください
47+
48+
---
49+
50+
## 変更
51+
52+
- **プロキシパネルレイアウト**: プロキシのオン/オフトグルをアコーディオンヘッダーからパネルのコンテンツエリアに移動し、アプリテイクオーバーオプションの直上に配置。プロキシを有効にした後すぐにテイクオーバー設定が見えるようになり、「プロキシだけ有効にしてテイクオーバーを設定しない」というよくある誤操作を防止
53+
- **OpenCode/OpenClaw の手動インポート**: 起動時の自動インポートを削除。空の状態ページに「現在の設定をインポート」ボタンを表示し、Claude/Codex/Gemini と同じ動作に統一
54+
55+
---
56+
57+
## 修正
58+
59+
- **「システムに従う」テーマが自動更新されない**: Tauri のネイティブテーマ追跡(`set_window_theme(None)`)に委譲し、WebView の `prefers-color-scheme` メディアクエリが OS テーマの変更に同期するように修正
60+
- **コンパクトモードを終了できない**: `toolbarRef``flex-1` を復元し、`useAutoCompact` の終了条件がコンテンツ幅ではなく利用可能な幅に基づいて正しくトリガーされるように修正
61+
- **プロキシテイクオーバー Toast に {{app}} が表示される**: プロキシテイクオーバーの有効/無効メッセージの i18next `t()` 呼び出しに欠落していた `app` 補間パラメータを追加
62+
- **Windows プロトコルハンドラーの副作用**: 意図しないプロトコルハンドラー登録を防ぐため、Windows で環境チェックとワンクリックインストールを無効化
63+
64+
---
65+
66+
## 注意事項
67+
68+
- **共通設定スニペットが復活しました**: v3.10.x 以前でこの機能を使用していた場合、同じ方法で動作します。プロバイダー切り替え時に保持すべき共有設定を定義するために使用してください。
69+
- **v3.11.0 部分キーフィールドマージユーザーの方へ**: v3.11.0 でプロバイダー切り替え後に設定フィールドが欠落していた場合は、設定を再インポートして復元してください。
70+
71+
---
72+
73+
## ダウンロードとインストール
74+
75+
[Releases](https://github.com/farion1231/cc-switch/releases/latest) から適切なバージョンをダウンロードしてください。
76+
77+
### システム要件
78+
79+
| システム | 最小バージョン | アーキテクチャ |
80+
| -------- | -------------------------------- | ----------------------------------- |
81+
| Windows | Windows 10 以降 | x64 |
82+
| macOS | macOS 10.15 (Catalina) 以降 | Intel (x64) / Apple Silicon (arm64) |
83+
| Linux | 下表参照 | x64 |
84+
85+
### Windows
86+
87+
| ファイル | 説明 |
88+
| ---------------------------------------- | ---------------------------------------------------- |
89+
| `CC-Switch-v3.11.1-Windows.msi` | **推奨** - MSI インストーラー、自動更新対応 |
90+
| `CC-Switch-v3.11.1-Windows-Portable.zip` | ポータブル版、解凍して実行、レジストリ書き込みなし |
91+
92+
### macOS
93+
94+
| ファイル | 説明 |
95+
| -------------------------------- | ----------------------------------------------------------------- |
96+
| `CC-Switch-v3.11.1-macOS.zip` | **推奨** - 解凍して Applications にドラッグ、Universal Binary |
97+
| `CC-Switch-v3.11.1-macOS.tar.gz` | Homebrew インストールと自動更新用 |
98+
99+
> **注意**: 作者が Apple Developer アカウントを持っていないため、初回起動時に「開発元を確認できません」という警告が表示される場合があります。一度閉じてから、「システム設定」→「プライバシーとセキュリティ」→「このまま開く」をクリックすると、その後は正常に開けます。
100+
101+
### Homebrew (macOS)
102+
103+
```bash
104+
brew tap farion1231/ccswitch
105+
brew install --cask cc-switch
106+
```
107+
108+
更新:
109+
110+
```bash
111+
brew upgrade --cask cc-switch
112+
```
113+
114+
### Linux
115+
116+
| ディストリビューション | 推奨形式 | インストール方法 |
117+
| --------------------------------------- | ----------- | ---------------------------------------------------------------------- |
118+
| Ubuntu / Debian / Linux Mint / Pop!\_OS | `.deb` | `sudo dpkg -i CC-Switch-*.deb` または `sudo apt install ./CC-Switch-*.deb` |
119+
| Fedora / RHEL / CentOS / Rocky Linux | `.rpm` | `sudo rpm -i CC-Switch-*.rpm` または `sudo dnf install ./CC-Switch-*.rpm` |
120+
| openSUSE | `.rpm` | `sudo zypper install ./CC-Switch-*.rpm` |
121+
| Arch Linux / Manjaro | `.AppImage` | 実行権限を追加して直接実行、または AUR を使用 |
122+
| その他のディストリビューション / 不明 | `.AppImage` | `chmod +x CC-Switch-*.AppImage && ./CC-Switch-*.AppImage` |

0 commit comments

Comments
 (0)