mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-04-03 14:36:44 +08:00
- Add CHANGELOG entry for v3.8.0 - Update README.md and README_ZH.md with v3.8.0 features - Add Japanese README (README_JA.md) - Add release notes in English, Chinese, and Japanese
370 lines
10 KiB
Markdown
370 lines
10 KiB
Markdown
# CC Switch v3.8.0
|
|
|
|
> Persistence Architecture Upgrade, Laying the Foundation for Cloud Sync
|
|
|
|
**[中文版 →](release-note-v3.8.0-zh.md) | [日本語版 →](release-note-v3.8.0-ja.md)**
|
|
|
|
---
|
|
|
|
## Overview
|
|
|
|
CC Switch v3.8.0 is a major architectural upgrade that restructures the data persistence layer and user interface, laying the foundation for future cloud sync and local proxy features.
|
|
|
|
**Release Date**: 2025-11-28
|
|
**Commits**: 51 commits since v3.7.1
|
|
**Code Changes**: 207 files, +17,297 / -6,870 lines
|
|
|
|
---
|
|
|
|
## Major Updates
|
|
|
|
### Persistence Architecture Upgrade
|
|
|
|
Migrated from single JSON file storage to SQLite + JSON dual-layer architecture for hierarchical data management.
|
|
|
|
**Architecture Changes**:
|
|
|
|
```
|
|
v3.7.x (Old) v3.8.0 (New)
|
|
┌─────────────────┐ ┌─────────────────────────────────┐
|
|
│ config.json │ │ SQLite (Syncable Data) │
|
|
│ ┌───────────┐ │ │ ├─ providers Provider cfg │
|
|
│ │ providers │ │ │ ├─ mcp_servers MCP servers │
|
|
│ │ mcp │ │ ──> │ ├─ prompts Prompts │
|
|
│ │ prompts │ │ │ ├─ skills Skills │
|
|
│ │ settings │ │ │ └─ settings General cfg │
|
|
│ └───────────┘ │ ├─────────────────────────────────┤
|
|
└─────────────────┘ │ JSON (Device-level Data) │
|
|
│ └─ settings.json Local settings│
|
|
│ ├─ Window position │
|
|
│ ├─ Path overrides │
|
|
│ └─ Current provider ID │
|
|
└─────────────────────────────────┘
|
|
```
|
|
|
|
**Dual-layer Structure Design**:
|
|
|
|
| Layer | Storage | Data Types | Sync Strategy |
|
|
| ---------- | ------- | ------------------------------- | --------------- |
|
|
| Cloud Sync | SQLite | Providers, MCP, Prompts, Skills | Future syncable |
|
|
| Device | JSON | Window state, local paths | Stays local |
|
|
|
|
**Technical Implementation**:
|
|
|
|
- **Schema Version Management** - Supports database structure upgrade migrations
|
|
- **SQL Import/Export** - `backup.rs` supports SQL dump for cloud storage
|
|
- **Transaction Support** - SQLite native transactions ensure data consistency
|
|
- **Auto Migration** - Automatically migrates from `config.json` on first launch
|
|
|
|
**Modular Refactoring**:
|
|
|
|
```
|
|
database/
|
|
├── mod.rs Core Database struct and initialization
|
|
├── schema.rs Table definitions, schema version migrations
|
|
├── backup.rs SQL import/export, binary snapshot backup
|
|
├── migration.rs JSON → SQLite data migration engine
|
|
└── dao/ Data Access Object layer
|
|
├── providers.rs Provider CRUD
|
|
├── mcp.rs MCP server CRUD
|
|
├── prompts.rs Prompts CRUD
|
|
├── skills.rs Skills CRUD
|
|
└── settings.rs Key-value settings storage
|
|
```
|
|
|
|
---
|
|
|
|
### Brand New User Interface
|
|
|
|
Completely redesigned UI providing a more modern visual experience.
|
|
|
|
**Visual Improvements**:
|
|
|
|
- Redesigned interface layout
|
|
- Unified component styles
|
|
- Smoother transition animations
|
|
- Optimized visual hierarchy
|
|
|
|
**Interaction Enhancements**:
|
|
|
|
- Redesigned header toolbar
|
|
- Unified ConfirmDialog styling
|
|
- Disabled overscroll bounce effect on main view
|
|
- Improved form validation feedback
|
|
|
|
**Compatibility Adjustments**:
|
|
|
|
- Downgraded Tailwind CSS from v4 to v3.4 for better browser compatibility
|
|
|
|
---
|
|
|
|
### Japanese Language Support
|
|
|
|
Added Japanese interface support, expanding internationalization to three languages.
|
|
|
|
**Supported Languages**:
|
|
|
|
- Simplified Chinese
|
|
- English
|
|
- Japanese (New)
|
|
|
|
---
|
|
|
|
## New Features
|
|
|
|
### Skills Recursive Scanning
|
|
|
|
Skills management system now supports recursive scanning of repository directories, automatically discovering nested skill files.
|
|
|
|
**Improvements**:
|
|
|
|
- Support for multi-level directory structures
|
|
- Automatic discovery of all `SKILL.md` files
|
|
- Allow same-named skills from different repositories (using full path for deduplication)
|
|
|
|
---
|
|
|
|
### Provider Icon Configuration
|
|
|
|
Provider presets now support custom icon configuration.
|
|
|
|
**Features**:
|
|
|
|
- Preset providers include default icons
|
|
- Icon settings preserved when duplicating providers
|
|
- Custom icon colors
|
|
|
|
---
|
|
|
|
### Enhanced Form Validation
|
|
|
|
Provider forms now include required field validation with friendlier error messages.
|
|
|
|
**Improvements**:
|
|
|
|
- Real-time validation for required fields
|
|
- Unified Toast notifications for validation errors
|
|
- Clearer error messages
|
|
|
|
---
|
|
|
|
### Auto Launch on Startup
|
|
|
|
Added auto-launch functionality supporting Windows, macOS, and Linux platforms.
|
|
|
|
**Features**:
|
|
|
|
- One-click enable/disable in settings
|
|
- Implemented using platform-native APIs
|
|
- Windows uses Registry, macOS uses LaunchAgent, Linux uses XDG autostart
|
|
|
|
---
|
|
|
|
### New Provider Presets
|
|
|
|
- **MiniMax** - Official partner
|
|
|
|
---
|
|
|
|
## Bug Fixes
|
|
|
|
### Critical Fixes
|
|
|
|
**Custom Endpoints Lost Issue**
|
|
|
|
Fixed an issue where custom request URLs were unexpectedly lost when updating providers.
|
|
|
|
- Root Cause: `INSERT OR REPLACE` executes `DELETE + INSERT` under the hood in SQLite, triggering foreign key cascade deletion
|
|
- Fix: Changed to use `UPDATE` statement for existing providers
|
|
|
|
**Gemini Configuration Issues**
|
|
|
|
- Fixed custom provider environment variables not correctly written to `.env` file
|
|
- Fixed security auth config incorrectly written to other config files
|
|
|
|
**Provider Validation Issues**
|
|
|
|
- Fixed validation error when current provider ID doesn't exist
|
|
- Fixed icon fields lost when duplicating providers
|
|
|
|
### Platform Compatibility
|
|
|
|
**Linux**
|
|
|
|
- Resolved WebKitGTK DMA-BUF rendering issue
|
|
- Preserve user `.desktop` file customizations
|
|
|
|
### Other Fixes
|
|
|
|
- Fixed redundant usage queries when switching apps
|
|
- Fixed DMXAPI preset using wrong auth token field
|
|
- Fixed missing translation keys in deeplink components
|
|
- Fixed usage script template initialization logic
|
|
|
|
---
|
|
|
|
## Technical Improvements
|
|
|
|
### Architecture Refactoring
|
|
|
|
**Provider Service Modularization**:
|
|
|
|
```
|
|
services/provider/
|
|
├── mod.rs Core service - add/update/delete/switch/validate
|
|
├── live.rs Live config file operations
|
|
├── gemini_auth.rs Gemini auth type detection
|
|
├── endpoints.rs Custom endpoint management
|
|
└── usage.rs Usage script execution
|
|
```
|
|
|
|
**Deeplink Modularization**:
|
|
|
|
```
|
|
deeplink/
|
|
├── mod.rs Module exports
|
|
├── parser.rs URL parsing
|
|
├── provider.rs Provider import logic
|
|
├── mcp.rs MCP import logic
|
|
├── prompt.rs Prompt import
|
|
├── skill.rs Skills import
|
|
└── utils.rs Utility functions
|
|
```
|
|
|
|
### Code Quality
|
|
|
|
**Cleanup**:
|
|
|
|
- Removed legacy JSON-era import/export dead code
|
|
- Removed unused MCP type exports
|
|
- Unified error handling approach
|
|
|
|
**Test Updates**:
|
|
|
|
- Migrated tests to SQLite database architecture
|
|
- Updated component tests to match current implementation
|
|
- Fixed MSW handlers to adapt to new API
|
|
|
|
---
|
|
|
|
## Technical Statistics
|
|
|
|
```
|
|
Overall Changes:
|
|
- Commits: 51
|
|
- Files: 207 files changed
|
|
- Additions: +17,297 lines
|
|
- Deletions: -6,870 lines
|
|
- Net: +10,427 lines
|
|
|
|
Commit Type Distribution:
|
|
- fix: 25 (Bug fixes)
|
|
- refactor: 11 (Code refactoring)
|
|
- feat: 9 (New features)
|
|
- test: 1 (Testing)
|
|
- other: 5
|
|
|
|
Change Area Distribution:
|
|
- Frontend source: 112 files
|
|
- Rust backend: 63 files
|
|
- Test files: 20 files
|
|
- i18n files: 3 files
|
|
```
|
|
|
|
---
|
|
|
|
## Migration Guide
|
|
|
|
### Upgrading from v3.7.x
|
|
|
|
**Auto Migration** - Executes automatically on first launch:
|
|
|
|
1. Detects if `config.json` exists
|
|
2. Migrates all data to SQLite within a transaction
|
|
3. Migrates device-level settings to `settings.json`
|
|
4. Shows migration success notification
|
|
|
|
**Data Safety**:
|
|
|
|
- Original `config.json` file is preserved (not deleted)
|
|
- Error dialog displayed on migration failure, `config.json` preserved
|
|
- Supports Dry-run mode to verify migration logic
|
|
|
|
---
|
|
|
|
## Download & Installation
|
|
|
|
### System Requirements
|
|
|
|
- **Windows**: Windows 10+
|
|
- **macOS**: macOS 10.15 (Catalina)+
|
|
- **Linux**: Ubuntu 22.04+ / Debian 11+ / Fedora 34+
|
|
|
|
### Download Links
|
|
|
|
Visit [Releases](https://github.com/farion1231/cc-switch/releases/latest) to download:
|
|
|
|
- **Windows**: `CC-Switch-v3.8.0-Windows.msi` or `-Portable.zip`
|
|
- **macOS**: `CC-Switch-v3.8.0-macOS.tar.gz` or `.zip`
|
|
- **Linux**: `CC-Switch-v3.8.0-Linux.AppImage` or `.deb`
|
|
|
|
### Homebrew (macOS)
|
|
|
|
```bash
|
|
brew tap farion1231/ccswitch
|
|
brew install --cask cc-switch
|
|
```
|
|
|
|
Update:
|
|
|
|
```bash
|
|
brew upgrade --cask cc-switch
|
|
```
|
|
|
|
## Acknowledgments
|
|
|
|
### Contributors
|
|
|
|
Thanks to all contributors who made this release possible:
|
|
|
|
- [@YoVinchen](https://github.com/YoVinchen) - UI and database refactoring
|
|
- [@farion1231](https://github.com/farion1231) - Bug fixes and feature enhancements
|
|
- Community members for testing and feedback
|
|
|
|
### Sponsors
|
|
|
|
**Zhipu AI** - GLM CODING PLAN Sponsor
|
|
[Get 10% off with this link](https://z.ai/subscribe?ic=8JVLJQFSKB)
|
|
|
|
**PackyCode** - API Relay Service Partner
|
|
[Use code "cc-switch" for 10% off registration](https://www.packyapi.com/register?aff=cc-switch)
|
|
|
|
**ShandianShuo** - Local-first AI Voice Input
|
|
[Free download](https://shandianshuo.cn) for Mac/Windows
|
|
|
|
**MiniMax** - MiniMax M2 CODING PLAN Sponsor
|
|
[Black Friday sale, plans starting at $2](https://platform.minimax.io/subscribe/coding-plan)
|
|
|
|
---
|
|
|
|
## Feedback & Support
|
|
|
|
- **Issue Reports**: [GitHub Issues](https://github.com/farion1231/cc-switch/issues)
|
|
- **Discussions**: [GitHub Discussions](https://github.com/farion1231/cc-switch/discussions)
|
|
- **Documentation**: [README](../README.md)
|
|
- **Changelog**: [CHANGELOG.md](../CHANGELOG.md)
|
|
|
|
---
|
|
|
|
## Future Roadmap
|
|
|
|
**v3.9.0 Preview** (Tentative):
|
|
|
|
- Local proxy feature
|
|
|
|
Stay tuned for more updates!
|
|
|
|
---
|
|
|
|
**Happy Coding!**
|