This page is a translated version of the page Version lifecycle and the translation is 100% complete.

MediaWiki使用持续集成的开发模式,其中软件的更改会定期推送到如维基百科的维基媒体项目网站上。

理论上,新的主要版本每半年发布一次,且这些发布版本将会在首次发布后最多一年继续获得安全补丁。由于时间不足且代码经常改变,我们无法永远支持过时的版本,而且安全和重大更新也不会给已经结束生命周期的过时版本应用。

发布管理员强烈建议维基运行者订阅 mediawiki-announce 邮件群组,这个邮件群组可以收到所有版本发布的通知且让维基运行者能保证他们的维基运行了最新版本的软件。这些公告也会发布在 mediawiki-lwikitech-l 邮件列表。

版本与对应的支持时长

关于完整的历史,参见:w:MediaWiki version history
版本 状态 发布日 生命周期结束日
1.43.x 未来长期支持版本
1.42.x 未来版本
1.41.x 当前稳定版本
1.40.x 仍受支持的旧版本
1.39.x (LTS) 当前长期支持版本
1.38.x 不再支持的旧版本

未在上表列出的版本,及在上表中标记为“已过时”的版本不会收到任何安全修复。 这也包括了所有比已列出的最旧版本还要旧的版本。 这些版本可能存在严重安全漏洞和重大程序错误,包括潜在的数据丢失风险和/或崩溃。 发布管理者强烈建议在生产环境中只使用上表列出的“stable version”(当前稳定版本)、“legacy version”(仍受支持的旧版本)或“LTS”(长期支持版本)。

Special:MyLanguage/MediaWiki 1.19Special:MyLanguage/MediaWiki 1.20Special:MyLanguage/MediaWiki 1.21Special:MyLanguage/MediaWiki 1.22Special:MyLanguage/MediaWiki 1.23Special:MyLanguage/MediaWiki 1.24Special:MyLanguage/MediaWiki 1.25Special:MyLanguage/MediaWiki 1.26Special:MyLanguage/MediaWiki 1.27Special:MyLanguage/MediaWiki 1.28Special:MyLanguage/MediaWiki 1.29Special:MyLanguage/MediaWiki 1.30Special:MyLanguage/MediaWiki 1.31Special:MyLanguage/MediaWiki 1.32Special:MyLanguage/MediaWiki 1.33Special:MyLanguage/MediaWiki 1.34Special:MyLanguage/MediaWiki 1.35Special:MyLanguage/MediaWiki 1.36Special:MyLanguage/MediaWiki 1.37Special:MyLanguage/MediaWiki 1.38Special:MyLanguage/MediaWiki 1.39Special:MyLanguage/MediaWiki 1.40Special:MyLanguage/MediaWiki 1.41Special:MyLanguage/MediaWiki 1.42
MediaWiki版本發布时间线
  •   預覽版本(alpha)
  •   開發版本(自分支起)
  •   穩定版本
  •   長期支持版本

发行方针

  • 每个小数点版本包含更新的翻译文件和错误修复。 新功能将不会被反向移植到小数点版本,并且支持一般来说不包括捆绑扩展和皮肤
  • 6个月将发布一次大版本
  • 季度将发布一次小版本,其中包括了安全补丁、向后移植的消息翻译和一般错误修复。
  • 长期支持版本(LTS)两年发布一次。在LTS支持中将会有一年的交错。例如1.23版曾获支持至2017年5月,而1.27版在那一年之前发布,这样人们将有一年的时间从旧的LTS版本过渡到新版本。
  • 发行说明将继续作为查看已发生变化的基础。由于志愿者驱动项目的性质,不可能肯定地说在接下来的6-12个月内会发生什么样的事情。
MediaWiki 1.36 起,MediaWiki 仅支持从两个长期支持(LTS)版本前或更新的版本升级到当前版本。(另请参阅 phab:T259771) 从更老版本的 MediaWiki 升级至新版本需要分步进行。 例如从 1.34 或更早的版本升级到 1.41 时,首先要升级到1.35 (或 1.39),然后从 1.35 (或 1.39) 升级到 1.41。

发行日程

此时间表是在发布新版本之前需要执行的计划。实际发布的日期在这里给出为T(发布的时间)和后缀-#(表示发布前的周数)。

相关计划 任务
T - 7 宣布将在一周内创建发布分支。要求人们确保在此之前合并完成正在进行的功能所需的任何内容。在Phabricator中创建“MW-X.XX-release”。
T - 6 在Gerrit中新建核心与所有扩展的分支。
T - 5 应用X.XX-rc.0标记并释放初始候选版本。
T - 4 收集所有问题报告并在邮件列表中汇总。
T - 3 应用X.XX-rc.1标记并释放第二个候选版本。此时,任何建议添加到tarball的新扩展都应该在其中。 在这以后不接受扩展功能更改。
T - 2 收集任何新的错误报告,合并修复程序,退出意外包含的新的,不完整的功能,应用X.XX-rc.2标记并发布第三个候选版本。
T - 1 重复上一步,使用X.XX-rc.final进行标记和发布。 在这之后不接受任何回退移植。
T 用X.XX标记这个软件并发布。

扩展生命周期管理

大多数MediaWiki安装包含大量扩展(维基媒体wiki通常有大约140个)。 在HEAD开发版本依赖于稳定或旧稳定的MediaWiki核心中尚未提供的功能的情况下,管理扩展的维护错误修复并选择正确版本的扩展可能具有挑战性。

因此,强烈建议扩展维护者为与MediaWiki版本相对应的每个扩展版本维护一个git分支。 (有关详细信息,请参阅兼容性#MediaWiki扩展 。) 对于在维基媒体的git仓库中托管的扩展,当新的MediaWiki版本被分支时(始终假设扩展的master分支与之兼容),这些分支(名称如MediaWiki 1.30的REL1_30)将自动从master创建)。 但是,扩展维护者最好不仅修复HEAD中的错误,还修复旧版本和稳定版本中的错误(如果需要,将修复程序反向移植到旧分支)。

这些规则的目标是安装MediaWiki的人或组织可以简单的安装最新版本和与之匹配的扩展。例如,在git中指定REL1_20来拉取1.20.x版本的核心程序。 同时避免了使用不相关且名称不确定的压缩文档。

参见