Hi All,

Welcome to the monthly MediaWiki Insights email!

First of all, many thanks and congratulations to Harshrathod50 and Ahecht
who got their first patch merged in MediaWiki core, extensions or services
deployed in Wikimedia production during the month of June!

As we concluded the Foundation’s fiscal year 2023/2024 on June 30, 2024,
it’s also time to share the final stats for contributions to MediaWiki core
over the past year: We’ve achieved a 25% increase in the number of authors
who have committed more than 5 patches! The overview
<https://www.mediawiki.org/wiki/MediaWiki_Product_Insights/Contributor_retention_and_growth#MediaWiki_core>and
celebration
<https://www.mediawiki.org/wiki/MediaWiki_Product_Insights/Contributor_retention_and_growth/Celebration>
pages now include the updated count and authors. Thank you all so much.

Project snapshots: Migration to Prometheus reaches milestone, work in
flight on REST API, and updates to Wikimedia password storage

The Observability team has completed the migration of MediaWiki core
metrics to the Prometheus-capable library StatsLib and made significant
progress overall
<https://grafana.wikimedia.org/d/nCxX65cSk/mediawiki-statslib-migration?orgId=1>
(tracking task: T343020 <https://phabricator.wikimedia.org/T343020>). This
marks a key milestone on the path towards using Prometheus as the standard
metrics infrastructure in Wikimedia production. The migration to Prometheus
will continue over the next year with the goal to be able to sunset
Graphite. Many thanks to the Observability team and everyone who has helped
with this migration so far!

The MediaWiki Interfaces team has been working on improving the experience
of REST API endpoint creators and callers through multiple related
initiatives:


   - Ability to specify REST modules in an OpenApi-like JSON syntax
   <https://phabricator.wikimedia.org/T366837>
   - Ability to define JSON schema definitions for body param validation
   <https://phabricator.wikimedia.org/T362108>
   - Ability to generate request body specs from param settings
   <https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1017343>
   - Exposing a Swagger-UI view of MW REST endpoints
   <https://phabricator.wikimedia.org/T362006>

Putting all this together, REST endpoints can be specified and defined in
ways that not only support better namespacing, versioning, and parameter
validation, but which also feed directly into generation of an OpenAPI spec
which can be viewed on-wiki in an interactive sandbox. Some of this work is
still being completed – but these changes should benefit both endpoint
creators and endpoint callers. The work has been done in a
backward-compatible way, which means we've just introduced the ability to
do these things. More work remains to actually realize the benefits of
these changes. Many thanks to the MediaWiki Interfaces team and Daniel
Kinzler for driving much of the vision for this work.

The MediaWiki platform team worked on the completion of the Less.php
upgrade work for Less.js 3.0 compatibility, with the release of Less.php 5.0.
The release notes are at
https://gerrit.wikimedia.org/g/mediawiki/libs/less.php/+/v5.0.0/CHANGES.md.
Before we can enable use of new CSS "slash" features in Less.php 5.0, a few
extensions and components have to first prepare themselves. Maintainers and
contributors are invited to help with this, details are at T368921
<https://phabricator.wikimedia.org/T368921>. Many thanks to Hannah,
Dringsim, Piotr, Timo and Bartosz for their work!

More highlights from work done to improve security, ease of use,
maintainability and overall code health:

Zabe updated Wikimedia’s password storage: All passwords are now encrypted
<https://phabricator.wikimedia.org/T150647> and we use the stronger Argon2
hashing algorithm <https://phabricator.wikimedia.org/T216682> instead of
PBKDF2, which together adds an extra layer of security. A big thanks to
Zabe for this important work & to the MediaWiki platform team for code
reviews!

Rdbms library: We shared about the efforts to improve consistency, security
and ease for getting database connections and performing common queries
already in the October
<https://www.mediawiki.org/wiki/MediaWiki_Product_Insights/Reports/October_2023#Project_snapshot:_New_database_features,_new_security_feature,_and_Source_Maps_now_live_on_all_Wikimedia_wikis_+_default_in_MediaWiki>
and April
<https://www.mediawiki.org/wiki/MediaWiki_Product_Insights/Reports/April_2024#Project_snapshots:_ObjectCacheFactory_introduced_to_MediaWiki_core,_SUL3_and_more_work_on_REST_API>
MW Insights editions. Over the past weeks, work continued on removing or
deprecating methods <https://phabricator.wikimedia.org/T363839> that are no
longer needed after the introduction of the new APIs. To date, 19 methods
have been removed, the remaining are deprecated or marked internal.

The related work to update WMF-deployed extensions to use SelectQueryBuilder
<https://phabricator.wikimedia.org/T311866> was completed in May, and the
work to migrate WMF-deployed extensions to use expression builder
<https://phabricator.wikimedia.org/T350075> made substantial progress over
the past months! A huge thanks to Amir Sarabadani for leading on this work,
Umherirrender for taking on many updates to extensions, and everyone else
who helped make this happen.

TK999 refactored redirect storage to follow modern architecture standards (
T290639 <https://phabricator.wikimedia.org/T290639>) - many thanks for
working on this :-)

Umherirrender worked on removing inline namespaces across core and
extensions over the past months (example
<https://gerrit.wikimedia.org/r/c/mediawiki/extensions/OAuth/+/1042353>) -
many thanks for this impressive long tail of work to ensure consistent
usage of namespaced classes across MediaWiki. A big shout out also to
Danny712 for supporting this effort with code reviews!

The Wikimedia *interwiki-map on Meta* was migrated from a wikitext table to
a machine-readable JSON format (T365803
<https://phabricator.wikimedia.org/T365803>). The map is now maintained as
JSON at https://meta.wikimedia.org/wiki/Interwiki_map/list, with the former
page rendering this into a table for reading convenience, powered by a
Scribunto Lua module. Many thanks to Reedy for carrying out this work, and
to Pppery and Timo for supporting it!

Last, many thanks to the Kiwix team for their work on migrating from Mobile
Content Service (MSC) to its replacement, the Page Content Service
<https://www.mediawiki.org/wiki/Page_Content_Service> (PCS). This enabled
us to set the sunset deadline for the Mobile Content Service
<https://phabricator.wikimedia.org/T328036#9930794> for the end of July,
2024.

Outlook: We just started with the new annual plan
<https://meta.wikimedia.org/wiki/Wikimedia_Foundation_Annual_Plan/2024-2025/Product_%26_Technology_OKRs#Draft_Key_Results>
(July 2024-June 2025) and will share more about this work in the upcoming
Insights email.

Thanks all for reading!

Birgit


-- 
Birgit Müller (she/her)
Director of Product, MediaWiki and Developer Experiences

Wikimedia Foundation <https://wikimediafoundation.org/>
_______________________________________________
Wikitech-l mailing list -- wikitech-l@lists.wikimedia.org
To unsubscribe send an email to wikitech-l-le...@lists.wikimedia.org
https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/

Reply via email to