What's Changed
- feat(admin): 备份恢复改为分块上传 by @mogumc in #618
- fix(metricstore): count wrap leftovers without TB-scale reset spikes by @BetterAndBetterII in #653
- fix(metricstore): break report counter restore retry loop on slow remote databases by @YZoiu in #652
- fix: getNodesLatestStatus 写入实时 GPU 占用 by @MiaM1ku in #672
- fix(plugin): 仅当 Connection 与 Upgrade 头同时存在时判定协议升级请求 by @MousseC in #669
Commits
- perf(metric): skip digests for non-percentile rollup queries (11617b4) @Akizon77
- feat(metricstore): batch ping records for improved performance (887381a) @Akizon77
- fix: format event time in local timezone instead of UTC (f07bd74) @Akizon77
- feat(metric): add metric store recovery mode with retry and temporary HTTP server (5b93181) @Akizon77
- refactor: relocate config/migrations to internal, rename corn to scheduler (1f6bd13) @Akizon77
- refactor: remove automatic metric store startup migration; mandate manual migration (6efc72c) @Akizon77
- refactor: use GetAllPingTasks in ReloadPingSchedule and add ordering test (6ab9c67) @Akizon77
- refactor: remove automatic password retrieval, guide user to web setup (045f24e) @Akizon77
- fix(metricstore): avoid compaction write starvation (17aa37c) @Akizon77
- feat: add weight field to public ping task response (c7819cd) @Akizon77
- refactor: replace legacy upgrade with database migration loop (b8c1008) @Akizon77
- fix(metric): defer hot rollup flush for exact upsert window (0103b99) @Akizon77
- feat(metricstore): extend raw retention to 10 min, block reload if upgrade needed (c3c3ed8) @Akizon77
- remove low resource mode (1ffe413) @Akizon77
- optimize sqlite memory usage (0d69995) @Akizon77
- feat: auto restart after reload a old metric database (8c849aa) @Akizon77
- docs: simplify installation instructions and update sponsor credits (a1ae821) @Akizon77
- feat: pprof view (abc53b3) @Akizon77
- fix: #605 纯 IPv6 通知发送 #608 离线通知状态初始化遗漏 (16d6f26) @Akizon77
- feat(admin): 备份恢复改为分块上传 (#618) (ebe5278) @mogumc
- fix: skip temporary staging files and cleanup on context cancel (d69effe) @Akizon77
- perf: preallocate slice capacity based on queue length in drain functions (1c75cb8) @Akizon77
- fix: #626 CPU占用过大 (05a91ad) @Akizon77
- 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
- feat(plugin): add persistent storage dir for plugins (01c4816) @Akizon77
- feat: add plugin data storage and remove preview field (4040a5d) @Akizon77
- feat: add HTML injection permission and support for plugins (1f139ba) @Akizon77
- feat(plugin): add server.static for serving plugin static folders (eab03a1) @Akizon77
- fix: hook 过滤 + 按插件 body 上限 (d9713aa) @Akizon77
- feat(plugin): add server.cron scheduled task support (5488189) @Akizon77
- fix(rpc): make registered methods discoverable via rpc.help (28abafb) @Akizon77
- feat: add SendNotification and support any event payload fields (996dd90) @Akizon77
- fix(jsruntime/fs): allow no-follow operations on confined root (956b933) @Akizon77
- fix(notifier): skip load notification when no clients to notify (a714637) @Akizon77
- pref: metrics db IO Read/Write (08067bc) @Akizon77
- feat:metrics zstd compress & fix pingtask order (cba8153) @Akizon77
- fix(oauth): redirect to admin dashboard after OAuth login (d92f60f) @Akizon77
- feat(metricstore): make rollup retention configurable (9646252) @Akizon77
- feat(plugin): add WebSocket hook support to server.hook (e5d6768) @Akizon77
- perf(metric): reduce SQLite memory usage and make mmap opt-in (61bd0c8) @Akizon77
- pref: 减少重复查询 (0ed14fc) @Akizon77
- fix(metricstore): do not delete metric history during startup (a06d922) @Akizon77
- remove undefined metrics before reclaiming space (5ea32c4) @Akizon77
- pref: reduce cpu usage while querying metrics (16769d5) @Akizon77
- pref: mem alloc (5879d4b) @Akizon77
- docs: update README (057108a) @Akizon77
- docs: update README (f043f28) @Akizon77
- build: use COPY --chmod in Dockerfile (14bf8bd) @Akizon77
- feat: add raw SQL query and exec RPC methods (2883bf6) @Akizon77
- feat: add managed configuration selectors (c294c17) @Akizon77
- feat(migration): cap structure upgrade progress at 80% (75d7b6c) @Akizon77
- feat(upload): add chunked upload store for themes/plugins (773a371) @Akizon77
- feat: #635 add historical backup cleanup and harden upgrade rollback (7c30fc4) @Akizon77
- feat(console): format values as JSON and error messages (92d679f) @Akizon77
- fix(plugin): normalize RPC results before resolving promises (63a7ffd) @Akizon77
- fix(child_process): stop inheriting runtime timeout for child processes (2f3959a) @Akizon77
- feat(plugin): reload plugin after config update (4caa067) @Akizon77
- feat(notifier): warn users to migrate before traffic report removal (4a3400b) @Akizon77
- fix(metricstore): #646 skip traffic deltas on agent restart or counter reset (bf6b45e) @Akizon77
- docs: update Rainyun deployment descriptions (da4d518) @Akizon77
- feat(terminal): support session reattachment on WebSocket reconnect (e31a032) @Akizon77
- feat: file access / editor (0c39a52) @Akizon77
- fix: 上传大小限制 (2319ea7) @Akizon77
- pref: 下载速度优化 (63d78b6) @Akizon77
- pref: 文件上传下载链路 (7a6692b) @Akizon77
- fix: 分片文件操作过早关闭io导致502 (4d2eb70) @Akizon77
- feat: 自动推断分片大小 (46fd2af) @Akizon77
- refactor: remove v1 protocol and stabilize file transfer (2ff7c11) @Akizon77
- 感谢新的金主喵 (b28ac9d) @Akizon77
- 感谢新的金主喵 (c6b02af) @Akizon77
- 现在只剩v2了 (#653) (2425474) @BetterAndBetterII
- 后续版本将不再支持v1协议了捏 (434ba10) @Akizon77
- Merge pull request #652 from YZoiu/fix/metric-store-remote-write-timeout (f754f01) @Akizon77
- 使用人类友好的时间格式 (5405bdf) @Akizon77
- 换了1个更好的按安装脚本! (ac037f2) @Akizon77
- 让SSRF策略可以调整1下! (d7d6135) @Akizon77
- 使用zstd压缩前端,节约空间! (b11ffd3) @Akizon77
- fix(plugin): detect protocol upgrades only when both headers are present (360fd5f) @MousseC
- test(plugin): cover upgrade detection and injection behind bare Connection header (7ec3615) @MousseC
- chore(plugin): shorten isUpgradeRequest doc comment (44ed303) @MousseC
- fix: getNodesLatestStatus 写入实时 GPU 占用 (1333d63) @MiaM1ku
- fix: getNodeRecentStatus 同样写入 GPU 占用 (80add06) @MiaM1ku
- Merge pull request #672 from MiaM1ku/fix/latest-status-gpu-usage (8e4a3f8) @Akizon77
- Merge pull request #669 from MousseC/fix/upgrade-request-detection (f18ad72) @Akizon77
- 移除流量通知 (0ca87aa) @Akizon77
- 重定向旧版本的主题接口? (6e70263) @Akizon77
- 裁剪1下 (f089b08) @Akizon77
- fix: pin 1.5.1-rc1 frontend version (1d972c4) @Akizon77
New Contributors
- @BetterAndBetterII made their first contribution in #653
- @YZoiu made their first contribution in #652
- @MousseC made their first contribution in #669
Full Changelog: 1.3.0-pre1...1.5.1-rc1