Wikifunctions:Status updates/2025-01-15
◀ | ![]() |
▶ |
Happy Wikipedia day!

Today, 24 years ago, a project named Wikipedia was started. It had the goal to support the growth of an encyclopedia project called Nupedia. Wikipedia failed at that original goal, but instead became arguably the most important source of knowledge in the early 21st century.
This year we are planning to bring a new feature to Wikipedia: a globally accessible library with functions which can be called from any Wikimedia project, which can help all Wikipedias to work closer together, and to share functionality easier across language editions. Happy New Year 2025 and Happy Wikipedia day everyone!
Quarterly Planning for January–March 2025
As with the previous quarters, we are publishing our plan for the upcoming quarter to make our work more transparent.
- Provide Wikifunctions integration in articles on Dagbani Wikipedia (T383106). The goal is to allow Wikifunctions functions to be embedded in wiki articles, starting with the Dagbani Wikipedia. Before that, we also plan to allow function calls from a test Wikipedia, in order to reduce incentives to use Dagbani Wikipedia as a testbed.
- Provide updates to editors when Wikifunctions calls are changed (T383156). A first initial integration to allow Wikipedia contributors to be notified of relevant changes on Wikifunctions. This is closely related to the initial integration, but split out for management and tracking purposes.
- Expand Wikidata access on Wikifunctions to support multilingual functions (T383107). We want to add the ability to request Lexemes for a given Wikidata item. This will allow functions to be written that generate sentences with the same meaning in different languages.
- Improve performance and drive down tech debt & developer inhibitors (T383157). We need to speed up Wikifunctions calls so that it's more useful for you, and also address some issues that slow down the development of Wikifunctions.
- Plan for wider adoption and rollout of Wikifunctions to more Wikipedias. Dagbani Wikipedia will be the first wiki, but we want to roll out Wikifunction integrations to many more Wikipedias and other Wikimedia projects quickly. We will write up and publish a plan for that in this quarter.
- Fix high-priority papercuts (T383163). Wikifunctions has a few papercut issues – issues that are annoying while using it, but not major or severe enough to make it to our development roadmap as stand-alone items. We are planning to devote some resources towards fixing a few such issues. If you have a particular gripe, please share it with us so we can evaluate it.
- Create testing strategy via participation in the test engagement pilot (T383165). Our test system is in need of improvement, in order to increase our confidence in developing and deploying features and fixes. We will be working with the Foundation’s Quality Service team on a test pilot with the plan to improve this situation.
- Prepare for a future Rust implementation. We are planning to eventually rewrite some of our backend services in Rust, and for that we want to take preparatory steps towards implementation and deployment.
Thank you for joining us on our ride!
Recent Changes in the software
Last week was the first production release of 2025, following Wikimedia's End-of-Year 2024 release freeze; as there was no update last week, we'll cover changes made both over the recent holidays, and from last week.
As part of our wider Quarterly work (see above), we worked on a new internal API to find Functions but filters out ones that can't be embedded in a text page – those use Types that don't have a parser as inputs, or output a Type that doesn't have a renderer (T383561). We've also been working on back-end performance, focussed on making queries to Wikidata richer and much faster so they're more useful.
In terms of user-facing changes, there are a couple that you may notice. On special list pages like Special:ListObjectsByType, there's now a check-box to exclude pre-defined Objects (T372009); thanks to User:Ameisenigel for finding the bug.
We've also made some preparatory changes for bigger pieces of work. We've landed a change to how we index Types in the database that will let us provide a search view that filters out Functions that use Types that can't be parsed from input or rendered into text (T381207).
There are two Wikimedia-wide testing improvements that we've been plugged into since the last update. Firstly, we've added a test to ensure our database schema patches are correct and don't drift over time, and updated our patches to reflect current config; thanks to Daimona for their work leading on this (T360590).
As part of wider language support work for MediaWiki, we have added a number of languages: Z1957/thr (T381838).
We, along with all Wikimedia-deployed code, are now using the latest version of the Codex UX library, v1.19.1, and Vue, v3.5.13, as of this week. We believe that there should be no user-visible changes on Wikifunctions, so please comment on the Project chat or file a Phabricator task if you spot an issue.
As always, please alert us if you run into any issues.
Recording of Volunteers' Corner
This week we had our monthly Volunteers' Corner. We were building the cups to milliliters function. A recording of the Corner is available on Commons.
More than 2000 functions in Wikifunctions
Over the holiday season, we crossed the number of 2000 functions. We thank all contributors for their contributions to the project, and we are happy to cross this number after the first full calendar year of operation. In the spirit of not celebrating the crossing of random numbers, we will instead see this as a nudge to write up an overview of the status of Wikifunctions in the coming weeks – but this week’s newsletter is already too full for that.
Changes to the Function of the Week
We were thinking about the Function of the Week section in the newsletter. The goal of this section is to highlight functions in detail, in order to showcase the capabilities of Wikifunctions, and inspire the ongoing growth of Wikifunctions.
As Wikifunctions growth is accelerating - as mentioned above, we just crossed 2000 functions - we were thinking that instead of calling out a single function, we could have a section that lists all new functions since the last newsletter, and so provide a more holistic report on the growth, and also a more complete picture of potentially interesting functions. Next week, we will kick off this new section.
If folks want to keep the Function of the Week section, we are happy to hand over the work on that section to whoever volunteers, and we are happy to keep integrating that into the newsletter every week.