MediaWiki 1.22/wmf22/Changelog

Core changes

 * - Commit of various wmf-branch live hacks
 * - Fix mysqli support
 * - Resubmit &quot;Add support for mysqli extension&quot;
 * - Revert &quot;Add new recentchanges field rc_source to replace rc_type&quot;
 * - Vector: Fix font size regression
 * - Revert &quot;Add support for mysqli extension&quot;
 * - Added a &quot;syncviadelete&quot; param to copyFileBackend script
 * - Add support for mysqli extension
 * - Add new recentchanges field rc_source to replace rc_type
 * - Move noflip annotations into rules themselves
 * - Remove unnecessary defined( 'MEDIAWIKI' ) check
 * - Reindent UsercreateTemplate and UserloginTemplate
 * - Add a line of explanation to Html::expandAttributes
 * - Include miscellaneous query parameters in $wgSecureLogin redirect
 * - Fix double-space in messages
 * - Keep returnto, returntoquery on Special:CreateAccount redirect
 * - Escape backslashes in image metadata
 * - In maintenance/postgres/tables.sql, the profiling table should be defined like
 * - mediawiki.Title: Fix doc reference error
 * - Remove comment which is plainly wrong
 * - Expose changed links in LinksUpdate
 * - Add vform format to HTMLForm, use in PasswordReset
 * - Add configurable delay between purgeChangedPages batches
 * - Simplified IPv6 regex per comment
 * - resourceloader: Don't catch LESS error in ResourceLoaderFileModule
 * - Document class property and break long lines
 * - Refresh Deletereason-dropdown
 * - exception: Move logging logic to static method of MWExceptionHandler
 * - vector: Apply coding conventions to screen.less and minor cleanup
 * - Remove calls to deprecated HTMLForm#setTitle
 * - Rename SpecialRecentChanges::addRecentChangesJS to addModules
 * - SpecialRecentChanges: Don't call getUser repeatedly in getDefaultOptions
 * - SpecialWatchlist: Remove old irrelevant comment
 * - SpecialWatchlist: Remove dead cutoff code
 * - Ensure that $call['args'] is set before using it
 * - Pass Context to User::resetOptions
 * - Update formatting
 * - FormOptions: More documentation!
 * - Revert visibility change to HTMLForm $typeMappings
 * - Add APIQuerySiteInfoStatisticsInfo hook
 * - Modernize SquidUpdate php code
 * - Blacklist Nokia's Ovi Browser from ResourceLoader
 * - exception: Account for $call['file'] and $call['line'] being unset
 * - Add an explicit targets declaration for mediawiki.inspect &amp; $.byteLength
 * - mw.inspect: decline to report module sizes when in debug mode
 * - mediawiki.page.gallery: Clean up documentation for hook
 * - Vector: New beta module with new typography styles
 * - Use max for job count for sanity
 * - Do not set wgServer in cli install unless explicitly passed
 * - Made JobQueueDB use getConnectionRef
 * - Handle raw &lt;h#&gt; when calculating $rawtoc
 * - FormatJson: minor cleanup
 * - Add script to purge changed files from cache
 * - Support rate-limiting thumbnail generation

AbuseFilter

 * - Create consistent return point
 * - Update comments and satisfy analyzer
 * - Remove unused local variables
 * - Pass correct variable to closure

ApiSandbox

 * - Reduce maximum line length to 100 characters or less
 * - Replace deprecated methods
 * - Declare variables at top of function

ArticleFeedbackv5

 * - Remove message 'articlefeedbackv5-error-email' from ArticleFeedbackv5.php
 * - Method was not static but was called as if it were

CategoryTree

 * - Re-add erroneously removed translations

CirrusSearch

 * - Tests for unbalanced quotes
 * - Improvements when searching long strings
 * - Optionally pull suggestions from text
 * - Enable tests for removing links
 * - Update links only when added or removed
 * - Include wordCount and byteSize in result
 * - Update README for --forceUpdate
 * - Let forceSearchUpdate skip pages that are current.

Cite

 * - Show error messages in content language to avoid cache issues

DonationInterface

 * - Get rid of unused message donate_interface-submit-my-secure-donation
 * - Allow a GatewayFormChooser Selection Bias
 * - Dyanmic Error Pages, Part 1

Echo

 * - Revert &quot;Notification overlay is partially hidden in RTL language&quot;
 * - Add new method to process a param in escaped format
 * - Native digits on 'mw-echo-overlay-title-text'
 * - Notification overlay is partially hidden in RTL language

EducationProgram

 * - Fix combobox options bug

FlaggedRevs

 * - Use substitution instead of hard-coded terminology
 * - Add column with link to UnreviewedPages on ValidationStatistics

MassMessage

 * - fix typo
 * - Use batch inserting of jobs
 * - Add type hinting
 * - Re-implement parser function
 * - Avoid cache issues by showing error messages in content language
 * - Add $wgAllowGlobalMessaging to allow global messaging
 * - Expose number of queued messages in the API
 * - Link to specific revision of spamlist that was used
 * - Add some limited scope to the special page
 * - Use a job to submit the individual jobs
 * - Replace all usage of $wgDBname with wfWikiId
 * - Store entire db to url mapping in memcache
 * - Remove outdated 'wp' prefix from form
 * - Don't create a duplicate WikiPage object in getParserFunctionTargets
 * - Move all JS and CSS into modules/

Math

 * - Log texvc errors in 'texvc' log channel
 * - Update capitalisation
 * - Fix: Add missing xmlns
 * - Insert defs into svg element, not before it

MobileFrontend

 * - Regression: Fix watchlist a-z
 * - SpecialMobileWatchlist ignores rc_deleted
 * - Regression: Fix the editor guider message for first time users
 * - story 1264 (2/2): Add click tracking to nearby page and geo(nota)hack overlay
 * - Story 1269: AbuseFilter support
 * - Story 1264: Promote Geo(not a)Hack to beta
 * - Don't let headings be HTML
 * - Remove dead search button code
 * - Hygiene: Add namespace helper function
 * - Hygiene: Merge side bar menu in SkinMobile into SkinMinerva
 * - Fix bad PHP
 * - Story 1030: Clean up CSS
 * - Regression: Fix empty watchlist message styling
 * - Hygiene: Remove dead code
 * - Regression: talk icon in user profile
 * - Hygiene: Address FIXME for title building in MobileWatchlist
 * - Hygiene: Cleanup the progress bar FIXME
 * - Fixing UserProfile for invalid usernames
 * - Hygiene: Remove hardcoded removals from ExtractFormatter
 * - Hygiene: Remove obsolete comment and todo
 * - Story 1072: KeepGoing CTA
 * - Add back button support to nearby overlay and preview overlays (geonotahack)
 * - Adding a selenium test for the notifications overlay
 * - Separate activity and thanks section when no uploaded image
 * - Fixing Thank button styling
 * - Don't try to watch special pages after a successful CTA
 * - Make version compare to work with all deployment branches etc.
 * - Tweak caption styling (yet another table hack)

OAuth

 * - Fixed use of message that does not exist
 * - Removed excess subpage parameter from links
 * - Fix onUserLoadFromSession and pending consumers
 * - Improve wiki ID field validation due to SiteConfiguration oddness

Parsoid

 * - : Forward Cookie header to API
 * - Improved handling of leading whitespace during serialization
 * - : DOM spec cleanup
 * - Minor: Comment updates and other tweaks
 * - Fix two crashers
 * - Minor: Delete data.parsoid.tmp from &lt;body&gt; tag.
 * - Added support for style attr. templating
 * - Fix a crasher in unpackDOMFragments
 * - Fix DSR for misnested A-tags to prevent selser corruption
 * - Fix DU.makeWrapperForNode to handle misnested A-tags
 * - Removed hacky hasBadNesting check in DOM fragment unpacking
 * - Reduce contention in RT server with a random offset
 * - DOM Fragment unpacking: Deal with some more nested a-tag ugliness
 * - Bugfix in DOMUtils.addSpanWrappers: childNodes modified while iterating
 * - More setImmediate fixes that weren't committed in b66b782e
 * - : Serialize new entity to its contents
 * - DOM Fragment Unpacking: Bug fixes in hasBadNesting + DOM traversal
 * - Use setImmediate instead of process.nextTick
 * - Bug fixes in aboutId assignment during DOM Fragment unpacking
 * - Updates to handling of templated attributes
 * - Move serializeNode to DOMUtils and use it for data-mw too
 * - : Add XMLSerializer and use it to produce XHTML
 * - Replace harmony-collections with es6-shim
 * - Fix tokenizer to not match rest of input on unclosed include*/ext tags
 * - Further fixes to DOM Fragment encapsulation + unpacking

TimedMediaHandler

 * - Correct mw.PopUpMediaTransform dependency
 * - Prevent background overflowing TimeText

Translate

 * - Updated Ruby gems
 * - Show the translations of the user for review
 * - Update parameter description
 * - Use pretty title to match ApiQueryMessageCollection
 * - Implement completion counter
 * - Update fuzzy.php to use Maintenance class
 * - Consistency updates for commandline scripts
 * - Get rid of cli.php
 * - Update groupStatistics.php to use Maintenance class
 * - Update sync-group.php to use Maintenance class
 * - Update export and mwcore-export to use Maintenance class
 * - Update languageeditstats.php to use Maintenance class
 * - Handle message properties nicely
 * - Add classes to tux editareas so that they can be referenced in tests
 * - Handle null message content gracefully
 * - Add a way to easily test Special:TranslationStash in tests
 * - Handle CDATA escaping in XliffFFS
 * - XliffFFS: Validation and bug fix for xmlns
 * - Update poimport.php to use Maintenance class
 * - Remove redundant variable intializer
 * - Fix inconsistent documentation
 * - Remove unused global
 * - TranslationStash: Customize the skip button text to 'Try another'
 * - Introduce onReady callback option to translate editor
 * - Refactor the UI rendering of translate editor
 * - TranslationStash greeting: change 'Thank you' to 'Welcome'
 * - TranslationStash: New user can translate, override canTranslate
 * - Hide the message key in editor for sandboxed users
 * - Use group source language
 * - Update whitespace
 * - Update createMessageIndex.php to use Maintenance class
 * - Update createCheckIndex.php to use Maintenance class
 * - TranslationStash: If user is not sandboxed, redirect to the main page
 * - Layout adjustments for translation stash
 * - Fetch user translations support for Translation Stash API

UniversalLanguageSelector

 * - Support languages written in Tibetan script
 * - Updated Ruby gems
 * - Use AbyssinicaSIL for Ge'ez and Tigre languages
 * - Prefer __DIR__ to $dir

UploadWizard

 * - Add missing qqq for messages added in
 * - Add special page to list all running campaigns

VisualEditor

 * - Initialize the save dialog correctly even if the sanity check failed
 * - Use CSS for handling empty labels
 * - Cleanup on save dialog cruft &amp; fix updateWatchLink
 * - ve.track: add topic-based analytic event subscription
 * - Show a label with the current dimensions while resizing
 * - Re-render images after resize
 * - Remove -ms-transition
 * - Resizable node live preview
 * - Regenerate static loaders to include newly added ui.layouts
 * - Misc UI fixes
 * - Rename storeDomElements to storeGeneratedContents
 * - Use existing ve config for pluginModules
 * - Convert MWBlockImage dimensions to numbers and update tests
 * - 'clearMessage' is a method of MWSaveDialog, not ViewPageTarget
 * - Use dimensions cached in resizeInfo for resize calculations
 * - Split out setResizableHandlesPosition in ResizableNode
 * - Add more resize events
 * - Log DOM save timing; update existing ve.track calls
 * - Remove ve.isMixedIn, it's unused and it's evil
 * - Make makeStaticLoader.php pass phpcs
 * - [browser test] icons appear hovering when cursor is on object
 * - Remove ve.ce.Node.prototype.onAttributeChange
 * - Add .isFocusable to ve.ce.Node as a shortcut
 * - Stop using ve.isMixedIn to check if a node is focusable
 * - Enable VisualEditor using Beta Features
 * - Match text selection background colour to node highlight
 * - Remove ve.ce.ImageNode.prototype.onUpdate
 * - Remove .tagName from ce.MWInlineImageNode
 * - Generalise the way extra modules are loaded
 * - Make MWInlineImages resizable
 * - Resizeable node updates context after mouse up
 * - Language widget ULS call fix
 * - Fix empty document length check in MWReferenceDialog

WikimediaMaintenance

 * - Remove deleted wikis entries from CentralAuth tables
 * - Alphasort list of extensions

ZeroRatedMobileAccess

 * - Don't show ineligible zerodot content.
 * - Use an Accept and Content-Type header of text/vnd.wap.wml instead of vnd.wap.wml.
 * - Use an Accept and Content-Type header of text/vnd.wap.wml instead of vnd.wap.wml.
 * - Use an Accept and Content-Type header of text/vnd.wap.wml instead of vnd.wap.wml.