The on-wiki version of this newsletter can be found here: https://www.wikifunctions.org/wiki/Wikifunctions:Status_updates/2026-05-02 ---- Request for input: what should we count for Abstract Wikipedia
We want to make the development of Abstract Wikipedia visible, and as part of that we want to ask for input: which metrics about Abstract Wikipedia pages do you deem important?
Here are a few ideas for metrics, but we are sure that you will come up with better ones:
- How many articles are there in Abstract Wikipedia? (at the time of writing, 1203, a number published visibly on the front page of Abstract Wikipedia.) - How many monthly active contributors are there on Abstract Wikipedia? (currently 113, going down a bit from the record at launch, where 163 was reached.) - How many edits per month do we have on Abstract Wikipedia? - How many fragments are there? (currently 3410) How many fragments per article on average? (about 2.8 currently) - What are the most used fragments? (paragraph (Z32123) https://www.wikifunctions.org/wiki/Z32123 with 1452, followed by string to HTML fragment (Z27868) https://www.wikifunctions.org/wiki/Z27868 with 736 and Monolingual text as HTML with visible language tag (Z29749) https://www.wikifunctions.org/wiki/Z29749 with 650) - How many articles in how many languages are actually fully available without errors? - How many of those do currently not exist in the respective Wikipedias? - How many bytes of output text does this create?
Again, we think you will come up with other suggestions, and you might have thoughts about which of these are good metrics to keep an eye on, to capture a healthy growth.
Let us know what you think! Recent Changes in the software
Over the past two weeks, several updates have focused on improving usability & clarity across Abstract Wikipedia and Wikifunctions.
Search and discovery have been improved so contributors can more easily find and recognize content. In Abstract Wikipedia, search suggestions now display Wikidata entity thumbnails alongside results (when available), making it easier to visually identify entities (T423464 https://phabricator.wikimedia.org/T423464). In addition, the label search algorithm has been updated to ensure that exact matches are always returned as the first result, addressing cases where known objects or functions were difficult to find (T424211 https://phabricator.wikimedia.org/T424211).
We have also introduced a more user-friendly way for communities to configure recommended functions. Previously, suggested functions for embedded Wikifunctions and Abstract Wikipedia fragments were managed through JSON pages (MediaWiki:Wikilambda-suggested-functions.json and MediaWiki:Abstractwiki-suggested-functions.json). This has now been replaced with configuration via the CommunityConfiguration special page, making it easier for communities to manage these recommendations (T394410 https://phabricator.wikimedia.org/T394410).
We also fixed several bugs and made some display improvements. We fixed a bug in the test results caching system where sometimes tests appeared as failing when they should have been passing (T422300 https://phabricator.wikimedia.org/T422300). A bug in copy/paste functionality has been fixed, which sometimes caused issues when copying blocks with undefined references. Another fix ensures that when publishing function definition changes, connected implementations and tests are properly disconnected when required.
When it comes to improved displays; the composition formatting has been improved so that line breaks occur at word separators. (T421959 https://phabricator.wikimedia.org/T421959). We also fixed a bug to ensure the Typed List label is fetched as part of the page initialization so that it's not displayed as a zid (T422094 https://phabricator.wikimedia.org/T422094). And on Abstract Wikipedia we improved how content is displayed in the preview. The preview box no longer inserts unwelcome line spacing when fragments are defined as paragraphs (<p>), resulting in more accurate spacing (T424041 https://phabricator.wikimedia.org/T424041).
Finally, we have quoted the type in the filter box of the ListObjectsByType Special page, to add clarity in cases such as "All Objects of type 'Type' (Z4)" - see example https://www.wikifunctions.org/wiki/Special:ListObjectsByType/Z4 (T377649 https://phabricator.wikimedia.org/T377649), and the language selector now correctly displays the selected language name even for non mediawiki supported languages (T417211 https://phabricator.wikimedia.org/T417211). Updates about V2
We have reverted one change related to the recent deployment of "Composition Language v2" (which was introduced in the 11 March newsletter https://www.wikifunctions.org/wiki/Wikifunctions:Status_updates/2026-03-11). Prior to v2, arguments going to code implementations were generally fully resolved. Updates related to v2 changed that, so that arguments were only resolved at the top level; nested parts of arguments didn't necessarily get resolved. The reversion means that once again, arguments going to code implementations will be fully resolved.
This makes sense as a default, because once an argument gets passed to a code implementation, it's impossible to explicitly ask for the resolution of any part of it. However, there is also a competing principle that, in general, arguments are not guaranteed to present themselves as literals (or as references) all the time, so all implementations should ideally allow for both forms of arguments coming in, by using equality functions that can recognize when a reference and a literal are equivalent. Since this is currently difficult or impossible in code implementations, we decided this reversion is the best way to go for now. Volunteers’ Corner on May 11
The next Volunteers’ Corner will be on Monday, 11 May 2026 at 17:30 UTC https://zonestamp.toolforge.org/1778520600 (moved a week due to the Wikimedia Hackathon https://www.mediawiki.org/wiki/Wikimedia%20Hackathon%202026). We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. If we have time, we will either write a function together or work on an Abstract Wikipedia article together (volunteer-led). Everyone is welcome to join us on Google Meet https://meet.google.com/xuy-njxh-rkw. Fresh Functions weekly: 81 new Functions
This week we had 81 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!
- extract TurboWarp settings (Z33778) https://www.wikifunctions.org/wiki/Z33778 - rectangular to polar (complex128) (Z33780) https://www.wikifunctions.org/wiki/Z33780 - is close (float64) (Z33785) https://www.wikifunctions.org/wiki/Z33785 - is close with default tolerances (float64) (Z33788) https://www.wikifunctions.org/wiki/Z33788 - pinyin with tone numbers to tone marks (Z33797) https://www.wikifunctions.org/wiki/Z33797 - subject is type of, fallback (Z33808) https://www.wikifunctions.org/wiki/Z33808 - best lexeme among lexeme map (Z33818) https://www.wikifunctions.org/wiki/Z33818 - best partial lexeme for Wikidata item (Z33823) https://www.wikifunctions.org/wiki/Z33823 - Toki Pona instantiating sentence (Z33828) https://www.wikifunctions.org/wiki/Z33828 - state location using entity and class, Toki Pona (Z33831) https://www.wikifunctions.org/wiki/Z33831 - Mandelbrot set value (Z33836) https://www.wikifunctions.org/wiki/Z33836 - main articles (Z33842) https://www.wikifunctions.org/wiki/Z33842 - main articles, English (Z33844) https://www.wikifunctions.org/wiki/Z33844 - Abstract wikilink (sentence case) (Z33848) https://www.wikifunctions.org/wiki/Z33848 - same Error (Z33862) https://www.wikifunctions.org/wiki/Z33862 - Error identity (Z33876) https://www.wikifunctions.org/wiki/Z33876 - Unicode playing card from English (Z33878) https://www.wikifunctions.org/wiki/Z33878 - Spanish article for (Z33880) https://www.wikifunctions.org/wiki/Z33880 - emphasise string into HTML fragment (Z33890) https://www.wikifunctions.org/wiki/Z33890 - Wikidata item is cake (Z33895) https://www.wikifunctions.org/wiki/Z33895 - Spanish article for (pl) (Z33902) https://www.wikifunctions.org/wiki/Z33902 - arithmetic mean of Rational numbers (Z33933) https://www.wikifunctions.org/wiki/Z33933 - single char pinyin with tone marks to tone numbers (Z33951) https://www.wikifunctions.org/wiki/Z33951 - get tone from pinyin (single character) (Z33955) https://www.wikifunctions.org/wiki/Z33955 - State origin using entity and class (Z33975) https://www.wikifunctions.org/wiki/Z33975 - State origin using entity and class, English (Z33977) https://www.wikifunctions.org/wiki/Z33977 - tokenize JSON (Z33983) https://www.wikifunctions.org/wiki/Z33983 - Prepend Hebrew clitic (Z33986) https://www.wikifunctions.org/wiki/Z33986 - Toki Pona object-verb-object sentence (Z33999) https://www.wikifunctions.org/wiki/Z33999 - single character pinyin to bopomofo (zhuyin) (Z34008) https://www.wikifunctions.org/wiki/Z34008 - single char numbered pinyin to bopomofo (zhuyin) (Z34009) https://www.wikifunctions.org/wiki/Z34009 - apply three or optionally four argument function (Z34039) https://www.wikifunctions.org/wiki/Z34039 - display Gregorian date (unpadded D/M/YYYY) (Z34060) https://www.wikifunctions.org/wiki/Z34060 - State location using entity and class, Bulgarian (Z34070) https://www.wikifunctions.org/wiki/Z34070 - във or в? (Bulgarian) (Z34072) https://www.wikifunctions.org/wiki/Z34072 - main articles, Dutch (Z34077) https://www.wikifunctions.org/wiki/Z34077 - със or с? (Bulgarian) (Z34084) https://www.wikifunctions.org/wiki/Z34084 - conditional sentence case (Z34096) https://www.wikifunctions.org/wiki/Z34096 - Bulgarian article-less instantiating sentence (Z34105) https://www.wikifunctions.org/wiki/Z34105 - inject abstract wikilink into string (Z34124) https://www.wikifunctions.org/wiki/Z34124 - abstract wikilink string w/ display text (Z34127) https://www.wikifunctions.org/wiki/Z34127 - latest software version sentence (Z34132) https://www.wikifunctions.org/wiki/Z34132 - Bulgarian transliteration (Z34139) https://www.wikifunctions.org/wiki/Z34139 - Natural number from list of Booleans (Z34178) https://www.wikifunctions.org/wiki/Z34178 - wrap string in Toki Pona cartouches (Z34197) https://www.wikifunctions.org/wiki/Z34197 - headnoun + name in Sitelen Pona (Z34200) https://www.wikifunctions.org/wiki/Z34200 - [es] subject uses personal a? (Z34204) https://www.wikifunctions.org/wiki/Z34204 - Spanish simple present singular sentence (Z34209) https://www.wikifunctions.org/wiki/Z34209 - standard pinyin to list of single character pinyin (Z34212) https://www.wikifunctions.org/wiki/Z34212 - pinyin to zhuyin (Z34218) https://www.wikifunctions.org/wiki/Z34218 - plural subsection title from Wikidata label (Z34250) https://www.wikifunctions.org/wiki/Z34250 - subject is Nth instance of class by creator (Z34253) https://www.wikifunctions.org/wiki/Z34253 - English Nth instance of class by creator (Z34257) https://www.wikifunctions.org/wiki/Z34257 - Successor of von Neumann ordinal (Z34263) https://www.wikifunctions.org/wiki/Z34263 - set equality (Z34273) https://www.wikifunctions.org/wiki/Z34273
A complete list of all functions sorted by when they were created https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest is available.
abstract-wikipedia@lists.wikimedia.org