Wikidiff2

Wikidiff2 is a PHP extension that provides the external diff engine for MediaWiki. It is partly based on the original wikidiff, partly on DifferenceEngine.php. It performs word-level (space-delimited) diffs on general text, and character-level diffs on text composed of characters from the Japanese and Thai alphabets and the unified han; it includes support for Thai segmentation for word-level diffs in that language. Japanese, Chinese and Thai do not use spaces to separate words. The input is assumed to be UTF-8 encoded. Invalid UTF-8 may cause undesirable operation, such as truncation of the output, so the input should be validated by the application. The input text should have unix-style line endings.

The output is an HTML fragment -- a number of HTML table rows with the rest of the document structure omitted. The characters "<", ">" and "&" will be HTML-escaped in the output.

Debian or Ubuntu
On older versions of the package you may need to run a command to actually enable the extension: (The command will be  on versions that provide PHP 5.)

If you are running a MediaWiki version older than 1.27 (newer versions automatically detect wikidiff2), add the following line to your LocalSettings.php file:

Manually
First, get and compile libthai (it should be on your OS or distro's packages).

You can download wikidiff2 through git or by downloading a tarball from https://releases.wikimedia.org/wikidiff2/.

Then compile wikidiff2. You need phpize (shipped with PHP).

Make sure that your php option is set. This is usually set in your "php.ini" file.

If you are running a MediaWiki version older than 1.27 (newer versions automatically detect wikidiff2), add the following line to your LocalSettings.php file:

Links

 * Overview on the Wikidiff2 improvements by the WMDE tech team in 2017/18
 * How to release Wikidiff2 on the Wikimedia production system