From b64bb6cfa1418e38126874a6a8451b3510da5626 Mon Sep 17 00:00:00 2001 From: Jason Date: Sat, 22 Nov 2025 16:57:09 +0800 Subject: [PATCH] chore: bump version to v3.7.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- CHANGELOG.md | 25 +++++++++++++++++++++++++ README.md | 2 +- README_ZH.md | 2 +- package.json | 2 +- src-tauri/Cargo.toml | 2 +- src-tauri/tauri.conf.json | 2 +- src/components/skills/SkillsPage.tsx | 6 +++--- src/lib/errors/skillErrorParser.ts | 2 +- 8 files changed, 34 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index defa3cd..5072f0c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,31 @@ All notable changes to CC Switch will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [3.7.1] - 2025-11-22 + +### Fixed + +- **Skills third-party repository installation** (#268) - Fixed installation failure for skills repositories with custom subdirectories (e.g., `ComposioHQ/awesome-claude-skills`) +- **Gemini configuration persistence** - Resolved issue where settings.json edits were lost when switching providers +- **Dialog overlay click protection** - Prevented dialogs from closing when clicking outside, avoiding accidental form data loss (affects 11 dialog components) + +### Added + +- **Gemini configuration directory support** (#255) - Added custom configuration directory option for Gemini in settings +- **ArchLinux installation support** (#259) - Added AUR installation via `paru -S cc-switch-bin` + +### Improved + +- **Skills error messages i18n** - Added 28+ detailed error messages (English & Chinese) with specific resolution suggestions +- **Download timeout** - Extended from 15s to 60s to reduce network-related false positives +- **Code formatting** - Applied unified Rust (`cargo fmt`) and TypeScript (`prettier`) formatting standards + +### Reverted + +- **Auto-launch on system startup** - Temporarily reverted feature pending further testing and optimization + +--- + ## [3.7.0] - 2025-11-19 ### Major Features diff --git a/README.md b/README.md index 7616215..8c78dee 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # All-in-One Assistant for Claude Code, Codex & Gemini CLI -[![Version](https://img.shields.io/badge/version-3.7.0-blue.svg)](https://github.com/farion1231/cc-switch/releases) +[![Version](https://img.shields.io/badge/version-3.7.1-blue.svg)](https://github.com/farion1231/cc-switch/releases) [![Trending](https://img.shields.io/badge/🔥_TypeScript_Trending-Daily%20%7C%20Weekly%20%7C%20Monthly-ff6b6b.svg)](https://github.com/trending/typescript) [![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)](https://github.com/farion1231/cc-switch/releases) [![Built with Tauri](https://img.shields.io/badge/built%20with-Tauri%202-orange.svg)](https://tauri.app/) diff --git a/README_ZH.md b/README_ZH.md index f28aaaa..5612901 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -2,7 +2,7 @@ # Claude Code / Codex / Gemini CLI 全方位辅助工具 -[![Version](https://img.shields.io/badge/version-3.7.0-blue.svg)](https://github.com/farion1231/cc-switch/releases) +[![Version](https://img.shields.io/badge/version-3.7.1-blue.svg)](https://github.com/farion1231/cc-switch/releases) [![Trending](https://img.shields.io/badge/🔥_TypeScript_Trending-Daily%20%7C%20Weekly%20%7C%20Monthly-ff6b6b.svg)](https://github.com/trending/typescript) [![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)](https://github.com/farion1231/cc-switch/releases) [![Built with Tauri](https://img.shields.io/badge/built%20with-Tauri%202-orange.svg)](https://tauri.app/) diff --git a/package.json b/package.json index a939d5b..a3dd8cd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cc-switch", - "version": "3.7.0", + "version": "3.7.1", "description": "All-in-One Assistant for Claude Code, Codex & Gemini CLI", "scripts": { "dev": "pnpm tauri dev", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 2a2dd53..8eda3e0 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cc-switch" -version = "3.7.0" +version = "3.7.1" description = "All-in-One Assistant for Claude Code, Codex & Gemini CLI" authors = ["Jason Young"] license = "MIT" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 270f88d..8ad7bf3 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "CC Switch", - "version": "3.7.0", + "version": "3.7.1", "identifier": "com.ccswitch.desktop", "build": { "frontendDist": "../dist", diff --git a/src/components/skills/SkillsPage.tsx b/src/components/skills/SkillsPage.tsx index 21c5fd3..8a6f0fd 100644 --- a/src/components/skills/SkillsPage.tsx +++ b/src/components/skills/SkillsPage.tsx @@ -35,7 +35,7 @@ export function SkillsPage({ onClose: _onClose }: SkillsPageProps = {}) { const { title, description } = formatSkillError( errorMessage, t, - "skills.loadFailed" + "skills.loadFailed", ); toast.error(title, { @@ -75,7 +75,7 @@ export function SkillsPage({ onClose: _onClose }: SkillsPageProps = {}) { const { title, description } = formatSkillError( errorMessage, t, - "skills.installFailed" + "skills.installFailed", ); toast.error(title, { @@ -105,7 +105,7 @@ export function SkillsPage({ onClose: _onClose }: SkillsPageProps = {}) { const { title, description } = formatSkillError( errorMessage, t, - "skills.uninstallFailed" + "skills.uninstallFailed", ); toast.error(title, { diff --git a/src/lib/errors/skillErrorParser.ts b/src/lib/errors/skillErrorParser.ts index 929611a..6b0f93e 100644 --- a/src/lib/errors/skillErrorParser.ts +++ b/src/lib/errors/skillErrorParser.ts @@ -70,7 +70,7 @@ function getSuggestionI18nKey(suggestion: string): string { export function formatSkillError( errorString: string, t: TFunction, - defaultTitle: string = "skills.installFailed" + defaultTitle: string = "skills.installFailed", ): { title: string; description: string } { const parsedError = parseSkillError(errorString);