What’s New in MathJax v2.5

MathJax v2.5 includes a number of new features, as well a more than 70 important bug fixes. The following are some of the highlights.

Features

  • Speed improvements. The HTML-CSS output performance was improved by 30-40% (depending on content complexity, with higher gains in more complex content such as very long documents).

  • New output for fast preview. The new CommonHTML output provides a rough but 10x-faster rendering. The CHTML-preview extension will use this fast output as a preview mode for HTML-CSS or SVG output.

  • Improved Content MathML support. Content MathML is now fully supported via a new extension, in particular this allows customization of the conversion process.

  • Improved elementary math support The experimental support for elementary math elements has been significantly improved special thanks to David Carlisle.

  • NodeJS compatibility. Enable the implementation of a NodeJS API (released as MathJax-node).

Numerous display bugs, line-breaking problems, and interface issues have been resolved; for a detailed listing please check the release milestone.

Interface

  • #834 Fix incorrect line-width when zooming which can cause line-breaking problems.

  • #918 Fix zoom box size in NativeMML output.

  • #835 Fix zoom for equations extending beyond their bounding box.

  • #893 Fix outdated ARIA values for HTML-CSS and SVG output.

  • #860, #502 Preserve RDFa, microdata, aria labels, and other attributes in HTML-CSS and SVG output.

  • #935 Escape special characters in TeX annotations.

  • #912 Fix missing mstyle attributes in toMathML output.

  • #971 Fix lost attributes when toMathML is restarted.

Line-breaking

  • #949 Fix processing error due to empty elements.

HTML-CSS/SVG/nativeMML display

  • #863 Fix broken MathML preview in MathML pre-processor.

  • #891 Fix deprecated regexp affecting mtable alignment.

  • #323 Improve MathPlayer compatibility on Internet Explorer 10+.

  • #826 Scale content in fallback fonts.

  • #898 Fix invalid SVG output when using fallback characters.

  • #800 Fix misplaced background color for stretched mphantom elements in SVG output.

  • #490 Fix \overline issues in combination with text-style limits.

  • #829 Implement \delimitershortfall, \delimiterfactor.

  • #775 Fix lost text content in SVG output.

  • #917 Fix cases of incorrect bounding boxes in HTML-CSS output.

  • #807 Fix clipping of table columns in HTML-CSS output.

  • #804 Fix cases of uneven subscripts.

  • #944 Fix rendering error when scaling-all-math of labeled equations.

  • #930 Fix SVG output failure when <math> element has inline styles with border or padding.

  • #931 Fix baseline alignment in Safari 6.2/7.1/8.0.

  • #937 Fix incorrect width in MathJax font data affecting underlining.

  • #966 Fix SVG output overlapping when using prefix notation.

  • #993 Add workaround for Native MathML in Gecko to re-enable mlabeledtr etc.

  • #1002 Enable SVG output to inherit surrounding text color.

TeX emulation

  • #881 Allow \newenvironment to process optional parameters.

  • #889 remove extra space around some parenthesis constructs.

  • #856 Recognize comma as decimal delimiter in units.

  • #877 Fix bug related to multiple accent having different width.

  • #832 Fix multline environment not being centered in HTML-CSS output.

  • #776 Fix stretchy delimiters of binom and choose.

  • #900 Fix \buildrel getting TeX class ORD instead of REL.

  • #890 Enable px as dimension in \\[...].

  • #901 Allow \limits in more cases and add errors for some cases of multiple subscripts.

  • #903 Allow \hfill to set alignment in matrices and arrays (for old fashioned TeX layout).

  • #902 Convert \eqalignno and \leqalignno into mlabeledtr.

  • #906 Allow comma separated parameters in \mmlToken.

  • #913 Allow attributes in \mmlToken whose defaults are false or blank.

  • #972 Fix autoload of the color extension.

  • #375 Add \{, \}, and \\ to macros working within \text{} etc.

  • #969 Fix incorrect spacing with some \frac constructs.

  • #982 Fix incorrect spacing in aligned environments.

  • #1013 Fix processing error caused by ' in commutative diagrams using AMScd.js.

  • #1005 Add wikipedia-texvc.js extension.

Asciimath

MathML Handling

  • #847 Fix line-breaks in annotation elements.

  • #805 Prevent empty annotation elements from causing math processing errors.

  • #769 Update indentshift implementation to meet clarified MathML specification.

  • #768 Fix processing of percentage values for indenshift.

  • #839 Update inheritance of displaystyle in mtable to meet clarified MathML specification.

  • #695 Allow Content MathML conversion to be customized.

  • #964 Move experimental support for elementary math and RTL to its own extension.

Fonts

  • #845 Fix webfont bug in Safari 7.

  • #950 Fix webfont bug in IE 11.

Localization

  • #979 Updated locales thanks to Translatewiki.net; activate locales for Scots and Southern Balochi.

APIs

  • #873 Combine array of elements when typesetting.

  • #693 Add API to allow listeners to be cleared.

Misc.

  • #870 Add Composer package information.

  • #872 Add small delay between input and output phase to prevent performance degradation.

  • #1016 Fix bug related to <script> elements with namespace prefix, e.g., in xHTML.