Commit graph

468 commits

Author SHA1 Message Date
Reedy
4e1f2ad5d8 Updated wikimedia/services from 3.0.0 to 4.0.0
Bug: T379384
Change-Id: Ia84fe750996a15370cf41a0a15bc77919dbc5abf
Depends-On: I78e985d273146b71302f430201c1331bbecf1d8a
(cherry picked from commit 81ae1abd7382fb5772191e350c596857f9d238ba)
2024-11-09 20:32:02 +00:00
Timo Tijhof
e0f6f8f527 objectcache: Move RedisConnRef.php to /libs/objectcache/
Change-Id: I4c6a349afcc4039bec27413af9511639f8c0c4b0
(cherry picked from commit 72338de32b249a7cff0b758746c0896fd649e53b)
2024-11-07 08:40:54 +00:00
James D. Forrester
454448d4fd Updated wikimedia/remex-html from 4.1.0 to 4.1.1
Bug: T379082
Change-Id: I0737aee4b16c5d657670b9ff9e9f23610fd89c78
(cherry picked from commit 656b409efff29b144a6d7a5e82979ebe4cfb5dc5)
2024-11-05 22:52:32 +00:00
James D. Forrester
7d8d39757b Upgrade mediawiki/mediawiki-codesniffer from 44.0.0 to 45.0.0 and composer/semver from v3.4.2 to v3.4.3
Bug: T375310
Depends-On: I7245d5d0dd5ccdfc483c5dc95690b8971a8f0bac
Change-Id: I4c0e4eac206035dfbd9d7268fbd895c16957d4da
(cherry picked from commit 2869a7e77cea2f4a4f5b712b758a31f40c961924)
2024-11-05 17:33:25 +00:00
SomeRandomDeveloper
9e85d2cdbd CentralIdLookup: delete deprecated factoryNonLocal() method
Hard deprecated since MW 1.37, cannot be found in Codesearch, even with "Everything" selected.

Bug: T362636
Change-Id: Ie2e09d55a464f72e2fe9a01113629aafc38f2ce9
2024-11-04 22:43:01 +00:00
Bartosz Dziewoński
911abbf573 Deprecate wfArrayDiff2()
No longer used anywhere.

Change-Id: I7c35e92e2926489f140b86bca13efaf4144f4057
(cherry picked from commit f1de465a23d6e0c45c974e7a338d649c58dd2a4c)
2024-11-04 19:34:41 +00:00
Bartosz Dziewoński
4efe6fe7e2 Message: Downgrade exception on bool/null param to warning
Bug: T378876
Change-Id: Iecbf83dd060b2a1dc30bd33bfc4f2a42cfbd2a1f
2024-11-02 12:18:56 +00:00
Derk-Jan Hartman
b00f7237ee Searchindex primary key, title length and utf8mb4
- Make si_page primary key
- Allow si_title to be larger
- Switch from utf8 to utf8mb4
- Remove default of empty string for titles

Sqlite is not migrated, as it has it's own overrides
Postgres is migrated, but is not in actual use

This is mostly from I273e3a7715abf97d2889904642c7c375e76de4f6

Bug: T249976
Bug: T231827
Change-Id: I12adff3e6ca6a9986ff207bef16272195c3a6a48
(cherry picked from commit a2ba7ee14d6b38a5e89bcc63c3bd0ca8b5107702)
2024-11-02 11:14:37 +00:00
Jon Robson
3f9b46636b RELEASE NOTES: Update release note relating to hard deprecation
Follow up to  I4c249acb1fcd0848428c99b8d3badebbc38b5dac
to note that previously soft deprecated methods now emit
warnings.

Bug: T377521
Change-Id: Ia02cad71d2274cecc7ad39ca9e2e94c149360213
2024-10-30 21:54:44 +00:00
Jon Robson
c6741353e3 Skin: [BREAKING CHANGE] Remove support for rendering outside body element
Methods were deprecated in 1.39 and the majority of skins are now
updated. This change means that skins can no longer override the rendering
of the HEAD element meaning extensions can rely on ResourceLoader support,
and hooks that modify the HEAD element indirectly

The new Skin::outputPageFinal method is adding to honor the existing
outputPage method that is stable to override but to prevent extending skin classes
from generating HTML which does not include HTML generated by hooks e.g.
ResourceLoader internals. This new method is for
internal usage by OutputPage only for this reason.
This keeps all HTML generation inside
the Skin class (e.g. preserves the status quo) until we can work out better
boundaries between Skin and OutputPage.

Bug: T306942
Change-Id: Ib023ef3335bb72306a01230b6cd1169dc7652588
(cherry picked from commit c7656257159a3d85422f4558f5add6df1564f3c3)
2024-10-30 15:18:51 +00:00
Reedy
8d36bd09cb Update wikimedia/shellbox to 4.1.1
Bug: T378422
Change-Id: I715ab5d453a1001f2069cbcf7d74f88d01f743fd
Depends-On: I211fc38b4b4c898b7e8428a22ed901a4114bf52b
2024-10-29 22:25:08 +00:00
xtex
14766586a5 docs: Mention wgParserEnableUserLanguage in release notes
Bug: T4085
Change-Id: I26b3ca261b5366a9fb5c4a6f1b10769ddd9ad012
2024-10-28 04:31:26 +00:00
Reedy
7f62263373 Updated guzzlehttp/guzzle from 7.8.1 to 7.9.2
Bug: T378306
Change-Id: Ic29aa0674904f7a89b58600caa448370cdb4e72a
Depends-On: I8fde4133d0485dd42e332ac7123046aa7b691205
(cherry picked from commit 0f3c06900813aab90673c1c38d41843f82020ae8)
2024-10-27 23:52:02 +00:00
C. Scott Ananian
d0e0baf6a9 ParserOutput::getExternalLinks(): Deprecate use of the internal array reference
In a future release this will return an array, not a reference to the
internal array, to maintain abstraction and allow for representation
changes internal to ParserOutput.

This patch just add deprecation notices to the class and to the
release notes.

Change-Id: Ie3a3f98402c5a5a3a92326d7736c0df874829a6b
2024-10-22 16:33:27 -04:00
jenkins-bot
a92f3be569 Merge "rdbms: clear replica snapshots in (begin|commit|rollback)PrimaryChanges()" 2024-10-22 15:25:44 +00:00
jenkins-bot
02046a2669 Merge "Update release notes with Linter changes and migration advice" 2024-10-21 23:34:19 +00:00
jenkins-bot
39313b13bc Merge "ParserOutput: Introduce ParserOutput::getLinkList()" 2024-10-21 21:04:38 +00:00
jenkins-bot
2f8c2f41c7 Merge "Remove support for using Skin::addToBodyAttributes" 2024-10-21 17:14:02 +00:00
jenkins-bot
f057afcc4d Merge "Deprecate ::setMetrics() calls with StatsdDataFactoryInterface" 2024-10-21 17:12:19 +00:00
jenkins-bot
3696a60b21 Merge "Add Central Kanuri (knc), deprecate Kanuri (kr)" 2024-10-21 15:44:48 +00:00
jenkins-bot
cd7a5998e9 Merge "Make Message and MessageValue compatible" 2024-10-21 15:38:56 +00:00
NMW03
15a5d0327a Mention autonym change of Kadazandusun in release notes
Bug: T375891
Change-Id: I99649ee44167bc4dbcf18eacee170ea96aad7f30
2024-10-21 14:05:38 +00:00
Isabelle Hurbain-Palatin
b60d8ed7f3 Update release notes with Linter changes and migration advice
Bug: T331883
Bug: T367207
Change-Id: Iafa58435056ac7e7afd6a6d2abf2b48948edd222
2024-10-21 15:52:04 +02:00
Ammarpad
223bc155b1 Remove support for using Skin::addToBodyAttributes
This is back compat logic for a removed Skin method since 1.35

Change-Id: I526973e97f9093fd082bfb9a9aa85edaebc1126d
2024-10-20 21:45:31 +01:00
Amir E. Aharoni
3846622d03 Add Central Kanuri (knc), deprecate Kanuri (kr)
Should be merged only when appropriate for
migrating from "kr" to "knc" on translatewiki.
See bug T356144.

The autonym is from Ethnologue.

The namespace translations are by User:MohammedBama123
(Mohammed Mustapha Bulama), shared at:
https://incubator.wikimedia.org/w/index.php?title=Talk:Wp/knc/Main_Page&oldid=6416513#Namespaces

Bug: T356144
Change-Id: Ifa1a692619d3b12e279cc74482b6327262fcb20f
2024-10-20 19:18:46 +00:00
jenkins-bot
67d7d2747a Merge "Skin: Remove deprecated skin methods" 2024-10-19 18:51:58 +00:00
Jon Robson
f5f0990db8 Skin: Remove deprecated skin methods
* Skin::makeSearchInput has been deprecated @since 1.35
and was replaced with a final method on SkinTemplate
* Skin::makeSearchButton has been deprecated @since 1.39
- and was replaced with a final method on SkinTemplate
* SkinTemplate::buildContentNavigationUrls deprecated @since 1.38
and has no consumers.
* Merges the @internal  makeSearchButtonInternal method into
makeSearchButton per deprecation note

Bug: T377521
Change-Id: I59c75d5636fc7958cc6ee4444f9c32d79fefa15d
2024-10-19 17:42:57 +00:00
Bartosz Dziewoński
9d56257d8c Make Message and MessageValue compatible
Fix two problems that made it difficult to convert between Message
and MessageValue, or to write code that could accept both of them,
as exemplified by the StatusValue class:

* Implement a common interface
* Use the same internal format for message parameters

While these changes should be compatible with most of existing code,
where the authors were courteous enough to simply call methods such
as Message::numParam() and not look inside the values they return,
it is potentially a breaking change for anything that depended on
the formatted params being arrays or accessed their keys.
Example patches: https://gerrit.wikimedia.org/r/q/topic:message-param

Notable changes:

* Message and MessageValue now both implement MessageSpecifier
  (only Message implemented it before).

* Message::numParam() and other static methods for encoding params
  now return MessageParam objects, instead of special arrays.
  Use these MessageParam objects internally in Message.

* Narrow down the return type of MessageSpecifier::getParams() (it
  was just `array`, allowing any type in the array). Narrow down the
  types for Message::params() and MessageValue::params() to match.

* Deprecate MediaWiki\Message\Converter. As a replacement add
  MessageValue::newFromSpecifier(), which is analogous to
  Message::newFromSpecifier(), but without weird legacy edge cases.

* Make StatusValue::getMessages() return MessageValues. Remove code
  that converted between Message and MessageValue, no longer needed.

* Update many type declarations and comments to use MessageSpecifier
  instead of MessageValue, as well as a couple of tests that depended
  on implementation details.

Bug: T358779
Change-Id: I625a48a6ecd3fad5c2ed76b23343a0fef91e1b83
2024-10-19 15:00:07 +02:00
C. Scott Ananian
4d4715326a Deprecate ::setMetrics() calls with StatsdDataFactoryInterface
HtmlInputTransformHelper::setMetrics() and
HtmlToContentTransform::setMetrics() take a StatsFactory now; deprecate
passing a StatsdDataFactoryInterface.

Depends-On: I0d8eb6cacd761fa4959419b10d59046e61c714ff
Change-Id: I2374731f6d37a191fc4a865d2665f2ca18182db1
2024-10-18 18:45:00 -04:00
C. Scott Ananian
004cb43c56 ParserOutput: Introduce ParserOutput::getLinkList()
This deprecates a number of methods which returned arrays by reference and
exposed internal representation details of the ParserOutput.  It also
regularizes the return values to return consistent LinkTarget values,
working around the wide variety of different internal storage formats
used for links.

In the future, once these methods which expose the internal representation
are removed, we can simplify our internal storage as well.  But for the
moment we add the new getter without changing the internal representation.

Note that by returning TitleValue objects this new interface also provides
a means to fix the issue identified in T204792 where interwiki and namespace
prefixes were getting confused.  A TitleValue properly distinguishes between
these -- although the callers will still have to be careful to use it as
a TitleValue and not attempt to reparse it.

These methods also correctly handle fragments, which are present for the
language link type but stripped for the other linkt types.

Bug: T204792
Change-Id: I48a2077b9645124f83082afd953d6bf7a861270b
2024-10-18 13:24:10 -04:00
C. Scott Ananian
31039fefe6 OutputPage::setRobotPolicy(): deprecate 'index' after 'noindex'
Use OutputPage::setIndexPolicy() so that we document the change in
behavior for OutputPage::setRobotPolicy() and emit deprecation
warnings as needed.

Bug: T377586
Change-Id: Ieab6a66b7ba868acf4da2d785a44a0307c0dacc1
2024-10-18 10:46:38 -04:00
C. Scott Ananian
d6d6343c68 Deprecate OutputPage::{get,set}PreventClickjacking()
This is redundant with the same-named methods on ParserOutput.

Bug: T301020
Change-Id: I60455186e3a6e9b4329ff09e2f7ea920e2e05192
2024-10-17 23:51:39 -04:00
C. Scott Ananian
8509ded4f0 Deprecate OutputPage::{get,set}IndexPolicy()
This is redundant with the same-named methods on ParserOutput.

Bug: T301020
Change-Id: I41dcca30e106f77d12d9afe780f8578a4f1c81c9
2024-10-17 23:51:12 -04:00
C. Scott Ananian
62d6c23539 Use OutputPage::$metadata to store index policy
As a first step in a plan to reduce redundancy in OutputPage, replace
the $mIndexPolicy property of OutputPage with the corresponding
getter/setter methods in a ParserOutput held for the purpose of
storing metadata.

Bug: T301020
Change-Id: I6073f4033be936b669532ecf8104a8e5ff498e24
2024-10-17 23:46:19 -04:00
Tim Starling
cba8c23fa4 Update to Shellbox 4.1.0
Bug: T292322
Change-Id: Ic5c188629288a9274bd94a9aa88201d4291c306f
Depends-On: I1863e7bd890861fb23db9f1f7f27e48ddf5f6b69
2024-10-17 17:33:14 +00:00
jenkins-bot
4acdea458f Merge "Update Codex from v1.13.1 to v1.14.0" 2024-10-16 17:26:41 +00:00
jenkins-bot
12f1cf5e59 Merge "ConditionalDefaultsLookup: allow to dynamically add conditions for evaluation" 2024-10-16 16:49:03 +00:00
lwatson
15eea4cea6 Update Codex from v1.13.1 to v1.14.0
Bug: T362650
Bug: T370057
Bug: T371118
Bug: T374659
Bug: T374882
Bug: T375699
Bug: T375700
Bug: T376024
Bug: T376622
Change-Id: I18684997862a1a6427627d8061a2583fff00e621
2024-10-16 09:11:15 -07:00
Sergio Gimeno
37985a198d ConditionalDefaultsLookup: allow to dynamically add conditions for evaluation
Why:
To facilitate the evaluation of conditions not directly
"known" by the lookup, eg: owned by extensions

What:
- Add ConditionalDefaultOptionsAddCondition hook which
runs before instantiating ConditionalDefaultsLookup allowing
to add conditions for evaluation in the $extraConditions
array.
- Evaluate the configured conditional default against the
 extra added conditions after evaluation of "known"
conditions.

Bug: T376918
Change-Id: Ife6f96397eafd61fdb40528aac315ddde1ef2774
2024-10-16 17:39:12 +02:00
jenkins-bot
092dbe39bc Merge "package.json: add pinia and @pinia/testing" 2024-10-16 15:11:49 +00:00
James D. Forrester
a5387c7c20 Namespace all remaining classes in includes/parser
Bug: T353458
Change-Id: If02cc9b1ff78e26c1cf8c91ee4695845eb133829
2024-10-15 23:54:32 +01:00
jenkins-bot
23ec5ff94e Merge "Add namespace to maintenance/includes classes" 2024-10-15 22:50:33 +00:00
MusikAnimal
f717259a14 package.json: add pinia and @pinia/testing
The upcoming Multiblocks project will make use of a Pinia store, which
is already shipped in MediaWiki via ResourceLoader. In order to continue
to test Vue components that make use of a store, we need the Pinia
testing utilities.

The 'pinia' package is locked to the same version that's in RL, 2.0.16,
while '@pinia/testing' is locked at 0.0.12, the same version used by
some extensions such as GrowthExperiments.

Bug: T251790
Change-Id: Ia88d987bf7e5afa1a17d63b4ebc96448ccec2f6c
2024-10-15 17:54:33 -04:00
James D. Forrester
808a9a70c4 Upgrade AtEase from 2.1.0 to 3.0.0
Bug: T376911
Depends-On: I39879b6a9aaef80f6a76bd09b72a97aa48fb8421
Depends-On: Ic3e749daf98742fe390420b7edcad95bde5ab79c
Change-Id: I46edad548e0e2390cf79eec9c68c7cc4c3bf68f1
2024-10-15 16:55:47 +00:00
James D. Forrester
6c2a5c54c0 Upgrade xmp-reader from 0.9.1 to 0.9.2
Depends-On: I3d259aed48aa443c675d44a747de13f3229bb4ec
Change-Id: I0da75004fd5a07f2115b17d17d273917339e4e0f
2024-10-15 10:01:26 -04:00
James D. Forrester
c6aa4b4bd0 Upgrade php-session-serializer from 2.0.1 to 3.0.0
The breaking change is dropped PHP 7.4 support.

Depends-On: Ice6ed4d3fa376a37faae75d11cb81c9221f7f29f
Change-Id: Ib74d84f753bf5230a0e1ab8c7f7f0c664f6ba4ce
2024-10-15 10:00:36 -04:00
Reedy
fc2852f44f Remove MediaWikiVersionFetcher
Change-Id: I3a44557ed5e4ab06dde0eb8aaaba2be785faff27
2024-10-14 12:00:08 +00:00
jenkins-bot
4289b8a576 Merge "Deprecate .horizontal-gradient and .vertical-gradient Less mixins" 2024-10-12 11:10:33 +00:00
Fomafix
3f1e249b00 SpecialBlock: Hard-deprecate deprecated functions
processForm, parseExpiryInput and canBlockEmail are deprecated since
1.36.
getSuggestedDurations is deprecated since 1.42.

Depends-On: I5931525f95ff6eb76a2b30aa7a852cc86075276f
Depends-On: I6a570e503fee6676e7c54beb6f37575058a57339
Depends-On: I6890763dbe30cc33b2715e93c59cee331d8967b1
Depends-On: I99f49dd3f20032848cc7a191a6b46c5816f3bff2
Change-Id: Ibbf51d9de168d97c0ed3c827f02a356c8a579987
2024-10-10 15:52:57 +00:00
jenkins-bot
dbe8c4b9aa Merge "WebRequest: Deprecate parameter $default in getRawVal" 2024-10-10 15:05:35 +00:00