.. _whats-new-2.5: ************************** 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 ```` 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 --------- * `#851 `__ Prevent leading space in quote from causing processing errors. * `#431 `__ Fix handling of special characters in exponents. * `#741 `__ Add underbrace macro. * `#857 `__ Update AsciiMathML to 2.2; changes include `improve entity handling `__, `add triangle macro `__, `map ast to asterisk `__, `allow input of row vectors `__, `allow lamda `__, `switch phi/varphi mapping `__, `add underbrace macro `__, `handle empty nodes better `__, `add vector norm macro `__, `improve @ macro `__. 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 ``