Release v2.0.0
PolyHermes v2.0.0 Release Notes
🎉 重大更新
PolyHermes v2.0.0 是一个重要版本更新,带来了系统动态更新功能、优化的用户体验和多项技术改进。
✨ 新功能
🔄 系统动态更新(核心功能)
无需重启 Docker 容器即可更新系统,大幅提升部署和维护效率。
- ✅ 在线更新:在 Web UI 中一键检查并应用更新,无需手动操作
- ✅ 零停机更新:更新过程约 30-60 秒,系统自动处理,无需重启容器
- ✅ 自动回滚:更新失败时自动恢复到旧版本,确保系统稳定性
- ✅ 版本管理:清晰显示当前版本和可用更新,支持 Pre-release 版本检测
- ✅ 更新内容展示:支持 Markdown 格式的更新说明,美观易读
技术特性:
- 独立的 Python Flask 更新服务(端口 9090),与主应用隔离
- 单一更新包(tar.gz),包含前后端完整更新
- 自动备份和版本管理
- 管理员权限验证,确保安全性
📦 Release 管理工具
- 自动化发布脚本 (
create-release.sh):- 自动创建 Git 标签
- 发布 GitHub Release
- 支持 Pre-release 标记
- 自动拼接版本号后缀(Pre-release 自动添加
-beta) - 支持非交互模式,便于 CI/CD 集成
🎨 版本号显示优化
- Tag 格式显示:版本号使用 Git Tag 格式(如
v2.0.0-beta) - 智能颜色提示:
- 🟡 黄色 Tag:有新版本可用(点击可跳转到系统更新页面)
- 🟢 绿色 Tag:当前已是最新版本
- 镂空样式:更小巧美观的版本号标签
- 自动检查:系统自动检查更新,有新版本时在导航栏显示提示
🎨 UI/UX 优化
系统更新页面
- 美化界面:全新的渐变背景、卡片样式和图标设计
- Markdown 支持:更新内容支持完整的 Markdown 渲染(标题、列表、代码块、表格等)
- 进度显示:美观的进度条和状态提示
- 优化布局:系统更新模块移至系统设置页面最上方,更易访问
版本号显示
- 使用镂空 Tag 样式,字号 8px
- 与标题垂直居中对齐
- 响应式设计,完美支持移动端和桌面端
🔧 技术改进
构建系统
-
修复 Docker 构建问题:
- 修复
BUILD_IN_DOCKER=false时找不到前端产物的问题 - 优化
.dockerignore配置,确保外部构建产物可被使用 - 修复 GitHub Actions 构建流程
- 修复
-
版本号注入:
- 修复前端构建时版本号未正确传递的问题
- 支持在构建时注入 Git Tag 和版本信息
-
Gradle Wrapper:
- 修复 GitHub Actions 构建错误
- 正确配置 Gradle Wrapper JAR
代码质量
- 修复 TypeScript 编译错误
- 清理未使用的导入和组件
- 优化代码结构
📝 新增文档
docs/zh/DYNAMIC_UPDATE.md- 动态更新技术方案文档docs/zh/DOCKER_VERSION.md- Docker 版本管理说明docs/zh/DYNAMIC_UPDATE_CHECK.md- 动态更新检查机制文档scripts/README_RELEASE.md- Release 脚本使用说明scripts/CHANGELOG_TEMPLATE.md- 更新日志模板
🔄 升级指南
从 v1.1.16 升级到 v2.0.0
方式一:使用动态更新功能(推荐)
- 登录系统,进入 系统设置 → 系统更新
- 点击 检查更新
- 如果有新版本,点击 立即升级
- 等待更新完成(约 30-60 秒)
- 页面会自动刷新,更新完成
方式二:重新部署 Docker 容器
# 1. 停止当前容器
docker-compose -f docker-compose.prod.yml down
# 2. 拉取新版本镜像
docker pull wrbug/polyhermes:v2.0.0
# 3. 更新 docker-compose.prod.yml 中的镜像标签
# image: wrbug/polyhermes:v2.0.0
# 4. 重新启动
docker-compose -f docker-compose.prod.yml up -d注意事项
⚠️ 数据备份:虽然更新不会删除数据,但建议在更新前备份数据库⚠️ 权限要求:执行动态更新需要管理员权限- ✅ 向后兼容:v2.0.0 完全兼容 v1.1.16 的数据结构和配置
📊 变更统计
- 新增文件:17 个
- 修改文件:13 个
- 代码变更:+5251 行,-163 行
主要新增文件
docker/update-service.py- 更新服务(Python Flask)frontend/src/pages/SystemUpdate.tsx- 系统更新页面create-release.sh- Release 创建脚本docs/zh/DYNAMIC_UPDATE.md- 动态更新技术文档
🐛 修复的问题
- 修复 Docker 构建时找不到前端产物的问题
- 修复前端构建时版本号未正确传递的问题
- 修复 GitHub Actions 构建错误(Gradle Wrapper)
- 修复 TypeScript 编译错误
📚 相关文档
🙏 致谢
感谢所有使用 PolyHermes 的用户和贡献者!
下载地址:
- Docker Hub:
wrbug/polyhermes:v2.0.0 - GitHub Releases: v2.0.0