github komari-monitor/komari Snapshot-2607271422

pre-release5 hours ago

主要更新内容

  • 安装脚本不再自动从日志中提取初始密码,改为引导用户在 Web 界面通过安装向导创建管理员账号,提升安装安全性。
  • 公共 Ping 任务响应新增 weight 字段,支持任务权重配置。
  • 指标存储架构重构:精确采样点仅保留在内存中(1 分钟窗口),不再持久化;rollup 层改用规范化字典表,外键约束级联删除,提升数据一致性和维护性。
  • 启动流程替换:原有的 1.2.7 升级检查改为通用的数据库迁移循环,支持结构升级与旧数据迁移,并在迁移检测失败时自动尝试恢复。
  • 默认 TDigest 压缩系数由 100 降至 30,在保持尾部误差可接受的前提下减小每个 digest 的存储体积。
  • 公共指标查询 API 移除已废弃的 downsampleserver_downsample 等字段,简化前端兼容逻辑。
  • 自适应填充逻辑优化:不再在数据结束后追加尾部空值,避免图表出现多余空白。
  • metric store 配置中移除 low_resource_mode 相关选项(配置变更不会触发重载)。
  • SQLite 默认 WAL checkpoint 页数调整为 256,并设置日志大小上限(1 MB),减少 WAL 文件膨胀。

Bug修复

  • 修复指标存储压缩(compaction)可能因优先级反转导致写操作长时间饥饿的问题。
  • 修复热 rollup 刷新的精确 upsert 窗口问题:确保已关闭的分钟桶在最后一次精确覆盖前不会被持久化,避免延迟更新导致 t-digest 重复累加错误。

其他

  • 新增 metric_store_restructure 升级向导页面及 API,用于支持规范化模式的显式结构迁移。
  • 新增 ReplaceRollupPoints 方法,支持幂等地将预聚合值(如历史 P95)导入指定 rollup 层级并自动填充更粗层级。
  • 新增 CheckpointWAL 方法,支持运行时手动触发 SQLite WAL checkpoint。
  • 测试覆盖包括:WAL checkpoint 重试、外键约束、规范化模式迁移、内存原始点排序/分页/标签过滤等场景。

Commits

Full Changelog: 1.3.0...Snapshot-2607271422

Don't miss a new komari release

NewReleases is sending notifications on new releases.