-
Notifications
You must be signed in to change notification settings - Fork 1.4k
/
Copy pathRELEASE-NOTES-1.44
376 lines (317 loc) · 17.3 KB
/
RELEASE-NOTES-1.44
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
= MediaWiki 1.44 =
== MediaWiki 1.44.0-PRERELEASE ==
THIS IS NOT A RELEASE YET
MediaWiki 1.44 is an alpha-quality development branch, and is not recommended
for use in production.
== Upgrading notes for 1.44 ==
Don't forget to always back up your database before upgrading!
See the file UPGRADE for more detailed per-version upgrade instructions from the
oldest supported upgrading version, MediaWiki 1.35.
Some specific notes for MediaWiki 1.44 upgrades are below:
* …
For notes on 1.43.x and older releases, see HISTORY.
=== Configuration changes for system administrators in 1.44 ===
* (T382987) The default value of 'http.dnsbl.sorbs.net.' in $wgDnsBlacklistUrls
has been removed. This is because sorbs.net have stopped providing their
services. This means that if you have $wgEnableDnsBlacklist set to true, it
will no longer provide any value unless you add other servers to
$wgDnsBlacklistUrls.
* Google search removed (T384678): If site search is disabled with
$wgDisableTextSearch but $wgSearchForwardUrl is not set to a URL to which to
forward searches, then MediaWiki used to show a Google search form. This has
been removed, and instead a notice is displayed. System administrators should
set e.g. $wgSearchForwardUrl = 'https://duckduckgo.com?q=$1' to avoid this.
* …
==== New configuration ====
* (T377829) $wgAutopromoteOnceRCExcludedGroups - Defaults to an empty list, can
be used to define a denylist of user group names. One-shot autopromotions
into these groups will never result in an RC entry, even if
$wgAutopromoteOnceLogInRC is true, as long as they were the only new groups
the user was autopromoted into.
* (T322944) $wgAllowAuthenticatedCrossOrigin - If true (defaults to true),
enable the crossorigin= API parameter to allow authenticated cross-origin
API requests.
* (T240542) $wgAutoblockExemptions - IP addresses and CIDR ranges listed here
will not be affected by autoblocks, similar to
MediaWiki:Block-autoblock-exemptionlist. Defaults to an empty list.
* …
==== Changed configuration ====
* (T13555) $wgParserEnableLegacyHeadingDOM now defaults to `false`.
You can set it to `true` to temporarily restore the legacy HTML markup
for wikitext headings in the output from the Parser, in case you find
that your wiki's content or an extension is incompatible with the new markup.
More information: https://www.mediawiki.org/wiki/Heading_HTML_changes
This option will be removed in a future release.
* (T386210) $wgAddGroups and $wgRemoveGroups now use the correct merge strategy
of `array_merge_recursive`. This lets extensions add entries from the
extension.json file, which would previously be silently ignored.
* (T382987) $wgDnsBlacklistUrls now defaults to an empty array. See the comment
in the "Configuration changes for system administrators" section above.
==== Removed configuration ====
* wgResourceLoaderUseObjectCacheForDeps, deprecated in 1.43, has been removed.
It is now always enabled (T343492).
* wgBaseDirectory, unused, has been removed in favour of MW_INSTALL_PATH.
If a variable value is needed, inject an optional parameter instead.
* …
=== New user-facing features in 1.44 ===
* (T363538, T204792) New parser functions {{#interlanguagelink:prefix|title}}
and {{#interwikilink:prefix|title|caption}} to unambiguously create
interlanguage and interwiki links, respectively, even when the "prefix"
might conflict with a namespace on the local wiki.
* (T326057) Attempting to create a redirect to a nonexistent page will now
result in a warning.
* (T33951) The Interwiki extension has been moved to MediaWiki core. It is now
possible to view and edit the interwiki table without installing an extension.
$wgInterwikiCentralDB and $wgInterwikiCentralInterlanguageDB have been
removed, use $wgVirtualDomainsMapping['virtual-interwiki'] and
$wgVirtualDomainsMapping['virtual-interwiki-interlanguage'] instead.
$wgInterwikiViewOnly has been removed, (un)assign "interwiki" right instead.
* (T302140) Rollbacked edits are marked as manually patrolled instead of
auto-patrolled since the rollback action was a manual patrol of the edit.
* (T56145) Introduces a new tag 'mw-recreated' to note edits which create pages
that have been previously deleted by having an associated deletion log entry.
This does not consider deletion log entries that were suppressed.
* (T326056) Attempting to create a redirect to another redirect will now
result in a warning.
* (T322944) Developers using the Action API can now use the new crossorigin=
parameter. If used with a supported session provider, such as OAuth,
this permits authenticated cross-origin requests against the Action API,
similar to how origin=* allows unauthenticated cross-origin requests.
Can be disabled via $wgAllowAuthenticatedCrossOrigin (see above).
* (T24521, T62109) Embedding a file (e.g., [[File:MediaWiki.png]]) on a page
protected with cascading protection will no longer restrict edits to the
file description page, only file uploads. Transcluding a file description
page (e.g., {{:File:MediaWiki.png}}) will now restrict edits to the page.
* …
=== New features for sysadmins in 1.44 ===
* (T267477) Users with rename userright can now rename themselves through
[[Special:RenameUser]].
* (T104830) [[Special:RenameUser]] can now be used in wiki families using
shared tables.
A renameuser-global right is added and required when renaming global users.
No groups have this right by default.
* …
=== New developer features in 1.44 ===
* The AuthenticationAttemptThrottled hook was added.
* The CodexTablePager class was added.
* UserFactory now has newFromNameOrIp() method to quickly create User object
for either an IP a named user.
* The ApiQueryCheckCanExecute hook was added.
* The ChangesListInsertLogEntry hook was added.
* The TempUserDetailsLookup service was added.
* The UserLinkRenderer service was added.
* The AuthPreserveQueryParams hook has a new option, $options['request'],
to avoid having to rely on the global context.
* …
=== External library changes in 1.44 ===
==== New external libraries ====
* …
===== New development-only external libraries =====
* Updated QUnit from 2.20.0 to 2.24.1.
==== Changed external libraries ====
* Updated codex, codex-design-tokens and codex-icons
from v1.14.0 to v1.20.2.
* Updated wikimedia/bcp-47-code from 2.0.0 to 2.0.1.
* Updated wikimedia/shellbox from 4.1.1 to 4.1.2.
* Updated wikimedia/timestamp from 4.1.1 to 4.2.0.
* Updated OOUI from v0.51.2 to v0.51.6.
* Updated vue from 3.4.27 to 3.5.13.
* …
===== Changed development-only external libraries =====
* Updated nikic/php-parser from ^4.10.2 to ^5.3.1.
* Updated mediawiki/mediawiki-phan-config from 0.14.0 to 0.15.0.
* Updated phpunit/phpunit from 9.6.19 to 9.6.21.
* Updated stylelint-config-wikimedia from v0.17.2 to v0.18.0.
* …
==== Removed external libraries ====
* …
=== Bug fixes in 1.44 ===
* File reverts now check for 'reupload' or 'reupload-own' rights. (T304474)
* File reverts now check for cascading edit protection. (T140010)
* …
=== Action API changes in 1.44 ===
* The list=blocks API now accepts a `parsedreason` parameter to get the block
reason as parsed HTML.
* (T357846) siteinfo now lists all user groups and granted permissions,
including those from $wgGroupInheritsPermissions.
* …
=== Action API internal changes in 1.44 ===
* …
=== Languages updated in 1.44 ===
MediaWiki supports over 350 languages. Many localisations are updated regularly.
Below only new and removed languages are listed, as well as changes to languages
because of Phabricator reports.
* (T377856) Updated the autonym for Shan (shn)
* (T379137) Added language support for Hunde (hke).
* (T381463) Added language support for Coptic (cop).
* (T381894) Added language support for Fur (fvr).
* (T379137) Added language support for Mindong (Traditional Han script)
(cdo-hant).
* (T379137) Added language support for Mindong (Latin script) (cdo-latn).
* (T384234) Added language support for Wali (wlx).
* (T384245) Added language support for Lampung Api (ljp).
* …
=== Breaking changes in 1.44 ===
* In StatusValue::replaceMessage(), ::hasMessage() and ::hasMessagesExcept()
passing MessageSpecifier or MessageValue as $source, deprecated in 1.43,
is no longer allowed.
* StatusValue will no longer accept errors given as a MessageSpecifier
combined with a parameters array. This was deprecated in 1.43.
* The methods MessageValue::objectParams(), Message::objectParams()
and Message::objectParam(), deprecated in 1.43, have been removed.
* The UserGroupMembershipParam class, deprecated in 1.43, has been removed.
* The ParamType::OBJECT constant, deprecated in 1.43, has been removed.
* The MediaWiki\Message\Converter class, deprecated in 1.43, has been removed.
Use MessageValue::newFromSpecifier or Message::newFromSpecifier
instead (T358779).
* Public access to OutputPage::mModules and OutputPage::mModuleStyles,
deprecated in 1.38, has been removed.
* Return type declarations were added to methods in `includes/libs/Message`,
specifically in the `MessageSpecifier`, `ITextFormatter`, and
`IMessageFormatterFactory` interfaces. This update enhances type safety but
may require updates in any classes implementing these interfaces, including
external extensions. Extensions such as Translate, Flow, and ReadingLists
require compatibility patches to support these changes.
* IDatabase::LB_TRX_ROUND_ID was removed and IDatabase::LB_READ_ONLY_REASON
was marked as an internal constant.
* IDatabase::onAtomicSectionCancel() has been removed without deprecation
as it's completely unused.
* ISQLPlatform::tableNames(), deprecated since 1.39, has been removed.
* The Wikimedia\LightweightObjectStore\ExpirationAwareness interface is now
considered internal. Use BagOStuff to access TTL constants instead.
* The ParsoidOutputAccess class marked @unstable from creation and
deprecated with all of its methods in 1.43, has been removed.
* (T382030) MediaWiki core database schema and schema changes have been moved
to a new top-level sql/ directory. This should only affect code directly
referencing the old paths.
* The HtmlToContentTransform::setMetrics() and
HtmlInputTransformHelper::setMetrics() methods now require a StatsFactory
argument. Passing a StatsdDataFactoryInterface was deprecated in 1.43.
* The method ParserOptions::setupFakeRevision has been marked internal. It
will remain backwards compatible in 1.44 but may change without notice in
1.45 or later.
* The Less mixin .column-break-after-avoid(), deprecated in 1.43, has been
removed. Use just the CSS rule `break-after: avoid-column;` instead now.
* ApiBase::errorArrayToStatus(), deprecated in 1.43, has been removed.
* ZipDirectoryReader has been moved to the Wikimedia\Mime library.
No callers outside that library are known.
* The MediaWiki\Config\MutableConfig interface now extends
MediaWiki\Config\Config. Implementing MutableConfig without implementing
Config is no longer possible.
* The `MediaWiki\User\Registration\IUserRegistrationProvider` interface now
defines a required fetchRegistrationBatch() method.
* The hook OutputPageMakeCategoryLinks, deprecated in 1.43, has been removed.
* The methods Skin::getFooterIcons and ::makeFooterIcon are final and
overriding is no longer supported.
* DatabaseBlock::getQueryInfo and ::getRangeCond, deprecated since 1.43, have
been removed.
* The IDatabase transaction lifecycle callbacks onTransactionResolution(),
onTransactionPreCommitOrIdle() and onTransactionCommitOrIdle() no longer
receive a DB connection handle as an argument. (T386190)
* The $schema parameters to DatabaseBlockStore::getQueryInfo() and
::getRangeCond() have been removed. They were documented as temporary
migration support parameters. Support for ipb_* field aliases in
DatabaseBlockStore::newFromRow(), which was meant to support the use of
$schema, has been removed.
* Block::TYPE_ID has been removed. Use DatabaseBlockStore::newFromID().
* UserOptionsManager methods resetOptions, listOptionKinds and getOptionKinds,
deprecated since 1.43, have been removed.
* When fetching a message containing {{PAGENAME}} or similar with
wfMessage(...)->text(), the title used will be Special:Badtitle unless a
context title was set with e.g. Message::setContext(). In the past, the title
used in a previous call was sometimes used.
* …
=== Deprecations in 1.44 ===
* Various static methods on ChangeTags, deprecated since 1.41, each now emit
deprecation warnings. Use service access to the ChangeTagsStore instead:
addTags(), defineTag(), deleteTagEverywhere(), getDisplayTableName(),
getSoftwareTags(), getTags(), getTagsWithData(), listDefinedTags(),
listExplicitlyDefinedTags(), listSoftwareActivatedTags(),
listSoftwareDefinedTags(), makeTagSummarySubquery(), modifyDisplayQuery(),
purgeTagCacheAll(), tagUsageStatistics(), and updateTags().
* WikiPage::doEditUpdates(), deprecated since 1.32, is now emitting warnings.
Use DerivedPageDataUpdater::doUpdates() instead.
* IDatabase::setTransactionListener() is now deprecated without replacement.
* ILBFactory::setWaitForReplicationListener() is now deprecated without
replacement.
* Maintenance::beginTransaction(), Maintenance::commitTransaction(),
Maintenance::rollbackTransaction(), and Maintenance::waitForReplication()
are now deprecated. Use Maintenance::*TransactionRound() instead.
* The ReverseArrayIterator class, unused since 1.32, has been deprecated.
* LinksUpdate::getImages() has been deprecated, like ParserOutput::getImages().
Instead, use ParserOutput::getLinkList( ParserOutputLinkTypes::MEDIA ).
* ResourceLoader::makeConfigSetScript() is now deprecated. Consider using
package files instead. Or, you can return "mw.config.set()" combined with
RL\Context::encodeJson, if available. If not, use FormatJson::encode.
* BlockManager::getUserBlock(), deprecated since 1.42, now emits warnings.
* DatabaseBlock methods newFromRow(), delete(), insert(), update(),
doAutoblock(), isExemptedFromAutoblocks(), doAutoblock(), updateTimestamp(),
newFromTarget(), newListFromTarget() and getBlocksForIPList() are now
deprecated and emit deprecation warnings. Use the corresponding method in
DatabaseBlockStore, except for getBlocksForIPList() which is in BlockManager.
* The parameter $default in WebRequest::getRawVal(), deprecated since 1.43,
is now emitting warnings.
* The link to "Special pages" has moved from the toolbox to MediaWiki:Sidebar
since toolbox relates to tools associated with the current page, not the
site. To support the transition, for interface admins who have already
customized MediaWiki:Sidebar, the special pages link will be automatically
added. This will be hard deprecated in the next MediaWiki release. More
information is available at T333211. To avoid future breakage, see the
guidance in T385346.
* BlockUtils and BlockUtilsFactory is now deprecated. Use BlockTargetFactory
and CrossWikiBlockTargetFactory.
* RenameuserSQL::rename has been deprecated and should be replaced with
RenameuserSQL::renameUser, which returns a Status instead of boolean.
* LocalFile::getQueryInfo() and OldLocalFile::getQueryInfo(), deprecated
since 1.41, are now emitting warnings.
* Linker::userLink() has been deprecated in favor of the UserLinkRenderer
service. (T308000)
* The 'PermissionErrorAudit' hook has been deprecated and replaced by
the 'PermissionStatusAudit' hook.
* MessageCache::parse, ::parseWithPostProcessing and ::transform() are now
deprecated. Use MessageParser.
* …
=== Other changes in 1.44 ===
* The ArticleProtect and ArticleProtectComplete hooks are now called when
WikiPage::doUpdateRestrictions is called to protect a non-existing
title.
* Introduce ISearchResultSet::isApproximateTotalHits() (defaults to false
in BaseSearchResultSet) to let SearchEngine implementations run optimizations
that might lead to innacurate computation of the exact number of pages
matching the search query.
* (T367441) ResourceLoader Debug mode now defaults to debug mode v2. This means
?debug=true now maps to debug=2. Unlike debug mode v1, this doesn't load each
file from disk, and your code looks the same as it is in production with
closures that prevent global variable leakage.
* …
== Compatibility ==
MediaWiki 1.44 requires PHP 8.1.0 or later and the following PHP extensions:
* ctype
* dom
* fileinfo
* iconv
* intl
* json
* mbstring
* xml
MariaDB is the recommended database software. MySQL, PostgreSQL, or SQLite can
be used instead, but support for them is somewhat less mature.
The supported versions are:
* MariaDB 10.3 or higher
* MySQL 5.7.0 or higher
* PostgreSQL 10 or later
* SQLite 3.8.0 or later
== Online documentation ==
Documentation for both end-users and site administrators is available on
MediaWiki.org, and is covered under the GNU Free Documentation License (except
for pages that explicitly state that their contents are in the public domain):
<https://www.mediawiki.org/wiki/Special:MyLanguage/Documentation>
== Mailing list ==
A mailing list is available for MediaWiki user support and discussion:
<https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/>
A low-traffic announcements-only list is also available:
<https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/>
It's highly recommended that you sign up for one of these lists if you're
going to run a public MediaWiki, so you can be notified of security fixes.
== IRC help ==
There's usually someone online in #mediawiki on irc.libera.chat.