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
This commit is contained in:
25
CHANGELOG.md
25
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/),
|
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).
|
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
|
## [3.7.0] - 2025-11-19
|
||||||
|
|
||||||
### Major Features
|
### Major Features
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# All-in-One Assistant for Claude Code, Codex & Gemini CLI
|
# All-in-One Assistant for Claude Code, Codex & Gemini CLI
|
||||||
|
|
||||||
[](https://github.com/farion1231/cc-switch/releases)
|
[](https://github.com/farion1231/cc-switch/releases)
|
||||||
[](https://github.com/trending/typescript)
|
[](https://github.com/trending/typescript)
|
||||||
[](https://github.com/farion1231/cc-switch/releases)
|
[](https://github.com/farion1231/cc-switch/releases)
|
||||||
[](https://tauri.app/)
|
[](https://tauri.app/)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Claude Code / Codex / Gemini CLI 全方位辅助工具
|
# Claude Code / Codex / Gemini CLI 全方位辅助工具
|
||||||
|
|
||||||
[](https://github.com/farion1231/cc-switch/releases)
|
[](https://github.com/farion1231/cc-switch/releases)
|
||||||
[](https://github.com/trending/typescript)
|
[](https://github.com/trending/typescript)
|
||||||
[](https://github.com/farion1231/cc-switch/releases)
|
[](https://github.com/farion1231/cc-switch/releases)
|
||||||
[](https://tauri.app/)
|
[](https://tauri.app/)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "cc-switch",
|
"name": "cc-switch",
|
||||||
"version": "3.7.0",
|
"version": "3.7.1",
|
||||||
"description": "All-in-One Assistant for Claude Code, Codex & Gemini CLI",
|
"description": "All-in-One Assistant for Claude Code, Codex & Gemini CLI",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "pnpm tauri dev",
|
"dev": "pnpm tauri dev",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "cc-switch"
|
name = "cc-switch"
|
||||||
version = "3.7.0"
|
version = "3.7.1"
|
||||||
description = "All-in-One Assistant for Claude Code, Codex & Gemini CLI"
|
description = "All-in-One Assistant for Claude Code, Codex & Gemini CLI"
|
||||||
authors = ["Jason Young"]
|
authors = ["Jason Young"]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://schema.tauri.app/config/2",
|
"$schema": "https://schema.tauri.app/config/2",
|
||||||
"productName": "CC Switch",
|
"productName": "CC Switch",
|
||||||
"version": "3.7.0",
|
"version": "3.7.1",
|
||||||
"identifier": "com.ccswitch.desktop",
|
"identifier": "com.ccswitch.desktop",
|
||||||
"build": {
|
"build": {
|
||||||
"frontendDist": "../dist",
|
"frontendDist": "../dist",
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ export function SkillsPage({ onClose: _onClose }: SkillsPageProps = {}) {
|
|||||||
const { title, description } = formatSkillError(
|
const { title, description } = formatSkillError(
|
||||||
errorMessage,
|
errorMessage,
|
||||||
t,
|
t,
|
||||||
"skills.loadFailed"
|
"skills.loadFailed",
|
||||||
);
|
);
|
||||||
|
|
||||||
toast.error(title, {
|
toast.error(title, {
|
||||||
@@ -75,7 +75,7 @@ export function SkillsPage({ onClose: _onClose }: SkillsPageProps = {}) {
|
|||||||
const { title, description } = formatSkillError(
|
const { title, description } = formatSkillError(
|
||||||
errorMessage,
|
errorMessage,
|
||||||
t,
|
t,
|
||||||
"skills.installFailed"
|
"skills.installFailed",
|
||||||
);
|
);
|
||||||
|
|
||||||
toast.error(title, {
|
toast.error(title, {
|
||||||
@@ -105,7 +105,7 @@ export function SkillsPage({ onClose: _onClose }: SkillsPageProps = {}) {
|
|||||||
const { title, description } = formatSkillError(
|
const { title, description } = formatSkillError(
|
||||||
errorMessage,
|
errorMessage,
|
||||||
t,
|
t,
|
||||||
"skills.uninstallFailed"
|
"skills.uninstallFailed",
|
||||||
);
|
);
|
||||||
|
|
||||||
toast.error(title, {
|
toast.error(title, {
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ function getSuggestionI18nKey(suggestion: string): string {
|
|||||||
export function formatSkillError(
|
export function formatSkillError(
|
||||||
errorString: string,
|
errorString: string,
|
||||||
t: TFunction,
|
t: TFunction,
|
||||||
defaultTitle: string = "skills.installFailed"
|
defaultTitle: string = "skills.installFailed",
|
||||||
): { title: string; description: string } {
|
): { title: string; description: string } {
|
||||||
const parsedError = parseSkillError(errorString);
|
const parsedError = parseSkillError(errorString);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user