MediaWiki 1.23/wmf8/Changelog

Core changes

 * - Fix MultimediaViewer EventLogging code
 * - Call to a member function getCommonMetaArray on a non-object at
 * - Revert Id39d4457a: Remove experiment code for moduleStorage
 * - One more update to cirrussearch's master
 * - Update Disambiguator to deployment branch head
 * - Update MobileFrontend to wmf8 tip
 * - Switch to using 1.23wmf8 branch to gain revert
 * - Fixed backwards JobQueueFederated::doIsEmpty method
 * - Update Echo and Flow.
 * - Re-add GWToolset
 * - Commit of various wmf-branch live hacks
 * - Fix round-off error in Vector's collapsibleTabs.js
 * - Correct patch filenames in MysqlUpdater
 * - Add index on logging.log_user_text
 * - Change location of period in img-lang-info
 * - Add 'mediawiki.ui.button' CSS module
 * - Rename SpecialRecentchangeslinked class to SpecialRecentChangesLinked
 * - Add support for skins to set attributes of &lt;html&gt; element.
 * - Fixed undefined variable errors that made tests fail
 * - Make legend on Special:RecentChanges and Special:Watchlist collapsible
 * - Don't rely on array == null
 * - Remove &quot;@todo Do not release 1.19 with this.&quot;
 * - Fix spacing
 * - Make SVG language selector &quot;use default lang&quot; actually work
 * - Fixed error in LocalRepo::findFiles
 * - Error handling tweaks in JobQueueFederated
 * - runbJobs: rm outdated options in comments
 * - API: allow disabling TOC in action=parse
 * - Add raw HTML output functionality
 * - Added streamFile unit tests
 * - jquery.suggestions: Remove any highlights when hiding suggestions
 * - Fix fatal in LocalRepo::findFiles
 * - Make #contentSub slightly darker
 * - Remove unused job ID parameter from jobs
 * - Removed deprecated job ID cruft
 * - eval.php: update intro comment
 * - update.php: Fix PHP4 syntax error
 * - jpegmeta: Add links to source version and improve documentation
 * - Change message 'rcshowhideliu' to match its actual functionality
 * - Added more Setup.php profiling
 * - Explicitly support user id in action=userrights
 * - SpecialRecentChanges::makeLegend: Mention usage in Watchlist
 * - Add SpecialBlockModifyFormFields hook
 * - Move functions to better place in Special:Search
 * - Fixed spacing
 * - SpecialUndelete: Use DifferenceEngine#addHeader instead of rolling our own
 * - Insert test page into DB not to violate constraint
 * - Attempt to fix problems noted in phpcs.
 * - Attempt to fix problems noted in phpcs.
 * - Improve redis connection error log
 * - Abstract out mysql_field_type call from DatabaseBase
 * - Add new_name_timestamp index when upgrading from 1.1
 * - i18n: make &quot;potentially&quot; lowercase
 * - Remove useless $out parameter from SkinTemplate::prepareQuickTemplate
 * - Remove unused variable $user from SkinTemplate::outputPage
 * - Add one more missing directory to findHooks.php
 * - Add missing directories to findHooks.php
 * - Set default for nickname preference
 * - Clean some phpcs errors in Preferences.php
 * - UserArray: Avoid * and double keys in select
 * - Follow-up 6f1d4db3: Fix the upload form when radio buttons are shown.
 * - Replace deprecated notifyRC2UDP with notifyRCFeeds.
 * - Use canonical casing for Xml::option (no code changes)
 * - Make visibleMetadataField protected
 * - Only show 'Show extended details' for file metadata having extra rows
 * - Fix outdated comment in DefaultSettings
 * - Document the wikipage.content hook
 * - Add method to get entire text layer. This could be useful for search
 * - Fix WikiPage::prepareContentForEdit's default format handling
 * - Fix TempFSFile creation
 * - Fix TextContent::preSaveTransform return type
 * - Fix error handling in File::createThumb.
 * - Update oojs to v1.0.6
 * - Update FSRepo to avoid the deprecated FileBackend construction style
 * - Use TempFSFile in UploadFromUrl
 * - Fix inconsistency in ArchivedFile::getUser
 * - Removed stray ! in isQueueDeprioritized
 * - SpecialWantedcategories: Show more current information when in cached mode
 * - Avoid calling protected File field
 * - Add ApiBeforeMain hook
 * - mediawiki.mixins: Remove -o and -moz vendor prefixes for transition
 * - Blacklist Google Glass web browser from JS
 * - Correct the plural forms for Manx (Gaelg)
 * - Remove unused variable and deprecated parameters
 * - Removed excess title validity check
 * - Made RepoGroup use ProcessCacheLRU
 * - mediawiki.searchSuggest: Unbreak browser blacklist
 * - Watch user page and user talk page by default

ArticleFeedbackv5

 * - Direction (ltr/rtl) of feedback comments may be different from the direction of the interface language
 * - Mixed directionality of AFT

CentralAuth

 * - Revert &quot;Replace usage of SpecialPage::getTitle with getPageTitle&quot;
 * - Create wmf/1.23wmf8 branch and update .gitreview
 * - Fix Argument 1 passed to Language::commaList must be an array, null given
 * - Replace usage of SpecialPage::getTitle with getPageTitle
 * - Show log extract on Special:CentralAuth for all users
 * - Display total editcount on Special:MultiLock
 * - Fix CentralAuthUser::queryAttached
 * - MultiLock: Pass context to SpecialCentralAuth instance created
 * - Avoid globally oversighting users with over 1000 edits
 * - Localize global group names on Special:CentralAuth
 * - Updated the message for centralauth-admin-status-locked-yes
 * - Don't try to use the now removed ipbreasonotherlist message
 * - Show log extract on Special:WikiSets
 * - Add hook handler for GlobalCssJs
 * - Grammar and consistency in English messages
 * - Add global groups to Special:CentralAuth/Username

CirrusSearch

 * - Refactor Connection::getPageType
 * - Don't ever ever search for nothing
 * - Add more timing and fix others
 * - Skip combining highlights correctly
 * - No need to be static here
 * - Clean up AnalysisConfigBuilder/MappingConfigBuilder
 * - Combine highlighting from plain and text analyzer
 * - Doesn't need to be static
 * - Doesn't need to be static
 * - Allow underscores as well as spaces in incategory:
 * - Remove errant print
 * - Try to perform fewer corrections
 * - Add maintenance script to autoloader
 * - Import Title for OtherIndexJob
 * - import!
 * - Clean up tests a bit
 * - Updated Ruby, RubyGems and Firefox
 * - Use Elasticsearch's new word counter
 * - Remove forceReindex
 * - Expand CirrusSearchMappingConfig hook a bit to make it useful
 * - Shrink the LinksUpdateJob a bit
 * - Build fixed size chunks when indexing
 * - Index external links
 * - Add hooks to extend Elasticsearch schema
 * - Fix another missing use statement
 * - Leak less memory in forceSearchIndex.php
 * - Organize code in CirrusSearch namespace

CommonsMetadata

 * - i18n: replace prop by property

ConfirmEdit

 * - Reworded 'Incorrect or missing confirmation code' CAPTCHA message

Disambiguator

 * - Fix Hebrew magic words, missing leading and trailing __
 * - Create wmf/1.23wmf8 branch and update .gitreview

Echo

 * - Allow icons to set different ltr/rtl versions
 * - Create wmf/1.23wmf8 branch and update .gitreview
 * - Only run onUserSaveSettings hook if not in update.php
 * - Check supposed revision being reverted is on the same page

EducationProgram

 * - i18n: Fix some messages' documentation
 * - Fix EducationPage::getConfig

EventLogging

 * - Add user-agent logging for server-side events

Flow

 * - Add rtl and ltr icons for flow notification
 * - Create wmf/1.23wmf8 branch and update .gitreview
 * - Less specific button selectors
 * - new test for Collapsed/Full/Small view modes
 * - Fix the wording in 'edit post' notification
 * - Fix VisualEditor integration to work with updated API
 * - Punctuation and Gender i18n cleanups
 * - The batch query for rev_id is not working as it's supposed to
 * - i18n: fix typo
 * - Update test requirements
 * - Remove 'parse' prefix from ApiParsoidUtilsFlow
 * - Don't fail if there is not history (e.g. everything is moderated)
 * - Instead of failing, remove history logs that user can't see
 * - Connvert index option to db option when no index is found
 * - Attribution for authors of moderated content
 * - Replacing single quotes with double quotes
 * - ApiBase is a context source
 * - Cleanup ApiParsoidUtilsFlow
 * - Use FlowAction permissions in AbstractRevision
 * - Add Flow events to Special:Contributions.
 * - Don't dynamically define $container
 * - Require getRevisionType in classes that extend AbstractRevision
 * - Better GENDER support in moderation.js
 * - Compare sort order direction in uppercase
 * - Add space between '[Show]' and 'Hidden by User'
 * - Fix post-edit page refreshing.
 * - Cleanup ApiQueryFlow
 * - Fix typo
 * - curl_setopt doesn't seem to url-encode the text
 * - GENDER and number i18n for flow-topic-meta-minimal
 * - locators for hide/delete/suppress changed
 * - Remove ul margin around ul.topic-collapser
 * - Add GENDER and localized number to flow-topic-comments
 * - RTL icon for search
 * - Permalink RTL icon
 * - Discussion toggle icons for RTL
 * - Add Talk icon for RTL
 * - Only require one click to expand moderated topics
 * - Only the text should prevent click-through
 * - Gracefully handle errors applying redlinks
 * - Filter the display of content via a hook
 * - Fix tests; cache expects cachetime now
 * - History in '4 hours ago' should not be included in 'Today'
 * - Put the submit button back inside the form
 * - add test for Topic actions to previous Post actions
 * - get the latest mediawiki/selenium gem
 * - Fetch latest title content from API instead of relying on (old) html
 * - Add callback when form &amp; editor have completed loading
 * - Refactor header JavaScript
 * - Use addError to add errors, instead of adding to array ourselves
 * - Disable external entity loading in libxml

MassMessage

 * - 4

MobileFrontend

 * - Restore error messages on account creation page
 * - Watchlist no longer has special login/signin link
 * - Messages changed for watchlist
 * - Messages for uploads changed
 * - Updates to notification messages
 * - Fixing editor preview header
 * - Fixing broken editor header
 * - QA: Replacing single quotes with double quotes
 * - Hard refresh the main page on an edit.
 * - Remove useless $out parameter from SkinTemplate::prepareQuickTemplate
 * - Startup message fix per MaxSem
 * - Story 1405: Update messages
 * - Override padding-top for overlay-bottom
 * - Fix various annoyances in new search overlay
 * - i18n: Using localized message on overlay header
 * - Minor spacing fixes
 * - i18n: RTL beta icon for nearby
 * - i18n: add colon before page title
 * - Hygiene: Document less files with kss, generate style guide
 * - Hygiene: Introduce isAlphaGroupMember
 * - Story 1483: Make overlay headers fixed
 * - Story 1348: Inline diffs
 * - Enable status bar for standalone apps
 * - Story 1448: New KeepGoing workflow for adding links
 * - Prefix notifications with '/'
 * - Regression: Ensure jQuery selector doesn't happen on hashes containing / symbol
 * - Make sure Echo notifications appear in correct order
 * - Hygiene: Make use of mw.user
 * - Allow right clicking on images to avoid previews
 * - Hygiene: Remove button.cancel in overlay header
 * - Don't handle new pages for files

MultimediaViewer

 * - Version our EL profiling
 * - Fix painful bug in eventlogging code
 * - Fix perf logging
 * - Fix remote DB repos
 * - Make broken middle click during refactor work again
 * - Add smoke test to class mw.LightboxInterface.
 * - Fix another event handler bug

OAuth

 * - i18n: replace &quot;wiki&quot; by &quot;project&quot;

OpenStackManager

 * - Use image metadata for hidden and default images.
 * - Check the puppetstatus timestamp.

PagedTiffHandler

 * - Make visibleMetadataField protected

Parsoid

 * - (close tags are being stripped).
 * - Converted jobs to use BacklinkJobUtils
 * - : Accept html pre with attribute and trailing space
 * - : Support per-wiki API proxies
 * - Pre can end with a space
 * - Avoid indent-pre when line contains block tags

ProofreadPage

 * - Makes zoom system work with IE 8
 * - Activate zoom on mouse wheel only when the user have clicked

Renameuser

 * - Only variables should be passed by reference
 * - Kill uneeded global variable

Scribunto

 * - Provide access to Language::getFallbacksFor
 * - Clean up existing code and pass jshint

Thanks

 * - Add handler for GetLogTypesOnUser hook

Translate

 * - The special page is TwnMainPage
 * - Add special page group for ManageTranslatorSandbox
 * - Sort special page names alphabetically
 * - Remove too spammy warning about unsuitable messages
 * - Remove superfluous newlines
 * - Fix some TODOs
 * - Explicitly define $ffs as class property
 * - Replace use of deprecated Language::getLanguageNames
 * - Define pageShowHandler before it is used
 * - Add TODOs for incorrectly referenced class properties
 * - Remove comments from JSON
 * - Update documentation for $row
 * - Remove duplicate array key
 * - Add the possibility to send a rejection email
 * - Update support for JSON in mediawiki-defines.txt
 * - Refactor the click handlers for requests
 * - Show the comment that the user might have written when signing up
 * - Retain current interface language when creating sandboxed user
 * - Fix &quot;Emptying the search field shows all the users&quot;
 * - Update gems
 * - Update zero sandbox requests scenarios
 * - Replacing single quotes with double quotes
 * - Fix translation text to overflow on narrow columns
 * - Avoid showing unsaved edits warning on stash page
 * - TranslateSandbox: Refactor code for showing translations of a new user
 * - TranslateSandbox: Refactor language filter to a plugin
 * - Sort the sandbox translations by language
 * - Fix regression in 99709718
 * - Translation Editor: Change the information text for non translators
 * - Sort requests with newer on the top
 * - Test sandbox translations to multiple languages
 * - Add admin links support for sandbox management
 * - Align all the languages in sandbox translations to one side
 * - TranslatorSandbox: Show common languages in language selector
 * - Fixes for the translate sandbox CSS
 * - Support xliff 1.1 files as well, but without validation
 * - Increase ApiQueryMessageCollection maximum limit
 * - Replace a deprecated PageObject method
 * - On stash page, force helper links to open in new tab
 * - Order steps by Given-When-Then

UniversalLanguageSelector

 * - Make the .jshintrc valid json
 * - Disabled Accept-Language feature for PhantomJS
 * - Fix &quot;Live preview of display language changes can be reverted on cancel&quot;
 * - Load wgULSCurrentAutonym variable in MakeGlobalVariablesScript hook
 * - Replacing single quotes with double quotes
 * - Removing pending block for a bug that was resolved
 * - Update ext.uls.webfonts.repository.js against current code
 * - Fix Accept-Language feature for PhantomJS
 * - Test that common languages and worldwide appear in ULS

UploadWizard

 * - No need to use custom mw.log anymore

VisualEditor

 * - [Browser test] New test for switching between editing modes
 * - [Browser test] New test for multi-edit workflow
 * - Clean up Target properties
 * - demo: Convert VisualEditor standalone demo to pure HTML+JS
 * - Prevent getSaveFields from returning a property named undefined
 * - MWBlockImage new DOM fixes
 * - Rebuild VisualEditor.i18n.php – 2013-12-18 19:57:00
 * - [browser test] Prefer string interpolation instead of string concatenation
 * - grunt: Update devDependencies
 * - Move additional module loading from mw.Target to mw.ViewPageTarget
 * - Clean up HTML files, Gruntfile and remove index-phantomjs-tmp hack
 * - grunt: Update grunt-contrib-jshint use built-in jshintrc parser
 * - Remove unused .csslintignore
 * - Fix paste tests to work in phantomJS
 * - Replace makeStaticLoader with a grunt task
 * - Fix mw.util dependencies
 * - Move visualeditor-languages-tool message from ve to ve-mw
 * - Alphabetize msgs-ve
 * - Split ext.visualEditor.mwcore out of ext.visualEditor.core
 * - Use jquery.i18n for standalone i18n
 * - Empty empty.html
 * - [Browser test] New transclusion template search
 * - Allow ve.init.Platforms to asynchronously initialize themselves
 * - [Browser test] Additional waits for SauceLabs timeouts
 * - Strip trailing linebreaks on paste due to Chrome bug
 * - Add useful HTML in toDomElements for refs and templates.
 * - JSCS fixes
 * - Move index label generation to the model
 * - Move language inspector messages to VE core
 * - Reformat English JSON files
 * - Fix buildi18n-json.sh to be consistent with TWN's build scripts
 * - Rebuild VisualEditor.i18n.php
 * - Fix the standalone toolbar to not demote heading1
 * - Add a getDirectionFromRange Method to ve.ce.Document
 * - [Browser test] Add waits for SauceLabs happiness
 * - ve.EventSequencer onLoop: minor consistency change
 * - data-ve-ignore attribute for elements to be complete ignored by the converter
 * - Fix hashes in MW toDomElement functions
 * - Update oojs to v1.0.6
 * - Move &quot;visualeditor-toolbar-insert&quot; to ve, not ve-mw
 * - Check values property exists before removing attribute
 * - Check InternalList node exists when rendering MWReferenceList
 * - Add JSON-&gt;PHP conversion script for i18n
 * - [Browser test] Update Firefox + Selenium versions.
 * - [Browser test] Updates to use new Insert menu
 * - Use the same new toolbar for media and reference dialogs
 * - Direction adjustment to &lt;figure&gt; styling
 * - [Browser test] Update to use new text styling menu
 * - Add getDomSubtreeFromModel to converter API
 * - Rename getDataFromDom to getDataFromDomSubtree
 * - makeStaticLoader: Update fake standalone init module
 * - Render CE MWBlockImageNodes as styled &lt;figure&gt;s

WikimediaEvents

 * - Revert I5d1f65e21: Remove module storage logging

WikimediaMessages

 * - i18n: add full-stop

ZeroRatedMobileAccess

 * - Startup message fix per MaxSem