forked from wikimedia/mediawiki
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRELEASE-NOTES-1.42
740 lines (697 loc) · 30.9 KB
/
RELEASE-NOTES-1.42
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
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
= MediaWiki 1.42 =
== MediaWiki 1.42.0-PRERELEASE ==
THIS IS NOT A RELEASE YET
MediaWiki 1.42 is an alpha-quality development branch, and is not recommended
for use in production.
== Upgrading notes for 1.42 ==
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.42 upgrades are below:
* MediaWiki now requires Composer 2.x, and any related (vendor) files generated
by Composer must be generated by Composer 2.x. Composer 1.x is mostly end of
life by upstream, and using it will result in slower actions when downloading
and installing packages. See the upstream blog post at
https://blog.packagist.com/deprecating-composer-1-support/ for further
information.
* …
For notes on 1.41.x and older releases, see HISTORY.
=== Configuration changes for system administrators in 1.42 ===
* Composer 1.x is no longer supported, and can no longer be used with MediaWiki.
* …
==== New configuration ====
* $wgMicroStashType: The object cache backend for the MicroStash service.
* $wgEditRecoveryExpiry: Number of seconds to keep edit recovery data
after the edit is stored.
* $wgDjvuUseBoxedCommand and $wgDjvuShell: A temporary flag to control whether
or not to use BoxedCommand when wrapping DejaVu rendering, and the command to
call if so.
* $wgConditionalUserOptions: Makes it possible to define user properties with
defaults varying by user, without growing the user_properties table. Typical
use-case is to enable a feature only for users created after a certain date.
* $wgGrantRiskGroups: Grant risk levels, used to indicate on various UIs which
grants should be considered risky. (T290790)
* $wgTempAccountCreationThrottle: Like AccountCreationThrottle, but for managing
temporary account creations.
* …
==== Changed configuration ====
* $wgAutoCreateTempUser: 'matchPattern' now supports multiple match patterns.
* $wgLogActionsHandlers is now ObjectFactory compatible.
* $wgBotPasswordsCluster and $wgBotPasswordsDatabase have been deprecated
use $wgVirtualDomainsMapping['virtual-botpasswords'] instead.
* …
==== Removed configuration ====
* $wgDisableCookieCheck has been removed.
* $wgStatsCacheType has been removed. Set $wgMicroStashType instead.
* $wgJobSerialCommitThreshold has been removed without deprecation,
it wasn't used anywhere according to codesearch and any setups using this
config will perform just fine but might be less performant.
* $wgLogoHD, deprecated since 1.35, has been removed. Use $wgLogo instead.
* $wgContentHandlerTextFallback, deprecated since 1.37, has been removed.
No longer customizable.
* $wgSquidPurgeUseHostHeader, deprecated since 1.33, has been removed.
No longer customizable and always true.
* $wgAllowImageTag, deprecated since 1.35, has been removed.
Register an extension tag named <img> instead.
* $wgMinimalPasswordLength and $wgMaximalPasswordLength, deprecated since 1.26
have been dropped. Use $wgPasswordPolicy instead.
* $wgUseMediaWikiUIEverywhere has been removed.
* $wgOpenSearchTemplate, deprecated since 1.25, has been removed
Use $wgOpenSearchTemplates['application/x-suggestions+json'] instead.
* $wgUseSameSiteLegacyCookies has been removed.
* …
=== New user-facing features in 1.42 ===
* (T308160) filter: is now allowed in inline CSS in wikitext
* …
=== New features for sysadmins in 1.42 ===
* …
=== New developer features in 1.42 ===
* (T326466) MediaWikiIntegrationTestCase's database and set-up code now avoids
using dynamic properties, which was causing deprecation warnings in PHP 8.2.
* (T13555) MediaWiki now includes styles that allow more accessible markup for
section headings. MediaWiki's own HTML output will be changed in the future.
More information: https://www.mediawiki.org/wiki/Heading_HTML_changes
* (T193472) PHP Notice and Warning errors that are silenced (e.g. by the "@"
operator, error_reporting directive, or Wikimedia\AtEase) are now logged to
a new "silenced-error" channel.
* (T347347) The CLI installer accepts a "--with-developmentsettings" argument
to require the DevelopmentSettings.php file at install time.
* (T350054) MediaWiki's ResourceLoader has been updated to add basic support
for code-splitting (aka "tree-shaking") when using the Codex component
library. A ResourceLoader module can now specify a list of "codexComponents"
in its module defintion and ensure that only the code for those components
gets sent to the client. More information:
https://www.mediawiki.org/wiki/Codex#Subset_of_components
* (T345185) The SessionProviderInterface now allows defining providers that
are exempt from rights checks when auto creating users.
* …
=== External library changes in 1.42 ===
==== New external libraries ====
* Added mck89/peast at v1.16.2.
* Added mediawiki/json-codec at v2.2.1.
* …
===== New development-only external libraries =====
* …
==== Changed external libraries ====
* Updated OOUI from v0.48.1 to v0.49.0.
* Updated OOjs Router from 0.3.0 to 0.5.0.
* Updated codex, codex-design-tokens and codex-icons
from v1.0.0 to v1.3.4.
* Updated wikimedia/minify from 2.5.1 to 2.7.0.
* Updated Vue from v3.2.37-compat to v3.3.9.
* Updated pear/mail from 1.5.1 to 1.6.0.
* Updated pear/net_smtp from 1.10.1 to 1.11.1.
* Updated symfony/yaml from 5.4.23 to 5.4.31.
* Updated wikimedia/relpath from 3.0.0 to 4.0.0.
* Updated guzzlehttp/guzzle from 7.5.3 to 7.7.1.
* Updated psr/http-message from 1.0.1 to 1.1.
* Updated monolog/monolog from 2.2.0 to 2.9.2.
* Updated mck89/peast from 1.16.0 to 1.16.1.
* Updated wikimedia/less.php from 4.1.1 to 4.2.1.
* Updated wikimedia/shellbox from 4.0.0 to 4.0.1.
* …
===== Changed development-only external libraries =====
* Updated QUnit from v2.19.4 to v2.20.0.
* Updated composer/spdx-licenses from 1.5.7 to 1.5.8.
* Updated doctrine/dbal from 3.4.2 to 3.7.2.
* Updated doctrine/sql-formatter from 1.1.1 to 1.1.3.
* Updated grunt-banana-checker from 0.11.0 to 0.11.1.
* Updated mediawiki/mediawiki-codesniffer from 42.0.0 to 43.0.0.
* Updated mediawiki/mediawiki-phan-config from 0.13.0 to 0.14.0.
* Updated phpunit/phpunit from 9.5.28 to 9.6.16.
* Updated psy/psysh from ^0.11.1 to ^0.12.0.
* Updated seld/jsonlint from 1.8.3 to 1.10.1.
* Updated wikimedia/testing-access-wrapper from 2.0.0 to 3.0.0.
* …
==== Removed external libraries ====
* …
=== Bug fixes in 1.42 ===
* …
=== Action API changes in 1.42 ===
* APIQueryTags now includes "software" in the "source" array for software
generated tags. Reliance on the "extension" entries in this array is now
deprecated, but they will remain for backwards compatibility.
* …
=== Action API internal changes in 1.42 ===
* …
=== Languages updated in 1.42 ===
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.
* (T268143) Language variant conversion has been removed for Kazakh.
* (T352776) Updated autonym spelling for the Mon language (mnw).
* (T351874) Added language support for Komering (kge).
* (T351992) Added language support for Efik (efi).
* (T352954) Added language support for Rutul (rut).
* (T353058) Added language support for Arbëresh (aae).
* (T353307) Added language support for Guadeloupean Creole (gcf).
* (T353500) Added language support for Southeastern Kolami (nit).
* (T354519) Added language support for Tooro (ttj).
* (T354926) Added language support for Nyoro (nyo).
* (T356616) Added language support for Chinook Jargon (chn).
* (T357879) Added language support for Ibibio (ibb).
* …
=== Breaking changes in 1.42 ===
* (T340802) ResourceLoader: The targets system is no longer active; all modules
will load on all platforms even if they are marked as desktop- or mobile-only
in the 'targets' field, which is no longer read. As part of this, the internal
methods RL\Module::setTarget() & ::getTargets(), and OutputPage::setTarget(),
have been removed.
* TitleArray, deprecated since 1.41, has been removed.
* UserRightsProxy, deprecated since 1.38, has been removed.
* UserLoginCompleteHook is always called with its $direct parameter set to
boolean true. The false case has been removed.
* MagicWord::load() has been marked @internal and may change in the future
without further notice.
* All classes that implemented IDBAccessObject interface and all interfaces
that extended it, no longer do that. See https://w.wiki/9DAX for more info.
* BagOStuff::setNewPreparedValues() now emits deprecation warnings.
* The type of the last parameter of BeforeInitializeHook::onBeforeInitialize
and MediaWikiPerformActionHook::onMediaWikiPerformAction changed from
MediaWiki to ActionEntryPoint. Relevant methods are still available on
the object.
* Classes that override Maintenance::finalSetup() must now declare the
$settings parameter and pass it on when calling the parent implementation.
MaintenanceRunner will always provide this parameter when calling
finalSetup().
* WebResponse::disableForPostSend() is no longer static.
* MediaWiki's virtualrest internal library has been removed in favor of the
HTTP library like: Guzzle, MultiHttpClient or MwHttpRequest.
* Several deprecated methods have been removed from the Content interface,
in favor of the respective methods in ContentHandlers. Callers should
use a more narrow interface like ContentRenderer or ContentTransformer
when possible. The following methods have been removed from Content:
- getParserOutput()
- preSaveTransform()
- preloadTransform()
- prepareSave()
* User::blockedFor() and AbstractBlock::getReason(), deprecated in 1.35, have
been removed. Use AbstractBlock::getReasonComment() instead.
* Use of ActorMigration for any of the following tables, deprecated since 1.34,
is no longer supported:
- archive
- image
- oldimage
- filearchive
- recentchanges
- logging
- ipblocks
* ParserOutput::setFlag() and ::getFlag(), deprecated in 1.38, were removed. You
should use ::setOutputFlag() and ::getOutputFlag() instead.
* PostgresUpdater::addPgEnumValue() unused everywhere, have been removed
without deprecation. Use of ENUM is highly discouraged.
* ILoadBalancer::getAnyOpenConnection() has been removed without deprecation,
use ::getConnection() instead.
* The unused method CommentStore::getFields() has been removed without
depreaction.
* LanguageConverter's internal properties, all deprecated in 1.35 or 1.36, have
now had their deprecated property accessors dropped:
- mConvRuleTitle
- mUserVariant
- mHeaderVariant
- mMaxDepth
- mVarSeparatorPattern
- mLangObj
- mTablesLoaded
- mTables
- mVariants
- mMainLanguageCode
- mVariantFallbacks
- mFlags
- mVariantNames
- mDescCodeSep
- mDescVarSep
* OutputPage::addParserOutputText has been marked @internal since there are no
known users of it. Its old behavior has been deprecated and will change
in the future without further notice.
* A some methods of ConnectionManager and SessionConsistentConnectionManager,
previously deprecated, have been removed:
- ::releaseConnection(), deprecated in 1.38; do not use
- ::getWriteConnectionRef(), deprecated in 1.39; use getWriteConnection()
- ::getReadConnectionRef(), deprecated in 1.38; use getReadConnection()
- ::getLazyWriteConnectionRef(), deprecated in 1.39; use getWriteConnection()
- ::getLazyReadConnectionRef(), deprecated in 1.38; use getReadConnection()
* CoreParserFunctions::mwnamespace(), deprecated in 1.39, has been removed. Use
CoreParserFunctions::namespace() instead.
* Processor:: and ExtensionProcessor::getExtraAutoloaderPaths(), deprecated in
1.39, have been removed; use ::getExtractedAutoloadInfo() instead.
* MWExceptionHandler::rollbackMasterChangesAndLog(), deprecated in 1.37, has
been removed. Use ::rollbackPrimaryChangesAndLog() instead.
* Passing a custom database connection to DatabaseBlockStore::insertBlock(),
deprecated since 1.41, is no longer supported.
* LanguageConverterFactory::isTitleConversionDisabled(), deprecated in 1.36,
has been removed. Use ::isLinkConversionDisabled() instead.
* MediaWikiIntegrationTestCase::$tablesUsed has been deprecated. The framework
now detects these automatically.
* Passing an actor id to the constructor of UserIdentityValue, deprecated
since 1.36, is no longer being supported.
* Support for setting dynamic property on StatusValue object has been removed.
To pass your arbitrary data along the object, use StatusValue::statusData
property (which is always declared).
* The global function wfReportTime(), deprecated since 1.40, has been removed.
* The skin template parameter 'reporttime', deprecated since 1.41, has been
removed.
* WikiPage::getPageIsRedirectField(), deprecated since 1.41, has been removed.
* WikiPage::insertRedirect(), deprecated since 1.41, has been removed.
* Several methods in PageArchive, all deprecated in 1.38, have been removed:
- ::listRevisions()
- ::getRevisionRecordByTimestamp()
- ::getArchivedRevisionRecord()
- ::getPreviousRevisionRecord()
- ::getLastRevisionId()
- ::isDeleted()
- ::getFileStatus()
- ::getRevisionStatus()
* Database, DatabaseInstaller, DatabaseUpdater, DBPrimaryPos, ResultWrapper and
SQLPlatform are no longer stable to extend. It is not possible to define
database types in an extension.
* UserDef::PARAM_ALLOWED_USER_TYPES now differentiates between temporary account
usernames and user accounts. Any endpoints that want temp users to be
valid but were passing a name through will break. Temp users must now be
explicitly allowed.
* The Hooks class, a legacy wrapper for HooksContainer, has been removed. All of
its contents have been previously deprecated in 1.35 (or 1.41 for ::runner()):
- ::register()
- ::clear(),
- ::isRegistered()
- ::getHandlers()
- ::run()
- ::runWithoutAbort()
- ::runner()
* Article::__get(), ::__set(), deprecated since 1.35, have been removed.
* Several API calls have been updated to return a 'temp' user flag:
- ApiQueryImageInfo
- ApiQueryLogEvents
- ApiQueryRecentChanges
- APIs extended from ApiQueryRevisionsBase
* Parser::getCustomDefaultSort() and ::setDefaultSort(), deprecated since 1.38,
have been removed.
* UserOptionsLookup::getDefaultOptions() and
UserOptionsLookup::getDefaultOption() now accept an UserIdentity, to
take conditional defaults for user properties into account. When conditional
defaults are used, calling those methods without the UserIdentity might
produce unexpected results.
* Installer related classes have been namespaced without having aliases added.
The following have been moved to MediaWiki\Installer:
- CliInstaller
- DatabaseInstaller
- InstallDocFormatter
- Installer
- InstallerOverrides
- InstallerSessionProvider
- LocalSettingsGenerator
- MysqlInstaller
- PostgresInstaller
- PostgresUpdater
- SqliteInstaller
- SqliteUpdater
- WebInstaller
- WebInstallerComplete
- WebInstallerCopying
- WebInstallerDBConnect
- WebInstallerDBSettings
- WebInstallerDocument
- WebInstallerExistingWikis
- WebInstallerInstall
- WebInstallerLanguage
- WebInstallerName
- WebInstallerOptions
- WebInstallerOutput
- WebInstallerPage
- WebInstallerReleaseNotes
- WebInstallerRestart
- WebInstallerUpgrade
- WebInstallerUpgradeDoc
- WebInstallerWelcome
* mediawiki.ui/variables.less, deprecated since 1.41, has been removed in
favor of mediawiki.skin.variables.less.
* The module `jquery.cookie` (deprecated as of 1.41) has been removed. Please
use `mediawiki.cookie` instead
* The no-op module `es6-polyfills` (deprecated as of 1.41) has been removed.
* Log formatters (as defined in $wgLogActionsHandlers) are now created by
ObjectFactory, which means their constructors must be public. Legacy log
formatters using callbacks instead of class names are no longer supported.
* The old aliases for the namespaced ResourceLoader classes, deprecated since
they were moved in MediaWiki 1.39, have now been dropped:
- ResourceLoader – use MediaWiki\ResourceLoader\ResourceLoader
- ResourceLoaderCircularDependencyError
– use MediaWiki\ResourceLoader\CircularDependencyError
- ResourceLoaderClientHtml – use MediaWiki\ResourceLoader\ClientHtml
- ResourceLoaderCodexModule – use MediaWiki\ResourceLoader\CodexModule
- ResourceLoaderContext – use MediaWiki\ResourceLoader\Context
- ResourceLoaderFileModule – use MediaWiki\ResourceLoader\FileModule
- ResourceLoaderFilePath – use MediaWiki\ResourceLoader\FilePath
- ResourceLoaderForeignApiModule
– use MediaWiki\ResourceLoader\ForeignApiModule
- ResourceLoaderImage – use MediaWiki\ResourceLoader\Image
- ResourceLoaderImageModule – use MediaWiki\ResourceLoader\ImageModule
- ResourceLoaderLessVarFileModule
– use MediaWiki\ResourceLoader\LessVarFileModule
- ResourceLoaderModule – use MediaWiki\ResourceLoader\Module
- ResourceLoaderMwUrlModule – use MediaWiki\ResourceLoader\MwUrlModule
- ResourceLoaderOOUIFileModule – use MediaWiki\ResourceLoader\OOUIFileModule
- ResourceLoaderOOUIIconPackModule
– use MediaWiki\ResourceLoader\OOUIIconPackModule
- ResourceLoaderOOUIImageModule
– use MediaWiki\ResourceLoader\OOUIImageModule
- ResourceLoaderOOUIModule – use MediaWiki\ResourceLoader\OOUIModule
- ResourceLoaderSiteModule – use MediaWiki\ResourceLoader\SiteModule
- ResourceLoaderSiteStylesModule
– use MediaWiki\ResourceLoader\SiteStylesModule
- ResourceLoaderSkinModule – use MediaWiki\ResourceLoader\SkinModule
- ResourceLoaderStartUpModule – use MediaWiki\ResourceLoader\StartUpModule
- ResourceLoaderUserModule – use MediaWiki\ResourceLoader\UserModule
- ResourceLoaderUserOptionsModule
– use MediaWiki\ResourceLoader\UserOptionsModule
- ResourceLoaderUserStylesModule
– use MediaWiki\ResourceLoader\UserStylesModule
- ResourceLoaderWikiModule – use MediaWiki\ResourceLoader\WikiModule
- DerivativeResourceLoaderContext
– use MediaWiki\ResourceLoader\DerivativeContext
- MessageBlobStore – use MediaWiki\ResourceLoader\MessageBlobStore
- VueComponentParser – use MediaWiki\ResourceLoader\VueComponentParser
* (T318989) Skin::lastModified, deprecated since 1.40, has been removed.
* Composer 1.x is no longer supported, and can no longer be used with MediaWiki.
* Title::GAID_FOR_UPDATE, deprecated in 1.34, has been removed. Instead, your
code should use IDBAccessObject::READ_LATEST.
* Six private Title class members, deprecated in 1.37, are now fully private;
use their corresponding accessor methods:
- $mTextform -> getText()
- $mUrlform -> getPartialURL()
- $mDbkeyform -> getDBkey()
- $mNamespace -> getNamespace()
- $mInterwiki -> getInterwiki()
- $mFragment -> getFragment()
* Skin::bottomScripts, deprecated since 1.37, has been removed.
* Fallback index and options have been removed from
DBAccessObjectUtils::getDBOptions() without deprecation.
* The return value of IDatabase::upsert(), deprecated since 1.33, has been
removed.
* The class name alias in the main namespace RandomPage, deprecated since 1.37,
has been removed. Use MediaWiki\Specials\SpecialRandomPage instead.
* Instancing MediaWiki\Specials\SpecialRandomPage without injected services has
been removed.
* …
=== Deprecations in 1.42 ===
* (T166010) All PHP code in MediaWiki is slowly being moved to be in a class
namespace as appropriate, so that we can use PSR-4 auto-loading, which will
speed up general code loading of MediaWiki. The old global namespace class
names are being left behind as deprecated aliases.
In this release of MediaWiki, XYZ classes now have a namespace and XYZ do
not yet (XYZ% done, up from 63% in MediaWiki 1.41.0). The following have newly
been moved:
- MediaWiki\Cache:
- BacklinkCache
- FileCacheBase
- GenderCache
- HTMLCacheUpdater (and fix case for consistency with HTMLFileCache)
- LinkBatch
- LinkCache
- UserCache
- MediaWiki\Context:
- ContextSource
- DerivativeContextSource
- IContextSource
- MutableContext
- RequestContext
- MediaWiki\Deferred:
- AtomicSectionUpdate
- AutoCommitUpdate
- CdnCacheUpdate
- DataUpdate
- DeferrableCallback
- DeferrableUpdate
- DeferredUpdates
- DeferredUpdatesScope
- DeferredUpdatesScopeMediaWikiStack
- DeferredUpdatesScopeStack
- EnqueueableDataUpdate
- HtmlFileCacheUpdate
- JobQueueEnqueueUpdate
- MWCallableUpdate
- MergeableUpdate
- MessageCacheUpdate
- SearchUpdate
- SendPasswordResetEmailUpdate
- SiteStatsUpdate
- TransactionRoundAwareUpdate
- TransactionRoundDefiningUpdate
- UserEditCountInfo
- UserEditCountUpdate
- MediaWiki\HTMLForm:
- CodexHTMLForm
- CollapsibleFieldsetLayout
- HTMLForm
- HTMLFormActionFieldLayout
- HTMLFormElement
- HTMLFormField
- HTMLFormFieldLayout
- HTMLFormFieldRequiredOptionsException
- HTMLNestedFilterable
- OOUIHTMLForm
- VFormHTMLForm
- MediaWiki\HTMLForm\Field:
- HTMLApiField
- HTMLAutoCompleteSelectField
- HTMLButtonField
- HTMLCheckField
- HTMLCheckMatrix
- HTMLComboboxField
- HTMLDateTimeField
- HTMLEditTools
- HTMLExpiryField
- HTMLFileField
- HTMLFloatField
- HTMLFormFieldCloner
- HTMLFormFieldWithButton
- HTMLHiddenField
- HTMLInfoField
- HTMLIntField
- HTMLMultiSelectField
- HTMLNamespacesMultiselectField
- HTMLRadioField
- HTMLRestrictionsField
- HTMLSelectAndOtherField
- HTMLSelectField
- HTMLSelectLanguageField
- HTMLSelectLimitField
- HTMLSelectNamespace
- HTMLSelectNamespaceWithButton
- HTMLSelectOrOtherField
- HTMLSizeFilterField
- HTMLSubmitField
- HTMLTagFilter
- HTMLTagMultiselectField
- HTMLTextAreaField
- HTMLTextField
- HTMLTextFieldWithButton
- HTMLTimezoneField
- HTMLTitleTextField
- HTMLTitlesMultiselectField
- HTMLToggleSwitchField
- HTMLUserTextField
- HTMLUsersMultiselectField
- MediaWiki\Installer:
- DatabaseUpdater
- MysqlUpdater
- MediaWiki\LinkedData:
- PageDataRequestHandler
- MediaWiki\Maintenance:
- Version
- MediaWiki\Message:
- Message
- MediaWiki\Parser:
- Parser
- ParserOutput
- MediaWiki\PoolCounter:
- PoolCounter
- PoolCounterNull
- PoolCounterRedis
- PoolCounterWork
- PoolCounterWorkViaCallback
- PoolWorkArticleView
- PoolWorkArticleViewCurrent
- PoolWorkArticleViewOld
- MediaWiki\Site:
- CachingSiteStore
- DBSiteStore
- HashSiteStore
- MediaWikiSite
- Site
- SiteExporter
- SiteImporter
- SiteList
- SiteLookup
- SiteStore
- (T352284) MediaWiki\User\Options:
- DefaultOptionsLookup
- UserOptionsLookup
- UserOptionsManager
- StaticUserOptionsLookup
* Some hook classes have been moved from the generic MediaWiki\Hooks namespace
to live closer to the code which uses them:
- MediaWiki\Output\Hook:
- AfterBuildFeedLinksHook
- AfterFinalPageOutputHook
- BeforePageDisplayHook
- BeforePageRedirectHook
- GetCacheVaryCookiesHook
- LanguageLinksHook
- MakeGlobalVariablesScriptHook
- OutputPageAfterGetHeadLinksArrayHook
- OutputPageBeforeHTMLHook
- OutputPageBodyAttributesHook
- OutputPageCheckLastModifiedHook
- OutputPageMakeCategoryLinksHook
- OutputPageParserOutputHook
* API modules using ApiBase::requirePostedParameters() must also override
mustBePosted() to return true.
* Overriding MWException::getHTML(), ::getText(), ::getPageTitle(), and
::reportHTML() in order to display custom exception messages is now
deprecated. Provide the error message when constructing the Exception,
or if you need a whole custom error page, use ErrorPageError instead.
* Using `new ImportReporter( … )` or `new ApiImportReporter( … )` without
the $context parameter is now deprecated.
* Using `WikiImporterFactory::getWikiImporter()` without the $performer
parameter is now deprecated.
* BlockManager::getUserBlock() was deprecated. Instead use
BlockManager::getBlock(), which expects the caller to do ipblock-exempt
checking.
* The `composer phpunit:entrypoint` entrypoint has been deprecated, along with
bootstrap.integration.php and suite.xml. Run tests with `composer phpunit`
instead, or simply `vendor/bin/phpunit`, which use bootstrap.php and
phpunit.xml.dist.
* The global variable $wgCommandLineMode is deprecated. In most cases checks
for `$wgCommandLineMode` can be replaced with `MW_ENTRY_POINT === 'cli'`.
* The global function wfUnpack is deprecated and emits deprecation
warnings. Use StringUtils::unpack instead.
* User::isBlocked(), ::isBlockedFromCreateAccount() and ::isBlockedFrom() now
emit deprecation warnings. They were deprecated since 1.34, 1.37 and 1.33
respectively.
* DatabaseBlock::newFromID() was deprecated and will emit deprecation warnings.
Instead use DatabaseBlockStore::newFromID().
* DatabaseBlock::getAutoblockExpiry() was deprecated without replacement.
* MagicWord::getId() has been deprecated.
* MagicWordFactory::getSubstIDs() has been deprecated.
* Status::setMessageLocalizer is deprecated. Callers that want to control the
localization of the Status object should obtain a StatusFormatter from
the StatusFormatterFactory.
* Html::buttonAttributes() and Html::getTextInputAttributes() methods
no longer do anything and have been deprecated.
* DatabaseBlock::doAutoblock and ::updateTimestamp are now deprecated, use
DatabaseBlockStore::doAutoblock and ::updateTimestamp instead.
* The MediaWiki class has been deprecated. Type hints in hooks should be
changed to refer to MediaWikiEntryPoint instead. Note that extensions should
not define their own entry points and should not interfere with the state of
MediaWikiEntryPoint instances.
* Vuex has been deprecated in favor of its successor, Pinia. Though deprecated,
Vuex 4 will remain accessible for the foreseeable future. Pinia should be used
for new projects.
* Title::getBrokenLinksFrom() has been deprecated.
* ReplicatedBagOStuff has been deprecated since 1.42.
* The third argument to ContentRenderer::getParserOutput() now accepts a
RevisionRecord or WikiRevision; passing an integer revision id has been
deprecated and emits a warning.
* ParserOutput::setLanguageLinks() has been deprecated.
* ParserOutput::getTimestamp() and ::setTimestamp() have been deprecated; use
::getRevisionTimestamp() and ::setRevisionTimestamp() instead.
* ParserOutput::setText() has been deprecated; use ::setRawText() instead which
matches the name of the corresponding getter, ParserOutput::getRawText().
* ApiQueryBlockInfoTrait::addBlockInfoToQuery() will emit deprecation warnings
and will soon stop working due to schema changes. Instead use
addDeletedUserFilter() or getBlockDetailsForRows().
* UploadBase::getImageInfo was deprecated, subclasses of ApiUpload can use
ApiUpload::getUploadImageInfo() instead.
* DatabaseBlockStore::updateTimestamp() is now internal and should not be
called.
* The LocalisationCache helper classes GlobalDependency and MainConfigDependency
are deprecated, use ConfigDependency instead.
* The module `mediawiki.icon` has been deprecated. Use the Codex mixin instead
(T351681).
* ConfigRepository::class and MediaWikiServices::getConfigRepository() have been
deprecated, they are unused.
* Passing a WikiPage to PageEditStash::parseAndCache() has been deprecated.
Use PageUpdater instance.
* SpecialBlock::getSuggestedDurations() has been deprecated, use
Language::getBlockDurations() instead.
* MediaWikiServices::getBlockErrorFormatter() has been deprecated, use
MediaWikiServices::getFormatterFactory()->getBlockErrorFormatter() instead.
* DummyLinker has been deprecated. The DummyLinker parameter to the
'ImageBeforeProduceHTML' hook will become null in the future.
* Database::listViews() has been deprecated. This was previously used to filter
views out of the return value of Database::listTables(). Now listTables()
will not include views. MediaWiki does not use views.
* (T207621) UserMailer::rfc822Phrase() has been hard deprecated.
* TempUserConfig::getMatchPattern has been deprecated, use
TempUserConfig::getMatchPatterns instead.
* (T230025) Title::purgeSquid(), deprecated in 1.35, now emits warnings.
* Title::getCdnUrls(), deprecated in 1.35, now emits warnings.
* The rarely-used convenience method Xml::wrapClass() is now deprecated. Instead
you can use Xml::tags('span', ['class'=>'foo'], 'bar').
* WebRequest::getCrossSiteCookie() has been deprecated due to the removal of
$wgUseSameSiteLegacyCookies. It will emit deprecation warnings. Use
WebRequest::getCookie().
* Using the array_merge_recursive merge strategy in extension.json and skin.json
has been hard deprecated.
* DBAccessObjectUtils::getDBFromIndex() is now deprecated, use
::getDBFromRecency() instead.
* Many Xml methods that are specific to HTML but not XML are deprecated:
- Xml::buildForm
- Xml::check
- Xml::checkLabel
- Xml::fieldset
- Xml::input
- Xml::inputLabel
- Xml::inputLabelSep
- Xml::label
- Xml::option
- Xml::password
- Xml::radio
- Xml::radioLabel
- Xml::span
- Xml::submitButton
- Xml::textarea
has been hard deprecated
* IMaintainableDatabase::truncate() has been deprecated. Use truncateTable()
instead.
* TextConflictHelper->incrementStatsByUserEdits() is now deprecated. The
action this function previously handled should be moved into
incrementConflictStats() and incrementResolvedStats().
* …
=== Other changes in 1.42 ===
* Gallery: Image captions are no longer wrapped in <p> tags. Skins that
customize rendering for galleries may need to tweak their CSS.
* Scripts under maintenance/dev/, for quickly setup a local MediaWiki for
development purposes, have been removed, see DEVELOPERS.md for alternatives.
* …
== Compatibility ==
MediaWiki 1.42 requires PHP 7.4.3 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/mailman/listinfo/mediawiki-l
A low-traffic announcements-only list is also available:
https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce
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.