Change notes from older releases. For current info see RELEASE-NOTES-1.21.
== MediaWiki 1.20 ==
=== PHP 5.3 now required ===
Since 1.20, the lowest supported version of PHP is now 5.3.2. Please
upgrade PHP if you have not done so prior to upgrading MediaWiki.
=== Configuration changes in 1.20 ===
* $wgGitRepositoryViewers defines a mapping from Git remote repository to the
Gitweb instance URL used in Special:Version.
* `$wgUsePathInfo = true;` is no longer needed to make $wgArticlePath work on servers
using like nginx, lighttpd, and apache over fastcgi. MediaWiki now always extracts
path info from REQUEST_URI if it's available.
* The user right 'upload_by_url' is no longer given to sysops by default.
This only affects installations which have $wgAllowCopyUploads set to true.
* Removed f-prot support from $wgAntivirusSetup.
* New variable $wgDBerrorLogTZ to provide dates in the error log in a
different timezone than the wiki timezone set by $wgLocaltimezone.
* New variables $wgDBssl and $wgDBcompress to enable SSL and compression for database
connections, if either are available for the selected DB type.
* $wgUseCombinedLoginLink now defaults to false, making MediaWiki output separate
login and create account links by default.
=== New features in 1.20 ===
* Added TitleIsAlwaysKnown hook which gets called when determining if a page exists.
* Added NamespaceIsMovable hook which gets called when determining if pages in a
certain namespace can be moved.
* Added SpecialPageBeforeExecute hook which gets called before SpecialPage::execute.
* Added SpecialPageAfterExecute hook which gets called after SpecialPage::execute.
* Added ORMTable, ORMRow and ORMResult classes for additional abstraction of
database interaction.
* Added CacheHelper and associated SpecialCachedPage and CachedAction helper classes.
* (bug 32341) Add upload by URL domain limitation.
* &useskin=default will now always display the default skin. Useful for users with a
preference for the non-default skin to look at something using the default skin.
* (bug 27619) Remove preference option to display broken links as link?
* (bug 34896) jQuery JSON plugin upgraded to v2.3 (2011-09-17).
* (bug 34302) Add CSS classes to email fields in user preferences.
* Introduced $wgDebugDBTransactions to trace transaction status (currently PostgreSQL only).
* (bug 23795) Add parser itself to ParserMakeImageParams hook.
* Introduce a cryptographic random number generator source api for use when
generating various tokens.
* (bug 30963) Option on Special:Prefixindex and Special:Allpages to not show redirects.
* (bug 18062) New message when edit or create the local page of a shared file.
* (bug 22870) Separate interface message when creating a page.
* (bug 17615) nosummary option should be reassigned on preview/captcha.
* (bug 34355) Add a variable and parser function for the namespace number.
* (bug 35649) Special:Version now shows hashes of extensions checked out from git.
* (bug 35728) Git revisions are now linked on Special:Version.
* "Show Changes" on default messages shows now diff against default message text
* (bug 23006) create #speciale parser function.
* generateSitemap can now optionally skip redirect pages.
* (bug 27757) New API command just for retrieving tokens (not page-based).
* Added GitViewers hook for extensions using external git repositories to have a web-based
repository viewer linked to from Special:Version.
* Memcached debug logs can now be sent to their own file logs by setting
$wgDebugLogFile['memcached'] to some filepath.
* (bug 35685) api.php URL and other entry point URLs are now listed on
Special:Version
* Edit notices can now be translated.
* jQuery upgraded to 1.8.2.
* jQuery UI upgraded to 1.8.23.
* QUnit upgraded from v1.2.0 to v1.10.0.
* (bug 37604) jquery.cookie upgraded to 2011 version.
* (bug 22887) Add warning and tracking category for preprocessor errors
* (bug 31704) Allow selection of associated namespace on the watchlist
* (bug 5445) Now remove autoblocks when a user is unblocked.
* Added $wgLogExceptionBacktrace, on by default, to allow logging of exception
backtraces.
* Added device detection for determining device capabilities.
* QUnit.newMwEnvironment now supports passing a custom setup and/or teardown function.
Arguments signature has changed. First arguments is now an options object of which
'config' can be a property. Previously 'config' itself was the first and only argument.
* New getCreator and getOldestRevision methods added to WikiPage class
* (bug 4220) the XML dump format schema now have unique identity constraints
for page and revision identifiers. Patch by Elvis Stansvik.
* cleanupSpam.php now can delete spam pages if --delete was specified instead of blanking
them.
* Added new hook ChangePasswordForm to allow adding of additional fields in Special:ChangePassword
* Added new function getDomain to AuthPlugin for getting a user's domain
* (bug 23427) New magic word {{PAGEID}} which gives the current page ID.
Will be null on previewing a page being created.
* (bug 37627) UserNotLoggedIn() exception to show a generic error page whenever
a user is not logged in.
* Watched status in changes lists are no longer indicated by
tags with class "mw-watched". Instead, each line now has a class
"mw-changeslist-line-watched" or "mw-changeslist-line-not-watched", and the
title itself is surrounded by tags with class "mw-title".
* Added ContribsPager::reallyDoQuery hook allowing extensions to data to MyContribs
* Added new hook ParserAfterParse to allow extensions to affect parsed output
after the parse is complete but before block level processing, link holder
replacement, and so on.
* (bug 34678) Added InternalParseBeforeSanitize hook which gets called during Parser's
internalParse method just before the parser removes unwanted/dangerous HTML tags.
* Added new hook AfterFinalPageOutput to allow modifications to buffered page output before sent
to the client.
* (bug 36783) Implement jQuery Promise interface in mediawiki.api module.
* Make dates in sortable tables sort according to the page content language
instead of the site content language
* (bug 37926) Deleterevision will no longer allow users to delete log entries,
the new deletelogentry permission is required for this.
* (bug 14237) Allow PAGESINCATEGORY to distinguish between 'all', 'pages', 'files'
and 'subcats'
* (bug 38362) Make Special:Listuser includeable on wiki pages.
* Added support in jquery.localize for placeholder attributes.
* (bug 38151) Implemented mw.user.getRights for getting and caching the current
user's user rights.
* Session storage can now configured independently of general object cache
storage, by using $wgSessionCacheType. $wgSessionsInMemcached has been
renamed to $wgSessionsInObjectCache, with the old name retained for backwards
compatibility. When this feature is enabled, the expiry time can now be
configured with $wgObjectCacheSessionExpiry.
* Added a Redis client for object caching.
* Implemented mw.user.getGroups for getting and caching user groups.
* (bug 37830) Added $wgRequirePasswordforEmailChange to control whether password
confirmation is required for changing an email address or not.
* HTMLForm mutators can now be chained (they return $this)
* A new message, "api-error-filetype-banned-type", is available for formatting
API upload errors due to the file extension blacklist.
* New hook 'ParserTestGlobals' allows to set globals before running parser tests.
* Allow importing pages as subpage.
* Add lang and hreflang attributes to language links on Login page.
* (bug 22749) Create Special:MostInterwikis.
* Show change tags when transclude Special:Recentchanges(linked) or Special:Newpages.
* (bug 23226) Add |class= parameter to image links in order to add class(es) to HTML img tag.
* (bug 39431) SVG animated status is now shown in long description.
* (bug 39376) jquery.form upgraded to 3.14.
* SVG files will now show the actual width in the SVG's specified units
in the metadata box.
* Added ResourceLoader module "jquery.jStorage" (v0.3.0, http://jStorage.info/).
* (bug 39273) Added AJAX support for "Show changes" (diff) in LivePreview.
* Added ResourceLoader module "jquery.badge".
* mw.util.$content now points to the overall content area in the skin rather than just
page text content area. If you need the old behavior please use $( '#mw-content-text').
* jsMessage has been replaced with a floating bubble notification system complete
with auto-hide, multi-message support, and message replacement tags.
* jquery.messageBox which appears to be unused by both core and extensions has
been removed.
* (bug 34939) Made link parsing insensitive ([HttP://]).
* (bug 40072) Add CSS classes to items in output of ChangesList pages.
* Added $wgCopyUploadProxy global to define which proxy to use for copy
uploads.
* (bug 40448) mediawiki.legacy.mwsuggest has been replaced with a new module,
mediawiki.searchSuggest, based on SimpleSeach from Extension:Vector.
=== Known issues in 1.20.0 ===
These are issues that we're targeting to be fixed in a later release
in the 1.20 series. Issues may be added or removed from this list as
we see fit. For now, it is comprised of those bugs on the 1.20.0
milestone in Bugzilla.
* (bug 35894): Reports of secret key generation "hanging" on windows
This is probably a bug that has been fixed in PHP. If you run
into this, try upgrading your PHP.
* (bug 38334): PHP Notice: Undefined index: href in /www/w/skins/Vector.php on line 416
We think this is a problem in some extension. If you see this,
try disabling your extensions and check out the logging patch on
this bug. Or try this patch:
* (bug 39268): [Regression] Toolbar inserts in main textarea only (instead of the focussed textarea)
This should only be an issue if you are using the ProofreadPage
extension.
* (bug 40641): Clicking "others" in Special:Version asks to download a file
If you encounter this, you can tell your webserver to serve the
CREDITS file with text/plain MIME type to fix it.
=== Bug fixes in 1.20 ===
* (bug 40939): [Regression] InfoAction: Call to a member function getUserText() on a non-object
* (bug 40780): searchsuggest-containing line ("containing...") doesn't include the entered text
* (bug 37714): [Regression] Incomplete log entries
* (bug 27202): API: Add timestamp sort to list=allimages
* (bug 30245) Use the correct way to construct a log page title.
* (bug 34237) Regenerate an empty user_token and save to the database
when we try to set the user's cookies for login.
* (bug 32210) New edit emails for watched pages always provide a link to the
edit which triggered the mail.
* (bug 12021) Added user talk link on Special:Listusers.
* (bug 34445) section edit and TOC hide/show links are excluded from selection and
copy/paste on supporting browsers.
* (bug 34428) Fixed incorrect hash mismatch errors in the DiffHistoryBlob
history compression method.
* (bug 34702) Localised parentheses are now used in more special pages.
* (bug 34723) When editing a script page on a RTL wiki the textbox should be LTR.
* (bug 34762) Calling close() on a DatabaseBase object now clears the connection.
* (bug 34863) Show deletion log extract on non-existent file pages if applicable.
* (bug 28019) Let ?preloadtitle=foo be passed on to target of
Special:MyPage and Special:MyTalk.
* (bug 34929) Show the correct diff when a section edit is rejected by the spam
filter.
* (bug 15816) Add a switch for SETting the search_path (Postgres).
* (bug 34521) Returning to the previous page after logging in loses any array-
valued parameters in the query string.
* (bug 34735) Updated compressOld.php documentation to mention the different
usages of -s and -n parameters depending on compression type.
* (bug 13896) Rendering of devanagari numbers in automatic '#' number lists.
* (bug 33689) Upgrade to 1.19 on Postgres fails due to incomplete query when.
trying to defer foreign key for externallinks.
* (bug 32748) Printer friendly version of article decode Unicode chars as a
pretty IRI in footer.
* Removed white border around thumbnails in galleries.
* (bug 31236) "Next" and "Previous" buttons are shown incorrectly in
an RTL environment.
* (bug 35749) Updated maintenance/checkSyntax.php to use Git instead of
Subversion when invoked with the --modified option.
* (bug 35069) On history pages, the " . . " separator after the number of
characters changed in a revision is now suppressed if no text would follow.
* (bug 18704) Add a unique CSS class or ID to the tagfilter table row at RecentChanges
* (bug 33564) transwiki import sometimes result in invalid title.
* (bug 35572) Blocks appear to succeed even if query fails due to wrong DB structure
* (bug 31757) Add a word-separator between help-messages in HTMLForm
* (bug 30410) Removed deprecated $wgFilterCallback and the 'filtered' API error.
* (bug 32604) Some messages needs escaping of wikitext inside username.
* (bug 36537) Rename wfArrayToCGI to wfArrayToCgi for consistency with wfCgiToArray.
* (bug 25946) The message on the top of Special:RecentChanges is now displayed.
in user language instead of content language.
* (bug 35264) Wrong type used for in export.xsd
* (bug 24985) Use $wgTmpDirectory as the default temp directory so that people
who don't have access to /tmp can specify an alternative.
* (bug 27283) SqlBagOStuff breaks PostgreSQL transactions.
* (bug 35727) mw.Api ajax() should put token parameter last.
* (bug 37708) mw.Uri.clone() should make a deep copy.
* (bug 38024) ResourceLoader should not create empty stylesheets for modules
that don't have stylesheets.
* (bug 36812) Special:ActiveUsers "Hide bots" should hide users from any group
having the "bot" user right, instead of just the default "bot" user group.
* (bug 35082) mw.util.addPortletLink incorrectly adds link to mutiple tags.
* (bug 36991) jquery.tablesorter should extract date sort format from date
string instead of global config. Dates like "April 1 2012" and "1 April 2012"
now sort correctly regardless of the content language's DefaultDateFormat.
* (bug 31895) mw.loader mode now correct when triggered from a $.fn.ready
handler that is bound before mediawiki.js's handler (e.g. browser-userscripts
like greasemonkey).
* (bug 38152) jquery.tablesorter: Use .data() instead of .attr(), so that live
values are used instead of just the fixed values from when the tablesorter
was initialized.
* (bug 38093) Gender of changed user groups missing in Special:Log/rights
* (bug 35893) Special:Block needs to load mediawiki.special.block.js.
* (bug 37331) ResourceLoader modules sometimes execute twice in Firefox
* (bug 31644) GlobalUsage, CentralAuth and AbuseLog extensions should not use
insecure links to foreign wikis in the WikiMap.
* (bug 36073) Avoid duplicate element IDs on File pages.
* (bug 25095) Special:Categories should also include the first relevant item
when "from" is filled.
* (bug 35526) jquery.tablesorter now uses a stable sort.
* (bug 38953) --memory-limit switch not working for runJobs.php.
* (bug 33037) Make subpage of Special:newfiles control how many files
are returned, like in previous versions.
* (bug 36524) "Show" options on Special:RecentChanges and Special:RecentChangesLinked
are now remembered between successive clicks.
* (bug 26069) Page title is no longer "Error" for all error pages.
* (bug 39297) Show warning if thumbnail of animated image will not be animated.
* (bug 38249) Parser will throw an exception instead of outputting gibberish if
PCRE is compiled without support for unicode properties.
* (bug 30390) Suggested file name on Special:Upload should not contain
illegal characters.
* EXIF below sea level GPS altitude data is now shown correctly.
* (bug 39284) jquery.tablesorter should not consider "."" or "?"" to be a currency.
* (bug 39273) "Show changes" should not be incorrectly displayed in the Live Preview state.
* Made body-content lang attribute honor the variant language when it is set.
* (bug 36761) "Mark pages as visited" now submits previously established filter options.
* (bug 39635) PostgreSQL LOCK IN SHARE MODE option is a syntax error.
* (bug 36329) Accesskey tooltips for Firefox 14 on Mac should use "ctrl-option-" prefix.
* (bug 32552) Drop unused database field cat_hidden from table category.
* (bug 24502) Do not allow multiple language links to the same language.
* (bug 40214) Category pages no longer use deprecated "width" HTML attribute.
* (bug 39941) Add missing stylesheets to the installer pages
* In HTML5 mode, allow new input element types values (such as color, range..)
* (bug 36151) mw.Title: Don't limit extension in title parsing.
* (bug 38158) jquery.byteLimit sometimes causes an unexpected 0 maxLength being enforced.
* (bug 38163) jquery.byteLimit incorrectly limits input when using methods other than
basic per-char typing.
* (bug 34495) patrol log now credit the user patrolling (instead of patrolled
user).
* (bug 31676) ResourceLoader should work around IE stylesheet limit.
* (bug 40498) ResourceLoader should not output an empty "@media print { }" block.
* (bug 40500) ResourceLoader should not ignore media-type for urls in debug mode.
* (bug 40660) ResourceLoaderWikiModule should not convert " " to a space
for pages from the MediaWiki-namespace.
* (bug 40329) (bug 40632) Removed CleanupPresentationalAttributes feature.
=== API changes in 1.20 ===
* (bug 34316) Add ability to retrieve maximum upload size from MediaWiki API.
* (bug 34313) MediaWiki API intro message about "HTML format" should mention
the format parameter.
* (bug 32384) Allow descending order for list=watchlistraw.
* (bug 31883) Limit of bkusers of list=blocks and titles of action=query is
not documented in API help.
* (bug 32492) API now allows editing using pageid.
* (bug 32497) API now allows changing of protection level using pageid.
* (bug 32498) API now allows comparing pages using pageids.
* (bug 30975) API import of pages with invalid characters in this wiki leads to Fatal Error.
* (bug 30488) API now allows listing of backlinks/embeddedin/imageusage per pageid.
* (bug 34927) Output media_type for list=filearchive.
* (bug 28814) add properties to output of action=parse.
* (bug 33224) add variants of content language to meta=siteinfo.
* (bug 32643) action=purge with forcelinkupdate no longer crashes when ratelimit is reached.
* The paraminfo module now also contains result properties for most modules.
* (bug 32348) Allow descending order for list=alllinks.
* (bug 31777) Upload unknown error ``fileexists-forbidden''.
* (bug 32382) Allow descending order for list=iwbacklinks.
* (bug 32381) Allow descending order for list=backlinks, list=embeddedin and list=imageusage.
* (bug 32383) Allow descending order for list=langbacklinks.
* API meta=siteinfo can now return the list of known variable IDs.
* (bug 35980) list=deletedrevs now honors drdir correctly in "all" mode (mode #3).
* (bug 29290) API avoids mangling fields in continuation parameters
* (bug 36987) API avoids mangling fields in continuation parameters
* (bug 30836) siteinfo prop=specialpagealiases will no longer return nonexistent special pages
* (bug 38190) Add "required" flag to some token params for hint in api docs.
* (bug 27567) Add file repo support to prop=duplicatefiles.
* (bug 27610) Add archivename for non-latest image version to list=filearchive
* (bug 38231) Add xml parse tree to action=parse.
* Watchlist notification timestamp may be queried by page and may be updated via the API.
* (bug 38904) prop=revisions&rvstart=... no longer blows up when continuing.
* (bug 39032) ApiQuery generates help in constructor.
* (bug 11142) Improve file extension blacklist error reporting in API upload.
* (bug 39665) List of query generators is now not built using reflection, instead it is
defined in code.
* (bug 35993) Deprecated gettoken parameter - support will be removed in 1.22.
=== Languages updated in 1.20 ===
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.
* Emilian (egl) added.
* Tornedalen Finnish (fit) added.
* Mizo (lus) added.
* Santali (sat) added.
* (bug 34192) Namespace gender aliases for Albanian languages (sq & aln).
* (bug 35541) Namespace gender aliases for Croatian (hr).
* (bug 36012) Space in $separatorTransformTable should be non-breaking in
Portuguese, Esperanto and Udmurt.
* Turoyo (tru) added.
* Cyrillic-Latin language converter added for Uzbek (uz).
=== Other changes in 1.20 ===
* The user_token field is now left empty until a user attempts to login and
cookies need to be set. It is also now possible to reset every user's
user_token simply by clearing the values in the user_token column.
* Removed ./tests/qunit/index.html from core. It wasn't actively maintained and
has been made obsolete when [[Special:JavaScriptTest/qunit]] was introduced,
which actually uses ResourceLoader, LocalSettings and the Skin.
* Removed $wgDBtransactions global. This was only checked in one class
and only applies to MyISAM or similar DBs. Those should only be used
for archived sites anyway. We can't get edit conflicts on such sites,
so the WikiPage code wasn't useful there either.
* Deprecated mw.user.name in favour of mw.user.getName.
* Deprecated mw.user.anonymous in favour of mw.user.isAnon.
* Deprecated DatabaseBase functions newFromParams(), newFromType(), set(),
quote_ident(), and escapeLike() were removed.
* Use of __DIR__ instead of dirname( __FILE__ ).
* OutputPage::wrapWikiMsg() no longer supports the 'options' parameter. It was
not used and complicated migration to Message class.
* Live preview functionality has been improved and moved into the
'mediawiki.action.edit.preview' module. The old 'mediawiki.legacy.preview' module
has been removed.
* (bug 40448) Removed mediawiki.legacy.mwsuggest module, and removed the
following that has become obsolete:
- globals $wgEnableMWSuggest and $wgMWSuggestTemplate.
- mw.config.values wgMWSuggestTemplate and wgSearchNamespaces.
- method SearchEngine::getMWSuggestTemplate().
== MediaWiki 1.19 ==
== MediaWiki 1.19.2 ==
This is a security release of the MediaWiki 1.19 branch
=== Changes since 1.19.1 ===
* (bug 39700) File: link to non-existing file can inject html
* (bug 39823) Hidden block text leaking to admins
* (bug 39184) LDAP password leakage
* (bug 39180) Disallow framing of api results
* (bug 37587) Enforce language codes to be html safe
* (bug 39824) Check global blocks on account creation
== MediaWiki 1.19 ==
MediaWiki 1.19 is a large release that contains many new features and bug
fixes. This is a summary of the major changes of interest to users.
You can consult the RELEASE-NOTES-1.19 file for the full list of changes in
this version.
Our thanks go to everyone who helped to improve MediaWiki by testing the beta
release and submitting bug reports.
=== Changes since 1.19.1 ===
* (bug 38406) Properly quote table names in DatabaseBase::tableName()
* (bug 38249) Parser will throw an exception instead of outputting gibberish if
PCRE is compiled without support for unicode properties.
=== Changes since 1.19.0 ===
* (bug 36568) Fixed "Illegal string offset 'LIMIT'" warnings in updater
* (bug 36938) Correctly escape uselang attribute to prevent xss
* Expanded Blacklist for SVG Files
=== Changes since 1.19 beta 2 ===
* Special:Watchlist no longer sets links to feed when the user is anonymous.
* (bug 35961) Hash comparison should always be strict.
* Fix broken email confirmation expiration caused by MWCryptRand changes.
* (bug 35671) PHP Notice: Undefined index: gettoken in includes/api/ApiMain.php
on line 598.
* (bug 36042) 'show' causes a fatal in blocks API.
=== Changes since 1.19 beta 1 ===
* (bug 35014) Including a special page no longer sets the page's title to the
included page
* (bug 35019) Edit summaries are no longer transformed in notification e-mails
* (bug 35152) Help message for e-mail is shown again in user preferences
* (bug 34887) $3 and $4 parameters are now substituted correctly in message
"movepage-moved"
* (bug 34841) Edit links are no longer displayed when display old page versions
* (bug 34889) User name should be normalized on Special:Contributions
* (bug 35051) If heading has a trailing space after == then its name is not
preloaded into edit summary on section edit
* (bug 31417) New ID mw-content-text around the actual page text, without categories,
contentSub, ... The same div often also contains the class mw-content-ltr/rtl.
* (bug 35303) Proxy and DNS blacklist blocking works again
* (bug 22555) Remove or skip strip markers from tag hooks like <nowiki> in
core parser functions which operate on strings, such as padleft.
* (bug 18295) Don't expose strip markers when a tag appears inside a link
inside a heading.
* (bug 34212) ApiBlock/ApiUnblock allow action to take place without a token
parameter present.
* (bug 34907) Fixed exposure of tokens through load.php that could have facilitated
CSRF attacks.
* (bug 35317) CSRF in Special:Upload.
=== Configuration changes in 1.19 ===
* Removed SkinTemplateSetupPageCss hook; use BeforePageDisplay instead.
* (bug 27132) movefile right granted by default to registered users.
* Default cookie lifetime ($wgCookieExpiration) is increased to 180 days.
* (bug 31204) Removed old user.user_options.
* $wgMaxImageArea now applies to jpeg files if they are not scaled with
ImageMagick.
* Introduced $wgQueryPageDefaultLimit (defaults to 50) for the number of
items to show by default on query pages (special pages such as Whatlinkshere).
* (bug 32470) Increase the length of ug_group.
* (bug 32239) Removed $wgEnableTooltipsAndAccesskeys.
* Removed $wgVectorShowVariantName.
* Removed $wgExtensionAliasesFiles. Use $wgExtensionMessagesFiles.
* Removed $wgResourceLoaderInlinePrivateModules , now always enabled.
=== New features in 1.19 ===
* (bug 19838) Add ability to get all interwiki prefixes also if the interwiki
cache is used.
* $wgDnsBlacklistUrls now accepts an array with url and key as the
elements to work with DNSBLs that require keys, such as
Project Honeypot.
* (bug 30022) Add support for custom loadScript sources to ResourceLoader.
* (bug 19052) Unicode space separator characters (Zs) now terminates external
links and images links.
* (bug 30160) Add public method to mw.loader to get module names from registry.
* (bug 15558) Parameters to special pages included in wikitext can now be passed
as with templates.
* Installer now issues a warning if mod_security is present.
* (bug 29455) Add support for a filter callback function in jQuery byteLimit
plugin.
* Added two new GetLocalURL hooks to better serve extensions working on a
limited type of titles.
* Added a --no-updates flag to importDump.php that skips updating the links
tables.
* Most presentational html attributes like valign are now converted to inline
css style rules. These attributes were removed from html5 and so we clean
them up when $wgHtml5 is enabled. This can be disabled using
$wgCleanupPresentationalAttributes.
* Magic words (time and number-formatting ones, plus DIRECTIONMARK, but not
NAMESPACE) now depend on the page content language instead of the site
language. In theory this sets the right magic words in system messages,
although they are not used there.
* (bug 30451) Add page_props to RefreshLinks::deleteLinksFromNonexistent.
* (bug 30450) Clear page_props table on page deletion.
* Hook added to check for exempt from account creation throttle.
* (bug 30344) Add configuration variable for setting custom priorities when
generating sitemaps.
* (bug 96170) Add array support for space-separated list attributes (like
'class') in the Html helper class.
* (bug 26470) Add checkered background image on hover on files pages.
* (bug 30774) mediawiki.html: Add support for numbers and booleans in the
attribute values and element contents.
* Conversion script between Tifinagh and Latin for the Tachelhit language.
* (bug 16755) Add options 'noreplace' and 'noerror' to {{DEFAULTSORT:...}}
to stop it from replace an already existing default sort, and suppress error.
* (bug 18578) Rewrote revision delete related messages to allow better
localisation.
* (bug 30364) LanguageConverter now depends on the page content language
instead of the wiki content language.
* Jump links will now be usable in CSS-capable browsers instead of only
in outdated text browsers.
* New common*.css files usable by skins instead of having to copy piles
of generic styles from MonoBook or Vector's css.
* Some deprecated presentational html attributes will now be automatically
converted to css.
* (bug 31297) Add support for namespaces in Special:RecentChanges subpage filter
syntax.
* The default user signature now contains a talk link in addition to the user link.
* (bug 25306) Add link of old page title to MediaWiki:Delete_and_move_reason.
* Added hook BitmapHandlerCheckImageArea.
* (bug 30062) Add $wgDBprefix option to cli installer.
* getUserPermissionsErrors and getUserPermissionsErrorsExpensive hooks are now
also called when checking for 'read' permission.
* Introduce $wgEnableSearchContributorsByIP which controls whether searching
for an IP address redirects to the contributions list for that IP.
* (bug 8859) Database::update should take array of tables too.
* (bug 19698) Add "Inverse namespaces" option to Special:Contributions.
* (bug 24037) Add byte length of revision to Special:Contributions.
* (bug 1672) Added $wgDisableUploadScriptChecks to allow uploading of files
containing HTML or JS. DISABLING THESE CHECKS IS VERY DANGEROUS.
* New path mappings can be added using the WebRequestPathInfoRouter hook
and adding paths to the PathRouter.
* (bug 32666) Special:ActiveUsers now allows a subpage to be used as value for the
"target" query parameter (eg. Special:ActiveUsers/Username).
* New JavaScript variable wgPageContentLanguage.
* Added new debugging toolbar, enabled with $wgDebugToolbar.
* Differences in the history page now uses slightly better colors for people
perceiving colors differently.
* (bug 32879) Upgrade jQuery to 1.7.1.
* jQuery UI upgraded to 1.8.17.
* Extensions can use the 'Language::getMessagesFileName' hook to define new
languages using messages files outside of core.
* (bug 32512) Add 'Associated namespace' checkbox to Special:Contributions.
* Added $wgSend404Code, true by default, which can be set to false to send a
200 status code instead of 404 for nonexistent articles.
* (bug 33447) Link to the broken image tracking category from Special:Wantedfiles.
* (bug 27724) Add timestamp to job queue.
* (bug 30339) Implement SpecialPage for running javascript tests. Disabled by default, due to
tests potentially being harmful, not to be run on a production wiki.
Enable by setting $wgEnableJavaScriptTest to true.
* Extensions can use the RequestContextCreateSkin hook to override what skin is
loaded in some contexts.
* (bug 33456) Show $wgQueryCacheLimit on cached query pages.
* (bug 10574) Add an option to allow all pages to be exported by Special:Export.
* mediawiki.js Message object constructor is now publicly available as mw.Message.
* (bug 29309) Allow CSS class per tooltip (tipsy).
* (bug 33565) Add accesskey/tooltip to submit buttons on Special:EditWatchlist.
* (bug 17959) Inline rendering/thumbnailing for Gimp XCF images.
* (bug 27775) Namespace has it's own XML tag in the XML dump file.
* (bug 30513) Redirect tag is now resolved in XML dump file.
* sha1 xml tag added to XML dump file.
* (bug 33646) Badtitle error page now emits a 400 HTTP status.
* Special:MovePage now has a dropdown menu for namespaces.
* (bug 34420) Special:Version now shows git HEAD sha1 when available.
* (bug 33952) Refactor mw.toolbar to allow dynamic additions at any time.
=== Bug fixes in 1.19 ===
* $wgUploadNavigationUrl should be used for file redlinks if.
$wgUploadMissingFileUrl is not set. The first was used for this
until the second was introduced in 1.17.
* BREAKING CHANGE: Style rules for wikitable are now more specific and prevent
inheritance to nested tables which caused various issues (bug 30485 and bug
33434). If your wiki has overriden rules for ".wikitable", please revise them and
adjust where neccecary. For comparison, use the "table.wikitable" section in
skins/common/shared.css as base.
* $wgUploadNavigationUrl is now used for file redlinks if
$wgUploadMissingFileUrl is not set. The former was used for this until the
second was introduced in 1.17.
* (bug 27894) Move 'editondblclick' event listener down from body to
div#bodyContent.
* (bug 30172) The check for posix_isatty() in maintenance scripts did not detect
when the function exists but is disabled. Introduced
Maintenance::posix_isatty().
* (bug 30264) Changed installer-generated LocalSettings.php to use
require_once() instead require() for included extensions.
* Do not convert text in the user interface language to another script.
* (bug 26283) Previewing user JS/CSS pages didn't load other user JS/CSS pages.
* (bug 26486) ResourceLoader modules with paths to nonexistent files cause PHP
warnings/notices to be thrown.
* (bug 30335) Fix for HTMLForms using GET that were breaking when non-friendly
URLs are used.
* (bug 28649) Preventing half truncated multi-byte unicode characters when
truncating log comments.
* Show --batch-size option in help of maintenance scripts that support it.
* (bug 4381) Magic quotes cleaning was not comprehensive, key strings were not
unescaped.
* (bug 23057) Importers no longer can 'edit' or 'create' a fully-protected page by
importing a new revision into it.
* Allow moving the associated talk pages of subpages even if the base page
has no subpage.
* Per page edit-notices now work in namespaces without subpages enabled.
* (bug 31081) $wgEnotifUseJobQ is no longer unconditionally enqueueing jobs.
* (bug 30202) File names are now restricted on upload to 240 bytes, because of
restrictions on some of the database fields.
* Timezones are now recognised in user preferences when offset is different
due to DST.
* (bug 31692) "summary" parameter now also works when undoing revisions.
* (bug 18823) "move succeeded" text displayed bluelinks even when redirect was
suppressed.
* (bug 19186) Special:UserLogin's title on Special:SpecialPages now says
"create account" when the user cannot create an account.
* (bug 31818) 'usercreated' message now supports GENDER.
* (bug 32022) Our phpunit.php script can now be executed from another directory.
* (bug 26020) Setting $wgEmailConfirmToEdit to true no longer removes diffs.
from recent changes feeds.
* (bug 30232) add current time to message wlnote on Special:Watchlist.
* (bug 29110) $wgFeedDiffCutoff did not affect new pages.
* (bug 32168) Add wfRemoveDotSegments for use in wfExpandUrl.
* (bug 32358) Do not display "No higher resolution available" for dimensionless
files (like audio files).
* (bug 32168) Add wfAssembleUrl for use in wfExpandUrl.
* (bug 32168) fixed - wfExpandUrl expands dot segments now.
* (bug 31535) Upload comments now truncated properly, and don't have brackets.
* (bug 32086) Special:PermanentLink now show an error message when no subpage
was specified.
* (bug 30368) Special:Newpages now shows the new page name for moved pages.
* (bug 1697) The way to search blocked usernames in block log should be clearer.
* (bug 29747) eAccelerator shared memory caching has been removed since it is
now disabled by default and is buggy. APC, XCache and WinCache are not affected.
* Installer now refuses to install if php was not compiled with Ctype support.
* (bug 29475) Remove "trackback" feature entirely from core.
* (bug 32665) Special:BlockList prefills the username in the input field if
using the Special:BlockList/username URL.
* (bug 27721) Make JavaScript variables wgSeparatorTransformTable and
wgDigitTransformTable depend on page content language so the sort script
sorts correctly more often.
* (bug 32230) Expose wgRedirectedFrom in JavaScript.
* (bug 31212) History tab not collapsed when the screen is narrow.
* (bug 15521) Use new section summary when the action of adding a new section
also happens to create the page.
* (bug 32960) Remove EmailAuthenticationTimestamp from database when a
email address is removed.
* (bug 32414) Empty page get a empty bytes attribute in Export/Dump.
* (bug 33101) Viewing a User or User talk of username resembling IP ending
with .xxx causes Internal error.
* Warning about undefined index in certain situations when $wgLogRestrictions
causes the first log type requested to be removed but not the others.
* Use separate message ('prefixindex-namespace') for title of
Special:PrefixIndex rather then re-using Special:AllPages's allinnamespace.
* (bug 33156) Special:Block now allows you to confirm you want to block yourself
when using non-normalized username.
* (bug 33246) News icon shown for news:// URLs but not for news: URLs.
* (bug 33305) Make mw.util.addCSS resistant to IE's @font-face bug by setting
cssText after DOM insertion.
* (bug 30711) When adding a new section to a page with section=new, the text is
now always added to the current version of the page.
* (bug 31719) Fix uploads of SVGs exported by Adobe Illustrator by expanding
XML entities correctly.
* (bug 30914) Embeddable ResourceLoader modules (user.options, user.tokens)
should be loaded in for proper dependency resolution.
* (bug 32702) Removed method Skin::makeGlobalVariablesScript() has been readded
for backward compatibility.
* (bug 31469) Make sure tracking category messages expand variables like
{{NAMESPACE}} relative to correct title.
* (bug 33454) ISO-8601 week-based year number (format character 'o') is now
calculated correctly with respect to timezone.
* (bug 32219) InstantCommons now fetches content from Wikimedia Commons using
HTTPS when the local wiki is served over HTTPS.
* (bug 33525) clearTagHooks doesn't clear function hooks.
* (bug 33523) Function tag hooks don't appear on Special:Version.
* Files with IPTC blocks we can't read no longer prevent extraction of exif
or other metadata.
* (bug 33587) Remove action "historysubmit" from history pages.
* (bug 25800) mw.config wgAction should contain the actually performed action instead
of whatever the query value contains.
* (bug 4438) Add CSS hook for current WikiPage action.
* (bug 33703) Common border-bottom color for should inherit default (text) color.
* (bug 33819) Display file sizes in appropriate units.
* (bug 32948) {{REVISIONID}} and related variables are no longer blank after doing
a null edit.
* (bug 33880) $wgUsersNotifiedOnAllChanges should not send e-mail to user who made
the edit.
* (bug 33902) Decoding %2B with mw.Uri.decode results in ' ' instead of +.
* (bug 33762) QueryPage-based special pages no longer misses *-summary message.
* Other sizes links are no longer generated for wikis without a 404 thumbnail handler.
* (bug 29454) Enforce byteLimit for page title input on Special:MovePage.
* (bug 34114) CSSMin::remap() doesn't respect its $embed parameter.
* Special:Contributions/newbies now shows the contributions for the user "newbies".
New user contributions are obtained using the form or using ?contribs=newbie in URL.
* It is now possible to delete images that have no corresponding description pages.
* (bug 33165) GlobalFunctions.php line 1312: Call to a member function
getText() on a non-object.
* (bug 31676) Group dynamically inserted CSS into a single