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.
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 converion 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 degredation.
- #1016 Fix bug related to <script> elements with namespace prefix, e.g., in xHTML.