mirror of
https://github.com/dream-pep/koring-launcher.git
synced 2026-09-12 05:45:18 +08:00
feat: 新增更新包本地完整性校验功能
- 新增更新包SHA512哈希和文件大小校验逻辑,仅在校验通过后才允许安装更新,防止损坏或被篡改的安装包被安装 - 更新更新页面UI,根据更新包是否已通过校验显示差异化提示文本 - 临时隐藏设置菜单中的Koring账户设置选项 - 修复发布说明生成脚本,改为按标签创建时间排序,并针对不同构建模式调整基准标签选取逻辑
This commit is contained in:
@@ -27,11 +27,21 @@ $rec = [char]0x1e # 记录分隔符(每个 commit 一条)
|
||||
$sep = [char]0x1f # 字段分隔符(hash / subject / body)
|
||||
$format = "%x1f%H%x1f%s%x1f%b%x1e"
|
||||
|
||||
# 自上个 release tag(v*)以来的提交;无 tag 则取全部提交
|
||||
$lastTag = git tag --sort=-version:refname 2>$null | Where-Object { $_ -match '^v' } | Select-Object -First 1
|
||||
if ($lastTag) {
|
||||
Write-Host "Commits since tag: $lastTag"
|
||||
$raw = git log --format=$format "$lastTag..HEAD"
|
||||
# 提交范围(base tag):按 tag 创建时间从新到旧取"上一个 release"。
|
||||
# run(正式版)→ 上一个【正式版】tag:把上一个正式版之后所有 beta 的提交也写进正式版更新内容
|
||||
# beta → 上一个 release tag(任意通道)
|
||||
# 注意用 creatordate 而非 git 版本序:git 对 -beta.N / -N 混排不可靠(会把 beta.16 排到 -17 之前)。
|
||||
$tagsNewestFirst = git for-each-ref --sort=-creatordate --format '%(refname:short)' refs/tags 2>$null |
|
||||
Where-Object { $_ -match '^v' }
|
||||
$baseTag = if ($Mode -eq 'run') {
|
||||
($tagsNewestFirst | Where-Object { $_ -notmatch '-beta\.' } | Select-Object -First 1)
|
||||
} else {
|
||||
($tagsNewestFirst | Select-Object -First 1)
|
||||
}
|
||||
|
||||
if ($baseTag) {
|
||||
Write-Host "Commits since tag: $baseTag (mode=$Mode)"
|
||||
$raw = git log --format=$format "$baseTag..HEAD"
|
||||
} else {
|
||||
Write-Host "No release tags found, listing all commits"
|
||||
$raw = git log --format=$format "HEAD"
|
||||
|
||||
Reference in New Issue
Block a user