mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-04-21 11:46:49 +08:00
docs: add v3.8.0 release documentation and Japanese README
- 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
This commit is contained in:
369
docs/release-note-v3.8.0-en.md
Normal file
369
docs/release-note-v3.8.0-en.md
Normal file
@@ -0,0 +1,369 @@
|
||||
# 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!**
|
||||
Reference in New Issue
Block a user