= MediaWiki release notes =
Security reminder: MediaWiki does not require PHP's register_globals
setting since version 1.2.0. If you have it on, turn it *off* if you can.
== MediaWiki 1.16 ==
THIS IS NOT A RELEASE YET
MediaWiki is now using a "continuous integration" development model with
quarterly snapshot releases. The latest development code is always kept
"ready to run", and in fact runs our own sites on Wikipedia.
Release branches will continue to receive security updates for about a year
from first release, but nonessential bugfixes and feature developments
will be made on the development trunk and appear in the next quarterly release.
Those wishing to use the latest code instead of a branch release can obtain
it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
=== Configuration changes in 1.16 ===
* (bug 18222) $wgMinimalPasswordLength default is now 1
* $wgSessionHandler can be used to configure session.save_handler
* $wgLocalFileRepo/$wgForeignFileRepos now have a 'fileMode' parameter to
be used when uploading/moving files
* (bug 18761) $wgHiddenPrefs is a new array for specifying preferences not
to be shown to users
* $wgAllowRealName and $wgAllowUserSkin were deprecated in favor of
$wgHiddenPrefs[] = 'realname', but the former are still retained
for backwards-compatibility
* (bug 9257) $wgRCMaxAge now defaults to three months
* $wgDevelopmentWarnings can be set to true to show warnings about deprecated
functions and other potential errors when developing.
* Subpages are now enabled in the MediaWiki namespace by default. This is
mainly a cosmetic change, and does not in any way affect the MessageCache,
which was already effectively treating the namespace as if it had subpages.
* (bug 10837) $wgVariant is a user variant selected in the user's preferences
if the $wgContLang does not have variant, then the $wgLang is used instead.
* Oracle: maintenance/ora/user.sql script for creating DB user on oracle with
appropriate privileges. Creating this user with web-install page requires
oci8.privileged_connect set to On in php.ini.
* Removed UserrightsChangeableGroups hook introduced in 1.14
* Added $wgCacheDirectory, to replace $wgFileCacheDirectory,
$wgLocalMessageCache, and any other local caches which need a place to put
files.
* $wgFileCacheDirectory is no longer set to anything by default, and so either
needs to be set explicitly, or $wgCacheDirectory needs to be set instead.
* $wgLocalMessageCache has been removed. Instead, set $wgUseLocalMessageCache
to true
* Removed $wgEnableSerializedMessages and $wgCheckSerialized. Similar
functionality is now available via $wgLocalisationCacheConf.
* $wgMessageCache->addMessages() is deprecated. Messages added via this
interface will not appear in Special:AllMessages.
* $wgRegisterInternalExternals can be used to record external links pointing
to same server
* (bug 19907) $wgCrossSiteAJAXdomains and $wgCrossSiteAJAXdomainExceptions added
to control which external domains may access the API via cross-site AJAX.
* $wgMaintenanceScripts for extensions to add their scripts to the default list
* $wgMemoryLimit has been added, default value '50M'
* $wgExtraRandompageSQL is deprecated, the SpecialRandomGetRandomTitle hook
should be used instead
* (bug 20489) $wgIllegalFileChars added to override the default list of illegal
characters in file names.
* (bug 19646) $wgImgAuthDetails added to display reason access to uploaded file
was denied to users(img_auth only)
* (bug 19646) $wgImgAuthPublicTest added to test to see if img_auth set up
correctly (img_auth only)
* $wgUploadMaintenance added to disable file deletions and restorations during
maintenance
* $wgCapitalLinkOverrides added to configure per-namespace capitalization
* (bug 21172) $wgSorbsUrl can now be an array with multiple DNSBL
* $wgEnableHtmlDiff has been removed
* (bug 3340) $wgBlockCIDRLimit added (default: 16) to configure the low end of
CIDR ranges for blocking
* $wgUseInstantCommons added for quick and easy enabling of Commons as a remote
file repository
* $wgWikiId added to override default output of wfWikiId()
* $wgDBAhandler added to choose a DBA handler when using CACHE_DBA
* $wgPreviewOnOpenNamespaces for extensions that create namespaces that behave
similarly to the category namespace.
=== New features in 1.16 ===
* Add CSS defintion of the 'wikitable' class to shared.css
* (bug 17163) Added MediaWiki:Talkpageheader which will be displayed when
viewing talk pages
* Superfluous border="0" removed from images
* Added new hook 'MessageCacheReplace' into MessageCache.php. For instance
to allow extensions to update caches in similar way as MediaWiki invalidates
a cached MonoBook sidebar
* Special:AllPages: Move hardcoded styles from code to CSS
* (bug 18529) New hook: SoftwareInfo for adding information about the software
to Special:Version
* Added $wgExtPGAlteredFields to allow extensions to easily alter the data
type of columns when using the Postgres backend.
* (bug 16950) Show move log when viewing/creating a deleted page
* (bug 18242) Show the Subversion revision number per extensions in
Special:Version
* (bug 18420) Missing file revisions are handled gracefully now
* (bug 9219) Auth plugins can control editing RealName/Email/Nick preferences
* (bug 18466) Add note or warning when overruling a move (semi-)protection
* (bug 18342) insertTags works in edit summary box
* (bug 18411) The upload form also checks post_max_size
* Watchlist now has a specialized
tag that contains a unique class for
each page
* Added Minguo calendar support for the Taiwan Chinese language
* Database: unionQueries function to be used for UNION sql construction, so
it can be overloaded on DB abstraction level for DB specific functionality
* (bug 18849) Implement Japanese and North Korean calendars
* (bug 5755) Introduce {{CURRENTMONTH1}} and {{LOCALMONTH1}} to display the
month number without the leading zero
* (bug 13456) categoriespagetext supports PLURAL
* (bug 18860) Blocks of IPs affecting registered users can now block email
* (bug 17093) Date and time are separate parameters in Special:BlockList
* (bug 11484) Added ISO speed rating to default collapsed EXIF metadata view
* (bug 14866) Messages 'recentchangeslinked-toolbox' and
'recentchangeslinked-toolbox' were added to allow more fine grained
customisation of the user interface
* DISPLAYTITLE now accepts a limited amount of wiki markup (the single-quote
items)
* Special:Search now could search terms in all variant-forms. ONLY apply on
wikis enabled LanguageConverter.
* Add autopromote condition APCOND_BLOCKED to autopromote blocked users to
various user groups.
* Add $wgRevokePermissions as a means of restricting a group's rights. The
syntax is identical to $wgGroupPermissions, but users in these groups will
have these rights stripped from them.
* Added a PHP port of CDB (constant database), for improved local caching when
the DBA extension is not available.
* Introduced a new system for localisation caching. The system is based around
fast fetches of individual messages, minimising memory overhead and startup
time in the typical case. The database backend will be used by default, but
set $wgCacheDirectory to get a faster CDB-based implementation.
* Expanded the number of variables which can be set in the extension messages
files.
* Added a feature to allow per-article process pool size control for the parsing
task, to limit resource usage when the cache for a heavily-viewed article is
invalidated. Requires an external daemon.
* (bug 19576) Moved the id attribues from the anchors accompanying section
headers to the elements within the section headers,
removing the redundant anchor elements.
* Parser::setFunctionTagHook now can be used to add a new tag which is parsed at
preprocesor level.
* Added $wgShowArchiveThumbnails, allowing sysadmins to disable thumbnail
display for old versions of images.
* In watchlists and Special:RecentChanges, the difference in page size now
appears in dark green if bytes were added and dark red if bytes were removed.
* Added FSRepo configuration properties thumbUrl and thumbDir, to allow the
thumbnails to be stored in a separate location to the source images.
* If config/ directory is not executable, the command to make it executable
now asks the user to cd to the correct directory
* Add experimental new external authentication framework, ExternalAuth
* (bug 18768) Remove AdminSettings requirements. Maintenance environment
will still load it if it exists, but it's not required for anything
* (bug 19900) The "listgrouprights-key" message is now wrapped in a div with
class "mw-listgrouprights-key"
* (bug 471) Allow RSS feeds for watchlist, using an opt-in security token
* (bug 10812) Interwiki links can have names and descriptions, fetched from
message 'interwiki-desc-PREFIX', not really used anywhere yet though
* (bug 9691) Add type (signup or login) parameter to
AuthPlugin::ModifyUITemplate()
* (bug 14454) "Member of group(s)" in Special:Preferences causes language
difficulties
* (bug 16697) Unicode combining characters are difficult to edit in some
browsers
* Parser test supports uploading results to remote CodeReview instance
* (bug 20013) Added CSS class "mw-version-ext-version" is wrapped on the
extension version in Special:Version
* (bug 20014) Added CSS class "mw-listgrouprights-right-name" is wrapped on the
right name in Special:ListGroupRights
* (bug 12920) New CoreParserFunction {{nse:...}} as an url-friendly equivalent
to {{ns:...}}
* (bug 16322) Allow maintenance scripts to accept DB user/pass over input or
params
* (bug 18566) Maintenance script to un/protect pages
* (bug 671) The HTML tag is now permitted.
* RecentChanges now has a legend to explain what the Nmb! flags mean, and the
flags have tooltips.
* (bug 15209) New hook BeforeInitialize called after everything has been setup
but before Mediawiki::performRequestForTitle()
* wgMainPageTitle variable now available to JavaScript code to identify the main
page link, so it doesn't have to be extracted from the link URLs.
* (bug 16836) Display preview of signature in user preferences and describe its
use
* The default output format is now HTML 5 instead of XHTML 1.0 Transitional.
This can be disabled by setting $wgHtml5 = false;. Specific features enabled
if HTML 5 is used:
** New HTML 5 input attributes allow JavaScript-free input validation in some
cutting-edge browsers. E.g., some inputs will be autofocused, users will
not be allowed to submit forms with certain types of invalid values (like
numbers outside the permitted ranges), etc.
** The summary attribute has been removed from tables of contents. summary is
obsolete in HTML 5 and wasn't useful here anyway.
** Unnecessary type="" attribute removed for CSS and JS.
** If $wgWellFormedXml is set to false, some bytes will be shaved off of HTML
output by omitting some things like quotation marks where HTML 5 allows.
** (bug 16921) maxlength enabled for page move comments
* The description message in $wgExtensionCredits can be an array with parameters
* New hook SpecialRandomGetRandomTitle allows extensions to modify the selection
criteria used by Special:Random and subclasses, or substitute a custom result,
deprecating the $wgExtraRandompageSQL config variable
* (bug 20318) Distinct CSS classes for ISBN/RFC/PMID special links added
* (bug 20404) Custom fields in the user creation form template can now have
detail labels in prefsectiontip divs.
* MakeSysop and MakeBot are now aliases for Special:UserRights
* IndexPager->mLimitsShown can now be an associative array of limit => text-to-
display-in-limit-form.
* (bug 18880) LogEventsList::showLogExtract() can now take a string-by-reference
and add its HTML to it, rather than having to go straight to $wgOut.
* Added $wgShowDBErrorBacktrace, to allow users to easily gather backtraces for
database connection and query errors.
* Show change block / unblock link on Special:Contributions if user is blocked
* Display note on Special:Contributions if the user is blocked, and provide an
excerpt from the block log.
* (bug 19646) New hook: ImgAuthBeforeStream for tests and functionality before
file is streamed to user, but only when using img_auth
* Note on non-existing user and user talk pages if user does not exist
* New hook ShowMissingArticle so extensions can modify the output for
non-existent pages.
* Added $wgUseAJAXCategories allow enabling AJAX based categories system.
This works on all namespaces. Enabled namespaces can be reduces using
$wgAJAXCategoriesNamespaces.
* Admins could disable some variants using $wgDisabledVariants now. ONLY apply
on wikis enabled LanguageConverter.
* (bug 16310) Credits page now lists IP addresses rather than saying the number
of anonymous users that edited the page
* New permission 'sendemail' added. Default right for all registered users. Can
for example be used to prevent new accounts from sending spam.
* (bug 16979) Tracking categories for __INDEX__ and __NOINDEX__
* Two new hooks, ConfirmEmailComplete and InvalidateEmailComplete, which are
called after a user's email has been successfully confirmed or invalidated.
* (bug 19741) Moved the XCF files out of the main MediaWiki distribution, for
a smaller subversion checkout.
* (bug 13750) First letter capitalization can now be a per-namespace setting
* (bug 21073) "User does not exist" message no longer displayed on sub-sub-pages
of existing users
* (bug 21095) Tracking categories produced by the parser (expensive parser
function limit exceeded, __NOINDEX__ tracking, etc) can now be disabled by
setting the system message ([[MediaWiki:expensive-parserfunction-category]]
etc) to "-".
* Added maintenance script sqlite.php for SQLite-specific maintenance tasks.
* Rewrote Special:Upload to allow easier extension.
* Upload errors that can be solved by changing the filename now do not require
reuploading.
* Added $wgRateLimitsExcludedIPs, to allow specific IPs to be whitelisted from
rate limits.
* (bug 21222) When $wgUseTeX is not enabled,