Deprecated only since 1.23, but universally reviled, and used only by MwEmbedSupport, which no longer uses it as of I43af3c87a). Change-Id: I36c89b273fdb0ec3a76034c7a6d2f48a15d5457f
351 lines
18 KiB
Text
351 lines
18 KiB
Text
Security reminder: If you have PHP's register_globals option set, you must
|
|
turn it off. MediaWiki will no longer work with it enabled.
|
|
|
|
== MediaWiki 1.24 ==
|
|
|
|
THIS IS NOT A RELEASE YET
|
|
|
|
MediaWiki 1.24 is an alpha-quality branch and is not recommended for use in
|
|
production.
|
|
|
|
=== Configuration changes in 1.24 ===
|
|
* MediaWiki will no longer run if register_globals is enabled. It has been
|
|
deprecated for 5 years now, and was removed in PHP 5.4. For more information
|
|
about why, see <https://www.mediawiki.org/wiki/register_globals>.
|
|
* The server's canonical hostname is available as $wgServerName, which is
|
|
exposed in both mw.config and ApiQuerySiteInfo.
|
|
* Introduced $wgPagePropsHaveSortkey as a backwards-compatibility switch,
|
|
for using the old schema of the page_props table, in case the respective
|
|
schema update was not applied.
|
|
* $wgSearchEverythingOnlyLoggedIn was removed as the 'searcheverything'
|
|
user option was removed. Use $wgNamespacesToBeSearchedDefault instead or
|
|
if you used to have $wgDefaultUserOptions['searcheverything'] = 1.
|
|
* $wgMasterWaitTimeout has been deprecated.
|
|
* $wgDBClusterTimeout has been removed.
|
|
* $wgProxyKey has been removed. It is no longer used by MediaWiki core.
|
|
Ensure $wgSecretKey is set in LocalSettings.php.
|
|
* $wgExtraInterlanguageLinkPrefixes is a new configuration variable that
|
|
contains an array of interwiki prefixes that should be treated as language
|
|
prefixes (i.e. turned into interlanguage links when $wgInterwikiMagic is set
|
|
to true).
|
|
* $wgParserTestRemote has been removed.
|
|
* $wgCountTotalSearchHits has been removed. If you're concerned about efficiency
|
|
of search, you should use something like CirrusSearch instead of built in
|
|
search.
|
|
* Users in the 'sysop' group have access to Special:MergeHistory by default.
|
|
* $wgFileStore was removed after having been deprecated in 1.17. Alternative
|
|
configurations are $wgDeletedDirectory and $wgHashedUploadDirectory.
|
|
* The deprecated $wgUseCommaCount variable has been removed.
|
|
|
|
=== New features in 1.24 ===
|
|
* Added a new hook, "WhatLinksHereProps", to allow extensions to annotate
|
|
WhatLinksHere entries.
|
|
* Added a new hook, "ContentGetParserOutput", to customize parser output for
|
|
a given content object.
|
|
* Deprecated the hook "ShowRawCssJs", use "ContentGetParserOutput" instead.
|
|
* HTMLForm's HTMLTextField now supports the 'url' type.
|
|
* HTMLForm fields may now be dynamically hidden based on the values of other
|
|
fields in the form.
|
|
* HTMLForm now supports multiple copies of an input field or set of input
|
|
fields, e.g. the form may request "one or more usernames" without having to
|
|
have the user enter delimited list of names into a text field.
|
|
* Added a new hook, "SidebarBeforeOutput", to allow to edit the structure of
|
|
the sidebar just before its display.
|
|
* (bug 49156) Added the mediawiki.cookie ResourceLoader module, which wraps
|
|
jquery.cookie so that getting/setting a cookie is syntactically and
|
|
functionally similar to using the WebRequest::getCookie() and
|
|
WebResponse::setcookie() methods.
|
|
* (bug 44740) jQuery upgraded from 1.8.3 to 1.11.1. A new configuration option,
|
|
$wgIncludejQueryMigrate, also loads the jQuery Migrate hack to let extensions
|
|
and gadgets use the long-deprecated functions that were removed in jQuery 1.9.
|
|
This option is turned off by default, and will be removed in MediaWiki 1.25.
|
|
* (bug 47076) jQuery UI upgraded from 1.8.24 to 1.9.2.
|
|
* Changes to content typography (fonts, etc.). See
|
|
https://www.mediawiki.org/wiki/Typography_refresh for further information.
|
|
* WikitextContent will now render redirects with the expected "redirect"
|
|
header, rather than as an ordered list. Code calling Article::viewRedirect
|
|
can probably be changed to no longer special-case redirects.
|
|
* Header font set to a serif font stack. See
|
|
https://www.mediawiki.org/wiki/Typography_refresh for further information.
|
|
* (bug 65567) Added a new hook, "BeforeHttpsRedirect", to allow cancellation of
|
|
the HTTP to HTTPS redirect due to forceHTTPS cookie, userRequires, etc. This
|
|
is only for page views, since this hook doesn't affect UserLogin, OAuth,
|
|
CentralAuth, etc. ATTENTION: This hook is likely to be removed soon due to
|
|
overall design of the system.
|
|
* (bug 17367) It is now possible to add pages to your watchlist from
|
|
Special:UnwatchedPages without reloading the special page.
|
|
* New methods setVolatile and isVolatile are added to PPFrame, so that
|
|
extensions such as Cite.php can mark that their output is volatile and
|
|
shouldn't be cached.
|
|
* (bug 52817) Advanced search options are now saved on the search page itself,
|
|
rather than in a dedicated pane in the preferences panel.
|
|
* (bug 44591) The dropdown actions menu (little triangle next to page tabs) in
|
|
the Vector skin has gained a label that should make it more discoverable.
|
|
* MWCryptHKDF added for fast, cryptographically secure random number generation
|
|
that won't deplete openssl's entropy pool.
|
|
* ResourceLoader: File modules can now provide a skip function that uses an
|
|
inline feature test to bypass loading of the module.
|
|
* (bug 20210) Special pages may now provide autocompletion of their subpage
|
|
names in search suggestions. Right now the only useful implementation is in
|
|
Special:Log, but more are to come.
|
|
* Special:MostLinkedTemplates is no longer limited to transclusions from the
|
|
Template namespace.
|
|
* Skins can now use 'remoteSkinPath' when defining ResourceLoader modules.
|
|
This works the same as 'remoteExtPath' but is relative to the skins/ folder
|
|
instead of the extensions/ folder.
|
|
* Added the json2.js polyfill for the ES5 JSON.stringify and JSON.parse methods.
|
|
Exposed as module "json" with a skip function to optimise loading.
|
|
* Extensions and skins may now use 'namemsg' in $wgExtensionCredits in addition
|
|
to 'name', to allow for the name to be localizable. 'name' should still be
|
|
specified for backwards-compatibility and to define the path Special:Version
|
|
uses to find extension license information.
|
|
* Browser tests are now included to verify basic wiki functionality in developer
|
|
environments. For details on running tests, see tests/browser/README.mediawiki.
|
|
* Upgrade jStorage to v0.4.10.
|
|
* {{!}} is now a magic word that produces the | character. This removes the need
|
|
for Template:! for purposes such as passing pipes inside of parameters.
|
|
* (bug 20790) The block log snippet on Special:Contributions and while
|
|
editing user and user talk pages now works for IP range blocks.
|
|
* (bug 9360) Added ability to change the page language for MediaWiki pages using
|
|
Special:PageLanguage. All pages are set to wiki language by default.
|
|
The feature needs to be enabled with $wgPageLanguageUseDB=true and
|
|
permission needs to be set for 'pagelang'.
|
|
* Upgrade Moment.js to v2.7.0.
|
|
* (bug 67042) Added support for the HTML5 <rtc> tag for East Asian typography.
|
|
* Upgrade Sinon.JS to 1.10.3.
|
|
* Added the es5-shim polyfill for older or non-compliant javascript engines.
|
|
|
|
=== Bug fixes in 1.24 ===
|
|
* (bug 49116) Footer copyright notice is now always displayed in user language
|
|
rather than content language (same as copyright notice for editing interface).
|
|
* (bug 62258) A bug was fixed in File::getUnscaledThumb when a height
|
|
restriction was present in the parameters. Images with both the "frame"
|
|
option and a size specification set will now always ignore the provided
|
|
size and display an unscaled image, as the documentation has always
|
|
claimed it would.
|
|
* (bug 39035) Improved Vector skin performance by removing collapsibleNav,
|
|
which used to collapse some sidebar elements by default.
|
|
This removes -list id suffixes like p-lang-list: instead of using things like
|
|
#p-lang-list, you can do #p-lang .body ul.
|
|
* (bug 890) Links in Special:RecentChanges and Special:Watchlist no longer
|
|
follow redirects to their target pages.
|
|
* Parser now dies early if called recursively, instead of producing subtle bugs.
|
|
* (bug 14323) Redirect pages, when viewed with redirect=no, no longer hide the
|
|
remaining page content.
|
|
* (bug 52587) Maintenance script deleteBatch.php no longer follows redirects
|
|
in the file namespace and delete the file on the target page. It will still
|
|
however delete the redirect page.
|
|
* (bug 22683) {{msgnw:}} and other uses of PPFrame::RECOVER_ORIG will correctly
|
|
recover the original code of extension tags.
|
|
* (bug 65757) MSSQL: Update script drops unnamed constraints to be prepared
|
|
for future updates. Because it's doing so heuristically, it may fail or drop
|
|
wrong constraints.
|
|
|
|
=== Web API changes in 1.24 ===
|
|
* action=parse API now supports prop=modules, which provides the list of
|
|
ResourceLoader modules that should be used to enhance the parsed content.
|
|
* action=query&meta=siteinfo&siprop=interwikimap returns a new "protorel"
|
|
field which is true iff protocol-relative urls can be used to access
|
|
a particular interwiki map entry.
|
|
* ApiQueryLogEvents now provides logpage, which is the page ID from the
|
|
logging table, if ids are requested and the user has the permissions.
|
|
* action=edit now requires that appendtext, prependtext, or section=new be used
|
|
when using the 'redirect' parameter, to prevent clients accidentally
|
|
overwriting the target page with the content of the redirect.
|
|
* action=logevents will now return an error if both letitle and leprefix are
|
|
specified.
|
|
* action=logevents has a new parameter, lenamespace, to allow filtering by
|
|
namespace.
|
|
* action=expandtemplates has a new parameter, prop, and a new output format.
|
|
The old format is still used if prop isn't provided, but this is deprecated.
|
|
* meta=userinfo can now return the count of unread pages on the watchlist.
|
|
* list=watchlist can now filter by unread status.
|
|
* The deprecated action=parse&prop=languageshtml has been removed.
|
|
* (bug 48071) action=setnotificationtimestamp no longer throws PHP or database
|
|
errors when no pages are given.
|
|
* (bug 60734) Actions that use ApiPageSet (e.g. purge, watch,
|
|
setnotificationtimestamp) will now include continuation information when
|
|
using a generator.
|
|
|
|
=== Languages updated in 1.24 ===
|
|
|
|
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 Bugzilla reports.
|
|
|
|
=== Other changes in 1.24 ===
|
|
* The deprecated jquery.delayedBind ResourceLoader module was removed.
|
|
* The deprecated function mw.util.toggleToc was removed.
|
|
* The Special:Search hooks SpecialSearchGo and SpecialSearchResultsAppend
|
|
were removed as they were unused.
|
|
* (bug 65477) User::pingLimiter() now has an additional profile point varying
|
|
by action being used.
|
|
* mediawiki.util.$content no longer supports old versions of the Vector,
|
|
Monobook, Modern and CologneBlue skins that don't yet implement the "mw-body"
|
|
and/or "mw-body-primary" class name in their html.
|
|
* Added pp_sortkey column to page_props table, so pages can be efficiently
|
|
queried and sorted by property value (bug 58032).
|
|
See $wgPagePropsHaveSortkey if you want to postpone the schema change.
|
|
* BREAKING CHANGE: The Modern and Cologne Blue skins were moved out of MediaWiki
|
|
core to their own respective repositories. See also
|
|
https://www.mediawiki.org/wiki/Skin:Modern and
|
|
https://www.mediawiki.org/wiki/Skin:CologneBlue.
|
|
* BREAKING CHANGE: Skins built for MediaWiki 1.15 and earlier that do not use
|
|
the "headelement" template key are no longer supported. Setting
|
|
$useHeadElement = false; is no longer supported and will not cause old keys
|
|
like "headlinks", "skinnameclass", etc. to be defined.
|
|
* The deprecated 'SpecialVersionExtensionTypes' hook was removed.
|
|
* (bug 63891) Add 'X-Robots-Tag: noindex' header in action=render pages.
|
|
* SpecialPage no longer supports the syntax for invoking wfSpecial*() functions.
|
|
Special pages should subclass SpecialPage and implement the execute() method.
|
|
* (bug 63755) The deprecated constants RC_MOVE and RC_MOVE_OVER_REDIRECT were
|
|
removed.
|
|
* Special:MostLinkedTemplates has been renamed to Special:MostTranscludedPages.
|
|
* The skin autodiscovery mechanism has been deprecated and will be removed in
|
|
MediaWiki 1.25. See https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery
|
|
for migration guide for creators and users of custom skins that relied on it.
|
|
* ResourceLoaderFileModule#getAllStyleFiles now returns all style files and all
|
|
skin style files used by the module.
|
|
* Removed getLang() from IContextSource and subclasses. (deprecated since 1.19)
|
|
* Removed setLang() from subclasses of IContextSource. (deprecated since 1.19)
|
|
* Removed WebRequest::escapeAppendQuery(). (deprecated since 1.20)
|
|
* Removed info(), purge(), revert() and rollback() from the Article class; they
|
|
have since become subclasses of the Action class. (deprecated since 1.19)
|
|
* SearchEngineReplacePrefixesComplete hook was removed.
|
|
* The "jquery.json" module has been deprecated. Use the "json" module instead.
|
|
* Removed HTMLForm::addJS(). (deprecated since 1.18)
|
|
* Removed LogEventsList::showHeader(). (deprecated since 1.19)
|
|
* Removed ImageGalleryBase::useSkin(). (deprecated since 1.18)
|
|
* Removed DatabaseMysqlBase::getLagFromProcesslist(). (deprecated since 1.19)
|
|
* Removed LoadBalancer::closeConnecton(). (deprecated since 1.18)
|
|
* Removed ApiBase::createContext(). (deprecated since 1.19)
|
|
* BREAKING CHANGE: The undocumented Special{$this->getName()}BeforeFormDisplay
|
|
set of hooks has been removed and replaced by a single new hook
|
|
SpecialPageBeforeFormDisplay.
|
|
* (bug 65781) Removed block warning on included {{Special:Contributions}}
|
|
* Removed Skin::makeGlobalVariablesScript. (deprecated since 1.19)
|
|
* Removed MWNamespace::isMain(). (deprecated since 1.19)
|
|
* Removed Preferences::loadOldSearchNs(). (deprecated since 1.19)
|
|
* Removed OutputPage::getStatusMessage(). (deprecated since 1.18)
|
|
* Removed OutputPage::isUserJsAllowed(). (deprecated since 1.18)
|
|
* Removed Title::updateTitleProtection(). (deprecated since 1.19)
|
|
* Removed ParserOptions::setSkin(). (deprecated since 1.19)
|
|
* Removed Title::escapeCanonicalURL(). (deprecated since 1.19)
|
|
* Removed Title::escapeLocalURL(). (deprecated since 1.19)
|
|
* Removed Title::escapeFullURL(). (deprecated since 1.19)
|
|
* Removed User::isValidEmailAddr(). (deprecated since 1.18)
|
|
* Removed Title::getEscapedText(). (deprecated since 1.19)
|
|
* Removed Language::getFallbackLanguageCode(). (deprecated since 1.19)
|
|
* Removed WikiPage::isBigDeletion(). (deprecated since 1.19)
|
|
* Removed MWInit class which contained functions related to a now discontinued
|
|
PHP compiler called hphpc. (deprecated since 1.22)
|
|
* ApiResult::enableSizeCheck() and disableSizeCheck() are now obsolete.
|
|
* Removed ResourceLoaderGetStartupModules hook. (deprecated since 1.23)
|
|
|
|
==== Renamed classes ====
|
|
* CLDRPluralRuleConverter_Expression to CLDRPluralRuleConverterExpression
|
|
* CLDRPluralRuleConverter_Fragment to CLDRPluralRuleConverterFragment
|
|
* CLDRPluralRuleConverter_Operator to CLDRPluralRuleConverterOperator
|
|
* CLDRPluralRuleEvaluator_Range to CLDRPluralRuleEvaluatorRange
|
|
* CSSJanus_Tokenizer to CSSJanusTokenizer
|
|
* MediaWiki_I18N to MediaWikiI18N
|
|
* Parser_DiffTest to ParserDiffTest
|
|
* RevDel_ArchiveItem to RevDelArchiveItem
|
|
* RevDel_ArchiveList to RevDelArchiveList
|
|
* RevDel_ArchivedFileItem to RevDelArchivedFileItem
|
|
* RevDel_ArchivedFileList to RevDelArchivedFileList
|
|
* RevDel_ArchivedRevisionItem to RevDelArchivedRevisionItem
|
|
* RevDel_FileItem to RevDelFileItem
|
|
* RevDel_FileList to RevDelFileList
|
|
* RevDel_Item to RevDelItem
|
|
* RevDel_List to RevDelList
|
|
* RevDel_LogItem to RevDelLogItem
|
|
* RevDel_LogList to RevDelLogList
|
|
* RevDel_RevisionItem to RevDelRevisionItem
|
|
* RevDel_RevisionList to RevDelRevisionList
|
|
* WebInstaller_Complete to WebInstallerComplete
|
|
* WebInstaller_Copying to WebInstallerCopying
|
|
* WebInstaller_DBConnect to WebInstallerDBConnect
|
|
* WebInstaller_DBSettings to WebInstallerDBSettings
|
|
* WebInstaller_Document to WebInstallerDocument
|
|
* WebInstaller_ExistingWiki to WebInstallerExistingWiki
|
|
* WebInstaller_Install to WebInstallerInstall
|
|
* WebInstaller_Language to WebInstallerLanguage
|
|
* WebInstaller_Name to WebInstallerName
|
|
* WebInstaller_Options to WebInstallerOptions
|
|
* WebInstaller_Readme to WebInstallerReadme
|
|
* WebInstaller_ReleaseNotes to WebInstallerReleaseNotes
|
|
* WebInstaller_Restart to WebInstallerRestart
|
|
* WebInstaller_Upgrade to WebInstallerUpgrade
|
|
* WebInstaller_UpgradeDoc to WebInstallerUpgradeDoc
|
|
* WebInstaller_Welcome to WebInstallerWelcome
|
|
|
|
==== Removed classes ====
|
|
* IPBlockForm - Use SpecialBlock directly
|
|
* WatchlistEditor - Use SpecialEditWatchlist directly
|
|
* FormatExif - Use FormatMetadata directly
|
|
|
|
== Compatibility ==
|
|
|
|
MediaWiki 1.24 requires PHP 5.3.2 or later.
|
|
|
|
MySQL is the recommended DBMS. PostgreSQL or SQLite can also be used, but
|
|
support for them is somewhat less mature. There is experimental support for
|
|
Oracle and Microsoft SQL Server.
|
|
|
|
The supported versions are:
|
|
|
|
* MySQL 5.0.2 or later
|
|
* PostgreSQL 8.3 or later
|
|
* SQLite 3.3.7 or later
|
|
* Oracle 9.0.1 or later
|
|
* Microsoft SQL Server 2005 (9.00.1399)
|
|
|
|
== Upgrading ==
|
|
|
|
1.24 has several database changes since 1.23, and will not work without schema
|
|
updates. Note that due to changes to some very large tables like the revision
|
|
table, the schema update may take quite long (minutes on a medium sized site,
|
|
many hours on a large site).
|
|
|
|
If upgrading from before 1.11, and you are using a wiki as a commons
|
|
repository, make sure that it is updated as well. Otherwise, errors may arise
|
|
due to database schema changes.
|
|
|
|
If upgrading from before 1.7, you may want to run refreshLinks.php to ensure
|
|
new database fields are filled with data.
|
|
|
|
If you are upgrading from MediaWiki 1.4.x or earlier, you should upgrade to
|
|
1.5 first. The upgrade script maintenance/upgrade1_5.php has been removed
|
|
with MediaWiki 1.21.
|
|
|
|
Don't forget to always back up your database before upgrading!
|
|
|
|
See the file UPGRADE for more detailed upgrade instructions.
|
|
|
|
For notes on 1.23.x and older releases, see HISTORY.
|
|
|
|
== 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/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.freenode.net.
|