github komari-monitor/komari Snapshot-2608012241

latest release: Snapshot-2608020044
pre-release5 hours ago

主要更新内容

  • 新增插件系统:支持从插件市场或本地 ZIP 安装、卸载、启用/禁用,并提供配置、日志查看与版本约束校验;插件加载失败会自动禁用并保留错误信息
  • 插件通过 komari-plugin.json 声明能力,新增权限门禁:系统 RPC 调用、HTTP 路由、请求/响应钩子、进程执行等需声明并经管理员审批,未授权能力默认不授予
  • 插件可注册路由、调用/注册 RPC 方法,并支持注入管理员页面;从 data/plugin 目录加载,状态持久化于 state.json
  • 插件市场默认使用官方源,新增 plugin_market_sources 配置项
  • 重构并模块化 JavaScript 运行时,新增 node:cryptonode:stream 以及 child_processfsevents 等 Node.js 兼容模块,并对文件访问、进程执行等能力实施权限控制
  • 请求/响应钩子对 WebSocket 升级请求与超大响应体直接透传,避免影响流式传输(如 MJPEG 实时画面)和占满内存

Bug修复

  • 修复 process.exit(0) 被误判为脚本异常终止的问题,并改进错误报告
  • 修复插件重装时未先卸载运行实例、安装失败后残留目录的问题
  • 修复响应钩子缓冲无上限问题,超过 32MB 的响应体不再缓冲改写

其他

  • database/metricstore 迁移至 internal/metricstore 并按功能拆分模块
  • 移除旧版本兼容代码及未使用的数据库辅助函数
  • 新增插件配置数据表,启动时自动创建 data/plugin 目录
  • .gitignore 新增 /dist/ 忽略规则

Commits

  • style: 移除没有使用的旧版本兼容代码,移动 database/metricstore 到 internal/metricstore 并拆分组件 (4077201) @Akizon77
  • refactor: javascript runtime (df6ffba) @Akizon77
  • refactor(jsruntime): modularize built-ins (3c58382) @Akizon77
  • docs(jsruntime): add API and compatibility documentation (54851bd) @Akizon77
  • docs(jsruntime): clarify unsupported methods throw instead of no-op (91ae9ed) @Akizon77
  • fix(jsruntime): treat process.exit(0) as normal termination and improve error reporting (91cbeb3) @Akizon77
  • feat: add plugin system and refactor jsruntime deadline handling (8985adc) @Akizon77
  • feat(plugin): enforce server module permission gates (68bf4ed) @Akizon77
  • feat(jsruntime): add node:stream module and embed nexttick JS (965afb3) @Akizon77
  • feat: crypto module support (91d5f92) @Akizon77
  • feat(plugin): set official plugin market as default source (f967ba0) @Akizon77
  • fix(plugin): limit response hook buffering and safely reinstall (c27c21d) @Akizon77

Full Changelog: 1.3.2...Snapshot-2608012241

Don't miss a new komari release

NewReleases is sending notifications on new releases.