Skip to main content
Cypress应用

路线图

Cypress应用

在Cypress,我们乐于分享正在开发的内容,并始终致力于提高与社区的透明度和沟通。如果您想了解更多关于Cypress应用未来计划的信息,请查看我们的Cypress应用优先级看板

发布阶段

Cypress遵循语义化版本控制(参见此处摘要),以便在升级到新版本时明确可能受到的影响。如果是次要版本升级,例如从11.0.011.1.0,您在使用Cypress时应该不会遇到中断。如果是主要版本升级,例如从11.1.012.0.0,您可能需要做出更改才能继续使用Cypress。在大多数情况下,这是一种有效的方式来考虑升级到下一个版本的Cypress可能带来的影响。然而,在某些情况下,Cypress的某个功能可能处于开发阶段,此时它可能不遵循这些规则。

为了帮助用户了解这种情况,我们整合了不同发布阶段的定义:正式发布(GA)、Beta、Alpha和实验性。我们还描述了在每个阶段进行变更和沟通的方法。

正式发布(GA)

达到正式发布阶段的功能是我们认为功能完整且在大多数用例中没有问题的功能。

正式发布功能的变更发布和沟通策略

  • 修改
    • 修改可以在任何发布周期中引入,并会增加语义化版本号
  • 破坏性变更
    • 破坏性变更只会在主要版本发布时引入,此时语义化版本号会进行主版本升级
    • 在某些情况下,可以通过公开包提前访问这些变更
  • 移除
    • 移除只会在主要版本发布时引入,此时语义化版本号会进行主版本升级
    • 在大多数情况下,移除之前会有一个功能被“弃用”的时期
    • 将提供迁移步骤以尽量减少这些情况下的痛点

Beta

Beta功能可能尚未功能完整,但它们应该足够接近完成,预计不会有重大变更。Beta功能包括我们希望通过在正式发布前将其作为默认功能来收集用户反馈的功能。

Beta功能的变更发布和沟通策略

  • 修改
    • 修改可以在任何发布周期中引入
    • 修改将被记录,并在适当的情况下突出显示推荐的代码更改
  • 破坏性变更
    • 破坏性变更可以在任何发布周期中引入,并且不会导致语义化版本号的主版本升级
    • 破坏性变更需要应用内消息以帮助用户在需要时解决问题
    • 在此阶段应仔细考虑破坏性变更的引入和影响,因为对用户的成本高于Alpha功能
  • 移除
    • 与功能相关的任何新功能的移除可以在任何发布周期中进行,并会增加语义化版本号。这些移除不需要与主版本发布同时进行。
    • 在此阶段的移除将很少见,并且会记录迁移策略及移除原因

Alpha

Alpha功能包括我们希望通过在正式发布前将其作为默认功能来收集用户反馈的功能。Alpha功能可能尚未功能完整,在此阶段可能会有变更。

Alpha功能的变更发布和沟通策略

  • 修改
    • 修改可以在任何发布周期中引入,可能会也可能不会增加语义化版本号
    • 修改将被记录,并在适当的情况下突出显示推荐的代码更改
  • 破坏性变更
    • 破坏性变更可以在任何发布周期中引入,并且不会导致语义化版本号的主版本升级
  • 移除
    • 与功能相关的任何新功能的移除可以在任何发布周期中进行,并且不会导致语义化版本号的主版本升级

实验性

实验性功能包括我们希望在完全承诺进一步开发之前收集用户反馈的功能。这些功能需要通过以experimental为前缀的配置值来启用。这些功能可能不稳定并存在问题。在功能的实验性生命周期内,您应该会看到频繁的变更和改进。当前的实验性功能可以在此处找到。

实验性功能的变更发布和沟通策略

  • 修改
    • 修改可以在任何发布周期中引入,可能会也可能不会增加语义化版本号
  • 破坏性变更
    • 破坏性变更可以在任何发布周期中引入,并且不会导致语义化版本号的主版本升级
  • 移除
    • 与功能相关的任何新功能或整个功能的移除可以在任何发布周期中进行,并且不会伴随语义化版本号的主版本变更