CC Switch v3.8.0

Persistence Architecture Upgrade, Laying the Foundation for Cloud Sync

中文版 → | 日本語版 →

---

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:

LayerStorageData TypesSync Strategy
Cloud SyncSQLiteProviders, MCP, Prompts, SkillsFuture syncable
DeviceJSONWindow state, local pathsStays local

Technical Implementation:

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:

Interaction Enhancements:

Compatibility Adjustments:

---

Japanese Language Support

Added Japanese interface support, expanding internationalization to three languages.

Supported Languages:

---

New Features

Skills Recursive Scanning

Skills management system now supports recursive scanning of repository directories, automatically discovering nested skill files.

Improvements:

---

Provider Icon Configuration

Provider presets now support custom icon configuration.

Features:

---

Enhanced Form Validation

Provider forms now include required field validation with friendlier error messages.

Improvements:

---

Auto Launch on Startup

Added auto-launch functionality supporting Windows, macOS, and Linux platforms.

Features:

---

New Provider Presets

---

Bug Fixes

Critical Fixes

Custom Endpoints Lost Issue

Fixed an issue where custom request URLs were unexpectedly lost when updating providers.

Gemini Configuration Issues

Provider Validation Issues

Platform Compatibility

Linux

Other Fixes

---

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:

Test Updates:

---

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:

---

Download & Installation

System Requirements

Visit Releases to download:

Homebrew (macOS)

brew tap farion1231/ccswitch
brew install --cask cc-switch

Update:

brew upgrade --cask cc-switch

Acknowledgments

Contributors

Thanks to all contributors who made this release possible:

Sponsors

Zhipu AI - GLM CODING PLAN Sponsor

Get 10% off with this link

PackyCode - API Relay Service Partner

Use code "cc-switch" for 10% off registration

ShandianShuo - Local-first AI Voice Input

Free download for Mac/Windows

MiniMax - MiniMax M2 CODING PLAN Sponsor

Black Friday sale, plans starting at $2

---

Feedback & Support

---

Future Roadmap

v3.9.0 Preview (Tentative):

Stay tuned for more updates!

---

Happy Coding!