Commit Graph

52 Commits

  • chore: bump version to v3.9.1
    - Update version in package.json, tauri.conf.json, Cargo.toml
    - Update version badges and current version in README files
    - Add v3.9.1 changelog entry with bug fixes and improvements
  • chore(release): prepare v3.9.0 stable release
    - Bump version from 3.9.0-3 to 3.9.0 across all config files
    - Add comprehensive release notes in English, Chinese, and Japanese
    - Update CHANGELOG with v3.9.0 stable and v3.9.0-2 entries
    - Update README badges and release note links to v3.9.0
  • docs: add Cubence as sponsor partner
    Add Cubence sponsor information to README in all three languages
    (English, Chinese, Japanese).
  • feat(release): add RPM and Flatpak packaging support for Linux
    - Add RPM bundle to Linux build targets in CI workflow
    - Add Flatpak manifest, desktop entry, and AppStream metainfo
    - Update release workflow to build and publish .rpm and .flatpak artifacts
    - Update README docs with new Linux package formats and installation instructions
    - Add .gitignore rules for Flatpak build artifacts
  • docs: make sponsor logos clickable and update sponsor list
    - Make all sponsor logos clickable links in README files (EN/ZH/JA)
    - Replace ShanDianShuo with DMXAPI sponsor
    - Add DMXAPI logo images (dmx-en.jpg, dmx-zh.jpeg)
    - Unify sponsor list across all language versions
  • 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
  • chore: bump version to v3.7.1
    Prepare for v3.7.1 maintenance release.
    
    **Version Updates**:
    - package.json: 3.7.0 → 3.7.1
    - src-tauri/Cargo.toml: 3.7.0 → 3.7.1
    - src-tauri/tauri.conf.json: 3.7.0 → 3.7.1
    - README.md: version badge updated
    - README_ZH.md: version badge updated
    
    **CHANGELOG.md**:
    - Added v3.7.1 release notes (2025-11-22)
    - 3 bug fixes (Skills installation, Gemini persistence, dialog overlay)
    - 2 new features (Gemini config directory, ArchLinux support)
    - 3 improvements (error i18n, download timeout, code formatting)
    - 1 reverted feature (auto-launch)
    
    **Code Formatting**:
    - Applied prettier to SkillsPage.tsx and skillErrorParser.ts
    
    **Pre-Release Checks**:
     TypeScript type check passed
     Prettier format check passed
     All version numbers synchronized
  • docs(readme): update for v3.7.0 release with six major features
    Update both English and Chinese README files to reflect the major platform positioning shift and new capabilities:
    
    **Platform Positioning**
    - Update tagline: "From Provider Switcher to All-in-One AI CLI Management Platform"
    - Emphasize unified management of configurations, MCP, Skills, and Prompts
    
    **v3.7.0 Highlights**
    - Gemini CLI Integration: Third supported AI CLI with dual-file config
    - Claude Skills Management: GitHub integration, lifecycle management
    - Prompts Management: Multi-preset system with Markdown editor
    - MCP v3.7.0 Unified Architecture: SSE transport, smart parser, cross-app sync
    - Deep Link Protocol: ccswitch:// for one-click config sharing
    - Environment Conflict Detection: Auto-detect and resolve config conflicts
    
    **Documentation Updates**
    - Add v3.7.0 release notes link
    - Expand Quick Start with Skills and Prompts management guides
    - Update configuration files section with Gemini environment variables
    - Add ShanDianShuo sponsor logos and information
    
    **Technical Details**
    - 18,000+ lines of new code across 6 core features
    - Cross-app support for Claude Code, Codex, and Gemini CLI
    - Complete usage instructions for new management systems
  • chore(release): bump version to v3.7.0 and rebrand to include Gemini CLI
    - Update version from 3.6.2 to 3.7.0 across all config files
    - Update project description to "All-in-One Assistant for Claude Code, Codex & Gemini CLI"
    - Update Chinese description to "Claude Code / Codex / Gemini CLI 全方位辅助工具"
    - Sync version in package.json, Cargo.toml, tauri.conf.json
    - Update branding in README.md, README_ZH.md and i18n locale files
  • fix(mcp): correct Codex MCP configuration format to [mcp_servers]
    BREAKING CHANGE: The [mcp.servers] format was completely incorrect and not
    any official Codex format. The only correct format is [mcp_servers] at the
    top level of config.toml.
    
    Changes:
    - Remove incorrect [mcp.servers] nested table support
    - Always use [mcp_servers] top-level table (official Codex format)
    - Auto-migrate and cleanup erroneous [mcp.servers] entries on write
    - Preserve error-tolerant import for migrating old incorrect configs
    - Simplify sync logic by removing format selection branches (~60 lines)
    - Update all documentation and tests to reflect correct format
    - Add warning logs when detecting and cleaning incorrect format
    
    Backend (Rust):
    - mcp.rs: Simplify sync_enabled_to_codex by removing Target enum
    - mcp.rs: sync_single_server_to_codex now always uses [mcp_servers]
    - mcp.rs: remove_server_from_codex cleans both locations
    - mcp.rs: Update import_from_codex comments to clarify format status
    - tests: Rename test to sync_enabled_to_codex_migrates_erroneous_*
    - tests: Update assertions to verify migration behavior
    
    Frontend (TypeScript):
    - tomlUtils.ts: Prioritize [mcp_servers] format in parsing
    - tomlUtils.ts: Update error messages to guide correct format
    
    Documentation:
    - README.md: Correct MCP format reference to [mcp_servers]
    - CLAUDE.md: Add comprehensive format specification with examples
    
    All 79 tests pass. This ensures backward compatibility while enforcing
    the correct Codex official standard going forward.
    
    Refs: https://github.com/openai/codex/issues/3441
  • fix(i18n): add internationalization support for app names
    - Add i18n for Claude/Codex/Gemini app names in AppSwitcher
    - Use useTranslation hook with existing translation keys
    - Fix ASCII diagram alignment in README files
  • feat(tray): add Gemini support to system tray menu (#209)
    Refactor tray menu system to support three applications (Claude/Codex/Gemini):
    - Introduce generic TrayAppSection structure and TRAY_SECTIONS array
    - Implement append_provider_section and handle_provider_tray_event helper functions
    - Enhance Gemini provider service with .env config read/write support
    - Implement Gemini LiveSnapshot for atomic operations and rollback
    - Update README documentation to reflect Gemini tray quick switching feature
  • docs: add TypeScript Trending badge and improve contributing tone
    - Add 🔥 TypeScript Trending badge celebrating daily/weekly/monthly rankings
    - Refine contributing guidelines with friendlier, more welcoming language
    - Replace directive tone with collaborative suggestions for feature PRs
  • chore(release): prepare for v3.6.1 release
    - Bump version to 3.6.1 across all config files
      - package.json, Cargo.toml, tauri.conf.json
      - README.md and README_ZH.md version badges
      - Auto-updated Cargo.lock
    - Add release notes documentation
      - docs/release-note-v3.6.0-en.md (archive)
      - docs/release-note-v3.6.1-zh.md (cumulative format)
      - docs/release-note-v3.6.1-en.md (cumulative format)
    - Enlarge PackyCode sponsor logo by 50% (100px → 150px)
    - Update roadmap checklist (homebrew support marked as done)
  • feat(sponsor): add PackyCode as official partner
    - Add PackyCode to sponsor section in README (both EN/ZH)
    - Add PackyCode logo to assets/partners/logos/
    - Mark PackyCode as partner in provider presets (Claude & Codex)
    - Add promotion message to i18n files with 10% discount info
  • docs: add v3.6.0 release notes and update READMEs with missing features
    **Release Notes**
    - Create Chinese v3.6.0 release notes in docs/ folder
    
    **README Updates**
    Add documentation for three missing v3.6.0 features:
    
    1. Claude Configuration Data Structure Enhancements
       - Granular model configuration: migrated from dual-key to quad-key system
       - New fields: ANTHROPIC_DEFAULT_HAIKU_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL,
         ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_MODEL
       - Replaces legacy ANTHROPIC_SMALL_FAST_MODEL with automatic migration
       - Backend normalizes old configs with smart fallback chain
       - UI expanded from 2 to 4 model input fields
    
    2. Updated Provider Models
       - Kimi: updated to latest kimi-k2-thinking model (from k1 series)
       - Removed legacy KimiModelSelector component
    
    3. Custom Configuration Directory (Cloud Sync Support)
       - Customize CC Switch's configuration storage location
       - Point to cloud sync folders (Dropbox, OneDrive, iCloud, etc.)
         to enable automatic config synchronization across devices
       - Managed via Tauri Store for better isolation
    
    **Files Changed**
    - README.md & README_ZH.md: added feature documentation
    - docs/release-note-v3.6.0-zh.md: comprehensive Chinese release notes
  • Release v3.6.0: Major architecture refactoring and feature enhancements
    New Features:
    - Provider duplication and manual sorting via drag-and-drop
    - Custom endpoint management for aggregator providers
    - Usage query with auto-refresh interval and test script API
    - Config editor improvements (JSON format button, real-time TOML validation)
    - Auto-sync on directory change for WSL environment support
    - Load live config when editing active provider to protect manual modifications
    - New provider presets: DMXAPI, Azure Codex, AnyRouter, AiHubMix, MiniMax
    - Partner promotion mechanism (Zhipu GLM Z.ai)
    
    Architecture Improvements:
    - Backend: 5-phase refactoring (error handling → command split → services → concurrency)
    - Frontend: 4-stage refactoring (tests → hooks → components → cleanup)
    - Testing: 100% hooks unit test coverage, integration tests for critical flows
    
    Documentation:
    - Complete README rewrite with detailed architecture overview
    - Separate Chinese (README_ZH.md) and English (README.md) versions
    - Comprehensive v3.6.0 changelog with categorized changes
    - New bilingual screenshots and partner banners
    
    Bug Fixes:
    - Fixed configuration sync issues (apiKeyUrl priority, MCP sync, import sync)
    - Fixed usage query interval timing and refresh button animation
    - Fixed UI issues (edit mode alignment, language switch state)
    - Fixed endpoint speed test and provider duplicate insertion position
    - Force exit on config error to prevent silent fallback
    
    Technical Details:
    - Updated to Tauri 2.8.x, TailwindCSS 4.x, TanStack Query v5.90.x
    - Removed legacy v1 migration logic for better startup performance
    - Standardized command parameters (unified to camelCase `app`)
    - Result pattern for graceful error handling
  • docs: update README for v3.5.1 release
    - Bump version badge to 3.5.1
    - Remove project restructure notice
    - Add MCP configuration documentation section
    - Add architecture overview with SSOT design
    - Enhance project structure and contribution guidelines
  • refactor(api): unify AppType parsing with FromStr trait
    BREAKING CHANGE: Remove support for legacy app_type/appType parameters.
    All Tauri commands now accept only the 'app' parameter (values: "claude" or "codex").
    Invalid app values will return localized error messages with allowed values.
    
    This commit addresses code duplication and improves error handling:
    
    - Consolidate AppType parsing into FromStr trait implementation
      * Eliminates duplicate parse_app() functions across 3 command modules
      * Provides single source of truth for app type validation
      * Enables idiomatic Rust .parse::<AppType>() syntax
    
    - Enhance error messages with localization
      * Return bilingual error messages (Chinese + English)
      * Include list of allowed values in error responses
      * Use structured AppError::localized for better categorization
    
    - Add input normalization
      * Case-insensitive matching ("CLAUDE" → AppType::Claude)
      * Automatic whitespace trimming (" codex \n" → AppType::Codex)
      * Improves API robustness against user input variations
    
    - Introduce comprehensive unit tests
      * Test valid inputs with case variations
      * Test whitespace handling
      * Verify error message content and localization
      * 100% coverage of from_str logic
    
    - Update documentation
      * Add CHANGELOG entry marking breaking change
      * Update README with accurate architecture description
      * Revise REFACTORING_MASTER_PLAN with migration examples
      * Remove all legacy app_type/appType references
    
    Code Quality Metrics:
    - Lines removed: 27 (duplicate code)
    - Lines added: 52 (including tests and docs)
    - Code duplication: 3 → 0 instances
    - Test coverage: 0% → 100% for AppType parsing
  • docs: update README for v3.5.0 release
    - Add v3.5.0 feature highlights (MCP management, import/export, speed testing)
    - Update feature list section to v3.5.0
    - Fix macOS download filename to .tar.gz (standardized naming)
    - Add refactoring notice in contribution section
  • chore: standardize release artifact naming with version tags
    - Update GitHub Actions to generate version-tagged filenames
    - macOS: CC-Switch-v{version}-macOS.tar.gz / .zip
    - Windows: CC-Switch-v{version}-Windows.msi / -Portable.zip
    - Linux: CC-Switch-v{version}-Linux.AppImage / .deb
    - Update README installation instructions with new filename format
    - Add naming standardization note to CHANGELOG v3.5.0
  • chore: bump version to 3.4.0
    - Add i18next internationalization with Chinese/English support
    - Add Claude plugin sync alongside VS Code integration
    - Extend provider presets with new models (DeepSeek-V3.2-Exp, Qwen3-Max, GLM-4.6)
    - Support portable mode and single instance enforcement
    - Add tray minimize and macOS Dock visibility management
    - Improve Settings UI with scrollable layout and save icon
    - Fix layout shifts and provider toggle consistency
    - Remove unnecessary OpenAI auth requirement
    - Update Windows MSI installer to target per-user LocalAppData
  • release: bump version to 3.3.0
    Update version across all package files and add comprehensive changelog for v3.3.0 release featuring VS Code integration, shared config snippets, enhanced Codex wizard, and cross-platform improvements.
  • docs: update README and screenshots for v3.2.0 release
    - Update README with v3.2.0 features and UI improvements
    - Replace screenshots with new UI design
    - Clarify SSOT architecture and one-time migration details
    - Update version badge to 3.2.0
  • chore: update repository URLs from jasonyoung to farion1231
    - Update GitHub repository URLs in README.md badges
    - Update repository URL in Cargo.toml metadata
    - Update updater endpoint URL in tauri.conf.json for auto-updates
  • docs(cleanup): remove 'current' as special provider; align UI/messages and migration naming to 'default' and one-time import rule
    - App: update auto-import message to '默认供应商'
    - README: clarify default import only when providers are empty
    - Plan doc: replace 'current entry' wording with current pointer (manager.current)
    - Migration: name live-imported item 'default' instead of 'current'
  • feat: optimize release workflow for better distribution
    - Configure GitHub Actions to generate platform-specific releases:
      - macOS: zip package only (avoids signing issues)
      - Windows: installer (NSIS) and portable version
      - Linux: AppImage and deb packages
    - Update Tauri config to build all available targets
    - Add documentation for macOS signature workarounds
  • feat: add prettier formatter and MIT license
    - Add prettier dev dependency for code formatting
    - Create MIT LICENSE file
    - Format TypeScript files with prettier
    - Update provider order in README (Qwen coder first)
    - Update add provider screenshot with new UI
  • docs: update README for v3.0.0 Tauri release
    - Add version badges and Tauri branding
    - Update performance metrics (85% size reduction, 10x startup speed)
    - Add detailed system requirements for all platforms
    - Update installation instructions with specific file names
    - Add comprehensive development setup guide
    - Include new npm scripts (typecheck, format)
    - Add Rust development commands
    - Enhance project structure documentation
    - Link to CHANGELOG for version details
    - Update screenshots for new UI
  • refactor: 清理 Electron 遗留代码并优化项目结构
    - 删除 Electron 主进程代码 (src/main/)
    - 删除构建产物文件夹 (build/, dist/, release/)
    - 清理 package.json 中的 Electron 依赖和脚本
    - 删除 TypeScript 配置中的 Electron 相关文件
    - 优化前端代码结构至 Tauri 标准结构 (src/renderer → src/)
    - 删除移动端图标和不必要文件
    - 更新文档说明技术栈变更为 Tauri
  • docs: 改进 README 文档
    - 添加 macOS 自行编译说明
    - 新增界面预览截图展示
    - 优化安装说明结构
  • 实施最终发布策略:Intel-only 配置
     配置 Intel-only 构建 (package.json)
     更新 GitHub Actions 发布流程
     完善 README 安装说明
    
    核心策略:
    - 只发布 Intel x64 版本,通过 Rosetta 2 支持 M 系列芯片
    - 使用 ad-hoc 签名,避免 ARM64 签名复杂性
    - 提供详细的 macOS 安全警告处理指南
    - 强调兼容性和稳定性优于原生性能
  • 更新 README:补充功能特性和使用说明
    - 添加支持的供应商示例(智谱 GLM、Qwen coder 等)
    - 强调本地存储无隐私风险
    - 完善使用说明,提醒重启 Claude Code 生效