All notable changes to the ArrayFunctions project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
v2.0.0 - 2026-01-28
- Add the
#af_filterparser function. - Add the
//overloaded index to remove empty values.
- BREAKING: Remove support for MediaWiki 1.39 and earlier. The oldest supported version is now MediaWiki 1.40.
- Ignore the first argument when it is empty for
#af_difference,#af_intersect,#af_merge,#af_object,#af_pipeline, and#af_zip. - Localisation updates courtesy of translatewiki.net.
v1.17.0 - 2025-08-26
Note: This version is not tagged properly on
Special:Version, where it still shows as1.16.2.
- Add the
$wgArrayFunctionsMaxPipelineLengthconfiguration variable to limit the total number of steps in a pipeline. - Add the
Pages using the ArrayFunctions extension(af-tracking-category) tracking category.
- Localisation updates courtesy of translatewiki.net.
- Ranges that exceed
$wgArrayFunctionsMaxRangeSizeare now taken into account when reporting the size of the largest constructed range in the parser limit report. Previously, only ranges that did not exceed the limit would be taken into account. - Fix
TypeErrorthat occurred when an error was propagated from a nested parser function call.
v1.16.2 - 2025-06-28
- Fix exception caused by storing a
Messageobject in the parser's extension data (T397946). - Ensure errors are rendered in the page's target language instead of the user's language (T397951).
v1.16.1 - 2025-06-19
- Localisation updates courtesy of translatewiki.net.
- Fix
BadMethodCallExceptionthat was caused by relying on$wgLangin theParserLimitReportPreparehook.
v1.16.0 - 2025-06-10
- Add the
$wgArrayFunctionsForeachIterationLimitconfiguration variable to limit the total number of iterations that can be performed by#af_foreach. - Add the
$wgArrayFunctionsMaxRangeSizeconfiguration variable to limit the maximum number of elements that an array constructed using#af_rangecan contain. - Add the
#af_zipparser function. - Add the
!overloaded index to show a value. - Add the
tableandsimpleformats for#af_show. - Add the
Pages with ArrayFunctions errors(af-error-category) tracking category. - Add error tracking and propagation.
- The
#af_sortand#af_ksortparser functions now compare items normally instead of as strings. - Allow
#af_showto take a format. - Localisation updates courtesy of translatewiki.net.
- Fix exception when passing the empty string to a keyword argument.
v1.15.0 - 2025-05-13
- Add the
arrayfunctionsCargo display format.
- Localisation updates courtesy of translatewiki.net.
v1.14.2 - 2025-04-15
- Remove properties without a value from the result when using the
arrayfunctionsresult format with Semantic MediaWiki.
v1.14.1 - 2025-04-15
- Add compatibility with Semantic MediaWiki 5.0.0.
- Localisation updates courtesy of translatewiki.net.
- Restore compatibility with deprecated MediaWiki 1.35.
v1.14.0 - 2025-04-01
- Add the
arrayfunctionsSemantic MediaWiki result format. - Add the
#af_pipelineparser function.
- Drop compatibility with MediaWiki 1.35.
- Localisation updates courtesy of translatewiki.net.
- Fix exception when using
#af_templateon MediaWiki 1.44 or later.
v1.13.0 - 2025-03-04
- Replace the
#af_setparser function with#af_putthat has a more sane parameter order. The#af_setparser function remains available for backwards compatibility. - Localisation updates courtesy of translatewiki.net.
- The magic variable IDs array is now no longer treated as associative, which would previously break CodeMirror syntax highlighting. (by alex4401)
v1.12.0 - 2025-02-04
- Add the
#af_rangeparser function.
- Rename the
#af_wildcardparser function to#af_group, and add an alias for#af_wildcard. - The
#af_differenceparser function now compares items normally instead of as strings. - The
#af_existsparser function now accepts multiple keys to check if a nested key exists. - The
#af_instersectparser function now compares items normally instead of as strings. - Localisation updates courtesy of translatewiki.net.
v1.11.0 - 2024-12-10
- Add the
#af_flattenparser function. - Add the
#af_wildcardparser function. - Add the
#af_reverseparser function. - Overload
#af_getwith special indices to perform certain operations on the array instead of retrieving a key.
- The
#af_uniqueparser function now compares items normally instead of as strings.
v1.10.0 - 2024-11-26
- Add ZLIB compression using
gzdeflateandgzinflate.
- Localisation updates courtesy of translatewiki.net.
v1.9.0 - 2024-05-02
- Add
delimiteroption to the#af_foreachparser function.
- All string parameters now support escape sequences.
v1.8.0 - 2024-04-04
- Whitespace is now trimmed from the beginning and the end of array values to be consistent with the behaviour of other parameters in MediaWiki.
- Localisation updates courtesy of translatewiki.net.
v1.7.0 - 2023-10-24
- Add the
#af_ksortparser function. - Add
caseinsensitiveoption to the#af_keysortparser function. - Add
caseinsensitiveoption to the#af_sortparser function.
- Localisation updates courtesy of translatewiki.net.
v1.6.0 - 2023-09-12
- Add the
#af_stringmapparser function. - Add the
mw.af.importLua function to import ArrayFunctions arrays into Lua.
- Localisation updates courtesy of translatewiki.net.
v1.5.0 - 2023-09-07
- Add the
#af_differenceparser function.
- Localisation updates courtesy of translatewiki.net.
v1.4.4 - 2023-06-30
- Localisation updates courtesy of translatewiki.net.
- Fix
#af_templateparser function to no longer check a user their read permissions explicitly, as regular template transclusion also does not do this. Previously, an error would be outputted.
v1.4.3 - 2023-05-26
- Exporting a
NULLvalue (e.g. through themw.af.exportLua function) will now result in the empty string. Previously, theNULLwould be returned unaltered.
v1.4.2 - 2023-05-26
- The
#af_templateparser function now shows non-existent templates as a broken link. Previously, an error would be outputted. - Localisation updates courtesy of translatewiki.net.
v1.4.1 - 2023-05-05
- The
#af_splitparser function now allows the empty string as its first parameter. Previously, an error would be outputted. - Localisation updates courtesy of translatewiki.net.
v1.4.0 - 2023-04-26
- Add the
#af_showparser function.
v1.3.0 - 2023-03-27
- Add the
#af_searchparser function.
v1.2.0 - 2023-03-03
- Add the
#af_intersectparser function. - Add the
#af_mergeparser function. - Add the
#af_reduceparser function.
v1.1.0 - 2023-02-03
- Add the
#af_splitparser function.
v1.0.1 - 2023-01-09
- The
mw.af.exportLua function now supports parameters of all types. Previously, it only supported arrays.
- Fix issue where an exception was thrown when a parameter with an incorrect type was passed to
mw.af.export.
v1.0.0 - 2023-01-07
- Add the
#af_boolparser function. - Add the
#af_countparser function. - Add the
#af_existsparser function. - Add the
#af_floatparser function. - Add the
#af_foreachparser function. - Add the
#af_getparser function. - Add the
#af_ifparser function. - Add the
#af_intparser function. - Add the
#af_isarrayparser function. - Add the
#af_joinparser function. - Add the
#af_keysortparser function. - Add the
#af_listparser function. - Add the
#af_mapparser function. - Add the
#af_objectparser function. - Add the
#af_printparser function. - Add the
#af_pushparser function. - Add the
#af_setparser function. - Add the
#af_sliceparser function. - Add the
#af_sortparser function. - Add the
#af_templateparser function. - Add the
#af_uniqueparser function. - Add the
#af_unsetparser function.