Repository navigation
v3.7.2
3.7.2 - 2026-10-17
修复
- Android 的 beta 配对现在能真正匹配上。预发布版本在三个地方拼写不同:
requirements.txt是 uv 导出的
PEP 440 归一形式(maafw==5.15.0b1),内核 tag 是发布原文(3.13.15-maafw5.15.0-beta.1),
MaaFramework release tag 是v5.15.0-beta.1。resolver 的配对正则原先不认-,5.15.0b1会被判成
"内核还没发配对"而降级回上一个正式版;现在 tag 解析放行预发布后缀,配对、AGENT_CORE_TAG校验以及
maa-project.json/requirements.txt的一致性比较都先按 PEP 440 归一再比,maafw_tag取 release
的真实拼写而不是v加归一版本。--doctor的 android 钉版检查同样归一后再比,maafw.version写
5.15.0b1或5.15.0-beta.1不再互相误报。桌面侧--update maafw把maafw.version当 tag 查时,
归一形式查不到会补试发布拼写(5.15.0b1→v5.15.0-beta.1)
变更
--update python-deps成为 android 项目的版本对齐点。启用android的 Agent 项目里,它先确定
MaaFramework 目标版本(maa-project.json的精确maafw.version优先,为空则按maafw.channel解析
最新发布,beta/alpha含预发布),把maafw==X钉进pyproject.toml后再uv lock/
uv export,最后校验requirements.txt导出的是同一版本(PEP 440 归一后比较),不一致直接报错。
没有android的 Agent 项目保持原行为:maafw浮动,由 uv 与 Dependabot 的lockfile-only更新
驱动,不会和自动更新打架。--add android现在也会改写已有的maafw钉版(原来只填未钉版的依赖),
maafw.version改了重跑即可- 发版 workflow 自己重导 Python 依赖。Dependabot 的
uv更新只动uv.lock,而桌面包与 APK 都从
requirements.txt装依赖;现在release.yml在pnpm sync:runtime之前、android-build.yml在两个
job 的tools/android-packaging.mjs之前都会先跑uv export --frozen,从 lock 重新导出工作区里的
requirements.txt。合并 Dependabot 的 uv PR 后不必再手工跑--update python-deps才能发版;仓库里
那份仍是提交物,本地开发想更新时再跑。--frozen在pyproject.toml与uv.lock不一致时直接失败,
不会悄悄用旧 lock
已有项目:tools/android-packaging.mjs 是受管文件,重跑 create-maa-project --add android 即更新。
要出 beta 包不用再手改 pyproject.toml:把 maa-project.json 的 maafw.channel 改成 beta(或把
maafw.version 写成精确版本)后跑一次 --update python-deps,它会自己把 maafw==5.15.0-beta.1 钉进
pyproject.toml、导出 requirements.txt,内核已有 3.13.15-maafw5.15.0-beta.1 配对时 APK 就会用它。