📝 簡化自動發布流程

This commit is contained in:
Minidoracat 2025-06-08 02:58:33 +08:00
parent c9555a7132
commit b2640b51ad
17 changed files with 263 additions and 578 deletions

View File

@ -9,9 +9,9 @@ on:
default: 'patch' default: 'patch'
type: choice type: choice
options: options:
- patch # 2.0.0 -> 2.0.1 (bug fixes) - patch # 2.0.0 -> 2.0.1 (bug fixes, security patches, documentation updates)
- minor # 2.0.0 -> 2.1.0 (new features) - minor # 2.0.0 -> 2.1.0 (new features, enhancements, backward-compatible changes)
- major # 2.0.0 -> 3.0.0 (breaking changes) - major # 2.0.0 -> 3.0.0 (breaking changes, architecture refactoring, API changes)
jobs: jobs:
release: release:
@ -70,167 +70,156 @@ jobs:
NEW_VERSION="${{ steps.bump_version.outputs.new }}" NEW_VERSION="${{ steps.bump_version.outputs.new }}"
sed -i "s/__version__ = \".*\"/__version__ = \"$NEW_VERSION\"/" src/mcp_feedback_enhanced/__init__.py sed -i "s/__version__ = \".*\"/__version__ = \"$NEW_VERSION\"/" src/mcp_feedback_enhanced/__init__.py
- name: Check Release Notes - name: Extract Release Highlights
id: check_notes id: extract_highlights
run: | run: |
NEW_VERSION="v${{ steps.bump_version.outputs.new }}" NEW_VERSION="v${{ steps.bump_version.outputs.new }}"
RELEASE_DIR="RELEASE_NOTES/${NEW_VERSION}"
# Extract highlights from English CHANGELOG
if [ ! -d "$RELEASE_DIR" ]; then if [ -f "RELEASE_NOTES/CHANGELOG.en.md" ]; then
echo "❌ Error: Release notes directory not found at $RELEASE_DIR" # Find the section for the new version and extract highlights
echo "Please create release notes before publishing!" awk "/## \[${NEW_VERSION}\]/{flag=1; next} /## \[/{flag=0} flag && /### 🌟 Highlights/{getline; while(getline && !/^###/ && !/^##/) if(/^[^[:space:]]/ || /^- /) print}' RELEASE_NOTES/CHANGELOG.en.md > highlights.txt
echo "Required files:"
echo " - $RELEASE_DIR/en.md" # If no highlights section found, extract from new features
echo " - $RELEASE_DIR/zh-TW.md" if [ ! -s highlights.txt ]; then
exit 1 awk "/## \[${NEW_VERSION}\]/{flag=1; next} /## \[/{flag=0} flag && /### ✨ New Features/{getline; while(getline && !/^###/ && !/^##/) if(/^- /) print}' RELEASE_NOTES/CHANGELOG.en.md | head -4 > highlights.txt
fi
echo "✅ Extracted highlights for $NEW_VERSION"
else
echo "⚠️ CHANGELOG.en.md not found, using default highlights"
echo "- 🚀 New features and improvements" > highlights.txt
echo "- 🐛 Bug fixes and optimizations" >> highlights.txt
fi fi
if [ ! -f "$RELEASE_DIR/en.md" ]; then
echo "❌ Error: English release notes not found at $RELEASE_DIR/en.md"
exit 1
fi
if [ ! -f "$RELEASE_DIR/zh-TW.md" ]; then
echo "❌ Error: Traditional Chinese release notes not found at $RELEASE_DIR/zh-TW.md"
exit 1
fi
if [ ! -f "$RELEASE_DIR/zh-CN.md" ]; then
echo "❌ Error: Simplified Chinese release notes not found at $RELEASE_DIR/zh-CN.md"
exit 1
fi
echo "✅ Release notes found for $NEW_VERSION"
echo "release_dir=$RELEASE_DIR" >> $GITHUB_OUTPUT
- name: Generate Release Body - name: Generate Release Body
id: release_body id: release_body
run: | run: |
NEW_VERSION="v${{ steps.bump_version.outputs.new }}" NEW_VERSION="v${{ steps.bump_version.outputs.new }}"
RELEASE_DIR="${{ steps.check_notes.outputs.release_dir }}"
# Get release title from English CHANGELOG
# Create multi-language release body RELEASE_TITLE=$(awk "/## \[${NEW_VERSION}\]/{print; exit}" RELEASE_NOTES/CHANGELOG.en.md | sed 's/## \[.*\] - //')
cat > release_body.md << 'EOF' if [ -z "$RELEASE_TITLE" ]; then
## 🌐 Multi-Language Release Notes RELEASE_TITLE="Latest Release"
fi
# Create release body with highlights and links
cat > release_body.md << EOF
# Release ${NEW_VERSION} - ${RELEASE_TITLE}
## 🌟 Key Highlights
EOF
# Add highlights
if [ -s highlights.txt ]; then
cat highlights.txt >> release_body.md
else
echo "- 🚀 New features and improvements" >> release_body.md
echo "- 🐛 Bug fixes and optimizations" >> release_body.md
fi
# Add multi-language links section
cat >> release_body.md << 'EOF'
## 🌐 Detailed Release Notes
### 🇺🇸 English ### 🇺🇸 English
EOF 📖 **[View Complete English Release Notes](https://github.com/Minidoracat/mcp-feedback-enhanced/blob/main/RELEASE_NOTES/CHANGELOG.en.md)**
# Add English content
cat "$RELEASE_DIR/en.md" >> release_body.md
# Add separator
cat >> release_body.md << 'EOF'
---
### 🇹🇼 繁體中文 ### 🇹🇼 繁體中文
EOF 📖 **[查看完整繁體中文發布說明](https://github.com/Minidoracat/mcp-feedback-enhanced/blob/main/RELEASE_NOTES/CHANGELOG.zh-TW.md)**
# Add Traditional Chinese content
cat "$RELEASE_DIR/zh-TW.md" >> release_body.md
# Add separator
cat >> release_body.md << 'EOF'
---
### 🇨🇳 简体中文 ### 🇨🇳 简体中文
EOF 📖 **[查看完整简体中文发布说明](https://github.com/Minidoracat/mcp-feedback-enhanced/blob/main/RELEASE_NOTES/CHANGELOG.zh-CN.md)**
# Add Simplified Chinese content
cat "$RELEASE_DIR/zh-CN.md" >> release_body.md
# Add installation section
cat >> release_body.md << 'EOF'
--- ---
## 📦 Installation & Update ## 📦 Quick Installation / 快速安裝
```bash ```bash
# Quick test latest version # Latest version / 最新版本
uvx mcp-feedback-enhanced@latest test uvx mcp-feedback-enhanced@latest
# Update to this specific version # This specific version / 此特定版本
EOF EOF
echo "uvx mcp-feedback-enhanced@$NEW_VERSION test" >> release_body.md echo "uvx mcp-feedback-enhanced@${NEW_VERSION}" >> release_body.md
cat >> release_body.md << 'EOF' cat >> release_body.md << 'EOF'
``` ```
## 🔗 Links ## 🔗 Links
- **Documentation**: [README.md](https://github.com/Minidoracat/mcp-feedback-enhanced/blob/main/README.md) - **Documentation**: [README.md](https://github.com/Minidoracat/mcp-feedback-enhanced/blob/main/README.md)
- **Full Changelog**: [CHANGELOG](https://github.com/Minidoracat/mcp-feedback-enhanced/blob/main/RELEASE_NOTES/) - **Full Changelog**: [CHANGELOG](https://github.com/Minidoracat/mcp-feedback-enhanced/blob/main/RELEASE_NOTES/)
- **Issues**: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues) - **Issues**: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues)
--- ---
**Release automatically generated from RELEASE_NOTES system** 🤖 **Release automatically generated from CHANGELOG system** 🤖
EOF EOF
echo "Release body generated successfully" echo "Release body generated successfully"
- name: Sync CHANGELOG Files - name: Verify CHANGELOG Files
run: | run: |
NEW_VERSION="v${{ steps.bump_version.outputs.new }}" NEW_VERSION="v${{ steps.bump_version.outputs.new }}"
RELEASE_DIR="${{ steps.check_notes.outputs.release_dir }}"
# Check if CHANGELOG files exist and contain the new version
# Function to add version to changelog echo "🔍 Verifying CHANGELOG files contain version ${NEW_VERSION}..."
add_to_changelog() {
local lang_file="$1" MISSING_FILES=""
local changelog_file="$2"
local temp_file="changelog_temp.md"
# Get the header and separator
head -n 5 "$changelog_file" > "$temp_file"
# Add the new version content
cat "$lang_file" >> "$temp_file"
# Add separator
echo "" >> "$temp_file"
echo "---" >> "$temp_file"
echo "" >> "$temp_file"
# Add the rest of the changelog (skip header)
tail -n +7 "$changelog_file" >> "$temp_file"
# Replace the original file
mv "$temp_file" "$changelog_file"
echo "✅ Updated $changelog_file"
}
# Check if CHANGELOG files exist
if [ -f "RELEASE_NOTES/CHANGELOG.en.md" ]; then if [ -f "RELEASE_NOTES/CHANGELOG.en.md" ]; then
add_to_changelog "$RELEASE_DIR/en.md" "RELEASE_NOTES/CHANGELOG.en.md" if ! grep -q "\[${NEW_VERSION}\]" "RELEASE_NOTES/CHANGELOG.en.md"; then
echo "⚠️ Warning: ${NEW_VERSION} not found in CHANGELOG.en.md"
MISSING_FILES="${MISSING_FILES} en"
else
echo "✅ Found ${NEW_VERSION} in CHANGELOG.en.md"
fi
else else
echo "⚠️ CHANGELOG.en.md not found, skipping" echo "❌ CHANGELOG.en.md not found"
MISSING_FILES="${MISSING_FILES} en"
fi fi
if [ -f "RELEASE_NOTES/CHANGELOG.zh-TW.md" ]; then if [ -f "RELEASE_NOTES/CHANGELOG.zh-TW.md" ]; then
add_to_changelog "$RELEASE_DIR/zh-TW.md" "RELEASE_NOTES/CHANGELOG.zh-TW.md" if ! grep -q "\[${NEW_VERSION}\]" "RELEASE_NOTES/CHANGELOG.zh-TW.md"; then
echo "⚠️ Warning: ${NEW_VERSION} not found in CHANGELOG.zh-TW.md"
MISSING_FILES="${MISSING_FILES} zh-TW"
else
echo "✅ Found ${NEW_VERSION} in CHANGELOG.zh-TW.md"
fi
else else
echo "⚠️ CHANGELOG.zh-TW.md not found, skipping" echo "❌ CHANGELOG.zh-TW.md not found"
MISSING_FILES="${MISSING_FILES} zh-TW"
fi fi
if [ -f "RELEASE_NOTES/CHANGELOG.zh-CN.md" ]; then if [ -f "RELEASE_NOTES/CHANGELOG.zh-CN.md" ]; then
add_to_changelog "$RELEASE_DIR/zh-CN.md" "RELEASE_NOTES/CHANGELOG.zh-CN.md" if ! grep -q "\[${NEW_VERSION}\]" "RELEASE_NOTES/CHANGELOG.zh-CN.md"; then
echo "⚠️ Warning: ${NEW_VERSION} not found in CHANGELOG.zh-CN.md"
MISSING_FILES="${MISSING_FILES} zh-CN"
else
echo "✅ Found ${NEW_VERSION} in CHANGELOG.zh-CN.md"
fi
else else
echo "⚠️ CHANGELOG.zh-CN.md not found, skipping" echo "❌ CHANGELOG.zh-CN.md not found"
MISSING_FILES="${MISSING_FILES} zh-CN"
fi
if [ -n "$MISSING_FILES" ]; then
echo ""
echo "📝 Note: Please ensure CHANGELOG files are updated with version ${NEW_VERSION}"
echo "Missing or incomplete files:${MISSING_FILES}"
echo "The release will continue, but manual CHANGELOG updates may be needed."
else
echo "✅ All CHANGELOG files verified successfully"
fi fi
echo "📝 CHANGELOG files synchronized"
- name: Commit version bump and changelog updates - name: Commit version bump
run: | run: |
git add . git add .
git commit -m "🔖 Release v${{ steps.bump_version.outputs.new }} git commit -m "🔖 Release v${{ steps.bump_version.outputs.new }}
- Updated version to ${{ steps.bump_version.outputs.new }} - Updated version to ${{ steps.bump_version.outputs.new }}
- Synchronized CHANGELOG files with release notes - Auto-generated release from simplified workflow"
- Auto-generated from RELEASE_NOTES system"
git tag "v${{ steps.bump_version.outputs.new }}" git tag "v${{ steps.bump_version.outputs.new }}"
- name: Build package - name: Build package
@ -268,9 +257,11 @@ jobs:
echo "" echo ""
echo "📦 Published to PyPI: https://pypi.org/project/mcp-feedback-enhanced/" echo "📦 Published to PyPI: https://pypi.org/project/mcp-feedback-enhanced/"
echo "🚀 GitHub Release: https://github.com/Minidoracat/mcp-feedback-enhanced/releases/tag/v${{ steps.bump_version.outputs.new }}" echo "🚀 GitHub Release: https://github.com/Minidoracat/mcp-feedback-enhanced/releases/tag/v${{ steps.bump_version.outputs.new }}"
echo "📝 CHANGELOG files have been automatically updated" echo "📝 Release notes generated from CHANGELOG files"
echo "" echo ""
echo "✅ Next steps:" echo "✅ Next steps:"
echo " - Check the release on GitHub" echo " - Check the release on GitHub"
echo " - Verify the package on PyPI" echo " - Verify the package on PyPI"
echo " - Test installation with: uvx mcp-feedback-enhanced@v${{ steps.bump_version.outputs.new }} test" echo " - Test installation with: uvx mcp-feedback-enhanced@v${{ steps.bump_version.outputs.new }}"
echo ""
echo "📋 Note: Make sure CHANGELOG files are updated for future releases"

View File

@ -0,0 +1,147 @@
# 簡化發布流程 / Simplified Release Workflow
## 🎯 概述 / Overview
此專案已採用簡化的發布流程,不再需要建立版本化目錄(如 `v2.3.0/`),而是直接更新 CHANGELOG 文件。
This project now uses a simplified release workflow that no longer requires creating versioned directories (like `v2.3.0/`), but instead directly updates CHANGELOG files.
## 📋 新的發布流程 / New Release Process
### 1. 更新 CHANGELOG 文件 / Update CHANGELOG Files
在發布前,請手動更新以下三個文件:
Before releasing, manually update these three files:
- `RELEASE_NOTES/CHANGELOG.en.md`
- `RELEASE_NOTES/CHANGELOG.zh-TW.md`
- `RELEASE_NOTES/CHANGELOG.zh-CN.md`
### 2. CHANGELOG 格式要求 / CHANGELOG Format Requirements
每個新版本應該按照以下格式添加到 CHANGELOG 文件的頂部:
Each new version should be added to the top of CHANGELOG files in this format:
```markdown
## [v2.3.0] - 版本標題 / Version Title
### 🌟 亮點 / Highlights
本次發佈的主要特色...
### ✨ 新功能 / New Features
- 🆕 **功能名稱**: 功能描述
### 🐛 錯誤修復 / Bug Fixes
- 🔧 **問題修復**: 修復描述
### 🚀 改進功能 / Improvements
- ⚡ **效能優化**: 優化描述
---
```
### 3. 執行發布 / Execute Release
1. 確保所有 CHANGELOG 文件都已更新
Ensure all CHANGELOG files are updated
2. 前往 GitHub Actions 頁面
Go to GitHub Actions page
3. 執行 "Auto Release to PyPI" workflow
Run "Auto Release to PyPI" workflow
4. 選擇版本類型patch/minor/major
Select version type (patch/minor/major)
### 📊 版本類型說明 / Version Type Explanation
選擇適當的版本類型非常重要,請根據變更內容選擇:
Choosing the appropriate version type is important, select based on the changes:
#### 🔧 Patch (修補版本)
- **用途 / Usage**: 錯誤修復、小幅改進、安全修補
- **範例 / Example**: `2.3.0 → 2.3.1`
- **適用情況 / When to use**:
- 🐛 修復 bug / Bug fixes
- 🔒 安全性修補 / Security patches
- 📝 文檔更新 / Documentation updates
- 🎨 小幅 UI 調整 / Minor UI tweaks
#### ✨ Minor (次要版本)
- **用途 / Usage**: 新功能、功能增強、向後相容的變更
- **範例 / Example**: `2.3.0 → 2.4.0`
- **適用情況 / When to use**:
- 🆕 新增功能 / New features
- 🚀 功能增強 / Feature enhancements
- 🎯 效能改進 / Performance improvements
- 🌐 新的語言支援 / New language support
#### 🚨 Major (主要版本)
- **用途 / Usage**: 重大變更、不向後相容的修改、架構重構
- **範例 / Example**: `2.3.0 → 3.0.0`
- **適用情況 / When to use**:
- 💥 破壞性變更 / Breaking changes
- 🏗️ 架構重構 / Architecture refactoring
- 🔄 API 變更 / API changes
- 📦 依賴項重大更新 / Major dependency updates
#### 🤔 如何選擇 / How to Choose
**問自己這些問題 / Ask yourself these questions**:
1. **會破壞現有功能嗎?** / **Will it break existing functionality?**
- 是 / Yes → Major
- 否 / No → 繼續下一個問題 / Continue to next question
2. **是否新增了功能?** / **Does it add new functionality?**
- 是 / Yes → Minor
- 否 / No → 繼續下一個問題 / Continue to next question
3. **只是修復或小幅改進?** / **Just fixes or minor improvements?**
- 是 / Yes → Patch
## 🔄 自動化流程 / Automated Process
GitHub workflow 將自動:
The GitHub workflow will automatically:
1. ✅ 版本號碼升級 / Version bump
2. ✅ 從 CHANGELOG 提取亮點 / Extract highlights from CHANGELOG
3. ✅ 生成多語系 GitHub Release / Generate multi-language GitHub Release
4. ✅ 發布到 PyPI / Publish to PyPI
5. ✅ 建立 Git 標籤 / Create Git tags
## 📦 GitHub Release 格式 / GitHub Release Format
自動生成的 Release 將包含:
Auto-generated releases will include:
- 🌟 版本亮點 / Version highlights
- 🌐 多語系 CHANGELOG 連結 / Multi-language CHANGELOG links
- 📦 安裝指令 / Installation commands
- 🔗 相關連結 / Related links
## ⚠️ 注意事項 / Important Notes
1. **不再需要版本目錄**:舊的 `RELEASE_NOTES/v2.x.x/` 目錄結構已棄用
**No more version directories**: Old `RELEASE_NOTES/v2.x.x/` directory structure is deprecated
2. **手動更新 CHANGELOG**:發布前必須手動更新 CHANGELOG 文件
**Manual CHANGELOG updates**: CHANGELOG files must be manually updated before release
3. **格式一致性**:請保持 CHANGELOG 格式的一致性以確保自動提取正常運作
**Format consistency**: Maintain CHANGELOG format consistency for proper auto-extraction
## 🗂️ 舊版本目錄清理 / Old Version Directory Cleanup
現有的版本目錄(`v2.2.1``v2.2.5`)可以選擇性保留作為歷史記錄,或者清理以簡化專案結構。
Existing version directories (`v2.2.1` to `v2.2.5`) can optionally be kept for historical records or cleaned up to simplify project structure.
## 🚀 優點 / Benefits
- ✅ 減少維護負擔 / Reduced maintenance burden
- ✅ 單一真實來源 / Single source of truth
- ✅ 簡化的專案結構 / Simplified project structure
- ✅ 自動化的 Release 生成 / Automated release generation

View File

@ -1,28 +0,0 @@
# Release v2.2.1 - Window Optimization & Unified Settings Interface
## 🌟 Highlights
This release primarily addresses GUI window size constraints, implements smart window state saving mechanisms, and optimizes the unified settings interface.
## 🚀 Improvements
- 🖥️ **Window Size Constraint Removal**: Removed GUI main window minimum size limit from 1000×800 to 400×300, allowing users to freely adjust window size for different use cases
- 💾 **Real-time Window State Saving**: Implemented real-time saving mechanism for window size and position changes, with debounce delay to avoid excessive I/O operations
- ⚙️ **Unified Settings Interface Optimization**: Improved GUI settings page configuration saving logic to avoid setting conflicts, ensuring correct window positioning and size settings
- 🎯 **Smart Window Size Saving**: In "Always center display" mode, correctly saves window size (but not position); in "Smart positioning" mode, saves complete window state
## 🐛 Bug Fixes
- 🔧 **Window Size Constraint**: Fixed GUI window unable to resize to small dimensions issue (fixes #10 part one)
- 🛡️ **Setting Conflicts**: Fixed potential configuration conflicts during settings save operations
## 📦 Installation & Update
```bash
# Quick test latest version
uvx mcp-feedback-enhanced@latest test --gui
# Update to specific version
uvx mcp-feedback-enhanced@v2.2.1 test
```
## 🔗 Related Links
- Full Documentation: [README.md](../../README.md)
- Issue Reporting: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues)
- Issues Addressed: #10 (partially completed)

View File

@ -1,28 +0,0 @@
# Release v2.2.1 - 窗口优化与统一设置接口
## 🌟 亮点
本版本主要解决了 GUI 窗口大小限制问题,实现了窗口状态的智能保存机制,并优化了设置接口的统一性。
## 🚀 改进功能
- 🖥️ **窗口大小限制解除**: 解除 GUI 主窗口最小大小限制,从 1000×800 降至 400×300让用户可以自由调整窗口大小以符合不同使用场景
- 💾 **窗口状态实时保存**: 实现窗口大小与位置的即时保存机制,支持防抖延迟避免过度频繁的 I/O 操作
- ⚙️ **统一设置接口优化**: 改进 GUI 设置版面的配置保存逻辑,避免设置冲突,确保窗口定位与大小设置的正确性
- 🎯 **智能窗口大小保存**: 「总是在主屏幕中心显示」模式下正确保存窗口大小(但不保存位置),「智能定位」模式下保存完整的窗口状态
## 🐛 问题修复
- 🔧 **窗口大小限制**: 解决 GUI 窗口无法调整至小尺寸的问题 (fixes #10 第一部分)
- 🛡️ **设置冲突**: 修复设置保存时可能出现的配置冲突问题
## 📦 安装与更新
```bash
# 快速测试最新版本
uvx mcp-feedback-enhanced@latest test --gui
# 更新到特定版本
uvx mcp-feedback-enhanced@v2.2.1 test
```
## 🔗 相关链接
- 完整文档: [README.zh-CN.md](../../README.zh-CN.md)
- 问题报告: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues)
- 解决问题: #10 (部分完成)

View File

@ -1,28 +0,0 @@
# Release v2.2.1 - 視窗優化與統一設定接口
## 🌟 亮點
本版本主要解決了 GUI 視窗大小限制問題,實現了視窗狀態的智能保存機制,並優化了設定接口的統一性。
## 🚀 改進功能
- 🖥️ **視窗大小限制解除**: 解除 GUI 主視窗最小大小限制,從 1000×800 降至 400×300讓用戶可以自由調整視窗大小以符合不同使用場景
- 💾 **視窗狀態實時保存**: 實現視窗大小與位置的即時保存機制,支援防抖延遲避免過度頻繁的 I/O 操作
- ⚙️ **統一設定接口優化**: 改進 GUI 設定版面的配置保存邏輯,避免設定衝突,確保視窗定位與大小設定的正確性
- 🎯 **智能視窗大小保存**: 「總是在主螢幕中心顯示」模式下正確保存視窗大小(但不保存位置),「智能定位」模式下保存完整的視窗狀態
## 🐛 問題修復
- 🔧 **視窗大小限制**: 解決 GUI 視窗無法調整至小尺寸的問題 (fixes #10 第一部分)
- 🛡️ **設定衝突**: 修復設定保存時可能出現的配置衝突問題
## 📦 安裝與更新
```bash
# 快速測試最新版本
uvx mcp-feedback-enhanced@latest test --gui
# 更新到特定版本
uvx mcp-feedback-enhanced@v2.2.1 test
```
## 🔗 相關連結
- 完整文檔: [README.zh-TW.md](../../README.zh-TW.md)
- 問題回報: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues)
- 解決問題: #10 (部分完成)

View File

@ -1,30 +0,0 @@
# Release v2.2.2 - Timeout Auto-cleanup Fix
## 🌟 Highlights
This version fixes a critical resource management issue where GUI/Web UI interfaces were not properly closed when MCP sessions ended due to timeout, causing the interfaces to remain open and unresponsive.
## 🐛 Bug Fixes
- 🔄 **Timeout Auto-cleanup**: Fixed GUI/Web UI not automatically closing after MCP session timeout (default 600 seconds)
- 🛡️ **Resource Management Optimization**: Improved timeout handling mechanism to ensure proper cleanup and closure of all UI resources on timeout
- ⚡ **Enhanced Timeout Detection**: Strengthened timeout detection logic to correctly handle timeout events in various scenarios
- 🔧 **Interface Response Improvement**: Enhanced Web UI frontend handling of session timeout events
## 🚀 Technical Improvements
- 📦 **Web Session Management**: Refactored WebFeedbackSession timeout handling logic
- 🎯 **QTimer Integration**: Introduced precise QTimer timeout control mechanism in GUI
- 🌐 **Frontend Communication Optimization**: Improved timeout message communication between Web UI frontend and backend
- 🧹 **Resource Cleanup Mechanism**: Added _cleanup_resources_on_timeout method to ensure thorough cleanup
## 📦 Installation & Update
```bash
# Quick test latest version
uvx mcp-feedback-enhanced@latest test --gui
# Update to specific version
uvx mcp-feedback-enhanced@v2.2.2 test
```
## 🔗 Related Links
- Full Documentation: [README.md](../../README.md)
- Issue Reporting: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues)
- Fixed Issue: #5 (GUI/Web UI timeout cleanup)

View File

@ -1,30 +0,0 @@
# Release v2.2.2 - 超时自动清理修复
## 🌟 亮点
本版本修复了一个重要的资源管理问题:当 MCP session 因超时结束时GUI/Web UI 界面没有正确关闭,导致界面持续显示而无法正常关闭。
## 🐛 问题修复
- 🔄 **超时自动清理**: 修复 GUI/Web UI 在 MCP session timeout (默认 600 秒) 后没有自动关闭的问题
- 🛡️ **资源管理优化**: 改进超时处理机制,确保在超时时正确清理和关闭所有 UI 资源
- ⚡ **超时检测增强**: 加强超时检测逻辑,确保在各种情况下都能正确处理超时事件
- 🔧 **界面响应改进**: 改善 Web UI 前端对 session timeout 事件的处理响应
## 🚀 技术改进
- 📦 **Web Session 管理**: 重构 WebFeedbackSession 的超时处理逻辑
- 🎯 **QTimer 整合**: 在 GUI 中引入精确的 QTimer 超时控制机制
- 🌐 **前端通信优化**: 改进 Web UI 前端与后端的超时消息传递
- 🧹 **资源清理机制**: 新增 _cleanup_resources_on_timeout 方法确保彻底清理
## 📦 安装与更新
```bash
# 快速测试最新版本
uvx mcp-feedback-enhanced@latest test --gui
# 更新到特定版本
uvx mcp-feedback-enhanced@v2.2.2 test
```
## 🔗 相关链接
- 完整文档: [README.zh-CN.md](../../README.zh-CN.md)
- 问题报告: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues)
- 解决问题: #5 (GUI/Web UI timeout cleanup)

View File

@ -1,30 +0,0 @@
# Release v2.2.2 - 超時自動清理修復
## 🌟 亮點
本版本修復了一個重要的資源管理問題:當 MCP session 因超時結束時GUI/Web UI 介面沒有正確關閉,導致介面持續顯示而無法正常關閉。
## 🐛 問題修復
- 🔄 **超時自動清理**: 修復 GUI/Web UI 在 MCP session timeout (預設 600 秒) 後沒有自動關閉的問題
- 🛡️ **資源管理優化**: 改進超時處理機制,確保在超時時正確清理和關閉所有 UI 資源
- ⚡ **超時檢測增強**: 加強超時檢測邏輯,確保在各種情況下都能正確處理超時事件
- 🔧 **介面回應改進**: 改善 Web UI 前端對 session timeout 事件的處理回應
## 🚀 技術改進
- 📦 **Web Session 管理**: 重構 WebFeedbackSession 的超時處理邏輯
- 🎯 **QTimer 整合**: 在 GUI 中引入精確的 QTimer 超時控制機制
- 🌐 **前端通訊優化**: 改進 Web UI 前端與後端的超時訊息傳遞
- 🧹 **資源清理機制**: 新增 _cleanup_resources_on_timeout 方法確保徹底清理
## 📦 安裝與更新
```bash
# 快速測試最新版本
uvx mcp-feedback-enhanced@latest test --gui
# 更新到特定版本
uvx mcp-feedback-enhanced@v2.2.2 test
```
## 🔗 相關連結
- 完整文檔: [README.zh-TW.md](../../README.zh-TW.md)
- 問題回報: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues)
- 解決問題: #5 (GUI/Web UI timeout cleanup)

View File

@ -1,42 +0,0 @@
# Release v2.2.3 - Timeout Control & Image Settings Enhancement
## 🌟 Highlights
This version introduces user-controllable timeout settings and flexible image upload configuration options, while improving UV Cache management tools to enhance the overall user experience.
## ✨ New Features
- ⏰ **User Timeout Control**: Added customizable timeout settings with flexible range from 30 seconds to 2 hours
- ⏱️ **Countdown Timer**: Real-time countdown timer display at the top of the interface for visual time reminders
- 🖼️ **Image Size Limits**: Added image upload size limit settings (unlimited/1MB/3MB/5MB)
- 🔧 **Base64 Compatibility Mode**: Added Base64 detail mode to improve image recognition compatibility with AI models
- 🧹 **UV Cache Management Tool**: Added `cleanup_cache.py` script to help manage and clean UV cache space
## 🚀 Improvements
- 📚 **Documentation Structure Optimization**: Reorganized documentation directory structure, moved images to `docs/{language}/images/` paths
- 📖 **Cache Management Guide**: Added detailed UV Cache management guide with automated cleanup solutions
- 🎯 **Smart Compatibility Hints**: Automatically display Base64 compatibility mode suggestions when image upload fails
- 🔄 **Settings Sync Mechanism**: Improved image settings synchronization between different interface modes
## 🐛 Bug Fixes
- 🛡️ **Timeout Handling Optimization**: Improved coordination between user-defined timeout and MCP system timeout
- 🖥️ **Interface Auto-close**: Fixed interface auto-close and resource cleanup logic after timeout
- 📱 **Responsive Layout**: Optimized timeout control component display on small screen devices
## 🔧 Technical Improvements
- 🎛️ **Timeout Control Architecture**: Implemented separated design for frontend countdown timer and backend timeout handling
- 📊 **Image Processing Optimization**: Improved image upload size checking and format validation mechanisms
- 🗂️ **Settings Persistence**: Enhanced settings saving mechanism to ensure correct saving and loading of user preferences
- 🧰 **Tool Script Enhancement**: Added cross-platform cache cleanup tool with support for force cleanup and preview modes
## 📦 Installation & Update
```bash
# Quick test latest version
uvx mcp-feedback-enhanced@latest test --gui
# Update to specific version
uvx mcp-feedback-enhanced@v2.2.3 test
```
## 🔗 Related Links
- Full Documentation: [README.md](../../README.md)
- Issue Reporting: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues)
- Related PRs: #22 (Timeout Control Feature), #19 (Image Settings Feature)

View File

@ -1,42 +0,0 @@
# Release v2.2.3 - 超时控制与图片设置增强
## 🌟 亮点
本版本新增了用户可控制的超时设置功能,以及灵活的图片上传设置选项,同时完善了 UV Cache 管理工具,提升整体使用体验。
## ✨ 新功能
- ⏰ **用户超时控制**: 新增可自定义的超时设置功能,支持 30 秒至 2 小时的弹性设置
- ⏱️ **倒数计时器**: 界面顶部显示实时倒数计时器,提供可视化的时间提醒
- 🖼️ **图片大小限制**: 新增图片上传大小限制设置(无限制/1MB/3MB/5MB
- 🔧 **Base64 兼容模式**: 新增 Base64 详细模式,提升部分 AI 模型的图片识别兼容性
- 🧹 **UV Cache 管理工具**: 新增 `cleanup_cache.py` 脚本,协助管理和清理 UV cache 空间
## 🚀 改进功能
- 📚 **文档结构优化**: 重新整理文档目录结构,将图片移至 `docs/{语言}/images/` 路径
- 📖 **Cache 管理指南**: 新增详细的 UV Cache 管理指南,包含自动化清理方案
- 🎯 **智能兼容性提示**: 当图片上传失败时自动显示 Base64 兼容模式建议
- 🔄 **设置同步机制**: 改进图片设置在不同界面模式间的同步机制
## 🐛 问题修复
- 🛡️ **超时处理优化**: 改进用户自定义超时与 MCP 系统超时的协调机制
- 🖥️ **界面自动关闭**: 修复超时后界面自动关闭和资源清理逻辑
- 📱 **响应式布局**: 优化超时控制组件在小屏幕设备上的显示效果
## 🔧 技术改进
- 🎛️ **超时控制架构**: 实现前端倒数计时器与后端超时处理的分离设计
- 📊 **图片处理优化**: 改进图片上传的大小检查和格式验证机制
- 🗂️ **设置持久化**: 增强设置保存机制,确保用户偏好的正确保存和载入
- 🧰 **工具脚本增强**: 新增跨平台的 cache 清理工具,支持强制清理和预览模式
## 📦 安装与更新
```bash
# 快速测试最新版本
uvx mcp-feedback-enhanced@latest test --gui
# 更新到特定版本
uvx mcp-feedback-enhanced@v2.2.3 test
```
## 🔗 相关链接
- 完整文档: [README.zh-CN.md](../../README.zh-CN.md)
- 问题报告: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues)
- 相关 PR: #22 (超时控制功能), #19 (图片设置功能)

View File

@ -1,42 +0,0 @@
# Release v2.2.3 - 超時控制與圖片設定增強
## 🌟 亮點
本版本新增了用戶可控制的超時設定功能,以及靈活的圖片上傳設定選項,同時完善了 UV Cache 管理工具,提升整體使用體驗。
## ✨ 新功能
- ⏰ **用戶超時控制**: 新增可自訂的超時設定功能,支援 30 秒至 2 小時的彈性設定
- ⏱️ **倒數計時器**: 介面頂部顯示即時倒數計時器,提供視覺化的時間提醒
- 🖼️ **圖片大小限制**: 新增圖片上傳大小限制設定(無限制/1MB/3MB/5MB
- 🔧 **Base64 相容模式**: 新增 Base64 詳細模式,提升部分 AI 模型的圖片識別相容性
- 🧹 **UV Cache 管理工具**: 新增 `cleanup_cache.py` 腳本,協助管理和清理 UV cache 空間
## 🚀 改進功能
- 📚 **文檔結構優化**: 重新整理文檔目錄結構,將圖片移至 `docs/{語言}/images/` 路徑
- 📖 **Cache 管理指南**: 新增詳細的 UV Cache 管理指南,包含自動化清理方案
- 🎯 **智能相容性提示**: 當圖片上傳失敗時自動顯示 Base64 相容模式建議
- 🔄 **設定同步機制**: 改進圖片設定在不同介面模式間的同步機制
## 🐛 問題修復
- 🛡️ **超時處理優化**: 改進用戶自訂超時與 MCP 系統超時的協調機制
- 🖥️ **介面自動關閉**: 修復超時後介面自動關閉和資源清理邏輯
- 📱 **響應式佈局**: 優化超時控制元件在小螢幕設備上的顯示效果
## 🔧 技術改進
- 🎛️ **超時控制架構**: 實現前端倒數計時器與後端超時處理的分離設計
- 📊 **圖片處理優化**: 改進圖片上傳的大小檢查和格式驗證機制
- 🗂️ **設定持久化**: 增強設定保存機制,確保用戶偏好的正確保存和載入
- 🧰 **工具腳本增強**: 新增跨平台的 cache 清理工具,支援強制清理和預覽模式
## 📦 安裝與更新
```bash
# 快速測試最新版本
uvx mcp-feedback-enhanced@latest test --gui
# 更新到特定版本
uvx mcp-feedback-enhanced@v2.2.3 test
```
## 🔗 相關連結
- 完整文檔: [README.zh-TW.md](../../README.zh-TW.md)
- 問題回報: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues)
- 相關 PR: #22 (超時控制功能), #19 (圖片設定功能)

View File

@ -1,23 +0,0 @@
# Release v2.2.4 - GUI Experience Optimization & Bug Fixes
## 🌟 Highlights
This version focuses on GUI user experience optimization, fixing image copy-paste duplication issues, reorganizing localization file structure, and improving interface text readability.
## 🐛 Bug Fixes
- 🖼️ **Image Duplicate Paste Fix**: Fixed the issue where Ctrl+V image pasting in GUI would create duplicate images
- 🌐 **Localization Switch Fix**: Fixed image settings area text not translating correctly when switching languages
- 📝 **Font Readability Improvement**: Adjusted font sizes in image settings area for better readability
## 📦 Installation & Update
```bash
# Quick test latest version
uvx mcp-feedback-enhanced@latest test --gui
# Update to specific version
uvx mcp-feedback-enhanced@v2.2.4 test
```
## 🔗 Related Links
- Full Documentation: [README.md](../../README.md)
- Issue Reports: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues)
- Project Homepage: [GitHub Repository](https://github.com/Minidoracat/mcp-feedback-enhanced)

View File

@ -1,23 +0,0 @@
# Release v2.2.4 - GUI 体验优化与问题修复
## 🌟 亮点
本版本专注于 GUI 使用体验的优化,修复了图片复制粘贴的重复问题,重新组织了语系文件结构,并改善了界面文字的可读性。
## 🐛 问题修复
- 🖼️ **图片重复粘贴修复**: 解决 GUI 界面中使用 Ctrl+V 复制粘贴图片时出现重复粘贴的问题
- 🌐 **语系切换修复**: 修复图片设定区域在语言切换时文字没有正确翻译的问题
- 📝 **字体可读性改善**: 调整图片设定区域的字体大小,提升文字可读性
## 📦 安装与更新
```bash
# 快速测试最新版本
uvx mcp-feedback-enhanced@latest test --gui
# 更新到特定版本
uvx mcp-feedback-enhanced@v2.2.4 test
```
## 🔗 相关链接
- 完整文档: [README.zh-CN.md](../../README.zh-CN.md)
- 问题报告: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues)
- 项目首页: [GitHub Repository](https://github.com/Minidoracat/mcp-feedback-enhanced)

View File

@ -1,23 +0,0 @@
# Release v2.2.4 - GUI 體驗優化與問題修復
## 🌟 亮點
本版本專注於 GUI 使用體驗的優化,修復了圖片複製貼上的重複問題,重新組織了語系檔案結構,並改善了介面文字的可讀性。
## 🐛 問題修復
- 🖼️ **圖片重複貼上修復**: 解決 GUI 介面中使用 Ctrl+V 複製貼上圖片時出現重複貼上的問題
- 🌐 **語系切換修復**: 修復圖片設定區域在語言切換時文字沒有正確翻譯的問題
- 📝 **字體可讀性改善**: 調整圖片設定區域的字體大小,提升文字可讀性
## 📦 安裝與更新
```bash
# 快速測試最新版本
uvx mcp-feedback-enhanced@latest test --gui
# 更新到特定版本
uvx mcp-feedback-enhanced@v2.2.4 test
```
## 🔗 相關連結
- 完整文檔: [README.zh-TW.md](../../README.zh-TW.md)
- 問題回報: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues)
- 專案首頁: [GitHub Repository](https://github.com/Minidoracat/mcp-feedback-enhanced)

View File

@ -1,28 +0,0 @@
# Release v2.2.5 - WSL Environment Support & Cross-Platform Enhancement
## 🌟 Highlights
This version introduces comprehensive support for WSL (Windows Subsystem for Linux) environments, enabling WSL users to seamlessly use this tool with automatic Windows browser launching, significantly improving cross-platform development experience.
## ✨ New Features
- 🐧 **WSL Environment Detection**: Automatically identifies WSL environments and provides specialized support logic
- 🌐 **Smart Browser Launching**: Automatically invokes Windows browser in WSL environments with multiple launch methods
- 🔧 **Cross-Platform Testing Enhancement**: Test functionality integrates WSL detection for improved test coverage
## 🚀 Improvements
- 🎯 **Environment Detection Optimization**: Improved remote environment detection logic, WSL no longer misidentified as remote environment
- 📊 **System Information Enhancement**: System information tool now displays WSL environment status
- 🧪 **Testing Experience Improvement**: Test mode automatically attempts browser launching for better testing experience
## 📦 Installation & Update
```bash
# Quick test latest version
uvx mcp-feedback-enhanced@latest test --gui
# Update to specific version
uvx mcp-feedback-enhanced@v2.2.5 test
```
## 🔗 Related Links
- Full Documentation: [README.md](../../README.md)
- Issue Reports: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues)
- Project Homepage: [GitHub Repository](https://github.com/Minidoracat/mcp-feedback-enhanced)

View File

@ -1,28 +0,0 @@
# Release v2.2.5 - WSL 环境支持与跨平台增强
## 🌟 亮点
本版本新增了 WSL (Windows Subsystem for Linux) 环境的完整支持,让 WSL 用户能够无缝使用本工具并自动启动 Windows 浏览器,大幅提升跨平台开发体验。
## ✨ 新功能
- 🐧 **WSL 环境检测**: 自动识别 WSL 环境,提供专门的支持逻辑
- 🌐 **智能浏览器启动**: WSL 环境下自动调用 Windows 浏览器,支持多种启动方式
- 🔧 **跨平台测试增强**: 测试功能整合 WSL 检测,提升测试覆盖率
## 🚀 改进功能
- 🎯 **环境检测优化**: 改进远程环境检测逻辑WSL 不再被误判为远程环境
- 📊 **系统信息增强**: 系统信息工具新增 WSL 环境状态显示
- 🧪 **测试体验提升**: 测试模式下自动尝试启动浏览器,提供更好的测试体验
## 📦 安装与更新
```bash
# 快速测试最新版本
uvx mcp-feedback-enhanced@latest test --gui
# 更新到特定版本
uvx mcp-feedback-enhanced@v2.2.5 test
```
## 🔗 相关链接
- 完整文档: [README.zh-CN.md](../../README.zh-CN.md)
- 问题报告: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues)
- 项目首页: [GitHub Repository](https://github.com/Minidoracat/mcp-feedback-enhanced)

View File

@ -1,28 +0,0 @@
# Release v2.2.5 - WSL 環境支援與跨平台增強
## 🌟 亮點
本版本新增了 WSL (Windows Subsystem for Linux) 環境的完整支援,讓 WSL 用戶能夠無縫使用本工具並自動啟動 Windows 瀏覽器,大幅提升跨平台開發體驗。
## ✨ 新功能
- 🐧 **WSL 環境檢測**: 自動識別 WSL 環境,提供專門的支援邏輯
- 🌐 **智能瀏覽器啟動**: WSL 環境下自動調用 Windows 瀏覽器,支援多種啟動方式
- 🔧 **跨平台測試增強**: 測試功能整合 WSL 檢測,提升測試覆蓋率
## 🚀 改進功能
- 🎯 **環境檢測優化**: 改進遠端環境檢測邏輯WSL 不再被誤判為遠端環境
- 📊 **系統資訊增強**: 系統資訊工具新增 WSL 環境狀態顯示
- 🧪 **測試體驗提升**: 測試模式下自動嘗試啟動瀏覽器,提供更好的測試體驗
## 📦 安裝與更新
```bash
# 快速測試最新版本
uvx mcp-feedback-enhanced@latest test --gui
# 更新到特定版本
uvx mcp-feedback-enhanced@v2.2.5 test
```
## 🔗 相關連結
- 完整文檔: [README.zh-TW.md](../../README.zh-TW.md)
- 問題回報: [GitHub Issues](https://github.com/Minidoracat/mcp-feedback-enhanced/issues)
- 專案首頁: [GitHub Repository](https://github.com/Minidoracat/mcp-feedback-enhanced)