MediaWiki 1.22/wmf13/Changelog

Core changes

 * - Fatal error: Using $this when not in object context in SpecialUpload.php on line 686
 * - Add OAuth
 * - Rename 'backend' param to 'srbackend' to match API
 * - Follow-up I33462. Some stupid issues with gallery patch
 * - Commit of various wmf-branch live hacks
 * - New more slick gallery display
 * - Spaces in memcached keys are annoying
 * - Don't display empty preference sections
 * - Allow individual search backends to control whether they SearchUpdate
 * - Don't use $wgVariantArticlePath for variants of non-content languages
 * - Allow lines empty but for tabs and comments to be ignored.
 * - .&quot; See
 * - Tweak login/account creation for logged in users
 * - Removed unused $dbw variable and connection
 * - Added batchFetchFromURLs for mwstore backend
 * - Make some messages optional
 * - Add limit report data on preview pages
 * - Make wfReadOnly a wrapper around wfReadOnlyReason
 * - jobqueue: cleaned up JobQueue exception handling
 * - Replace remaining sajax use
 * - getConfiguration.php now supports regex
 * - Select search backend by query parameter
 * - Sync up with Parsoid parserTests.
 * - Make ResourceLoader::makeComment a public static method
 * - Just use &quot;You&quot; in userrights-notallowed
 * - typo fixed: User::getIntOption returns an integer, not a boolean
 * - Remove positional reference from createaccountmail
 * - CologneBlue: Make editform's textareas 100% wide
 * - Clean up comment style in DefaultSettings.php
 * - HistoryAction: There is no mediawiki.legacy.history module
 * - Clarify info action's &quot;search engine status&quot;
 * - Make logout text simpler and more general
 * - Make two info action row headers plural-compatible and consistent
 * - Attempt to remove a hard-coded &quot;wikipedia&quot;.
 * - Preprocessor: Don't treat a line containing multiple comments as a blank line.
 * - Reusable external store insertion with fallback
 * - Apply conversion on namespace names on Special:Search
 * - Add more parser tests for magic words.
 * - Break some long lines
 * - Add wfResetSessionID
 * - Improve WebResponse::setcookie
 * - More rigorous clearing of image redirect cache
 * - Have separate timeouts for upload by url ($wgCopyUpload[Async]Timeout)
 * - Make revision content decompression publicly available
 * - Accessibility: make columnheader the primary role of the element
 * - Accessibility: Don't arbitrarily override role
 * - Force lazy loading of text in Revision::getSerializedData
 * - Update outdated references to maintenance/ in documentation comments.
 * - Non-word characters don't terminate tag names.
 * - Remove superfluous re- from confirmemail_body_set
 * - Use action=tokens for api test tokens
 * - Allow different users to login in Api tests
 * - Batch retreival of ES data with minimal round trips
 * - API: DWIM for action=edit&amp;section=new&amp;appendtext=...
 * - Revert &quot;Pedantic tweak to README&quot;
 * - Make action=purge on file redirects purge the file redirect cache.
 * - Customise linktrail for Gujarati (gu)
 * - Pedantic tweak to README
 * - Clean up: Remove wrong or redundant CSS prefixes
 * - Add getId to mw.user, returning wgUserId (or 0 for anons).
 * - Make wfForeignMemcKey consistent with wfMemcKey
 * - Typo fix
 * - Tweaked README's formatting
 * - Whitelist the &lt;wbr&gt; element.
 * - and.
 * - mediawiki.util: Optimise logic in addPortletLink
 * - doc: Clarify documentation for ParserOptions::getUserLangObj
 * - Update README &amp; COPYING
 * - More accurate function descriptions
 * - mediawiki.util: Fix addPortletLink to allow jQuery objects
 * - Move translators credits list to a wiki page
 * - Remove verbosity in message
 * - Use page instead of article in UI
 * - Add Special:RandomInCategory.
 * - mctest.php: nicely align server names
 * - mediawiki.js: Document that default message format is 'text'
 * - Add month-only date format.
 * - Remove the showjumplinks user preference
 * - Use content format for unserializing in ApiEditPage
 * - Make APIEditBeforeSave give the whole revision
 * - $wgHTCPMulticastRouting rename + multi hosts support
 * - For rows added by the SpecialStatsAddExtra hook, add an HTML id of &quot;mw-&quot; plus the message key
 * - Add a usage note to 'CanonicalNamespaces' hook docs
 * - Sync up with Parsoid parserTests.
 * - Add new parserTests for image attributes coming from templates.
 * - Add new parserTests for table cell attributes coming from templates.
 * - Code style cleanups to Sanitizer.php.
 * - DiffHistoryBlob: don't check for mhash extension
 * - Fix parserTests.php for non-english test wikis
 * - Return messages in a consistent form from Status objects
 * - jquery.tablesorter: buildCollationTable on first sort, not on load
 * - Add methods to get raw request in WebRequest
 * - updater: Move rev_sha1 addition before convertUserOptions
 * - Replace &quot;themselves&quot; by &quot;oneself&quot;
 * - Improve documentation for $wgRecentChangesFlags
 * - Use one call to .attr instead of two and linebreak consistency
 * - 4-digits numbers in Spanish should not have a group separator
 * - Move unsortable class into tablesorter config
 * - Make wfMatchesDomainList not match partial domains
 * - ContentHandler: Fix a typo
 * - Remove Persian from link underlining removal
 * - Make prefs-advancedediting more consistent
 * - mediawiki.page.startup: Fix typo in @event
 * - Clarify userrights-conflict
 * - Clarify exif-copyrighted-false means only Copyright flag not set
 * - Change name of Neapolitan language from &quot;Nnapulitano&quot; to &quot;Napulitano&quot;
 * - jquery.placeholder: Fixup for 7ec7d879ee
 * - Increase vertical offset of post-edit confirmation in MonoBook
 * - Fix EditPageTest for non-english test wikis
 * - jquery.makeCollapsible: Some low-level tests
 * - jquery.makeCollapsible: Consistency in test names
 * - jquery.placeholder: Fixup for a8145d6fa2
 * - jquery.placeholder: Take placeholder text as parameter
 * - Followup Idfee1b4d per Tim
 * - Apply $wgSpamRegex to the new section name in action=edit&amp;section=new
 * - Fix documentation of $wgTranscludeCacheExpiry
 * - Special:PagesWithProp: Fix PHP notice if no page properties are present
 * - Make the templates/category lists on edit page collapsible
 * - jobqueue: made federated queue use HashRing for root job de-duplication
 * - mediawiki.action.edit.preview: Fire &quot;wikipage.content&quot; mw.hook
 * - mediawiki.page.ready: Use wikipage.content instead of domready
 * - Follow-up I3f03dd0100 (08adf46): simplify checks
 * - Fix fatal error when $wgValidateAllHtml is enabled and apache_request_headers does not exists
 * - Allow debugging of unit tests via wfDebugLog.
 * - skins: Make border style of &lt;pre&gt; more subtle for common skins
 * - Watchlist: Separate non-form parts out of the &lt;fieldset&gt;
 * - Correct the regular expression for explicit plural forms
 * - jquery.makeCollapsible: Tests for collapse and expand text
 * - vector: Move right tabs from behind to below left tabs
 * - Code style cleanups to parserTest.inc and NewParserTest.php.
 * - Abort page restriction if no null revision can be created
 * - Follow-up 42333412833a - Fix behaviour $wgVerifyMimeType = false;
 * - Fix language code output for firstHeading
 * - Made runJobs.php respect time limits better and try to bail before OOMs
 * - thumb_handler.php doesn't seem to extract path_info correctly
 * - Fix the target URL of HTMLForm
 * - Never prefix table names with $wgSharedDB when used in foreign DB
 * - Installer: page refresh should refresh list of supported DBs
 * - Installer: page refresh should refresh list of supported DBs

AbuseFilter

 * - Remove duplicate case expression
 * - Make sure a session has been started prior to using it
 * - Remove call to deprecated MWInit::methodExists with method_exists
 * - API: Fix abuse log detail visibility for private filters

AntiSpoof

 * - Remove unclear &quot;existing&quot; from antispoof-conflict-top

ArticleFeedbackv5

 * - i18n issues reported on https://translatewiki.net/wiki/User:Mlitn
 * - Purge page cache for every AFTv5 protection change
 * - Percentage can be displayed at 0%, just not when there is no feedback at all
 * - Fix auto-archive script
 * - Don't add feedback comment to logs

Babel

 * - Remove initialisation of $style
 * - Fix CodeSniffer errors and warnings

CentralAuth

 * - Add a hook to prevent centralauthtokens
 * - Implement OAuth user checks
 * - Add a script to populate globaluser.gu_home_db
 * - centralauth-account-exists-reset should give link to a wiki where the account exists
 * - Update header code to newer standards
 * - Actually save value of gu_home_db when saving user
 * - Use wfResetSessionID
 * - Use WebResponse::setcookie
 * - Use &quot;username&quot;, &quot;global account&quot; and &quot;local account&quot; consistently
 * - Remove use of deprecated methods
 * - Update documentation and remove unused variable
 * - Allow caching of Special:CentralAutoLogin when safe
 * - Fix non-JS login check

CirrusSearch

 * - Return most relevent prefix search results.
 * - Default to more accurate but slower search_type.
 * - Fix suggestion tests.
 * - Add some return type hints
 * - Tests for prefix search scoring.
 * - Fix fatal error when revision data isn't loaded properly
 * - Fix big writes in tests.
 * - Regression tests for highlighting found terms
 * - SearchUpdate cleanups for CirrusSearch
 * - Another Solr leftover
 * - Basic help for multi-process indexing
 * - Turn on the fast-vector-highlighter.
 * - Fix some comments that refered to Solr.
 * - Improve suggestion configuration.
 * - Move test password overrides to untracked file.
 * - Fix the suggest test.
 * - Improve reindex logging.
 * - Add three more small test cases.
 * - Add browser tests.
 * - Use the archive table to find deletes.
 * - Fix broken analyzer customization.
 * - Split the index into Content &amp; General.
 * - Fix the broken suggest analyzer.
 * - Skip redirects in forceSearchIndex run by id.
 * - Escape forwad slashes in queries.
 * - Stop forceSearchIndex.php from going into loops.
 * - Unconditionally define indexing rate to avoid warnings
 * - There is no $content, just $rev-&gt;getContent
 * - Add at least basic support for all languages.
 * - Remove old Solr-specific config building stuff
 * - Stop producing nonsense words in suggestions.

DonationInterface

 * - Adding logic for no code returning from the CVV and AVS checks in GlobalCollect.
 * - throw MWException
 * - Pass Email Address to Adyen

Echo

 * - Message notification-page-linked needs full-stop
 * - Add colon to notification-edit-talk-page-email-batch-body2
 * - Making title-params no longer required.
 * - Add full-stops &amp; fix quotation marks

EducationProgram

 * - Add a link to show user subpages for each student in the articles
 * - Fix group-* and grouppage-* message

EventLogging

 * - Add 'urisplit' to gloss over urlparse inconsistencies
 * - Fix typo: netloc -&gt; uri
 * - Bugfix: don't pass args as kwargs
 * - eventlogging.streams: drop mappers; pass URL parts.
 * - Use params-&gt;kwargs mapping to determine database name
 * - More informative warning of validation errors

FlaggedRevs

 * - Add comments for grep &amp; Fix double-whitespaces
 * - Fixed bogus method call

Interwiki

 * - Fix CodeSniffer errors and warnings

LiquidThreads

 * - Don't record changes to subjects if there's no real change
 * - Show an edit link for discussion page headers even if the user can't edit it

MoodBar

 * - Simplify moodbar-action-item

OATHAuth

 * - Make token field compatible with new login form

OpenStackManager

 * - Break lines at sentence end
 * - Use int in openstackmanager-servicegrouprecursewarning
 * - Add a tiny but wordy warning about adding projects to projects.

PageTriage

 * - Remove unused i18n message

Parsoid

 * - Fix long-standing serialization diffing bug in roundtrip-test.js
 * - Clean up event listener handling for node 0.10
 * - Minor: Removed dead code
 * - Handle stray closing pre tag in ParagraphWrapper.
 * - Improve assertion message.
 * - Re-parse HTML DOM before serialization to catch foster-parenting issues
 * - Fixes PreHandler nested &lt;pre&gt; problem.
 * - Check token.constructor for Number in trace.
 * - : Serialize p-wrapped list items correctly
 * - 2
 * - Sync parserTests with core.
 * - Remove added transformers in QuoteTransformer.
 * - Removed code that went dead after changes in commit 171e1596
 * - Deal with trailing WS after indented tables
 * - Add aliases for some other non-wikipedia projects
 * - Fix selser regression introduced by fix for
 * - Add documentation to DOMUtils.
 * - Code cleanup: Moved constant maps to wikitext.constants.js
 * - Polish out the TokenTransformManager docs
 * - Fix jsduck warnings
 * - Add first pass of guides
 * - Use Object.create(null) when making maps.
 * - Images: link parameter should handle external URLs correctly.
 * - Fix for syntactic whitespace regressions before templated list elts
 * - Fix inconsistency in expected fails with --html2wt
 * - Remove unused vars in WikitextSerializer.
 * - Updated handling of sol-transparent tokens
 * - Whitelist the &lt;wbr&gt; element.
 * - Reorganize image-related parser tests.
 * - Tweak mockAPI to yield image paths consistent with PHP parserTests.
 * - Add new redirect tests; fix an html2html bug with non-English redirects.
 * - Set the same dom-diff flag that WTS checks for!!
 * - Fix up two parser tests which don't pass in the PHP parser.
 * - Ext-tag text nested in ext-tag of the same name dont need nowiki escapes
 * - Retain accumulated separator text across node boundaries
 * - Delete empty autoinserted tags in the last DOM pass
 * - Tweak PreHandler to handle WS-only lines between pre-blocks
 * - Fixed bug in dom-diff algorithm
 * - Updated incorrect comment about setting up localhost api url
 * - Added flag to dump template source -- useful for some debug tasks
 * - Default numchanges for selser tests to 20
 * - Node v0.10.x Compatibility
 * - Generate selser change assignments dynamically.
 * - Generalized operation of TokenStreamPatcher a bit.
 * - Fix arguments to PegTokenizer constructor.
 * - Sync parserTests with core.
 * - Fix for empty selser changes arrays.
 * - Add '-l' option to dumpGrepper tool.
 * - De-lint PEG tokenizer.
 * - Add a '--normalize' option to tests/parse.js.
 * - nowiki escaping when quotes surround i/b tags
 * - Assign tagid to SelfclosingTagTk as well to detect fostered cat-links
 * - Fixed incorrect initialization of nested-ref-collection-map
 * - Fixed crasher setting dp.dsr (missing check for it being null).
 * - Update .(git|jshint)ignore for rt client/server
 * - Protect Parsoid-generated attributes.
 * - &lt;nowiki/&gt; escape when single quotes wrap new i/b tags
 * - Regenerated selser-changes.json and updated blacklist.
 * - Make &lt;ref&gt;s nested in &lt;references&gt; editable.
 * - Strip data-parsoid.src from tpls/extension nodes when unnecessary
 * - Dont get tripped by &quot; :&quot; tokenizer hack in nowiki escaping
 * - Finetuning of td nowiki escape handler
 * - Dont get tripped by &quot; :&quot; tokenizer hack in nowiki escaping
 * - Finetuning of td nowiki escape handler

ProofreadPage

 * - Multiline templates aren't well escaped
 * - Improve EditProofreadIndexPage code

Quiz

 * - Fixed call-by-reference problem
 * - Added hook, needed by the upcoming &quot;QuizTabulate&quot; extension

Scribunto

 * - More-compatible Linux standalone binaries
 * - Add mw.logObject

SecurePoll

 * - Add index to securepoll_options.op_election
 * - Kill old election/vote scripts

SemanticForms

 * - Add handling of other parameters for page sections
 * - Modified Special:CreateForm for page sections

TemplateData

 * - Bail when JSON length exceeds database limits
 * - Use ParserOptions language instead of RequestContext language
 * - TemplateDataBlob: Use &quot;new stdClass&quot; instead of &quot;(object) array&quot;

TemplateSandbox

 * - Show profiling data on preview

Thanks

 * - Remove unused i18n messages

TimedMediaHandler

 * - [Goes with I33462a8] Support for new gallery.
 * - Remove call to deprecated MWInit::methodExists with method_exists

Translate

 * - Map be-tarask for be in Yandex
 * - Add href to the edit link in the message table
 * - Fix discard button in Chrome
 * - More compact suggestion rows
 * - Increase initial translation area
 * - Fix incorrect lookup
 * - Reimplement beforeSubmit, afterSubmit and afterRegisterFeatures hooks
 * - Stricter parsing for external links in JavaScript
 * - Remove unused parameter
 * - Remove unused parameter in handlePriorityLanguages
 * - Add namespace in cache
 * - Remove unused local variable
 * - Remove script unrelated to Translate extension
 * - Fix CodeSniffer warnings and errors
 * - phpcs now ignores libs/spyc/spyc.php
 * - Update jquery.autosize
 * - Fix CodeSniffer warnings and errors
 * - Replace getActivityColor by StatsTable::getBackgroundColor
 * - Add &quot;notify translators&quot; link when marking page for translation
 * - Use better method to add header
 * - Unify @license tags where possible
 * - Make Special:AggregateGroups using jquery.chosen
 * - Use getPageLanguage to for source language in WikiPageMessageGroup
 * - Scope styles to avoid incorrect matches
 * - Remove unused lazyload option
 * - Fix typo &quot;varios&quot;
 * - Fix incorrect behavior with non-capitalized namespace
 * - Sort groups alphabetically in Special:Translate export tab
 * - Use content language for edit summary
 * - Fix casing in User::isAllowed
 * - Turn edit tab to translate tab on translation pages
 * - Add getFileExtensions to XliffFFS
 * - Check and disallow dynamic groups in ApiQueryMessageGroupStats
 * - Use constant group name in examples
 * - Correct ApiQueryLanguageStats example
 * - Use little bit longer GPL-2.0+ instead of GPL2+
 * - Remove call to wfArrayMerge
 * - Update some docs in Translate.php
 * - Cope with missing hover-in event in stats tables row highlighting
 * - Check that response.error exists before using it
 * - Make the proofread tooltip get stuck less in wrong places

TranslationNotifications

 * - Fix CodeSniffer errors
 * - Accept article ID as default setting for translatable page

UniversalLanguageSelector

 * - eventlogger module for ULS
 * - TypeError: window.navigator.userLanguage is undefined
 * - Change comma to semi-colon
 * - Make return values consistent
 * - Fix CSS error and add missing field labels, also update jQuery source
 * - Refactor getCodepoint to more consistently handle return values
 * - Fix incorrect documentation
 * - Log settings-open event
 * - Refactor complex ternary operation
 * - Fix spelling mistake in variable name
 * - Fix CodeSniffer errors and warnings
 * - Add event logging for more languages in input settings
 * - Add event logging for more languages in display settings
 * - Log language-change for interface language
 * - Log ui-lang-revert
 * - Log login-click event
 * - Add newline at end of file.
 * - Fonts for angwiki
 * - Top position the ULS for IME menu wrt the input field
 * - Load jquery.ime only when user focus on editable fields
 * - Change upstream URL for Shapour font for Pahlavi script
 * - Compress the eot font more using microtype express compression
 * - Revert &quot;Load jquery.ime only when user focus on editable fields&quot;
 * - Load jquery.ime only when user focus on editable fields
 * - Delay loading of language settings javascript
 * - Add Shapour font for Pahlavi script
 * - Lazy initialization of language settings and ULS from interface triggers
 * - Lazy initilization of language settings from ULS

UploadWizard

 * - Make mwe-upwiz-license-external* more grammar friendly and clearer
 * - Add separate config parameter for tracking categories
 * - Register NS_CAMPAIGN at file level in extension's entry point
 * - Clean-up UploadWizardDetails.js

UserMerge

 * - harmonization of spelling (usernames); added qqq text
 * - adds an error message if old and new user names are the same

VisualEditor

 * - Fix rendering of inspector for embedded buttons
 * - Allow inspectors to not show the delete button
 * - Generic support for multiple tags in TextStyleAnnotation
 * - Alien extensions
 * - Darker toolbar group border
 * - Support previews and concurrent updates in ce.GeneratedContentNode
 * - Fix deprioritization of regex matches in ModelRegistry
 * - Allow customisation of ui.Window titles
 * - Don't set a group for VE ResourceLoader modules
 * - clean up: Consistently use MW instead of Mw in constructor names
 * - Hieroglyphics support
 * - Create base MWExtensionNode for simple extension support
 * - Add .static.getMatchRdfaTypes wrapper
 * - Create strikethrough text style button
 * - Add ve.ui.ToolGroup and use within toolbar setup
 * - Cleanup tool styles
 * - Make drop down tool work with generic toolbars
 * - for Opera for real this time
 * - Tweak comment to explain isAvailable and what mw.libs.ve means
 * - Update reference to renamed init.setupSectionEditLinks method
 * - MWMath: Fix broken usage of old ve.copyArray method
 * - ve.ce.MWTransclusionNode: Check for API errors
 * - Handle &lt;tt&gt; as textStyle/code
 * - Split ve.ui.Toolbar and ve.ui.SurfaceToolbar
 * - mw.ViewPageTarget.init: Setup &quot;source&quot; links even if VE is not available
 * - Make the link to the user guide open in a new window
 * - Remove inserted leading whitespace
 * - Allow more things to be inserted into captions
 * - Fix notice caused by not passing the WebRequest object by reference
 * - Only skip past empty keyedNodes sets if key exists
 * - Include element HTML in QUnit summary for diff
 * - ve.ui.Toolbar: Use closure instead of ve.bind for event handlers
 * - doc: Add missing @static to static ve.Element methods
 * - Prevent the creation of invalid MWInternalLinks

WikimediaMessages

 * - Use HTTPS consistently for formal policy pages
 * - Add &quot;Developers&quot; link to footer of Wikimedia wikis
 * - Fix grouppage-* message

ZeroRatedMobileAccess

 * - Stop errors.txt in PhantomJS job from including GOANYWHERE lines.
 * - Continuation of PhantomJS automation tests for Wikipedia Zero.
 * - Fix for CanonicalNamespace hook
 * - Register NS_ZERO early if running on configuration wiki

cldr

 * - Adding hook handler for creating human-friendly relative timestamp
 * - Update documentation