Releases: baozha2023/bz-games
Release list
v3.4.2
终止旧版自动更新并提供安全数据迁移桥接
-
将 v3.4.2 定位为最后一个可由旧版 NSIS 自动更新机制安装的版本
-
删除 UpdateService、更新 IPC、preload 更新接口、更新状态类型、更新弹窗及启动检查逻辑
-
移除 electron-updater 运行时依赖和对应测试,清理废弃更新设置字段
-
保留 electron-builder NSIS 构建、latest.yml、blockmap 和旧版更新前快照恢复能力
-
将设置页“检查更新”替换为始终可访问的“更新说明”
-
首次启动 v3.4.2 自动展示迁移公告,仅在主动关闭或成功导出后记录确认版本
-
公告明确说明后续版本需从官网重新下载,并提示先导出、成功导入后再手动卸载旧客户端
-
明确导出不会删除、移动或修改 config.json、games 和 db 源数据
-
导出成功后隐藏进度条,保留完成提示及备份文件路径
-
新增独立 MigrationExportService 和 MigrationActivityGuard
-
新增 migration:export、migration:cancel、migration:get-status、migration:acknowledge-notice 和 migration:event 接口
-
使用共享类型统一迁移状态、错误码、进度事件和公告版本
-
限制同一时间只能存在一个迁移导出请求
-
活动游戏、市场下载/安装或手动游戏导入存在时拒绝导出
-
导出期间阻止新的游戏启动、市场安装和游戏导入任务
-
只导出程序目录下的 config.json、games/ 和 db/,不复制外部游戏库
-
定义 .bzgames v1 格式,使用无压缩 7z 容器降低大型游戏迁移开销
-
固定归档根目录为 migration-manifest.json、config.json、games/ 和 db/
-
games/ 缺失时生成空目录,保持迁移格式契约稳定
-
config.json、db/ 或 db/bz_games.db 缺失及类型异常时拒绝导出
-
拒绝符号链接、目录联接、重解析路径和特殊文件
-
通过 realpath 阻止外部目录联接回程序目录的目标路径绕过
-
禁止将备份保存到程序根目录及其子目录
-
拒绝覆盖目录、符号链接等非普通目标文件
-
分别检查目标盘和临时盘空间,同卷时按归档及 SQLite 快照合计空间校验
-
新增 SQLite 排队维护窗口,导出前关闭数据库 worker 并包含最新 WAL 数据
-
在成功、取消和异常路径中统一恢复 SQLite 服务
-
先复制 config.json 和完整 db/ 到临时一致性快照,再读取程序目录 games/
-
先生成同目录 .partial 文件,通过 7za CRC 整包测试后再原子替换正式文件
-
替换失败时保留已有有效备份
-
取消时等待 7za 子进程完全退出后清理临时文件,避免文件句柄和清理竞态
-
失败和取消只删除临时快照及未完成文件,绝不删除源数据或已有有效备份
-
收紧迁移 IPC 错误输出,不向渲染进程暴露内部异常及源文件绝对路径
-
新增固定、可重复生成的 .bzgames v1 测试样本及 SHA-256 校验
-
验证归档 CRC、根目录白名单、清单字段、文件数量、字节数量和 SQLite 完整性
-
增加空游戏目录、中文路径、链接拒绝、目标路径安全、空间不足、重复导出、任务互斥、取消清理及原子覆盖测试
v3.4.1
完善论坛引用体系、反馈分页与平台运维闭环
- 建立统一论坛引用协议,支持 /game、/version、/market、/post、/page 五类斜杠指令,并统一纯文本解析、序列化、编辑器文档模型和正文展示模型
- 重构论坛编辑器的候选选择、光标恢复、引用替换与无损序列化,增加帖子选择器、页面注册表、指令状态机及完整组件测试
- 新增帖子引用批量解析接口,限制单批数量并区分正常、已删除和不存在状态;引用解析独立于 Elasticsearch
- 统一论坛作者身份展示,在帖子列表、详情、评论及管理端同时展示昵称和经过校验的 GitHub 登录名
- 完善论坛作者删除、管理员软删除和超级管理员恢复流程,保持评论计数、删除审计及 Elasticsearch outbox 的事务一致性
- 收紧论坛图片管线,校验真实 MIME、扩展名、大小、尺寸、像素与下载响应,并按 SHA-256 拒绝同批及跨批重复图片
- 将建言献策历史改为固定 10 条的键集游标分页和无限滚动,使用 user_id、created_at、id 复合索引支持稳定查询
- 翻页失败时保留游标与 hasMore 状态,避免瞬时网络错误被误判为已经到底;旧版本地历史只在首屏加载前清理
- 完善设置页论坛页面指令,确保云设置、建言献策、清理缓存和迁移游戏库深链首次进入即可执行
- 扩充 Portal RBAC 能力边界,加入论坛查看、管理、恢复、托管容量和系统监控能力,并保持菜单、路由、按钮和服务端鉴权一致
- 新增玩家欢迎页、直接留言、论坛管理、服务器系统监控、在线状态及昵称展示
- 论坛管理详情支持全部评论的游标分页、请求竞态隔离、能力门禁和删除后的权威状态刷新
- 收紧游戏托管 Manifest 入口字段:Web 入口仅使用 windowedFullscreen,Native 入口仅使用 args/env
- 限制游戏图标和封面只能上传到唯一版本,托管容量仅向对应超级管理员能力开放,并补充资源下载及剪贴板降级
- 统一桌面版本原子发布器和发布锁;GitHub Actions 保留同版本幂等语义,管理 API 将同版本不同文件映射为 409 冲突
- 将官方中继单房间客户端上限从 8 调整为 10,并增加边界测试
- 移除文言文语言包和对应 README,保留简体中文、繁体中文、英语、日语和德语
- 增加论坛引用、编辑器、图片去重、Manifest、反馈游标、房间容量、发布流程和 Relay 端到端测试
v3.4.0
上线论坛社区闭环并收紧平台能力边界
-
新增论坛客户端完整功能:
- 论坛轻量信息流、搜索、游标分页与无限滚动
- 帖子详情、图片展示、点赞、评论和作者删除
- 富文本编辑器、游戏市场提及候选与安全序列化
- 主进程管理图片选择、预览、释放和 multipart 上传
- 新增完整论坛 IPC、preload API 与共享类型定义
-
完善 Relay 论坛服务:
- MySQL 新增帖子、评论、点赞、图片索引、搜索 outbox 数据模型
- MongoDB GridFS 仅保存论坛图片对象
- 支持帖子/评论软删除、作者权限校验、管理员删除和超级管理员恢复
- 帖子删除时级联处理有效评论及评论计数
- 点赞通过复合唯一键和事务计数更新保证幂等
- 新增发帖和评论独立限流,并支持持久化、多实例共享和并发 reservation
-
新增论坛搜索能力:
- Elasticsearch 可选接入
- 使用 search_after 游标和异步 outbox 同步
- Elasticsearch 不可用时隐藏搜索,不影响最新帖子流、发帖和评论
- 搜索仅索引服务端敏感词过滤后的标题和正文
-
完善内容安全:
- 客户端主进程与服务端双重校验图片 MIME、扩展名、文件大小、尺寸和像素数
- 服务端限制 multipart 请求、字段、文件数量和单文件大小
- 收紧敏感词词库为高置信分类,避免过度误伤正常内容
- 请求凭据注入改为严格 URL origin/path 边界校验,防止相似域名 Token 泄漏
v.3.3.1
收紧更新快照与完善个性化资源
- 修复默认游戏库目录不存在时更新失败的问题
- 更新快照仅在游戏库根目录缺失时创建空目录
- 避免复制过程中出现文件异常时误生成空快照
- 增加更新快照缺失游戏库目录的回归测试
- 收紧 electron-builder 资源打包范围
- 优化头像框内容边距与资源体积
- 移除未使用的头像框 rarity 字段
- 新增星港跃迁、霓虹街机、BZ-Games 一周年游戏卡牌
- 补充游戏卡牌资源完整性测试
v3.3.0
完善游戏体验与平台基础能力
游戏运行状态统一
- 新增跨平台 ProcessTreeService,支持 Windows、macOS、Linux 进程树查询
- 统一原生游戏与 Web 游戏的运行状态管理
- 原生游戏跟踪入口进程、子进程及进程树
- Web 游戏跟踪 BrowserWindow 和渲染进程
- 增加窗口关闭、渲染进程崩溃、进程树结束等状态处理
- 停止游戏时支持结束完整进程树
- 新增 GAME_GET_RUNNING_IDS 运行状态快照接口
- 页面刷新后可恢复游戏运行状态
- 保留现有启动、结束、房间重连和 5 秒结束缓冲逻辑
游戏卡片个性化
- 新增游戏卡片商品系统和解锁条件模型
- 新增三款游戏卡片主题:
- Jade Glow
- Spring Kite
- Spring Fortune 2027
- 支持使用 BZ 币、连续签到和累计游戏时长等条件解锁卡片
- 支持查看卡片解锁进度
- 支持装备和取消装备游戏卡片主题
- 新增正方形和宽版卡片素材
- 新增 GameCardBase、GameCardFrame、GameIconCard 等卡片组件
- 游戏库、游戏卡片、个性化页面统一支持卡片主题展示
- 支持卡片主题预览和卡片素材按需加载
- 新增卡片商品 IPC、预加载接口及渲染层类型定义
- 增加游戏卡片商品和素材完整性测试
个性化与头像框
- 完善头像、头像框和游戏卡片个性化管理
- 支持头像框素材加载、预览、装备和取消装备
- 增加头像框内容内缩配置,改善不同素材的视觉适配
- 补充个性化页面多语言文案和状态展示
- 统一本地商城、个人资料和游戏卡片的个性化数据结构
更新提示
- 抽取通用 UpdatePrompt 更新提示组件
- 支持启动时检查更新和手动检查更新
- 支持忽略指定版本
- 支持设置中跳过启动时更新检查
- 优化更新提示状态管理及多语言文案
云同步、在线状态与用户资料
- 增加用户昵称同步与资料接口
- 增加用户在线状态和最后在线时间记录
- CloudSyncService 增加定时心跳机制
- 增加在线状态开关和同步异常处理
- 增加服务端在线用户统计
- 完善本地与云端用户资料同步
- 增加云端平台快照的原子化同步处理
- 兼容旧版本用户数据,自动补齐新增字段
游戏数据与启动体验
- 完善游戏启动、导入、版本和本地存储逻辑
- 优化游戏启动反馈和导入流程
- 扩展游戏游玩记录的日期和累计时长处理
- 完善 Web 游戏窗口启动和关闭管理
- 优化游戏删除、卸载和运行中限制
- 保留现有游戏库、详情页、房间、托盘菜单的运行状态行为
中继服务与数据模型
- 增加用户昵称、在线状态和最后在线时间字段
- 新增用户资料服务和在线状态服务
- 增加用户资料、在线状态相关 API
- 完善 MySQL 数据模型、服务端测试和接口文档
- 增加云端数据模型、部署说明和数据结构文档
v3.2.3
异步导入、Web 窗口启动与反馈历史服务化
-
新增主进程统一管理的异步游戏导入任务系统
- 支持最多两个任务并行执行
- 支持扫描、复制进度、取消、重试和中断恢复
- 使用 staging 目录和原子重命名,避免不完整安装
- 增加任务持久化及应用重启后的状态恢复
- 增加符号链接防护、路径边界校验和取消控制
- 新增导入任务遮罩、进度展示和占位卡片
-
新增 Web 游戏 windowedFullscreen 配置
- 仅 serve、url、.html、.htm 入口支持
- 启动时以 1280×720 创建隐藏窗口
- 配置为 true 时启动前自动最大化
- 用户仍可还原窗口并恢复 1280×720
- 保持标题栏、边框和可调整大小能力
-
重构反馈历史记录
- 新增 GET /api/v1/feedback 服务端历史查询接口
- 历史记录按当前登录账号查询并校验数据归属
- 客户端不再持久化反馈历史
- 打开历史记录时自动清理旧版 config.json 中的 feedbackHistory
- 增加历史列表加载骨架
- 移除匿名用户 IP 限流逻辑
- 保留登录用户反馈冷却机制
-
完善市场和 Manifest 数据链路
- 共享 Schema、Relay 服务、市场安装和客户端启动逻辑统一校验
- 保持 Native args/env 原样传递
- 保持 Web 与 Native 字段边界
- 增加相关接口和兼容性测试
-
完善客户端体验和安全性
- 增加导入状态、默认素材、社交占位页等界面能力
- 游戏目录扫描跳过符号链接
- 导入重试增加并发状态复核
- 保持游戏生命周期、卸载清理和云同步逻辑不变
-
完善发布服务
- 发布文件采用原子切换
- 统一发布文件属主、属组和权限
- 保持下载校验、限速和版本发布流程
v3.2.2
收紧在线权限并完善客户端体验与运维能力
- 建言献策改为仅登录用户可用,完善玩家反馈管理与三端接口契约
- 新增管理端欢迎页、系统监控、托管容量权限和超级管理员降版发布
- 优化更新快照、开发环境 GitHub OAuth 回跳和下载悬浮球稳定性
- 增加游戏安装来源追踪,兼容旧客户端数据库自动升级
- 合并游戏统计与成就为游戏生涯,优化搜索、响应式网格和 BZ 币入口
- 修复快照恢复顺序与安装失败保护,收紧冗余兼容逻辑
- 更新项目规范、路线图、部署文档及依赖安全锁定
v3.2.1
重构管理端 RBAC,完善平台发布、市场与个性化体验
- 新增超级管理员角色和服务端集中式 capability 授权
- 严格分离管理端 Cookie Session 与桌面端 Bearer Session
- 支持超级管理员调整用户角色,收紧四角色管理权限
- 新增桌面客户端版本上传、原子发布与公开断点下载
- 重构游戏市场目录请求、来源切换、缓存与校验流程
- 完善创作者投稿审核和游戏托管管理界面
- 新增头像框与昵称特效并强化异常数据归一化
- 同步更新 API、数据模型、部署与安全配置文档
- 补充 RBAC、版本发布、市场、头像框和存储测试
v3.2.0
上线创作者中心与官方游戏托管,完善市场资源与重装数据恢复
- 引入数据库 RBAC,统一创作者、管理员权限与用户管理
- 新增游戏投稿、版本维护、审核发布及托管资源服务
- 打通桌面市场逻辑地址、Relay 鉴权下载和图片加载
- 保留卸载重装后的游玩记录、成就与统计派生数据
- 完善接口文档、部署配置、安全边界和自动化测试
- 升级 Electron、Vite 及相关依赖
v3.1.3
收紧联机切房与云端会话,完善反馈闭环
- 修复开房状态加入他人房间的 own_room 判断和安全关闭流程
- 修复反馈记录会因为保存设置而消失的bug
- 云端登录改为事件驱动的被动失效处理,统一会话错误协议
- 重构建言献策历史详情,新增管理员回复及安全图片处理
- 统一客户端、服务端和管理端反馈与云同步接口
- 统一反馈和聊天图片预览体验