MediaWiki 1.22/wmf6/Changelog

Core changes

 * - Add 'CoreEvents' extension
 * - Update VisualEditor for i18n change
 * - Add 'Campaigns' extension
 * - support setting Memcached::OPT_SERVER_FAILURE_LIMIT, Memcached::OPT_RETRY_TIMEOUT
 * - Updated Zero extension to latest
 * - Add new hook AbortTalkPageEmailNotification
 * - Update DataValues and Wikibase with improvements to geo data type
 * - [Database] Tweaked LoadMonitor::getLagTimes to further reduce stampedes
 * - Update Wikibase
 * - Revert "Introducing ContentGetParserOutput hook."
 * - updated to latest zero extension
 * - Update WikiData related extensions for 1.22wmf6
 * - Commit of various wmf-branch live hacks
 * - Refactored WikiPage::updateCategoryCounts to use upsert.
 * - The language used to render SVGs should be definable
 * - Doc fix for MediaHandler::getThumbType
 * - Follow up I6e64a missing global deceleration for $wgHTTPConnectTimeout
 * - Shorten our in-comment urls to the whatwg HTML spec.
 * - RefreshLinks on imagelinks on new uploads to kill tracking cat.
 * - jquery.client: Fix profile of some UAs and add exactMatchOnly param
 * - [LockManager] Made it easier to get both SH and EX locks at once.
 * - Allow setting of connection timeouts for HTTP requests using cURL
 * - Remove unused global
 * - Follow-up 05077dc3740
 * - Remove the $wgHandheldForIPhone config variable entirely
 * - More cleanup when removing accounts with removeUnusedAccounts.php
 * - Added tests for new DatabaseBase::upsert
 * - Introducing ContentGetParserOutput hook.
 * - mediawiki.icon: Move arrow icons to a separate module
 * - User: Clean up coding style and documentation
 * - [Database] Added an upsert function to perform/emulate ON DUPLICATE KEY UPDATE.
 * - Add a script to remove deleted files from storage
 * - remove invalid comment from SkinVector::setupSkinUserCss
 * - invalidparammix/missingparam get the module prefix twice
 * - mediawiki.legacy.ajax: Wrap Sajax methods in mw.log.deprecate
 * - Make headers in FauxRequest case insensitive
 * - Remove occurrence of $wgOut in HTMLForm::displayForm's documentation
 * - Cologne Blue: add missing 'undeletethispage' message
 * - Fix api.post call in mediawiki.api.edit.js
 * - Fix edit patrolling in multi Diffs
 * - mediawiki.legacy.ajax: Pass JSHint
 * - doc: doxygen expands tabs to 4 spaces instead of 8
 * - Update messages.inc and rebuild MessagesEn.php.
 * - test: inject autoloader in Maintenance class
 * - LinkCache singleton can now be altered
 * - Throw an exception in ScopedCallback for invalid callbacks.
 * - Cleaned up some Article comments.
 * - remove leftover @embed directive
 * - Migrate Extension:PostEdit interface to core
 * - Do not show empty parenthesis on log entry with no block flags
 * - Fixed trailing slash removal code.
 * - Fixed EZConnect string regex in OracleInstaller class.
 * - Update Parsoid-only tests to reflect shortened typeof
 * - Delete RELEASE-NOTES-1.21
 * - WebRequest::getIP cleanups.
 * - Tooltips for HTMLCheckMatrix
 * - Micro optimization when fetching a magic from cache
 * - tests: resources tests were not being run
 * - Add setting wgLogAutopatrol to toggle logging of autopatrol actions
 * - Update linktrails for Hindi and Odia
 * - Darker labels in new login and create acct forms
 * - Add new parameter $patrolFooterShown to hook ArticleViewFooter
 * - Fixed OracleUpdater::doPageRestrictionsPKUKFix prefix
 * - Oracle: DRCP and persistent connections support
 * - API: Fix chunk upload async mode
 * - Renaming files to follow name conventions
 * - overhaul maintenance/mwdocgen.php
 * - wfIniGetBool: reduce strtolower calls
 * - Allow patrolling page creations from Special:RecentChanges
 * - revert last 'ru' l10n update
 * - Merge 'passwordreset-pretext' and 'passwordreset-text' messages
 * - benefits icon part of background, not float
 * - Check if API enabled before loading dependent JS modules
 * - wikibits: Pass JSHint
 * - wikibits: Wrap jsMsg in mw.log.deprecate
 * - wikibits: Replace checkboxShiftClick globals with dummies
 * - wikibits: Wrap UA and accesskey globals in mw.log.deprecate
 * - Allow setting the ID of the main table in HTMLForm
 * - Give skin more control of OutputPage modules
 * - ApiHelp: Avoid header for example, when there no examples
 * - Customise linktrail for Gujarati (gu)
 * - mediawiki.searchSuggest: Use mw.Api instead of jQuery.ajax
 * - ResourceLoader: Prevent prefixless modules from overwriting others
 * - Add autocreate to addNewUserLogEntry docs.
 * - Newlines should be converted to spaces for IRC feed
 * - RecentChange: deprecate newFromCurRow and loadFromCurRow
 * - Add TitleQuickPermissions hook to Title::checkQuickPermissions
 * - De-duplicate refreshLinks2 base jobs on insert.
 * - Compress PNGs used in new forms
 * - new Create account contributors icon
 * - Avoid changing the global on special pages
 * - Update referenced PHP version in 'normal' README.
 * - tests: group structures tests in their own directory
 * - doc: various updates
 * - Make 'subnet' feature of $wgRateLimits work with IPv6

ArticleFeedbackv5

 * - Don't find AFT results if tagfilter set
 * - Make lottery-based default permission level check safer
 * - IE9: intermittent: AFTv5 not appearing in beta labs
 * - Small cosmetic improvements
 * - ArticleFeedbackv5: Consider showing "reader feedback" less or not on top of the page
 * - 'articlefeedbackv5-disable-flyover-help-location' is poorly placed and not needed

Campaigns

 * ** Newly deployed extension

CentralAuth

 * - Normalized token TTLs and memcached calls.
 * - Add "centralauthtoken" to API

CoreEvents

 * ** Newly deployed extension

DataValues

 * - Add support for ′ and ″ to the globeCoordinate parser
 * - Fix precision detection in globe coordinate parser
 * - Fix for globeCoordinate's toDegree
 * - trim incoming string values
 * - Stopgap to avoid excessively long string values (backport)
 * - [coordinate.js] Removed GlobeCoordinate's "isValid" function
 * - Implemented time.js parser constructor
 * - Removed globeCoordinate's unused increase/decreasePrecision methods
 * - Removed time.Time's isValid function
 * - Revert "Revert "Revert "Temporary break the phpunit bootstrap file to see if travis reacts correctly to this"""
 * - Revert "Revert "Temporary break the phpunit bootstrap file to see if travis reacts correctly to this""
 * - Revert "Temporary break the phpunit bootstrap file to see if travis reacts correctly to this"
 * - Temporary break the phpunit bootstrap file to see if travis reacts correctly to this
 * - Added build failure notifications for #wikimedia-wikidata IRC and my email account
 * - [coordinate.js] Optimized precision handling
 * - Made DataValue::getType static, added tests for both static/instance usage
 * - Revert "Moves wgValueFormatters global definition in MW specific initialization file"
 * - Updated GeoCoordinate's serialize/unserialize methods
 * - Changed globe coordinate type label to "Geographic coordinate"
 * - Renamed "geo coordinate" to "globe coordinate"
 * - Coordinate values of backend and frontend can now exchange precision
 * - Properly implemented JS GlobeCoordinateValue::toJSON and newFromJSON
 * - Added some TODOs and cleanup to globeCoordinate.parser
 * - Moves wgValueFormatters global definition in MW specific initialization file
 * - Properly set globeCoordinate.GlobeCoordinate.prototype.constructor
 * - Minor improvements to DataTypeFactory
 * - [coordinate.js] Renamed coordinate to globeCoordinate
 * - [coordinate.js] Implemented list rotator to set precision
 * - [coordinate.js] Refactored precision handling
 * - [coordinate.js] Correctly assigning coordinate variable
 * - [coordinate.js] Implemented coordinate expert widgets
 * - [coordinate.js] Implemented "coordinateinput" widget
 * - Removed unnecessary usage of QUnit.newMwEnvironment in QUnit tests
 * - proper usage of global "time" in timeexperts.TimeInput.tests.js
 * - [coordinate.js] Implemented coordinate value parser
 * - [coordinate.js] Implemented coordinate data value
 * - [coordinate.js] Implemented equals function in Coordinate prototype
 * - [coordinate.js] Implemented iso6709 function in Coordinate prototype
 * - [coordinate.js] Implemented isValid function in Coordinate prototype
 * - [coordinate.js] Basic Coordinate object QUnit tests
 * - [coordinate.js] Basic parser QUnit tests
 * - [coordinate.js] Added QUnit tests for basic coordinate.js methods
 * - [coordinate.js] Refactored precision texts handling and added tests
 * - [coordinate.js] Added documentation
 * - [coordinate.js] Formatted files according to coding style guidelines
 * - [coordinate.js] Import of coordinate.js
 * - Refactored valueview preview into its own widget
 * - Minor cleanup of time.js
 * - Fixed paths in test suite config
 * - Added README in the repo root
 * - Updated travis config file to run the tests of all components in this git repo
 * - Added phpunit.xml file for all projects in the repo
 * - Added missing dependency of TimeInput expert
 * - Added Travis CI config file
 * - Basic toggler widget tests
 * - Input extender: Listening to "animationstep" event
 * - Always resize StringValue expert input element
 * - List rotator widget: Assigning position absolute to menu
 * - Input extender widget: Removed obsolete stopPropagation

Diff

 * - Added build failure notifications for #wikimedia-wikidata IRC and my email account
 * - Added @throws docs
 * - Added ArrayComparer interface
 * - Added testErrorOnUnknownDiffOpType to MapPatcherTest
 * - Removed impossible to test else case, only there for legacy reasons, from Diff
 * - Remove ListDiff::newEmpty
 * - Added FIXME to broken code
 * - Added ThrowingPatcherTest to test throwErrors and ignoreErrors
 * - Added testPatchMapRaisesError to ListPatcherTest
 * - Added test for line 135 of MapPatcher
 * - Updated build status to point to auto updated travis project
 * - Ignore class autoloading in entry point in unit test coverage report
 * - Added and fixed patcher tests and two uncovered bugs
 * - Added @covers tags for AtomicDiffOp
 * - Added @covers tags for ThrowingPatcher
 * - Got rid of DiffOpTestDummy
 * - Added tests for Diff getAddedValues and getRemovedValues

DonationInterface

 * - Allowing the OrderID for Adyen to be Resurrected
 * - Changes for SmashPig/Adyen!
 * - Fixing minor issues with testing code
 * - Fixing RTBT Methods that were two step

Echo

 * - Respect revision suppression within Echo
 * - Remove unused global variable and update function return type
 * - Rename index for sqlite support
 * - Add overlay hook for user scripts.
 * - Repairs necessary for echo to support Sqlite
 * - Some more adjustment to timestamp in user timezone
 * - All system messages should have sender = -1
 * - Switching to short date headers based on user prefs (and timezone)
 * - Preventing FOUC on Special:Notifications page
 * - Update mention notification threshold from 300 to 100
 * - Remove quote around javascript object property name
 * - Calling functions explicitly due to context
 * - Don't run mw.echo.special.initialize until DOM is ready
 * - Never underline the badge

EventLogging

 * - Tweaks to comment-block suggested by S
 * - 'encapsulate' =&gt; 'prepare'; computed properties
 * - Default schema location to Meta, matching revids in extensions.
 * - Move PageContentSaveComplete out; intended to be in CoreEvents
 * - Move AddNewAccount out. It is intended for Extension:Campaigns.
 * - More informative warning for invalid enum value

FlaggedRevs

 * - Respect content model for viewing stable versions.

GuidedTour

 * - Cleanup jsduck documentation and commenting:
 * - Remove gt.initGuider, allow one guider per tour at a time:
 * - Fixup mixed leading whitespace
 * - Improve multiple tour support:
 * - Only load tours if user JS is allowed on the page.

Math

 * - Set menuSettings.locale
 * - MathJax Localization: Remove language menu
 * - MathJax: Support localizations of MathJax
 * - Calculate HTTP POST data in separate method for debugging

MobileFrontend

 * - Fix navigate to link in Android
 * - Regression: hide button bar in editor when keyboard visible
 * - Regression: Make diff user info box position fixed again
 * - Make editing work on pages other than main namespace
 * - Fixed link to mobile homepage
 * - : Style upload button correctly in Opera and Firefox
 * - Remove Zero banner cruft
 * - Make editor disappear after a successful save
 * - Spike 820: Reduce API errors related to anonymous tokens (hopefully)
 * - Center left and right arrows on uploads first time user tutorial
 * - Uploads page: remove out the progress indicator
 * - New assets for first time user upload tutorial
 * - Only add Uploads page in mobile mode
 * - Big photo reorganisation
 * - Remove scrollTo call
 * - Ability to get partial result from the API
 * - : Fix talk topic add overlay
 * - Revert "New hook, MobileSkinCreated"
 * - Use 'agora' styling for button on settings page
 * - Uploads tutorial CSS fixes
 * - Story 774: Allow people to navigate to nearby places
 * - Split MobileFormatter to separate classes for HTML and WML
 * - : Disable accidental clicking of links in preview
 * - Code cleanup: Merge mixins, use vertical-gradient
 * - Story 692: Support for closing overlays with back button
 * - Enable page creation and editing in all namespaces (with proper perms)
 * - : Position fixed cleanup
 * - : Make wgIsPageEditable more accurate
 * - EventEmitter tweaks
 * - New hook, MobileSkinCreated
 * - : Hide errors in preview output
 * - Fix spacing
 * - Allow other projects to define their own mobile skin
 * - : Don't load stable modules on nearby page
 * - : CSS issue on watchlist feed view
 * - Minor cleanup to use -&gt;inNamespace
 * - : Fix extracts" - breaks tests
 * - Completely remove the $wgMFCustomLogos['logo'] stuff
 * - Story 790: Standardise use of words
 * - : Fix extracts
 * - Remove custom caching headers
 * - : Remove br tags from diffs
 * - Move some code out of ExtMobileFrontend
 * - : Call to a member function saveXML on a non-object
 * - Warn about exlimit being adjusted down
 * - : Left align edits text for large numbers
 * - Remove unused css/ module
 * - Add FIXME to barely used piece of CSS
 * - Replace MakeGlobalVariablesScript hook with skin code
 * - Move language selector specific css to separate file
 * - : "Mobile view" link should be protocol-relative
 * - Beta: Make panels of uploads tutorial slide in and out
 * - Remove #mw-mf-sq css rules
 * - Story 789: First time user upload tutorial revamp
 * - Move overlay css to overlays.less
 * - Move talk add button to talk.less
 * - Standardise on 'plumbing'
 * - Cleanup mf-common.less
 * - Add javascript specific stylesheet
 * - Allow configuration of range in Special:Nearby
 * - Link history page for displayed article, not title from URL.
 * - Remove unnecessary typography rule
 * - Remove version from extension credits
 * - Nag overlay fixes
 * - Remove M.message
 * - Fix QUnit.asyncTest and remove unused test code

OpenStackManager

 * - Remove duplicate cores quota display
 * - Add Display Quotas action to Special:NovaProject
 * - Fix a bug with trimming 'local-' from the requested service group name.

PageTriage

 * - Better solution to page curation / page patrolling conflict
 * - Undoing temporary revert of new PageTriage code for deployment
 * - Temporary revert of PageTriage for wmf deployment

RelatedSites

 * - Correct the id for related sites sidebar

Score

 * - Pass length of ogg file to TimedMediaTransformOutput

SecurePoll

 * - Revert "Fix parameter list order when splitting a string"
 * - Update langlist to how things are for this year
 * - Update name email comes from
 * - Remove get-voter-list.sh, it's deprecated to doSpam.php
 * - Uppercase replacement parameters
 * - Fix parameter list order when splitting a string
 * - Fixup output path of buildSpamTranslations
 * - Update path
 * - More minor year specific updates
 * - /home/Wikipedia -&gt; /a/common
 * - 2011 -&gt; 2013
 * - Add updated scripts for bv2013
 * - Cleanup bv2013/doSpam.php
 * - Update inclusion of commandLine.inc
 * - More coding style fixes to elections-2011-spam imports
 * - Copy doSpam.php from elections-2011-spam to bv2013
 * - Minimal updating of scripts
 * - Import scripts from hume ~andrew/election-2011-spam

TemplateData

 * - ApiTemplateData: Expose root description property

Thanks

 * - 'class' is a reserved word for Explorer, enclosing in quotes
 * - Quote 'class' in JS object literals
 * - Everyone hates Christmas so we're getting rid of it!

TimedMediaHandler

 * - set last error if job fails
 * - Mark active transcodes running for to long as failed
 * - Pop up videos set the autoplay attribute to true
 * - Fix format detection for video only files
 * - Allow registered users to reset transcodes

Translate

 * - Do not commit upates to the index immediately
 * - Break long line
 * - Get rid of some ugly globals
 * - Get rid of some ugly globals
 * - Get rid of some ugly globals
 * - Filter group from Special:LanguageStats when group is not a priority language
 * - Update formatting
 * - Remove list of message groups from api documentation

UniversalLanguageSelector

 * - jquery.ime updates - keyboard mapping fixes
 * - Remove comma that shouldn't have been introduced
 * - Use content language as default language for ime selector
 * - Update jquery.ime from upstream
 * - Coding style updates
 * - Update version
 * - Remove last bits of MediaWiki 1.19 compatibility
 * - Simplify return statement
 * - Update indentation and newlines
 * - Update docs and type hints
 * - Initialise possibly undefined variables
 * - Remove unused variable
 * - Update jquery.uls from upstream
 * - Update jquery.ime from upstream
 * - Disable Webfonts too for blacklisted browsers
 * - Disable IME too in blacklisted browsers
 * - Validate imeId before rendering
 * - Make Display settings the default view for the cog Language settings
 * - Cleanup ext.uls.languagesettings.js
 * - Make the link to undo language change usable
 * - Update Lohit Tamil fonts to 2.5.3 version
 * - Use system as default font for Tamil
 * - Add Linux Libertine font
 * - Set the language for the settings panel for correct webfonts
 * - Add UnifrakturMaguntia font
 * - Input settings - language selection cleanup
 * - Use Tipsy on "Language settings" tooltip
 * - Scroll to viewport after input methods list is rendered
 * - Update jquery.uls from upstream
 * - Update version
 * - Cleanup

UploadWizard

 * - Deal with failure to understand "this" in UWI
 * - Fix UploadWizard's config variables
 * - Remove &lt;br /&gt; as its not supported by jQueryMsg

Vector

 * - Fix JSHint warnings:

VisualEditor

 * - Transclusion editor template naming goodness
 * - Make media insertion queries less horrible
 * - Support for editing captions of block images
 * - Move transclusion editing from experimental to core
 * - Add templates from toolbar
 * - Fix transclusion button message
 * - Handle media select widget empty queries properly
 * - Improve template title normalization logic
 * - Don't show Template: in the outline for template items
 * - Template and content adding
 * - Fix copyDomElement issues
 * - Copy DOM elements properly, into the correct document
 * - Make MWTransclusionModel#addTemplate take target object instead string
 * - MWTransclusionModel: Make #getPartById support a param model id
 * - Whitespace cleanup
 * - dialog: Remove background color body
 * - ve.ui.IconButtonWidget: Extend css transition from 100ms to 200ms
 * - ve.ui.LookupInputWidget: Hide lookup input widget menu when empty
 * - mw.ViewPageTarget: Use ES5 methods instead of strict mode as test
 * - Move notification messages to correct module
 * - Use the latest revision's timestamp for basetimestamp
 * - Element fixes
 * - doc: Tag ve.ui.Window static properties as inheritable
 * - Correctly distinguish between Deferred and Promise
 * - Only undo on MWMetaDialog close if small stack is non-empty
 * - Store originalIndex instead of mwOriginal in Transclusions
 * - Actually normalize page titles correctly in MWLinkTargetInputWidget
 * - Fix fatal error on user registration due to hook fail
 * - Address Krinkle's review comments from I51c441d61
 * - Test case for 95733390dc87894fe85b3479a9268fe2d797b26e
 * - Use indexes in .children, not .childNodes, for attribute preservation
 * - Added ve.ce.FocusableNode mixin to ve.ce.MWReferenceListNode
 * - Split test: instrument edit events for standard editor interface
 * - Fix selectNodes bug with empty non-content branch nodes
 * - Refactor selectNodes tests
 * - grunt: Also delete QUnit temp files when test fails
 * - Build the internalList linmod even if it's empty
 * - Fix grammatical error
 * - article -&gt; page
 * - Code style fix: @return -&gt; @returns
 * - Fix logical conflicts from the transclusion merge.
 * - splitClusters uses Grapheme Cluster Boundary rules
 * - Remove handling of old 'editsection' class
 * - Add ability to run a 50% split user test with VisualEditor as default
 * - Handle deletion programmatically always
 * - Reference name and group editing
 * - Outline controls
 * - Log user ID; 'pageViewSessionId' to alphanum string
 * - Add group field to reference dialog
 * - Pass selection to ve.dm.Surface.change when pasting over text
 * - Kill attribute order preservation
 * - Fix section edit preference language
 * - Change wording of new preference per James
 * - Send section edit links to VE by default
 * - Update 'wgCurRevisionId' after successful save
 * - Improve category widget styling
 * - Add ability to log analytic events using EventLogging
 * - Fix problem by calling surfaceObserver.stop( true ) first - before calling handleEnter.
 * - Category popup fixes
 * - Transclusion editing
 * - Make references dialog scroll
 * - Make fieldset layout icons optional
 * - Use more generic approach to filter out non-character key presses.
 * - Media display and insertion no longer an experimental feature
 * - Sort out i18n strings
 * - Cleanup unused dialogs
 * - Store empty annotations as alienMeta nodes
 * - References dialog cleanup
 * - Store alien meta items' dom nodes only
 * - 6
 * - Replace alpha notice with beta label hiding the feedback link
 * - Improve langlinks styling in meta dialog
 * - Add missing documentation for category widgets
 * - Set sort keys on click-out too
 * - Clean up incorrect use of regular expressions in CategoryInputWidget
 * - Text input widget enter event
 * - Improve input widget value sanitization
 * - Paged dialog upgrades
 * - Use the correct $$ in the meta dialog
 * - Fix conversion of byte to grapheme offsets/lengths
 * - Break words in the category dialog
 * - Don't offer to move the very last category to the end
 * - Fix exception in InputWidget when config.value isn't set
 * - Disable the 'cache' query parameter too
 * - Wrap inline images in spans with display: inline-block.
 * - Match non-BMP characters in wordbreak regexes
 * - Fix selection and hover for MW inline images.
 * - Remove Parsoid hack and fix new references.
 * - When editing meta items, modify them rather than rebuilding them
 * - Insert Reference
 * - Preserve location of reference body within key
 * - FocusedNode Selection
 * - Disable Parsoid URL cache busting with touched ts
 * - mw: Remove 'Report problem' feature
 * - Support for inline images
 * - mw.ViewPageTarget: Make 'review' step optional in save flow
 * - Use blacklist instead of whitelist for storeHtmlAttributes of MWBlockImageNode.
 * - Render block templates as &lt;div&gt;s and inline ones as &lt;span&gt;s
 * - Block Image Resizing
 * - Image insertion
 * - For performance reasons use classes collection instead of jQuery.hasClass
 * - HACK: Update template dialog for Parsoid's url -&gt; href change
 * - Hack around exceptions thrown when closing the reference dialog
 * - Let's not put slugs around lists because there is no such need.
 * - Fix freaky disappearance of template nodes
 * - Prevent scrolling in top-level window while dialog is open
 * - Remove tests for OOJS methods
 * - Meta dialog messages were left in experimental mode
 * - Fix vewhitelist override.
 * - Pending input refactor
 * - Fixing resize handle size
 * - mw.ViewPageTarget: Implement veaction=edit history state
 * - oojs: Integrate with OOJS v1.0.0
 * - mw.ViewPageTarget: Clean up transform/restore logic
 * - Code style fixes: 'function(' =&gt; 'function ('
 * - Fix API request for language links
 * - Give users a read-only view of language links
 * - Fix protectedness of MWReferenceList
 * - Fix deactivate
 * - Really fix notices sometimes not being an array
 * - Tolerate JSON stringify screwing up
 * - mw.ViewPageTarget: Make tabLayout configurable server-side
 * - 'typeof' for templates changed in Parsoid, it is 'Transclusion' now and used to be 'Object/Template'
 * - Update reference lists and inline numberings automatically.
 * - Make the mwMeta dialog trigger a toolbar action, not a button
 * - ve.dm.MWBlockImageNode: Make toDomElements add more information to its output so round-tripping can work properly.
 * - ve.dm.Converter: Fix too-much-ascending bug in Converter.
 * - Consistency
 * - Rename character to (grapheme) cluster when dealing with unicode.
 * - Fixes to permaturely merged browser compatibility checks
 * - Message documentation for visualeditor-browserwarning.
 * - Fix double width border between toolbar and surface in dialog.
 * - Unit tests for browser compatibility list
 * - Implement new browser compatibility checks
 * - ve.ce.Document: Introduce getRelativeRange method
 * - makeStaticLoader: Incorporate hardcoded changes and re-sync
 * - Implement Grunt support (grunt jshint,csslint,qunit,watch)
 * - Add .csslintrc file and fix remaining warnings
 * - jshint: Fix trailing comma
 * - Proper support for frame images (do not display magnify icon).
 * - Store DM nodes in InternalList
 * - Make it clear in the labels that this is for sorting
 * - ve.ui.MWTemplateDialog: Implement inferring of template data
 * - Unwrap excess &lt;p&gt;s in inline template rendering
 * - Use grapheme clusters in unicodeJS.TextString
 * - ve.debug: Document why we use global Function#apply+Function#call instead of method.apply
 * - Now we've got PHPCS switched on, kill long lines
 * - JS and PHP code style fixes
 * - Fix demo to convert annotation indexes to actual annotations
 * - Convert GeneratedContentNode into a mixing (instead of an abstract class).
 * - Add icon option to ve.ui.TextInputWidget
 * - Add search icons
 * - Template dialog cleanup
 * - Add support for editing multi-template nodes
 * - Compare objects/arrays fix
 * - Add class mw-figcaption to figcaption tag inside mwimage
 * - Adjust coverter getDomSubtreeFromData method call inside ve.dm.MWBlockImageNode to pass correct arguments (there was an API change).
 * - Fix internal node weirdness
 * - Add tests for ve.dm.InternalLists
 * - Use config object for ve.ui.PagedDialog.addPage optional args
 * - A fix for arrow movements in RTL wikis.
 * - Fix resizable nodes
 * - Naming typo and mw content in demo
 * - Cleanup internalList method names and data stores
 * - Make menus render on the very top of everything
 * - Treat acronyms like words in camel case names
 * - Consistent use of mw in HTML classes, and data element and annotation types

Wikibase

 * - Skip changes in client change handling that with unknown data type
 * - Handle failure to deserialize entity in lua
 * - Hotfix: Make Special:SetSiteLink not set already used Links
 * - parse the copyright message in EntityView
 * - handle exception for unknown data type when formatting PropertyValueSnak
 * - Split EntityPerPage rebuilder code into separate class
 * - Change EntityId::getType to be static
 * - Take globe coordinate data type support out of experimental mode
 * - Renamed "geo coordinate" to "globe coordinate"
 * - Make the intro and rights message consistent in special pages
 * - Use correct plural form
 * - Corrected string and text description
 * - Correct message so it is using plural parser function
 * - Remove query message
 * - Move code for injecting the edit/add links link into class and add tests
 * - add permission, block and read only checks for Special:ModifyEntity
 * - Moving entity operations into separate ChangeOps
 * - Add .jshintrc for Wikibase and make it pass
 * - do null check for invalid site, instead of false
 * - Basic EntityView PHPUnit test
 * - show correct diff revision id in diff view
 * - new Special:SetSiteLink
 * - EntityView::getHtmlForClaims separation into getHtmlForClaim
 * - Inject value formatters into EntityView instead of using global in EntityView
 * - Proper formatting of values in EntityView
 * - Selenium tests for setSitelink special page
 * - This API action is wbcreateclaim but examples were saying action=createclaim
 * - Trigger redirect based on content negot.
 * - Added exception that is thrown when getting an invalid property id
 * - Added InternalEntityIdInterpreter
 * - Fix test which is broken when running Wikibase without ULS
 * - Remove some dead prototyping code
 * - Fix action=purge for Special:EntityData
 * - Removed unused import
 * - remove hardcoded "ERROR: TODO: ..." output from TypedValueFormatter
 * - Allow Wikipedia subdomains in Special:ItemByTitle.
 * - Added EntityUpdater
 * - Hooked up EntityRemover to lower level components
 * - Fix incorrect code after merge
 * - Register ALL of the tests in the MW test runner hook
 * - Added EntityRemover
 * - json decode value for addQualifier in SetQualifier api module
 * - Move Set and RemoveQualifier api modules out of experimental
 * - Implemented ValuelessSnakStore-&gt;removeSnaksOfSubject
 * - Implemented ValueSnakStore-&gt;removeSnaksOfSubject
 * - Fix fetching of a TableBuilder after it got moved about
 * - Fixed callback usage in ClaimDiffer and added tests
 * - Fixed testPatch in EntityTest
 * - Added test config and bootstrap for the DataModel component
 * - Remove reference to old config file from travis.yml
 * - Use phpunit config file to work around phpunit bug in the travis build
 * - Added Travis CI config file
 * - getInternalIdForEntity now takes an EntityId rather than its components
 * - Added SnakRemover
 * - Remove useless information from the client SiteModule
 * - Remove EntityTable from EntityInserter
 * - Removed unused import in EntityInserterTest
 * - Fixed some docs in EntityInserter
 * - Removed unused import in EntityInserter
 * - Remove not needed code from evil MW loader
 * - Added @covers tags to unit tests of the QueryEngine component
 * - Checking for valid qualifiers in claimview
 * - Unset language specific aliases set when removing the last alias
 * - Adds a link to corresponding Wikibase Item to action=info
 * - Triggering "animationstep" event in snakview value variation
 * - Dismiss copyright warning in Selenium tests
 * - Added additional sleep on RC load in Selenium tests
 * - Fixed failure in Selenium test due to bubble animation
 * - Use dbKey in query of Special:UnconnectedPage
 * - hide the view source tab for item and property pages
 * - Added evilMediaWikiBootstrap.php so the WikibaseDatabase test runner can also run the MW dependent tests
 * - Take care of TableBuilder TODO in QueryEngine component
 * - Have insert in QueryInterface throw an exception rather than returning a boolean
 * - Added InsertFailedException
 * - Deprecated and removed some getPrefixedId usage in the DataModel component
 * - update and delete methods in QueryInterface now throw exceptions rather than retruning a boolean
 * - Added DeleteFailedException
 * - Added UpdateFailedException
 * - Change EditEntity status failure from session-failure to sessionfailure
 * - Add @throws to QueryInterface interface
 * - Updated depenedencies in composer.json

ZeroRatedMobileAccess

 * - Allow debug params X-CS and X-SUBDOMAIN in URL
 * - Further decouple banners from MobileFrontend. Dependent on change 67546.
 * - API python framework
 * - Fixed two bugs in zero config editor
 * - Smaller banner close box - some whitespace around box tappable.
 * - Added "enableHttps" flag support to zero configuration
 * - Show default and fallback values in zero config page
 * - Added default text of the zero config page

cldr

 * - Parsing and using currency-related data in cldr that we hadn't previously touched.