MediaWiki 1.34.0 已于12月20日发行

MediaWiki 1.34版本是目前最新的版本,计划将支持到2020年11月。1.34.0已于12月20日发行。

下载地址

https://www.mediawiki.org/wiki/Download

一些升级到1.34需要注意的事项

  • 现在MW要求PHP 7.2以上的版本
  • MW现在不再支持HHVM

系统管理员感兴趣的修改

面向用户的修改

为了保证密码的安全性,MediaWiki现在将会警告用户并建议他们更改密码(如果在100,000个常用密码列表中被认为是错误的密码)。如果要为您的用户禁用此功能,请在配置文件中添加以下内容:

$wgPasswordPolicy['policies']['default']['PasswordNotInLargeBlacklist'] = false;

新的配置变量

  • $wgAllowExternalReqID (T201409) - 这个配置变量控制Mediawiki是否通过X-Request-Id头部传输的请求ID来接受请求。如果设置为TRUE,则该值将在整个代码中用作请求标识符。否则,发送的头部将被忽略,并且请求ID将从Apache的mod_unique模块获取,或者由Mediawiki本身生成(取决于设置)。
  • $wgEnableSpecialMute (T218265) - 这个配置变量控制是否启用Special:Mute并且禁止在Special:Email里包含Special:Mute列出的链接。
  • editmyuserjsredirect 用户权限 - 现在,没有此权限的用户无法在其用户空间中编辑JS重定向,除非重定向的目标也位于其用户空间中。默认,这个权限给予给所有人。
  • (T226733) 将速率限制器添加到Special:ConfirmEmail。
  • $wgDiffEngine (T237049) - 这个配置变量可以用于指定使用哪个diff引擎。MediaWiki继续默认自动选择可用的$wgExternalDiffEngine,wikidiff2或php中的一个。

修改的配置

  • $wgUseCdn, $wgCdnServers, $wgCdnServersNoPurge, $wgCdnMaxAge - 这四个与CDN相关的配置变量是从对应的Squid配置变量重命名过来,先前是$wgUseSquid、$wgSquidServers、$wgSquidServersNoPurge和$wgSquidMaxage。这使这些变量的名字与现有的变量$wgCdnMaxageLagged对齐。先前的配置变量已弃用,但如果仍然定义它们,则将其作为后备配置。请注意,由于不建议使用$wgSquidPurgeUseHostHeader,所以没有重命名它。
  • (T27707) 图片上传的文件类型检查已放宽,允许文件在元数据中包含一些HTML标记。结果上,$wgAllowTitlesInSVG设置不再有效,现在始终为true。请注意,MSIE 7可能仍然能够将某些格式错误的PNG文件误解为HTML。
  • (T30798) 现在必须始终在LocalSettings.php中设置$wgServer。对于1.18之后安装的所有Wiki,很可能已经设置。自1.18以来,自动检测系统已被非正式弃用,并且容易受到缓存攻击。较旧的Wiki可能需要更新其LocalSettings.php文件。
  • 引入了$wgVerifyMimeTypeIE以允许在上传时禁用MSIE 6/7文件类型检测试探法,这比上面所做的检查更为保守。
  • $wgExternalDiffEngine - 将其设置为“wikidiff”、“wikidiff2”或“wikidiff3”的字符串值将不再起作用。MediaWiki 1.27、1.32和1.27分别弃用了此旧行为。
  • $wgSkipSkin - 请使用$wgSkipSkins作为代替。此配置于1.23版本弃用,现在正式弃用。
  • $wgLocalInterwiki - 请使用$wgLocalInterwikis作为代替。此配置于1.23版本弃用,现在正式弃用。
  • $wgProfileOnly - 现已不建议使用在1.23中弃用的设置。而是在$wgDebugLogGroups['profileoutput']中设置日志文件。
  • $wgProxyList - 将此设置为在数组键中具有IP地址的数组(在1.30中已弃用)将不再起作用。$wgProxyList应该是一个以IP地址作为值的数组,或者是一个文件的字符串路径,该文件的每行包含一个IP地址。
  • $wgCookieSetOnAutoblock$wgCookieSetOnIpBlock现在默认启用。

移除的配置

  • $wgWikiDiff2MovedParagraphDetectionCutoff - 如果仍然需要自定义更改大小阈值,请使用配置变量wikidiff2.moved_paragraph_detection_cutoff在php.ini中指定。
  • $wgUseESI - 这是一个实验性功能,于1.33弃用,现在被移除。
  • $wgDebugPrintHttpHeaders - 在调试日志频道中包括HTTP头部的默认设置不再可配置。调试日志本身仍可通过$wgDebugLogFile进行配置。
  • $wgMsgCacheExpiry - 消息缓存使用24小时作为WANObjectCache中存储的值的到期时间。这不再是可配置的。
  • $wgPasswordSalt - 此设置用于迁移异常旧的、不安全的密码设置,自1.24开始不推荐使用,现已删除。
  • $wgDBOracleDRCP - 如果必须使用持久性连接,请在$wgDBServers(或$wgLBFactoryConf)中的服务器的“flags”字段中设置DBO_PERSISTENT。
  • $wgMemCachedDebug - 而是在$wgObjectCaches中设置缓存“调试”字段。
  • $wgActorTableSchemaMigrationStage已经移除。如果MediaWiki 1.31+的扩展代码发现未设置,则应将其视为SCHEMA_COMPAT_NEW。

新的面对用户的配置

  • Special:Mute现在添加了一个快速方法可以禁止其它用户通过Special:EmailUser发送自己不需要的电子邮件。
  • (T207577) Special:NewSection现在是在页面上创建一个新段落的快捷方式。将其作为链接时,其子页面将作为目标重定向(比如[[Special:NewSection/Test]]将重定向到Test页面的新建段落)。否则,它将显示一个基本界面,允许用户手动指定目标。
  • (T220447) - Special:Contributions/newbies已出于性能和有用性的原因而被删除。请改用Special:RecentChanges?userExpLevel=newcomer。
  • Special:NewFiles/newbies已出于性能和有用性的原因而被删除。请改用Special:RecentChanges?userExpLevel=newcomer&namespace=6。

本翻译说明的声明

  1. 本MediaWiki中文发行说明非官方翻译,请以原文为主。
  2. 本发行说明翻译自https://github.com/wikimedia/mediawiki/blob/REL1_34/RELEASE-NOTES-1.34,以GPL 2许可证授权。
  3. 本发行说明并未全部翻译原发行说明,只翻译了对网站运维人员来说有用的章节,其它章节对运维可有可无,它们是面对开发者的。
  4. 如翻译有任何问题,欢迎在留言区提出。

MediaWiki 1.33.0 已于7月2日发行

MediaWiki 1.33版本是目前最新的版本,计划将支持到2020年1月。1.33.0已于7月2日发行。

下载地址

https://www.mediawiki.org/wiki/Download

一些升级到1.33需要注意的事项

  • 在运行update.php(或refreshExternallinksIndex.php)之前,某些外部链接的搜索将无法正常工作。包括使用IP地址、域名以及可能的mailto链接来搜索链接。
  • 如果您使用老版本的MediaWiki运行migrateActors.php并想要在您的维基上设置$wgActorTableSchemaMigrationStage = SCHEMA_COMPAT_READ_OLD,需要注意的是根据目标用户查找修订版本删除所需的log_search列被错误地删除。有关详细信息,请参阅T215464
  • 如果您在设置$wgActorTableSchemaMigrationStageSCHEMA_COMPAT_WRITE_BOTH且没有运行migrateActors.php的情况下执行了修订版本删除则log_search表可能会包含“target_author_actor”字段为空的行。这将阻止目标用户查找相关的修订版本删除日志。这可以通过重新运行migrateActors.php来修复这些行。

系统管理员感兴趣的修改

新的配置变量

  • $wgEnablePartialBlocks - 这将启用局部封禁功能,拥有封禁权限的用户可以阻止单个用户、IP、IP段编辑特定页面,同时允许他们编辑维基的其它页面。它是逐步启用的临时配置变量,当前默认为“false”,未来版本里将设置为“true”,然后在初始开发完成后删除。

修改的配置变量

  • $wgChangeTagsSchemaMigrationStage (T193868) - 这是临时配置,于1.32版本引入。现在值为MIGRATION_NEW代替MIGRATION_WRITE_BOTH
  • $wgPasswordPolicy - 有一个新的密码策略来检查帐户的密码是否在大黑名单中。对于内置用户组行政员、管理员、界面管理员和机器人,默认情况下启用此功能。要为其它用户组配置此项,请将“PasswordNotInLargeBlacklist”标志设置为“true”。
  • $wgPasswordDefault - 添加了一个新的密码类型配置,Argon2密码散列(需要PHP 7.2及更高版本)。它旨在防御时间攻击,并且(在PHP 7.3+的系统上)GPU黑客攻击;如果要使用argon2,默认情况下,它将根据您的PHP版本自动选择最佳可用算法。要使用它,你可以设置$wgPasswordDefault = 'argon2';。
  • $wgActorTableSchemaMigrationStage现在默认读取新的数据库模式。update.php由于更改的配置而反向填充新的数据库字段,在大型维基上这可能需要一些时间。您可以按照T188327中描述的流程来避免停机。

移除的配置变量

  • $wgTagStatisticsNewTable (T199334) - 这是一个临时配置变量,于1.32版本引入,在这个版本被移除。当加载[[Special:Tags]]时,MediaWiki将始终使用“change_tag_def”表作为“change_tag”的代替。
  • $wgUseTidy$wgTidyBin$wgTidyConf$wgTidyOpts$wgTidyInternal$wgDebugTidy - 这些配置已经在1.26版本弃用,现在已经全部移除,现在MediaWiki会始终净化用户输入。$wgTidyConfig配置仅用于实验性功能和调试,不应使用。
  • $wgEnableParserCache - 这个配置于1.26版本弃用,现在已经移除。如果您仍希望禁用解析器缓存,作为代替您可以设置$wgParserCacheType = CACHE_NONE;
  • $wgCommentTableSchemaMigrationStage - 这个临时迁移配置现在已经移除。应将其视为“MIGRATION_NEW”。
  • $wgAuth - 这个旧配置于1.27版本弃用,现在已经作为已删除的AuthPlugin的一部分移除。
  • $wgSitesCacheFile - 这个配置在1.25版本引入,旨在允许站点配置缓存SiteStore数据库表的文件,但从未使用过。SiteStore默认使用BagOStuff(例如Memcached或APC)缓存其信息。
  • $wgClockSkewFudge - User.php使用此配置让站点调整当尝试减少user.user_touched字段更新到当前时间戳的数量,因为时间戳已经存在(例如由于不同服务器之间的时间偏差)。现在这不再是一个问题,因为代码现在确保时间戳始终高于前一个。使用CAS逻辑(检查和设置)保护写入,这会阻止重叠的更新。
  • $wgDBmysql5 (T196185) - 这是一个实验性配置,于1.31弃用,现在已经移除。

面向用户的新功能

  • (T96041) 在分类页面上放置__EXPECTUNUSEDCATEGORY__魔术字会在[[Special:UnusedCategories]]隐藏该分类。
  • (T210814) 现在SVG默认在图片页面里显示维基的默认语言。
  • 现在[[Special:CreateAccount]]将会警告用户,如果用户选择了一个不标准化的用户名。
  • (T205040) 现在,多语言图像以当前可用的解析语言显示。
  • [[Special:ActiveUsers]]将不再筛选自上次更新活跃用户查询缓存以来变为非活跃状态的用户。
  • (T215675) RecentChange和ManualLogEntry实现了新的Taggable接口。
  • (T215675) 添加了一个Hook,ManualLogEntryBeforePublish,以允许扩展修改(例如:添加标签)日志条目。

本翻译说明的声明

  1. 本MediaWiki中文发行说明非官方翻译,请以原文为主。
  2. 本发行说明翻译自https://github.com/wikimedia/mediawiki/blob/REL1_33/RELEASE-NOTES-1.33,以GPL 2许可证授权。
  3. 本发行说明并未全部翻译原发行说明,只翻译了对网站运维人员来说有用的章节,其它章节对运维可有可无,它们是面对开发者的。
  4. 如翻译有任何问题,欢迎在留言区提出。