You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
6e794a19e 的破坏性陈述("Breaking for anyone reading node.ui")在正文靠后的段落 ⇒ 首段读不到,生成出来的条目就是一句普通行为修复:
- **minor** — The flow designer writes node geometry as the spec's `FlowNode.position`, not its
own `ui: { x, y }` (objectui#3172). (objectui `6e794a19e`)
于是"作者升级时会踩到的破坏性迁移"能不能进入平台发布记录的视野,靠的是上游作者的排版习惯,而不是机制。这正是 #4731 自己写下的那条理由的另一半 —— "Breaking changes are the single class that must never vanish from a release record";#4731 解决了"进不去",剩下"进去了但认不出来"。#3340 关心的也是同一条链路的完整性。
未认领。 发现于 #6089 的 pin 刷新(PR #6097),不在那个 PR 的范围内,单开记录。
现象
scripts/objectui-changeset-digest.mjs里,"这条是不是破坏性变更"的判据是声明级别等于major:它只驱动一件事 —— 生成的
@objectstack/consolechangeset 末尾那句提示:但 objectui 在 v17 发布窗内不用
major声明破坏性变更,而是minor+ 正文标注(与本仓check-changeset-no-major.mjs的窗口约定同源:窗口外一个major会把整个 lockstep 组顶上去)。于是判据与约定错位,breaking恒为 0,那句提示永远不触发。实测(PR #6097 的区间
f5bc4c78be76...f995a452d2ca)区间里有两条确凿的 v17 破坏性变更,digest 判定
breaking = 0:042e09d77refactor(types,react,components,fields)!field-widget-single-metadata-carrier.mdminor6e794a19efix(app-shell)!flow-node-geometry-is-spec-position.mdminor区间内 64 条 releasing changeset:14
minor/ 50patch/ 0major。也就是说,连提交标题上带!的那两条,在 digest 眼里都与一条普通 patch 无异。为什么这值得单开
不是"丢失"——两条都在清单里,级别正确、摘要完整,#4731 修好的那部分是稳的。问题在能不能被认出来,而这一点目前取决于 changeset 作者是否碰巧在正文首段自报家门(digest 取的正是首段):
042e09d77的首段以**BREAKING (v17)**开头 ⇒ 条目里能看见;6e794a19e的破坏性陈述("Breaking for anyone readingnode.ui")在正文靠后的段落 ⇒ 首段读不到,生成出来的条目就是一句普通行为修复:于是"作者升级时会踩到的破坏性迁移"能不能进入平台发布记录的视野,靠的是上游作者的排版习惯,而不是机制。这正是 #4731 自己写下的那条理由的另一半 —— "Breaking changes are the single class that must never vanish from a release record";#4731 解决了"进不去",剩下"进去了但认不出来"。#3340 关心的也是同一条链路的完整性。
两种读法(留给分诊定级)
@objectstack/console的 CHANGELOG 输入层 —— 现在就在生效。按"立案时判定的严重度两个方向都不可靠"(#4949 的经验)的原则,如实记两读法,不自打级别标签。
可能的落点(不预设结论)
major"扩到"级别 =major或 正文命中破坏性标注(BREAKING、!型提交)";!(bump-objectui.sh 的 pin changeset 只收 feat|fix 且静默截断到 40 条 —— 破坏性 refactor! 进不了前端发布记录 #4731 明确反对用类型当过滤器,但把!当作附加信号、不改变收录集,与那条理由不冲突 —— 需要维护者判断这算不算破线);三条各有代价,尤其 2 与 #4731 的"declaration over inference"取向的边界需要维护者裁定,故不在 #6097 里顺手改。
关联
pnpm objectui:refresh并落 console pin —— pin 落后 objectui main 98 个 commit,两条 v17 破坏性变更与 102 条待发 changeset 声明目前进不了 v17 #6089 / PR chore(console): 刷新 objectui pin 到 f995a452d2ca —— 98 个 commit / 64 条 releasing changeset / 2 项 v17 破坏性变更进入 v17 #6097 —— 本次发现的现场