-
released this
2026-09-17 04:23:00 +08:00 | 12 commits to main since this release⚠️ 本版已被 v0.2.3 取代(建议直接用 v0.2.3):
v0.2.3 由跨端集成验收抓出并修掉了两个真实缺陷 ——
CatalogTypes.Motion未解析服务端一直在发的thumbnailUrl;
ApiClient对所有响应(含模型/GLB/PNG)无条件做 UTF-8 解码,既刷噪声日志又白做一份
String 拷贝。另修掉测试里写死的契约版本(0.1.0)。OpenDance Studio -- Windows 客户端 v0.2.2
修复:发布包
OpenDance.exe的版本元数据(Windows「右键 → 属性 → 详细信息」里显示的
文件版本 / 产品版本)。建议所有用户改用本版;v0.2.1 的包解开后属性页显示的是 0.1.0。契约快照不变:
rest-api 0.5.0/websocket-keypoints 0.2.0/data-models 0.7.0/
skeleton-topology 0.2.0/model-formats 0.5.0/database 0.4.0
(与 opendance-web / opendance-android 逐字节一致)。一、缺陷(v0.2.1 实测)
opendance-windows-v0.2.1.zip → OpenDance.exe → 属性 → 详细信息 文件版本 0.1.0 产品版本 0.1.0产物名、Git tag、README 全都是 v0.2.1 —— 属于不可核对的发布。
根因:
export_presets.cfg的application/file_version/
application/product_version被硬编码在0.1.0,而这两个键不会跟随
project.godot的application/config/version自动更新。
build/check-version.sh当时只比project.godot↔project.yaml(两处一致),
所以静态校验全绿、产物却是错的 —— 漂移发生在没人看的第三个位置。证据:
$ strings -a -el OpenDance.exe | sed -n '3147,3151p' FileVersion 0.1.0 ProductVersion 0.1.0 $ VS_FIXEDFILEINFO @0x67b976c FileVersion=0.1.0.0 ProductVersion=0.0.0.0对照:官方模板
windows_release_x86_64.exe的FileVersion = 4.7.2,
说明本机 rcedit 改写是生效的,问题纯粹出在预设的值本身。二、修复
环节 做法 同步 build/sync-export-version.sh(新增):导出前把版本号写进导出预设,幂等、拒绝非X.Y.Z静态防线 build/check-version.sh:新增对导出预设两个键的校验产物防线 build/check-pe-version.sh(新增):直接读 exe 的 PE 版本资源 ——VS_FIXEDFILEINFO(签名0xFEEF04BD后 16 字节)+StringFileInfo(strings -el,属性页显示的就是这两项)。两处都查:实测固定信息里的ProductVersion恒为0.0.0.0打包 build/package-release.sh:打包前校验源 exe,解包后再校验包内 exe一键验证 build/verify.sh:新增步骤 1/5「产物 PE 版本资源」单元测试 tests/test_about.gd:预设两个键必须等于版本号唯一来源反向验证:把预设
file_version改回0.1.0→check-version.sh退出码 1;
无头测试 753 通过 / 1 失败,失败项正是「导出预设的 file_version 与版本号唯一来源一致」。实测 v0.2.2 产物:
PE FileVersion 0.2.2.0、StringFileInfo 0.2.2——
版本号在project.godot/project.yaml/export_presets.cfg/ exe 元数据 /
产物名 / Git tag 六处一致。build/verify.sh全绿(754 通过 / 0 失败 / 5 跳过)。三、附件与解压(重要)
资产 说明 opendance-windows-v0.2.2.zip单个完整包,不分卷: OpenDance.exe+OpenDance.pck(必须同目录)+THIRD_PARTY.md+README.txt+README.md+contracts/SHA256SUMS裸文件名,下载目录内直接 sha256sum -c SHA256SUMS97942f033cdd47ce4efe37b7b98921001bc00e531fae0be7bf6bc6cefcc33232 ← v0.2.2 首次打包(已作废) cfd7d675b2ebbb20b7db3e836a41dc7467ac33c856e31b3cfc8436df054e2332 opendance-windows-v0.2.2.zip解压需要 7-Zip / WinRAR / PeaZip:本包用 LZMA 压缩(26,628,529 B)以绕过
本站前置 IIS 的maxAllowedContentLength = 30,000,000字节上限
(同内容 deflate 包为 38,248,818 B,会 HTTP 413)。
Windows 10 资源管理器不支持 LZMA(method 14) 的 zip,双击会报错。
若该上限已放开、或包改由别处分发,可改用资源管理器直接双击解压的 deflate 包:
ZIP_METHOD=deflate bash build/package-release.sh 0.2.2。四、发布前自检(本版实测输出)
$ bash build/check-version.sh 0.2.2 ✓ 版本一致:v0.2.2(project.godot = project.yaml = export_presets.cfg = 期望值) $ bash build/check-pe-version.sh build/windows/OpenDance.exe 0.2.2 VS_FIXEDFILEINFO FileVersion = 0.2.2.0 StringFileInfo FileVersion = 0.2.2 StringFileInfo ProductVersion = 0.2.2 ✓ PE 版本资源一致:FileVersion 0.2.2.0 / 资源字符串 0.2.2五、未在本环境验证的部分(诚实声明)
- 本仓库在 Linux 上导出 Windows 产物,没有 Windows 机器与真机 30 分钟联调:
包的运行行为仍以「无头 754 项断言 + 180 帧启动检查」为证据; build/export-windows.ps1(Windows 兜底导出路径)未在真实 Windows 上执行过。
Downloads
- 本仓库在 Linux 上导出 Windows 产物,没有 Windows 机器与真机 30 分钟联调: