Skip to content

Commit 4d19625

Browse files
Sakuzyclaude
authored andcommitted
docs: 添加v0.1.3发布说明并修改CI/CD从文件读取 / Add v0.1.3 release notes and make CI/CD read from file
- 为 v0.1.3 补充完整的发布说明(功能、修复、安全更新) - 修改 GitHub Actions release job,改为从 RELEASE_NOTES.md 动态提取版本内容 - 避免重复维护固定文案,两者复用统一源 Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
1 parent e1b401f commit 4d19625

File tree

2 files changed

+85
-25
lines changed

2 files changed

+85
-25
lines changed

.github/workflows/ci-cd.yml

Lines changed: 46 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -713,6 +713,50 @@ jobs:
713713
if: startsWith(github.ref, 'refs/tags/v') && (needs.changes.outputs.rust == 'true' || true) # 在版本tag推送时总是触发(允许tag绕过paths-filter)
714714

715715
steps:
716+
- name: "[CHECKOUT] Checkout Repository for Release Notes"
717+
uses: actions/checkout@v4
718+
719+
- name: "[EXTRACT] Extract Release Notes from RELEASE_NOTES.md"
720+
id: extract-notes
721+
shell: bash
722+
run: |
723+
# 从 tag 名称提取版本号(例如 v0.1.3)
724+
version="${{ github.ref_name }}"
725+
726+
# 使用 awk 提取对应版本的 release notes
727+
release_body=$(awk "
728+
/^## $version / {
729+
found=1
730+
next
731+
}
732+
found && /^## v[0-9]/ {
733+
exit
734+
}
735+
found {
736+
print
737+
}
738+
" RELEASE_NOTES.md | sed '$d') # 移除最后的空行
739+
740+
# 将多行内容保存到输出
741+
{
742+
echo 'body<<EOF'
743+
echo "$release_body"
744+
echo ""
745+
echo "---"
746+
echo "### 📦 Available Downloads / 可用下载"
747+
echo "- **Windows x64**: \`MacinMeter-DR-Tool-*-windows-x64.exe\`"
748+
echo "- **macOS Intel**: \`MacinMeter-DR-Tool-*-macos-intel\`"
749+
echo "- **macOS Apple Silicon**: \`MacinMeter-DR-Tool-*-macos-arm64\`"
750+
echo "- **Linux x64**: \`MacinMeter-DR-Tool-*-linux-x64\`"
751+
echo ""
752+
echo "### 🖥️ GUI (Experimental / 实验版)"
753+
echo "- **macOS**: \`MacinMeter-DR-GUI-*.dmg\`"
754+
echo "- **Windows**: \`MacinMeter-DR-GUI-*.exe\`"
755+
echo ""
756+
echo "**Full Changelog**: https://github.com/${{ github.repository }}/blob/main/RELEASE_NOTES.md"
757+
echo "EOF"
758+
} >> $GITHUB_OUTPUT
759+
716760
- name: "[DOWNLOAD] Download All Artifacts"
717761
uses: actions/download-artifact@v4
718762

@@ -721,32 +765,9 @@ jobs:
721765
with:
722766
draft: false
723767
prerelease: contains(github.ref, 'alpha') || contains(github.ref, 'beta') || contains(github.ref, 'rc')
724-
generate_release_notes: true
768+
generate_release_notes: false
725769
files: |
726770
MacinMeter-DR-Tool-*/MacinMeter-DR-Tool-*
727-
body: |
728-
## MacinMeter DR Tool Release
729-
730-
### Features
731-
- [OK] 基于foobar2000 DR Meter的衍生实现
732-
- [OK] 基于IDA Pro逆向工程的算法研究与独立实现
733-
- [OK] SIMD加速和多线程支持
734-
- [OK] 批量处理模式(双击启动)
735-
- [OK] 支持多种音频格式 (WAV, FLAC, MP3, AAC, OGG)
736-
- [OK] 兼容foobar2000格式的详细分析报告
737-
738-
### Available Platforms
739-
- **Windows x64**: `MacinMeter-DR-Tool-*-windows-x64.exe`
740-
- **macOS Intel**: `MacinMeter-DR-Tool-*-macos-intel`
741-
- **macOS Apple Silicon**: `MacinMeter-DR-Tool-*-macos-arm64`
742-
- **Linux x64**: `MacinMeter-DR-Tool-*-linux-x64`
743-
744-
### Quick Start
745-
1. Download the binary for your platform
746-
2. Place in a folder with audio files
747-
3. Double-click to run (or use command line)
748-
4. Results saved to `DR_Analysis_Results_*.txt`
749-
750-
**Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ github.event.before }}...${{ github.sha }}
771+
body: ${{ steps.extract-notes.outputs.body }}
751772
env:
752773
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

RELEASE_NOTES.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,44 @@
11
# Release Notes / 发布说明
22

3+
## v0.1.3 (2026-02-07) – Boundary Risk Control & Security Fixes / 边界风险控制与安全修复
4+
5+
### Features / 新功能
6+
- GUI / 图形界面
7+
- Added "Hide Boundary Risk" toggle button: control visibility of DR boundary warnings in UI and exports.
8+
新增"隐藏边界风险"按钮:控制边界风险警告在UI及导出中的显示。
9+
- Boundary risk setting persists across single/multi-file exports (MD, JSON, PNG).
10+
边界风险设置跨越单文件/多文件导出保持一致(MD、JSON、PNG)。
11+
12+
- CLI / 命令行
13+
- Added `--hide-boundary-risk` flag: suppress boundary risk warnings in text/JSON output.
14+
新增 `--hide-boundary-risk` 参数:隐藏文本/JSON 输出中的边界风险警告。
15+
- Behavior: warning is excluded from both compact and JSON reports when flag is set.
16+
行为:设置后警告从紧凑格式和 JSON 报告中排除。
17+
18+
### Fixed / 修复
19+
- **Security**: Fixed RUSTSEC-2026-0007 (bytes integer overflow) by enforcing `bytes >= 1.11.1`.
20+
**安全**:通过强制 `bytes >= 1.11.1` 修复 RUSTSEC-2026-0007(bytes 整数溢出)。
21+
- **Security**: Fixed RUSTSEC-2026-0009 (time DoS vulnerability) by enforcing `time >= 0.3.47`.
22+
**安全**:通过强制 `time >= 0.3.47` 修复 RUSTSEC-2026-0009(time 拒绝服务漏洞)。
23+
- **Security**: Updated pprof from 0.13.0 to 0.14 (fixes unsound memory usage).
24+
**安全**:将 pprof 从 0.13.0 升级至 0.14(修复不安全的内存使用)。
25+
- **Build**: Fixed Tauri GUI compilation errors when building with updated dependencies.
26+
**构建**:修复更新依赖后 Tauri GUI 编译错误。
27+
- **CI/CD**: Fixed GitHub Actions `paths-filter` issue where tag push to same commit as main was ignored.
28+
**CI/CD**:修复 GitHub Actions paths-filter 在 tag 推送到与 main 同一 commit 时被忽略的问题。
29+
30+
### Changed / 变更
31+
- All boundary risk diagnostics are now opt-in via GUI toggle or CLI flag (default: show warnings).
32+
所有边界风险诊断现通过 GUI 按钮或 CLI 参数可选(默认:显示警告)。
33+
34+
### Testing / 测试验证
35+
- All 205 unit tests passed, zero compiler warnings.
36+
所有 205 个单元测试通过,零编译警告。
37+
- Verified feature parity between GUI and CLI boundary risk hiding.
38+
验证了 GUI 和 CLI 边界风险隐藏功能的一致性。
39+
40+
---
41+
342
## v0.1.2 (2026-01-29) – JSON Export & GUI i18n / JSON导出与GUI国际化
443

544
- CLI / 命令行

0 commit comments

Comments
 (0)