MediaWiki 1.21/wmf7

The latest version (labeled "1.21wmf7") of MediaWiki, the software that powers Wikipedia and its sister sites, is being deployed to all Wikimedia sites in stages, starting on Wednesday, 2 January 2013 (see the roadmap).

We will continue to deploy the latest software every two weeks. This is intended to minimize disruption and possible issues, and make it easier to identify the cause of problems, since the possibly problematic code will be much more recent.

Breaking changes

 * The format of certain log entries returned by the API's  module is changed, to allow for XML-format output to be valid. Specifically, any log entry details that were formerly returned under a key such as "4::foo" will now be returned under a key of simply "foo".

Core changes

 * - Update MobileFrontend to production tip
 * - Update MobileFrontend to production tip
 * - Update MobileFrontend to production tip
 * - Revert &quot; EventLogging hotfix for IE&quot; - this change has been un-synced in php-1.21wmf7 and is blocking my deployment!
 * - Update MobileFrontend to redploy last week's rolled back changes
 * - EventLogging hotfix for IE
 * - Disabled async &quot;from-stash&quot; upload for now.
 * - Fixed check for general browser compatibility.
 * - API imageinfo correctly handle redirects
 * - Made Block::purgeExpired check for read-only mode.
 * - Show error to user if content type doesn't support sections.
 * - Made upload stash cleanup script scan the temp dir for old files.
 * - Make ResourceLoader behave in read-only mode
 * - Roll back MobileFrontend to where it was pre-today's deployment
 * - Updating MobileFrontend to tip of production branch
 * - Fix mctest to work with new WMF memcached setup
 * - - mcc.php doesn't work with new WMF memcached config
 * - Update Wikibase with check for rc_params in Wikibase client
 * - Allow preferences that need not be rendered in Special:Preferences
 * - update Wikibase with some backports
 * - Add css $classes variable to the OldChangesListRecentChangesLine hook
 * - Removed squid purging limit hack.
 * - Fixed prefixed title text call.
 * - Added $wgMaxBacklinksInvalidate to avoid massive html cache invalidation.
 * - Update MobileFrontend to tip of production branch
 * - Content also needed for prop=revisions&amp;rvdiffto=
 * - Added async upload-from-stash support.
 * - Set timeout for AssembleUploadChunks.php.
 * - Update MobileFrontend to production tip
 * - Use consistent hashing for SqlBagOStuff servers
 * - Multiple servers in one SqlBagOStuff
 * - Update MobileFrontend to production tip.
 * - Update MobileFrontend to production tip
 * - Update MobileFrontend to production tip
 * - Update Translate to pick up a bug fix
 * - Enforce time limit within AssembleUploadChunks.php.
 * - Set the wiki ID for AssembleUploadChunks.php call for wiki farms.
 * - Update Wikibase, Diff and DataValues
 * - Add a cache version variable to SiteArray
 * - Revert MobileFrontend to the same revision as 1.21wmf6
 * - Add release note for I1a3c7ac6
 * - Don't use isset to check whether an existing variable is null
 * - Fixing find hooks script call error in docs/hooks.txt
 * - * Oracle Schema update to latest * fixed makeSelectOptions
 * - Wrong namespace in BackupDumperPageTest::testFullTextPlain
 * - Add some missing parent::tearDown
 * - wfMerge now works if $wgDiff3 contains spaces
 * - Do correct average year length arithmetic.
 * - Show revs without rev_parent_id in Special:Contributions.
 * - API list=alltransclusions, rm unique+gen &amp; continue restrict
 * - ApiOptionsTest: Group medium (takes more than 2 seconds).
 * - Hide usermessage element from printable view.
 * - use video/webm instead of audio/webm for webm
 * - Fix cache issues with changing user groups
 * - Add plural support for protocols in 'linksearch-text'
 * - Correct isset and associated checks in Revision::__construct
 * - API shouldn't assume all exceptions are MWException
 * - Fix typo in ResourceLoaderFileModule.
 * - Fix some validation errors on Special:Import
 * - Use NS_* constant for default namespace in api
 * - Remove unused globals
 * - allow OldChangesListRecentChangesLine hook to return false and omit line from RC
 * - Creating new GetDoubleUnderscoreIDs hook
 * - Make the padding support RTL languages
 * - Remove upgrade1_5.php
 * - Made wfBaseconvert actually work with $lowercase=false.
 * - Allow setting a form message prefix in FormSpecialPage
 * - RELEASE-NOTES entries for I7761a635 (af72dd6) and I2b2ca3da (24584ca)
 * - Alt+shortcut key does not work in Chrome/Linux
 * - History page fail gracefully if rev_len unavailable
 * - Fixing some variable names and comment formatting - no functional changes
 * - RemoveUnusedAccounts: Ignore newuser log.
 * - Hook to allow manipulation of image data
 * - Update CREDITS
 * - Fix database access in ApiSetNotificationTimestamp
 * - Add LanguageZh_hans::formatDuration for Chinese.
 * - Only variables can be passed by reference...
 * - Documentation improvements in ChangesList.php
 * - InstantCommons doesn't follow redirects
 * - Simplify Xml::encodeJsCall
 * - Additional list tests for Parsoid.
 * - Use wfWikiID instead of $wgDBname in wfIncrStats
 * - Don't fetch revision ID when a page doesn't exist.
 * - L10n recache needed in LogFormatterTest::tearDown
 * - Improve documentation of content handler stuff
 * - Set correct context for ImageHistoryPseudoPager
 * - namespaceDupes.php has to use the interwiki cache
 * - Use numParams in Language::formatDuration
 * - API allows reblocking the user without reblock parameter.
 * - add function in ChangesList to getTimestamp without inserting it
 * - misc style fix
 * - Nicely handle missing revisions in ApiQueryRevisions.
 * - Message &quot;enotif body intro deleted&quot; mentions revision
 * - Fix ApiQueryLogEvents::addLogParams for unknown types using the new format
 * - cleanup WatchedItem class
 * - Add an option to importImages to search subdirectories recursively
 * - Document $wgUnwatchedPageThreshold var
 * - fix and provide more documentation in EditPage for mergeContentInto functions
 * - Add missing message in messages.inc and rebuild MessagesEn.php
 * - Improving function descriptions in Linker
 * - Added threshold for showing number of page watchers.
 * - Fixed comment typo.
 * - Doc fix. $from and $until are arrays since 1.17.
 * - [MessageCache] Cleaned message cache load error handling.
 * - Improve usage of which and that
 * - Pass user to LogEventsList::getExcludeClause
 * - bogus script path in Special:Version
 * - Fixed description for async parameter in upload module
 * - Add caching to InfoAction.
 * - Fix PEAR part of install-phpunit.sh.
 * - Fixing PHP notice: undefined SERVER_PROTOCOL key
 * - Document ResourceLoaderWikiModule::getPages.
 * - [JobQueue] Cleaned up DuplicateJob factory function.
 * - Add mobile target to modules needed for mw.msg
 * - Fix querying suppression logs
 * - Fix regression in API generator=duplicatefiles
 * - Don't return the sha1 of revisions through the API if the content is revdel'd
 * - API: Fix regression in case handling for sha1 params
 * - Update docs
 * - Fix the little documentation that FormOptions::consumeValue has
 * - Send second variable for large-variable message
 * - ResourceLoader: Move safeFilemtime to ResourceLoaderModule.
 * - jquery.suggestions: Call cancel before fetching.
 * - Remove nocreatetitle
 * - applying code conventions and cleanup in mediawiki.special.*
 * - Make RC en RCL honour options for rss/atom
 * - Make wfSuppressWarnings kill E_STRICT in PHP 5.4+
 * - Trimming 'addedwatchtext'. The previous text was too long and overly detailed.
 * - Moved LocalisationCache under /cache.
 * - Clarify change password on Special:ChangeEmail
 * - drop &quot;@fixed&quot; annotations in CologneBlue skin
 * - Add new message key from I28ef70f7 to maintenane file
 * - use null rather then false and doc fix
 * - Removed commas before 'because'
 * - Use $IP instead of relative paths.
 * - Use $IP instead of hard-coded relative path.
 * - jquery.badge: Add ability to display the number zero.
 * - [LockManager] Moved ScopedLock to its own file.
 * - Revert &quot;Adding ability of jQuery badge to display the number zero if requested.&quot;
 * - Test a newline-only template parameter
 * - Add link to localisation instructions in the installer
 * - Set $wgSecureLogin to false for $wgServers with schemes.
 * - make rebuildtextindex script aware of content models.
 * - meta=siteinfo should output the default content model
 * - Changed LoginForm::addNewaccountInternal to return Status.
 * - Make --wiki work with phpunit.php.
 * - Test wiki tables with a lot of comments
 * - Upstream: Upgrade jQuery JSON from 2.3 to 2.4.0.
 * - Adding ability of jQuery badge to display the number zero if requested.
 * - Use log type in target object when deleting logs of the same type
 * - Fixed SiteArray serialization
 * - Fixed cookie security when not wpStickHTTPS.
 * - (minor) Always use getSites to get sites.
 * - Make import robust against corrupt content.
 * - DatabaseOracle no more rely on mbstring
 * - abstract utf8 validation fallback
 * - (minor) use wfDebugLog consistently.
 * - Add types and test for LogFormatter
 * - [Upload] Improvements to async stash uploading.
 * - Removed references to DB ignoreErrors function.
 * - Deleting one last extension I left in master
 * - Undoing more of my branching mistake, delete submodules from master
 * - Remove the \ before the class name.
 * - ExternalStoreDB.php was moved to externalstore folder in c37937
 * - Moved ExternalStore stuff to a /externalstore subdir.
 * - Add a test for braces in HTML attribute values, remove data-parsoid attributes
 * - Remove fallback for PHP installs &lt; v5.3.2 as that is now an install requirement The native stream_resolve_include_path can now be used exclusively
 * - improve $.makeCollapsible performance on the initial collapsing
 * - fix faulty browser detection code for Opera
 * - Fix API action=options for multiselect prefs
 * - [Upload] Async upload code cleanups.
 * - [JobQueue] Pushed stats down to job queue subclasses.
 * - Remove extra newline from redirect wikitext
 * - Add some entries removed in I41f1995d back.
 * - Fix the display of some user rights log entries

AbuseFilter

 * - Hidden the test subpage in the navlinks for those without modify rights
 * - Follow-up to https://gerrit.wikimedia.org/r/#/c/41055/ in order not to talk of edits when actually no edits are being attempted
 * - Fixed a PHP notice in Views/AbuseFilterViewEdit.php
 * - Tweak 'abusefilter-warning' to not refer to button directly
 * - Add Permission for Global-Rule Editing
 * - Don't send HTML to the IRC feeds
 * - Minor removal of duplicate code within the AF parser
 * - Add a hooks.txt to AbuseFilter
 * - Add a hook to AbuseFilter
 * - Let the client specify multiple filters for list=abuselog
 * - AbuseFilter API does not give diff information
 * - Fix the visibility of action=query&amp;list=abuselog
 * - Fix AbuseLog API permissions
 * - Add option to have private filters notify UDP/RC (default: disabled)
 * - Make afl_user_text availible as $9 for log entries
 * - Abusefilter log makes &quot;contribs&quot; link blue even if user has 0 edits
 * - add boolean user_blocked variable
 * - Run the same permissions checks for list=abuselog as Special:AbuseLog

AntiBot

 * - - Allow users/bots with 'bot' right to not be stopped by AntiBot_GenericFormEncoding::onEditFilterMerged

ArticleFeedbackv5

 * - Remove double spaces
 * - Fixing Feedback from my watched pages » URL

CentralAuth

 * - Save the fixed version of the hidden level.
 * - CentralAuth API shows information about hidden users
 * - Optimization of the CA JavaScript/ Applied code conventions
 * - Add global_user_groups variable to AbuseFilter
 * - Special:GlobalUsers doesn't normalize group names
 * - Add api for getting all global groups
 * - Lockandhide should be logged in the suppression log
 * - Fixed gblrights/groupprms2 log in IRC.
 * - Shows all global groups when searching for users in one
 * - Protocol relative URI to meta on Special:Version to keep users logged in
 * - Add an API module for locking/hiding global accounts
 * - Add an API module for deleting global accounts

CentralNotice

 * - Enable CN Namespaces only where Needed
 * - Class only loaded when using Translate
 * - VarBinary is Moar Efficient than Text
 * - Ahhh Fix CentralNotice SQL for Deployment
 * - (fr #719) all cookie hiding is configurable
 * - CN/TrEx 3 -- Message Group Review &amp; CN Namespace
 * - CN/TrEx 2 -- CN Aggregate Group
 * - CN/TrEx 1 -- Priority Languages
 * - Deleting CN Campaign causes PHP Warn
 * - Added message group states

CodeEditor

 * - Enable Ace's JSON mode

ConfirmEdit

 * - Disable ulimit time limit for long-running captcha.py script.

ContributionTracking

 * - Updating documentation and messages per request from Siebrand.

DataValues

 * - (minor) data type message keys will be added to resource loader module
 * - Added missing constructor arg
 * - Added base definitions of 4 datatypes
 * - Updated value view destroy methods
 * - Focus/blur methods for valueview widget
 * - (minor) Reposition suggester menu on input for commonsMedia widget
 * - Allow LinkedSingleInputWidget views to display additional DOM within link
 * - Removed ValueFormatterFactory::singleton
 * - Improved formatter options
 * - Inherit font style in valueview widget
 * - Minor logic fix, allowing null as value in valueview widgets
 * - Applying inputAutoExpand jQuery plugin to statement textareas
 * - Remove usage of DataValueFactory::singleton in datavalue test as its evil and was causing a segfault _somehow_
 * - Minor cleanup
 * - Dropdown for commonsmedia view for choosing Commons Media file
 * - Fix failing tests by implementing abstract function
 * - Added docs
 * - Added tests for ParserOptions
 * - Get rid of global state in ValueParserFactory
 * - Change implementation of ParserOptions
 * - Cleanup of DataTypeFactory and got rid of pointless interface
 * - Some value related cleanup in valueview Widget
 * - Added group
 * - Added DMS and DM tests for coordinate parser
 * - Fixes for a113142b7214d15047a771d692fa8d3079def370
 * - Added a commonsmedia valueview which adds links to displayed value
 * - Add the regex parameter to StringValidator

Diff

 * - Fixed @since tags
 * - Changed behaviour of isassoc to treat all arrays with only numeric keys as non-assoc
 * - Work on splitting the patching code to its own dedicated class
 * - Split diffing code from diff representation classes to new diffing service classes

DonationInterface

 * - Quick fix to account for the fact that we have no &quot;down for maintainence&quot; page, and a maintenance window in a minute.

DoubleWiki

 * - The robot policy was override by Article

E3Experiments

 * - Log isNew field for gettingstarted-clicks as well.
 * - : don't remove tasks from cookie on save
 * - Switch ACUX client-side events to EventLogging
 * - Changes to match latest Schema:GettingStarted
 * - Depend on jquery.json
 * - returnTo may start a task funnel; log more stuff.
 * - Fix for enwiki's HTML in noname message
 * - Fix validation messages
 * - Avoid use of deprecated wfMsg
 * - Rename test file, improve tests slightly.

EventLogging

 * - Emit &quot;encapsulated&quot; server-side events
 * - Use inArray for cross-browser support.
 * - Add workaround for issue 15881 in core Python
 * - Fix test failure due to unescaped slash.
 * - Tidy up rST usage in comments
 * - Adds unit tests for server-side schema handling
 * - Use io.open(sock.fileno, ...) on both 2 and 3
 * - Provide configurable parser for varnish log lines.
 * - Clean-up exception messages; use more concise idioms
 * - Fix change 44582 so events log again.
 * - Invert relationship of event and meta object.
 * - Update comment
 * - Drop obsolete migrations
 * - Log debug warning on invalid server events.
 * - meta -&gt; _meta
 * - add a _meta._timestamp field to server-side events
 * - Update tests for _meta rename.
 * - Remove TODO done in 804c8c58.
 * - Remove PCNTL signal-handling from dev server
 * - Ori-lint some JS tests
 * - Remove property counts from HTMLized JSON
 * - Fix Revision [UNKNOWN] bug on &quot;View Source&quot;
 * - Clear detritus from query-string handling

ExtensionDistributor

 * - Don't need to proxy the extension list
 * - Rename $wgExtDistBranches to $wgExtDistSnapshotRefs
 * - Clean up config docs and set defaults to false
 * - Add ability to customize the proxy we pass to MWHttpRequest
 * - Provide ability to customize branch description on-wiki
 * - Clean up &quot;Get another extension&quot;
 * - Rewrite ExtensionDistributor to no longer require working copies

FlaggedRevs

 * - Use the current version of files from foreign repos.

FundraiserLandingPage

 * - Changing default link for Wikimedia CH

GeoCrumbs

 * - Only show breadcrumbs if there is more than 1

GeoData

 * - Rm unused parameter 'withoutphotos'
 * - : less ugly API parameter semantics
 * - Geo API fixed capitalization

GettingStarted

 * - Show GettingStarted to 50% of users
 * - Use recommended practice for page names in i18n messages.
 * - Drop unnecessary constant
 * - tag edits from GS in RecentChanges
 * - Remove obsolete schema.OpenTask dependency.

GlobalUsage

 * - Special:GlobalUsage not listed on Special:Specialpages

MapSources

 * - Consistency tweaks: No Title Cases, no direct links
 * - tweak message
 * - Fix typos

Math

 * - Rename Math.body to MathRenderer to be consistent with the class name. Reson: Further classes will be added in the next step.

MobileFrontend

 * - fix descriptions on donate image page
 * - ensure we mobile tag uploads over CORS (minor)
 * - Login form error message has no margin
 * - Surface image summaries on DonateImage page (beta)
 * - Rename calls to wfArrayToCGI to wfArrayToCgi
 * - Updated Ruby gems
 * - article -&gt; topic
 * - save the hash
 * - Readd onUserLoginComplete hook handler
 * - Standardize hook handler names
 * - standardise ajax loader (code health)
 * - only show nearby link in menu if on (minor)
 * - I think I already fixed that...
 * - (mingle 377) Add watch article hidden field in account creation form
 * - Refactor hook handlers from MobileFrontend.body.php to MobileFrontend.hooks.php
 * - (mingle 377) Move watchlist data prep for login form to private method
 * - DonateImage code cleanup (minor)
 * - add method to allow adding classes to #content_wrapper
 * - (mingle 377) Invoke UserLoginComplete hook to watch an article after login
 * - change upload position/logo in menu (beta)
 * - fix jshint error (minor)
 * - add getHtmlHeader and setHtmlHeader methods
 * - Add api module + tests
 * - Add M.define and M.require + tests
 * - stop dynamically loaded lead sections from being toggleable sections
 * - Update upload page (beta)
 * - package mf-photo.js messages with mf-photo.js
 * - Updated Ruby gems
 * - Reduce memcached usage by not caching small pages
 * - Fix typo from Iabe54543
 * - make generic .loading class
 * - (mingle 377) Include article to watch information in login form
 * - (mingle 377) Remove local storage component of non-logged in watchlist star tap
 * - make alert styling available outside overlays
 * - disable footer on special pages
 * - allow special pages to register messages
 * - on new pages add a textarea
 * - Add nearby page to mobile site [alpha]
 * - Minor improvements
 * - Make it easy to run tests using PhantomJS
 * - Fixed failing iOS tests
 * - Renamed &quot;and&quot; steps to appropriate given/when/then steps
 * - Removed duplicate code
 * - Removes unneeded MobileContext::checkUserLoggedIn
 * - Fix JS error on pages with no alternative languages
 * - Fix fatal call to unknown function MobileContext::isLocalTarget
 * - PhantomJS needs some time for search resutls to appear
 * - Removed line that does nothing
 * - : force mobile URLs only for local redirects
 * - Make Cucumber progress formatter the default one
 * - Upgrade Firefox to version 18
 * - Updated Ruby gems
 * - Upgrade Ruby to 1.9.3-p374
 * - update empty message (307)
 * - Lots of minor fixes
 * - Fix js/css for non-English special pages
 * - Commited files that got lost in patch set 2 of Gerrit commit 42218
 * - Fix double-escaping
 * - fix diff view js error (regression)
 * - move reset.css to externals folder
 * - Returns mobile special page module loading to wgResourceModules
 * - add hamburger icon to special watchlist page
 * - fix message support for stable (regression)
 * - replace list of image names with a list of thumbnails [alpha]
 * - use resource loader for message delivery where possible
 * - Remove flash of unstyled content
 * - dynamically load languages
 * - DeviceDetection improvements
 * - don't throw exception when bad revision id given
 * - (card #308) Add modified date to All view in watchlist [beta]
 * - Updated Ruby gems
 * - don't remove the sections on file page / remove special casing
 * - assume the watchlist has taken pageimages api into account
 * - log watchlist actions (beta)
 * - bring global variables to javascript
 * - only close notifications with class locked via button
 * - fix broken history link in beta
 * - allow ability to unwatch articles in watchlist view
 * - Make test for infobox and navbox's stricter
 * - don't show photo uploader on edit page
 * - show photo upload on Special:DonateImage
 * - distinguish between images uploaded for articles / donated images
 * - update page title on dynamic page load
 * - center the content of the Special:MobileOptions/Language page
 * - experimental: remove all inline styles from #content in ALPHA

MoodBar

 * - Remove double space and newlines
 * - Support gender in mood messages (&quot;happy&quot; etc)
 * - Instead of making the wiki admin configure the feedback dashboard URL, generate it when the hook is called.
 * - Make MoodBar log entries make sense

MwEmbedSupport

 * - : rename jquery.menu to jquery.embedMenu

OpenStackManager

 * - Set username if none is specified
 * - Fix for OpenStack token loss on memcache restart
 * - Add space between sentences
 * - Update casing, punctuation and newlines
 * - Remove nova credential check for ssh key form
 * - _ is an invalid character for shell account name
 * - Now using real groups with real member lists for posixgroups for Projects.

PostEdit

 * - Only create div if we're going to show it.
 * - Fix bug in older versions of Firefox.

ProofreadPage

 * - Add namespace aliases for Czech (cs) language
 * - Improve help messages of the index form

Renameuser

 * - Set the job ID field.

Scribunto

 * - Allow mw.log and console to handle multiple values
 * - Make sure to call parent::setUp
 * - Unit test: verify LuaSandbox and LuaStandalone are equivalent
 * - Handle non-finite numbers
 * - Handle cloned parsers correctly

TemplateSandbox

 * - Parse Templatesandbox-editform-legend message
 * - Use     in templatesandbox-text message
 * - TemplateSandbox should render redirects like normal preview
 * - Catch enter on edit form
 * - Add and clarify qqq messages

TimedMediaHandler

 * - : dont implode if getStreamTypes returns false
 * - unpackMetadata is not static, do not call it as such
 * - set direction of subtitles based on language
 * - fix volume control width
 * - : explicit order of control elements
 * - Remove message keys related to uploading text files
 * - Replace 4 messages with Language::commaList
 * - Updates for 'timedmedia-subtitle-new-desc'
 * - Make URL protocol relative
 * - dont fallback to cortado at theora.org
 * - - fix fullscreen api from iframes
 * - output source bitrate order and with type attribute.
 * - : Fix Firefox 3.5 support
 * - apply css only to elements inside player
 * - Updated kaltura link location to html5video.org
 * - rename jquery.menu to jquery.embedMenu
 * - Don't introduce new global usage. Call $out-&gt;getLanguage.
 * - localize language based on uselang, better 404 title
 * - - use display resolution
 * - optimize Special:TimedMediaHandler page

Translate

 * - Do not change null translations to empty string
 * - Do not show 'null' as translation for untranslated messages
 * - Make the All tab selectable again
 * - Fix error when group id has colon
 * - Update the statsbar when messages are translated
 * - Use untranslated as default filter value
 * - Some code refactoring to reduce ugliness
 * - Bump version
 * - Show recent additions in Special:Translate if no group chosen
 * - WIP: Inline message documentation editor
 * - Load untranslated messages by default
 * - Move the message filters to overflow menu if screensize is small
 * - Add debugging to investigate PHP warnings
 * - Doc tweak
 * - Consistent selector style, as in contract
 * - Make sure that the doc URL is correct
 * - Replace direct access to mTitle with getTitle
 * - Do not show !!FUZZY!! from message translation in the editor
 * - Listen for change events to update statsbar
 * - Remove an outdated TODO comment
 * - Handle priority languages in group selector
 * - Better handling of invalid group IDs
 * - Refactor statsbar to allow updating stats
 * - Check if variable is set
 * - Refactor validation function
 * - Do not add 'All' link after all group selectors
 * - Refactor the translation helpers function
 * - Show the documentation elements only after loading
 * - Replace local sort callback with an existing function
 * - Improve TM suggestions display
 * - Add 'translated' class to newly translated messages
 * - Do not show documentation if documentation language not defined
 * - Fix tux paging counters
 * - Display proper language names and group names in search page
 * - Initial version of Special:SearchTranslations
 * - Optimize the looping on open editors in the translate page
 * - Fixes for expandable documentation
 * - Load the messages in message table dynamically as user scrolls
 * - Key based offsets for message collection
 * - Close the editor after translating or skipping last message
 * - CSS adjustments for permision request text in message editor
 * - CSS adjustments for the &quot;more filters&quot; sub-menu
 * - Correct the text area value change detection
 * - Provide contrast between processed and un-processed items in the message list
 * - Update/fix docs and type hints
 * - Intialise possible unset variables and add type hints
 * - Fix hook signature (follow-up to I8b6a75a3).
 * - Update wording
 * - Avoid outdated warning on all messages
 * - Use the correct target URL for documentation
 * - Fix undefined variable $content
 * - Update indentation and remove unused variables
 * - Fix &quot;oops&quot; in I37504b97
 * - Add a missing message for client side
 * - Bump version
 * - Add support for message documentation in ULS
 * - Add status classes to tux-message-item
 * - Use indentation to clarify structure
 * - Display an &quot;Add description&quot; link
 * - Show diff for the outdated messages
 * - Keep the same height for messages in the list
 * - Display group description
 * - Avoid CSSJanus to flip the box-shadow property of the message list
 * - Fix view port scrolling in Special:Translate
 * - Fix one place to use TranslateUtils::normalisekey
 * - Fix fatal. Incorrect class name
 * - Renamed definition-diff to definitiondiff
 * - Refactor the warnings code
 * - Unbreak group workflow state selector
 * - Fix warnings about undefined index
 * - Add two messages that were not delivered to client side
 * - Stylize
 * - Add appropriate lang and dir to documentation
 * - Make the &quot;Clear translated&quot; button work
 * - Remove use of global
 * - Whitespace and doc cleanup
 * - Add paste event to activate the save button
 * - Use translation when translation is displayed
 * - Include priority language information in ApiQueryMessageGroups
 * - Show the documentation only if it's not empty
 * - Translation memory changes part 2
 * - Accept IContextSource from EditFilterMergedContent hook.
 * - Make Etherpad lite description translatable
 * - propagate events
 * - Fix the wrapping of the language selector
 * - Unbreak getTranslation
 * - Added a file missing from I8849715f
 * - Add lang, dir and bidi-isolation to source and translation
 * - Improving saving feedback
 * - Fix the background placement for ltr and rtl languages
 * - Avoid fatal with Tux + dynamic groups
 * - Allow running tests in subdir separately
 * - Add dynamic groups to API
 * - Update copyrigh years on the files I've touched
 * - Implement &quot;Ask more information” link
 * - Use translationaid API for translation editor
 * - Hook doc test code was swapped
 * - Translation aids API module and props
 * - Truncate long message documentation and show it on hover
 * - Fix incorrect messagegroup expansion - everything is All-&gt;Messagegroup in messagelist
 * - For users without translation rights, remove save button
 * - Whitespace
 * - Translation web services refactoring
 * - Refactor translation validation code
 * - Move the message filter checkboxes under a menu.
 * - Superfluous newlines added in PythonSingleFFS
 * - [Project Selector] Numbers visible in Opera
 * - Add FIXME for missing parameter
 * - Update docs
 * - Add missing parameters
 * - Make 'translate-msggroupsselector-projects' singular
 * - Fix language names overflow on 'In other languages' section
 * - Remove redundant units of measure
 * - Add missing curly
 * - Bump version date
 * - Add a link to use suggestion as translation for the message
 * - Add display and dynamic loading of warnings
 * - Minimal fix for the saving logic
 * - All tab was selected by default but showing untranslated
 * - Fix for the expandable help area for the message editor
 * - Image path correction in css
 * - CSS for Message editor size adaptation
 * - Bump version
 * - Begin to fix lang and dir attributes
 * - Expand the text area height as content grows
 * - Rearrange javascript and css file
 * - Push the checkboxes in message list header to two columns right
 * - Hide the suggestion titles if nothing to show
 * - Round the percentage of match
 * - Mark the skipped translations as hard
 * - Fix Bug: When clicking on any part of the editor, the focus moves to the text area.
 * - Down arrow at the end of target language selector
 * - Make sure translation memories are not polluted in tests
 * - New solr schema.xml
 * - Whitespace
 * - CSS adjustments for translation suggestions
 * - Add a comment about the constructor
 * - Disable save button till translation is edited
 * - Smaller font size for longer source message string
 * - Fix the close icon action
 * - Whitespace and formatting cleanup
 * - ApiGroupReview: Protect against spaces in example group name
 * - Reduce output from ttmserver-export and few small tweaks
 * - Paragraph style fixes for message editor
 * - Add handy accessor to ApiQueryMessageTranslations
 * - Use single click to open translation editor
 * - Simplify ExportToFileMessagesTask::output
 * - Removing action=translate from groupselector
 * - Limit the listing of suggestions
 * - Save translations
 * - Mark translations edited but not saved in the message list
 * - CSS styling for message editor
 * - Skip to next message functionality
 * - Fix doc and remove unneeded action check
 * - WorkflowStatesMessageGroup should return string[], not array[]
 * - Importing wgTranslateDocumentationLanguageCode only in editor context
 * - Whitespace fixes
 * - Avoid hardcoding qqq as documentation languages
 * - Message documentation and suggestions
 * - Fixes to statsbar
 * - Styling fixes for the message list heading
 * - TUX MessageList: i18n and fix proofread status and icons display
 * - New translation editor
 * - Add forgotten -&gt;text to message use
 * - I18n TUX language selector label
 * - TranslateHooksTests missing from some earlier commit
 * - Fix the applying of selected class in message selector
 * - Move api and ffs tests to subdir to mirror code layout
 * - Ignore debug files of failing page translation tests
 * - messageDust.php has not been used in years
 * - Images for translations editor
 * - Adjust depth of loading and action regions

TranslationNotifications

 * - Doc fixes
 * - Updates for JobQueue and ContentHandler
 * - Update docs

UnicodeConverter

 * - Couple of tweaks to the extension credits

UniversalLanguageSelector

 * - Update from upstream
 * - Preferences tests
 * - Saving the preferences only if they changed
 * - Add a hook for support uls-preferences
 * - Show current IME language in ULS input settings
 * - Add redirect from als to gsw
 * - Languages are shown multiple times
 * - Update from upstream
 * - update jquery.uls from upstream
 * - Pick &quot;Special region&quot; functionality from GitHub
 * - Update from upstream
 * - Fix button state when canceling
 * - Fix the webfonts preferences
 * - Whitespace
 * - Don't show the tooltip if the ULS panel is on
 * - Indicate context in input settings/more languages
 * - that -&gt; displaySettings

UploadWizard

 * - Fixed use of bogus var and removed trailing comma for IE.
 * - Use jquery ui buttons on Special:UploadCampaign
 * - Update punctuation for error messages
 * - Show error message instead of sql error on name uniqueness restrction violation
 * - UW will not create a category but it tells so
 * - Remove wrong plural in 'mwe-upwiz-add-flickr' message
 * - Change photo to image where possible
 * - Replace &quot;image&quot; by more generic &quot;file&quot; in a few places
 * - Add option for (en|dis)abling multiple-file uploads
 * - Correct the error count
 * - Add i18n documentation to upload status messages
 * - Don't validate deselected deeds
 * - UW doesn't highlight errors in &quot;more info&quot;
 * - Use async upload-from-stash
 * - use async api for file concatenation
 * - Respect languageTemplateFixups
 * - Make UW more resilient againt misconfigurations
 * - Added access keys to buttons on Special:UploadCampaign

UserMerge

 * - Adding explicit support when mentioning user names

VipsScaler

 * - Fix VipsTest with the new file backend

VisualEditor

 * - Remove en-gb
 * - Fixing label tag in demo
 * - Prevent alien node contents from floating above phantoms.
 * - Fix outdent tooltip calling for a non-existant message
 * - All edits were being marked as minor
 * - Typo from I65447da8.
 * - Handle a null response in onLoad
 * - Close suggestions when escape key pressed.
 * - Phase out $.toJSON, use JSON.stringify directly.
 * - Exclude edit notices with no visible text.
 * - Disabled VisualEditor section edit link overrides by default
 * - Only call showSelecton on undo and redo if there is a returned range.
 * - Save dialog: Fix too-wide diff box.

WebFonts

 * - Update Lohit Bengali and Assamese to latest version

WikiEditor

 * - Add plural support for $1 in 'wikieditor-toolbar-tool-replace-success'
 * - No longer use parameter in 'wikieditor-toolbar-tool-table-toomany'
 * - Added Cyrillic chars to Special Symbols editor
 * - Width tweaks for consistency with surrounding elements
 * - - Fix some file-related issues in the distribution

Wikibase

 * - check rc_params is array in client
 * - Revert &quot;Remove abstract stuff from EntityDiff&quot;
 * - Remove abstract stuff from EntityDiff
 * - move repo-dependent CachingEntityLoader to repo, mark skipped test for client
 * - adjust watchlist query to use rc_this_oldid=page_latest
 * - make changes line hook more backwards compatible
 * - fix autocomment for connecting an item with a client page
 * - add toggle for wikibase edits in watchlist
 * - link correctly to non-main namespace pages in recent changes
 * - Set client page id in recent changes table
 * - (minor) Adding property input placeholder message to resource module
 * - (minor) removed data type label messages, they are included by data types now
 * - (minor) display message when choosing property of unsupported type in snakview
 * - Placeholder and loading spinner when adding a snak
 * - (minor) fix edgecase in aliases UI when edited by multiple users
 * - (minor) make sure arrays have equal size before doing multisort
 * - (no bug) add method to SiteLinkTable to get site links of item id
 * - Setting proper focus after adding/editing claims
 * - Added EntityLoader test and fixed a bug
 * - (minor) Adding documentation for claim view's remove event
 * - Added extra test for ApiCreateClaim
 * - makes Claim properties links to their related wiki pages
 * - Added ReferencedEntitiesFinder
 * - Improved behaviour when tabbing out of the entity selector
 * - Link to items in statements ui
 * - Cleanup of claimview toolbar responsibilities
 * - (minor) Adjusted entity selector QUnit test to new API behaviour
 * - move recentchanges files to includes subdirectory
 * - follow up, make sure rc_user id gets set correctly and allow filter to work
 * - (no bug) split rc filter checks into recent change filter options class
 * - (minor) refactored wbsearchentities
 * - (minor) Updated QUnit API test regarding malformed IDs
 * - Improved HTML building of datatype selector and added sort
 * - Register 4 adittional datatypes as being supported by Wikibase
 * - (minor) Update to wikibase-api-edit-conflict
 * - (minor) Small spell change in english base message
 * - Match changes in Diff extension
 * - Removing Claims
 * - added JS api to remove a Claim
 * - Move focus to value view after selecting property
 * - Autocomments for properties
 * - wbsearchentities should report link to item
 * - Attaching keyboard events to snakview widget
 * - remove singleton from ClientChangeHandler
 * - Setting focus when starting snakview edit mode
 * - Removed dead method
 * - Remove singletons from entity handlers
 * - Kill EntityDiff interface
 * - (minor) 'wb-claim' template gets Claim's GUID in parameter $2 now
 * - send proper baserevid with claims API requests
 * - Moved label+descrption check out of transaction to avoid deadlocks
 * - Fixed SettingsArray test
 * - Entity selector: Display alias when entity has no label
 * - (minor) fix reporting of aliases in wbsearchentities (again!)
 * - added use statement
 * - Handle malformed IDs gracefully.
 * - Display proper label for PVSnaks using wikibase-item properties
 * - (minor) suggester widget: repositionMenu method
 * - (minor) Removing unnecessary z-index definitions
 * - make Wikibase repo url and path info available in client api
 * - (minor) fixed aliases related error in $.entityselector
 * - Add method missing in Entity interface
 * - (minor) Improve log messages in pollForChanges.
 * - (minor) consistent debug outut.
 * - Revert &quot;(minor) consistent debug outut.&quot;
 * - Proper styles for adding a new claim to an existing claim section
 * - (minor) Fix term normalization.
 * - Special handling of IE in template QUnit tests
 * - Add an autocomment for Special:SetLabel
 * - Only select entity if it actually has changed
 * - Adding claims in existing section
 * - (minor) consistent debug outut.
 * - Parsing strings passed to template engine
 * - don't re-save terms if nothing changed.
 * - Improved style of property input box
 * - avoid deadlocks by using retry loop.
 * - EditEntity::attempSave now throws error when in readOnly mode
 * - inputAutoExpand performance improvements
 * - Removed unused use statements
 * - Simplify/improve settings
 * - Removed static methods from interfa
 * - Improved template system
 * - remove usage of ItemHandler::singleton
 * - (no bug) removed todo in statements selenium test
 * - Option to replace characters in suggester widget's suggestions
 * - get rid off odd id handling code
 * - Pass $wiki parameter to getRevisionText
 * - Make autocomment more accurate for wbeditentity
 * - (no bug) fixed ULS fallback in selenium tests
 * - Remove store singleton
 * - Removed client stores singletons
 * - Removed pointless singleton
 * - Default message for displaying properties
 * - use site link table only in poll for changes hook
 * - Remove wikibase-error-relational-save-failed
 * - Special:CreateItem has 2 createitem-summary labels
 * - Processign all changes! -&gt; Processing all changes!
 * - (no bug) selenium tests now injecting old revid to revisionStore
 * - (minor) add wfDebugLog calls to onWikiPollHandle.
 * - load sitelinks from table, not item object
 * - No entity data in EntityChange objects.
 * - (no bug) added cond.wait for pref tabs in selenium tests
 * - (minor) check content's model, not page's
 * - (no bug) A minor fix of ItemDisambiguation
 * - Fix check to see if element is there already.
 * - Match DataTypeFactory changes in DataTypes
 * - Added test for ClaimList::removeDuplicates
 * - Fix method name in CachedEntityTest due to change in ORMRowTest
 * - Fix method name in ChangeRowTest due to change in ORMRowTest
 * - (minor) wfDebugLog for tracing cross-wiki item loading.
 * - continuation logic for pollForChanges.
 * - Fixed doc
 * - fix typo
 * - Stuff last rev id into pageinfo rather then the serialized data model element, as per mainlinglist discussion
 * - (minor) assue re-caching works for sites table.
 * - use js wb.Api for labels,description,aliases,sitelinks
 * - Use EditEntity in removeclaims and added token requirement
 * - additional checks upon saving a recent change entry
 * - - add wb_entity_per_page to Wikibase.sql
 * - Avoid error for history of missing page.
 * - make PHPUnit test aware of empty sitelinks
 * - Corrected the message key of wbeditentity
 * - Bump version to 0.4 alpha
 * - up rel notes
 * - Some cleanup of comments and added two TODOs
 * - Updated statements Selenium tests due to adding linked claim values
 * - use PROTO_RELATIVE in client links
 * - change &quot;Entity Data&quot; to &quot;Entity data&quot;, more consistent
 * - Always display edit group's cancel button on the right

WikimediaIncubator

 * - Simplify 'wminc-fs-settings-text' and improve link
 * - Ensure template is passed by reference in invocation of hook UserCreateForm in AutoTestWiki::onUserCreateForm

WikimediaMaintenance

 * - Maintenance script to clean up old bogus skin preferences
 * - Numerous git-deploy related updates