MediaWiki 1.25/wmf5/Changelog

Core changes

 * - Fix bypassing hooks in TextContentTest
 * - Use mergeMwGlobalArrayValue in LocalisationCacheTest
 * - Use mergeMwGlobalArrayValue in ApiOptionsTest
 * - Respect $wgApiFrameOptions in formatted API output mode
 * - Avoid implicit Message::toString in InfoAction
 * - API: Include ApiMain construction in api.php try-catch block
 * - Tweak 'destructive' use case in style guide
 * - Restore next link to Special:AllPages
 * - jquery.textSelection: Add ability to register custom implementation
 * - Update OOjs UI to v0.1.0-pre (40de4dabe6)
 * - Add hook to extract namespace in prefix search
 * - Made JobRunner wait for all applicable slaves, not just the main cluster
 * - Expose job metadata in showJobs and the jobs log
 * - Optimized wfWaitForSlaves to get the master positions for all LBs first
 * - Fixed loop in wfWaitForSlaves
 * - Move tests into separate ResourceLoaderFileModuleTest
 * - API: Fix ApiFormatFeedWrapper
 * - jsminplus: Fix string concatenation in error message
 * - Remove invalid CacheHelper entry from wgAutoloadLocalClasses
 * - Update OOjs UI to v0.1.0-pre (531d497d3b)
 * - Made wfWaitForSlaves support waiting on all clusters as needed
 * - Move MergeLogFormatter to 1.25
 * - Revert &quot;Revert &quot;Make enhanced recent changes and extended watchlist default&quot;&quot;
 * - Tweaked chooseBlock comments
 * - API: Warn when neither rawcontinue nor continue are given to action=query
 * - Treat the &quot;temp&quot; repo zone as private
 * - Update OOjs UI to v0.1.0-pre (44db8292bf)
 * - Migrate merge log to new log system
 * - Make Special:Search's button pretty again
 * - Add language name for aeb
 * - Extensions may add tests by directory
 * - Remove unused variable in ProfilerMwprof
 * - Fix pagecount output
 * - Always supported delayed jobs in JobQueueRedis for simplicity
 * - Sync up with Parsoid parserTests.
 * - Removed deprecated Job methods
 * - Revert &quot;Use a fixed regex for StripState&quot;
 * - Add Content-Length header for job queue requests
 * - Removed extra &quot;tries&quot; increment in the redis job queue
 * - API: Internationalize all remaining core API modules
 * - Avoid calling recyclePruneAndUndelayJobs in daemonized mode
 * - Remove hitcounters and associated code
 * - Revert &quot;Add maxlength of 6 for time correction in preferences&quot;
 * - Get the value of microtime directly as float in updateSpecialPages.php
 * - Remove deprecated GlobalVarConfig::set
 * - Fix exception while bubbling titles
 * - CoreParserFunctions::displaytitle: Use Parser::killMarkers
 * - Update OOjs UI to v0.1.0-pre (db065e5a9f)
 * - Make PrefixSearchTest use MediaWikiLangTestCase
 * - Add $tablesUsed for ApiTestCase
 * - Fix incorrect replacement inside regular expression
 * - Use prefixed globals in eval.php main loop
 * - Only link local titles on Special:Search
 * - Make TestUser way faster
 * - Use a fixed regex for StripState
 * - Do not include ilshowall as a hidden form field on Special:ListFiles
 * - Set AdminEmail field in the installer to explicit ltr
 * - Sanitize TestUser
 * - Skip tests in PrefixSearchTest if not wikitext main namespace
 * - commonPrint.css: Add @noflip to direction float classes to fix RTL
 * - Add name for bto language
 * - Allow for time-limited tokens
 * - OOjs UI: Re-build pull-through from scratch to vet for unused files
 * - Revert &quot;Add RL template module with HTML markup language&quot;
 * - Avoid needing config to be in sync between MW and the jobrunner
 * - Implement page status indicators
 * - Update OOjs UI to v0.1.0-pre (0d358b167a)
 * - Make declaration of ApiFormatRaw compatible with ApiFormatBase
 * - API: Clean up skin handling
 * - Also provide assertNotTag in MediaWikiTestCase
 * - mediawiki.hlist: Remove IE6 &amp; 7 fallbacks
 * - Add RL template module with HTML markup language
 * - Reduced LocalFileRestoreBatch::execute deadlocks when doing batch restores
 * - SqlBagOStuff: fix percentage in deleteObjectsExpiringBefore
 * - Update OOjs UI to v0.1.0-pre (99ec31d9b9)
 * - Use setMwGlobals in TitleTest::testGetPageViewLanguage
 * - Use setMwGlobals in UserTest::testPasswordExpire
 * - Add a messages file for Koyraboro Senni with French fallback
 * - Use mergeMwGlobalArrayValue in AutoLoaderTest::setUp
 * - Fix setting hooks in ApiQueryTest
 * - Revert &quot;Make enhanced recent changes and extended watchlist default&quot;
 * - Remove negative caching from Revision::getContentInternal
 * - Add a PSR-3 based logging interface
 * - Rewrite ORMTable::unprefixFieldNames
 * - Mention translatewiki.net on edits only, when edit a default message
 * - Added another size limit check to Job::toString

AntiSpoof

 * - Allow subclasses of BatchAntiSpoof to override the wfWaitForSlaves call
 * - Add UserMerge support

ApiSandbox

 * - Add qqq message for I1028f56d

CentralAuth

 * - $wgAuth shouldn't be a StubObject
 * - Update AntiSpoof during GlobalUserMerge
 * - Added &quot;CentralAuthGlobalUserMerged&quot; hook for OAuth merge updates
 * - Added missing message centralauth-rename-table-failed.
 * - BatchCAAntiSpoof: Use CentralAuthUser::waitForSlaves
 * - Update CentralAuthAntiSpoof in all code paths that create new accounts
 * - GlobalRenameQueue: send emails in content language
 * - Move password update logic out of CentralAuthUser::matchHash
 * - Prepare repository for running RuboCop after every push to Gerrit
 * - Interstitial notification page for renamed users
 * - Special page to manage global rename requests
 * - Text updates for SUL rename request
 * - Add missing global declaration
 * - GlobalRename: Do page moves in a separate job

CirrusSearch

 * - Comment fix
 * - Lookup namespaces with Elasticsearch
 * - Abort early when we can't fetch the version number
 * - Prefix search always squashes accents
 * - Prepare repository for running RuboCop after every push to Gerrit

CodeEditor

 * - Split jquery.textSelection and WikiEditor api overrides

Collection

 * - Allow use of proxies to reach Rendering API endpoints.
 * - Remove out-of-date README.txt.
 * - Fix Book Creator settings (switch to `JSON.stringify`)

CommonsMetadata

 * - Allow overriding the documentation URL

ConfirmEdit

 * - Support protocol-relative URLs in the whitelist

ContentTranslation

 * - Automatically perform search after timeout
 * - Update search box when selecting a word
 * - Make the search input icon do search on click
 * - Adjust of related link color and transition speed
 * - Move all tools inside single container
 * - Small style cleanups
 * - Links: Distinguish between clicked and connected links
 * - Fix division by zero
 * - Links: Change add link so it preserves selected text
 * - Prepare repository for running RuboCop after every push to Gerrit
 * - Categories: Unit Tests
 * - Cleanup ext.cx.tools.categories.js according to coding conventions
 * - Add lang and dir to category counters and lists
 * - Categories: Change message when no categories
 * - Categories: Refactor for sorting

DonationInterface

 * - Worldpay cleanup: Antifraud filters firing too much
 * - fixups for unfork
 * - Composer packaging to make us available as a library
 * - Delete tests
 * - Fix WorldPay AVS settings to work with non-(US|UK|CA)
 * - Delete tests
 * - function signature glitch
 * - class-ify CurrencyRates
 * - Remove JCB logo and add new Carte Bleue logo
 * - Add tests for Gateway_Form
 * - Re-add Australian states, card #1799
 * - Update cc icons for WP forms card #1822
 * - Add country hidden field back to non-US WorldPay form
 * - Rename GatewayForm to GatewayPage to distinguish from Gateway_Form
 * - one more extract to yank
 * - Follow-up Ib0d0f6c: Fix qqq typos
 * - kill remaining calls to extract
 * - Transliterate Worldpay post to ISO-8859-1
 * - Use public instead of var in classes
 * - Fix @returns &gt;&gt; @return phpdoc
 * - WorldPay: Put stripped email in MerchantReference2
 * - Add 'id' and 'for' attributes to WorldPay form labels
 * - Remove usage of deprecated Xml::escapeJsString
 * - Simplify fundraising maintenance mode
 * - Move gateway form logic from execute to handleRequest
 * - Fix @covers code coverage annotation
 * - Cleaning up the payments error logs
 * - Add a grunt linting checker for jshint, jscs, and banana and pass them
 * - Add zip field to Direct Debit Recurring form
 * - Add PayPal tests
 * - Stop sending realtime Direct Debit messages to civi.
 * - Cleaning up the payments error logs
 * - Add a 'No valid form' RapidHtml form
 * - Consistent use of ellipsis
 * - Whitespace
 * - GC: Check XML for CVV result, use blanks if missing
 * - Clear gateway adapter globals cache after tests
 * - Cleaning up payments error logs, part 1
 * - RTBT: Fixed some issues with the form template for iDeal.
 * - Fix expiration date message translation
 * - Submit form when return is pressed
 * - Fix quotes so converted currencies are logged
 * - Add generic currency fallback with optional notification
 * - DonationData: cleanup of basic data retrieval
 * - Don't depend on mediawiki; every RL module implicitly does
 * - Updating approximate currency conversion rates
 * - Show friendlier error message for zero donation amount
 * - Don't express depednency on jquery (same reason as 193f6a4f06)
 * - jquery.payment: don't express dependency on jQuery
 * - DonationData::sanitizeValue: drop extra args
 * - reuse code to check for valid WMF transaction status
 * - FR 1683: Do not submit form if there are errors
 * - Awful hack to make sure decimal order_ids that are leaking in from
 * - WorldPay Multiple Accounts
 * - Validate form fields using element ID
 * - remove test hook from deployment branch
 * - Cleaning up the error spew from the orphan recitifier.
 * - More Info form block mods
 * - Taking control of Amazon's payment_submethod.
 * - Altering the fix_dropdowns function to use DomDocument parsing for
 * - Change all noscript blocks to reference the code-generated block.
 * - Base WorldPay Order ID on CTID
 * - Actually reset OrderID
 * - Tickling Contribution Tracking
 * - Better WorldPay Status Code Handling
 * - Remove AmEx logo from form.
 * - Adding two new queues/messages.
 * - Fix noop typo
 * - Remove some cache control complexity
 * - Empty values to not select the first item
 * - Useful log output for the form select code
 * - Provide more descriptive cc error messages
 * - AVS Forcing and Removal of Server Address Check
 * - Disable WorldPay form submit button once clicked.
 * - Add pattern to US zip code input, to trigger numeric keypad on iOS
 * - Make fix_dropdowns more intelligent
 * - Do not allow state to be selected
 * - Update i18n shim
 * - Add more credit card imgs to form.
 * - Reorder city, state, zip.
 * - Expunge CVV from the data object after use
 * - WorldPay: Fixing a badly wounded antifraud check.
 * - Remove placeholder quotes and de-italicize labels
 * - Check fraud results after transaction post process call
 * - Fix margin on error page for worldpay.
 * - Remove overriding narrative statement
 * - Fix paths to i18n files
 * - Updates based on feedback from iteration #1.
 * - Breaking out the WP css from the js, to correct some timing issues.
 * - Recursively expand partials
 * - Fix wonky WorldPay form loading
 * - Bandaged the RapidHTML dropdown sticky mechanism.
 * - UI test for WorldPay, calls the GenerateToken API
 * - WorldPay: Updating supported currencies list
 * - Make sure we always create UTF-8 XML
 * - Adding a mechanism through which we can clean and log outbound requests.
 * - Fix form layout and switch position of expiration date and cvv.
 * - Finishing form touches.
 * - Do not fraud check authorize with full amount
 * - cleaned up cc validation
 * - More specific credit card validation. Not pretty but it works.
 * - Do GenerateToken call after form validation
 * - Dont continue if API token validation has failed
 * - Allow anyone to use the WorldPay JS API
 * - Start bug where email is prepopulated
 * - Minfraud to v1.54
 * - WorldPay form fixup
 * - WorldPay: Adding gateway_txn_id just prior to stomp message construction
 * - Year / Month zero padded
 * - WorldPay Settlement Currencies (or default)
 * - Bugfix: we would fail if the xml was compact
 * - Send STOMP messages after the big metatransaction
 * - Clean up minfraud handling in tests
 * - Finish move to Sale API and set payment_submethod
 * - (FR #1533) fix error in unit tests
 * - Make submethod validation actually work!
 * - Unit tests can assert things about form HTML output
 * - Allow circumvention of fraud/authorization for
 * - Agghhhh; silly status codes
 * - Getting rid of WP API warning
 * - Adding result codes to log output
 * - Add $wgMessagesDirs
 * - Taking care of some HTMLEntities in the cc-vmad form.
 * - WorldPay: Use the Sale API
 * - delete glyphicons
 * - WIP worldpay forms sans validated errors
 * - WorldPay: Donations now complete through Deposit!
 * - WorldPay add error handling
 * - Some Transaction / Transaction Reponse Cleanup
 * - Constraint validation
 * - Worldpay form validation
 * - Ditching the $opt parameter.
 * - curl_getinfo actually defaults $opt to 0, not null.
 * - Removal of all test data from the DonationData object.
 * - Safer/more useful/++awesome phpunit tests
 * - Description for WP result codes
 * - WP result codes
 * - Moving the post-transaction addData to a place that makes a little
 * - WorldPay Deposit Request
 * - Added the cvv and avs antifraud tests to WorldPay.
 * - Change email address inputs in GC forms to use type=&quot;email&quot;
 * - Migrate amazon_gateway.i18n.php to JSON i18n
 * - WIP: Added the (renamed) antifraud hook to the WorldPay workflow.
 * - More worldpay; token &amp; auth queries
 * - Migrate to JSON i18n
 * - Fixing a problem with gateways finding valid forms.
 * - Add newline at end of file to unbreak translatewiki.net
 * - WIP: Bigger stub for worldpay
 * - Adding a component so we can bypass the visual stuff
 * - Fixing a problem with ewallets, rtbt, and boletos
 * - branch_code is constrained to 4 digits for Direct Debit in Spain.
 * - iDeal and Sofort forms - change amount options to match what we now use elsewhere
 * - Add the default logline prefix to everything that has an instantiated gateway.
 * - Fixing up some weirdness we were seeing around language selection
 * - Adding constraints and zero-padding for ES Direct Debit
 * - WIP: WorldPay
 * - Introducting jQuery.Payment
 * - Found and altered the one place in the code that might explain
 * - Quieting down the error logs
 * - Big Order ID Refactor
 * - Removing crufty fields that haven't been used in over 2 years
 * - few more tweaks in an attempt to get Jenkins to run our tests
 * - Beating up our unit tests until they pass.
 * - FR #1404 Russian language supported by GlobalCollect
 * - Get rid of form_name parameter.
 * - omg Czech also wrongly coded
 * - correct iso code for Polish language
 * - It helps to test the full path...
 * - Add MinFraud Query Limit Alarm to DI
 * - FR #1311 Amazon Recurring Status Handling
 * - Scary oversight? Trim linefeeds
 * - Find .version-stamp from the root directory :(
 * - Rework version stamp code to align with the production method
 * - (FR #1281) Include source metadata in queue messages
 * - Remove &quot;credit card&quot; from BPay message, as requested by BPay
 * - Adding VEF currency to GC
 * - Send the ipnUrl override parameter.
 * - Save current form to the form stack
 * - More ffname cleanup.
 * - More debug lines near the formchooser logic.
 * - Adding a normalize function for payment method and submethod data.
 * - Revert &quot;Log an obnoxious amount of debug data via the form chooser.&quot;
 * - Log an obnoxious amount of debug data via the form chooser.
 * - Unborking the payments form chooser
 * - Stop trying to pull forms that don't exist. Instead, if there is
 * - Revert &quot;cleanup rapid js base form error handling&quot;
 * - Disabling all form classes other than RapidHTML, and setting
 * - i18n: fix double-space
 * - cleanup rapid js base form error handling
 * - Fix to allow the RapidError form to work with amazon payments
 * - (FR #1174) patch recurring=true hole
 * - Removing unsupported countries from the RapidHTML country dropdown.
 * - Switching javascript trims to jquery trims to help appease IE8.
 * - Altering a check for field existance to make IE8 less angry.
 * - Zero-padding branch code out to 4, as per GC instructions
 * - (FR #1090) trim inputs before validation
 * - Address warning in GatewayFormChooser
 * - Wire up the new RapidError form functionality so we can actually use it.
 * - Massive cleanup of session behavior.
 * - Get rid of unused message donate_interface-submit-my-secure-donation
 * - Allow a GatewayFormChooser Selection Bias
 * - Dyanmic Error Pages, Part 1
 * - Random GatewayFormChooser Pages
 * - Adding validation for country code
 * - Clean up Adyen JS
 * - Security tightening, part 2
 * - PaymentMethod utility class
 * - Security tightening, part 1
 * - Check the ssl peer against our amazon cert file
 * - Affermative Logging for Adyen
 * - rename DonationData-&gt;gateway field to reflect new role
 * - (FR# 1084) Whitelist for Paypal Xclick
 * - Adding logic for no code returning from the CVV and AVS checks in GlobalCollect.
 * - throw MWException
 * - Updating Brazil Form Layout
 * - Pass Email Address to Adyen
 * - Amazon recurring gateway
 * - DataValidator can use boss's methods
 * - log when in &quot;cache&quot; mode
 * - log if we cannot insert a contribution_tracking record
 * - Ok; Don't Sub Currencies...
 * - Coerce values to null and log banner
 * - Log &amp; Show an Error if There is No Form
 * - Allow the Form Chooser to know about Currencies :)
 * - Matt 'Cleaned up' GatewayFormChooser aka Went Crazy
 * - (FR #987) Fix Luhn Check for Odd Numbered Cards
 * - Starting the Great Form Purge of O-13
 * - Removing half a file of css redefinitions for the adyen form
 * - Making sure gateway is recorded in antimessages as well as regular messages, so it can make it into the message header.
 * - Removing currencies that were supported with WorldPay, but are not with Wells Fargo
 * - Limiting the GC orphan rectifier such that it will only mess with GC messages in the cc-limbo queue.
 * - mv donationinterface.php DonationInterface.php
 * - Add some tests to cover do_transaction
 * - 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
 * - Removing PGY as a valid currency
 * - Load the phpunit.xml we have sitting in tests/
 * - Get the unit tests to run to completion
 * - Sandbox cURL, generally make it possible to test
 * - DonationInterface gitreview points to right branch
 * - Lock out PayPal MYR and BRL
 * - (FR #908) Brazil requires extra personal infos
 * - Nuking recaptcha as cruft that hasn't been used in at least two years on payments.
 * - (FR #901) Recurring Amazon
 * - Adjustment to the iFrame liberator such that it hides all elements that other resourses might add (skin stuff, whatever) while we're waiting for the liberated iframe contents to load.
 * - Temporarily removing VND from the list of supported GC currencies as per their instructions
 * - Display fixes for Adyen
 * - attempt PayPal localization
 * - (FR #856) remove last reference to gateway_forms/css/gateway.css
 * - Change name of Skrill to Moneybookers
 * - Remove the ability for us to accept SGD
 * - convert our active forms to use ResourceLoader
 * - Paypal recurring redirect was broken
 * - maintenance notice as gateway form
 * - Adds the correct our-end success status code to boletos so we can get some logging out of it.
 * - Commenting out currency 'TRY' as paypal won't accept in it.
 * - pass 'recurring' param on to the gateway
 * - Revert &quot;convert our active forms to use ResourceLoader&quot;
 * - lame dependency
 * - Change PayPal adapter workflow
 * - Fix grammar (comma before but)
 * - convert our active forms to use ResourceLoader
 * - Making the ES DD form readable
 * - Better checks for CC numbers in fields
 * - Change PayPal adapter workflow
 * - Fix grammar (comma before but)
 * - Making the ES DD form readable
 * - Better checks for CC numbers in fields
 * - CC Numbers are at least 12 digits long
 * - set final status after direct debit set_payment
 * - Adding logging about currency/amount to DI
 * - Adding Nicaraguan Cordoba to list of active GC currencies
 * - Check moar fields for CC numbers
 * - Next Attempt at a Luhn Algorithm
 * - un&quot;fix&quot;: final status was being set twice after SET_PAYMENT
 * - Adding the common JPY symbol template to the mix.
 * - Use double quotes consistently
 * - paypal recurring is set explicitly
 * - Flooring non-fractional currencies in the DonationData class. Apparently just not decimal-formatting them is insufficient for some forms.
 * - paypal form to make corrections before redirect
 * - Round 1 of Japan Localization feedback changes
 * - Fine print on Boletos and direct debit: beware the GC!
 * - (FR #806) log message when STOMP send fails
 * - direct debit fixes
 * - rtl fix for leftmar and rightmar css
 * - Quieting down some error logs and surfacing some other problems we're seeing with minfraud in production
 * - Prevent Donors from Using the CC# as a Name
 * - (FR #822) Direct Debit
 * - Use ' instead of curved one for consistency
 * - Making the payments logs less racey.
 * - Adding new payment types to the out-logger.
 * - fix required, hidden city input
 * - Removing end comments marks from Sofort-GB form
 * - Forms support for Boletos
 * - Updating credits
 * - (FR #823) remove address info unless using AVS
 * - Removing false alarms resulting from calling set_html_file_path from what should be non-fatal places
 * - Adding UTM source to the missing form error log lines so we can tell where they're all coming from
 * - It would help if I had ever learned to read.
 * - Card 824 - Add Name and Email to EW/RTBT Payment Methods
 * - Adding log error information to RapidHTML form selection process
 * - Use email instead of e-mail
 * - Card 793 - Adding a new i18n message for bank transfer
 * - Fix typo: Paypal -&gt; PayPal
 * - (FR #508) New Paypal adapter
 * - feed getAllEnabledGateways
 * - Removing remnants of the name-email test
 * - Setting default personal information request to name and email only.
 * - Adding Special:SystemStatus
 * - Adding an address template for HK, adding street2 and removing postal code
 * - Adding new iDEAL bank to the adapter as well
 * - Adding new iDEAL bank: Knab
 * - Shunting the final status log line off to a gateway-indifferent syslog bucket of its very own, so we can tail everything at once.
 * - Logging Cleanup:
 * - Let's make Amazon work with the form chooser
 * - Abstract out redirect method
 * - Making GatewayFormChooser work
 * - (FR #595) Adyen payment gateway
 * - Readding Exception Details
 * - Removing last vestiges of hard-coded defaults in forms.
 * - Two spaces in translation message
 * - Adding back new webmoney things.
 * - Updating Webmoney to the new template and adding an optional email field.
 * - Quick fix to account for the fact that we have no &quot;down for maintainence&quot; page, and a maintenance window in a minute.
 * - Revalidates data for the orphan rectifier batch operation, and minor fix
 * - Bandaid for a glitch in the system: If this one line tries to use unstaged data, it blows up on SET_PAYMENT calls.
 * - When we abort transactions to the gateway based on failed validation, write something to a log.
 * - Adds flexibility to the process of enabling and disabling 3D Secure authentication for various currency/country combinations.
 * - Argh, typo
 * - Additional logging and a slight reorder of normalization in DonationData
 * - Adds a forbidden country list, and checks the result of data validation before contacting any third party.
 * - Even More Amazon Logging
 * - Making the gateway function filters usable, with regex and removing abs.
 * - Preventative and diagnostic measures for some double-fraud checking I'm seeing in the logs.
 * - Allowing for very specific abuse of our internal fraud score system.
 * - Both killing a notice that was always popping up on error, and displaying gateway errors to the user for yandex.
 * - Adding templates for optional email address and address information for Ireland.
 * - Making the JS email validation a little better at catching common mistakes.
 * - Checking to see if $param is a string before attempting to make_safe
 * - Updating the &quot;more info links&quot; to use a common template.
 * - Remove OrderID Check and Pass CTID to Amazon
 * - Grooming common mistakes in valid CA postal codes to make the AVS checks on GC's end happier, and cut down on false fraud detection.
 * - Some CSS removal for RTL.
 * - Orphan rectifier changes to override the command-line settings in favor of globals, and additional logging
 * - Logging out elapsed time in the orphan rectifier so we know how to adjust the cronjob for maximum rectification.
 * - Adding CTID to Amazon Logging
 * - Adding Monaco to the country lists
 * - Changing the logging that happens when a specified form class can't be found. This should typically denote something pretty weird going on.
 * - City/Town seems to be what PayPal uses for GB as well
 * - Give GBP a £ sign as well
 * - Adding custom personal data format for GB
 * - TPYO
 * - some session logging for the resultswitcher
 * - new iframe liberation, needed for Safari 6
 * - Additional logging for the payments cluster: Trying to diagnose some particular GC gateway issues.
 * - payments &quot;emailAdd&quot; field can be optional
 * - Fixes for DD
 * - Adding dd-ES for Direct Debit in Spain.
 * - Tweaks to the orphan rectifier - Explicit cancel behavior, more logging, typo cleanup
 * - Adding remaining name and email only forms and adding country-specific instructions.
 * - Hacking in a new API call so status 200 Globalcollect CC payments will ever go through.
 * - Adding CTID to Session Velocity Filter output
 * - Making sure we add an antimessage on transactions we deliberately fail.
 * - Falseish when I was trying to look for a zero. So very annoyed.
 * - Fixing the stack trace currently being served up by bt and obt transactions
 * - Adding the AUTHENTICATIONINDICATOR node to all GC transactions, and defaulting to '0' as per their new instructions.
 * - Readding statics in setNormalizedOrderIDs
 * - Changing our not-so-random random number generator to a different random, and a minor bug fix.
 * - Removing opt-opt hidden field from the rest of the forms.
 * - Cleaning up the new log line on end of transaction, and a lot of bugs I found looking at the output after the first pass.
 * - Fixing a typo that was filling up my php error log.
 * - Adding a final donation status log line, and fixing a couple minor bugs that this surfaced
 * - Removing opt-out field. One form only for now.
 * - Changing the setNormalizedAmount function to be less horrible.
 * - Unsetting alternate amount fields once we have normalized the amount
 * - Switching default city to None
 * - Modernize pfp_api_controller.js
 * - Remove test code in action=donate API and add setIndexedTagName
 * - Fixes for Form.php, mostly escaping and $wgExtensionAssetsPath
 * - (FR #566) multiple sets of account credentials
 * - Adding data to the new fields recently added to contribution_tracking.
 * - Adjusting the default fraud point percentage we give for AVS code zero.
 * - random bug, if FormChooser is disabled, Special:SpecialPages will break
 * - Remove obsolete, deprecated and unused GeoIP code
 * - Prevention of double-staging requests inside the stageData function.
 * - Warn people not to use jquery.donationInterface.js
 * - Fix call to nonexistent method and escape the language code
 * - order_id is pulled from the session when appropriate
 * - (FR #609) floor all non-fractional currencies
 * - Maintenance for DonationInterface extension.
 * - Adds email in a second place to GC's INSERT_ORDERWITHPAYMENT api call, and updates the data in contribution_tracking prior to the redirect to amazon.
 * - Removing Amazon check signature requirement.
 * - Additional ability to customize STOMP queue names
 * - Fixing Various Amazon Issues
 * - disable bloody gerrit autorebase
 * - Making Amazon payments much more error resistant. AND adding back
 * - Revert &quot;Making amazon work better! :)&quot;
 * - (FR #592) reencode output from maxmind
 * - Making amazon work better! :)
 * - Adding additional logging to amazon payments adapter.
 * - (FR #543) quiet about missing optional fields
 * - Bug fix where the API changed for another patch. And this now
 * - Removing monthly donation links from credit card forms
 * - Amazon Simple Payment integration, FR #43
 * - [FR2012 #565] Handle duplicate order IDs being sent to GC
 * - Fixed a bug I introduced in RapidHTML during the form whitelist refactor.
 * - [FR2012 #71] Addition of Session Velocity logic
 * - Boletos support
 * - Added a lookup table of national currencies. See bug #428
 * - fix deprecation warnings
 * - Adding 'problems donating' to the cc forms. Adding currency templates for MXP, ARS, CLP, and EUR
 * - The function in the form chooser responsible for picking one of the alternatives is approaching reasonable behavior. Still in testing.
 * - Refactoring the way we reference RapidHTML forms in DonationInterface to allow for the possibility of a multidimensional form chooser.
 * - Adds the ability to filter the list of all whitelisted forms, for ones that will work for the parameters provided to the GatewayFormChooser.
 * - FR #543 get rid of old opt-in fields
 * - Fix for a logic problem suffered by what appears to be all major international banking institutions that issue credit cards with AVS data.
 * - Remove double space
 * - Addressing Katie's comments from I61aedf95.
 * - Adding forms that will only ask for the donor's name and email to test
 * - Adding basic version of GatewayFormChooser as a gateway-agnostic entry point
 * - Stupid copy/paste mistake on the exception
 * - Simplest possible implementation (that I'm still comfortable with) of IP velocity filtering, allowing for defined blocks in either list
 * - Switching to protocol relative URLs.
 * - (documentation-2012-05-18-1800) Updated documentation
 * - Fix direct debit processing. FR card #35
 * - glitches
 * - * returnTo is set only in globalcollect subclass
 * - Adding the new Argentina rules (and fixing a small things that's been bugging me)
 * - Adding better localization for the indication of Rubles. Also adding
 * - Additions to the orphan slayer to more strictly check for an antimessage in light traffic. Also acks more error states off the cc limbo queue.
 * - When ffname specifies an invalid form, fall back to the 'default' form.

Echo

 * - Prepare repository for running RuboCop after every push to Gerrit
 * - Add UserMerge support

EducationProgram

 * - Added GENDER support for message ep-disenroll-success
 * - Have Jenkins use the standard configuration for JSLint

ExtensionDistributor

 * - Add API list=extensions to get the list of known extensions
 * - Only include &quot;top level&quot; extension repositories

Flow

 * - QA: preliminary alphabetization, no change to function
 * - Correct placement of Anon warning in preview
 * - Text in new-topic form remains after submitting
 * - Remove history engine stub
 * - Implement OOJS on Flow JS classes
 * - Use explicit GENDER on messages
 * - J5: Expand action=purge on flow pages
 * - Remove unused Workflow lockState
 * - Remove unused file includes/OutputPage.php
 * - Remove unused method ObjectLocator::visitAll
 * - Prepare repository for running RuboCop after every push to Gerrit
 * - Use StubObject::unstub
 * - dont use php empty to check empty strings
 * - Remove no longer needed isWatchlist remnants
 * - Clarify UUID comment about upper-case characters
 * - Pass correct arguments to (unused) method call
 * - Fix fatal when submitting summary
 * - Hygiene: Remove unused workflow query parameter
 * - Create method for clearing cached data for a single data model
 * - Hygiene: Remove duplication in one-off indexes
 * - Hygiene: Pass FormatterRow for context if possible
 * - missing @group Flow annotations on tests
 * - QA: refactor to use page objects properly within steps
 * - QA: update for modern rspec
 * - QA: refactor reply test
 * - QA: sort Cucumber steps and alphabetize
 * - QA: update RSpec assertions for modern syntax
 * - QA: more updates for modern rspec
 * - Perf: Improve speed of uuid conversion
 * - Remove line-height declaration on flow-board
 * - Bug: Duplicate items on watchlist

Interwiki

 * - i18n: consistency tweaks

Mantle

 * - Hygiene: Use jQuery each instead

MassMessage

 * - Add singular to make translation easier

Math

 * - Prepare repository for running RuboCop after every push to Gerrit
 * - Make MathML mode work on mobile devices

MobileApp

 * - Make sure that the Footer appears after all other content.

MobileFrontend

 * - Introduce jscs tool to the repository for code style checking.
 * - Hygiene: Use icon in cleanup overlay
 * - Create new SVG icons library
 * - Hygiene: Remove unused files
 * - Create nearby refresh icon with Icon
 * - Limit the number of tag suggestions displayed in the WikiGrok panel to 6
 * - Hygiene: Surface warnings for missing documentation in jsduck command
 * - Documentation: Document all the classes
 * - Hygiene: Documentation cleanup
 * - Hygiene: More icon abstraction
 * - Fix history browser tests
 * - WikiGrok B shouldn't depend on user having an occupation.
 * - Move wgMFThumbnailSizes to js hooks as its used outside Minerva
 * - Use :8080 in Makefile and tasks as default url
 * - Adding error handling to askWikidataQuestion for WikiGrok version A
 * - Hygiene: Removing version parameter from WikiGrokApi::recordClaims
 * - Toggle expanded sections only if they are not already expanded.
 * - Fix undefined index 'lastmodifiedby' notices
 * - Typo fix
 * - Add margin to WikiGrok spinner for even padding around
 * - Fix regression and use the svg version in beta for issues icon
 * - Use desktop login/account creation form in alpha
 * - Don't use a too light gray for top-bar
 * - Prepare repository for running RuboCop after every push to Gerrit
 * - Fix i18n
 * - Give spinner same margins as search result text
 * - Make sure, loading circle is really visible
 * - Use special message for some namespaces for &quot;return&quot; link
 * - Fix undefined var in mf-translator.js
 * - Fix gap between focus highlight and rounded border on login page
 * - Toggle sections only in article view
 * - Tools: make qunit output cleaner
 * - Show nationality and occupation suggestions
 * - Wikigrok UX changes
 * - Make opting into beta/alpha work on localhost
 * - Remember expanded sections on page reload or when going back to the previous page. Add QUnit tests.
 * - Hygiene: Introduce Icon.js abstraction
 * - Make wikigrok show multiple occupation suggestions when available
 * - Make abuse filter button progressive
 * - Hygiene: Avoid string concatenation
 * - Fix switching back from alpha to beta
 * - Hygiene: Merge wikigrokeval and wikigrok
 * - WikiGrok version b UX changes

MultimediaViewer

 * - Fix issue with options dialog when media viewer has been reopened
 * - Adjust style of the Disable panel
 * - Update URLs of renamed pages
 * - Add new version of actionlogging schema
 * - Show popup when the user visits a file page the first time after disabling MMV
 * - Prepare repository for running RuboCop after every push to Gerrit
 * - Cog icon &amp; mw.ui styling for expand button
 * - Show panel shadow on full-screen mode
 * - Add tests for viewing options panel
 * - Add viewing options panel

PageTriage

 * - Prepare repository for running RuboCop after every push to Gerrit

ProofreadPage

 * - Adds Tpt to the author list

Scribunto

 * - Add namespace translations for 'mai'

SecurePoll

 * - Add editing and logging and other general work

SemanticForms

 * - Added new #default_form parser function

TemplateData

 * - Let help link target be locally over-ridden; default to the MW help page

Translate

 * - Prepare repository for running RuboCop after every push to Gerrit
 * - Remove $wgTranslateUseTux
 * - Remove translate-proofr group (message review right)
 * - Alter message table html
 * - Remove $wgTranslatePageMigration
 * - Fix some typos
 * - Update TTMServer docs to refer to the wiki page
 * - Fix broken message group selector

UploadWizard

 * - Fix trivial error in Firefogg upload handling
 * - Prepare repository for running RuboCop after every push to Gerrit

UserMerge

 * - Wait for all slaves affected by any writes done in MergeUser batches
 * - Allow extensions to specify a different database object to use

VisualEditor

 * - Actually set parameter autoValues as values
 * - MWLinkNodeInspector: Provide an open button here too
 * - Open the linkNode inspector when pressing Ctrl+K on a link node
 * - Drop nonexistent &amp;redirect= parameter from API requests
 * - Disable the reuse citation tool when selection is null
 * - [BrowserTest] Add &quot;Then…&quot; steps to Cite Basic test
 * - CategoryPopupWidget: Track popup hiding again so sortkey changes are applied
 * - Make spinner appear immediately when clicking edit
 * - [BrowserTest] create simple test for Basic Citation
 * - Followup fbc7ecb: make mediawiki.mobile depend on core.mobile, not core
 * - [BrowserTest] Prepare repository for running RuboCop after every push to Gerrit
 * - Followup e20b47f: make .mediawiki.mobile depend on .core
 * - ve.ui.MWFormatTool: Update heading size CSS for new OOUI version
 * - [BrowserTest] Fix class name for ve-ui-contextMenuWidget
 * - Don't try to check page existence of external links in transclusion nodes
 * - Only validate required template params after blur

WikimediaEvents

 * - Use Special:MyLanguage in tag-HHVM message
 * - Change link target of HHVM tag to HHVM/About

WikimediaMaintenance

 * - Fix path to ProofreadPage sql file

WikimediaMessages

 * - sul: Add message overrides for CentralAuth messages

ZeroBanner

 * - Prepare repository for running RuboCop after every push to Gerrit

ZeroPortal

 * - Prepare repository for running RuboCop after every push to Gerrit

wikihiero

 * - Profiling