月度归档: 2018 年 6 月
MediaWiki 1.31已于6月14日发行
MediaWiki 1.31版本是最新的LTS(长期支持版本)版本,计划将支持到2021年6月。1.31已于6月14日发行。
下载地址
https://www.mediawiki.org/wiki/Download
升级至1.31的注意事项
1.31版本包含了很多的兼容性变更,你必须在升级你的MW前检查你的环境已经达到1.31的要求。
PHP 7.0+
从1.31开始,MW要求PHP 7.0以上或者HHVM 3.18.5以上的运行环境。如果你还在用PHP5,则你需要将你的PHP升级到PHP7才可使用1.31。根据从MW使用者上收集的信息,现还有相当大部分的基数使用者PHP5.6。注意您的PHP版本得高于等于7.0。
MySQL 5.5.8+
从1.31开始,MW只支持5.5.8以上的MySQL。如果你运行着之前的版本,则你需要在升级MW前升级MySQL。
升级1.31前需要注意的重要事项
- 如果您使用的是MySQL、SQLite或MSSQL,并且未使用update.php来应用数据库模式更改,而且没有停机时间来运行migrateArchiveText.php手动应用patch-drop-ar_text.sql。则必须保存一个默认值到archive表的ar_text和ar_flags列,或者在升级到MediaWiki 1.31之前使这些列可以为空。maintenance/archives/patch-nullable-ar_text.sql显示了如何为MySQL执行此操作。
配置变更
- $wgEnableAPI和$wgEnableWriteAPI已于1.31版本弃用并在将来的版本彻底的移除。现在MW的API已经变得很稳定、安全而且必不可少。
- $wgUsejQueryThree已经被移除,因为已经无须使用jQuery 1。此配置于1.29版本弃用,在迁移到jQuery 3之前,这个配置被作为一个临时变量使用着。
- $wgLogoHD已经支持svg格式的图片并且有可能使用$wgLogo作为后备图片。
- 当用户没有权限巡查时,$wgFilterLogTypes将不再忽略“巡查”类型。
- 如果你的维基包含导入的修订版本或者由CentralAuth扩展提供的全域封禁,则应运行maintenance/cleanupUsersWithNoId.php。
- $wgResourceLoaderMinifierStatementsOnOwnLine和$wgResourceLoaderMinifierMaxLineLength已于1.31版本中被移除(自1.27版本以来弃用)。
- $wgReferrerPolicy现在支持多个来源地址策略的meta值。
- $wgFragmentMode现在默认值为
[ 'legacy', 'html5' ]
,这是迁移到人类可读的段落ID的第一步,在未来的版本html5
将成为默认值。 - CACHE_ACCEL现在只支持APC(u)或WinCache。XCache支持已被移除,因为此扩展的开发已不活跃,并且没有计划迁移到PHP 7。
- CategorizedRecentChanges(包括$wgAllowCategorizedRecentChanges配置变量)已被移除.
- 由于性能原因,$wgArticleCountMethod的'comma'值不再受支持,并且现在使用此设置将像使用'any'配置一样工作。
- MediaWiki现在默认使用RemexHtml整理用户输入,而不是默认关闭。如果您希望完全禁用HTML整理,请将$wgTidyConfig设置为null;如果您希望使用已弃用的Tidy外部二进制文件,则将$wgTidyConfig设置为null,将$wgUseTidy设置为true。
- $wgLogAutopatrol现在默认为false而不是true。
- $wgValidateAllHtml已经被移除。
- $wgScriptExtension于1.25版本起被弃用和忽略(见1.25发行说明),现已被移除。
- $wgUseAjax现在被标记为已弃用,就像它启用已弃用的AJAX框架一样。有些扩展错误地用它来检查是否应该启用任何AJAX功能。
- 为所有用户添加90次编辑/分钟的默认编辑速率限制。
- $wgDBmysql5已被弃用,并在未来移除它。这个功能自引入以来就一直标记为实验性功能。
新功能
- 用户子页面下以.json结尾的页面将会受到和以.js和.css结尾的页面一样的保护。
- Wikimedia\Rdbms\IDatabase->select()和类似的方法现在支持带括号的分组。
- 作为标准化MediaWiki产品对话框的第一步,Html类现在为messageBox、successBox、errorBox和warningBox的生成提供了辅助方法。
- 导入功能现在将未知(和已知)用户名的格式照
"iw>Example"
显示。 - 如果wikitext像这样子保存:
[[iw:User:Example|iw>Example]]
,Linker(用于历史页、日志页等等)将会把用户名显示为"iw>Example"
作为内部链接。 - ImportHandleUnknownUser钩子将允许扩展在导入时自动创建用户。
- 添加一个钩子,ParserOutput::getText(),允许扩展影响ParserOutput::getText()。
- 添加一个钩子,UploadForm:getInitialPageText,允许扩展改变文件上传的页面。
- 现在文件信息页的基础信息里显示文件的16进制的SHA-1。
- 具有'data-mw-deduplicate'属性的样式标签将作为ParserOutput::getText()后缓存转换进行重复数据删除。可以通过把'deduplicateStyles'=> false传递给该方法来禁用此功能。
- 登录用户或IP“actor”进行记录的操作的身份正在迁移进新的actor表,表中诸如修订和日志的行引用演员的ID而不是将用户ID和名称/IP存储在每一行中。
- 这当前由$wgActorTableSchemaMigrationStage控制。大多数维基可以将此设置为MIGRATION_NEW,并在更新任何必要的扩展后立即运行maintenance/migrateActors.php。
- 大多数访问数据库记录动作的代码应使用相关的getQueryInfo()方法来获取构建SQL查询所需的信息。ActorMigration类也可用于获取在迁移期间访问与actor相关的字段所需的功能标记的信息。
- 添加了Wikimedia\Rdbms\IDatabase::cancelAtomic()方法,可以回滚单个原子节(atomic section),而无需回滚整个事务。
- Wikimedia\Rdbms\IDatabase::doAtomicSection()、非本地 ::insertSelect()和非MySql的::replace()和::upsert()方法不再在失败的时候回滚整个事务。
- 向pingback功能添加每月心跳ping。
- 命令行安装程序(maintenance/install.php)学会检测并包含扩展。通过--with-extensions选项来启用该功能。
- rc_patrolled现在有三种状态,未巡查的“0”、手动巡查的“1”和自动巡查的“2”
- 如果扩展提供编辑器或增强编辑体验,现在可以将其扩展类型设置为“编辑器”。
- 现在扩展可以通过在extension.json中设置“AutoloadNamespaces”属性来使用PSR-4自动加载器。请参阅文档来获取更多信息和实例。
- 链接到不存在页面的标签(如未创建的讨论页面)现在有一个提示状态的工具提示,而不仅仅是颜色提示。
在1.31修复的Bug
- 标题ID中的非中断空格会打破定位。
- CSSMin现在允许
url()
语法中引用的URL以空格开头。 - 现在剥离了由分类和语言链接造成的空白,而不是在奇怪的地方留下空白行。
- 使用UTF-8名称的文件上传现在可以在Windows服务器上的PHP 7.1+环境的上使用。
- 修复
FileRepo::streamFile()
中ob_end_flush()
函数造成的PHP Notice
本翻译说明的声明
- 本MediaWiki中文发行说明非官方翻译,请以原文为主。
- 本发行说明翻译自https://github.com/wikimedia/mediawiki/blob/REL1_31/RELEASE-NOTES-1.31,以GPL 2许可证授权。
- 本发行说明并未全部翻译原发行说明,只翻译了对网站运维人员来说有用的章节,其它章节对运维可有可无,它们是面对开发者的。
- 如翻译有任何问题,欢迎在留言区提出。