Skip to content

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Aug 5, 2025

Bumps mathjax from 3.2.2 to 4.0.0.

Release notes

Sourced from mathjax's releases.

MathJax v4.0.0

This is the long-awaited 4.0.0 release of MathJax, which has been several years in the making. Among the many new features in this release are:

  • Extended font support (11 new fonts)
  • A new default font with much greater character coverage.
  • Line-breaking support (for in-line as well as displayed equations)
  • An updated expression explorer that is now on by default.
  • Separation of speech generation into a webworker thread for better performance.
  • Support for HTML embedded in TeX and MathML expressions.
  • Availability as ES6 modules as well as CommonJS modules.
  • New TeX extensions, including the begingroup extension from v2 (with more features), and several font-related extensions.
  • Inclusion of the textmacros extension in all combined component files.
  • Updated mathtools package to include the changes from 2022 and 2024.
  • Improvements in the baseline alignment of text in CHTML output in WebKit-based browsers.
  • Improved stretchy delimiters in CHTML output.
  • More promise-based conversion and typesetting calls at the document level.

The MathJax documentation has been substantially updated for version 4, and now includes the missing or limited sections on using MathJax in node, including many examples and details. See the What's New in V4.0 section (more than 50 pages long) for much more information about the features described above, and in particular, check the Breaking Changes section for any changes that may affect your usage.

The MathJax web demos repository has been updated for v4.0, and reorganized for easier viewing. The demos now include a "Show Source" button that displays explanations and the important sections of the source code rather than using separate .md files, so there are fewer files to wade through, and you can compare the source code to the output more easily. There are also new examples in the documentation on using MathJax in a browser; most are listed in the Examples in a Browser section.

The MathJax node demos repository is being updated and reorganized as well, but work is still being done on that, as some of the documentation needs to be expanded (for now, you may need to read the comments in the code). The tools in this repository have been made more powerful and complete, and much of the functionality that is common across multiple tools have been moved to utility libraries that can be shared by several tools. That means the examples are no longer stand-alone files, but they are more complete in their ability to use the features of MathJax. For example, all the examples that produce CHTML or SVG output can select the font to use, or add speech labels, and so on, and because speech is now available in all those examples, there are no longer separate speech demos. The tools can now take several expressions at once to typeset, or take them from a file, or process a complete HTML page. This means there are no longer separate page-based tools, so the number of examples is reduced, but the functionality is expanded. The MathJax documentation now covers using MathJax in node application in more detail than for v3, with lots of examples; most of these are listed in the Examples in Node Applications section.

As always, you may report issues in the MathJax issue tracker for v4; this is a major update, and there are sure to be things that will need adjusting.

MathJax v4.0.0-rc.4

This is the release candidate release for version 4.0. 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.

  • 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 release notes for more information.

  • The begingroup TeX extension is included in this release. See 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 that can be used to synchronize your code with MathJax's typesetting pipeline. See 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).

MathJax v4.0.0-beta.7

This release is primarily a bug-fix release. In particular, the redesign of the way speech is computed and attached to MathJax’s output that was part of the beta.6 release introduced a performance degradation that needed to be addressed. The main purpose of the beta.7 release is to fix that performance problem.

The main fixes and features include:

... (truncated)

Commits
  • cfcb216 Merge pull request #3402 from mathjax/develop
  • dd3d190 Merge branch 'master' into develop
  • 5c2a3d1 Update to v4.0.0
  • c44bd9d Merge branch 'v4.0-beta' into develop
  • 0ef6f56 Add publish workflow
  • 7e92219 Update to v4.0.0-rc.4
  • 15fd842 Update mathjax-full version in package.json
  • 0acddad Update to 4.0.0-beta.7
  • 6f71501 Add LICENSE, CONTRIBUTONG.ms, and README.md to the distribution files list
  • e8106c3 Update .travis.yaml
  • Additional commits viewable in compare view

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Aug 5, 2025
@github-actions github-actions bot enabled auto-merge (squash) August 5, 2025 13:42
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/templates/main/mathjax-4.0.0 branch from 2943587 to 5e3ef77 Compare August 13, 2025 07:46
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/templates/main/mathjax-4.0.0 branch from 5e3ef77 to 80e7a1c Compare August 20, 2025 10:35
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/templates/main/mathjax-4.0.0 branch from 80e7a1c to ab7be9d Compare August 25, 2025 14:31
Bumps [mathjax](https://github.com/mathjax/MathJax) from 3.2.2 to 4.0.0.
- [Release notes](https://github.com/mathjax/MathJax/releases)
- [Commits](mathjax/MathJax@3.2.2...4.0.0)

---
updated-dependencies:
- dependency-name: mathjax
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/templates/main/mathjax-4.0.0 branch from ab7be9d to eabfe95 Compare August 25, 2025 17:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants