"message": "Migrate new_talk to abstract schema\n\nFor MySQL\n - Modify user_last_timestamp from VARBINARY to BINARY\n\nFor Postgres\n - Drop foreign key on user_id\n - Rename indexes to match MySQL convention\n\nBug: T230428\nChange-Id: Idc3ded012890d4ace805a646d75cd805b49b250c\n",
"message": "Fix ip_changes.ipc_rev_id column default value\n\nInteger field should not be given a default string value.\nIntroduced in Ice1bdae3d16cf365da14c6df0e8d91d2b914e064.\n\nBug: T191231\nBug: T163562\nChange-Id: I74de8efa9b39c2c07fee8249d779a0622b3586d8\n",
"message": "Migrate sites table to abstract schema\n\nFor MySQL\/Sqlite, using mwtinyint instead of bool, in reality it doesn't\nmatter since bool is an alias of tinyint(1) in MySQL.\n\nIn Postgres:\n - Changing type of site_domain from TEXT to VARCHAR to make it in sync\n with MySQL\/Sqlite\n - Renaming all indexes from site_* to sites_* to be in sync with\n MySQL\/Sqlite\n\nBug: T230428\nBug: T164898\nChange-Id: Id73bb372807730446901d772fcdbd2f333b397ba\n",
"bugs": [
"T230428",
"T164898"
],
"subject": "Migrate sites table to abstract schema",
"message": "Migrate watchlist table to Abstract schema\n\nPostgres:\n - Set empty string as default for wl_title to match MySQL\n - Drop foreign key from wl_user\n - Change wl_namespace datatype from SMALLINT to INT to match MySQL\/SQLite\n - Drop PG-specific indexes and sync them with MySQL\n\nBug: T230428\nBug: T164898\nChange-Id: Ie996b81ca59069443976b90d7bcdce29997d768a\n",
"bugs": [
"T230428",
"T164898"
],
"subject": "Migrate watchlist table to Abstract schema",
"message": "Migrate querycache_info to abstract schema\n\nAdditional changes for Postgres:\n - Set empty string as default for qci_type\n - Set PG-equivalent of the given MySql\/Sqlite timestamp as\n default timestamp for qci_timestamp\n - Make qci_type non nullable\n - Make qci_timestamp non nullable\n - Drop UNIQUE constraint on qci_type\n\nBug: T230428\nBug: T164898\nDepends-On: If344395615087c360597a5b3d66ea03e930b7d9b\nChange-Id: I741d2d079696d4b4eba09945341054d2a145bddc\n",
"bugs": [
"T230428",
"T164898"
],
"subject": "Migrate querycache_info to abstract schema",
"message": "Language: hard deprecate the `noSeparators` parameter to ::formatNum\n\nCode should use Language::formatNumNoSeparators() instead, which has\nexisted since MW 1.21.\n\nCode search:\nhttps:\/\/codesearch.wmcloud.org\/search\/?q=formatNum%5C%28%5B%5E%29%5D*%2C&i=nope&files=&repos=\n\nDepends-On: I95c365e2535bb3c47bed69a9b702c8f13d9fab87\nDepends-On: I012434d5f6c749fec45a6c160e8d5d03686192e9\nDepends-On: If3de5645a92514f605d4117fea3a820ed6c86624\nChange-Id: I58a66975e505f16d8db5d663a9ca225535277983\n",
"bugs": [],
"subject": "Language: hard deprecate the `noSeparators` parameter to ::formatNum",
"message": "Update formatNum implementation to match tr35 and latest CLDR\n\n* Update digitGroupingPattern to match CLDR 31: New versions of CLDR has\n digit grouping pattern with decimal part. Update digitGroupingPattern\n values in Message classes with this improved pattern.\n Refer: http:\/\/unicode.org\/reports\/tr35\/tr35-numbers.html\n\n* Refer the following chart for the decimal patterns.\n http:\/\/www.unicode.org\/cldr\/charts\/31\/by_type\/numbers.number_formatting_patterns.html\n\n* Uses PHP NumberFormatter class for the commafy implementation, which\n is available in PHP 7.\n\n* Some tests need to update to match the TR 35 spec\n\n* The formatNum public method in Language.php is the preferred way to\n use this feature. It does separator transformation and digit transformation\n wherever applicable.\n\n* Renamed the second param name for formatNum from noCommafy to noSeparators\n\n* commafy method is deprecated and formatNum is preferred. Practically,\n we are not just adding comma, but seperators according to the language.\n Replaced some tests based on commafy methods with tests based on formatNum.\n\nNote: The corresponding js implementation is not changed in this commit.\nIt would probably be a good idea to use globalize.js, which is also based\non the CLDR patterns.\n\nNote: This patch preserves the existing off-by-one error in\n$minimumGroupingDigits; T262500 will eventually fix this.\n\nBug: T167088\nCo-Authored-By: C. Scott Ananian <cscott@cscott.net>\nChange-Id: Ic721b9a91e78e4ef07040339d1006b7a90a910c0\n",
"bugs": [
"T167088"
],
"subject": "Update formatNum implementation to match tr35 and latest CLDR",
"message": "Hard deprecation of Language::convertTitle(),\n ::findVariantLink(), ::updateConversionTable()\n\nCo-authored-by: C. Scott Ananian <cananian@wikimedia.org>\nBug: T226832\nChange-Id: I41a3b67490fc6b9d4c484f566d346a0d10c670e9\n",
"bugs": [
"T226832"
],
"subject": "Hard deprecation of Language::convertTitle(),\n ::findVariantLink(), ::updateConversionTable()",
"message": "Inject services into SpecialComparePages\n\nThis covers only directly used services by this special page\nServices used by the base class are not part of this patch set\n\nBug: T259960\nChange-Id: Ieea10ca032fefc6787ede5df6da19da63d152ec0\n",
"bugs": [
"T259960"
],
"subject": "Inject services into SpecialComparePages",
"message": "Hard deprecation of Language::convertTitle(),\n ::findVariantLink(), ::updateConversionTable()\n\nCo-authored-by: C. Scott Ananian <cananian@wikimedia.org>\nBug: T226832\nChange-Id: I41a3b67490fc6b9d4c484f566d346a0d10c670e9\n",
"bugs": [
"T226832"
],
"subject": "Hard deprecation of Language::convertTitle(),\n ::findVariantLink(), ::updateConversionTable()",
"message": "ApiSandbox: Reduce width of field labels, and set max width on field\n\nBug: T130495\nChange-Id: I20575ce6f3039a178eed798ec211dd447a8c1e97\n",
"bugs": [
"T130495"
],
"subject": "ApiSandbox: Reduce width of field labels, and set max width on field",
"message": "Add EditConstraintFactory, migrate SimpleAntiSpamConstraint\n\nFactory is a service in ServiceWiring, given the number\nof dependencies that will eventually be needed, but is\ninternal and has no corresponding method in MediaWikiServices\n\nBug: T157658\nChange-Id: I801a09f5133bed14da10c64a42ca0658024357d3\n",
"message": "Update formatNum implementation to match tr35 and latest CLDR\n\n* Update digitGroupingPattern to match CLDR 31: New versions of CLDR has\n digit grouping pattern with decimal part. Update digitGroupingPattern\n values in Message classes with this improved pattern.\n Refer: http:\/\/unicode.org\/reports\/tr35\/tr35-numbers.html\n\n* Refer the following chart for the decimal patterns.\n http:\/\/www.unicode.org\/cldr\/charts\/31\/by_type\/numbers.number_formatting_patterns.html\n\n* Uses PHP NumberFormatter class for the commafy implementation, which\n is available in PHP 7.\n\n* Some tests need to update to match the TR 35 spec\n\n* The formatNum public method in Language.php is the preferred way to\n use this feature. It does separator transformation and digit transformation\n wherever applicable.\n\n* Renamed the second param name for formatNum from noCommafy to noSeparators\n\n* commafy method is deprecated and formatNum is preferred. Practically,\n we are not just adding comma, but seperators according to the language.\n Replaced some tests based on commafy methods with tests based on formatNum.\n\nNote: The corresponding js implementation is not changed in this commit.\nIt would probably be a good idea to use globalize.js, which is also based\non the CLDR patterns.\n\nNote: This patch preserves the existing off-by-one error in\n$minimumGroupingDigits; T262500 will eventually fix this.\n\nBug: T167088\nCo-Authored-By: C. Scott Ananian <cscott@cscott.net>\nChange-Id: Ic721b9a91e78e4ef07040339d1006b7a90a910c0\n",
"bugs": [
"T167088"
],
"subject": "Update formatNum implementation to match tr35 and latest CLDR",
"message": "Hard deprecation of Language::convertTitle(),\n ::findVariantLink(), ::updateConversionTable()\n\nCo-authored-by: C. Scott Ananian <cananian@wikimedia.org>\nBug: T226832\nChange-Id: I41a3b67490fc6b9d4c484f566d346a0d10c670e9\n",
"bugs": [
"T226832"
],
"subject": "Hard deprecation of Language::convertTitle(),\n ::findVariantLink(), ::updateConversionTable()",
"message": "Inject services into SpecialProtectedtitles\n\nThis covers only directly used services by this special page and pager\nServices used by the base class are not part of this patch set\n\nBug: T259960\nChange-Id: I63f07acb50bcfd05ce5203db1ec31feed5dad7d2\n",
"bugs": [
"T259960"
],
"subject": "Inject services into SpecialProtectedtitles",
"message": "Inject services into SpecialComparePages\n\nThis covers only directly used services by this special page\nServices used by the base class are not part of this patch set\n\nBug: T259960\nChange-Id: Ieea10ca032fefc6787ede5df6da19da63d152ec0\n",
"bugs": [
"T259960"
],
"subject": "Inject services into SpecialComparePages",
"message": "Inject services into SpecialMyLanguage\n\nThis covers only directly used services by this special page and pager\nServices used by the base class are not part of this patch set\n\nBug: T259960\nChange-Id: Ie5332b8c94f0bd54a0702d17cec7aec90c482b72\n",
"bugs": [
"T259960"
],
"subject": "Inject services into SpecialMyLanguage",
"message": "Inject services into SpecialExport\/SpecialImport\n\nThis covers only directly used services by this special page and pager\nServices used by the base class are not part of this patch set\n\nBug: T259960\nChange-Id: Ib6869d35afb8fc05709d42371c40ba8341af8f20\n",
"bugs": [
"T259960"
],
"subject": "Inject services into SpecialExport\/SpecialImport",
"message": "Inject Parser into SpecialVersion\n\nThis covers only directly used services by this special page and pager\nServices used by the base class are not part of this patch set\n\nBug: T259960\nChange-Id: I57872aa6e070da40a3accbba23e72bb2b36f580a\n",
"message": "Inject services into SpecialProtectedpages\n\nThis covers only directly used services by this special page and pager\nServices used by the base class are not part of this patch set\n\nBug: T259960\nChange-Id: I546f4c70cfea9859b2e873c915bfab209cfb36c0\n",
"bugs": [
"T259960"
],
"subject": "Inject services into SpecialProtectedpages",
"message": "Fix ip_changes.ipc_rev_id column default value\n\nInteger field should not be given a default string value.\nIntroduced in Ice1bdae3d16cf365da14c6df0e8d91d2b914e064.\n\nBug: T191231\nBug: T163562\nChange-Id: I74de8efa9b39c2c07fee8249d779a0622b3586d8\n",
"message": "Migrate watchlist table to Abstract schema\n\nPostgres:\n - Set empty string as default for wl_title to match MySQL\n - Drop foreign key from wl_user\n - Change wl_namespace datatype from SMALLINT to INT to match MySQL\/SQLite\n - Drop PG-specific indexes and sync them with MySQL\n\nBug: T230428\nBug: T164898\nChange-Id: Ie996b81ca59069443976b90d7bcdce29997d768a\n",
"bugs": [
"T230428",
"T164898"
],
"subject": "Migrate watchlist table to Abstract schema",
"message": "Update formatNum implementation to match tr35 and latest CLDR\n\n* Update digitGroupingPattern to match CLDR 31: New versions of CLDR has\n digit grouping pattern with decimal part. Update digitGroupingPattern\n values in Message classes with this improved pattern.\n Refer: http:\/\/unicode.org\/reports\/tr35\/tr35-numbers.html\n\n* Refer the following chart for the decimal patterns.\n http:\/\/www.unicode.org\/cldr\/charts\/31\/by_type\/numbers.number_formatting_patterns.html\n\n* Uses PHP NumberFormatter class for the commafy implementation, which\n is available in PHP 7.\n\n* Some tests need to update to match the TR 35 spec\n\n* The formatNum public method in Language.php is the preferred way to\n use this feature. It does separator transformation and digit transformation\n wherever applicable.\n\n* Renamed the second param name for formatNum from noCommafy to noSeparators\n\n* commafy method is deprecated and formatNum is preferred. Practically,\n we are not just adding comma, but seperators according to the language.\n Replaced some tests based on commafy methods with tests based on formatNum.\n\nNote: The corresponding js implementation is not changed in this commit.\nIt would probably be a good idea to use globalize.js, which is also based\non the CLDR patterns.\n\nNote: This patch preserves the existing off-by-one error in\n$minimumGroupingDigits; T262500 will eventually fix this.\n\nBug: T167088\nCo-Authored-By: C. Scott Ananian <cscott@cscott.net>\nChange-Id: Ic721b9a91e78e4ef07040339d1006b7a90a910c0\n",
"bugs": [
"T167088"
],
"subject": "Update formatNum implementation to match tr35 and latest CLDR",
"message": "Migrate watchlist table to Abstract schema\n\nPostgres:\n - Set empty string as default for wl_title to match MySQL\n - Drop foreign key from wl_user\n - Change wl_namespace datatype from SMALLINT to INT to match MySQL\/SQLite\n - Drop PG-specific indexes and sync them with MySQL\n\nBug: T230428\nBug: T164898\nChange-Id: Ie996b81ca59069443976b90d7bcdce29997d768a\n",
"bugs": [
"T230428",
"T164898"
],
"subject": "Migrate watchlist table to Abstract schema",
"message": "Migrate watchlist table to Abstract schema\n\nPostgres:\n - Set empty string as default for wl_title to match MySQL\n - Drop foreign key from wl_user\n - Change wl_namespace datatype from SMALLINT to INT to match MySQL\/SQLite\n - Drop PG-specific indexes and sync them with MySQL\n\nBug: T230428\nBug: T164898\nChange-Id: Ie996b81ca59069443976b90d7bcdce29997d768a\n",
"bugs": [
"T230428",
"T164898"
],
"subject": "Migrate watchlist table to Abstract schema",
"message": "Migrate new_talk to abstract schema\n\nFor MySQL\n - Modify user_last_timestamp from VARBINARY to BINARY\n\nFor Postgres\n - Drop foreign key on user_id\n - Rename indexes to match MySQL convention\n\nBug: T230428\nChange-Id: Idc3ded012890d4ace805a646d75cd805b49b250c\n",
"message": "Migrate sites table to abstract schema\n\nFor MySQL\/Sqlite, using mwtinyint instead of bool, in reality it doesn't\nmatter since bool is an alias of tinyint(1) in MySQL.\n\nIn Postgres:\n - Changing type of site_domain from TEXT to VARCHAR to make it in sync\n with MySQL\/Sqlite\n - Renaming all indexes from site_* to sites_* to be in sync with\n MySQL\/Sqlite\n\nBug: T230428\nBug: T164898\nChange-Id: Id73bb372807730446901d772fcdbd2f333b397ba\n",
"bugs": [
"T230428",
"T164898"
],
"subject": "Migrate sites table to abstract schema",
"message": "Migrate watchlist table to Abstract schema\n\nPostgres:\n - Set empty string as default for wl_title to match MySQL\n - Drop foreign key from wl_user\n - Change wl_namespace datatype from SMALLINT to INT to match MySQL\/SQLite\n - Drop PG-specific indexes and sync them with MySQL\n\nBug: T230428\nBug: T164898\nChange-Id: Ie996b81ca59069443976b90d7bcdce29997d768a\n",
"bugs": [
"T230428",
"T164898"
],
"subject": "Migrate watchlist table to Abstract schema",
"message": "Migrate querycache_info to abstract schema\n\nAdditional changes for Postgres:\n - Set empty string as default for qci_type\n - Set PG-equivalent of the given MySql\/Sqlite timestamp as\n default timestamp for qci_timestamp\n - Make qci_type non nullable\n - Make qci_timestamp non nullable\n - Drop UNIQUE constraint on qci_type\n\nBug: T230428\nBug: T164898\nDepends-On: If344395615087c360597a5b3d66ea03e930b7d9b\nChange-Id: I741d2d079696d4b4eba09945341054d2a145bddc\n",
"bugs": [
"T230428",
"T164898"
],
"subject": "Migrate querycache_info to abstract schema",
"message": "Migrate new_talk to abstract schema\n\nFor MySQL\n - Modify user_last_timestamp from VARBINARY to BINARY\n\nFor Postgres\n - Drop foreign key on user_id\n - Rename indexes to match MySQL convention\n\nBug: T230428\nChange-Id: Idc3ded012890d4ace805a646d75cd805b49b250c\n",
"message": "Migrate sites table to abstract schema\n\nFor MySQL\/Sqlite, using mwtinyint instead of bool, in reality it doesn't\nmatter since bool is an alias of tinyint(1) in MySQL.\n\nIn Postgres:\n - Changing type of site_domain from TEXT to VARCHAR to make it in sync\n with MySQL\/Sqlite\n - Renaming all indexes from site_* to sites_* to be in sync with\n MySQL\/Sqlite\n\nBug: T230428\nBug: T164898\nChange-Id: Id73bb372807730446901d772fcdbd2f333b397ba\n",
"bugs": [
"T230428",
"T164898"
],
"subject": "Migrate sites table to abstract schema",
"message": "Migrate watchlist table to Abstract schema\n\nPostgres:\n - Set empty string as default for wl_title to match MySQL\n - Drop foreign key from wl_user\n - Change wl_namespace datatype from SMALLINT to INT to match MySQL\/SQLite\n - Drop PG-specific indexes and sync them with MySQL\n\nBug: T230428\nBug: T164898\nChange-Id: Ie996b81ca59069443976b90d7bcdce29997d768a\n",
"bugs": [
"T230428",
"T164898"
],
"subject": "Migrate watchlist table to Abstract schema",
"message": "Migrate querycache_info to abstract schema\n\nAdditional changes for Postgres:\n - Set empty string as default for qci_type\n - Set PG-equivalent of the given MySql\/Sqlite timestamp as\n default timestamp for qci_timestamp\n - Make qci_type non nullable\n - Make qci_timestamp non nullable\n - Drop UNIQUE constraint on qci_type\n\nBug: T230428\nBug: T164898\nDepends-On: If344395615087c360597a5b3d66ea03e930b7d9b\nChange-Id: I741d2d079696d4b4eba09945341054d2a145bddc\n",
"bugs": [
"T230428",
"T164898"
],
"subject": "Migrate querycache_info to abstract schema",