Why:
- From MediaWiki 1.36 to MediaWiki 1.44 (inclusive),
`PostgresUpdater.php` contains a typo in the instruction to rename
the `sites_group` index to `site_group`.
- This typo means that - on Postgres wikis - the MediaWiki update
script will not currently rename this index as intended, as the index
which the updater is told to rename (i.e., containing the typo)
doesn't exist.
- From MediaWiki 1.42 onwards, this typo indirectly causes `update.php`
on Postgres wikis to throw an error on its first run:
- From MW 1.42 onwards, the update script included an instruction to
drop multiple indexes on the `sites` table, including this index
that was previously intended to be renamed.
- However, as this typo meant that the `sites_group` index was never
renamed on Postgres wikis, the database is unable to find the
renamed index in order to drop it; and consequently throws an
error (reported on Phabricator as T374042).
- This only affects the first run of `update.php` due to the fact
that - when deciding whether to apply the patch containing _all_ of
the index-drops for the `sites` table - the `dropIndex` instruction
only checks for the existence of the `site_type` index (and, if the
`site_type` index doesn't exist, the patch as a whole isn't applied).
However, as - within `patch-sites-drop_indexes.sql` - the statement
to drop the `site_type` index is located _before_ the instruction to
drop the `site_group` index, the `site_type` index will have been
dropped on the first run of `update.php`.
- This also means that - on any future runs of `update.php` - the
indexes listed after (and including) `site_group` in that SQL file
will currently remain un-dropped.
What:
- Fix the typo in the PostgresUpdater index renaming instruction:
`'sites_group, '` -> `'sites_group'`
- Update PostgresUpdater to individually re-attempt to drop the indexes
listed after & including `site_group` in
`patch-sites-drop_indexes.sql`, to ensure that they're dropped on
Postgres wikis that have already (1) upgraded to MW 1.42+, & (2) ran
`update.php`.
(These could theoretically have all been combined within one extra
SQL patch, rather than one for each index; but I thought it might be
best for the updater to check for the existence of each of these
indexes individually before it attempts to drop each one.)
Follows-up 9907b56c9b, 616744db1d
Bug: T374042
Change-Id: Ie6ffa92153e64ca653f726a35a5a6b5d95d093f5
The convert from raw sql to expression in 81c6df6a46
has a error for the touched condition.
Switch the conditions and use RawSQLExpression to use the raw sql.
Follow-Up: Ieb229d8088cb1ff3f03e44f7ac99eb612f48bc7b
Change-Id: I8fbe0ec44d1a43795a3e4c94f910e09878eebde6
(cherry picked from commit f11b59de58bcb241fa337bbcdd276d25bc94e462)
Reason for backport:
This can also be a Debian 13 support issue, some MW installations may
have had `$wgLocaltimezone` set to deprecated values[1] like `PRC`
by the installer or manually.
After they upgrade to Debian 13, the `tzdata` package no longer
provides these timezones, and the `tzdata-legacy` package is not to be
installed by default.
[1]: https://www.php.net/manual/en/timezones.others.php
Bug: T380423
Change-Id: Ie2001796442ee6ba973fdb4b7b1dc7312f802e8d
(cherry picked from commit 45dc435d897d7716ddc8215cb841b07f1c7a2f9c)
* Update skins/Vector from branch 'REL1_43'
to 5c2db5ad672761fb395b3c9a53a89a6d1dfc2bfc
- Localisation updates from https://translatewiki.net.
Change-Id: I6ffb332874fc7c60fcf2a00c6ee2de5d0ba30ac7
* Update skins/MinervaNeue from branch 'REL1_43'
to fc7a61607d83cd13635611542aa4941c5b26783e
- Localisation updates from https://translatewiki.net.
Change-Id: Iccabcb135a45fd9cefa2de1331ffbaf8a12c3b03
* Update extensions/VisualEditor from branch 'REL1_43'
to 17e4b901bf43e843253f1d64ae6192786a749c56
- Localisation updates from https://translatewiki.net.
Change-Id: Ia5c6222876a30901ec002faf16391d891c7be4d4
* Update extensions/WikiEditor from branch 'REL1_43'
to 95155114c5e950fc53183ad8e8dab7d3596500d9
- Localisation updates from https://translatewiki.net.
Change-Id: I27916227815aa44be6bb1282b4f5017f651c21bc
* Update extensions/Thanks from branch 'REL1_43'
to 727c027b8bb8b11def3c3c1d63fc04c2d4594935
- Localisation updates from https://translatewiki.net.
Change-Id: I9150fb2eb829fd065379d437c6dcc5672d82d833
* Update extensions/TemplateData from branch 'REL1_43'
to 5a4184b03c8771721c7642e9951043828edf63d0
- Localisation updates from https://translatewiki.net.
Change-Id: I088de2c9783294b7e22112121bd0581957ed04cc
* Update extensions/Scribunto from branch 'REL1_43'
to 49735b9b0eb98bb9a3580ff4a8814c58d0fc6a07
- Localisation updates from https://translatewiki.net.
Change-Id: I90d2ce9e836f1ad380ddb6061a3bd4f79cd994a5
* Update extensions/PdfHandler from branch 'REL1_43'
to 431c8f9ea566481a2c43336e5fa70912fa40b1bf
- Localisation updates from https://translatewiki.net.
Change-Id: I1249ba6014777e50149a0afa4bceea35e2a772d2
* Update extensions/ParserFunctions from branch 'REL1_43'
to 84e4ff9b7f1a4c9cf457c6956d13663411bdda56
- Localisation updates from https://translatewiki.net.
Change-Id: I3e9759892e71be9eadedd52ef153c03070c167e6
* Update extensions/Nuke from branch 'REL1_43'
to e4e217058426c71cf07e01f0ee1cc8442fbfe4ec
- Localisation updates from https://translatewiki.net.
Change-Id: I7eeb12e519244f197902c4b5f8e67cdec468c838
* Update extensions/Linter from branch 'REL1_43'
to 0748f3d82008b0848c327395fe871fdeaf70264c
- Localisation updates from https://translatewiki.net.
Change-Id: Id93e6b842a5680e1a605df6d5e5b256eec962603
* Update extensions/LoginNotify from branch 'REL1_43'
to afe5d60a3bdd3642b4b8d47f8c341b7a5042c5e9
- Localisation updates from https://translatewiki.net.
Change-Id: Ic16b2c24a92f1cbb7de68f45a0aeaba1006d0191
* Update extensions/ImageMap from branch 'REL1_43'
to 034a89c710696b04f509e9c4b2ae9fc291986e9f
- Localisation updates from https://translatewiki.net.
Change-Id: I974a889c39c067c45e343d56f3bc837037a151fe
* Update extensions/Gadgets from branch 'REL1_43'
to d215343d742c354cf9f01f0838ae7e8448b7c041
- Localisation updates from https://translatewiki.net.
Change-Id: I318b1b1db07805064563c81ad12b8cf531968c70
* Update extensions/Echo from branch 'REL1_43'
to ef46451b9be6af9e7a2411d044fe43aebed80564
- Localisation updates from https://translatewiki.net.
Change-Id: I078c5e0d15d501599e98132d0bf3804025a21569
* Update extensions/DiscussionTools from branch 'REL1_43'
to 0375aeaa06a84d83b2ed4b30dbc0c8d359ece4df
- Localisation updates from https://translatewiki.net.
Change-Id: Iab3bb8de5dcc4cc8775a68646528e4222e409c89
* Update extensions/ConfirmEdit from branch 'REL1_43'
to 1ef1d3917d7c8cc8a1b5ff25bcbdf63f12d2a3eb
- Localisation updates from https://translatewiki.net.
Change-Id: I2a99c152adb896ebc33a8bcf6b1b4480cdf6f969
* Update extensions/Cite from branch 'REL1_43'
to 8747d08faeed5adc5d28a5a1df6bbec071ba97d5
- Localisation updates from https://translatewiki.net.
Change-Id: Ifebfba06422119abd9324403b449c5088bf92898
* Update extensions/CategoryTree from branch 'REL1_43'
to 9f0287bf0eeb04bab2be3737c0dcd52c0fc57c72
- Localisation updates from https://translatewiki.net.
Change-Id: Ia9a2d0232a2d8859abd6a8781282f9ff43af8291
* Update extensions/AbuseFilter from branch 'REL1_43'
to 6f1895690a192c5b96acaed9f427c6a25c76ec11
- Localisation updates from https://translatewiki.net.
Change-Id: Ie5b55129fc1f145c1576c0670138e81721fa4f4f
- Handle GPS tags with decimal rational number instead of array of dms
rationals
- Mod the decimal values
- Increase validation on GPS tag format
Bug: T386208
Change-Id: Ief823af317bbb01b4a05e34b1d189ce1deaa1f33
(cherry picked from commit 55ffc43a596c0547986322ffe679d37daa921be7)
Use coalesce operator to check if the array key exists
Change-Id: Icf24e208a487bafe3d1983536870aac19cfc4b5e
(cherry picked from commit f0ad539b4e613216639b04386f56d6bb1b656d14)
In a future patch (Ia690f10ccbf4f60f9febca98915155c2df58f0d4) we will
use native JsonCodec serialization of the TOCData object. But first
we will add forward-compatibility code to deserialize TOCData, so that
if we need to rollback the future release we won't break the parser
cache.
New serialization test cases added, as per
https://www.mediawiki.org/wiki/Manual:Parser_cache/Serialization_compatibility
Bug: T327439
Change-Id: I4652b2709afd33ff5e469e36960391e993bc7bae
(cherry picked from commit bf61f6bc0eaf5013167e4b80860b0a610559c661)
Something changed in WMF CI config that causes this warning to be
emitted, perhaps T397429#11035011.
Change-Id: Ib477c1812c48a96b252a4f687e09f1ca5c30c2f3
(cherry picked from commit 4b5fc06c5e34b0a9332c9228ac3c28fd0f750c6c)
* Update extensions/AbuseFilter from branch 'REL1_43'
to 23e5a2a8caba8bcd975e2f1ae0f40f18c389c718
- Provide default for missing request values on Special:AbuseFilter/new
Missing request value can only happen when the form is submitted in an
non-normal way; we should ensure it does not log warnings in that case.
Bug: T396591
Change-Id: I101d5d8ed1bca134a6d1cd4da6ca4768374f484c
(cherry picked from commit b9e34ed31a5a221a5dd758b95eac3c857228747c)
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
to d8afdf64f373ada44c832a143169158d9ad691b3
- Update pygments/AUTHORS file
In create_pygmentize_bundle script, fetch the AUTHORS file from the
GitHub repo and update our local copy.
Change-Id: Ifbb84fcfb956fa2e3f4312e7b3b059c474322f82
(cherry picked from commit 696f5ef27a360017ead545a994b63f300f5ce021)
* Update extensions/AbuseFilter from branch 'REL1_43'
to bc7e84a07c991ebd9251fb7d0cfb5829af50cbaf
- SECURITY: Check protected variable access in CheckMatch API
Why:
* The AbuseFilter 'abusefiltercheckmatch' API allows users to
check if abuse_filter_log rows or recentchange rows match against
a provided pattern.
* This currently does not check if the pattern attempts to match
against protected variables that may be present in the variables
generated for either the RecentChange or abuse_filter_log row.
** This allows users to trial-and-error work out the value of
protected variables when they do not have access to the
variables.
* This should not be possible and proper access restrictions for
protected variables should be applied.
** This includes logging when a caller is matching against
protected variable values to avoid trial-and-error matching
allowing an authorised user to see the value without creating
a log entry.
What:
* Update CheckMatch::execute to:
** Reject attempts to match using a pattern that contains
protected variables that the user cannot see the value of.
** Reject attempts to match against abuse_filter_log rows that have
protected variable values that the user cannot see to be
consistent with Special:AbuseLog access restrictions.
** Log when the provided pattern uses protected variables that
have a value in the variable dump.
* Add tests to verify this fix works.
Bug: T397196
Change-Id: I5f02572b94760141f6f57873409469318f441e18
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
to ccf8bf6ef56c8acc5beed3a55f463acd3f16eeb0
- Update Pygments to 2.19.2
Bump embedded Pygments version from 2.18.0 to 2.19.2. Changes
<https://github.com/pygments/pygments/compare/2.18.0...2.19.2>.
New lexers: codeql, debian.sources, gleam, googlesql, hare, json5,
maple, numba_ir, numbair, pddl, pyi, ql, rego, tablegen, td, tsx, vue,
zetasql.
Includes upstream contributions from Taavi and Diskdance.
Bug: T383018
Change-Id: I2430784ee62b348f902bdeeb55b04536a963ad98
(cherry picked from commit 936d4b68cd563b79fce27b65780ae20f36ea7ecf)
Add a new test case for the "empty ToC" case, to complement the
existing serialization test cases for "missing ToC" and "non-empty
ToC".
Change-Id: I8e2ff94f871546232cbf099f98bfcce559de76f2
(cherry picked from commit cb2173c57276142adc466f7494016e2faf15b758)
* Update skins/Vector from branch 'REL1_43'
to 5f0b824950827049a4fef1b30300fb47f0146547
- Localisation updates from https://translatewiki.net.
Change-Id: I8857751edb1f26a8fa4d8efc416a3b301ead1b16
* Update skins/MinervaNeue from branch 'REL1_43'
to 15be00877bcaa6454fef62f41cec84075f92e14b
- Localisation updates from https://translatewiki.net.
Change-Id: I7082bde397bc470df6851db797a2e18d9c2d4c66
* Update skins/MonoBook from branch 'REL1_43'
to d1e391f5d5bca71a347074587e3b2bffe43109b3
- Localisation updates from https://translatewiki.net.
Change-Id: I373c99025e8ff707f47a47cec325f5d945de88a4
* Update extensions/VisualEditor from branch 'REL1_43'
to bf5a93f1d42f6bf6dd644819bcb7138e8c26c147
- Localisation updates from https://translatewiki.net.
Change-Id: I95a318a1e35e29a56b677adcb9d1eb4525856a37
* Update extensions/WikiEditor from branch 'REL1_43'
to 14128bb4148e03f1b15c8d8a2345d4344f155b9a
- Localisation updates from https://translatewiki.net.
Change-Id: I95a318a1e35e29a56b677adcb9d1eb4525856a37
* Update extensions/Thanks from branch 'REL1_43'
to 75ea5628f951044bfe25d9985abdec59f035d1f3
- Localisation updates from https://translatewiki.net.
Change-Id: I6549effe94b0132baa9bce2bd1717a3de18ef0d8
* Update extensions/TextExtracts from branch 'REL1_43'
to d883c3ee1b4559d135e81c9c3b063692f9d54b35
- Localisation updates from https://translatewiki.net.
Change-Id: I888942b85883774788329e089bded87fe405b7d6
* Update extensions/TemplateData from branch 'REL1_43'
to b966fe7c94c580a5f03df1f386962551653f333e
- Localisation updates from https://translatewiki.net.
Change-Id: I4db9f8c43a3dfec526425b746b88f7a768d154dc
* Update extensions/OATHAuth from branch 'REL1_43'
to 41afa24a708a23b01c92dcaddb6ff4e5e0734062
- Localisation updates from https://translatewiki.net.
Change-Id: I9e607b12c7696c58a63ba53bb434a6c9b30749bb