Releases: NingZeStudio/lemwood-mirror
Releases · NingZeStudio/lemwood-mirror
Release list
v1.2.0-beta.1
Full Changelog: v1.2.0-alpha11...v1.2.0-beta.1
v1.2.0-alpha11
fix(ci): 修复前端目录路径并嵌入默认配置 - CI 工作流:./web 改为 ./frontend,构建 v1+v2 两个主题 - 移除打包步骤中的 config.yaml(已嵌入二进制) - 新增 internal/config/default.yaml 嵌入默认配置文件 - LoadConfig 首次启动时释放嵌入的默认配置
v1.2.0-alpha9
v1.2.0-alpha9: security hardening and code quality improvements
v1.2.0-alpha10
feat(api): restructure endpoints to /api/v1/ and complete config temp…
v1.2.0-alpha8
v1.2.0-alpha8: /api/stats 性能优化(物化聚合 + SWR)+ stats 多项修复
v1.2.0-alpha7
v1.2.0-alpha6
feat(internal/server/server.go): 添加 `updateInfoCache` 方法以更新信息缓存 新增了一个 `updateInfoCache` 方法,用于简化 `InfoCache` 的更新过程。 feat(internal/stats/stats.go): 优化 `ipInfoWorker` 和 `getStats` 方法 1. 在 `ipInfoWorker` 中增加了 `lastReq` 和 `minInterval` 变量,以确保请求之间有最小间隔。 2. 在 `ipInfoWorker` 中增加了对 `maxIPCacheSize` 的检查,当缓存大小超过限制时,调用 `evictIPCache` 方法清理过期的缓存条目。 3. 新增了 `evictIPCache` 方法,用于根据过期时间清理 `ipCache` 中的条目,并在必要时删除最旧的条目以保持缓存大小在限制内。 4. 将 `isPrivateIP` 函数提取为单独的函数,用于判断IP地址是否为私有IP地址。 5. 在 `fetchIPInfo` 函数中调用 `isPrivateIP` 函数,以减少代码重复。 6. 更新了 `writeWorker` 函数中的错误处理逻辑,删除了不必要的返回值。 7. 新增了 `enqueueWrite` 函数,用于将写入任务放入队列,并在队列满时记录丢弃的记录数。 8. 更新了 `RecordVisit`、`RecordDownload` 和 `RecordRepoDownload` 函数,调用 `enqueueWrite` 函数以简化代码。 9. 将 `GetStats` 函数拆分为 `getStatsMySQL` 和 `getStatsSQLite` 函数,以支持不同的数据库类型。 10. 新增了 `computeTotalDaysMySQL` 和 `computeTotalDaysSQLite` 函数,用于分别计算MySQL和SQLite数据库中的总天数。 11. 新增了 `queryTopDownloads`、`queryTopRepoDownloads` 和 `queryGeoDistribution` 函数,用于分别查询下载排名、仓库下载排名和地理分布。 12. 新增了 `dailyQueryFlavor` 函数,用于返回根据数据库类型定制的查询语句。 13. 新增了 `queryDailyStatsMySQL` 和 `queryDailyStatsSQLite` 函数,用于分别查询MySQL和SQLite数据库中的每日统计。 14. 新增了 `fillDailyStats` 函数,用于填充每日统计的数据。 15. 在 `statsData` 结构体中增加了 `DroppedRecords` 字段,用于记录丢弃的记录数。 16. 更新了 `GetStats` 函数的返回数据,包含 `DroppedRecords` 字段。 fix(internal/server/server.go): 调整 `UpdateIndex` 方法中缓存更新的逻辑 将 `UpdateIndex` 方法中缓存更新的逻辑移到了 `updateInfoCache` 方法中,简化了 `UpdateIndex` 方法的代码。 fix(internal/server/server.go): 调整 `handleStatus` 和 `handleLauncherStatus` 方法中缓存更新的逻辑 1. 在 `handleStatus` 方法中调用 `updateInfoCache` 方法以更新缓存。 2. 在 `handleLauncherStatus` 方法中调用 `updateInfoCache` 方法以更新缓存。 fix(internal/stats/stats.go): 调整 `RecordVisit` 方法中的记录逻辑 1. 将 `RecordVisit` 方法中的记录逻辑移到了请求通过黑名单检查后。 2. 更新了 `RecordDownload` 和 `RecordRepoDownload` 方法中的记录逻辑,确保记录逻辑的一致性。 refactor(internal/stats/stats.go): 移除不必要的导入和变量 1. 移除了 `stats.go` 文件中不必要的 `database/sql` 导入。 2. 移除了 `stats.go` 文件中不必要的 `mu` 变量。 3. 移除了 `stats.go` 文件中不必要的 `statsCacheTTL` 变量。 style(internal/stats/stats.go): 格式化代码以提高可读性 调整了 `stats.go` 文件中的代码格式,确保代码风格的一致性。
v1.2.0-alpha5
fix: remove unused os import in restart_unix.go
v1.2.0-alpha4
1.2.0-alpha3
1.2.0-alpha3: 修复版本注入与自更新资产下载链