Replies: 1 comment
-
关于单线更新模型修改的问题,这里给点建议供参考:
条目 1 的小部分相关代码可尝试参考 #1850 中的 这样做的目的是在开发人员不足的当下尽量减少工作量以避免长期搁置,因为大部分逻辑都可以重用,并且(应该)兼容旧版本启动器的更新检查逻辑。 (观点中有什么不对劲的可随时指出.jpg) |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
摘要
本提案旨在改进 PCL CE 版本发布机制,以便使本体更新机制更加清晰并提升用户的更新体验。
历史
目标
非目标
成功指标
动机
随着 Nightly(暂名)更新通道即将推出,现有本体更新机制将更加复杂,用户可能难以理解各个通道的区别。
同时,此前一直采用的单线模型也有不少弊端:
对于本体更新的用户体验,存在以下问题:
在有新版本时显示提示选项时,部分用户希望尽可能缩短 显示提示 - 点击更新 - 更新完成 流程的用时,而互联网连接速度可能不稳定,导致下载用时较长,给使用带来了不确定性。描述
本提案提议将 PCL CE 本体更新分为以下几种通道:
基本稳定的版本,仅推送修复性更新与部分内置资源更新,适合大多数用户使用。
此通道的版本号规则:
M.X.Y其中M为主要版本号,一般固定为2;X为次要版本号,一般单调递增,且对每个正式版分支唯一;Y为补丁版本号,一般单调递增,且针对每个正式版分支独立计算。可能不稳定的测试版本,将会进行功能的早期测试,适合希望帮助测试且有一定技术能力的用户使用。
此通道的版本号规则:
M.X.Y-beta.Z其中M为主要版本号,一般固定为2;X为次要版本号,一般单调递增,且比最新正式版分支大1;Y为补丁版本号,固定为0;Z为 Beta 构建号,一般单调递增。可能极不稳定的开发版本,直接从最新源代码构建,适合高度技术性用户。
此通道的版本号规则:
M.X.Y-dev.<commit hash>其中M.X.Y规则与 Beta(测试版)一致,<commit hash>为当前构建对应的 Commit Hash(取前 7 位)。在开发过程中,开发者应当在正式版更新时迁出
release/M.X分支,然后针对该分支发布 Release。针对正式版分支的补丁移植,相关 PR 应当在标题末尾附上release/M.X标记,并添加backport标签。对于本体更新选项:
在有新版本时显示提示选项分离为自动下载并提示更新与提示更新选择
自动下载并提示更新时,启动器先行检查更新并下载可用更新,在下载完成后提示用户更新,用户确认后开始安装流程;选择提示更新时,启动器检查更新,并在有可用更新时提示用户更新,用户确认后再开始下载在有新版本时自动下载选项修改为自动下载并安装更新,并提供相关说明,提示用户该选项在更新前无显著提醒。影响
将涉及软件内界面文本修改、功能调整、开发流程变更。
兼容性
支持从较早版本升级到使用新发布机制的版本。
替代方案
曾考虑直接在现有 Slow Ring / Fast Ring 通道模型上修改,但可能造成用户困惑。
Beta Was this translation helpful? Give feedback.
All reactions