v1.1.2
版本定位
Patch Release,重点修复 Linux nftset 在 flags interval 集合上的写入失败、Windows 服务安装脚本问题,并完善 systemd 部署的工作目录语义、WebUI 运行日志与 query_recorder 排行查看体验。本版本不引入破坏性配置变更。
主要变更
Bug 修复
nftset(#122):修复执行器在小端主机上读取集合 flags 时使用本机字节序,导致flags interval集合的is_interval永远为false,所有 CIDR 写入均以Unsupported entry for set type失败的问题;现按大端解码并新增字节序回归测试。nftset写入器:按前缀独立处理,将IpSetError::ElementExists视为可跳过的 no-op,仅在结构化 warn 日志中聚合ok / skipped / failed计数,不再因为单次 EEXIST 整体禁用插件。- systemd 单元:修复 Debian 打包的 systemd 单元因
WorkingDirectory预启动 CHDIR 失败的问题;现以-d/--working-dir作为运行时相对路径(包含 WebUI 资源)的唯一基准。 - Windows 安装/卸载脚本:调整服务管理流程、二进制路径处理与卸载顺序,避免残留进程或路径异常。
- WebUI 容错:JSON 响应与
query_recorderSSE 流现在能容忍非 JSON 错误、心跳帧、空载与异常事件,避免控制台在偶发网络抖动时报错。
功能增强
- WebUI 运行日志查看器:新增整行换行开关;后端
LogEntry.timestamp升级到毫秒精度,UI 在T+elapsed旁补充本地HH:MM:SS.mmm,方便与外部时间线对齐。 query_recorder排行 (#116):移除 top client / top qname / slow-query 排行接口固定的 200 行上限,WebUI 排行榜和慢查询列表新增"加载更多"按钮以支持更大的结果集。- WebUI 插件字段文档:与 Rust 插件配置同步刷新。
文档
- 文档站点新增 Hero 组件、改进安装步骤与 Docker 运行命令展示,新增多平台快速上手指引。
- 补齐 Debian
/etc/oxidns与/var/lib/oxidns目录约定、WebUI 符号链接说明与client_ip排错章节(#118)。
配置与升级说明
- 根 crate 版本号升级为
1.1.2;oxidns-ripset同步升级到0.1.1。 v1.1.1配置可直接升级到v1.1.2,未引入新的必填配置字段。- 强烈建议升级:在 Linux 上使用
nftset插件、且集合声明了flags interval时,旧版本该集合在小端架构上完全无法写入。 - 通过 deb 包升级的部署,新版本不会再设置 systemd
WorkingDirectory;如果此前依赖该值改写相对路径,请改用-d/--working-dir显式指定。 - 已使用
query_recorder排行接口的客户端可以传入更大的limit;旧的 200 行响应仍能按原方式解析,行为兼容。
What's Changed
- docs(plugin): document redirect rule forms and forward usage by @svenshi in #111
- chore(release): prepare v1.1.0 by @svenshi in #112
- Add history clearing support and improve delete dialog flow by @svenshi in #115
- fix(webui): sync plugin field docs by @svenshi in #120
- Enhance query recorder with larger stats limits and UI improvements by @svenshi in #121
- feat: add Hero component with installation instructions and features … by @svenshi in #123
- fix: update Windows installation scripts and service management by @svenshi in #124
- Fix/122 nftset by @svenshi in #125
Full Changelog: v1.1.1...v1.1.2