## 📌 版本说明 | 版本类型 | 标记 | 适用场景 | |----------|------|----------| | LTS 正式版 | `-lts` | 生产环境,长期维护 | | 技术预览版 | `-preview` | 功能前瞻,建议测试环境验证 | ## 🚀 2.4-lts (2026-07-30) > **紧急修复版 —— 架构升级与部署流程重构** > > 本次版本为 **非正统 LTS 版本**(2.4 在语义版本中不属于 LTS 序列),因 `main` 分支在新架构迁移过程中出现编译阻塞,为快速恢复 LTS 通道可用性而发布。**2.5-lts 将回归正常语义版本规则。** ### 🔧 核心变更 - **部署架构重构** —— 引入 `run-deploy.sh` 独立入口,实现部署脚本与项目分支解耦 - **数据目录规范化** —— 所有运行时文件(数据库、配置、日志、PID)统一迁移至 `/app/data` 子目录,挂载点从 `/app` 收窄至 `/app/data`,彻底解决挂载覆盖二进制文件的问题 - **版本管理解耦** —— 二进制不再注入版本信息,版本由 `deploy.sh` 在部署时写入 `version.ini` 文件 - **PID 文件进程检测** —— frpc 状态检测从 `ps | grep` 改为基于 PID 文件,更加可靠 - **旧版本自动迁移** —— 检测到根目录存在旧数据文件时,自动迁移至 `data/` 子目录,并保留备份 ### ✨ 功能完整 - Ping 延迟检测(顶部导航实时显示) - 用户配置页独立(账户管理与全局配置分离) - 401 统一拦截(认证过期自动跳转登录) - 声明式数据库迁移引擎(基于 `db-history.go`) - frp v2 协议正式启用(`wireProtocol = "v2"`) ### 📦 部署变更 | 变更项 | 旧方案 | 新方案 | |--------|--------|--------| | 挂载点 | `-v ${DEPLOY_DIR}:/app` | `-v ${DEPLOY_DIR}/data:/app/data` | | 数据库路径 | `/app/frpc-console.db` | `/app/data/frpc-console.db` | | 配置文件 | `/app/frpc.toml` | `/app/data/frpc.toml` | | 版本文件 | 编译时注入 `-ldflags` | 部署时写入 `version.ini` | ### 🐛 修复 - 修复 `main` 分支因挂载覆盖导致二进制文件不可用的问题 - 修复 `ps | grep` 进程检测在容器环境不可靠的问题 - 修复旧版本升级时数据库路径不兼容的问题 --- ## 🚀 2.3-preview (2026-07-28) > **技术预览版** —— 在 LTS 稳定核心(2.0)基础上,集成 2.1 与 2.2 的新特性,并完成基础设施层的全面加固。 ### ✨ 新增特性 - **Ping 延迟检测** —— 顶部导航实时显示 frpc 到 frps 的延迟,状态图标 + ms 值,直观反映网络质量(2.1) - **用户配置页独立** —— 账户管理与全局配置分离,用户信息与 frpc 配置各自独立管理(2.1) - **声明式数据库迁移引擎** —— 基于 `db-history.go` 的 Schema 版本声明,对比新旧差异自动决定迁移路径(2.2) ### 🔧 改进与优化 - **401 统一拦截** —— API 请求返回 401 时自动清除认证状态并跳转登录页,避免页面卡死(2.1) - **数据库路径统一** —— 数据库文件固定为 `./frpc-console.db`,Docker 部署时挂载整个 `/app` 目录,所有运行时文件(db / toml / log / pid)完整持久化 - **`deploy.sh` 部署逻辑重构** —— 备份 → 拉代码 → 停容器 → 构建 → 启动,顺序闭环;移除宿主机编译,全部交由 Docker 多阶段构建处理 - **Dockerfile 多阶段构建** —— 自动处理 `go.mod` 降级兼容,安装 `sqlite` 辅助工具,便于部署脚本验证数据库状态 - **前端加载状态管理** —— 新增 `authLoading` 状态,首次访问时先完成用户检查再渲染页面,彻底解决刷新后登录/注册页状态错乱的竞态问题 - **`schema_version` 兜底写入** —— `InitDB()` 末尾强制补写 Schema 版本,确保每次启动都能识别已有数据,彻底解决升级后反复跳转注册页的问题 - **`docker-compose.yml` 配套工具** —— 简化开发调试流程,支持快速重建容器 ### 🐛 修复 - 修复 `ExportTomlHandler` 模板渲染时缺少 `WireProtocolLine` 字段的问题 - 修复 `deploy.sh` 升级时用空文件覆盖旧数据库的问题 - 修复 Docker 镜像中 `sqlite3` 包名错误导致 `deploy.sh` 无法验证数据库的问题 - 修复首次访问刷新时登录/注册页显示异常的前端竞态问题 ### 📦 部署变更 - 挂载方式:`-v ${DEPLOY_DIR}:/app`(整个 `/app` 目录) - 数据库位置:`/opt/frpc-console/frpc-console.db` - 备份目录:`/tmp/frpc-console/db-backups` - 容器内工具:`sqlite` 已预装,便于调试 --- ## ✅ 2.0-lts (2026-07-27) > **首个 LTS 正式版** —— 与 frps-console 2.0-lts 同步发布,共享版本号与 LTS 维护周期。 - 🚀 **frp v2 协议正式启用** —— `wireProtocol = "v2"` 配置项可用,实测稳定 - 🔒 **数据库迁移引擎完整实现** —— 版本驱动的增量迁移 + 迁移前自动全量备份 + 失败可回滚 - 🧩 **frps-console 同步发布** —— 同一套设计哲学,一个管理 frpc,一个管理 frps --- ## 🧪 1.5-release (2026-07-25) (non-LTS) > 非长期支持版本,建议用于尝鲜测试,生产环境请使用 2.0-lts 及后续 LTS 版本。 - ✨ 全局配置页面卡片式重构(服务器连接 / 传输配置 / 日志配置) - ✨ 新增运行日志面板(8 秒轮询,最大 200 行) - ✨ frp v2 配置占位(UI 灰标禁用,为 2.0 铺路) - 🔩 数据库 Schema 迁移框架(启动时自动补全缺失列) - 🔐 默认配置脱敏(通用占位符,避免开箱即连他人服务器) - 🎨 样式拆分与优化(style-3.css / style-4.css) --- ## 🎉 1.0-release (2026-07-24) (non-LTS) > 首次公开发布,核心功能全部就绪。 - 🎉 首次发布 - 📋 隧道全生命周期管理(增删改查 + 启用/禁用) - 📦 TOML 导入/导出(无缝迁移现有 frpc 配置) - 🔄 配置热加载(修改即生效,无需重启 frpc) - 🔐 首次启动 Web 注册(无需命令行交互) - 🖥️ 多平台支持(Windows / Linux / ARM 全平台) - 🐳 容器化就绪(Docker 镜像,开箱即用) - 🎨 深色磨砂玻璃 UI