Skip to content

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 16 Jun 09:58
· 108 commits to main since this release
a44b965

OxiDNS v1.3.0

🚀 发布概览

OxiDNS v1.3.0 是一次面向执行器语义、上游连接稳定性和工程结构的 Minor Release。核心变化包括 black_hole 升级为全 qtype 拦截器、upstream 连接池与 bootstrap 路径进一步加固,以及 Rust 包结构调整为 cli + infra + 精简 core

如果你依赖 black_hole、复杂上游池、RouterOS address-list 联动,或将 OxiDNS 作为 Rust library 嵌入使用,建议仔细阅读升级说明。

✨ 主要亮点

  • black_hole 支持 nxdomain / nodata / null / custom / refused 模式,并覆盖所有 qtype;旧的 ips 配置会自动保持 custom 兼容语义。
  • Upstream 连接池新增 min_conns,并强化 deadline、取消安全、slot 回收、不可用连接裁剪和 bootstrap CNAME 选择逻辑。
  • ros_address_list 新增 RouterOS API 连接、发送、接收超时配置;启动阶段扫描后台化,避免慢 address-list 阻塞 DNS 服务启动。
  • zoneparser 扩展标准 RDATA 解析能力,覆盖更多常见记录类型,并继续保留 RFC3597 generic syntax 兜底。
  • 修复规则文件解析中逗号被错误切分的问题,包含逗号的 domain / matcher 表达式可以正确保留。
  • Rust 代码结构重组为 src/cli/src/infra/ 和精简 src/core/,CLI、基础设施和 DNS 执行语义边界更清晰。
  • Release workflow 修复已打包产物被二次 archive 的问题。

⚠️ 升级说明

  • v1.2.3 配置通常可以直接升级到 v1.3.0
  • 请重点检查 black_hole
    • 旧的 ips 写法会继续按 custom 处理。
    • 无参 black_hole 现在默认返回 NXDOMAIN
    • null / custom 对非 A/AAAA 请求返回 NODATA,不再继续透传。
  • Upstream bootstrap 必须写成 IP:port,不要使用域名。
  • 新增 upstreams[].min_conns 默认为 0,不配置时仍保持懒加载连接行为。
  • ros_address_list 的 timeout 字段都是可选项,默认兼容旧配置;大型共享 address-list 仍建议拆分为 OxiDNS 专用列表。
  • Rust library embedders 需要迁移公开 module path:旧顶层 network / build_info / upgrade / service 和原 core 下的基础设施模块已迁入 infracore::contextcore::rule_matcher 保持不变。
  • 根 crate 版本为 1.3.0oxidns-zoneparser 升级到 0.1.1

📦 下载与校验

  • 根据你的平台和 bundle 选择对应 release archive。
  • standard 适合大多数部署;需要最完整能力时选择 full;极简自定义部署可选择 minimal 或自行按 feature 构建。
  • 替换生产环境二进制前,请使用 release assets 中的校验信息确认文件完整性。

What's Changed

  • feat(executor): make black_hole a full interceptor by @svenshi in #191
  • refactor: reduce complexity risk in DNS internals by @svenshi in #190
  • fix(executor): avoid blocking startup on RouterOS scans by @svenshi in #192
  • fix: 400 Bad Request, message: missing Accept header by @ohyooo in #196
  • deps: bump the cargo-patch-and-minor group with 3 updates by @dependabot[bot] in #198
  • deps: bump sysinfo from 0.38.4 to 0.39.3 in the cargo-major group by @dependabot[bot] in #199
  • fix double-archiving zipped artifacts by @ohyooo in #200
  • fix(upstream): make pooled queries deadline and cancel safe by @svenshi in #203
  • fix(matcher): preserve commas in rule files by @svenshi in #206
  • Refactor/package structure by @svenshi in #208
  • Release/v1.3.0 by @svenshi in #207
  • release v1.3.0 by @svenshi in #210

New Contributors

Full Changelog: v1.2.3...v1.3.0