Jump to content

Wikifunctions:Status updates/2025-12-18

From Wikifunctions
Wikifunctions Status updates Translate

Abstract Wikipedia via mailing list Volunteer Response Team Abstract Wikipedia on IRC Wikifunctions on Telegram Wikifunctions on Mastodon Wikifunctions on Twitter Wikifunctions on Facebook Wikifunctions on YouTube Wikifunctions website Translate

We wish you a happy new Gregorian year!

2025 was an exciting year for Wikifunctions and Abstract Wikipedia. The system increased considerably in capability, and is now able to generate sentences in numerous languages. This year saw more than a thousand new functions. We held an open-ended community consultation and decided on an architecture —and a name— for Abstract Wikipedia. We introduced many new types, including the Wikidata-based lightweight enumerations.

The next year we expect to see the launch of the new Abstract Wikipedia wiki, and to allow a new community to form around writing and maintaining the first abstract encyclopedic articles. This will take us a huge step closer towards a world in which much more knowledge becomes available in many more languages, and in which everyone can contribute to the knowledge of the world.

We wish everyone wonderful holidays, and a happy new Gregorian year!

Newsletter taking a break

The next few days, most of the team will take off due to the holiday season at the end of the year. Expect the next update in the Week of 14 January 2026. We also don’t plan to have any code deployments in the next few weeks. The first Volunteers' Corner of the next year will be on 9 February 2026. We wish everyone peaceful days and see you in the new Gregorian calendar year!

Next Volunteer’s Corner on 9 February 2026

The next volunteer’s corner will be on 9 February 2026, on the usual place.

Template to Wikifunctions on Wikipedia

There are templates on English, German, Uzbek, Luxembourgian, Thai, and Sorani Wikipedia language editions to connect relevant functions on Wikifunctions from Wikipedia articles. Some interesting articles using that are:

Thanks to Lucas Werkmeister for pointing this out!

Recent Changes in the software

There was no deployment last week, which means this week includes a larger set of updates than usual. Let’s start with reliability and performance improvements, followed by updates focused on clarity, visual editor workflows, and finally code editor behavior.

We created a new error type, Z580/Duplicated languages in a Multilingual string are not allowed, which is returned when multilingual string objects contain duplicate language monolinguals (T341624). This restriction was already in place in the Wikifunctions Multilingual component, but this change adds another layer of safety and makes the issue explicit to editors. We also reduced the failure TTL on both the client and repository sides. Previously, Wikifunctions fragments embedded on client wikis were cached even when a function call returned an error, meaning the “Content error” tag could persist for a long time after the function started working again. Now, successful fragments are cached for a month, while fragments that fail due to a server error are cached for only one minute, making ‘Content errors’ less persistent (T405477, T404581, T338243). In addition, we also added compression to the Orchestrator’s caching of Wikidata entities. Previously, entities larger than 1 MB were not cached due to size limits, but with compression all entities are now cached. This is expected to improve overall runtimes for functions that fetch entities, particularly Wikidata items.

Next are updates aimed at making system behavior clearer and easier to understand. We added documentation explaining how an implementation is chosen for a function call. Links to this new documentation are now available directly from the Implementation section of the Function Metadata dialog, making the selection strategy more transparent (T366659).

We also updated the metadata dialog to use a rendered view when displaying expected and actual results in failed tests, instead of showing raw JSON (T358807). Editors can still toggle between the raw JSON and the rendered object view for easier debugging.

A regression caused by a Codex update was fixed by restoring the close button in dialogs. Dialogs such as the metadata dialog now consistently show a close button again (T411655).

And following are several improvements focused on the visual editor workflows.

The function editor was improved so creators can change the default language before adding content. The language selector is now editable on launch and becomes locked only after content is entered, better supporting multilingual workflows (T350677).

In VisualEditor, the Wikifunctions insert dialog was updated so external links now open in a new browser tab, preventing editors from losing their editing context (T392722). And when inserting a function with a single input, selected text will now be used as the input value for the function call, aligning the workflow with common editor expectations (T395480).

Finally, there were a few updates focused on clarifying behavior and messaging in the editor.

We added a notice in the code editor when Z0 is detected, warning users that it will be replaced on publish (T408136). The notice appears while Z0 is present and disappears when it is removed, and the message clarifies that the change can be reverted in a subsequent edit. This was added because some Regexes might include patterns such as [a-zA-Z0-9]+; in the future we may detect the Regex and not replace the Z0, but for now the notice is hopefully sufficient.

And finally, we removed an incorrect warning in the HTML (Z89) code editor that said <a> tags were not allowed. Links are permitted to the Wikifunctions domain and to Wikipedia articles when used in embedded functions.

Fresh Functions weekly: 51 new Functions

This week we had 51 new functions. Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!

A complete list of all functions sorted by when they were created is available.