Hello,

Over the course of the next two days, a major update to the SyntaxHighlight_GeSHi extension will be rolled out to Wikimedia wikis. The change swaps geshi, the unmaintained PHP library which performs the lexical analysis and output formatting of code, for another library, called Pygments.

The roll-out will remove support for 31 languages while adding support for several hundred languages not previously supported, including Dart, Rust, Julia, APL, Mathematica, SNOBOL, Puppet, Dylan, Racket, Swift, and many others. See <https://people.wikimedia.org/~ori/geshi_changes.txt> for a full list. The languages that will lose support are mostly obscure, with the notable exception of ALGOL68, Oz, and MMIX.

The change is expected to slightly improve the time it takes to load and render all pages on all wikis (not just those that contain code blocks!), at the cost of a slight penalty (about a tenth of a second) on the time it takes to save edits which introduce or modify a block of highlighted code to an article.

Lastly, the way the extension handles unfamiliar languages will change. Previously, if the specified language was not supported by the extension, instead of a code block, the extension would print an error message. From now on, it will simply output a plain, unhighlighted block of monospaced code.

The wikitext syntax for highlighting code will remain the same.

-- Ori