重大更改 BREAKING CHANGES
- 移除剪贴板功能,
/admin/clipboard路由及对应 RPC 不再可用。 - 移除 xterm.js 全局终端设置,
/admin/settings/xtermjs路由及admin:getXtermjsSettings、admin:setXtermjsSettings不再可用。 - 移除负载告警规则,
/admin/notification/load路由及对应 RPC 不再可用。 - 通知配置改为插件式通知渠道。旧消息发送器配置接口(
/admin/settings/message-sender、admin:getMessageSenderProvider、admin:setMessageSenderProvider)以及内置 Bark、Email、JavaScript、Server酱³、Server酱 Turbo、Telegram 渠道已移除;Webhook 渠道保留。请安装并启用所需的通知渠道插件,通过/admin/notification/channels和/admin/notification/channel/configuration重新配置。 - 移除访客审计 RPC
public:recordVisitorEvent。
主要更新内容
- 通知系统全面重写:移除旧的
messageSender工厂模式(bark、email、Server酱³、Server酱Turbo、Telegram 等内置通道),替换为统一的NotificationChannel注册表。内置通道保留 Webhook 和 JavaScript,新增插件可通过server.registerNotificationChannel()注册自定义通知通道。JavaScript 通道现支持sendEvent(event)函数(回退到sendMessage)。 - Agent 协议 v2 扩展:新增
agent.startupConfig/agent.startupConfig.result方法,管理员可在线获取 Agent 完整启动参数(含凭据);新增agent.switchVersion方法,支持远程请求 Agent 切换版本。对应新增admin:getAgentStartupConfig和admin:switchAgentVersionRPC 接口。 - WebSocket 压缩与心跳:所有 WebSocket 连接(终端、客户端 v2、公共推送)现与浏览器协商压缩算法;v2 客户端连接引入 75 秒读超时 + Ping/Pong 心跳机制,替代原先 11 秒的固定读等待。
- JS 运行时增强:
URL和URLSearchParams注入为全局变量;新增tls模块(tls.connect/tls.createConnection),支持 STARTTLS 升级;net模块新增AttachSocket/DetachSocket以配合 TLS 握手。 - 前端静态资源改为磁盘缓存:启动时将内嵌 dist 解压至
./cache/dist目录,不再全量驻留内存。
Bug修复
- 修复流量上报重试时可能将历史累计值误计为增量流量的问题(引入
maxTrafficReportGap15 分钟上限及写锁串行化基线读写)。 - 优化长时间断报的识别逻辑,减少误判。
其他
- 移除剪贴板功能(数据库表、API 路由、RPC 方法全部删除)。
- 移除负载通知(LoadNotification)功能及相关定时任务。
- 移除未落地的访客审计(Visitor Audit)配置项。
- 移除 xtermjs 独立设置接口。
- Linux 构建添加
-extldflags=-Wl,--strip-all减小二进制体积;zstd 编码器降低并发与内存占用;上报批处理队列从 4096 缩减至 512。 - Docker 及 systemd 服务新增
GODEBUG=disablethp=1环境变量。 - 新增
admin:getLastRunVersion接口,返回本次启动前记录的版本号。 /admin路径现 302 重定向至/admin/dashboard。
Commits
- 重定向旧版本的主题接口? (4ec22ed) @Akizon77
- 重写1下通知 (d15f051) @Akizon77
- 裁剪1下 (f57461f) @Akizon77
- 优化内存的分配喵,再压1点! (7e91794) @Akizon77
- 1点点小参数优化内存 (2c3f228) @Akizon77
- 添加1个小参数优化内存 (154d2b8) @Akizon77
- 没有落地的访客审计功能先删掉吧 (14bc87d) @Akizon77
- xterm设置适用面有1点太少了 (68c284d) @Akizon77
- 剪切板也是1个用的比较少的功能,移除了喵 (7d692d2) @Akizon77
- 支持拿到Agent的运行参数了 (29d309f) @Akizon77
- 对于#675,有一个更简洁的方案可以试1下 (70df320) @Akizon77
- Agent支持切换版本协议 (9812acf) @Akizon77
- 识别长时间断报优化一下 (39cb3f5) @Akizon77
- js通知先加回来 (a68704a) @Akizon77
- 加1个通知升级提醒 (e48aa1e) @Akizon77
- 和浏览器1起协商ws压缩算法 (13cbdca) @Akizon77
- js通知沿用旧版本的逻辑 (1b76b7a) @Akizon77
Full Changelog: 1.5.1...1.6.0