Skip to content

feat(changelog): 更新日志改为 changelog.d 碎片,发版 PR 统一编译与推进版本号 - #713

Merged
ClozyA merged 7 commits into
AUTO-MAS-Project:devfrom
qiyinxi:feat/release-flow-20260913
Sep 13, 2026
Merged

ClozyA merged 7 commits into
AUTO-MAS-Project:devfrom
qiyinxi:feat/release-flow-20260913

Conversation

@qiyinxi

@qiyinxi qiyinxi commented Sep 12, 2026 •

Copy link
Copy Markdown
Member
  • 更新日志改为每个 PR 在 changelog.d/ 放一个碎片(<PR 号或分支名>.<feat|fix|change|breaking|…>.md,一句话),普通 PR 不再改 CHANGELOG.md 与五处版本号,PR 之间不再有可冲突的共享文件;说明见 changelog.d/README.md。
  • 新增「准备发版」工作流:按最新 tag 推出版本号(beta N+1 / 转正同号 / 补丁 Z+1),把碎片编译进 CHANGELOG.md、写五处版本号、开 Release vX.Y.Z PR;合并后照旧手动跑「构建并发布应用程序」,构建前先守门(版本号已比最新 tag 新、碎片已清空),Release 正文只写本版增量、转正时汇总整个 beta 周期。
  • 「检查更新日志」改为:改了用户可见代码必须恰好一个碎片(skip-changelog 豁免),普通 PR 碰 CHANGELOG.md / 版本号即红,仓库版本号小于最新 tag 即红(今天 WIP: 支持MaaEnd v2.28的新字段 #643 那种回退会当场发现),目标 release/* 的 PR 不得带入 dev 独有提交(fix(BetterGI): 修复自动秘境只刷一轮就提前结束 #673 那种事故)。
  • 删除 append-version-contributor.yml:署名改在发版时按碎片首次进入仓库的提交作者补,不再靠文本 diff 猜。

合并后需要在 main 上做两件事(pull_request_target 与 workflow_dispatch 都从默认分支取文件),随下一次 dev→main 合并或单独提 PR 均可,但必须在第一次运行「准备发版」之前完成:

  1. 删除 main 上的 .github/workflows/append-version-contributor.yml,否则它会把发版 PR 的每一条都再签一次 PR 作者。「准备发版」开始前会检查这一点并拒绝运行。
  2. 让 .github/workflows/prepare-release.yml 出现在 main 上,Actions 页面才会有它的「Run workflow」按钮;运行时用的是所选分支上的文件。

其他说明:已开着的 PR 需要把 CHANGELOG.md 里那一行改成碎片;本 PR 因为改了 CHANGELOG.md 头部说明而打了 changelog-maintenance 标签;文档站开发者页另行同步。本地验证:tests/tools/test_changelog_script.py 70 项通过,全量 1011 通过 / 4 跳过,release --kind beta|stable 与 release-note 在克隆里实跑过。

🤖 Generated with Claude Code

Sourcery 摘要

采用基于片段的变更日志,并在发布工作流中集中管理版本控制、发布说明生成和发布验证。

新功能:

  • 在 changelog.d/ 下添加变更日志片段,并新增发布准备工作流,用于编译变更日志、推进版本号以及创建发布 PR。
  • 添加发布说明生成以及版本和片段状态的预发布构建保护。

Bug 修复:

  • 验证拉取请求是否存在版本回退,并防止仅用于开发的提交泄漏到发布分支。
  • 将基于提交差异的贡献者归属方式替换为基于引入变更日志片段的提交进行归属。

改进:

  • 强制每个面向用户的拉取请求对应一个变更日志片段,同时防止普通 PR 修改生成的变更日志和版本字段。
  • 在贡献者指南和代理技能文档中记录基于片段的变更日志及修订后的发布流程。

CI:

  • 更新变更日志验证,将 PR 分为普通、发布和同步类型,并加入由标签触发的检查及发布分支保护。

部署:

  • 允许从发布分支构建和发布应用,同时要求版本号已推进且变更日志片段已清空后才能发布。

文档:

  • 添加变更日志片段使用说明和发布流程文档。

测试:

  • 扩展变更日志脚本测试范围,涵盖片段、版本推进、发布编译、发布说明、贡献者归属、PR 验证和发布保护。

杂项:

  • 移除旧版版本贡献者工作流。
Original summary in English

Sourcery 总结

采用基于片段的变更日志,并在发布工作流中集中管理版本控制、发布说明生成和发布验证。

新功能:

  • 在 changelog.d/ 中引入变更日志片段,并新增工作流,将其编译为发布说明、推进版本号并创建发布 PR。
  • 添加发布说明生成和预发布构建保护,验证版本及片段状态。

错误修复:

  • 检测相对于最新标签的版本回退,并防止仅用于开发的提交泄漏到发布分支。
  • 根据引入变更日志片段的提交来标注贡献者,而不是从文本变更中推断贡献者。

增强功能:

  • 要求面向用户的 PR 正好添加一个变更日志片段,同时防止普通 PR 修改生成的变更日志和版本字段。
  • 为维护者和贡献者编写基于片段的变更日志及修订后的发布流程文档。

CI:

  • 更新变更日志验证逻辑,以区分普通 PR、发布 PR 和同步 PR,包括由标签触发的检查及发布分支保护。

部署:

  • 允许从发布分支构建和发布应用,同时要求版本号已提前更新且变更日志片段目录为空。

文档:

  • 添加贡献者指南,以及基于片段的变更日志和发布工作流文档。

测试:

  • 扩展变更日志脚本测试覆盖范围,包括片段、版本推进、发布编译、发布说明、贡献者归属、PR 验证和发布保护。

杂项:

  • 移除旧版版本贡献者工作流。
Original summary in English

Sourcery 总结

采用基于变更日志片段的管理方式,并在发布工作流中集中处理版本管理、发布说明生成和发布验证。

新功能:

  • 为每个拉取请求引入一个变更日志片段,并添加一个工作流,用于编译片段、推进版本号以及创建发布拉取请求。
  • 生成包含贡献者署名的发布说明,并支持 beta、stable、patch 以及显式发布版本。

错误修复:

  • 检测相对于已发布标签的版本回退,并防止仅用于开发的提交泄漏到发布分支。
  • 使用引入每个变更日志片段的提交进行署名,替代旧版的版本贡献者工作流。
  • 添加构建时保护措施,要求版本号必须更新,并且发布前变更日志片段目录必须为空。

增强功能:

  • 强制要求面向用户的变更提供变更日志片段,同时防止普通拉取请求修改生成的变更日志或版本字段。
  • 扩展变更日志验证,以区分普通、发布和同步拉取请求,并支持变更日志豁免。

构建:

  • 允许从发布分支构建和发布应用。

CI:

  • 更新变更日志检查和拉取请求触发器,以验证片段、版本、发布分支和发布保护措施。

文档:

  • 记录变更日志片段规范、发布准备、版本管理和贡献者工作流。

测试:

  • 扩展变更日志脚本测试覆盖范围,包括片段、版本推进、发布编译、发布说明、署名、拉取请求验证和发布保护。

杂项:

  • 移除旧版的追加版本贡献者工作流。
Original summary in English

Sourcery 总结

采用基于片段的变更日志管理方式,并在发布工作流中集中处理版本管理、发布说明生成、贡献者署名和发布验证。

新功能:

  • 在 changelog.d/ 下引入单句变更日志片段,并添加工作流,将其编译为发布说明、推进版本号并创建发布 PR。
  • 支持 beta、stable、patch 和显式发布处理,并根据引入片段的提交生成发布说明和贡献者署名。

错误修复:

  • 防止版本号回退到已发布的标签之前,并阻止仅用于开发的提交泄漏到发布分支。
  • 添加构建时保护措施:发布前必须使用更高版本号,且变更日志片段目录必须为空。

增强功能:

  • 对面向用户的变更要求恰好包含一个片段,同时禁止普通 PR 修改生成的变更日志或版本字段。
  • 对普通 PR、发布 PR 和同步 PR 进行分类验证,包括变更日志豁免规则和发布分支保护。

CI:

  • 更新变更日志验证的触发条件和规则,涵盖片段、版本号、PR 类型和发布分支检查。

部署:

  • 允许从发布分支构建和发布应用,但须满足版本号和变更日志保护条件。

文档:

  • 记录变更日志片段规范、贡献者指南以及修订后的发布流程。

测试:

  • 扩展变更日志工具测试,覆盖片段、版本推进、发布编译、发布说明、署名、PR 验证和发布保护。

杂项:

  • 移除旧版版本贡献者工作流。
Original summary in English

Summary by Sourcery

Adopt fragment-based changelog management and centralize versioning, release-note generation, contributor attribution, and release validation in the release workflow.

New Features:

  • Introduce one-sentence changelog fragments under changelog.d/ and a workflow that compiles them into release notes, advances versions, and opens release PRs.
  • Add beta, stable, patch, and explicit release handling with generated release notes and contributor attribution from fragment-introducing commits.

Bug Fixes:

  • Prevent version regressions relative to published tags and block development-only commits from leaking into release branches.
  • Add build-time safeguards that require a newer version and an empty changelog fragment directory before publishing.

Enhancements:

  • Require exactly one fragment for user-visible changes while preventing normal PRs from modifying generated changelogs or version fields.
  • Classify PR validation for normal, release, and synchronization PRs, including changelog exemptions and release-branch protections.

CI:

  • Update changelog validation triggers and rules for fragment, version, PR-type, and release-branch checks.

Deployment:

  • Allow application builds and releases from release branches subject to version and changelog guards.

Documentation:

  • Document changelog fragment conventions, contributor guidance, and the revised release process.

Tests:

  • Expand changelog tooling tests for fragments, version progression, release compilation, release notes, attribution, PR validation, and publishing guards.

Chores:

  • Remove the legacy version-contributor workflow.

qiyinxi and others added 4 commits September 12, 2026 20:22
每个 PR 只在 changelog.d/ 下放一个 `<PR 号或分支名>.<分类>.md`,不再改 CHANGELOG.md
与五处版本号,PR 之间从此没有可冲突的共享文件。scripts/changelog.py 新增:

- add:按分支名生成碎片,一条 PR 只允许一个。
- check:校验碎片;仓库版本号不得小于当前分支可达的最新 tag(合并冲掉版本提升时
  当场红);带 --pr-base 时按 PR 类型检查——普通 PR 改了 app/、frontend/src/、
  frontend/electron/ 或 main.py 必须恰好新增一个碎片(skip-changelog 标签豁免),
  不得改 CHANGELOG.md、res/version.json 与四处版本号取值,不得动别人的碎片;目标是
  release/* 时不得带入 dev 独有提交;发版 PR 要求碎片已清空且版本号已推进;
  changelog-maintenance 标签供维护者整理历史段。
- release:按最新 tag 推出版本号(beta N+1 / stable 转正同号 / patch Z+1 / explicit),
  把碎片编译成新版本段、删碎片、写五处版本号;顶部手工预留的「未发布」段并入新段;
  转正时把同号全部 beta 段合并成一个正式版段;署名取碎片首次进入仓库的提交作者,
  noreply 邮箱直接拆登录名、否则经 commits API,不读 Co-authored-by;同时列出
  上个 tag 以来改了用户可见代码却没带碎片的提交供发版人确认。
- release-note:渲染 Release 正文,首行 JSON 保持老客户端契约(公测带本周期全部
  beta 段 + 上一个正式版;正式版带本次 + 上一个正式版,不带 beta 段;补丁带同一
  X.Y 下的正式版),可见正文只写本版增量,附贡献者与对比链接。
- guard:构建前守门,版本号必须比最新 tag 新且碎片已清空。

CHANGELOG.md 头部说明随之改写;本 PR 自己的记录就是第一个碎片。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- check-changelog.yml:按 PR 类型调用 changelog.py check——目标 main 只校验格式,
  标题 Release v* 或 release 标签按发版 PR 检查,其余按普通 PR;labeled/unlabeled
  也触发,加 skip-changelog 标签后不用再推提交;目标 release/* 时传 --dev-ref。
- prepare-release.yml:workflow_dispatch(kind, version),在 dev 或 release/* 上编译
  碎片、推进版本号,用 peter-evans/create-pull-request 开 `Release vX.Y.Z` PR 并打
  release 标签。开始前先确认默认分支上旧的署名机器人已删除,否则它会把发版 PR 的
  每一条都再签一次 PR 作者。配置 RELEASE_PR_TOKEN 时用它开 PR,检查工作流才会触发。
- build-app.yml:允许从 release/* 触发;生成版本信息前先 guard;Release 正文改由
  changelog.py release-note 渲染,不再把全部历史版本拍平;预发布判定改为带 `-` 后缀。
- append-version-contributor.yml:删除。它按文本 diff 猜作者,两次整批误签都是它。
  它是 pull_request_target,从默认分支取文件,main 上那份也要一并删除才真正停用。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
过渡期目标分支顶部可能已经手工预留了同号的「未发布」段,发版 PR 的版本号会与
目标分支相同;改为不得比目标分支旧,且必须比当前分支可达的最新 tag 新。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@qiyinxi qiyinxi added the changelog-maintenance 维护者整理 CHANGELOG.md 或版本文件,放开碎片检查 label Sep 12, 2026

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @qiyinxi, you've used your own review budget of 250,000 diff characters for the last 7 days.

You can request another review in 1 day and 15 hours by commenting @sourcery-ai review. Upgrade to get a review now.

@sourcery-ai

sourcery-ai Bot commented Sep 12, 2026

Copy link
Copy Markdown

审查者指南

本 PR 将更新日志和版本管理改为碎片驱动的集中式发版流程:普通 PR 只提交一个 changelog.d/ 碎片,CI 负责严格校验,准备发版工作流统一编译 CHANGELOG.md、推进版本号、补充署名并创建 Release PR,构建发布阶段再执行版本与碎片守门。

基于更新日志碎片的发版流程时序图

sequenceDiagram
    actor Maintainer
    participant PrepareRelease as prepare-release.yml
    participant Script as scripts/changelog.py
    participant GitHub as GitHub
    participant ReleasePR as Release PR
    participant Build as build-app.yml

    Maintainer->>PrepareRelease: workflow_dispatch(kind)
    PrepareRelease->>Script: release(--kind)
    Script->>Script: latest_version()
    Script->>Script: compile_release()
    Script->>Script: sync_generated()
    Script->>Script: fragment_author()
    Script-->>PrepareRelease: version and PR body
    PrepareRelease->>GitHub: create-pull-request
    GitHub-->>ReleasePR: Release vX.Y.Z
    Maintainer->>ReleasePR: merge
    Maintainer->>Build: workflow_dispatch
    Build->>Script: guard
    Script->>Script: current() and list_fragments()
    Script-->>Build: release allowed
    Build->>Script: release-note
    Script-->>Build: incremental release note
Loading

更新日志碎片校验流程图

flowchart TD
    A[PR opened or updated] --> B[check-changelog.yml]
    B --> C{PR type}
    C -->|normal| D{User-visible code changed?}
    D -->|yes| E{Exactly one new changelog.d fragment?}
    D -->|no| F[Skip fragment requirement]
    E -->|no| G[Fail check]
    E -->|yes| H[Reject CHANGELOG.md or version edits]
    H --> I[Check version floor and fragment format]
    F --> I
    C -->|release| J[Require fragments empty and version newer than latest tag]
    C -->|sync| K[Check generated files and format]
    I --> L{All checks pass?}
    J --> L
    K --> L
    L -->|yes| M[Pass]
    L -->|no| G
Loading

文件级变更

变更 详情 文件
将更新日志流程从共享的 CHANGELOG.md 手工维护改为 changelog.d/ 碎片驱动,并集中由发版流程生成版本相关文件。
  • 新增碎片命名、分类、格式、署名和使用说明。
  • 更新开发规范,要求用户可见 PR 恰好包含一个碎片且禁止普通 PR 修改 CHANGELOG.md、生成物和版本号。
  • 保留并扩展生成物同步逻辑,支持从碎片编译版本段、清空碎片并推进五处版本号。
.agents/skills/mas-code-standards/SKILL.md
.agents/skills/mas-skills/SKILL.md
AGENTS.md
CHANGELOG.md
changelog.d/README.md
changelog.d/release-flow.dev.md
scripts/changelog.py
实现自动化发版工作流,根据最新 tag 计算 beta、stable、patch 或显式版本,创建统一的 Release PR。
  • 新增 workflow_dispatch 发版入口及默认分支旧署名机器人检查。
  • 编译碎片、生成 CHANGELOG.md 和版本文件、渲染 Release PR 正文并创建发版 PR。
  • 支持转正时合并整个 beta 周期,并按碎片首次提交作者补充贡献者署名。
.github/workflows/prepare-release.yml
scripts/changelog.py
重构更新日志 CI 检查和发布前构建守门,覆盖 PR 类型、版本回退和 release 分支提交污染。
  • 普通 PR 校验用户可见代码与碎片数量、受保护文件和版本号变更,并支持 skip-changelog 与维护标签。
  • 发版 PR 校验碎片已清空且版本号高于最新 tag;同步 PR 执行生成物一致性检查。
  • 构建流程仅允许 main、dev 和 release/,发布前验证版本已推进且没有遗留碎片。
  • release/ PR 检查是否混入 dev 独有提交。
.github/workflows/check-changelog.yml
.github/workflows/build-app.yml
scripts/changelog.py
移除按文本 diff 自动补署名的旧机器人,改为发版时从碎片提交历史解析贡献者。
  • 删除 append-version-contributor 工作流。
  • 支持 noreply 邮箱、GitHub API 和 author 覆盖三种署名解析路径,并避免将 Co-authored-by 误记为贡献者。
.github/workflows/append-version-contributor.yml
scripts/changelog.py
为碎片解析、版本推进、发版编译、Release 正文和 PR 检查补充全面测试。
  • 覆盖碎片格式、分类、署名、版本排序与版本推进规则。
  • 覆盖 beta/stable 编译、周期汇总、版本回退、Release 正文选择和比较链接。
  • 通过临时 git 仓库测试 PR 规则、版本下限、作者解析和漏写碎片检测。
tests/tools/test_changelog_script.py

可能关联的问题


提示与命令

与 Sourcery 交互

  • 触发新的审查: 在 pull request 中评论 @sourcery-ai review。
  • 继续讨论: 直接回复 Sourcery 的审查评论。
  • 根据审查评论生成 GitHub issue: 回复审查评论,请 Sourcery 根据该评论创建 issue。你也可以使用 @sourcery-ai issue 回复审查评论,以便根据该评论创建 issue。
  • 生成 pull request 标题: 在 pull request 标题的任意位置写入 @sourcery-ai,即可随时生成标题。你也可以在 pull request 中评论 @sourcery-ai title,随时(重新)生成标题。
  • 生成 pull request 摘要: 在 pull request 正文中想要插入摘要的位置写入 @sourcery-ai summary,即可随时生成 PR 摘要。你也可以在 pull request 中评论 @sourcery-ai summary,随时(重新)生成摘要。
  • 生成审查者指南: 在 pull request 中评论 @sourcery-ai guide,即可随时(重新)生成审查者指南。
  • 解决所有 Sourcery 评论: 在 pull request 中评论 @sourcery-ai resolve,即可解决所有 Sourcery 评论。如果你已经处理完所有评论并且不想再看到它们,这会非常有用。
  • 忽略所有 Sourcery 审查: 在 pull request 中评论 @sourcery-ai dismiss,即可忽略所有现有的 Sourcery 审查。如果你想从全新的审查开始,这一功能尤其有用——别忘了评论 @sourcery-ai review 来触发新的审查!

自定义使用体验

访问你的控制面板以便:

  • 启用或禁用审查功能,例如 Sourcery 生成的 pull request 摘要、审查者指南等。
  • 更改审查语言。
  • 添加、移除或编辑自定义审查说明。
  • 调整其他审查设置。

获取帮助

Original review guide in English

Reviewer's Guide

本 PR 将更新日志和版本管理改为碎片驱动的集中式发版流程:普通 PR 只提交一个 changelog.d/ 碎片,CI 负责严格校验,准备发版工作流统一编译 CHANGELOG.md、推进版本号、补充署名并创建 Release PR,构建发布阶段再执行版本与碎片守门。

Sequence diagram for the changelog-driven release process

sequenceDiagram
    actor Maintainer
    participant PrepareRelease as prepare-release.yml
    participant Script as scripts/changelog.py
    participant GitHub as GitHub
    participant ReleasePR as Release PR
    participant Build as build-app.yml

    Maintainer->>PrepareRelease: workflow_dispatch(kind)
    PrepareRelease->>Script: release(--kind)
    Script->>Script: latest_version()
    Script->>Script: compile_release()
    Script->>Script: sync_generated()
    Script->>Script: fragment_author()
    Script-->>PrepareRelease: version and PR body
    PrepareRelease->>GitHub: create-pull-request
    GitHub-->>ReleasePR: Release vX.Y.Z
    Maintainer->>ReleasePR: merge
    Maintainer->>Build: workflow_dispatch
    Build->>Script: guard
    Script->>Script: current() and list_fragments()
    Script-->>Build: release allowed
    Build->>Script: release-note
    Script-->>Build: incremental release note
Loading

Flow diagram for changelog fragment validation

flowchart TD
    A[PR opened or updated] --> B[check-changelog.yml]
    B --> C{PR type}
    C -->|normal| D{User-visible code changed?}
    D -->|yes| E{Exactly one new changelog.d fragment?}
    D -->|no| F[Skip fragment requirement]
    E -->|no| G[Fail check]
    E -->|yes| H[Reject CHANGELOG.md or version edits]
    H --> I[Check version floor and fragment format]
    F --> I
    C -->|release| J[Require fragments empty and version newer than latest tag]
    C -->|sync| K[Check generated files and format]
    I --> L{All checks pass?}
    J --> L
    K --> L
    L -->|yes| M[Pass]
    L -->|no| G
Loading

File-Level Changes

Change Details Files
将更新日志流程从共享的 CHANGELOG.md 手工维护改为 changelog.d/ 碎片驱动,并集中由发版流程生成版本相关文件。
  • 新增碎片命名、分类、格式、署名和使用说明。
  • 更新开发规范,要求用户可见 PR 恰好包含一个碎片且禁止普通 PR 修改 CHANGELOG.md、生成物和版本号。
  • 保留并扩展生成物同步逻辑,支持从碎片编译版本段、清空碎片并推进五处版本号。
.agents/skills/mas-code-standards/SKILL.md
.agents/skills/mas-skills/SKILL.md
AGENTS.md
CHANGELOG.md
changelog.d/README.md
changelog.d/release-flow.dev.md
scripts/changelog.py
实现自动化发版工作流,根据最新 tag 计算 beta、stable、patch 或显式版本,创建统一的 Release PR。
  • 新增 workflow_dispatch 发版入口及默认分支旧署名机器人检查。
  • 编译碎片、生成 CHANGELOG.md 和版本文件、渲染 Release PR 正文并创建发版 PR。
  • 支持转正时合并整个 beta 周期,并按碎片首次提交作者补充贡献者署名。
.github/workflows/prepare-release.yml
scripts/changelog.py
重构更新日志 CI 检查和发布前构建守门,覆盖 PR 类型、版本回退和 release 分支提交污染。
  • 普通 PR 校验用户可见代码与碎片数量、受保护文件和版本号变更,并支持 skip-changelog 与维护标签。
  • 发版 PR 校验碎片已清空且版本号高于最新 tag;同步 PR 执行生成物一致性检查。
  • 构建流程仅允许 main、dev 和 release/,发布前验证版本已推进且没有遗留碎片。
  • release/ PR 检查是否混入 dev 独有提交。
.github/workflows/check-changelog.yml
.github/workflows/build-app.yml
scripts/changelog.py
移除按文本 diff 自动补署名的旧机器人,改为发版时从碎片提交历史解析贡献者。
  • 删除 append-version-contributor 工作流。
  • 支持 noreply 邮箱、GitHub API 和 author 覆盖三种署名解析路径,并避免将 Co-authored-by 误记为贡献者。
.github/workflows/append-version-contributor.yml
scripts/changelog.py
为碎片解析、版本推进、发版编译、Release 正文和 PR 检查补充全面测试。
  • 覆盖碎片格式、分类、署名、版本排序与版本推进规则。
  • 覆盖 beta/stable 编译、周期汇总、版本回退、Release 正文选择和比较链接。
  • 通过临时 git 仓库测试 PR 规则、版本下限、作者解析和漏写碎片检测。
tests/tools/test_changelog_script.py

Possibly linked issues


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

复核建议:顶部手工预留的未发布段版本号与 tag 推算结果不一致时静默改号,
现在在 stderr 提示;发版 PR 的检查工作流先确认默认分支上的旧署名机器人已删除,
手工开的发版 PR 也能被拦;AGENTS.md 里「release 分支不编译更新日志」改为
「cherry-pick PR 不编译,补丁版在该分支运行准备发版」,消除与发版 PR 一句的歧义。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@qiyinxi

qiyinxi commented Sep 12, 2026

Copy link
Copy Markdown
Member Author

审核基于 27498afb856ee382b5d51af1bf9ba9a8714d1b5f。发现以下 4 项 P2,建议修复后合并。

  1. [P2] 不同目标分支会复用同一个发版分支。 prepare-release.yml:105–107 只用版本号生成 head 分支名。目前 dev 和 release/v5.5.0-beta.5 的最新可达 tag 都是 v5.5.0-beta.5,实算 beta 均得到 v5.5.0-beta.6。当新工作流部署到这两个受支持分支后,如果两边在打 tag 前分别准备该版本,就都会操作 chore/release-v5.5.0-beta.6;第二次运行会用另一个 base 的内容更新第一个 PR 的 head。create-pull-request v8 源码 确认已有同名分支会被更新。顺序执行也存在此问题,仅调整 concurrency 不够;建议把 base 纳入分支名,或拒绝复用其他 base 正在准备的同版本分支。ci: 同步发版流程工作流到 main(删除署名机器人,新增「准备发版」) #714 的同一份工作流也需要同步修正。

  2. [P2] 发版类 PR 会跳过 dev 提交混入 release 的检查。 changelog.py:906 在 kind == "release" 分支提前返回,后面的 dev_ref 检查不会运行。例如从 dev 准备的 Release v… PR 被误改目标为 release/*,只要版本号合规且碎片清空,就会放过随 PR 带入的 dev 独有提交。在独立临时仓复现:同一提交图按 normal 检查能报出混入的提交,按 check --pr-base release/v1.0.0-beta.1 --pr-kind release --dev-ref dev 检查却退出 0。建议把该检查放到类型分流前,让所有目标为 release 的 PR 都执行。

  3. [P2] 上一正式周期有补丁时,更新弹窗会漏掉历史说明。 changelog.py:1351–1358 只保留一个 previous_final,但补丁段只含自身增量。用 v5.5.0 汇总、v5.5.1/v5.5.2 补丁及 v5.6.0[-beta.1] 复现,首行 JSON 只剩当前版与 v5.5.2,v5.5.0 的破坏性变更和 v5.5.1 修复均丢失。客户端只过滤这份 JSON,无法补回缺失段;从旧版跳升或切换通道的用户因此看不全更新说明。建议携带上一正式周期的补丁链及 X.Y.0 汇总,并增加检查内容完整性的用例。

  4. [P2] 同名碎片再次使用时会署上旧作者。 changelog.py:721–722 从整条路径历史中取最早新增记录。碎片在发版后会被删除,后续 PR 可以再次使用同一分支名生成的文件名。实际复现 Alice 新增 → 发版删除 → Bob 新增同名碎片,fragment_author() 仍返回 alice,导致条目及贡献者列表署名错误。建议取最近一次新增记录,同时仍忽略该次新增之后的编辑。

验证:在该 HEAD 所在工作树自己的 Python 3.12.13 / pytest 9.1.1 环境运行,python -m pytest tests/tools/test_changelog_script.py -q -p no:cacheprovider --basetemp <全新临时目录> 68 passed;python -m pytest tests --collect-only -q -p no:cacheprovider 1013 tests collected,退出 0。第 2–4 项另用独立临时 Git 仓/纯函数实际复现。第 1 项核验了现有分支的版本计算和 action 源码,未实际触发远端发版工作流或创建发布 PR。初次测试遇到的日志及 pytest 临时目录 ACL 问题已通过适当权限和全新临时目录排除。

- 准备发版的 head 分支名把目标分支编进去(chore/release-<base>-<版本>):dev 与
  release/* 在同一个 tag 之后各自准备同一个版本号时,不再共用一个分支、后跑的改写先开的 PR。
- release 分支的「不得带入 dev 独有提交」检查移到 PR 类型分流之前,发版 PR 被误改目标到
  release/* 时同样会拦。
- Release 正文首行 JSON 里「上一个正式版」改为带上一个正式周期整条线(X.Y.0 汇总与其补丁),
  上个周期有补丁时不再丢掉 X.Y.0 的破坏性变更与更早的补丁说明。
- 碎片署名改取最近一次新增该文件的提交:碎片发版后被删、同名文件被后来的 PR 再次新增时,
  不再署成历史上第一个用过这个文件名的人。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
qiyinxi added a commit to qiyinxi/AUTO-MAS-with-M9A that referenced this pull request Sep 12, 2026
qiyinxi added a commit to qiyinxi/AUTO-MAS-with-M9A that referenced this pull request Sep 12, 2026
main 上旧的「检查更新日志」要求每个 PR 都改 CHANGELOG.md,这正是 AUTO-MAS-Project#713 废除的规则,
本 PR 自己就被它标红。把 AUTO-MAS-Project#713 的 check-changelog.yml、scripts/changelog.py、
其测试与 changelog.d/README.md 一并同步过来(与 AUTO-MAS-Project#636 同步脚本到 main 的做法一致),
目标是 main 的 PR 按「同步 PR」只校验格式与生成物;CHANGELOG.md 只有头部说明随新脚本
重新生成,各版本段与 res/version.json 未变。build-app.yml、AGENTS.md 等其余改动仍随
下一次 dev→main 合并同步。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- fragment_author 解析不到登录名时,git 作者名只有长得像登录名才拿来用,不再签出 https://github.com/<昵称> 这种坏链接
- split_signatures 认旧机器人写的 ` by [@A](..) [@b](..)` 形态,合并时归一成每个都带 by;转正跨 beta 段去重与贡献者名单不再漏人
- 「准备发版」误选 main 时显式报错,而不是整个运行灰色 skipped;explicit 的版本号说明改为「比所选分支可达的最新 tag 新」
- 转正顺序测试改用不重复的条目,反向并入会失败
- AGENTS.md 写明补丁版在最新 tag 对应的 release 分支上准备、本流程上线前的 release 分支仍按旧规则;README 写明不要重命名别人的碎片

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
qiyinxi added a commit to qiyinxi/AUTO-MAS-with-M9A that referenced this pull request Sep 12, 2026
与 AUTO-MAS-Project#713 的 c62a3cd 保持四个共享文件字节一致:scripts/changelog.py、tests/tools/test_changelog_script.py、
.github/workflows/prepare-release.yml、changelog.d/README.md。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@ClozyA
ClozyA merged commit 7066e98 into AUTO-MAS-Project:dev Sep 13, 2026
5 checks passed
ClozyA pushed a commit that referenced this pull request Sep 13, 2026
配合 dev 上的 #713。这两个文件都按默认分支取用,所以必须单独进 main:

- 删除 append-version-contributor.yml:它是 pull_request_target,从默认分支取文件,
  只删 dev 那份仍会继续跑,并会把发版 PR 的每一条都再签一次 PR 作者。
- 新增 prepare-release.yml:workflow_dispatch 只有存在于默认分支时 Actions 页面才有
  「Run workflow」按钮,运行时用的是所选分支(dev 或 release/*)上的文件。

其余工作流与脚本改动随下一次 dev→main 合并同步。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
ClozyA added a commit that referenced this pull request Sep 13, 2026
配合 dev 上的 #713。三样东西按默认分支取用或直接影响 main 上的检查,所以单独进 main(做法同 #636、#649):

- 删除 append-version-contributor.yml:它是 pull_request_target,从默认分支取文件,只删
dev 那份仍会继续跑,并会把发版 PR 的每一条都再签一次 PR 作者。
- 新增 prepare-release.yml:workflow_dispatch 只有存在于默认分支时 Actions 页面才有「Run
workflow」按钮,运行时用的是所选分支(dev 或 release/*)上的文件。head 分支名已按评审意见编入目标分支;#713
后续的审核修正(署名兜底、旧署名形态、误选分支时显式报错)已同步,四个共享文件与其 head 字节一致。
- 同步新版 check-changelog.yml 与
scripts/changelog.py(含测试、changelog.d/README.md):main 上旧规则要求每个 PR 都改
CHANGELOG.md,正是 #713 废除的规则,本 PR 自己就被它标红。同步后目标是 main 的 PR 按「同步
PR」只校验格式与生成物;CHANGELOG.md 只有头部说明随新脚本重新生成,各版本段与 res/version.json 未变。

build-app.yml、AGENTS.md 等其余改动仍随下一次 dev→main 合并同步。

## Sourcery 摘要

更新默认分支上的发版自动化流程,移除错误的贡献者署名并加入可控的发版准备流程。

新功能:
- 新增可手动触发的准备发版工作流,用于编译变更日志碎片、推进版本号并创建发版 PR。

错误修复:
- 删除会在发版 PR 中错误重复署名 PR 作者的版本贡献者机器人工作流。

改进:
- 增加发版前检查,确保默认分支已移除旧署名机器人,并支持按目标分支隔离发版 PR。

持续集成:
- 同步默认分支所需的发版流程工作流配置。

<details>
<summary>Original summary in English</summary>

## Sourcery 摘要

将更新日志与版本管理迁移到受控的碎片化发版流程,移除错误的贡献者署名机器人并完善 CI 守门。

新功能:
- 新增可手动触发的发版准备工作流,支持 beta、stable、patch 和显式版本发版,并自动创建发版 PR。
- 引入基于 changelog.d/ 碎片的更新日志维护流程,支持自动编译、版本推进、贡献者署名和 Release 正文生成。

错误修复:
- 删除会在发版 PR 条目中重复署名 PR 作者的旧贡献者机器人工作流。
- 加强更新日志与版本号校验,阻止版本回退、遗漏碎片及将 dev 独有提交错误带入 release 分支。

改进:
- 按普通、发版和同步 PR 实施差异化更新日志检查,并支持 skip-changelog 与维护标签。
- 增加发布前守门和发版前检查,确保碎片已清空、版本号有效且旧署名机器人已移除。

CI:
- 同步默认分支所需的发版工作流,并扩展更新日志检查的触发条件与分支校验。

文档:
- 新增更新日志碎片编写与发版流程说明,并更新 CHANGELOG.md 的维护规则。

测试:
- 补充更新日志碎片、版本推进、发版编译、署名处理、Release 正文及 PR 校验的测试覆盖。

<details>
<summary>Original summary in English</summary>

## Sourcery 摘要

在默认分支上采用受控的变更日志片段发布流程,移除错误的贡献者署名,并添加带保护机制的发布准备自动化流程。

新功能:
- 添加手动触发的发布准备工作流,用于编译变更日志片段、推进版本号并创建发布 PR。

错误修复:
- 移除错误地在发布变更日志条目中重复标记 PR 作者的贡献者标记工作流。

改进:
- 将变更日志维护迁移到 `changelog.d` 片段,并采用受控的发布编译、贡献者署名、发布说明生成和发布保护机制。
- 为普通 PR、发布 PR 和同步 PR 应用差异化的变更日志与版本检查,包括分支隔离和版本下限验证。

CI:
- 同步默认分支的变更日志工作流,并在 PR 标签或标题发生变化时触发检查。

文档:
- 编写变更日志片段和发布工作流的说明,并更新 `CHANGELOG.md` 维护指南。

测试:
- 扩展变更日志工具测试,覆盖片段、版本推进、发布编译、贡献者署名、发布说明和 PR 验证。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Adopt the controlled changelog-fragment release process on the default
branch, remove erroneous contributor attribution, and add guarded
release preparation automation.

New Features:
- Add a manually triggered release-preparation workflow that compiles
changelog fragments, advances the version, and opens a release PR.

Bug Fixes:
- Remove the contributor-labeling workflow that incorrectly duplicates
PR authors on release changelog entries.

Enhancements:
- Move changelog maintenance to changelog.d fragments with controlled
release compilation, contributor attribution, release-note generation,
and publication guards.
- Apply differentiated changelog and version checks for normal, release,
and synchronization PRs, including branch-isolation and version-floor
validation.

CI:
- Synchronize the default-branch changelog workflow and trigger checks
when PR labels or titles change.

Documentation:
- Document changelog fragment authoring and the release workflow, and
update CHANGELOG.md maintenance guidance.

Tests:
- Expand changelog tooling tests to cover fragments, version
progression, release compilation, attribution, release notes, and PR
validation.

</details>

</details>

</details>

<details>
<summary>Original summary in English</summary>



</details>
qiyinxi added a commit to qiyinxi/AUTO-MAS-with-M9A that referenced this pull request Sep 13, 2026
…60908

- CHANGELOG.md / res/version.json:取 dev,PR 不再改它们(AUTO-MAS-Project#713 起走 changelog.d 碎片)
- app/api/info.py:删除 /webconfig 端点(PR 侧)
- app/core/config.py:保留 import_script_from_share 及其后新增函数;import_script_from_file / export_script_to_file 随 AUTO-MAS-Project#696 删除不复活,旧 import_script_from_web 不恢复
- app/models/schema.py:保留 Share* / ScriptShareInspectIn;ScriptFileIn(dev 已删)与 ScriptUrlIn(PR 已删)都不保留
- scriptCreateFlow.ts:以 dev 为底(含 BAAH),回填 TemplateRequest 与 ShareTemplateItem
- Scripts.vue:整体取 dev,只回填 ScriptCreateDialog 路径上的分页 / 模板导入改动,旧内联弹窗不复活
- frontend/src/api:起合并后的后端重新 yarn openapi 生成,归一化为 LF

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
qiyinxi added a commit to qiyinxi/AUTO-MAS-with-M9A that referenced this pull request Sep 13, 2026
…ect#696 死代码清理等)

冲突处理:
- CHANGELOG.md、res/version.json 取 dev 侧(AUTO-MAS-Project#713 起普通 PR 不再改这两处)
- app/models/schema.py 与 ScriptCreateIn.ts 的脚本类型描述串两侧合并,同时保留
  MaaFW托管脚本与 BAAH脚本
- Service.ts 保留本 PR 的托管接口,去掉 dev 已删除的 webhook/order 方法
- AUTO-MAS-Project#696 删除而本 PR 修改的 4 个托管栈文件(project_store/service.py、
  project_update/service.py、embedded/managed/__init__.py、services.py)取本 PR 侧

AUTO-MAS-Project#696 按「零实例化」删掉的其余托管栈文件与活文件中的接线块由下一提交恢复。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
AthenaHibou added a commit to AthenaHibou/AUTO-MAS that referenced this pull request Sep 15, 2026
CHANGELOG.md 与 res/version.json 还原为上游状态(普通 PR 不得修改),本 PR 用户可见改动收敛为单个碎片 feat-config-restore.feat.md
qiyinxi added a commit that referenced this pull request Sep 15, 2026
cherry-pick #792(`310468e4e`)到 `release/v5.5.0-beta.5`:分支从 release
分支切出、只 cherry-pick 那一个提交,merge-base 就是 release 分支当前
HEAD(`8506f30bb`),补丁与 dev 提交逐字相同。

修复 MFW 项目运行前检查更新时报 `MirrorChyan [8001]: 对应架构和系统下的资源不存在`:Mirror 酱查版本一律带
`os`/`arch`,不再看 `interface.json` 的
`mirrorchyan_multiplatform`(MAA_Punish 分平台发布却没写它)。根因与线上实测见 #792。

验证(本分支检出):`pytest tests/task -k maafw` 224 passed;`pytest tests
--collect-only -q` 951 collected 退出码 0;ruff 改动文件全绿。

「检查 CHANGELOG.md 与生成物一致」红是 release 分支上 #713 之前的旧检查(要求改 CHANGELOG.md);按
#761 先例只放 `changelog.d/` 碎片,不动 CHANGELOG.md。

🤖 Generated with [Claude Code](https://claude.com/claude-code)

## Sourcery 摘要

通过一致地识别目标操作系统和架构,修复针对特定平台的 MirrorChyan 项目的 MFW 更新检查问题。

错误修复:
- 确保 MirrorChyan 版本检查始终包含 Windows 和 x86_64 平台参数,避免按平台发布的项目更新失败。

测试:
- 增加测试覆盖,确认无论接口的多平台设置如何,都会发送平台参数。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Fix MFW update checks for platform-specific MirrorChyan projects by
consistently identifying the target operating system and architecture.

Bug Fixes:
- Ensure MirrorChyan version checks always include Windows and x86_64
platform parameters, preventing update failures for projects published
per platform.

Tests:
- Add coverage confirming platform parameters are sent regardless of the
interface's multiplatform setting.

</details>

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
qiyinxi added a commit that referenced this pull request Sep 15, 2026
… 热修) (#795)

cherry-pick #793(`0c9748b72`)到 `release/v5.5.0-beta.5`:分支从 release
分支切出、只 cherry-pick 那一个提交,merge-base 就是 release 分支当前
HEAD(`8506f30bb`)。代码、测试与 changelog 碎片与 dev 提交逐字相同;只去掉了
`app/task/MaaFW/AGENTS.md` 的说明改动(该文件只在 dev 上存在)。

修复 `interface.json` 裸写 `"child_exec": "python"` 的项目(MAA_Punish 等)一启动就报
`Agent 进程已退出,无法连接: python, exit=1`(`ModuleNotFoundError: No module named
'maa'`):裸 `python` 改走项目隔离 venv,不再交给 PATH。根因(Windows `CreateProcess`
按父进程所在目录解析、`env["PATH"]` 不参与查找)与复现见 #793。

验证(本分支检出):`pytest tests/task -k maafw` 224 passed;`pytest tests
--collect-only -q` 951 collected 退出码 0;ruff 改动文件全绿。

「检查 CHANGELOG.md 与生成物一致」红是 release 分支上 #713 之前的旧检查(要求改 CHANGELOG.md);按
#761 先例只放 `changelog.d/` 碎片,不动 CHANGELOG.md。

🤖 Generated with [Claude Code](https://claude.com/claude-code)

## Sourcery 摘要

确保使用裸 Python 命令的 MAAFW 代理在正确的项目隔离环境中启动。

错误修复:
- 将声明裸 Python 可执行文件的代理通过项目隔离的虚拟环境运行,而不是依赖 PATH,从而避免因缺少 `maa` 依赖而导致启动失败。

改进:
- 统一处理裸 Python 命令和缺少捆绑解释器时的隔离虚拟环境回退逻辑。
- 识别常见的裸 Python 命令变体,并报告其隔离虚拟环境运行时分类。

测试:
- 增加对裸 Python 路由、共享隔离环境和运行时分类的覆盖。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Ensure MAAFW agents using bare Python commands start with the correct
project-isolated environment.

Bug Fixes:
- Route agents declaring a bare Python executable through the
project-isolated virtual environment instead of relying on PATH,
preventing startup failures caused by missing `maa` dependencies.

Enhancements:
- Unify isolated virtual-environment fallback handling for bare Python
commands and missing bundled interpreters.
- Recognize common bare Python command variants and report their
isolated-venv runtime classification.

Tests:
- Add coverage for bare Python routing, shared isolated environments,
and runtime classification.

</details>

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
@github-actions github-actions Bot mentioned this pull request Sep 24, 2026
4 tasks
ClozyA added a commit that referenced this pull request Sep 24, 2026
## Release v5.5.0

由「准备发版」工作流生成。这是唯一允许修改 `CHANGELOG.md` 与版本号的 PR,合并后请手动运行「构建并发布应用程序」。

合并前请在本 PR 里完成:

- [ ] 「本次亮点」够不够:合并前给碎片加 `highlight: true` 就会自动进这一类,现在也可以直接在
`CHANGELOG.md` 新版本段里把条目挪过去
- [ ] 脚本已按 `(仅公测)` 丢掉 70 条周期内引入又修掉的问题(清单见运行摘要与下面「体积」节),剩下的再看一眼有没有漏标的
- [ ] 同一件事写了简写和详写两遍的,保留详写;同专项多条可合成一句
- [ ] 改完运行 `python scripts/changelog.py sync` 并提交

### 体积

- 首行 JSON 8464 / 18000 字符,带 1 个版本段
- 本版 147 条,最长的几条:
- 100 字(新增)【主页】八张游戏活动卡合并为 banner 轮播并兼作游戏切换器,可按游戏或整体开关 (#654, #762, #775)
by @qiyinxi by @HarcoChen by @1w1w11w1
- 97 字(新增)【ok-ww】支持启动前按手机号后 4 位切换登录账号并导出问题包;自行接管鸣潮游戏更新 by @1w1w11w1 by
@AthenaHibou by @TCddddd by @qiyinxi
- 96 字(修复)【工具】修复日志跨零点后运行历史丢失、社区签到重复推送与首页日期格式异常黑屏等问题 by @AthenaHibou by
@Lance0174 by @1w1w11w1 by @TCddddd
- 91 字(新增)【调度】所有专项统一支持脚本、用户、直控三种配置来源,并可独立启用快速配置 (#735, #801, #815, #751)
by @1w1w11w1 by @AthenaHibou
- 84 字(新增)【ok-nte】运行日志关键节点注入任务报告;OK-WW 与 OK-NTE 任务报告可选关闭 / 逐条 / 汇总 by
@AthenaHibou by @qiyinxi
- 按 `(仅公测)` 丢掉 70 条:
  - (新增)【bgi】用户编辑页一条龙配置改为可视化拖拽队列,战斗四项各支持多个独立实例(仅公测) by @TCddddd
  - (新增)【绝区零一条龙】用户卡片新增来源、区服、账号尾号与一条龙任务数标签(仅公测) by @AthenaHibou
- (新增)【MFW】使用模拟器时可顺带打开游戏(包名自动识别或手动填写);任务前后自定义脚本每用户各跑一次(仅公测) (#638) by
@qiyinxi
  - (新增)【MFW】同一个任务可以重复加入任务队列,每一份各自配置选项与排序(仅公测) (#660) by @qiyinxi
- (新增)【模拟器】Emulator 2.0 支持「大雷主人模式」,并新增「打开游戏中心」按钮(仅公测) (#675) by @qiyinxi
- (新增)【Runtime】初始化下载前先对各下载源测速并按最快顺序使用,安装依赖时显示进度与速度(仅公测) (#678) by
@qiyinxi
- (新增)【MAA】养成计划可绑定森空岛,按当天可刷取的材料缺口刷取;库存保持展示本用户识别档案(仅公测) (#790) by
@jinghero
  - (新增)【bgi】一条龙配置区改为「配置组」并新增「录制」标签页,录制可作为独立队列项(仅公测) (#653) by @TCddddd
  - (新增)【bgi】新增「队伍配置」:秘境、地脉花、首领讨伐可分别指定队伍与战斗策略(仅公测) (#731) by @TCddddd
- (新增)【绝区零一条龙】用户设置新增启动参数配置(含 DX12 独立开关),与一条龙原生设置同源读写(仅公测) (#814) by
@AthenaHibou
- (新增)【BAAH】首页新增碧蓝档案活动卡片,可切换日服 / 国际服 / 国服查看进行中的活动(仅公测) (#707) by
@beichen24a1
  - (新增)【Runtime】初始化失败时始终保留查看日志入口,日志页支持打包日志(仅公测) (#742) by @Craun718
  - (新增)【BAAH】支持按碧蓝档案活动排期自动切换配置文件,并显示当前活动(仅公测) (#733) by @beichen24a1
  - (新增)【工具】首页新增签到情况与可切换用户的单条便笺,社区便笺支持按游戏查看(仅公测) (#912) by @Lance0174
- (变更)【MFW】interface 解析接上缓存(用户页进入 5.5s→0.12s);单独运行不再受单日次数上限约束(仅公测) by
@qiyinxi
  - (变更)【MFW】进入项目配置页不再每次等运行环境确认;通用脚本未填配置路径时任务前直接提示(仅公测) by @qiyinxi
- (变更)【MFW】MaaFramework 原生日志备份改为按保留天数一并清理,不再无限堆积(仅公测) (#640) by @qiyinxi
  - (变更)【设置】虚拟显示器改为常驻监测:检测不到真实显示输出自动挂上,恢复后自动拆掉(仅公测) by @qiyinxi
- (变更)【MFW】建脚本时「MFW」挪到通用脚本一栏,说明改为运行任何带 interface.json 的项目(仅公测) (#786) by
@qiyinxi
  - (变更)【MFW】用户页去掉「配置来源」三态与「快速配置」开关,任务队列始终显示(仅公测) (#788) by @qiyinxi
- (变更)【模拟器】「大雷主人模式」补齐宿主层:雷电加载页轮播与开机全屏页不再出现,关闭时还原(仅公测) (#804) by @qiyinxi
  - (变更)【end】恢复 MAS 切号兼容入口并提示滑索数据风险(仅公测) (#864) by @HarcoChen
- (变更)【MFW】MFW 的 .maafw.log 改为原生日志原样副本,MAS 侧输出另存 .worker.log(仅公测) (#881)
by @qiyinxi
  - (变更)【MFW】MFW 启动后画面稳定即下发任务,「启动后再等」并入游戏等待时间(仅公测) (#889) by @qiyinxi
  - (变更)【end】关闭游戏时可恢复启动前的显示模式与分辨率(仅公测) (#947) by @HarcoChen
- (变更)【MFW】项目更新包先走 GitHub 加速镜像并可回退直连,重试退避,进度带预计剩余时间(仅公测) (#945) by
@qiyinxi
- (修复)【MFW】修复 Win32 窗口定位超时、MXU 项目识别不出家族、内置运行未加载项目自带框架等问题(仅公测) by
@qiyinxi
- (修复)【bgi】修复一条龙配置级联退化与保存报错、跨零点日志误判、切号误删仓库等问题(仅公测) by @TCddddd by
@1w1w11w1 by @Craun718 by @qiyinxi
- (修复)【MFW】修复 Python 运行时损坏延迟报错、受限网络无镜像、环境不可用反复重启模拟器等问题(仅公测) by @qiyinxi
by @TCddddd
- (修复)【模拟器】修复模拟器已运行时不打开游戏、雷电与 MuMu 同时运行时操作打到另一台的问题(仅公测) by @qiyinxi by
@TCddddd
- (修复)【Runtime】修复启动界面日志窗口空白、深色模式标题栏变暗、双窗口抢连接、渲染崩溃黑屏(仅公测) by @qiyinxi by
@ClozyA by @TCddddd
- (修复)【绝区零一条龙】修复由 MAS 启动时报「运行环境同步失败」、自动模式失败后不切换启动器的问题(仅公测) (#646) by
@AthenaHibou
  - (修复)【Runtime】修复配了网络代理的用户初始化下载仍直连、卡在「程序文件」一步的问题(仅公测) by @qiyinxi
  - (修复)【Runtime】修复后端就绪前退出时只能反复重试的问题,同时提供「重建运行环境」入口(仅公测) by @qiyinxi
  - (修复)【绝区零一条龙】修复「快速导入配置」没有带入所选实例按键配置的问题(仅公测) (#716) by @AthenaHibou
  - (修复)【绝区零一条龙】修复运行记录被写坏时整个任务直接异常、无法继续运行的问题(仅公测) (#684) by @1w1w11w1
- (修复)【MFW】修复运行环境准备失败、beta.4 下脚本无法运行、Agent 版本不匹配连接超时等一批问题(仅公测) (#657) by
@qiyinxi
- (修复)【HSR】修复配置检查未通过或提前停止时,结果被显示成「恢复星铁分辨率注册表失败」(仅公测) (#726) by
@Taimer0721
  - (修复)【bgi】修复自动秘境未刷够轮次就结束、「刷取至树脂耗尽」被当作限定次数的问题(仅公测) (#753) by @TCddddd
- (修复)【bgi】合并 9 个改动:通知走 MAS 编排、进程杀不掉与提权重启误判、地脉花策略等一批修复(仅公测) (#787) by
@TCddddd
- (修复)【绝区零一条龙】修复代理任务已完成(含个别节点失败、次日重试)仍被历史记录标记为失败的问题(仅公测) (#727) by
@AthenaHibou
  - (修复)【BAAH】修复配置页多出一个「结束后关闭模拟器」开关的问题(仅公测) by @1w1w11w1
  - (修复)【BAAH】修复任务一启动就报错、完全无法运行的问题(仅公测) (#732) by @beichen24a1
- (修复)【MFW】修复雷电模拟器上打不进中文文本(如 M9A 兑换码输入框始终为空)的问题(仅公测) (#711) by @qiyinxi
  - (修复)【MFW】修复项目自带的资源热更新让运行前更新永远失败、每次白下全量包的问题(仅公测) (#810) by @qiyinxi
- (修复)【MFW】修复内置运行结束后代理次数、剩余天数与周期任务记录不保存的问题,运行期间锁定配置(仅公测) (#737) by
@qiyinxi
- (修复)【MFW】修复 agent 写作 python 的项目一启动就报「Agent 进程已退出」的问题(仅公测) (#793) by
@qiyinxi
  - (修复)【MFW】修复分平台发布的项目运行前检查更新时报「对应架构和系统下的资源不存在」(仅公测) (#792) by @qiyinxi
- (修复)【模拟器】Emulator 2.0 设备表与实例下拉提速数倍,启动 / 关闭有过渡态,「隐藏窗口」真正隐藏(仅公测) (#715)
by @qiyinxi
- (修复)【设置】虚拟显示器:任务期间真实显示器接回时弹窗询问是否拆除,未选择则任务结束后拆(仅公测) (#812, #802) by
@qiyinxi
  - (修复)【Runtime】初始化遇到仓库异常时直接说明需要删除的文件和重新下载方法(仅公测) by @ClozyA
- (修复)【end】修复使用 ADB 控制器时任务收尾未关闭模拟器,并可能丢失代理数据和结果通知的问题。(仅公测) (#906) by
@HarcoChen
- (修复)【bgi】修复「直控 + 快速配置」下一条龙任务一条都不跑,以及通知分步表与配置组右栏的显示、保存问题(仅公测) (#890) by
@TCddddd
- (修复)【bgi】修复进副本失败被误报成功;快速配置改按配置来源生效,直控不再改写原生配置(仅公测) (#896) by @TCddddd
- (修复)【MFW】MFW 运行超时时先截图再停止,每轮失败后重启 MAS 拉起的游戏或模拟器再重试(仅公测) (#880) by
@qiyinxi
- (修复)【MFW】更新前先预检运行环境,建不出来就不升级;PyPI 缺 maafw 版本时改从源码打包(仅公测) (#901) by
@qiyinxi
- (修复)【主页】修复碧蓝档案活动卡片在活动间隙把已结束的活动当成当前活动展示、倒计时停在 0 天 0 时的问题(仅公测) (#823) by
@beichen24a1
  - (修复)【调度】非自动代理模式不再显示用户下拉,启动也不再带用户(仅公测) (#784) by @ColinHouse
- (修复)【模拟器】修复 MuMu 同时开着时雷电实例刚启动就被判成没有 ADB 地址、MAA 连接失败的问题(仅公测) (#872) by
@qiyinxi
- (修复)【绝区零一条龙】修复运行或配置会话期间备份恢复失败的问题,损坏时会提示位置并支持确认后强制恢复(仅公测) (#915) by
@AthenaHibou
- (修复)【绝区零一条龙】修复直控模式运行一条龙时任务被跳过或提示未配置游戏路径的问题(仅公测) (#931) by @AthenaHibou
  - (修复)【绝区零一条龙】支持一条龙运行结束后关闭游戏或关机,默认关闭游戏(仅公测) (#937) by @AthenaHibou
- (修复)【绝区零一条龙】实例槽不再残留:可查看、清理与恢复,槽号被抢自动改绑留底,崩溃后配队不再丢(仅公测) (#942) by
@AthenaHibou
  - (修复)【MFW】运行前自动更新显示下载进度,停止任务即中止下载,新增脚本级代理地址(仅公测) (#943) by @qiyinxi
  - (修复)【工具】修复日志导出提示弹窗无法关闭的问题(仅公测) by @ClozyA
  - (修复)【MAA】修复 MAA 更新资源时误报内存不足、代理反复重试的问题(仅公测) (#955) by @jinghero
  - (修复)【绝区零一条龙】修复自动代理再次运行时报错中断的问题(仅公测) (#962) by @AthenaHibou
- (开发流程)统一导入排序、合并重复逻辑、清理死代码;前端类型治理;BetterGI 编辑页接入 i18n(仅公测) by @1w1w11w1
by @HarcoChen by @qiyinxi
- (破坏性变更)【MFW】新增自动更新时机设置,已有脚本默认「运行前更新」,可选下载源与更新通道(仅公测) by @qiyinxi by
@TCddddd
- (破坏性变更)【绝区零一条龙】升级后,旧版本存在脚本目录的原生配置备份不再显示在配置恢复列表,数据未删除(仅公测) by
@AthenaHibou

自 `v5.5.0-beta.8` 以来的改动:

### ⚠️ 破坏性变更

- 【MAA】代理接管时强制开启账号切换开关以确保按配置切号;未填账号时不切号 by @1w1w11w1
- 【MAA】计划表不再强制关闭「库存保持」,此前开启过的升级后自动生效并先于理智作战执行 by @jinghero
- 【HSR】脚本页「游戏启动参数」已移除,旧配置下次保存自动清除;窗口大小改由开关控制 by @qiyinxi
- 【调度】MAA、SRC、MaaEnd 与 OK-NTE 用户页配置模式由「简洁/详细」更名为「脚本/用户」 by @1w1w11w1
- 【工具】森空岛获取凭据改为扫码登录,完善社区签到、云游戏时长与日常便笺 by @Lance0174

### 🌟 本次亮点

- 【绝区零一条龙】新增绝区零一条龙(ZZZ-OD)专项,支持用户独立模式与直控模式 by @AthenaHibou by @TCddddd
- 【调度】调度队列新增循环队列;选中脚本后可指定单用户单独运行;完成后操作可自定义延时 by @qiyinxi by @TCddddd
- 【模拟器】新增「Emulator 2.0」:一条配置纳管多个雷电 14 / MuMu 6 实例并批量设置 by @qiyinxi by
@TCddddd
- 【通知】支持扫码绑定微信 Claw 和 QQ 官方机器人并接收任务通知 by @HarcoChen by @TCddddd
- 【Runtime】启动速度大幅优化,等待画面重做,出错给出一句话原因和主要操作 by @qiyinxi by @1w1w11w1

### ✨ 新增

- 【MAA】支持启动前检查并更新明日方舟客户端 by @1w1w11w1 by @qiyinxi
- 【MAA】新增绿票商店开关;托管结束后保存每日状态,同一天多次托管不再重复执行 by @qiyinxi by @1w1w11w1 by
@TCddddd
- 【MAA】日常调度新增「更换主题」开关;库存保持关卡下拉只列真正掉落的关卡并显示库存 by @jinghero
- 【MAA】用户配置新增干员养成目标,按材料缺口自动刷取,达成后自动移除并通知 (#721) by @jinghero
- 【end】新增脚本直控模式与每日仅执行一次,抢委托送货与自动采集独立为可单独配置的阶段 by @HarcoChen by @TCddddd
- 【end】任务报告新增各任务执行结果明细,展示方式可调 (#850) by @AthenaHibou
- 【HSR】用户配置页新增「额外脚本」,可在任务前后各执行一个自定义脚本 by @qiyinxi by @TCddddd
- 【HSR】可自动更新三月七助手与 SRA:默认关闭,开启后任务跑完检查安装,失败自动回滚 (#681) by @qiyinxi
- 【bgi】新增 bgi 专项,支持原神一条龙自动代理 by @TCddddd
- 【ok-ww】支持启动前自动更新鸣潮客户端 by @1w1w11w1 by @qiyinxi
- 【ok-ww】支持启动前按手机号后 4 位切换登录账号并导出问题包;自行接管鸣潮游戏更新 by @1w1w11w1 by
@AthenaHibou by @TCddddd by @qiyinxi
- 【ok-nte】运行日志关键节点注入任务报告;OK-WW 与 OK-NTE 任务报告可选关闭 / 逐条 / 汇总 by
@AthenaHibou by @qiyinxi
- 【ok-nte】支持按手机号后 4 位切换登录账号,支持经启动器拉起异环,新增问题包一键导出 by @AthenaHibou by
@TCddddd
- 【BAAH】新增碧蓝档案爱丽丝助手专项,可集中管理多个账号并自动完成每日任务 (#697) by @audiencegeg-glitch
- 【SRC】代理前自动检查并更新游戏客户端,避免强制更新卡死 (#854) by @1004452714
- 【MFW】新增 MaaFW 脚本类型,可直接托管 MaaFramework 项目(模拟器与 Win32) by @qiyinxi
- 【MFW】任务失败时自动截图,随代理结果与统计通知内嵌进邮件或 Webhook 发出 (#841) by @qiyinxi
- 【MFW】编辑页整改:PC 游戏默认由 MAS 启停、可临时改 Unity 分辨率,运行环境与更新改为日志面板 (#843) by
@qiyinxi
- 【主页】快速启动支持多选并记住上次选择 by @Craun718 by @TCddddd
- 【主页】八张游戏活动卡合并为 banner 轮播并兼作游戏切换器,可按游戏或整体开关 (#654, #762, #775) by
@qiyinxi by @HarcoChen by @1w1w11w1
- 【主页】每日一句旁新增「换一句」按钮 (#704) by @beichen24a1
- 【调度】支持每日首次启动时运行队列 by @luo-luo-o by @qiyinxi
- 【调度】新增每日首次启动运行队列;托盘右键菜单可自定义 by @luo-luo-o by @1w1w11w1 by @TCddddd by
@qiyinxi
- 【调度】所有专项统一支持脚本、用户、直控三种配置来源,并可独立启用快速配置 (#735, #801, #815, #751) by
@1w1w11w1 by @AthenaHibou
- 【调度】全部专项接入「配置恢复」:可浏览历史备份、预览摘要并一键恢复,各留最近 10 份 (#799) by @AthenaHibou
- 【调度】计划管理页的计划表支持拖拽排序,标签上可直接重命名 (#763) by @beichen24a1
- 【调度】调度队列的每个脚本任务可单独限定运行周几 (#770) by @qiyinxi
- 【模拟器】为 MuMu 启动、外部命令超时和任务收尾补充诊断日志 (#811) by @Craun718
- 【通知】支持将运行节点推送至任务报告 by @AthenaHibou by @qiyinxi
- 【通知】新增日志处理钩子层(成功 / 失败标志正则匹配),日志采集落地为通用组件 by @qiyinxi by @AthenaHibou
by @TCddddd
- 【通知】支持通过免费的中国移动 5G 短信接收任务通知(仅限中国移动手机号) (#774) by @ClozyA
- 【设置】支持自定义托盘菜单及任务控制命令;支持一键备份数据 by @1w1w11w1 by @qiyinxi
- 【设置】新增日本語与英文界面选项,首次启动跟随系统语言;主要页面文案接入词表 by @qiyinxi
- 【设置】新增虚拟显示器:无真实显示输出时临时挂 1920×1080 虚拟屏;更新提示按版本分区块展示 by @qiyinxi by
@TCddddd

### 🔧 变更

- 【MAA】重构用户配置页面 by @1w1w11w1 by @qiyinxi
- 【MAA】MAA 配置页直接编辑 base,队列交还 MAA,删除剩余理智任务 (#927) by @1w1w11w1
- 【MAA】库存保持的计划列表重新支持在 MAS 配置页直接编辑 (#958) by @1w1w11w1
- 【end】改用内置切号与游戏启动设置,结束关闭游戏时可恢复预设或自定义分辨率 (#748) by @HarcoChen
- 【end】用户页重新整理:分离基本信息与配置来源,简化任务分类并收起低频设置 (#764) by @HarcoChen
- 【end】可按需开启启动时分辨率设置,并支持关闭游戏后恢复为全屏 (#845) by @HarcoChen
- 【end】新建脚本时的类型说明改为写明「明日方舟:终末地」,并可按游戏名搜索到 (#924) by @qiyinxi
- 【HSR】脚本直控不再要求先导入快照,新增 SRA 配置档案下拉,管控任务配置项补齐中文名 by @qiyinxi
- 【MFW】运行前检查更新时不再重复提示「Mirror 酱 CDK 未配置」 (#838) by @qiyinxi
- 【MFW】用户页整改:队列与配置两栏等高滚动、队列行只留任务名、启用改下拉,脚本页自动识别游戏包名 (#855) by @qiyinxi
- 【主页】弱网下活动数据异常不再拖累所有请求;快速启动后自动跳转调度中心 by @1w1w11w1 by @Craun718
- 【调度】专项任务移除人工排查模式并统一签到入口 by @1w1w11w1 by @qiyinxi
- 【模拟器】「大雷主人模式」也会拦下雷电在桌面右下角定时弹出的推广窗口 (#836) by @qiyinxi
- 【通知】各类通知统一走同一渠道分发层;MaaFW 运行日志记录实际加载版本与来源 by @1w1w11w1 by @qiyinxi
- 【设置】统一编辑页样式并优化状态管理 by @ClozyA by @qiyinxi
- 【设置】接入主进程与渲染进程错误上报,抑制无异常日志并遮蔽本机用户名 by @HarcoChen by @ClozyA by
@qiyinxi
- 【设置】计划管理、模拟器管理等页面增加直达文档入口;自动清理 OCR 图片 by @1w1w11w1 by @HarcoChen
- 【设置】编辑页连续改动不再丢失、配置损坏时保留副本;各页面不再高频轮询,日志改增量推送 (#696) by @qiyinxi
- 【更新】后端更新自动在后台下载并于下次启动生效;Runtime 接入后统一完成初始化与监督 by @ClozyA by @qiyinxi

### 🗑️ 移除

- 【通用脚本】移除通用脚本的「快速配置」开关,直控模式直接使用脚本自身配置运行 (#757) by @1w1w11w1
- 【工具】移除米游币获取任务,保留米游社各游戏签到 by @Lance0174

### 🐛 修复

- 【MAA】修复任务生成覆盖用户原生高级配置、HSR 托管开关报错、剿灭队列与库存保持等问题 by @1w1w11w1 by @qiyinxi
- 【MAA】修复日常任务误用剿灭队列、剿灭体力耗尽误判完成、v6.14 后不切号等问题 by @1w1w11w1 by @qiyinxi by
@TCddddd
- 【MAA】修复未返回分服关卡数据时用户配置页打不开的问题 by @qiyinxi
- 【MAA】修复配置方案与新版配置文件不一致时任务直接中断、剿灭被误记完成或反复重跑的问题 by @1w1w11w1
- 【MAA】修复活动关优先失败但后续理智作战完成时整轮仍被判失败的问题
- 【MAA】修复剿灭周完成与绿票商店月完成状态跨周 / 跨月后不刷新的问题 (#739) by @jinghero
- 【MAA】修复每周剿灭因理智不足空跑时反复重启重试的问题,理智不足时跳过本次剿灭 (#760) by @1w1w11w1
- 【MAA】修复库存保持任务刷到的材料未计入掉落统计的问题 (#734) by @jinghero
- 【MAA】修复自定义基建排班无法手动选班次、换班始终同一班的问题,带时间段的按时间段换班 (#772) by @jinghero
- 【MAA】修复 MAA 里开启的临期理智药等理智作战选项不生效,并移除自动肉鸽开关 (#875) by @1w1w11w1
- 【MAA】修复 MAA 托管会话后任务队列被改回默认、部分任务设置丢失的问题 (#907) by @1w1w11w1
- 【MAA】修复静默模式下 MAA 仍弹出公告与更新弹窗的问题 (#918) by @jinghero
- 【MAA】修复脚本模式下多个自定义基建用户共用班次指针、重试时提前换到下一班的问题 (#939) by @qiyinxi
- 【MAA】修复 MAA 内存不足误报超时、掉落少记,及 ok-ww 体力不推送、MaaEnd 无任务误判的问题 (#926) by
@jinghero
- 【MAA】修复静默模式下 MAA 启动后仍显示窗口的问题 (#953) by @1w1w11w1
- 【end】修复脚本退出后任务持续等待问题 by @HarcoChen by @qiyinxi
- 【end】修复更新后已完成任务被误判失败并重试的问题 by @HarcoChen by @TCddddd
- 【end】修复脚本更新移除旧任务后,自动代理重试反复报「没有启用的任务」并卡住的问题 (#672) by @1w1w11w1
- 【end】修复脚本设置在 MaaEnd 配置目录缺失时额外报「配置换入的源目录不存在」的问题 (#752) by @Taimer0721
- 【end】修复指定理智关卡可能不生效的问题,并按安装版本动态显示自动采集路线 (#745) by @HarcoChen
- 【end】修复游戏退出后再次启动时误报失败并浪费一次重试的问题 by @HarcoChen
- 【end】修复重试时带入失效任务、无可执行任务时等待超时的问题 by @HarcoChen
- 【end】问题包包含最近三次失败记录,并自动清理超过 10MB 的登录截图。 (#905) by @HarcoChen
- 【HSR】修复 M7A 切换界面失败未重启任务问题 by @1w1w11w1 by @qiyinxi
- 【HSR】修复接入词表后 MaaEnd 与 HSR 编辑页无法加载、只填三月七路径时任务被分给 SRA 等问题 by @qiyinxi
- 【HSR】修复任务配置文本项被清空、开启培养目标后历战余响不刷、脚本升级后表单消失等问题 by @qiyinxi by @TCddddd
- 【HSR】修复系统区域非中文时三月七助手每个模块被判失败、整轮重复运行的问题 (#639) by @qiyinxi
- 【HSR】修复三月七助手输出在日志与通知里全是乱码、失败原因只截一条的问题;Webhook 被拒收时提示 by @qiyinxi
- 【HSR】修复在 MAS 中改 M7A 配置后时间被写成整数、M7A 无法启动的问题 (#782) by @ColinHouse
- 【HSR】SRA 2.22.0 后「日常与奖励」不再让整个用户的任务启动前中止,兑换码开关按新版配置生效 (#808) by
@Taimer0721
- 【HSR】修复 SRA 历战余响混跑日常时漏记完成、战斗超时后又误记为完成的问题 (#791) by @jinghero
- 【HSR】修复脚本直控忽略日常/周常超时设置、固定 120 分钟后才终止卡住脚本的问题 (#935) by @qiyinxi
- 【ok-ww】修复 OK-WW 与 OK-NTE 多用户切号窗口定位与退出残留、体力报告误显与任务推送失败 by @AthenaHibou
by @TCddddd
- 【ok-ww】修复脚本配置页点「检查更新」后任务立即报错、鸣潮客户端手动更新无法开始的问题 (#695) by @1w1w11w1
- 【ok-ww】修复 ok-ww 任务结束后启动器设置未还原、设置会话把「游戏退出时关闭应用」永久写入的问题 (#903) by
@1w1w11w1
- 【ok-ww】修复 ok-ww 更新源被游戏区服设置静默切换,并移除面板中已由账号切换取代的多账号日常任务选项 (#904) by
@1w1w11w1
- 【SRC】修复任务结束后的进程与配置清理问题 by @Craun718 by @qiyinxi
- 【MFW】修复由 MAS 启动桌面游戏后十几秒就报识别异常失败的问题,新增「启动后再等」可调 (#857) by @qiyinxi
- 【MFW】Agent 连不上时说清自带 Python 的 maafw 与原生库协议不匹配,不再只报连接超时 (#885) by
@qiyinxi
- 【MFW】修复 FOS 等没有 requirements.txt 的 Python agent 启动即退出 (#884) by
@qiyinxi
- 【通用脚本】修复直控模式下文件占用时配置目录被部分删除且不还原;明日方舟 PC 工具连接失败每秒重试 by @qiyinxi
- 【通用脚本】修复配置备份静默失败,以及 M9A 通知版本号截断、掉落统计丢失的问题 (#822) by @jinghero
- 【通用脚本】修复通用用户无法启动通用配置的问题 by @HarcoChen
- 【通用脚本】修复通用脚本配置文件缺失时任务报错中断的问题 (#829) by @beichen24a1
- 【主页】修复启动过程中弹出无意义的 Network Error 提示、首页卫星动画不显示的问题 by @1w1w11w1
- 【调度】修复开机自启动后台任务异常未记录、通知服务延迟加载导致错误的问题 by @1w1w11w1 by @AthenaHibou by
@qiyinxi
- 【调度】修复 M9A 跨午夜后监控读旧日志、「每日首次」跨日漏跑或重跑、时钟跳变误判超时等问题 by @qiyinxi
- 【调度】修复任务完成后没有执行关机 / 重启等电源操作,以及日志被重复订阅记录刷屏的问题 by @1w1w11w1
- 【调度】修复脚本配置目录含只读文件(如 .git)时,收尾复原配置失败、整单被记为异常的问题 (#693) by @1w1w11w1
- 【调度】修复脚本配置目录被占用或含只读文件时,收尾复原配置失败、目录半删的问题 by @1w1w11w1
- 【调度】修复复制脚本或任务结束后,用户配置修改只在当前会话生效、重启回退的问题 (#736) by @qiyinxi
- 【调度】修复任务异常中断后脚本原有配置丢失、再次打开变成旧配置或空白的问题 (#728) by @1w1w11w1
- 【调度】修复快速配置开关无法可靠保存、关闭后仍影响任务的问题 (#781) by @1w1w11w1
- 【调度】修复删除脚本或用户时因数据目录里有只读文件而失败、目录残留的问题 (#824) by @beichen24a1
- 【调度】修复任务运行中仍可修改或恢复相关脚本配置的问题,运行期间会自动锁定 (#844) by @Craun718
- 【模拟器】修复部分 MuMu 因命令输出混有日志而无法读取信息的问题 by @qiyinxi
- 【模拟器】修复雷电 VBox 服务卡住时的启动问题:自动重启服务再试,并补回被修残的运行时 by @qiyinxi
- 【模拟器】修复模拟器关闭动作缺少超时、关闭失败时任务收尾长时间卡住的问题 by @1w1w11w1
- 【通知】修复多用户节点详情被合并推送的问题;新增 / 删除规则时不再过早提示缺字段 by @AthenaHibou by @qiyinxi
- 【通知】修复社区通知重复发送、同名 Webhook 漏发签到摘要,以及库街区签到失败的问题
- 【工具】修复日志跨零点后运行历史丢失、社区签到重复推送与首页日期格式异常黑屏等问题 by @AthenaHibou by
@Lance0174 by @1w1w11w1 by @TCddddd
- 【工具】游戏已在运行时提示启动参数本轮不会生效 (#867) by @beichen24a1
- 【工具】修复启动参数含引号或空格时不生效的问题 (#866) by @beichen24a1
- 【设置】修复 MFW、M9A、HSR 与主页的一批问题:多项设置从未生效、HSR 周常提前翻页等 by @qiyinxi
- 【更新】修复 Mirror 酱一次性下载地址被缓存复用导致更新失败、系统通知标题过长推送失败等问题 by @qiyinxi by
@ArmedHelicopter
- 【更新】修复后端断连立即弹窗阻塞(改为非阻塞提示)与更新后端时误报失去连接的问题 by @qiyinxi by @TCddddd
- 【更新】修复更新日志过长时检查更新失败、新版本提示不显示的问题 (#818) by @beichen24a1
- 【更新】检查更新在更新日志异常时不再失败,仍会正常提示新版本 (#820) by @beichen24a1
- 【Runtime】修复了关闭应用时需要等待后端退出后窗口才消失的问题。 (#910) by @ClozyA

### 🛠️ 开发流程

- 修复前端类型与 lint 检查问题 by @1w1w11w1
- 清理无用前端资源、依赖及后端冗余代码 by @1w1w11w1 by @qiyinxi
- 开发环境改用独立端口与 userData,可与正式版同时运行;前端检查迁至 oxlint by @qiyinxi by @Craun718
by @HarcoChen
- 新增 GitHub Issue 模板;清理未达规范的测试文件;禁止 AI 协助 force push by @qiyinxi by
@1w1w11w1 by @Craun718
- 首页卫星图标改从全局图标表取,新增专项时不再漏掉主页卫星 (#642) by @qiyinxi
- 收敛各专项重复的日志推送与启动参数拆分实现 by @1w1w11w1
- 恢复 tzdata 依赖:Windows 上没有系统时区数据库,移除后时区查询会失败 by @1w1w11w1
- 修复开发环境前端无法启动的问题 (#778) by @1w1w11w1
- 开发环境未通过 yarn dev 启动时直接报错退出,不再静默加载陈旧的构建产物 (#777) by @1w1w11w1
- 补上 MaaFW 引擎的 AGENTS.md,修正专项适配 skill 里两处说明 (#785) by @qiyinxi
- 更新日志改为每个 PR 在 changelog.d/ 放碎片,发版时统一编译并推进版本号 (#713) by @qiyinxi
- 更新日志碎片改为「项目 + 50 字」,公告按项目排序、署名不带链接,首行 JSON 设预算 (#861) by @qiyinxi
- 去掉雷电 VBox 自愈模块导入时的 SyntaxWarning (#934) by @qiyinxi

## Sourcery 摘要

发布 v5.5.0,并整合其变更日志和版本元数据。

增强功能:
- 将 v5.5.0 beta 版本的发布历史合并到统一的 v5.5.0 变更日志中。

构建:
- 将应用程序、前端和 Python 软件包的版本从 v5.5.0-beta.8 更新为 v5.5.0。

维护:
- 刷新 v5.5.0 的生成发布元数据和锁定文件。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Release v5.5.0 and consolidate its changelog and version metadata.

Enhancements:
- Promote the v5.5.0 beta release history into the consolidated v5.5.0
changelog.

Build:
- Update application, frontend, and Python package versions from
v5.5.0-beta.8 to v5.5.0.

Chores:
- Refresh generated release metadata and lockfile for v5.5.0.

</details>

Co-authored-by: ClozyA <133191303+ClozyA@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog-maintenance 维护者整理 CHANGELOG.md 或版本文件,放开碎片检查

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants