diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..3f30d0e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,67 @@ +# Changelog + +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.0.0] - 2025-08-27 + +### 🚀 Major Changes +- **Complete migration from Electron to Tauri 2.0** - The application has been completely rewritten using Tauri, resulting in: + - **90% reduction in bundle size** (from ~150MB to ~15MB) + - **Significantly improved startup performance** + - **Native system integration** without Chromium overhead + - **Enhanced security** with Rust backend + +### ✨ New Features +- **Native window controls** with transparent title bar on macOS +- **Improved file system operations** using Rust for better performance +- **Enhanced security model** with explicit permission declarations +- **Better platform detection** using Tauri's native APIs + +### 🔧 Technical Improvements +- Migrated from Electron IPC to Tauri command system +- Replaced Node.js file operations with Rust implementations +- Implemented proper CSP (Content Security Policy) for enhanced security +- Added TypeScript strict mode for better type safety +- Integrated Rust cargo fmt and clippy for code quality + +### 🐛 Bug Fixes +- Fixed bundle identifier conflict on macOS (changed from .app to .desktop) +- Resolved platform detection issues +- Improved error handling in configuration management + +### 📦 Dependencies +- **Tauri**: 2.8.2 +- **React**: 18.2.0 +- **TypeScript**: 5.3.0 +- **Vite**: 5.0.0 + +### 🔄 Migration Notes +For users upgrading from v2.x (Electron version): +- Configuration files remain compatible - no action required +- The app will automatically migrate your existing provider configurations +- Window position and size preferences have been reset to defaults + +### 🛠️ Development +- Added `pnpm typecheck` command for TypeScript validation +- Added `pnpm format` and `pnpm format:check` for code formatting +- Rust code now uses cargo fmt for consistent formatting + +## [2.0.0] - Previous Electron Release + +### Features +- Multi-provider configuration management +- Quick provider switching +- Import/export configurations +- Preset provider templates + +--- + +## [1.0.0] - Initial Release + +### Features +- Basic provider management +- Claude Code integration +- Configuration file handling \ No newline at end of file diff --git a/package.json b/package.json index 4561e24..d8a4ecd 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,10 @@ "build": "pnpm tauri build", "tauri": "tauri", "dev:renderer": "vite", - "build:renderer": "vite build" + "build:renderer": "vite build", + "typecheck": "tsc --noEmit", + "format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,css,json}\"", + "format:check": "prettier --check \"src/**/*.{js,jsx,ts,tsx,css,json}\"" }, "keywords": [], "author": "Jason Young",