MathJax v4.0.0 Release Candidate is now available

9 views
Skip to first unread message

dp...@mathjax.org

unread,
Jun 26, 2025, 7:08:35 PMJun 26
to mathja...@googlegroups.com, mathj...@googlegroups.com

The MathJax team is pleased to announce the release of v4.0.0-rc.4 of MathJax, the release-candidate for v4.0.  This is the culmination of more than six months of work on improving the performance and reliability of the assistive tools that support screen readers and other accessibility needs.  It was a long wait, but the changes are significant.  If all goes well with this version, the official v4.0 will be released in July.


The major new features for this version are:


  • The speech generation has been moved to a webworker to improve performance.

  • The expression explorer internals have been rewritten to work more reliably in more browser/os/screen-reader combinations, both during expression exploration, as well as when the page is being read as a whole.

  • The default font has been changed from mathjax-modern to a new font, mathjax-newcm, based on the New Computer Modern font. It has the same look as mathjax-modern, but with more character coverage and a slightly darker weight.

  • MathJax has now moved to using scoped npm packages, so the mathjax-full package is being replaced by @mathjax/src, and the fonts are now of the form @mathjax/mathjax-newcm-font. The mathjax package remains un-scoped, however, so the URLs for obtaining this release of MathJax only need to change the version number.  See the Scoped Package section of the release notes for more information.

  • The textmacros package is now included in the combined components by default, so macros within \text{} and other text-mode macros should be processed. See the Input section of the release notes for more information.

  • The begingroup TeX extension is included in this release. See the Input section of the release notes for more details.

  • New promise-based versions of the render(), convert(), and rerender() methods of the MathDocument class have been added, so that direct calls to MathJax.startup.document.convertPromise(), etc., can be made with support for asynchronous loads, relieving you from having to use mathjax.handleRetriesFor() yourself. There is also a new whenReady() method (MathJax.whenReady() or MathJax.startup.document.whenReady())that can be used to synchronize your code with MathJax's typesetting pipeline. See the API Changes section of the release notes for more information.


Much more documentation is available in the release notes, including information on potential breaking changes, as well as details about how the separation of the speech generation into a webworker affects node applications.


Note that 4.0.0-rc.1 to rc.3 were removed due to issues with the releases (we are using a new release process that had some glitches to be ironed out).

Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages