MediaWiki 1.21/wmf11/Changelog

Core changes

 * - Update E3Experiments entry-point
 * - Adding hooks for thank you notification links
 * - Add Thanks
 * - Bump GuidedTour for deployment
 * - Bump E3Experiments for deploy
 * - Bump GettingStarted for deployment.
 * - Fix wfWaitForSlaves for foreign DBs
 * - Fix wfWaitForSlaves so the $wiki parameter actually works correctly
 * - Fixed importScopedSession and moved exportUserSession to RequestContext.
 * - Update MobileFrontend to tip of production branch
 * - Updating MobileFrontend to tip of production branch
 * - Bump GuidedTour again to fix its own submodule issue
 * - Bump GuidedTour for deployment.
 * - Bump E3Experiments for deploy
 * - Add CategoryAfterPageAdded / CategoryAfterPageRemoved hooks
 * - Cleaned up upload job error reporting.
 * - Add new extension: NavigationTiming
 * - Allow first letter data to be invalidated
 * - Reduce disruption during updateCollation.php
 * - IcuCollation::$tailoringFirstLetters: implement letter removal
 * - Update Math to fix nasty caching bug
 * - Fixed redis auth error spam in logs.
 * - Unset the cgroup if we don't have a memory limit
 * - Adding validation for checkmatrix (same as for multiselect)
 * - Bump to disable gettingstarted tour (wmf11)
 * - Adding new subclass to HTMLForm for constructing a checkbox matrix
 * - 6
 * - Update DataValues
 * - Update Wikibase and DataValues
 * - [JobQueue] Throttle refreshLinks2 jobs based on finishing the refreshLinks jobs.
 * - Update MF and Zero
 * - Added --postime option syncFileBackend.
 * - Read of arbitrary files through mwdoc-filter.php
 * - Add username for GENDER in LogFormatter only when visible
 * - API action=unblock should return the user name, not the full user object
 * - Update WikiData extensions to correct points for 1.21wmf11
 * - Change intval( User::getOption ) to User::getIntOption
 * - Remove Lithuanian override of plural rules
 * - Remove custom Latvian(lv) language plural rules
 * - Use American English spelling for labor
 * - Add number of watchers to API prop=info
 * - Restoring languages/messages/MessagesAr.php (blanked by L10n-bot)
 * - Fix more occurences of &quot;e-mail&quot; to &quot;email&quot; in API
 * - Ensure wgPostEdit can never be set on a non-view.
 * - Add &quot;upload&quot; type to API
 * - mw.loader: Prevent useless jobs from being added to queue
 * - Use 'email' instead of 'e-mail' in English installer messages
 * - Use 'email' instead of 'e-mail' in API texts.
 * - API continue param to streamline iteration of complex queries
 * - testInvalidEmail passes now without local config
 * - More tests for Parsoid's beneift.
 * - API: Throw error when interwiki is given for various title param
 * - Correct documentation for wfPickRandom's return types
 * - Add 'parsoid' option to parserTests.txt.
 * - Some additional test cases for Parsoid.
 * - Do not attempt to send a real e-mail
 * - Do not attempt to send a real e-mail in ApiAccountCreationTest&quot;
 * - Move LoadBalancer::pickRandom to wfPickRandom
 * - Several minor fixes.
 * - Preserve caller expectations for behaviour of sslVerifyHost
 * - Kill off and remove HttpRequest class
 * - Make UploadBase::getTempFileSha1Base36 public
 * - Only run sha1_file once per file in FSFile
 * - Removing badge drop shadow per Vibha
 * - Deal with garbage user_token values in the DB.
 * - Do not read /.git if it is a directory
 * - Remove unused global $wgMemc
 * - Init the user token before adding users.
 * - Use email instead of e-mail
 * - Consistency fixes
 * - Add missing parameter in handleWriteError call
 * - Docs, typofix, additional testcase for I7be51e
 * - Improve documentation for OutputPage-&gt;addModuleStyles
 * - Added missing @deprecated doc to File and Title
 * - Change new wgUserRegistration format, put in User:
 * - Expose additional user attributes as JS vars
 * - Fix API upload with only one chunk
 * - Fix UploadStash::removeFile error
 * - Swedish Collation (uppercase-sv). Swaps Ä and Æ&quot;
 * - API should properly handle OPTIONS
 * - Make maintenance/update.php parse again under PHP 4.1.0
 * - Avoid pool fragmentation in RedisConnectionPool.
 * - [BagOStuff] Converted RedisBagOStuff to RedisConnectionPool.
 * - create language-specific collations for category sorting
 * - [FileBackend] Process cache negatives for file SHA1 function.
 * - Remove temporary plural overrides for fa, hu, ja, vi
 * - Remove MediaWiki overrides for plural rules for Scots Gaelic (gd)
 * - Remove resetArticleID call from RecentChanges::getTitle
 * - Refresh docs for wfMessage
 * - Extend ... magic to also work when &quot;others&quot; is linked somewhere
 * - Mention the batch-download time in copyFileBackend.php.
 * - Allow 0 to only do digit transform
 * - Remove dead code.
 * - Use IETF example domains, not Britney
 * - Add PagesWithProp special page and API module
 * - Add a wfWaitForSlaves call at the end of sql.php
 * - Script calling cleanups
 * - Add a define guard to NoLocalSettings.php
 * - Flip order of conditionals and add explanatory note
 * - Remove DB2 support
 * - Add wgPostEdit to show if user just saved this page
 * - Add link trail and link prefix to API
 * - Add variant config to siprop=general
 * - Remove gaps from $wgFileExtensions array
 * - Make ApiEditPage use Article::newFromWikiPage and add user to context
 * - Web installer: fix &quot;Upgrade existing installation&quot;
 * - XML format: fix &quot;Unrecognized parameter&quot; warning
 * - Pass user to File::recordUpload to avoid $wgUser
 * - Change comment:
 * - Fix documentation error for $expire in WebResponse::setcookie.
 * - Initial JSDuck implementation
 * - Additional tests to catch future Parsoid regressions.
 * - test the parsing of inline URLs.
 * - Give a 200 response for valid user pages
 * - Add tests for wfParseUrl
 * - phpcs: Naming of GlobalFunctions tests classes.
 * - Made sql.php except a &quot;cluster&quot; option and cleaned up the arguments.
 * - Various job queue documentation tweaks.
 * - Changed blob table to use InnoDB.
 * - Cleanups for runJobs.php.
 * - Put the check for empty comment outside of the section anchor section of EditPage::internalAttemptSave
 * - Small tweaks to $wgLockManagers documentation.
 * - Commafy support for convertNumber
 * - [JobQueue] Made the maximum number of job attempts configurable.
 * - [JobQueue] Cleanups for JobQueueRedis.
 * - [JobQueue] Use target wiki configuration for some key functions.
 * - [JobQueue] Added aggregate empty/non-empty queue caching.
 * - Fix how QUnit.newMwEnvironment merges live and custom settings
 * - Move around/add PHP_SAPI check, making find-entries happier.
 * - Concatenate two literals
 * - PHPUnit/Framework.php was removed in 2010
 * - Fixed documentation typo.
 * - Validate the user name used by DoubleRedirectJob
 * - [FileRepo] Changed LocalFile locking to avoid breaking transactions.
 * - Fix doMaintenance.php exit procedures.
 * - Tests: Add missing expect numbers in QUnit tests.
 * - Limit ApiQueryImageInfo transform calls
 * - Show HEADs for Git 1.7.8+ submodules
 * - Do not show a &quot;badretype&quot; error when creating an account by e-mail.
 * - style: indent tweaks to Title.php
 * - Using &quot;Page&quot; for type hinting is really useless
 * - Fix API output formatting (change lines delimited with * as bold)
 * - API prop=pageprops ppprop should accept multiple values
 * - Add line breaks to the output of Special:Watchlist
 * - Some minor coding practice fixes;
 * - style
 * - [JobQueue] Allow certain job types to always opt out of retries.
 * - Pass all non-default values as hidden field in namespace form on Special:Watchlist
 * - set wgLanguageCode in NewParserTests for all tests
 * - Add getters to Message object.
 * - unbreak $.suggestions up/down arrow navigation [regression]
 * - phpcs: Normalize methods declarations to &quot;[final abstract] [visibility]&quot;.
 * - Move &lt;warnings&gt; and &lt;query-continue&gt; to result's top and optimize
 * - API Remove $wgAPIGeneratorModules - it's dynamic now
 * - Remove useless $prefs array from Special:Watchlist
 * - Upstream: Update QUnit from v1.10.0 to v1.11.0
 * - Always cast input to string in wfBaseConvert
 * - Better context for Article initialized by ApiEditPage
 * - Fix siprop=protocols in XML format
 * - Wrote proper skip reason
 * - Misc follow-ups to I2fc3966e (a161c5e)
 * - wfParseUrl no longer produces a PHP notice if passed a &quot;mailto:&quot; URL without address
 * - Use $this-&gt;checkReadOnly for read only database check in Special:Invalidateemail
 * - Extend Russian grammar support
 * - Add invert selection for ns in Special:Newpages
 * - [Upload] Moved async upload stuff to the job queue.
 * - cleanup action=tokens
 * - Add line breaks to the output of action=info
 * - Avoid fatal errors when a revision doesn't exist in action=info
 * - Allow n=form in plural syntax
 * - createAndPromote.php: Change to allow promotion only
 * - fix a typo in generateCollationData.php
 * - properly stop output buffering
 * - Allow adding arbitrary properties to OutputPage
 * - Mention that User::setInternalPassword accepts null as password string
 * - Fix documentation in Linker::formatTemplates.
 * - Add pp_propname_page index to page_props
 * - Allow API results to wrap long lines

AbuseFilter

 * - AbuseFilter: Change format of database logging/ performance
 * - Fix default for $wgAbuseFilterAnonBlockDuration
 * - Check that $title is defined and is a Title object
 * - Create variable to set length of IP blocks

ArticleFeedback

 * - Use email instead of e-mail

ArticleFeedbackv5

 * - Add link to view all activity
 * - Fix updater; was looking for a non-existing index name
 * - fix line break at activity log
 * - HTML element attribute values don't need to be escaped (HTML::expandAttributes will take care of that)
 * - messages are lowercase ASC/DESC
 * - Make AFTv5 watchlist configurable
 * - New: By using &quot;Discuss on talk page&quot; the page gets unwatched
 * - Remove reader tools for editors in feedback page
 * - Fix issues discovered after dewiki deployment
 * - investigate incorrect totals issue
 * - Add index for page-specific requests
 * - General cleanup/fixes
 * - Add index for mycontribs hook
 * - Add comments for grep
 * - Substitute id generator for superior UIDGenerator
 * - this caused db error for a while
 * - Make sure that no out-of-date data is read from a slave
 * - Keep reading from DB_MASTER if data has been written
 * - Blank feedback is confusing
 * - cache cleanup script
 * - Set default sort for 'hidden' filter
 * - Replace article by page where possible
 * - High priority fixes
 * - re-introduce hide tool for monitors
 * - failsafe to make sure that feedback that doesn't get archived, does not continue to show up in archive_scheduled
 * - fix incorrect reference in docs
 * - CTRL+Click on &quot;Feedback from my watched pages »&quot; should open the link in a new tab
 * - Show new feedback in Recent Changes
 * - Display error message on permalink if feedback doesn't exist
 * - Discuss on talk page
 * - Auto-archive comments
 * - New actions, filters &amp; UX
 * - Refactor AFT backend
 * - Use American English spelling for behavior
 * - Use email instead of e-mail
 * - Avoid overlapping text in Tools box by using display:inline-block
 * - AFTv5 controls not selectable with tab
 * - Use protocol relative links
 * - Job returns Status instead of bool

CentralAuth

 * - Adding wfWaitForSlaves before we melt the centralauth cluster.
 * - Maintenance script to migrate a single account from local to global
 * - Call to a member function getUserCaseDBKey on a non-object
 * - Apply title normalization for global groups
 * - Remove code redundancies and centralize logging logic
 * - Allow global groups to be renamed
 * - Fix the reason dropdown for Special:MultiLock
 * - Adding comments for grep
 * - Replace the wiki set number on Special:GlobalGroupPermissions with a link
 * - Add api for getting all wiki sets
 * - Adding username to the account details section of Special:CentralAuth
 * - Use CentralAuthUser::adminLockHide in SpecialCentralAuth::doSubmit
 * - Add conflict detection for status
 * - Minor fixes (i18n and special page group)
 * - Consistency tweaks
 * - Use email instead of e-mail
 * - Lock multiple CentralAuth accounts at once
 * - Used empty string instead of null for lock in setglobalaccountstatus API

CentralNotice

 * - prevent mw.centralnotice.initialize from running twice
 * - Altering CentralNotice UI Date Format
 * - fix unit tests
 * - Countries column in campaigns table
 * - fix bad path
 * - Initial sqlite compatibility
 * - Fixing database patch 2.3 for CentralNotice
 * - On load; Geotarget selector no longer hides
 * - Fix bad caching in bannerController
 * - Revert &quot;CentralNotice v2.3 DB Schema Updates&quot;
 * - Revert &quot;sql patch path was incorrect for 'addTable', 'cn_notices',&quot;
 * - sql patch path was incorrect for 'addTable', 'cn_notices',
 * - fix LoadExtensionSchemaUpdates hook callable
 * - Fixing Multiselector Suckage
 * - Fully expand templates before scanning banner for fields
 * - unit test fixtures for CentralNotice
 * - Improve project, country, and language list display
 * - CentralNotice v2.3 DB Schema Updates
 * - CN i18n - Fixed en message and added dependency
 * - CN DB global should have been wgCentralDBname
 * - Fixing Whitespace in CN Controller
 * - Reporting user Logged In/Out status in CN
 * - Always use $wgCentralDBname in wfGetDB
 * - Making Multiselectors Pretty in CN
 * - Preventing Banner Load on Mobile Devices
 * - Allocation API Now works in XML
 * - Adding comments for grep
 * - Fixing PHP fatal when saving banner
 * - British spelling - localise (for consistency)
 * - ResourceLoader: List jquery.cookie as a dependency
 * - Mobile: Allow CentralNotice to surface on mobile
 * - Fix CentralNotice Underallocation
 * - CentralNotice using wrong DB for logging

Cite

 * - Handle cloned parsers

CodeReview

 * - Use email instead of e-mail

ConfirmEdit

 * - Use email instead of e-mail

ContributionTracking

 * - Use email instead of e-mail

CreditsSource

 * - Tweak 'creditssource-source-work'

DonationInterface

 * - Making the payments logs less racey.
 * - Adding new payment types to the out-logger.
 * - fix required, hidden city input
 * - Removing end comments marks from Sofort-GB form

E3Experiments

 * - Spring cleaning, pt. 2
 * - Add $wgGrownUpBehavior; enable ACUX only if true.&quot;
 * - Add $wgGrownUpBehavior; enable ACUX only if true.
 * - Have jshint ignore jsduck output directory.

Echo

 * - Consolidate messages and fix dismiss title
 * - Add source for event logging
 * - CSS tweak to line everything up.
 * - Add getCategory method to event object
 * - reverts/rollback should not trigger link notif
 * - Adding Gratitude icon
 * - Initial version of user-right notification
 * - Remove use of &quot;I&quot; in favor of &quot;you&quot;
 * - Keep instance variable 'type' the same visibility as the others
 * - Fixing issue with RTL display of badge and pokey
 * - mentioned users should not be as object in database
 * - Notification should not be created for anon users
 * - Fixing bug with links in flyout caused by change I76b80db1
 * - Changing flyout title to be a non-linking header per discussion
 * - Fixing dismiss functionality for new checkmatrix system and categories
 * - Using self for static methods
 * - Making defaultUserOptions based on category to match preferences
 * - Echo style tweaks per Vibha
 * - Making sure email notifications are based on categories as well
 * - extract payload from generic format method
 * - Just correcting a class name
 * - Fix eventlogging schema check logic
 * - Remove trailing comma from javascript object literal
 * - Add more documentation and code cleanup
 * - Implementing new prefs system for Echo
 * - Remove unused pretty timestamp
 * - Add more documentation and getter method to Notification
 * - Add first version of EventLogging schema to Echo
 * - Numerous bits of method parameter documentation
 * - Fix inconsistent function return type
 * - Remove unused function EchoEditFormatter::formatLink
 * - Remove a couple of unused variables
 * - Use email instead of e-mail
 * - Some minor polish for user mention notification per design specs
 * - configure mention notification to use the right formatter
 * - Add a &quot;mention&quot; notification

EducationProgram

 * - Revert my commits. Already fixed in master. FFS
 * - Followup g54130
 * - Implement IContextSource::exportSession
 * - Implement IContextSource::exportSession
 * - Make messaging consistent
 * - Gender neutral issue solved by adding themself or them at appropriate places
 * - Adding comments for grep
 * - Split off some code from EditEventCreator to UserCourseFinder
 * - Fix message keys generated on Special:ManageCourses
 * - Use language object from local context rather then global one
 * - Clean up edit event creation and added basic test
 * - Properly sort class registration for /includes/
 * - replace menu by customizable header on course pages
 * - Added test for Settings class
 * - Rename ambassador roles

EmailCapture

 * - Use email instead of e-mail

EventLogging

 * - Log $_SERVER['HTTP_HOST'] as webHost
 * - Update README.rst
 * - Remove unused variables.
 * - Add PageContentSaveComplete server-side event
 * - Installation notes
 * - Copy jshint from core and add excludes for 3rd-party code.
 * - Provide configuration hints in dev server
 * - swap ujson lib for simplejson
 * - Remove Git SHA1 logging functionality
 * - Fixup memcached support for new WMF memcached config
 * - Spaces to tabs

ExtensionDistributor

 * - Remove unused message

GettingStarted

 * - Vertically align GettingStarted categories
 * - Fix edit tagging for GettingStarted edits.
 * - Increase number of attempts to get suitable article
 * - Revert &quot;Drop $article-&gt;userCan('edit') check&quot;
 * - Minor CSS and JS (jshint) improvement:
 * - Drop $article-&gt;userCan('edit') check
 * - Use single-parameter version of srand.
 * - Append notices to container and float left.
 * - Ensure task targets are editable and bite-sized
 * - Use blue button for Return To link
 * - Implement front-end of dynamic GettingStartedv2, with new logging.
 * - Randomly sample articles from a category.
 * - Make task columns display correctly on IE7.
 * - Add split test with control being shown core landing page.
 * - Synchronize task categories' membership to Redis
 * - Use jshint from core, make required fixes, rm dead code.

GlobalBlocking

 * - Use email instead of e-mail

GuidedTour

 * - Bump GuidedTour for position fix.
 * - Adjust guider arrows sprite to not display extra pixels
 * - Change to use mw.Title; matches corresponding change in GettingStarted.
 * - Copy jshint from core and update accordingly.
 * - Fix Guiders submodule to point to right patchset of flip commit
 * - Use new flip if needed support in Guiders:

LiquidThreads

 * - Use email instead of e-mail
 * - Check lqtnotifytalk property correctly
 * - Fix placement of sign unnecessary message
 * - Fix order of checking for non-existent lqt_oldids
 * - Fix Call to a member function getPrefixedText on a non-object
 * - Fix highlighted comment URL on thread lqt_oldid pages
 * - Fix discussion page history columns
 * - Watch/Unwatch must be POSTed and pass token.
 * - Log signature changes
 * - Change sort order submit button to use it's own message instead of 'go'

MobileFrontend

 * - Updated multi_json Ruby gem
 * - Rebrand DonateImage as Uploads
 * - : Always redirect to page user was on
 * - : Rewrite getToken function
 * - Cleanup: Introduce mobilediff.css
 * - Add ownership statement to photo upload interface
 * - Makes it easy to create new Jenkins job to run Selenium tests from MobileFrontend repository
 * - Fix jshintrc for jenkins
 * - Updated parallel_tests Ruby gem
 * - Updated multi_json Ruby gem
 * - Turn off section toggling on footer
 * - Remove contact us link from footer
 * - Update cc-by-sa image and menu images
 * - Don't call closeNavigation on touchend if no menu closed
 * - Restore logo-copyright-en.png
 * - Story 440: Promote pageimages to stable on watchlist
 * - Improve documentation of mf-last-modified module
 * - Make site notice display in mobile configurable
 * - Increase left padding in search input
 * - Make watchstar rotate when it changes state
 * - Fix jagged inset shadow in menu
 * - Remove unused images
 * - PNGCrush all the PNGs
 * - Rotate escape overlay arrow for RTL languages
 * - Revert &quot;Maintenance: Load minimum possible css / reorg css&quot;
 * - Maintenance: Load minimum possible css / reorg css
 * - Story 141: Add siteNotice div to skin
 * - Add a generic Drawer view and CtaDrawer
 * - : Close main menu after tapping the content
 * - put css before js
 * - Cleanup: Move SkinMobileTemplate into its own file
 * - Check for EventLogging presence in userlogin.js hack
 * - Make sure we never show photo upload button on main page
 * - Regression: Deal with absent wgPhotoUploadAppendToDesc
 * - : Increment upload count on successful upload page upload
 * - Regression: Fix broken tests
 * - Various fixes to overlay header code
 * - American spelling - unrecognized (debug message)
 * - Updated Cucumber Ruby gem
 * - Updated Ruby gems
 * - alpha: show preferred languages at top of language selector
 * - Fix comment to reference CentralAuth, rather than CentralNotice
 * - Regression: fix margin/padding on input in header for language overlay
 * - Testing: Add donate image tests
 * - : Deprecate mwMobileFrontendConfig and setConfig, getConfig
 * - : Cleanup ResourceLoader mess
 * - Cleanup: Remove unused css
 * - Regression: Initialise photo module on page-loaded event only where available
 * - Regression: Make editing work again on mobile beta
 * - Regression: Remove special page style dependency
 * - alpha: diff view use background color rather than text color
 * - Improvement to diff view
 * - : Define special page modules manually
 * - Link to CC-by-SA on uploads should go to Creative Commons
 * - Regression: Make languages work again on beta
 * - : Standardise login and account creation forms
 * - alpha: slight tweak to tables
 * - RL: Correctly load modules that belong in the head and headItems

MoodBar

 * - Use email instead of e-mail
 * - MediaWiki:Moodbar-privacy and MediaWiki:Moodbar-privacy-link use lego

Narayam

 * - Fix te rules to get ZWNJ instead of ZWJ

NavigationTiming

 * ** Newly deployed extension

OpenStackManager

 * - Remove debugging lines that cause disclosure
 * - Create shell requests as labslogbot.
 * - Projects need to be extensibleobject so that we can add 'info'.
 * - Add a GUI for managing a project's shared volumes

PageTriage

 * - Update category to Echo change
 * - fixing display of filter list in Firefox
 * - Adding comments for grep
 * - Strict standards: Non-static method PageTriageUtil::getCacheVersion should not be called statically in ~/mediawiki/extensions/PageTriage/includes/PageTriageUtil.php on line 257
 * - Updating PageTriage for Echo change Id745ed
 * - Replacing intval with casting
 * - replace gM with mw.msg
 * - Use email instead of e-mail
 * - Fix capitalisation

RSS

 * - Remove from around date format
 * - Use American English spelling for behavior
 * - follow-up change (renaming) core class HttpRequest to MWHttpRequest
 * - $wgRSSAllowImageTag new name; bug fixed

Scribunto

 * - Allow for docs at non-subpages
 * - scribunto-doc-subpage-name needs to be in the content language
 * - Make mw.getCurrentFrame work in console, add frame:newChild
 * - Don't count argument parsing time towards Lua limit
 * - Missing global
 * - Improve error popup discoverability
 * - Add title.fileExists, improve title.exists
 * - mw.title:getContent should record in templatelinks
 * - Fix unit test engine↔parser assignment
 * - Fix Title library breaking other unit tests
 * - Add namespace translations for dsb, eo, hsb
 * - Add mw.title:getContent
 * - Fix ustring errors
 * - Add language functions
 * - Fix mw.uri error with empty fragment or query string
 * - Add requirable bit32 library
 * - Clean up argument lists
 * - Add Hungarian namespace aliases
 * - Fix title library saving
 * - Update i18n
 * - Clean up lualibs
 * - Add mw.title library
 * - Added be-tarask NS translations
 * - Add Dutch namespace names
 * - Add Chinese namespace names
 * - Add german namespace aliases
 * - Add mw.message library
 * - Fix NaN unit test in phpunit 3.7.14
 * - Use XHTML &lt;hr /&gt; tag
 * - Add module documentation support
 * - Add mw.loadData, for static data loading
 * - Enable subpages

SpamBlacklist

 * - Use American English spelling for behavior
 * - Use email instead of e-mail

TemplateSandbox

 * - Fix notice due to undefined templatesandbox_preview

Thanks

 * ** Newly deployed extension

TitleBlacklist

 * - Introduce a way to limit username filter to certain sources.

Translate

 * - Rename job classes to more specific names
 * - Fix proofreading view
 * - Add a &quot;collapse&quot; tooltip, in addition to &quot;expand&quot;
 * - Do not show export tab if exports are disabled
 * - Bump version
 * - Empty msgctxt is now exported properly in GettextFFS
 * - I can't find where outdated class is used
 * - Pre-fetch information for the first element of the message list
 * - [TUX] Add tooltip to expand and close icons
 * - [TUX] Filtering by a word does not work for non-Latin scripts
 * - American spelling - familiarize/minimize
 * - Do not consider empty string to mark a translation as &quot;unsaved&quot;
 * - Fix whitelist/blacklist checking on export
 * - Don't create empty files in AndroidXmlFFS
 * - Add fuzzy support to AndroidXmlFFS
 * - Handle gracefully if Solr is not running
 * - Adjustments for empty list message
 * - Remove unused isValidLanguage code
 * - Adjusted layout for side-by-side views
 * - Rename js file to match naming convention
 * - Make whole facet row clickable on search
 * - &quot;X&quot; should clear search filter in message list
 * - Remove proofread tab in TUX
 * - Fix singular: parenthesis
 * - Don't assume page content language is wiki content language
 * - Simplify translatable page completion calculation
 * - [TUX] Outdated icon not appearing on proofread view
 * - Some GettextFFS messages were not unfuzzied on import
 * - Run mapped code through wfBCP47
 * - Do not display fuzzy translations on translation pages
 * - [TUX] Don't show the &quot;No message documentation&quot; label
 * - Fix Proofread mark status not being updated
 * - Have PythonSingleFFS observe codeMap
 * - Fix the appearance of translatable pages diffs in TUX
 * - My -&gt; your
 * - Add help text and actions if no messages to show
 * - Use American English spelling for behavior
 * - Use American English spelling for color
 * - Address my review comments in Ibf59342e
 * - &quot;The group parameter must be set&quot; when disaggregating page
 * - Avoid inconsistencies in breadcrumbs of project selector
 * - Made message group search match words
 * - Speed up initial message loading
 * - Make (en|dis)couraging changes immediately visible
 * - Add the &quot;page&quot; view for a side-by-side translation
 * - Avoid fatal error for unknown groups with tux
 * - Make variable explicitly public
 * - Converted page translation logs to LogFormatter
 * - &quot;Hide your translations&quot; button
 * - Updated proofreading check marks to use sprites
 * - Adding $this = $( this ) where appropriate
 * - Show blue pencil mark for untranslated messages
 * - Convert translationreview logs to LogFormatter
 * - Unbreak group selector in old interface
 * - Make &quot;translated&quot; the default filter for proofreading
 * - Allow insert from helper language
 * - Add search support for proofread mode
 * - Whitespace cleanup for JSHint
 * - XML for Android export should have escaped ' and &quot;
 * - Remove delay in enablement of &quot;save translation&quot; button
 * - Move focus to search for the project selector
 * - Styling adjustments for proofread view and toggle buttons
 * - Use email instead of e-mail
 * - Fix whitespace of I2dc613b73
 * - Fix broken layout for editor in proofreading mode
 * - Add status as class for proofread rows
 * - Fix the toggle style of mode changing buttons of message table
 * - Add Language to gettext file header
 * - Provide onSave callback for translate editor
 * - Remove the 'load from all' button
 * - Load messages from parent groups too when selected in groupselector
 * - Translate, Proofread toggle buttons
 * - Display a warning when translating to a non-priority language
 * - Hide 'untranslated' filter in proofread mode
 * - Fix js error while clicking on 'Load all messages' button
 * - Fix broken filters in proofread mode
 * - Update the statsbar after proofreading
 * - Code refactoring
 * - Remove useless database call
 * - Fix: Wrong language for stats bar
 * - Check user rights before proofread
 * - Add type hint
 * - Add type hint
 * - Remove unused local assignments
 * - Remove unused local variable
 * - Proofread
 * - Make message table header to float when scrolling
 * - Load language stats correcly on language change
 * - Dynamic rendering and selection of workflow states
 * - Proper formatting of LTR messages docs in RTL

TranslationNotifications

 * - Move full stop outside of link
 * - Use email instead of e-mail
 * - Fix variable number in message

UniversalLanguageSelector

 * - dirty RTL CSS hack for Opera

UploadWizard

 * - adding new license needs array_merge_recursive.&quot;
 * - wrong progress status of uploads.
 * - adding new license needs array_merge_recursive.
 * - really dont try to convert images
 * - Align buttons properly after uploading a file.
 * - proper indentation of license under &quot;this file is my own work&quot;

Vector

 * - make ext.vector.collapsibleTabs actually work
 * - clean up jquery.collapsibleTabs vs ext.vector.collapsibleTabs
 * - adjustments to footer cleanup's CSS

VisualEditor

 * - Added validation to ve.inheritClass
 * - Shift-Enter should add newline in preformatted
 * - Major UI refactoring and improvements
 * - Maintenance script: Update header
 * - Cleanup: Omit second argument to setTimeout for &quot;nextTick&quot;
 * - Fixing canBeSplit for ListItemNode
 * - Change FormatAction.splitAndUnwrap to use the new SurfaceFrament.isolate method
 * - Fix JSDuck warnings
 * - Resigning from localStorage
 * - Implement SurfaceFragment.rewrapAllNodes
 * - Modify styles, add disabled and read-only for widgets
 * - Use @chainable where appropiate.
 * - Make translateRange translate across wrapping transactions correctly
 * - Add ve.Range.prototype.isBackwards
 * - Combine consecutive remove operations
 * - Cleanup selection displaying related methods in ve.ce.Surface.
 * - Introduction of ve.ce.RangyRange class.
 * - After creating a ve.Surface in a test, destroy it
 * - Change one last .storeHTMLAttributes to .storeHtmlAttributes
 * - Make string type matches override regex type matches
 * - Add MWMetaNode to clean up &lt;meta&gt;/&lt;link&gt; hack in the converter
 * - Support RDFa type regexes in ModelRegistry
 * - Implement the new node API in the converter
 * - Change context.wrapping to context.inWrapper
 * - Add .static.enableAboutGrouping
 * - Add .static.storeHtmlAttributes
 * - Implement SurfaceFragment.unwrapAllNodes and fix wrapAllNodes.
 * - Fix bug with replacements in translateOffset
 * - Create SurfaceFragment.isolate method
 * - Create tests for ve.FormatAction.convert
 * - Hide Phantoms
 * - Make the full document regex hack a bit more robust
 * - Introduce ve.Keys based on DOM Level 3 KeyEvent
 * - Change {Boolean} to {boolean} throughout
 * - Very small cleanup of onCut method in ve.ce.Surface.
 * - Fix ModelRegistry stupidities
 * - Make ve.copyArray / copyObject work with booleans
 * - Bump copyright notice year range to -2013 over -2012
 * - Upstream: Update QUnit from v1.10.0 to v1.11.0
 * - Make the converter work with full HTML documents rather than fragments
 * - Add ve.createDocumentFromHTML

WikiLove

 * - Use email instead of e-mail

WikimediaMaintenance

 * - Fix some stupid mistakes in cleanupSkinPrefs
 * - Stashing script for checking rc_params type