Vue 2 即将停止维护

随着2024年的临近,我们想借此机会提醒Vue社区,Vue 2将于2023年12月31日达到生命周期结束(EOL)。

Vue 2.0于2016年发布,已经过去了7年多的时间。它是Vue成为主流框架征程中的一个重要里程碑。许多当前的Vue用户是在Vue 2时代开始使用Vue的,也有许多出色的项目是使用它构建的。

然而,同时维护两个主要版本对我们来说是不可持续的。随着Vue 3及其生态系统的成熟,是时候让我们的团队转向并集中精力在最新的主要版本上。

2023年12月31日后会发生什么呢?

在过去的18个月中,自Vue 2.7版本以来,Vue 2一直在接收必要的错误修复和安全性修复,但我们停止了对其进行新功能的发布,以便将精力集中在改进Vue 3上。

随着这个日期的临近,Vue社区应该为Vue 2的淘汰做好准备。在2023年12月31日,我们将在npm上将以下包标记为弃用:

  • 所有Vue 2核心的主要和次要版本
  • 专门支持Vue 2的vue-router版本(3.x及以下)
  • 专门支持Vue 2的vuex版本(3.x及以下)
  • 在2023年12月31日之后,Vue 2将不再接收新功能、更新或修复,尽管它仍将在所有现有的分发渠道(CDN、包管理器、GitHub等)上可用。

换句话说,您的应用程序将继续运行,但您将从您的包管理器中收到弃用警告,提醒您Vue 2不再是受支持的版本。

接下来的计划:

Vue 3自2022年2月7日起已成为Vue的默认版本。已经迁移的用户享受到了:

  • 更好的性能,包大小更小,渲染更快。
  • 增强的TypeScript支持,更易于大规模应用程序开发。
  • 更高效的基于Proxy的响应性系统。
  • 新的内置组件,如Fragment、Teleport和Suspense。
  • 改进的构建工具支持和Vue Devtools体验。
  • …等等!
    请考虑迁移,如果可能的话!

仍在使用Vue 2?以下是您的选择:

在过渡期间,我们意识到会出现各种情况,用户可能需要其他选项,直到能够进行迁移,或者迁移可能根本不可行。以下是一些建议。

升级至Vue 2的最终版本

即将发布的EOL版本(2.7.16)将是Vue 2的最终版本。计划于2023年12月23日发布。这个补丁版本包含了一些对2.7功能的最终修复,并改善了与Vue 3的类型对齐。它目前处于beta版本,我们鼓励您尝试并报告此版本与2.7.15之间可能存在的任何问题。
我们强烈建议您一旦发布2.7.16版本,就立即进行更新。这将是下文提到的延长支持的起点。

为Vue 2购买延长支持

如果您必须在Vue 2的EOL后继续使用,我们与HeroDevs合作提供了永不结束的支持(NES)。Vue 2 NES为Vue 2提供持续的更新和安全性补丁,即使在EOL之后,以确保具有严格合规要求的应用程序仍然安全合规。它还确保Vue 2应用程序在现代浏览器中继续有效运行,并与Nuxt、Vuex和Vuetify 2等关键库保持兼容。最后,Vue 2 NES具有持续的安全监控和14天的问题解决服务水平协议(SLA)。
Vue 2 NES是您在Vue 2 LTS期间享受的支持的延续 —— 而且是无限期的。有关更详细的信息,请访问HeroDevs Vue 2 NES页面。

通知您的用户关于Vue 2的EOL计划

如果您现在无法迁移到Vue 3或使用Vue 2 NES,但仍然继续使用Vue 2,您可能需要考虑如何将您的Vue 2安全计划传达给您的客户。
这并不适用于所有Vue用户,但许多团队被禁止通过SLA、合同和协议或对下游方的其他义务发布不受支持的软件。这些可能是与客户、合规机构或甚至内部公司部门之间的义务。对于越来越多的行业,管理监管机构也对软件创作者负有责任的期望不断提高。

如果您遇到这样的业务要求,您可能需要告知您的客户、经理、CISO或其他相关利益相关者,您计划如何管理支持并解决任何潜在的CVE。Vue 2在过去没有主要漏洞,但即使是最成熟的EOL项目也可能出现CVE —— 无论是直接还是通过受损的依赖项。通过OpenCVE和Snyk等组织订阅CVE通知可能是发现漏洞的好方法。浏览器也可能发布破坏遗留库的更改 - 这是罕见的,但确实会发生。

展望未来:

当Vue 2最终达到EOL时,对我来说将是一个感人的时刻,但与此同时,我对我们未来的前景比以往任何时候都更加兴奋。Vue 3生态系统一直在创新中蓬勃发展。Vue 3.4目前正在beta测试中,其中包括编译器和运行时的性能改进。我们还在Vapor Mode方面取得了良好的进展。Vue 2的结束只标志着新的开始 —— 2024年将是Vue的一个令人兴奋的一年!

原文:https://blog.vuejs.org/posts/vue-2-eol