The MathJax team is pleased to announce version 3.1.3 of MathJax, released earlier today. This is a bug-fix release that fixes over 70 issues. It also updates the Speech-Rule Engine to version 3.2, and includes a few new features as well.
reset()
command now allows resetting input and output jax. (#647)\mathXYZ
and \symXYZ
macros (e.g., \mathsfit
, \symbfup
) and use multi-letter <mi>
when possible. (#2595)mhchem
extension to the latest version from the author. (#688)\middle
to work when a style or color is open. (#2663)*
in \\*
and \\*[...]
constructions. (#2433)\|
being stretchy when it shouldn’t be. (#2632)textmacros
and noundefined
are both in effect. (#2622)<mrow>
nodes that look like \left...\right
to be TeX class INNER. (mathjax/Mathjax#2584)<mrow>
nodes as fences if the parentheses aren’t stretchy. (#583)<mspace>
elements have TeX class NONE. (#2576)<mo>
elements to better follow the specification. (#2392)<menclose>
notations. (#2571)smallmatrix
environment properly. (#582, #621)<mi>
elements to include trailing combining characters. (#2617)<munderover>
and <msubsup>
combinations. (#634)<mroot>
elements properly. (#2630)enableEnrich
and other a11y options could not be configured. (#2651)<annotation-xml>
content. (#678)role='presentation'
attributes. (#2608)pack
and makeAll
commands to display the modules used in version 5 of webpack. (#591, #579)webpack.common.js
to handle windows paths correctly. (demos-web#30)Some of the changes made to the options to accommodate the updated speech-rule engine are potentially breaking changes, in that the previous options (enrichSpeech
, a11y.locale
, a11y.speechRules
) are no longer valid options. Since MathJax flags invalid options and stops processing when it encounters one, this means any configurations that used the older options would no longer work. Version 3.1.3 includes code to transfer the old options to their new locations, but that code will be removed in version 3.2. This gives page authors the opportunity to fix the issue before version 3.2 is released and their pages break.
Similarly, the code that automatically renames the older TeX package names to their current all-lower-case versions (e.g., configMacros
to configmacros
and colorV2
to colorv2
) will likely be removed from version 3.2, so if you are using old package names, you should change your configurations before version 3.2. This applies to \require{}
macros that refer to the older names as well as their names in the loader
section, the tex.packages
array, and the tex.autoload
block.
Version 3.2 will also see the removal of the matchFontHeight
option for the SVG output jax, since it only applies to the CommonHTML output, but is currently allowed in the svg
configuration block, while doing nothing.
Version 3.2 may include other breaking changes, such as the removal of the toArray()
method from the LinkedList
class (and its subclasses), so any custom code that uses that should switch to using Array.from(...)
around the list instead.
Finally, the Box.ts
and CssStyles.ts
(and their associated .js
files) have been moved from the output
directories to the util
directory. Compatibility files were placed in the original locations so that older code would continue to work, but these will likely be removed in v3.2, so you should modify any custom code that loads these files to obtain them from the util
directory instead.
Although version 3.1.3 was released earlier today, it may take a day or two for the new version to propagate to the various CDN network computers, so you may not see v3.1.3 immediately if you are loading mathjax using a generic mathjax@3
URL. You should be able to obtain it immediately if you use the full version mat...@3.1.3
.
You may also have a cached version in your browser, so may need to either clear the browser cache, or relaunch your browser (or both) in order to get the latest version (the cached version should expire in about a week, depending on the CDN being used).
Note that it is possible for some files to be updated before others, so it may be the case that users of websites that load extensions (either explicitly or by autoloading TeX packages) may get mixed versions for until the CDN versions stabilize, which should be within a day. If you are loading one of the combined components (e.g., tex-chml.js
), this is less likely to be an issue, and if you are loading a component ending in -full
it is even less likely to occur.
Version 3.1.3 is available immediately from npm and GitHub for use in node applications.