# 更新日志 / Changelog 所有重要的项目更改都将记录在此文件中。 --- ## [v1.0.0] - 2025-10-16 ### 🎉 首次发布 基于 MosDNS v5 的增强版本,专注于智能防污染和易用性。 ### ✨ 新增功能 #### 🛡️ 智能防污染系统 - **smart_fallback 插件**: 自动检测 DNS 污染并切换上游 - 支持国内/国外 DNS 智能选择 - CN IP 自动检测 - 超时自动切换 - 并行/顺序两种工作模式 - 详细的调试日志 #### 🎨 Web 管理界面 - **Vue 3 + TypeScript** 前端框架 - **Element Plus** UI 组件库 - **功能特性**: - 实时服务器状态监控 - DNS 查询统计可视化 - 规则管理(添加/编辑/删除) - 配置文件在线编辑 - 插件状态监控 - 一键热加载配置 - 缓存管理 #### 🔄 配置热加载 - **HotReloadManager**: 零停机配置更新 - 自动验证新配置 - 失败自动回滚 - 保持 DNS 服务不中断 - 完整的错误处理 - 详细的加载日志 #### ⚡ 一键部署 - **init 命令**: 快速初始化配置 - 自动生成 config.yaml - 创建必要的目录结构 - 生成示例数据文件 - 智能检测已存在文件 - `--force` 强制覆盖模式 - 详细的部署指引 #### 🧠 智能拓扑排序 - **自动依赖分析**: 支持任意配置顺序 - 检测 `$plugin_name` 引用 - 识别 `entry:` 字段依赖 - 循环依赖检测 - 详细错误提示 - 自动优化加载顺序 #### 📡 MikroTik 集成优化 - **mikrotik_addresslist 插件增强**: - 性能优化 - 连接池管理 - 重试机制 - 详细日志 - 错误处理改进 #### 🔌 完整的 RESTful API - `/api/server/info` - 服务器信息 - `/api/server/status` - 服务器状态 - `/api/plugins` - 插件列表 - `/api/config` - 配置管理 - `/api/config/reload` - 热加载配置 - `/api/config/validate` - 配置验证 - `/api/rules` - 规则管理 (CRUD) - `/api/cache/stats` - 缓存统计 - `/api/cache/flush` - 清空缓存 ### 🔧 改进 #### 配置验证 - **ConfigValidator**: 完整的配置验证系统 - 必需插件检查 - 域名文件路径验证 - DNS 策略验证 - 插件类型检查 - 详细错误提示 #### 配置构建 - **ConfigBuilder**: 配置文件生成器 - 规则驱动的配置生成 - 智能插件组合 - MikroTik 配置集成 - YAML 格式化输出 #### 规则管理 - **RuleHandlers**: 完整的规则管理 API - 列表、获取、添加、更新、删除 - 文件名智能匹配 - 支持多种文件名格式 - YAML 解析和生成 ### 📚 文档 #### 新增文档 - `README.md` - 项目主文档(完全重写) - `README-一键部署.md` - 快速部署指南 - `快速部署指南.md` - 完整部署流程 - `init功能说明.md` - init 命令详解 - `BUILD-USAGE.md` - 构建脚本使用说明 - `发布前检查清单.md` - GitHub 发布指南 - `yltx-dns-智能防污染系统-架构设计文档.md` - 技术架构文档 #### 配置示例 - `config.yaml` - 标准配置(智能防污染) - `config-working.yaml` - 简化配置(快速测试) ### 🛠️ 工具 #### 构建脚本 - `build-all-platforms.sh` - 多平台构建脚本 - 支持 Linux (AMD64/ARM64) - 支持 Windows (AMD64) - 支持 macOS (Intel/Apple Silicon) - 交互式菜单 - 自动构建 Vue 前端 - 详细的构建日志 ### 🐛 Bug 修复 - 修复拓扑排序算法错误(依赖方向理解错误) - 修复拓扑排序无法检测 `entry:` 字段依赖 - 修复删除规则 API 文件名不匹配问题 - 修复构建脚本在非交互式环境中的退出问题 - 修复 TypeScript 类型错误(ESLint 配置) - 修复缓存插件参数不支持问题 ### 📊 性能 - **启动时间**: < 2 秒 - **内存占用**: 30-50 MB(空载) - **DNS 延迟**: 20-30ms(国内), 80-120ms(防污染) - **缓存命中率**: 85%+ - **并发能力**: 3000+ qps(单核) - **二进制大小**: ~26 MB(包含 Web UI) ### 🔒 安全 - Web UI 默认仅监听 localhost - API 接口 CORS 配置 - 配置文件权限检查 - 敏感信息保护 ### 📦 依赖 #### 后端 - Go 1.20+ - MosDNS v5 核心 - Chi 路由器 - Zap 日志库 #### 前端 - Vue 3 - TypeScript - Element Plus - Vite - Axios ### 🙏 致谢 - 感谢 [@IrineSistiana](https://github.com/IrineSistiana) 创建的原始 MosDNS 项目 - 感谢所有开源社区的贡献者 --- ## 版本说明 版本号遵循 [语义化版本 2.0.0](https://semver.org/lang/zh-CN/) - **主版本号**: 不兼容的 API 修改 - **次版本号**: 向下兼容的功能性新增 - **修订号**: 向下兼容的问题修正 --- ## 未来计划 ### v1.1.0 (计划中) - [ ] 配置文件自动监控 - [ ] 插件级别热加载 - [ ] 更多 DNS 策略 - [ ] 性能监控面板 - [ ] Docker 镜像优化 ### v1.2.0 (计划中) - [ ] 分阶段热加载 - [ ] 配置版本管理 - [ ] 热加载历史记录 - [ ] Kubernetes 部署支持 ### v2.0.0 (远期计划) - [ ] 插件市场 - [ ] 可视化配置生成器 - [ ] 多节点集群支持 - [ ] 高可用部署方案 --- **完整更新历史**: [GitHub Releases](https://git.ylcomm.cn/dengxiongjian/mosdns/releases)