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
This commit is contained in:
Jason
2026-01-31 17:29:09 +08:00
parent bd8a323600
commit b5b45c2703
7 changed files with 18 additions and 7 deletions

View File

@@ -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

View File

@@ -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": {

2
src-tauri/Cargo.lock generated
View File

@@ -701,7 +701,7 @@ dependencies = [
[[package]]
name = "cc-switch"
version = "3.10.2"
version = "3.10.3"
dependencies = [
"anyhow",
"async-stream",

View File

@@ -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"

View File

@@ -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",

View File

@@ -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,

View File

@@ -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;