MediaWiki 1.22/wmf4/Changelog

Core changes

 * - Commit of various wmf-branch live hacks
 * - Prevent overflow in the footer when there are no links
 * - Added missing continue to avoid fatal error.
 * - Escape URLs in XML files created by generateSitemap.php
 * - Change default importImages comment to &quot;Importing file&quot;
 * - Variable $wgRestrictionLevels unused since 1cbaa921
 * - Made copyFileBackend.php skip files that cannot be copied instead of stopping.
 * - Add $wgCascadingRestrictionLevels
 * - Fix unit tests when $wgEmailAuthentication is set to false
 * - Don't shown red box around unconfirmed email address in preferences if authentication is disabled
 * - Message changes for new login form
 * - Fix --file parameter description in MediaWikiPHPUnitCommand.php
 * - Add identifying info (img_timestamp and img_sha1) to upload log.
 * - [FileBackend] Moved short-circuit check from 6b1194b9 up to FileBackend.
 * - [FileBackend] Optimize the case were no operations are provided.
 * - Add value to add call when locking
 * - tests: mock parser tests file access
 * - Change EXIF to Exif
 * - CREDITS: Spell my name right
 * - Removed unused join array from ActiveUser conds.
 * - Increasing z-index of personal toolbar from 1 to 100
 * - echo is not a function
 * - [FileBackend] Cleaned up resyncFiles and added conservative resync option to FileBackendMultiWrite.
 * - Add attributes to the Parsoid-only tests.
 * - print is not a function
 * - Fixed spacing
 * - [FileBackend] Added &quot;adviseStat&quot; option for the &quot;listing followed by stat&quot; case.
 * - phpcs: Fix WhiteSpace.LanguageConstructSpacing warnings
 * - Remove hphpc support and deprecate related functions
 * - Add content model to prop=info
 * - tests: Don't set wgStyleSheetPath in addition to wgStylePath
 * - parserTests: fix broken parsoid-only tests.
 * - skin: Revert font-weight on successbox and move to preferences
 * - [FileBackend] Process cache negatives for SHA1 on file stat.
 * - mw.config: Add wgPageContentModel for content model of current page
 * - Fix I720946e7: $this-&gt;opts['year'] shouldn't be modified.
 * - mediawiki.user: Use session ID instead of 1-year cross-session cookies
 * - Update docs/skin.txt
 * - Use __METHOD__ for default $fname params to database functions
 * - Add note that wgActiveUserDays affects the NUMBEROFACTIVEUSERS magic word.
 * - Fix I25cf5a94: It should be @since 1.21 now.
 * - qunit: Use jQuery.getScript instead of document.write
 * - Removing exception in case rev is null
 * - Adding check to make sure rev isn't null
 * - Add test for comment-only line followed by a template transclusion
 * - mediawiki.action.edit: Support dynamically inserted form fields
 * - Update SearchEngine::searchText and SearchEngine::searchTitle return type hints
 * - Move DEADLOCK_* constants into DatabaseBase
 * - Remove pointless vertical alignment
 * - Remove SkinLegacy.php
 * - Remove taint support
 * - Refactored Special:ActiveUsers queries to remove filesort/temp table.
 * - Revert &quot;Fixed behavior of Title::invalidateCache.&quot;
 * - Fixed behavior of Title::invalidateCache.
 * - Revert &quot;Remove Special:ActiveUsers&quot;
 * - Adding GetNewMessagesAlert hook and wgUserNewMsgRevisionId JS global
 * - Fix visibility of error handlers
 * - Code style fixes in Language::isValidCode
 * - Include user name in weird User insertion exception.
 * - Kill some references to legacy skins
 * - mw.hook: Implement callback framework
 * - Fix bootstrap in unit tests
 * - Pass correct number of parameters to Database constructor from installer
 * - Make Special:MovePage's &quot;Reason&quot; field an input, not a textarea
 * - deleteEqualMessages: Include list of pages in dry run
 * - jquery.makeCollapsible: Enable passthru for links in premade toggle
 * - SpecialPreferences: Remove invalid &lt;strong&gt; tag in successbox
 * - Implement mw.log.warn and mw.log.deprecate
 * - mediawiki.log: Add to jsduck index
 * - Monobook: Remove OperaNFixes.css files
 * - Partly disable title conversion if variant == main language code
 * - Cache result of Language::isValidCode to avoid regex processing
 * - Allow iiurlheight to be used without iiurlwidth
 * - SpecialRedirect: Add @since documentation and add release notes
 * - mediawiki.htmlform: Use auto width for Chosen selects
 * - Change font size for edit links to small
 * - Exclude external_user table in DatabaseSqliteTest
 * - Import: Fix incorrect wfRunHooks usage
 * - Remove Parser_LinkHooks and CoreLinkFunctions classes
 * - qqq docs for installer mysql warning
 * - mediawiki.htmlform: Preserve classes added by HTMLForm's cssclass option
 * - jquery.badge: Add CSS inline-block fix for IE 7 and earlier
 * - Completely blacklist Opera Mobile from RL
 * - Fix IndexPager detection of &quot;is first&quot; state
 * - rebuildLocalisationCache: Implement --lang option
 * - Message tweaks to new login and create acct forms
 * - Added a --backoff option for syncFileBackend.php
 * - Reduced memory usage a bit for copyFileBackend.php with --missingonly.
 * - HTMLForm entity labels are now optional and escaped
 * - Remove LocalisationCache::unloadAll call from NewParserTest::addDBData
 * - Add PLURAL support to benefits
 * - Clarify wfRandomString release note
 * - Add hook AbortChangePassword to Special:ChangePassword
 * - Add combined link trail / link prefix parserTests case.
 * - SECURITY: Check SVG xml encoding against whitelist
 * - Update language maintenance files
 * - ApiResult::setContent is static
 * - Monobook: Remove unused file FF2Fixes.css
 * - skins: Ensure headings are not smaller than body text
 * - Reimplement Special:Filepath as a redirect through Special:Redirect/File.
 * - Create a Special:Redirect page.
 * - Allow specifying change type of Wikipedia feed items
 * - vector: Remove useless HTML comments from output
 * - Remove spurious 'h7' in commonPrint.css
 * - Add new message key to maintenace file
 * - Clean up the class building logic in OutputPage
 * - Add chosen support to HTMLForm's multiselect field
 * - Call jQuery.ready before &lt;/body&gt;
 * -, : Improved vector button styles for jquery.ui
 * - Revert &quot;Update wikidata extensions to versions in 1.22wmf2&quot;
 * - Make Buryat (Russia) (Ð±ÑƒÑ€ÑÐ°Ð´) (bxr) fallback to Russian
 * - Update wikidata extensions to versions in 1.22wmf2
 * - Factorise call to getSuggestedDurations in SpecialBlock::getFormFields
 * - Use 'recent contributors' instead of 'contributors this month'.
 * - Show a tip at the end of the installer to prompt about extensions
 * - Detect user rights conflicts
 * - HTMLTextAreaField: Allow sizes to be overridden by child classes

AbuseFilter

 * - 3

AccountAudit

 * - Shorten extension description and remove punctuation

ArticleFeedbackv5

 * - Add AbuseFilter-feature to auto-resolve feedback
 * - Disable useless inputs on protection form
 * - Fix over-escaping on protect-othertime message
 * - Don't let AFT set unsupported groups
 * - If there's feedback, show talk-page link (regardless of AFTv5 being en/disabled)
 * - Casting lottery to int makes it impossible to have e.g. 0.1 lottery size (which dewiki has)
 * - Don't add 'suppress' to $wgLogTypes
 * - Change addHolder calls to addHolders as per change in AbuseFilter
 * - Config var was confusing; all others are ArticleFeedbackv5 prefixed
 * - No need to cache lb's, they're cached in LBFactory classes already.

CentralAuth

 * - Adding UserInvalidateEmailComplete hook to CentralAuth.
 * - Whitespace fix followup to I72aba35
 * - Fix token parameter documentation on a couple of API modules
 * - Defer the SiteStatsUpdate in attemptAddUser.
 * - Add .jshintrc for CentralAuth and make it pass

Cite

 * - Adding bidi-isolation to reference numbers

DonationInterface

 * - Nuking recaptcha as cruft that hasn't been used in at least two years on payments.

Echo

 * - Mention notif has wrong anchor for header with link
 * - Add 'Feedback' link to the Notifications flyout

FlaggedRevs

 * - Fix grammatical error
 * - Remove all caps from review-edit-diff

Gadgets

 * - Allow disabling of legacy gadgets (Mobile support)

GettingStarted

 * - Implement new GSv3 design

LiquidThreads

 * - Fix new messages count update on marking threads as read from Special:NewMessages

Math

 * - rename MathSourceTest::simpleTest-&gt;MathSourceTest::testBasics
 * - MathJax: Support the texvc command \vline
 * - Introduce getter and setter for the MathRenderer
 * - Remove dead config variable, wgMathJaxUrl

OpenStackManager

 * - Fix another projectname reference
 * - Fix role checking for users
 * - Limit some NovaProject actions to projectadmin
 * - Revert &quot;Allow any project member to create a service group.&quot;
 * - Declare mediawiki.api as dependency for ext.openstack module
 * - Allow any project member to create a service group.
 * - Search for projects using ldap_list, part two.
 * - Provide JS model and methods for instances
 * - Add API action for instance reboots

PageTriage

 * - NewPagesFeed: Fix layout bug with &quot;Sort by&quot; in Chrome
 * - pagetriage-add-deletion-tag should fall under negative group

ProofreadPage

 * - Update code to match MWSearch updates, fixing fatal

Score

 * - Fix undefined variable warning

Scribunto

 * - Fix edge cases in mw.ustring.find, mw.ustring.match

SecurePoll

 * - Make voterList output at least some text

SemanticForms

 * - bugfix (Storing several pages in a loop creates only one page)
 * - (JS modules not loaded for transcluded RunQuery forms)
 * - Fixed bug when $options array was empty in $select DomElement at SF_AutoeditAPI.php
 * - Extended Page Schemas integration
 * - Semantic Forms: Display error message when Special:EditForm accessed by itself

TemplateData

 * - TemplateDataBlob: Improve error handling
 * - TemplateDataBlob: Implement 'type' and 'label'
 * - spec: Update 'type' documentation following 2013-04-30 discussion
 * - TemplateDataBlob: Don't add class &quot;sortable&quot; to HTML rendering
 * - TemplateDataBlob: Convert 'clones' to 'inherits'

Thanks

 * - Thanks notif should fall under positive group

TimedMediaHandler

 * - Fix manually setting duration/offset without file.
 * - add maintenance script to retry failed transcodes

Translate

 * - Update tab links as well when updating page location dynamically
 * - Update statsbar when changing group
 * - Rename this.$group to this.$trigger for clarity
 * - Apply dir and lang to the target language selector trigger
 * - RTL proofread action icons are needed
 * - Load check warnings for fuzzy messages before user starts typing
 * - Small cleanups
 * - Remove tooltip for groups from group selector
 * - Use whitelist instead of blacklist for translate tab group
 * - Fix project icon raster thumb urls
 * - Change &quot;description&quot; to &quot;documentation&quot;
 * - Update the reminder text
 * - Restore compatibility with MW 1.20

UniversalLanguageSelector

 * - Update strings
 * - Reduce rerenderings in input settings
 * - Update from upstream

Vector

 * - gitignore: Add .DS_Store

VisualEditor

 * - Fix indent action when acting on multiple list items
 * - Fix inability to split lists
 * - Optimise code for first/last child detection in fixupInsertion
 * - Fix unindent action when acting on multiple list items
 * - Don't use VE on non-wikitext pages
 * - Use consistent capitalisation of Html
 * - Access keys for edit and edit source
 * - Add ve.properOuterHtml
 * - Fix breaking getLength call
 * - Fieldsets and default sort keys
 * - Switching back to Rangy 1.2
 * - Output a nice message when the diff is empty
 * - Ignore certain function keys in key press handler
 * - Edit and Edit source tab were reversed in RTL in the Vector integration
 * - Clean up variable initialization in setupSkinTabs
 * - Remove hack for old version of Parsoid
 * - Use pageLanguage rather than pageViewLanguage for the surface's lang&amp;dir
 * - Make reference list nodes render contents again
 * - Whitespace between unwrapped inline nodes assigned to paragraph
 * - When removing an empty list item, also remove the list if it's now empty
 * - Reduction of renderContents calls
 * - Kill getOffsetFromNode with fire
 * - Category UI improvements
 * - Move completeHistory from dm.Surface to dm.Document
 * - Clone template dom elements being sent to converter
 * - Mo' vectors (mo' problems)
 * - Fixing shields
 * - ViewPageTarget: Bind callback in onSerialize like in onShowChanges
 * - Also render attributes of the form html/i-j/attrName in CE
 * - Preserve HTML attributes recursively
 * - Convert DOM elements to stringifiable objects for reporting
 * - Do proper HTML preservation in ve.dm.MWReferenceListNode
 * - ve.test: Import K-JS test suite for object utilities
 * - Fix ContentBranchNode test broken by ve.ce.ProtectedNode
 * - Make .static.storeHtmlAttributes more versatile
 * - ve.ce.FocusableNode: Fix documentation
 * - ve.isMixedIn: Fix bugs and add unit tests
 * - ve.ce.ProtectedNode
 * - Context menu in wrong place
 * - Configurable insertion annotations
 * - Fix insertion annotations
 * - Code style fixes
 * - Use a smarter comparison of annotations when creating open/close tags
 * - Hack MWTemplate so it also does partial type matches
 * - Force about grouping for multi-element about groups
 * - Adjust binding to section edit links after changes in core
 * - Fix placement of whitespace when element ends in meta
 * - Update oldid on successful page save (if a new id is generated)
 * - Edit source tab should be 'selected' when... selected
 * - Show message 'anoneditwarning' in notices when applicable
 * - EventEmitter API cleanup
 * - RTL fix for VE's link widget
 * - GeneratedContentNodes store DOM elements, not HTML (like aliens)
 * - Make ve.ce.Surface.getSelectionRect tollerate browser bugs
 * - Add support for &lt;div&gt;s as user-editable blocks
 * - When annotating, skip any branch nodes that are content
 * - Also respect .static.renderHtmlAttributes when rerendering for attribute changes
 * - Remove all code related to change markers
 * - Allow merging of content nodes with nodes that can contain content (but are not content themself)
 * - docgen: Use new jsduck --color and --warnings-exit-nonzero option
 * - Move Phantoms onChange
 * - Category editing
 * - Remove singular adding for ve.ui.GroupElement
 * - Implement ve.dm.Surface#truncateUndoStack
 * - ve.ui.LookupWidget
 * - Fix range translation for surface fragments
 * - makeStaticLoader: Implement --write-file option
 * - Declare dependency on jquery.client in ResouceLoader and static loader
 * - makeStaticLoader: Add ext.visualEditor.experimental to dependencies
 * - Make loading VE work on Opera again
 * - Per Timo's comment, change $.makeArray( foo ) to foo.toArray
 * - Get back to where you once belonged
 * - ve.ce.Surface.getSelectionRect might return null

WikimediaMaintenance

 * - Add EducationProgram to createExtensionTables
 * - Add Wikidata and Commons to sister projects
 * - Rename core tables too

ZeroRatedMobileAccess

 * - add warning interstitials for non-whitelisted langs.
 * - Use XHTML compliant breaks
 * - ETL script and i18n file for preparing v1.1.0 of ZeroRatedMobileAccess.