From b5b45c2703ee2d063c426f0963977a9a9e51b983 Mon Sep 17 00:00:00 2001 From: Jason Date: Sat, 31 Jan 2026 17:29:09 +0800 Subject: [PATCH] chore: bump version to 3.10.3 - Update version in package.json, Cargo.toml, and tauri.conf.json - Add missing changelog entries for OpenCode API key link and AICodeMirror preset - Fix Prettier formatting for new hook files --- CHANGELOG.md | 2 ++ package.json | 2 +- src-tauri/Cargo.lock | 2 +- src-tauri/Cargo.toml | 2 +- src-tauri/tauri.conf.json | 2 +- src/components/providers/forms/hooks/useApiKeyLink.ts | 11 +++++++++-- .../providers/forms/hooks/useProviderCategory.ts | 4 +++- 7 files changed, 18 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fd8d2b09..b45c9508e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,8 @@ This release introduces a generic API format selector, pricing configuration enh ### Added +- **API Key Link for OpenCode**: API key link support for OpenCode provider form, enabling quick access to provider key management pages +- **AICodeMirror Partner Preset**: Added AICodeMirror partner preset for all apps (Claude, Codex, Gemini, OpenCode) - **API Format Selector**: Generic API format chooser for Claude providers, replacing the OpenRouter-specific toggle. Supports Anthropic Messages (native) and OpenAI Chat Completions format - **API Format Presets**: Allow preset providers to specify API format (anthropic or openai_chat) for third-party proxy services - **Proxy Hint**: Display info toast when switching to OpenAI Chat format provider, reminding users to enable proxy diff --git a/package.json b/package.json index 90d47c23f..466590d00 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cc-switch", - "version": "3.10.2", + "version": "3.10.3", "description": "All-in-One Assistant for Claude Code, Codex & Gemini CLI", "type": "module", "scripts": { diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index c2e244f5f..d09f0ad7b 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -701,7 +701,7 @@ dependencies = [ [[package]] name = "cc-switch" -version = "3.10.2" +version = "3.10.3" dependencies = [ "anyhow", "async-stream", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index f79966dcd..420d6436a 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cc-switch" -version = "3.10.2" +version = "3.10.3" 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 cb5feaa3f..504c10fba 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.10.2", + "version": "3.10.3", "identifier": "com.ccswitch.desktop", "build": { "frontendDist": "../dist", diff --git a/src/components/providers/forms/hooks/useApiKeyLink.ts b/src/components/providers/forms/hooks/useApiKeyLink.ts index d5e20103c..92d3b3a70 100644 --- a/src/components/providers/forms/hooks/useApiKeyLink.ts +++ b/src/components/providers/forms/hooks/useApiKeyLink.ts @@ -8,7 +8,11 @@ import type { OpenCodeProviderPreset } from "@/config/opencodeProviderPresets"; type PresetEntry = { id: string; - preset: ProviderPreset | CodexProviderPreset | GeminiProviderPreset | OpenCodeProviderPreset; + preset: + | ProviderPreset + | CodexProviderPreset + | GeminiProviderPreset + | OpenCodeProviderPreset; }; interface UseApiKeyLinkProps { @@ -75,7 +79,10 @@ export function useApiKeyLink({ return { shouldShowApiKeyLink: - appId === "claude" || appId === "codex" || appId === "gemini" || appId === "opencode" + appId === "claude" || + appId === "codex" || + appId === "gemini" || + appId === "opencode" ? shouldShowApiKeyLink : false, websiteUrl: getWebsiteUrl, diff --git a/src/components/providers/forms/hooks/useProviderCategory.ts b/src/components/providers/forms/hooks/useProviderCategory.ts index 7760d9bbb..f28d8af0f 100644 --- a/src/components/providers/forms/hooks/useProviderCategory.ts +++ b/src/components/providers/forms/hooks/useProviderCategory.ts @@ -43,7 +43,9 @@ export function useProviderCategory({ if (!selectedPresetId) return; // 从预设 ID 提取索引 - const match = selectedPresetId.match(/^(claude|codex|gemini|opencode)-(\d+)$/); + const match = selectedPresetId.match( + /^(claude|codex|gemini|opencode)-(\d+)$/, + ); if (!match) return; const [, type, indexStr] = match;