github komari-monitor/komari Snapshot-2607121237

latest release: Snapshot-2607121654
pre-release5 hours ago

主要更新内容

  • 指标数据独立存储:监控数据(CPU、内存、GPU、Ping 等)从主数据库迁移至专用 metric store。默认使用 ./data/metrics.db,支持 SQLite / MySQL / PostgreSQL 后端,可通过 WebUI 热切换存储后端并触发数据迁移。
  • 新管理 API:新增数据库 VACUUM 和大小查询端点;新增指标保留策略管理(metric_retention_days)、定时滚动压缩及降采样开关。
  • 安装脚本增强install-komari.sh 新增 stable / snapshot 通道选择、TUI 交互界面(whiptail / dialog 回退)。
  • RPC 鉴权模型重构:引入 Principal 替代单一角色字符串,区分匿名 / Agent / 用户 / API Key。破坏性变更:Admin 不再自动具备 Client 角色权限(如 client:report),需显式能力检查。
  • 移除 Cloudflare 集成:删除内置 Cloudflare Tunnel 运行管理和 Cloudflare Access OAuth 提供者;Docker 镜像不再打包 cloudflared 二进制。
  • 移除旧版记录保留设置record_enabledrecord_preserve_timeping_record_preserve_time 配置项被删除,改为由 metric store 统一管理(通过 metric_retention_days)。
  • 版本升级自动备份:启动时检测版本变化,自动将 ./data 打包备份至 ./backup/,便于迁移异常回滚。

Bug修复

  • RPC 敏感操作强制双因素认证(2FA)——修复缺少边界检查的安全缺陷。
  • 主题操作(DeleteTheme/UpdateTheme/SetTheme)路径遍历漏洞修复。
  • Telegram 非 200 响应时返回 API 错误描述而非仅状态码。
  • common:getNodes RPC 节点顺序不稳定问题修复(改为 UUID 映射)。
  • SQLite 数据库锁定导致记录写入失败的问题修复。
  • 指标迁移性能优化:批量写入 + keyset 分页。
  • 滚动压缩时每个指标的游标独立旋转,避免压缩串话。
  • 聚合查询中标签维度丢失问题修复(新增 PreserveSeries 选项)。

其他

  • CI/CD 重构:前端构建分离为独立 GitHub Action、构建流程缓存优化;新增 Snapshot 发布流水线。
  • 启动流程重构为显式生命周期阶段(Bootstrap → InitStores → ... → Shutdown),错误传播更清晰。
  • 依赖库清理:移除 coreos/go-oidcgo-josegolang.org/x/oauth2
  • 新增 EntityIDs API 用于查询指标所属的实体列表。

What's Changed

  • fix(rpc): 在 RPC 边界强制对敏感操作进行双因素认证(2FA) by @carbofish in #571
  • fix: preserve node order in common:getNodes RPC by @yuanhhs in #566
  • feat: add database vacuum and size API endpoints by @Akizon77 in #578
  • fix(security): prevent path traversal in theme name (DeleteTheme/UpdateTheme/SetTheme) by @guocn in #584
  • fix(telegram): 非 200 响应时返回 API 错误描述而非仅状态码 by @Torther in #583

Commits

New Contributors

Full Changelog: 1.2.5...Snapshot-2607121237

Don't miss a new komari release

NewReleases is sending notifications on new releases.