<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title>MathJax</title>
	<link href="https://www.mathjax.org/feed.xml" rel="self" />
	<link href="https://www.mathjax.org/" />
	<id>https://www.mathjax.org/</id>
	<author>
		<name>MathJax Consortium</name>
	</author>
	<updated>2025-11-05T14:47:14+00:00</updated>

	<entry>
		<title type="text">MathJax v4.0.0 now available</title>
		<link href="https://www.mathjax.org/MathJax-v4.0.0-available/" />
		<id>https://www.mathjax.org/MathJax-v4.0.0-available/</id>
		<published>2025-08-05T00:00:00+00:00</published>
		<updated>2025-08-05T00:00:00+00:00</updated>
		<summary type="html">The MathJax team is pleased to announce the long-awaited release of
MathJax v4.0.0.  This is the culmination of more than three years of
work by the MathJax team, with major new features and important
improvements.  It has been a long time in coming, but we hope the
results are worth the wait.

</summary>
		<content type="html">&lt;p&gt;The MathJax team is pleased to announce the long-awaited release of
MathJax v4.0.0.  This is the culmination of more than three years of
work by the MathJax team, with major new features and important
improvements.  It has been a long time in coming, but we hope the
results are worth the wait.&lt;/p&gt;

&lt;p&gt;Some of the new and improved features in v4 include:&lt;/p&gt;

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

&lt;p&gt;For many sites, the only change that will be needed to use v4 is to
change the URL where you load MathJax to refer to version 4 rather
than version 3, and to remove the /es5 directory from the URL.  Most
v3 configurations should still work with v4; but if you use the
startup.ready() function to modify MathJax or create new TeX
extensions, there may be some adjustments needed.  One important
change of note is that, since the number of TeX packages has grown,
the all-packages extension and the “-full” components have been
removed, so if you are using those, you will need to change to a
component without the “-full” and either rely on the autoload
extension to load the needed packages, or load them explicitly.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://docs.mathjax.org/en/latest/index.html&quot;&gt;MathJax
documentation&lt;/a&gt; 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 &lt;a href=&quot;https://docs.mathjax.org/en/latest/upgrading/whats-new-4.0.html&quot;&gt;What’s New in
V4.0&lt;/a&gt;
section (more than 50 pages long) for much more information about the
features described above, and in particular, check the &lt;a href=&quot;https://docs.mathjax.org/en/latest/upgrading/whats-new-4.0/breaking.html&quot;&gt;Breaking
Changes&lt;/a&gt;
section for any changes that may affect your usage.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://github.com/mathjax/MathJax-demos-web&quot;&gt;MathJax web demos&lt;/a&gt;
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 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.md&lt;/code&gt; 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 &lt;a href=&quot;https://docs.mathjax.org/en/latest/web/examples.html&quot;&gt;Examples in a
Browser&lt;/a&gt;
section.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://github.com/mathjax/MathJax-demos-node&quot;&gt;MathJax node
demos&lt;/a&gt; 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 &lt;a href=&quot;https://docs.mathjax.org/en/latest/server/examples.html&quot;&gt;Examples
in Node
Applications&lt;/a&gt;
section.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://github.com/mathjax/MathJax-src/milestone/10?closed=1&quot;&gt;v4.0 source
Milestone&lt;/a&gt;
links to the changes many that have been made in v4.0, and the &lt;a href=&quot;https://github.com/mathjax/MathJax/milestone/29&quot;&gt;v4.0
issue milestone&lt;/a&gt;
lists the issues that have been resolved.&lt;/p&gt;

&lt;p&gt;As always, you may report issues in the &lt;a href=&quot;https://github.com/mathjax/MathJax/issues&quot;&gt;MathJax issue
tracker&lt;/a&gt; for v4; this is a
major update, and there are sure to be things that will need
adjusting.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">MathJax v3.2.1 now available</title>
		<link href="https://www.mathjax.org/MathJax-v3.2.1-available/" />
		<id>https://www.mathjax.org/MathJax-v3.2.1-available/</id>
		<published>2022-05-19T00:00:00+00:00</published>
		<updated>2022-05-19T00:00:00+00:00</updated>
		<summary type="html">The MathJax team is pleased to announce version 3.2.1 of MathJax, released earlier today. This is mostly a bug-fix release, resolving various display and input bugs and other issues. See the individual bugs linked below for more details, and the 3.2.1 milestone for the pull requests involved in this release.

</summary>
		<content type="html">&lt;p&gt;The MathJax team is pleased to announce version 3.2.1 of MathJax, released earlier today. This is mostly a bug-fix release, resolving various display and input bugs and other issues. See the individual bugs linked below for more details, and the &lt;a href=&quot;https://github.com/mathjax/MathJax-src/milestone/8&quot;&gt;3.2.1 milestone&lt;/a&gt; for the pull requests involved in this release.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;new-features-in-this-release&quot;&gt;New Features in this Release&lt;/h1&gt;

&lt;p&gt;&lt;a id=&quot;sre&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;speech-rule-engine&quot;&gt;Speech-Rule Engine&lt;/h2&gt;

&lt;p&gt;MathJax now integrates version 4 of Speech Rule Engine (SRE). (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/800&quot;&gt;#800&lt;/a&gt;)&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;SRE v4 is a full port to ES6 using TypeScript providing &lt;strong&gt;transpiled JavaScript for easier integration&lt;/strong&gt; into third party projects via its npm package.&lt;/li&gt;
  &lt;li&gt;Uses webpack as the primary bundler to offer a &lt;strong&gt;single bundle file&lt;/strong&gt; for both node and browser.&lt;/li&gt;
  &lt;li&gt;Major rewrite of rule handling and provision of locales.
    &lt;ul&gt;
      &lt;li&gt;Smaller locale files and memory footprint in the index structure.&lt;/li&gt;
      &lt;li&gt;Hierarchical locale setup that allows inheritance within rule sets.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Uses ES6 promises&lt;/strong&gt; to handle locale loading and engine setup.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;A  number of &lt;strong&gt;new locales&lt;/strong&gt; for Swedish, Norwegian (Bokmal and Nynorsk), Danish (MathSpeak only), and Catalan (MathSpeak only)&lt;/li&gt;
  &lt;li&gt;Locale files are now served with a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.json&lt;/code&gt; extension. (https://github.com/mathjax/MathJax/issues/2403)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For more details and a full list of all changes and additions &lt;a href=&quot;https://github.com/Speech-Rule-Engine/speech-rule-engine/releases/tag/v4.0.0&quot;&gt;see the SRE release notes&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;MathJax makes use of SRE v4 new features in the following ways:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Source integration
    &lt;ul&gt;
      &lt;li&gt;Integrates SRE directly via importing the relevant library files into its code and webpacks them into its components and bundles.&lt;/li&gt;
      &lt;li&gt;Replaces the timeout-driven SRE loading promise with SRE’s new native promises.&lt;/li&gt;
      &lt;li&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sre.ts&lt;/code&gt; module now imports and exports exclusively API methods necessary for SRE’s use in MathJax&lt;/li&gt;
      &lt;li&gt;A new &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mathmaps.ts&lt;/code&gt; module provides a map for directly integrating and bundling locales (see more below).&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Components integration
    &lt;ul&gt;
      &lt;li&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sre&lt;/code&gt; component under &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;components/src/sre&lt;/code&gt; now simply handles copying the locale files in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mathmaps&lt;/code&gt; directory.&lt;/li&gt;
      &lt;li&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;a11y/sre&lt;/code&gt; component under &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;components/src/sre&lt;/code&gt; contains a configuration file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sre_config.js&lt;/code&gt; that sets up the basic SRE configuration for MathJax, especially the correct path to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mathmaps&lt;/code&gt; folder (online or in the npm distribution).&lt;/li&gt;
      &lt;li&gt;Components can webpack SRE’s locale files into bundles. See the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;components/src/tex-chtml-full-speech&lt;/code&gt; component as an example.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;MathJax Configuration
    &lt;ul&gt;
      &lt;li&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sre&lt;/code&gt; path in MathJax is now used exclusively for pointing to a directory containing the locale files.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most of these changes are internal and should remain unnoticeable. However, there are a couple of points to note when using SRE via MathJax:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Previously, MathJax would load SRE as a single library file, but now webpacks its source files, which, as a side-effect, closes several convenient loopholes you could have exploited in the past:
    &lt;ul&gt;
      &lt;li&gt;
        &lt;p&gt;&lt;strong&gt;OLD&lt;/strong&gt;: SRE’s functionality was available to a developer as if running SRE standalone. That is, in both node and browser, all of SRE’s API methods where available in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SRE&lt;/code&gt; namespace, and additionally, the full functionality was reachable in the browser through the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sre&lt;/code&gt; namespace.&lt;/p&gt;

        &lt;p&gt;&lt;strong&gt;NEW&lt;/strong&gt;: Now only the explicitly exported API methods are available to import via the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;a11y/sre&lt;/code&gt; component.&lt;/p&gt;
      &lt;/li&gt;
      &lt;li&gt;
        &lt;p&gt;&lt;strong&gt;OLD&lt;/strong&gt;: You could easily change the version of SRE MathJax would use by:&lt;/p&gt;
        &lt;ol&gt;
          &lt;li&gt;In the browser, pointing to an alternative copy of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sre_browser.js&lt;/code&gt; using the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sre&lt;/code&gt; path in the MathJax configuration, and&lt;/li&gt;
          &lt;li&gt;In node, replacing the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;speech-rule-engine&lt;/code&gt; package with a different version in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;node_modules&lt;/code&gt; folder.&lt;/li&gt;
        &lt;/ol&gt;

        &lt;p&gt;&lt;strong&gt;NEW&lt;/strong&gt;: This is no longer possible.&lt;/p&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sreReady&lt;/code&gt; method is still exported but &lt;em&gt;deprecated&lt;/em&gt;. In the future, you should use the corresponding method in the API bundle &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Sre.sreReady()&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;By default SRE comes without rules (or locales) preloaded, and pulls those in only when necessary. That is, it loads the relevant &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.json&lt;/code&gt; files via XML-HTTP-request in the browser, or via file loading in the node module. However, it is now possible to pre-bundle (some) locales directly into a custom distribution using webpack, which is particularly useful if you want to run MathJax offline while still using the full power of is assistive technology extension. See the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tex-chtml-full-speech&lt;/code&gt; component as an example.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a id=&quot;output&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;output-improvements&quot;&gt;Output Improvements&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Properly handle border and padding CSS in CHTML and SVG output. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/799&quot;&gt;#799&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a id=&quot;lazy&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;lazy-typesetting&quot;&gt;Lazy Typesetting&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Have lazy typesetter typeset all remaining math before printing. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/777&quot;&gt;#777&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Have lazy typesetting specify a (configurable) distance around the viewport for triggering typesetting. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/777&quot;&gt;#777&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Allow containers to be marked so that they are always typeset by the lazy typesetter. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/777&quot;&gt;#777&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a id=&quot;bugs&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&quot;bugs-addressed-in-this-release&quot;&gt;Bugs Addressed in this Release&lt;/h1&gt;

&lt;p&gt;&lt;a id=&quot;output&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;output-bug-fixes&quot;&gt;Output Bug Fixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Update svg output to properly handle token elements with multiple child nodes. (mathjax/MathJax#2836)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Include CSS to reset border-collapse in CHTML output. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2861&quot;&gt;#2861&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Prevent CHTML adaptive CSS from adding character CSS multiple times. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/796&quot;&gt;#796&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Make sure all character data is included when adaptiveCSS is false. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2724&quot;&gt;#2724&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Place super- and subscripts properly around &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\vcenter&lt;/code&gt; elements. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/787&quot;&gt;#787&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Add a minimum height for accented characters. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2766&quot;&gt;#2766&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Take relative scaling into account for CHTML output of non-MathJax fonts. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2818&quot;&gt;#2818&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Fix placement of surd when root extends above the top of the root. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2764&quot;&gt;#2764&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Fix problem with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;msubsup&lt;/code&gt; when subscript is blank. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2765&quot;&gt;#2765&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a id=&quot;tex&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;tex-input-fixes&quot;&gt;TeX Input Fixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Add &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\textup&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\textnormal&lt;/code&gt; to macros allowed by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;textmacros&lt;/code&gt;. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2846&quot;&gt;#2846&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Update &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\operatorname&lt;/code&gt; to work more like in LaTeX. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2830&quot;&gt;#2830&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Have physics package match nested parentheses, fix spacing issues. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2760&quot;&gt;#2760&lt;/a&gt;, &lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2831&quot;&gt;#2831&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Re-implement &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\sideset&lt;/code&gt; using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mmultiscripts&lt;/code&gt;. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/1217&quot;&gt;#1217&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Fix problem where errors during &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mhchem&lt;/code&gt; argument collection are not properly handled. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2835&quot;&gt;#2835&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Update XSLT to produce better results in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mml3&lt;/code&gt; extension. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/785&quot;&gt;#785&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Add ability for TeX input to force normal variant for CJK input. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2744&quot;&gt;#2744&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Make sure math-in-text forms an ORD atom within &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;textmacros&lt;/code&gt;. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2828&quot;&gt;#2828&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Make sure explicit attributes added by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\mmlToken&lt;/code&gt; are not removed. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2806&quot;&gt;#2806&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Fix typo in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\DeclarePairedDelimiter&lt;/code&gt; macros, and substitute arguments in pre and post sections. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2816&quot;&gt;#2816&lt;/a&gt;, &lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2758&quot;&gt;#2758&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Mark &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mo&lt;/code&gt; as not an accent if used in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\overset&lt;/code&gt; and friends. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2800&quot;&gt;#2800&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a id=&quot;mathml&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;mathml-input-fixes&quot;&gt;MathML Input Fixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Fix problems with verification and repair of malformed mtables. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/779&quot;&gt;#779&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Add support for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mglyph&lt;/code&gt; use of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;fontfamily&lt;/code&gt;/&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;index&lt;/code&gt;. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2298&quot;&gt;#2298&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Trim MathML string before parsing it. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2805&quot;&gt;#2805&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Only process MJX-TeXAtom classes on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mrow&lt;/code&gt; elements. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2822&quot;&gt;#2822&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Move &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mml3&lt;/code&gt; filter to an &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mmlFilter&lt;/code&gt; so that &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;forceReparse&lt;/code&gt; isn’t needed. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2718&quot;&gt;#2718&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Make U+2061 through U+2064 have TeX class NONE so they don’t affect spacing. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/806&quot;&gt;#806&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a id=&quot;misc&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;miscellaneous&quot;&gt;Miscellaneous&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Handle documents better when created by parsing in XHTML. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2788&quot;&gt;#2788&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Add version numbers to component files and check them when loaded. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/738&quot;&gt;#738&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Fix problem where some menu settings weren’t sticky (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2786&quot;&gt;#2786&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Add a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;linkedom&lt;/code&gt; adaptor (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2833&quot;&gt;#2833&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Refactor usage of all-packages to reduce redundant code in components. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/784&quot;&gt;#784&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Make variables local in legacy AsciiMath code. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2748&quot;&gt;#2748&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Make safe extension properly handle scriptlevel of 0. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2745&quot;&gt;#2745&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Update webpack files for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;empheq&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cases&lt;/code&gt;. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2762&quot;&gt;#2762&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Update build tools to work with extensions better. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/737&quot;&gt;#737&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Add &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;defaultPageReady()&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MathJaxObject&lt;/code&gt; interface. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/746&quot;&gt;#746&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a id=&quot;available&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&quot;availability-of-version-321&quot;&gt;Availability of version 3.2.1&lt;/h1&gt;

&lt;p&gt;Although version 3.2.1 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.2.1 immediately if you are loading mathjax using a generic &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mathjax@3&lt;/code&gt; URL.  You should be able to obtain it immediately if you use the full version &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mathjax@3.2.1&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;You may also have a cached version in your browser, so you 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).&lt;/p&gt;

&lt;p&gt;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 until the CDN versions stabilize, which should be within a day.  If you are loading one of the combined components (e.g., &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tex-chml.js&lt;/code&gt;), this is less likely to be an issue, and if you are loading a component ending in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-full&lt;/code&gt; it is even less likely to occur.&lt;/p&gt;

&lt;p&gt;Version 3.2.1 is available immediately from npm and GitHub for use in node applications.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">Typora becomes a MathJax Supporter</title>
		<link href="https://www.mathjax.org/Typora-supports-MathJax/" />
		<id>https://www.mathjax.org/Typora-supports-MathJax/</id>
		<published>2022-01-07T00:00:00+00:00</published>
		<updated>2022-01-07T00:00:00+00:00</updated>
		<summary type="html">MathJax today announced that Typora is joining its sponsorship program as
a MathJax Supporter.

</summary>
		<content type="html">&lt;p&gt;MathJax today announced that &lt;a href=&quot;https://typora.io&quot;&gt;Typora&lt;/a&gt; is joining its sponsorship program as
a &lt;a href=&quot;//www.mathjax.org/#sponsors&quot;&gt;MathJax Supporter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Typora is a minimal Markdown editor built by the team of &lt;a href=&quot;https://appmakes.io&quot;&gt;appmakes.io&lt;/a&gt;, which recently ended its long-term beta and now offers stable releases. Unlike some other editors, it offers a seamless experience between writing and reading, by providing an inline preview function. Typora also offers many advanced features, such as math expressions powered by MathJax. It is a good choice if you are looking for an app for writing your documents, blogs, or academic notes.&lt;/p&gt;

&lt;p&gt;“MathJax supports mathematical formulae rendering without complex setups, it just works, and it works quite well,” remarked the developer behind Typora. “With MathJax, we were able to allow our users to create STEM contents in simple Markdown format, right inside our editor, smoothly and efficiently. We really appreciate MathJax team’s great work to bring math functionalities to our product, as well as to many other websites and products.”&lt;/p&gt;

&lt;p&gt;“We really appreciate the support provided by Typora,” said Davide Cervone, the lead developer for MathJax.  “This support allows us to continue to grow MathJax’s features in version 3.”&lt;/p&gt;

&lt;p&gt;The MathJax team looks forward to the collaboration with Typora, and welcomes its support for the MathJax project.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">VitalSource becomes a MathJax Supporter</title>
		<link href="https://www.mathjax.org/Vitalsource-supports-MathJax/" />
		<id>https://www.mathjax.org/Vitalsource-supports-MathJax/</id>
		<published>2021-07-14T00:00:00+00:00</published>
		<updated>2021-07-14T00:00:00+00:00</updated>
		<summary type="html">MathJax today announced that VitalSource is joining its sponsorship program as
a MathJax Supporter.

</summary>
		<content type="html">&lt;p&gt;MathJax today announced that &lt;a href=&quot;https://get.vitalsource.com/&quot;&gt;VitalSource&lt;/a&gt; is joining its sponsorship program as
a &lt;a href=&quot;//www.mathjax.org/#sponsors&quot;&gt;MathJax Supporter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;VitalSource Technologies, LLC is the leading education technology solutions provider committed to helping partners create, deliver, and distribute affordable, accessible, and impactful learning experiences worldwide. As a recognized innovator in the digital course materials market, VitalSource is best known for partnering with more than 1,000 publishers and resellers to deliver extraordinary learning experiences to millions of active users globally—and today we’re also powering new, cutting-edge technologies designed to optimize teaching and learning for maximum results.&lt;/p&gt;

&lt;p&gt;“Through MathJax, VitalSource Bookshelf helps bring MathML rendering to all users both online and offline” said Dave Campbell, Vice President of Software Development at VitalSource.  “We value MathJax’s performance, rendering quality, and configurability but most importantly, their continued commitment to accessibility which mirrors that of VitalSource and the Bookshelf platform.”&lt;/p&gt;

&lt;p&gt;“We are excited to receive support from VitalSource,” said Davide Cervone, the lead developer for MathJax.  “The new Partnership will help us continue to strengthen MathJax’s features, and help keep us one of the premier math-rendering solutions on the web.”&lt;/p&gt;

&lt;p&gt;The MathJax team looks forward to the collaboration with VitalSource, and welcomes its support for the MathJax project.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">MathJax v3.2.0 now available</title>
		<link href="https://www.mathjax.org/MathJax-v3.2.0-available/" />
		<id>https://www.mathjax.org/MathJax-v3.2.0-available/</id>
		<published>2021-06-17T00:00:00+00:00</published>
		<updated>2021-06-17T00:00:00+00:00</updated>
		<summary type="html">The MathJax team is pleased to announce version 3.2.0 of MathJax, released earlier today.  This version includes a number of new features, along with several bug fixes.  The new features include a lazy-typesetting extension, better handling of adaptive CSS in the CommonHTML output, several new TeX extensions, a port of the MML3 extension from v2, and the addition of the Hindi language to the speech generation.  These are described more fully below.

</summary>
		<content type="html">&lt;p&gt;The MathJax team is pleased to announce version 3.2.0 of MathJax, released earlier today.  This version includes a number of new features, along with several bug fixes.  The new features include a lazy-typesetting extension, better handling of adaptive CSS in the CommonHTML output, several new TeX extensions, a port of the MML3 extension from v2, and the addition of the Hindi language to the speech generation.  These are described more fully below.&lt;/p&gt;

&lt;p&gt;There are several several potentially breaking changes in this release.  See the second section below for more details.&lt;/p&gt;

&lt;p&gt;Finally, a number of bug fixes are also included in this release, as described in the last section below.&lt;/p&gt;

&lt;hr /&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;#features&quot;&gt;New Features&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#lazy&quot;&gt;Lazy Typesetting&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#css&quot;&gt;CSS Updates&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#packages&quot;&gt;New TeX Packages&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#mml3&quot;&gt;MathML Extensions&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#hindi&quot;&gt;Explorer Update&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#other&quot;&gt;Other New Features&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#breaking&quot;&gt;Breaking Changes&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#bugs&quot;&gt;Bug Fixes&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#output&quot;&gt;Output Bug Fixes&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#input&quot;&gt;Input Bug Fixes&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#misc&quot;&gt;Miscellaneous&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#available&quot;&gt;Availability of v3.2.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;new-features-in-this-release&quot;&gt;New Features in this Release&lt;/h1&gt;

&lt;p&gt;&lt;a id=&quot;lazy&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;lazy-typesetting&quot;&gt;Lazy Typesetting&lt;/h2&gt;

&lt;p&gt;Although MathJax version 3 is already an order of magnitude faster than version 2, with version 3.2 we offer a new extension that is designed to make pages with large numbers of equations perform even better.  It implements a “lazy typesetting” approach that only typesets an expression when it comes into view, which means that expressions will not be typeset when they are not visible.  Your readers will not have to wait for the entire document to typeset, which can speed up their initial view of the page.  Furthermore, any expressions that are never seen will not be typeset.  This also helps with the situation where you may link to a particular location in your page (via a URL with a hash); in version 2, typesetting the material above that point can cause the browser to change the scroll position, and so the user may not end up at the proper location in the page.  With the lazy extension, the material above that point is not typeset until the user scrolls upwards, and so there is no position change.&lt;/p&gt;

&lt;p&gt;Lazy typesetting works best with SVG output, but changes (discussed below) with the way the CommonHTML output handles its stylesheet updates make the CHTML output nearly as fast.  With TeX input, the lazy extension makes sure that previous expressions are processed by TeX (though not output to the page) so that any macro definitions or automatic equation numbers are in place when the visible expressions are processed.  Currently, documents that contain &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\ref&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\eqref&lt;/code&gt; links may not yet work properly, since target equations may not have been typeset, and so the link location may not be marked in the document.  In particular, forward references are unlikely to work, and backward references will work only if the target expression has already been typeset.  We hope to improve this situation in a future release.&lt;/p&gt;

&lt;p&gt;See the &lt;a href=&quot;https://docs.mathjax.org/en/latest/output/lazy.html&quot;&gt;lazy extension&lt;/a&gt; documentation for information on how to configure MathJax to use this new feature.&lt;/p&gt;

&lt;p&gt;&lt;a id=&quot;css&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;css-updates&quot;&gt;CSS Updates&lt;/h2&gt;

&lt;p&gt;MathJax’s CHTML output handles the characters that appear in the math on the page by storing information about their bounding boxes and text content in a CSS stylesheet.  When additional math is typeset, this stylesheet may need to be updated, and in previous versions, MathJax would replace the entire stylesheet with a new one.  This can cause visual flashing, and can be expensive as the browser must re-evaluate all the rules and apply them again.  In version 3.2, the CHTML output now adds rules to the stylesheet individually, so the older rules are not replaced, and only the new rules must be evaluated and applied.  This makes updates must faster, and is of particular benefit to the lazy-typesetting extension described above, as the page can be updated many times as equations scroll into view.  This change makes the CHTML output work almost as smoothly as SVG output with the lazy extension.&lt;/p&gt;

&lt;p&gt;&lt;a id=&quot;packages&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;new-tex-packages&quot;&gt;New TeX Packages&lt;/h2&gt;

&lt;p&gt;Version 3.2 includes nine new TeX extension packages:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://docs.mathjax.org/en/latest/input/tex/extensions/cased.html&quot;&gt;cases&lt;/a&gt; — provides environments for individually numbered cases.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://docs.mathjax.org/en/latest/input/tex/extensions/centernot.html&quot;&gt;centernot&lt;/a&gt; — implements a centered &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\not&lt;/code&gt; command (and a non-standard &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\centerOver&lt;/code&gt; that places one symbol centered on top of another).&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://docs.mathjax.org/en/latest/input/tex/extensions/colortbl.html&quot;&gt;colortbl&lt;/a&gt; — provides macros for coloring cells of an array or alignment.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://docs.mathjax.org/en/latest/input/tex/extensions/empheq.html&quot;&gt;empheq&lt;/a&gt; — an environment for placing material to the left or right of an alignment that has individual equation numbers.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://docs.mathjax.org/en/latest/input/tex/extensions/gensymb.html&quot;&gt;gensymb&lt;/a&gt; — provides macros for some specific units.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://docs.mathjax.org/en/latest/input/tex/extensions/mathtools.html&quot;&gt;mathtools&lt;/a&gt; — offers a range of macros and environments for advanced mathematical typesetting.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://docs.mathjax.org/en/latest/input/tex/extensions/setoptions.html&quot;&gt;setoptions&lt;/a&gt; — provides the ability to change some TeX input jax options from within an expression (e.g., to change the tag side).&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://docs.mathjax.org/en/latest/input/tex/extensions/textcomp.html&quot;&gt;textcomp&lt;/a&gt; — provides a range of macros for specifying various text characters.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://docs.mathjax.org/en/latest/input/tex/extensions/upgreek.html&quot;&gt;upgreek&lt;/a&gt; — provides macros for upright Greek characters.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are all included in the components that end in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-full&lt;/code&gt; (and include the TeX input jax), and you can load individual ones as you would other tex packages.  Note, however, that none of these are autoloaded, though you can configure the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;autoload&lt;/code&gt; extension to do so, if you wish.  See the &lt;a href=&quot;https://docs.mathjax.org/en/latest/input/tex/extensions/autoload.html&quot;&gt;autoload documentation&lt;/a&gt; for details.&lt;/p&gt;

&lt;p&gt;In addition to these new packages, some of the older packages have been updated:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ams&lt;/code&gt; package now includes &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;flalign&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;xalign&lt;/code&gt;, and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;xxalign&lt;/code&gt; environments.  In addition, the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;multline&lt;/code&gt; extension has been made more compatible with actual LaTeX.  In the past, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;multline&lt;/code&gt; was set to be 85% of the container width, but now it is set to 100%, but with a 1em indent on both sides; when there is a tag, the indent on the tag side is increased by the width of the tag, as is the case in LaTeX.  The width was stored in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;multlineWidth&lt;/code&gt; configuration option in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tex&lt;/code&gt; configuration block.  That has now been moved to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ams&lt;/code&gt; block in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tex&lt;/code&gt; configuration, and there is a new &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;multlineIndent&lt;/code&gt; value.  These are set to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;100%&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1em&lt;/code&gt; respectively.  To obtain the old behavior, set them to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;85%&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0&lt;/code&gt;.  Currently, if &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;multlineWidth&lt;/code&gt; is found in the main &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tex&lt;/code&gt; option block, it will be moved to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ams&lt;/code&gt; block, but that backward-compatibility code will be removed in a future release.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;physics&lt;/code&gt; package now implements all macros, even those that are not officially documented, but are nevertheless available in LaTeX.  In addition, it now implements the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;italicdiff&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;arrowdel&lt;/code&gt; options.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The following macros have been added to the indicated package:&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\overunderset&lt;/code&gt; (ams) — a combination of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\overset&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\underset&lt;/code&gt;.&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\stackbin&lt;/code&gt; (ams) — similar to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\stackrel&lt;/code&gt; but produces a symbol with the spacing of a binary operator.&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\nonscript&lt;/code&gt; (base) — apply the following spacing only when in display and text styles.&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\boxed&lt;/code&gt; (base) — puts a frame around an expression.&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\framebox&lt;/code&gt; (base) — puts a frame around a text argument.&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\ip&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\Bqty&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\qsince&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\Residue&lt;/code&gt; (physics) — originally missing from the physics package.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a id=&quot;mml3&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;mathml-extensions&quot;&gt;MathML Extensions&lt;/h2&gt;

&lt;p&gt;The MML3 extension from version 2 has been ported to version 3 and is available to be included when you load the MathML input jax.  This extension implements the MathML3 elementary math tags (like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;mstack&amp;gt;&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;mlongdiv&amp;gt;&lt;/code&gt;) using an XSLT transform to convert these tags into other presentation MathML tags that MathJax has implemented.  This does a reasonable job for some constructs, and a poorer job for others, but it does make it possible to process elementary math within MathJax v3.  This is an experimental extension as a stop-gap measure until these tags are fully implemented within core MathJax.&lt;/p&gt;

&lt;p&gt;See the &lt;a href=&quot;https://docs.mathjax.org/en/latest/input/mathml.html#experimental-mml3-extension&quot;&gt;mml3 extension&lt;/a&gt; documentation for information on how to configure MathJax to use this new feature.&lt;/p&gt;

&lt;p&gt;&lt;a id=&quot;hindi&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;explorer-update&quot;&gt;Explorer Update&lt;/h2&gt;

&lt;p&gt;The Speech-Rule Engine (SRE) that underlies MathJax’s assistive technology support has been updated to the most recent version (3.3.3).  This includes support for the Hindi language, so that the expression explorer can generate speech in Hindi (as well as its other languages: English, French, German, Italian, Spanish, together with Braille support in Nemeth).&lt;/p&gt;

&lt;p&gt;See the &lt;a href=&quot;https://github.com/zorkow/speech-rule-engine/releases&quot;&gt;SRE release notes&lt;/a&gt; for details.&lt;/p&gt;

&lt;p&gt;This release also ports the remaining missing features for the explorer to v3.  This includes summarising expressions and navigation of tabular expressions, like matrices or equation systems.  See the &lt;a href=&quot;https://docs.mathjax.org/en/latest/basic/explorer-commands.html#special-key-combinations-for-navigating-tables&quot;&gt;explorer keyboard commands&lt;/a&gt; for details.&lt;/p&gt;

&lt;p&gt;&lt;a id=&quot;other&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;other-new-features&quot;&gt;Other New Features&lt;/h2&gt;

&lt;p&gt;In addition to the major features listed above, there are some minor new features as well:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Packages can now be specified for the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;textmacros&lt;/code&gt; extension to the TeX input jax.  This allows you to configure additional macros that can be processed within text mode.  See the &lt;a href=&quot;https://docs.mathjax.org/en/latest/input/tex/extensions/textmacros.html&quot;&gt;textmacros documentation&lt;/a&gt; for details.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Processing of raw Unicode characters in TeX input has been improved.  In the past, nearly all non-ASCII characters would be placed within an &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;mo&amp;gt;&lt;/code&gt; element, which is not always the best tag to use.  In version 3.2, processing of raw Unicode characters is more nuanced, so that letters are placed in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;mi&amp;gt;&lt;/code&gt; elements and other symbols in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;mo&amp;gt;&lt;/code&gt;.  For example, a literal Greek alpha (U+03B1) will produce &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;mi&amp;gt;&amp;amp;#x03B1;&amp;lt;/mi&amp;gt;&lt;/code&gt; (which is what is generated by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\alpha&lt;/code&gt;) rather than &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;mo&amp;gt;&amp;amp;#x03B1;&amp;lt;/mo&amp;gt;&lt;/code&gt; as in earlier versions.  This should provide better results, though perhaps still not perfect in all cases.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;In the past, errors in the MathJax configuration options (such as an unknown option) would produce a fatal error and MathJax would not run.  In version 3.2, such errors now produce non-fatal warnings instead, and MathJax will continue to process the remaining options (and then typeset the page).  This means that changes to the options (like those described in the &lt;a href=&quot;#breaking&quot;&gt;breaking changes&lt;/a&gt; below) will not cause your pages to fail outright (though the old options will have no effect).  You can configure MathJax to make such errors fatal again, if you wish, and you can provide a function that will be called when there is an option error so that you can more easily trap such errors and handle them yourself.  See the &lt;a href=&quot;https://docs.mathjax.org/en/latest/options/startup/startup.html&quot;&gt;startup options&lt;/a&gt; for more details.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The component loader uses a set of filters to convert a component specification (like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[tex]/physics&lt;/code&gt;) to the full URL for loading the extension.  In the past, it was difficult to hook into that filtering mechanism, but in version 3.2, you can now configure additional filters for the loader.  See the &lt;a href=&quot;https://docs.mathjax.org/en/latest/options/startup/loader.html&quot;&gt;loader documentation&lt;/a&gt; for more details.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a id=&quot;breaking&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&quot;breaking-changes-in-this-release&quot;&gt;Breaking Changes in this Release&lt;/h1&gt;

&lt;p&gt;Some of the changes made to the options to accommodate the updated speech-rule engine are potentially breaking changes, in that the previous options (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;enrichSpeech&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;a11y.locale&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;a11y.speechRules&lt;/code&gt;) are no longer valid options.  Version 3.1.4 includes code to transfer the old options to their new locations, but that code has been removed in version 3.2.  As errors in options are no longer fatal (unless you configure them to be), this change will no longer cause MathJax to fail, but will cause warning messages in the browser console, so look there for such error reports.&lt;/p&gt;

&lt;p&gt;Similarly, the code that automatically renames the older TeX package names to their current all-lower-case versions (e.g., &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;configMacros&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;configmacros&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;colorV2&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;colorv2&lt;/code&gt;) has been removed from version 3.2.  If you are using old package names, you will need to update your configuration.  This applies to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\require{}&lt;/code&gt; macros that refer to the older names as well as their names in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;loader&lt;/code&gt; section, the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tex.packages&lt;/code&gt; array, and the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tex.autoload&lt;/code&gt; block.&lt;/p&gt;

&lt;p&gt;Version 3.2 removes the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;matchFontHeight&lt;/code&gt; option for the SVG output jax, since it only applies to the CommonHTML output, but was previously allowed in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;svg&lt;/code&gt; configuration block, while doing nothing.&lt;/p&gt;

&lt;p&gt;Version 3.2 removes of the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;toArray()&lt;/code&gt; method from the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;LinkedList&lt;/code&gt; class (and its subclasses), so any custom code that uses that should switch to using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Array.from(...)&lt;/code&gt; around the list instead.&lt;/p&gt;

&lt;p&gt;Finally, the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Box.ts&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CssStyles.ts&lt;/code&gt; (and their associated &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.js&lt;/code&gt; files) have been moved from the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;output&lt;/code&gt; directories to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;util&lt;/code&gt; directory.  Compatibility files were placed in the original locations so that older code would continue to work, but these have been removed in v3.2, so you should modify any custom code that loads these files to obtain them from the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;util&lt;/code&gt; directory instead.&lt;/p&gt;

&lt;p&gt;&lt;a id=&quot;bugs&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&quot;bugs-addressed-in-this-release&quot;&gt;Bugs Addressed in this Release&lt;/h1&gt;

&lt;p&gt;&lt;a id=&quot;output&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;output-bug-fixes&quot;&gt;Output Bug Fixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Work around long-standing WebKit bug with CHTML characters. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2435&quot;&gt;2435&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix error where a second use of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\|&lt;/code&gt; delim causes the wrong size to be used. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/700&quot;&gt;700&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed problem with vertical centering of tables (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/697&quot;&gt;697&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Reset cramped style for explicit style changes, and in tables (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/697&quot;&gt;697&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Force setting of width of text with an explicit font (work around Safari bug) (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/699&quot;&gt;699&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Add support for shifting combining-character accents into place (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/695&quot;&gt;695&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a id=&quot;input&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;input-bug-fixes&quot;&gt;Input Bug Fixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Fix \overset and similar macros to now convert over-under to sub-sup in text mode. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2709&quot;&gt;2709&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed problem with converting under-over to sub-sup when one script is missing. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2691&quot;&gt;2691&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Trim delimiter for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\big&lt;/code&gt; and friends (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2688&quot;&gt;2688&lt;/a&gt;, &lt;a href=&quot;https://github.com/mathjax/MathJax/issue/2689&quot;&gt;2689&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Wrap results of  &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\mathbf&lt;/code&gt; and similar macros so they are treated as a unit(&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2688&quot;&gt;2688&lt;/a&gt;, &lt;a href=&quot;https://github.com/mathjax/MathJax/issue/2689&quot;&gt;2689&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix several bugs in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;physics&lt;/code&gt; package (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2449&quot;&gt;2449&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Remove heuristic for U+2061 forcing previous item to be TeX class OP (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/719&quot;&gt;719&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a id=&quot;misc&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;miscellaneous&quot;&gt;Miscellaneous&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Update &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;node-main&lt;/code&gt; for webpack 5 (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/696&quot;&gt;696&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix problem with detecting whether the ex-height can be computed, and work around jsdom problems (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/691&quot;&gt;691&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Clear the stylesheet when used in a new MathDocument. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2678&quot;&gt;2678&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Only return a DOCTYPE if there is one (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/692&quot;&gt;692&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Go back to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mhchemparser&lt;/code&gt; package, now that it is es5 (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/714&quot;&gt;714&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a id=&quot;available&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&quot;availability-of-version-320&quot;&gt;Availability of version 3.2.0&lt;/h1&gt;

&lt;p&gt;Although version 3.2.0 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.2.0 immediately if you are loading mathjax using a generic &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mathjax@3&lt;/code&gt; URL.  You should be able to obtain it immediately if you use the full version &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mathjax@3.2.0&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;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).&lt;/p&gt;

&lt;p&gt;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., &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tex-chml.js&lt;/code&gt;), this is less likely to be an issue, and if you are loading a component ending in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-full&lt;/code&gt; it is even less likely to occur.&lt;/p&gt;

&lt;p&gt;Version 3.2.0 is available immediately from npm and GitHub for use in node applications.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">Cambridge University Press continues as MathJax Supporter</title>
		<link href="https://www.mathjax.org/cambridge-university-press-continues-as-mathjax-supporter-2021/" />
		<id>https://www.mathjax.org/cambridge-university-press-continues-as-mathjax-supporter-2021/</id>
		<published>2021-05-28T00:00:00+00:00</published>
		<updated>2021-05-28T00:00:00+00:00</updated>
		<summary type="html">

</summary>
		<content type="html">&lt;!-- # Cambridge University Press continues as MathJax Supporter --&gt;

&lt;p&gt;&lt;a href=&quot;http://cambridge.org&quot;&gt;Cambridge University Press&lt;/a&gt; continues to support the MathJax project as a MathJax Supporter.&lt;/p&gt;

&lt;p&gt;With its first publication dating back to 1584, Cambridge University Press (CUP) is the oldest publishing house in the world. As part of the University of Cambridge. CUP follows the University’s mission to disseminate knowledge in the pursuit of education, learning and research at the highest international levels of excellence. Today, CUP publishes 50,000 titles by authors from over 100 countries with platforms such as &lt;a href=&quot;https://www.cambridge.org/core&quot;&gt;Cambridge Core&lt;/a&gt; leveraging MathJax to deliver high-quality, accessible mathematics in over 300 peer-reviewed journals.&lt;/p&gt;

&lt;p&gt;“Cambridge University Press is pleased to work with MathJax to ensure the optimal presentation of mathematics content in the research we disseminate online. We’re committed to our publishing partnership with the math and science community and delighted to be a MathJax sponsor,” says Roger Astley, Executive Publisher, Mathematical Sciences.&lt;/p&gt;

&lt;p&gt;“We value the continued backing that Cambridge University Press offers MathJax, and are pleased to contribute to their web-based mathematical offerings”, comments Davide P. Cervone, MathJax lead developer. “As a MathJax Supporter, CUP makes an important contribution to keeping MathJax the reliable, flexible, and open technology it is today.”&lt;/p&gt;

&lt;p&gt;We look forward to continuing the collaboration with CUP, and welcome their ongoing support for the MathJax project.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">MathJax v3.1.3 now available</title>
		<link href="https://www.mathjax.org/MathJax-v3-1-3-available/" />
		<id>https://www.mathjax.org/MathJax-v3-1-3-available/</id>
		<published>2021-04-22T00:00:00+00:00</published>
		<updated>2021-04-22T00:00:00+00:00</updated>
		<summary type="html">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.

</summary>
		<content type="html">&lt;p&gt;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.&lt;/p&gt;

&lt;h1 id=&quot;new-features-in-this-release&quot;&gt;New Features in this Release&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;The speech-rule engine (SRE) has been updated to v3.2.0. (&lt;a href=&quot;https://github.com/zorkow/speech-rule-engine/releases/tag/v3.2.0&quot;&gt;SRE release notes.&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;The options controlling the SRE have been separated out from the other assistive options so they can be configured independently.  (&lt;a href=&quot;https://docs.mathjax.org/en/v3.1-latest/options/accessibility.html?highlight=sre#semantic-enrich-extension-options&quot;&gt;documentation&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;The MathDocument &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;reset()&lt;/code&gt; command now allows resetting input and output jax. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/647&quot;&gt;#647&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;LaTeX environments can now be defined in the MathJax configuration, just like macros. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2505&quot;&gt;#2505&lt;/a&gt;) (&lt;a href=&quot;https://docs.mathjax.org/en/v3.1-latest/input/tex/extensions/configmacros.html?highlight=environments&quot;&gt;documentation&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Add support for all &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\mathXYZ&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\symXYZ&lt;/code&gt; macros (e.g., &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\mathsfit&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\symbfup&lt;/code&gt;) and use multi-letter &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;mi&amp;gt;&lt;/code&gt; when possible. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2595&quot;&gt;#2595&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Add support for trapping and reporting SRE errors. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/679&quot;&gt;#679&lt;/a&gt;) (&lt;a href=&quot;https://docs.mathjax.org/en/v3.1-latest/options/accessibility.html?highlight=enricherror#semantic-enrich-extension-options&quot;&gt;documentation&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Add ability to trigger links within expressions (via the return key) while using the expression explorer. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/687&quot;&gt;#687&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Update the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mhchem&lt;/code&gt; extension to the latest version from the author. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/688&quot;&gt;#688&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Update AsciiMath to current version. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2640&quot;&gt;#2640&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;bugs-addressed-in-this-release&quot;&gt;Bugs Addressed in this release&lt;/h1&gt;

&lt;h2 id=&quot;tex-input-issues&quot;&gt;TeX Input Issues&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Allow &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\middle&lt;/code&gt; to work when a style or color is open. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2663&quot;&gt;#2663&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fully clear tagging on equation start. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2643&quot;&gt;#2643&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Ignore &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;*&lt;/code&gt; in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\\*&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\\*[...]&lt;/code&gt; constructions. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2433&quot;&gt;#2433&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix problems with SVG output being misplaced. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2554&quot;&gt;#2554&lt;/a&gt;, mathjax/MathJax#2624, mathjax/MathJax#2577)&lt;/li&gt;
  &lt;li&gt;Fix problem with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\|&lt;/code&gt; being stretchy when it shouldn’t be. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2632&quot;&gt;#2632&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix placement of undefined macro when &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;textmacros&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;noundefined&lt;/code&gt; are both in effect.  (&lt;a href=&quot;https:github.com/mathjax/MathJax#2622&quot;&gt;#2622&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix problem with autoloading when macro name is followed by a space. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2580&quot;&gt;#2580&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;mathml-input-issues&quot;&gt;MathML Input Issues&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Fix problem with loading entity files when MathML input encounters an entity that isn’t defined. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2650&quot;&gt;#2650&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix handling of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;mrow&amp;gt;&lt;/code&gt; nodes that look like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\left...\right&lt;/code&gt; to be TeX class INNER. (mathjax/Mathjax#2584)&lt;/li&gt;
  &lt;li&gt;Don’t mark &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;mrow&amp;gt;&lt;/code&gt; nodes as fences if the parentheses aren’t stretchy. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/583&quot;&gt;#583&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Make &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;mspace&amp;gt;&lt;/code&gt; elements have TeX class NONE. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2576&quot;&gt;#2576&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;output-issues&quot;&gt;Output Issues&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Fix MathML spacing rules for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;mo&amp;gt;&lt;/code&gt; elements to better follow the specification. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2392&quot;&gt;#2392&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Better handling of minimum height and width for SVG (so they don’t disappear). (&lt;a href=&quot;https:github.com/mathjax/MathJax#2605&quot;&gt;#2605&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix issues with placement of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;menclose&amp;gt;&lt;/code&gt; notations. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2571&quot;&gt;#2571&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix several issues with tables (label alignment in CHTML, lines in SVG in tables with tags, vertical centering). (mathjax/Mathjax#2601)&lt;/li&gt;
  &lt;li&gt;Update SVG output so that following a link scrolls to the top of the tag rather than the baseline in all browsers. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2588&quot;&gt;#2588&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Use a colon in link anchor ids so that links work in Safari in SVG output. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2586&quot;&gt;#2586&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Improve positioning of extenders for stretchy characters. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2547&quot;&gt;#2547&lt;/a&gt;, mathjax/MathJax#2598)&lt;/li&gt;
  &lt;li&gt;Improve heights of successively larger multi-character surds. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2658&quot;&gt;#2658&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Handle variant forms for pseudo-scripts better in fonts that have them. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2519&quot;&gt;#2519&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Allow stylesheet to be obtained even after it was created. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2542&quot;&gt;#2542&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Correct errors in the horizontal stretchy data for several characters. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/645&quot;&gt;#645&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Updates to handle &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;smallmatrix&lt;/code&gt; environment properly. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/582&quot;&gt;#582&lt;/a&gt;, #621)&lt;/li&gt;
  &lt;li&gt;Fix problem with selectors for SVG path widths. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2618&quot;&gt;#2618&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix incorrect glyph for script capital I. (mathjax/MathJax-src#2555)&lt;/li&gt;
  &lt;li&gt;Add a small separation between super- and subscripts and their base. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2406&quot;&gt;#2406&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Allow “single-character” &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;mi&amp;gt;&lt;/code&gt; elements to include trailing combining characters. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2617&quot;&gt;#2617&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Improve spacing between accents and their bases, and handle under- and over-lines more like TeX. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/619&quot;&gt;#619&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Handle accents more like TeX does (better sizes and placement). (&lt;a href=&quot;https:github.com/mathjax/MathJax#712&quot;&gt;#712&lt;/a&gt;, mathjax/MathJax#2474)&lt;/li&gt;
  &lt;li&gt;Fix handling of italic correction for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;munderover&amp;gt;&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;msubsup&amp;gt;&lt;/code&gt; combinations. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/634&quot;&gt;#634&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Better handling of the placement of scripts in enriched MathML. (zorkow/speech-rule-engine#462, #617)&lt;/li&gt;
  &lt;li&gt;Handle spacing in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;mroot&amp;gt;&lt;/code&gt; elements properly. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2630&quot;&gt;#2630&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Make sure hit-box is translated along with the hit-able element in SVG output. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2530&quot;&gt;#2530&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Add support for setting the unknown character family for when a character is not in the MathJax fonts. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/576&quot;&gt;#576&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Make sure bevelled fraction is symmetrically placed. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/580&quot;&gt;#580&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Prevent border-spacing and border-collapse from being inherited from an outer table. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/686&quot;&gt;#686&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;miscellaneous&quot;&gt;Miscellaneous&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Update operator dictionary to the current state of Appendix C of the specification. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/652&quot;&gt;#652&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Skip DOM node types that MathJax can’t process. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2662&quot;&gt;#2662&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix a problem where &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;enableEnrich&lt;/code&gt; and other a11y options could not be configured. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2651&quot;&gt;#2651&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Properly serialize &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;annotation-xml&amp;gt;&lt;/code&gt; content. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/678&quot;&gt;#678&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Reset the tex labels and ids when A11y changes force re-rendering. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2597&quot;&gt;#2597&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Trim TeX and annotations before copying to clipboard. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2574&quot;&gt;#2574&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Remove &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;role=&apos;presentation&apos;&lt;/code&gt; attributes. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2608&quot;&gt;#2608&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Handle measuring of elements in jsdom adaptor the same way as in liteDOM, since jsdom doesn’t do measurements. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2550&quot;&gt;#2550&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Show more internal properties in serialized MathML. (&lt;a href=&quot;https:github.com/mathjax/MathJax#2585&quot;&gt;#2585&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Improve build tools to make it easier to create custom components. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/592&quot;&gt;#592&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pack&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;makeAll&lt;/code&gt; commands to display the modules used in version 5 of webpack. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/591&quot;&gt;#591&lt;/a&gt;, #579)&lt;/li&gt;
  &lt;li&gt;Fix &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;webpack.common.js&lt;/code&gt; to handle windows paths correctly. (&lt;a href=&quot;https://github.com/mathjax/MathJax-demos-web/issues/30&quot;&gt;demos-web#30&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Update LiteAdaptor to handle full-width characters better. (&lt;a href=&quot;https://github.com/mathjax/MathJax-demos-node/issues/29&quot;&gt;demos-node#29&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;potential-future-breaking-changes&quot;&gt;Potential Future Breaking Changes&lt;/h1&gt;

&lt;p&gt;Some of the changes made to the options to accommodate the updated speech-rule engine are potentially breaking changes, in that the previous options (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;enrichSpeech&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;a11y.locale&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;a11y.speechRules&lt;/code&gt;) 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.&lt;/p&gt;

&lt;p&gt;Similarly, the code that automatically renames the older TeX package names to their current all-lower-case versions (e.g., &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;configMacros&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;configmacros&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;colorV2&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;colorv2&lt;/code&gt;) 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 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\require{}&lt;/code&gt; macros that refer to the older names as well as their names in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;loader&lt;/code&gt; section, the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tex.packages&lt;/code&gt; array, and the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tex.autoload&lt;/code&gt; block.&lt;/p&gt;

&lt;p&gt;Version 3.2 will also see the removal of the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;matchFontHeight&lt;/code&gt; option for the SVG output jax, since it only applies to the CommonHTML output, but is currently allowed in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;svg&lt;/code&gt; configuration block, while doing nothing.&lt;/p&gt;

&lt;p&gt;Version 3.2 may include other breaking changes, such as the removal of the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;toArray()&lt;/code&gt; method from the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;LinkedList&lt;/code&gt; class (and its subclasses), so any custom code that uses that should switch to using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Array.from(...)&lt;/code&gt; around the list instead.&lt;/p&gt;

&lt;p&gt;Finally, the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Box.ts&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CssStyles.ts&lt;/code&gt; (and their associated &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.js&lt;/code&gt; files) have been moved from the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;output&lt;/code&gt; directories to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;util&lt;/code&gt; 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 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;util&lt;/code&gt; directory instead.&lt;/p&gt;

&lt;h1 id=&quot;availability-of-version-313&quot;&gt;Availability of version 3.1.3&lt;/h1&gt;

&lt;p&gt;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 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mathjax@3&lt;/code&gt; URL.  You should be able to obtain it immediately if you use the full version &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mathjax@3.1.3&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;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).&lt;/p&gt;

&lt;p&gt;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., &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tex-chml.js&lt;/code&gt;), this is less likely to be an issue, and if you are loading a component ending in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-full&lt;/code&gt; it is even less likely to occur.&lt;/p&gt;

&lt;p&gt;Version 3.1.3 is available immediately from npm and GitHub for use in node applications.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">Taylor and Francis continues as MathJax Sponsor</title>
		<link href="https://www.mathjax.org/taylor-and-francis-continues-as-mathjax-partner-2021/" />
		<id>https://www.mathjax.org/taylor-and-francis-continues-as-mathjax-partner-2021/</id>
		<published>2021-03-11T00:00:00+00:00</published>
		<updated>2021-03-11T00:00:00+00:00</updated>
		<summary type="html">Taylor &amp;amp; Francis continues to support MathJax as a MathJax Supporter.

</summary>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.taylorandfrancisgroup.com/&quot;&gt;Taylor &amp;amp; Francis&lt;/a&gt; continues to support MathJax as a &lt;a href=&quot;/#supporters&quot;&gt;MathJax Supporter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Taylor &amp;amp; Francis, a division of &lt;a href=&quot;http://www.informa.com/&quot;&gt;Informa plc&lt;/a&gt;, is a leading international academic publisher with more than 2,700 journals, over 7,000 new books each year, and a books backlist in excess of 140,000 specialist titles. Access to all journals from Taylor &amp;amp; Francis, Routledge and Psychology Press is provided by T&amp;amp;F’s state-of-the art platform &lt;a href=&quot;http://tandfonline.com&quot;&gt;Taylor &amp;amp; Francis Online&lt;/a&gt; where MathJax provides beautiful, accessible mathematics in publications such as the journals of the &lt;a href=&quot;http://amstat.tandfonline.com/&quot;&gt;American Statistical Association&lt;/a&gt; and the &lt;a href=&quot;https://maa.tandfonline.com/&quot;&gt;Mathematical Association of America&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Paul Naish, Global Head of Portfolio for Mathematics &amp;amp; Statistics at Taylor &amp;amp; Francis, noted “Taylor &amp;amp; Francis are dedicated supporters of MathJax since 2014. We are fans for a number of reasons, not least is the accessibility that MathJax provides for those using assistive technology, but also its simple and effective readability of equations in any browser.”&lt;/p&gt;

&lt;p&gt;“We are indebted to sponsors like Taylor &amp;amp; Francis for their dedication to making mathematics available and accessible on the web,” comments Davide Cervone, MathJax lead developer and project manager. “The continuing support from Taylor &amp;amp; Francis helps us to improve MathJax, develop new features, and maintain our high standards for on-line mathematical presentation.”&lt;/p&gt;

&lt;p&gt;We look forward to continuing the collaboration with Taylor &amp;amp; Francis, and welcome their ongoing participation in the MathJax project.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">MAA continues as MathJax Sponsor</title>
		<link href="https://www.mathjax.org/maa-continues-as-mathjax-partner-2021/" />
		<id>https://www.mathjax.org/maa-continues-as-mathjax-partner-2021/</id>
		<published>2021-02-24T00:00:00+00:00</published>
		<updated>2021-02-24T00:00:00+00:00</updated>
		<summary type="html">The Mathematical Association of America (MAA) continues to support the MathJax project as a MathJax Sponsor.

</summary>
		<content type="html">&lt;p&gt;&lt;a href=&quot;https://www.maa.com&quot;&gt;The Mathematical Association of America (MAA)&lt;/a&gt; continues to support the MathJax project as a MathJax Sponsor.&lt;/p&gt;

&lt;p&gt;The MAA is the world’s largest community of mathematicians, students, and enthusiasts. It accelerates the understanding of our world through mathematics because mathematics drives society and shapes lives.&lt;/p&gt;

&lt;p&gt;“Communication is a core value of the MAA,” said Michael Pearson, MAA Executive Director. “The acceleration of the development and presentation of mathematics online, for both research and education, requires effective tools such as MathJax to bring mathematical equations to life, and we are happy to continue our support.”&lt;/p&gt;

&lt;p&gt;“The MAA’s support has been a long-term asset to MathJax and our development efforts.  We are pleased to partner with the MAA, and to continue to work with them toward greater support for mathematics on the web”, said Davide P. Cervone, MathJax lead developer. “Thanks to the MAA, we can continue to enhance MathJax, and its support for the assistive technology that is so important for math education.”&lt;/p&gt;

&lt;p&gt;We look forward to continuing the collaboration with the MAA and welcome their ongoing support for the MathJax project.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">Elsevier continues as MathJax Sponsor</title>
		<link href="https://www.mathjax.org/elsevier-continues-as-mathjax-partner-2020/" />
		<id>https://www.mathjax.org/elsevier-continues-as-mathjax-partner-2020/</id>
		<published>2021-02-16T00:00:00+00:00</published>
		<updated>2021-02-16T00:00:00+00:00</updated>
		<summary type="html">Elsevier continues to support the MathJax project as a MathJax Sponsor.

</summary>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.elsevier.com&quot;&gt;Elsevier&lt;/a&gt; continues to support the MathJax project as a MathJax Sponsor.&lt;/p&gt;

&lt;p&gt;Elsevier is a world-leading provider of information solutions for science, health, and technology professionals. Elsevier provides web-based, digital solutions — among them ScienceDirect, Scopus, Elsevier Research Intelligence, and ClinicalKey — and publishes over 2,600 journals, including The Lancet and Cell, and more than 33,000 book titles, including a number of iconic reference works.  Elsevier is actively advancing discipline-specific content, format, and tools to the author and user needs and workflow.&lt;/p&gt;

&lt;p&gt;“Elsevier consistently and proactively endeavours to make our products fully accessible to all our readers. MathJax is a crucial component of our ability to consistently render math equations across all fulltext journals and books on ScienceDirect in an accessible manner, and a feature we know to be greatly valued by our users. We are therefore delighted to continue our support of the MathJax project,” commented Rose L’Huillier, SVP Product Management Reading at Elsevier&lt;/p&gt;

&lt;p&gt;“Elsevier’s long-term support and feedback has been invaluable to MathJax during our development efforts.  Their technical expertise and large corpus of mathematical texts are a perfect match for our needs”, said Davide P. Cervone, MathJax lead developer. “Thanks to Elsevier, we can continue to enhance MathJax, and remain a key technology for math and science on the web.”&lt;/p&gt;

&lt;p&gt;We look forward to continuing the collaboration with Elsevier and welcome their ongoing support for the MathJax project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About Elsevier&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Elsevier is a world-leading provider of information solutions that enhance the performance of science, health, and technology professionals, empowering them to make better decisions, deliver better care, and sometimes make groundbreaking discoveries that advance the boundaries of knowledge and human progress. Elsevier provides web-based, digital solutions — among them &lt;a href=&quot;http://www.sciencedirect.com/&quot;&gt;ScienceDirect&lt;/a&gt;, &lt;a href=&quot;http://www.scopus.com/&quot;&gt;Scopus&lt;/a&gt;, &lt;a href=&quot;http://www.elsevier.com/research-intelligence&quot;&gt;Elsevier Research Intelligence&lt;/a&gt; and &lt;a href=&quot;https://www.clinicalkey.com/#!/&quot;&gt;ClinicalKey&lt;/a&gt; — and publishes over 2,600 journals, including &lt;a href=&quot;http://www.thelancet.com/&quot;&gt;The Lancet&lt;/a&gt; and &lt;a href=&quot;http://www.cell.com/&quot;&gt;Cell&lt;/a&gt;, and more than 33,000 book titles, including a number of iconic reference works. Elsevier is part of &lt;a href=&quot;http://www.relx.com/Pages/Home.aspx&quot;&gt;RELX Group plc&lt;/a&gt;, a world-leading provider of information solutions for professional customers across industries.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">EBSCO continues as MathJax supporter</title>
		<link href="https://www.mathjax.org/EBSCO-continues-as-mathjax-supporter-2020/" />
		<id>https://www.mathjax.org/EBSCO-continues-as-mathjax-supporter-2020/</id>
		<published>2020-12-18T00:00:00+00:00</published>
		<updated>2020-12-18T00:00:00+00:00</updated>
		<summary type="html">EBSCO Information Services (EBSCO) continues to support MathJax as a MathJax Supporter.

</summary>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.ebsco.com&quot;&gt;EBSCO Information Services&lt;/a&gt; (EBSCO) continues to support MathJax as a MathJax Supporter.&lt;/p&gt;

&lt;p&gt;EBSCO is the provider of online research content and search technologies serving academic, school and public libraries; healthcare and medical institutions; corporations; and government agencies around the world.  From research, acquisition management, subscription services and discovery to clinical decision support and patient care, learning, and research and  development, EBSCO provides institutions with access to content and resources to serve the information and workflow needs of their users and organizations. Its participation in the sponsorship program is just one way that EBSCO is involved with MathJax. EBSCO also uses MathJax to ensure that the mathematical equations are optimally displayed when they appear in its research databases.&lt;/p&gt;

&lt;p&gt;EBSCO Information Services Vice President of Database Partnerships, Ryan Bernier, said, “MathJax improves accessibility, readability and interpretation of equations on both desktop and mobile devices. As a provider of STEM e-journals and databases including MathSciNet, EBSCO is proud to support the development and enhancement of MathJax.”&lt;/p&gt;

&lt;p&gt;MathJax’s lead developer responds: “We are pleased to partner with EBSCO to help bring their quality research content on line.  EBSCO’s ongoing contributions to MathJax allow us to develop new features, and help maintain MathJax as a key component for accessible mathematics on the web.”&lt;/p&gt;

&lt;p&gt;The MathJax team looks forward to continued collaboration with EBSCO and welcomes its support for the MathJax project.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">MathJax v3.1.2 now available</title>
		<link href="https://www.mathjax.org/MathJax-v3-1-2-available/" />
		<id>https://www.mathjax.org/MathJax-v3-1-2-available/</id>
		<published>2020-09-20T00:00:00+00:00</published>
		<updated>2020-09-20T00:00:00+00:00</updated>
		<summary type="html">The MathJax team is pleased to announce version 3.1.2 of MathJax, released earlier today (version 3.1.1 contained an error that was fixed shortly after it was released).  This is a bug-fix release to address several issues that arose from the 3.1.0 release, particularly with the textmacros package for the TeX input jax.  It also updates the Speech-Rule Engine to version 3.1.1.

</summary>
		<content type="html">&lt;p&gt;The MathJax team is pleased to announce version 3.1.2 of MathJax, released earlier today (version 3.1.1 contained an error that was fixed shortly after it was released).  This is a bug-fix release to address several issues that arose from the 3.1.0 release, particularly with the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;textmacros&lt;/code&gt; package for the TeX input jax.  It also updates the Speech-Rule Engine to version 3.1.1.&lt;/p&gt;

&lt;h1 id=&quot;bugs-addressed-in-this-release&quot;&gt;Bugs Addressed in this release&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;Fix issue with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\textit&lt;/code&gt;, etc., not working with the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;textmacros&lt;/code&gt; extension enabled. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2514&quot;&gt;2514&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Add ‘smart quote’ version of acute and grave accents in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;textmacros&lt;/code&gt; extension. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2526&quot;&gt;2526&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Add missing support for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\ref&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\eqref&lt;/code&gt; in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;textmacros&lt;/code&gt; extension. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2528&quot;&gt;2528&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Only ignore space following alphabetic control sequences in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;textmacros&lt;/code&gt;. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2527&quot;&gt;2527&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix issue with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;textmacros&lt;/code&gt; causing incorrect display in SVG mode. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2524&quot;&gt;2524&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Make sure configuration renaming is performed for *-full components. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2516&quot;&gt;2516&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Handle AsciiMath configuration properly, in particular, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;displaystyle&lt;/code&gt;. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issue/2520&quot;&gt;2520&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Convert mu to em in CD environment. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2513&quot;&gt;2513&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix autoload to handle macro or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\begin&lt;/code&gt; followed by spaces. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2511&quot;&gt;2511&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Update &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;convert()&lt;/code&gt; to accept &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;family&lt;/code&gt; parameter (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2512&quot;&gt;2512&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;changes-in-speech-rule-engine&quot;&gt;Changes in Speech-Rule Engine&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;Introduces handling of direct speech attributes like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aria-label&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;alt&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;exact-speech&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Handling of elements like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mglyph&lt;/code&gt; if they contain a direct speech attribute.&lt;/li&gt;
  &lt;li&gt;Allows floats as part of mixed numbers.&lt;/li&gt;
  &lt;li&gt;A number of fixes to the Clearspeak and Nemeth rule sets.&lt;/li&gt;
  &lt;li&gt;Fixes regression of SVG highlighter.&lt;/li&gt;
&lt;/ul&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">MathJax v3.1.0 now available</title>
		<link href="https://www.mathjax.org/MathJax-v3-1-0-available/" />
		<id>https://www.mathjax.org/MathJax-v3-1-0-available/</id>
		<published>2020-08-25T00:00:00+00:00</published>
		<updated>2020-08-25T00:00:00+00:00</updated>
		<summary type="html">The MathJax team is pleased to announce version 3.1 of MathJax, released earlier today.  This is a feature release that includes a number of API improvements, new extensions, and updates to the assistive tools, as described below. It also includes several bug fixes.

</summary>
		<content type="html">&lt;p&gt;The MathJax team is pleased to announce version 3.1 of MathJax, released earlier today.  This is a feature release that includes a number of API improvements, new extensions, and updates to the assistive tools, as described below. It also includes several bug fixes.&lt;/p&gt;

&lt;p&gt;See the individual issues and pull requests linked below, as well as the &lt;a href=&quot;https://docs.mathjax.org/en/v3.1-latest/upgrading/whats-new-3.1.html&quot;&gt;What’s new in v3.1&lt;/a&gt; section of the MathJax documentation, for more details.&lt;/p&gt;

&lt;p&gt;Also note that the demos in the &lt;a href=&quot;https://github.com/mathjax/MathJax-demos-node&quot;&gt;node examples&lt;/a&gt; have been updated and expanded to include examples of using a &lt;a href=&quot;https://github.com/mathjax/MathJax-demos-node/tree/master/simple&quot;&gt;simplified interface&lt;/a&gt; for MathJax in server-side node applications, &lt;a href=&quot;https://github.com/mathjax/MathJax-demos-node/tree/master/puppeteer&quot;&gt;MathJax with Puppeteer&lt;/a&gt;, and &lt;a href=&quot;https://github.com/mathjax/MathJax-demos-node/tree/master/jsdom&quot;&gt;MathJax with jsdom&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;new-features-in-this-release&quot;&gt;New Features in this Release&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;New &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;textmacros&lt;/code&gt; extension for handling some macros in text-mode. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/509&quot;&gt;#509&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Add &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;safe&lt;/code&gt; extension and component. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/514&quot;&gt;#514&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;New German localization for speech output using the expression explorer.&lt;/li&gt;
  &lt;li&gt;Updated options within the accessibility contextual menu. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/505&quot;&gt;#505&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Allow MathML verification options to be specified in the input jax. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/519&quot;&gt;#519&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Add enable/disable options to document handlers for a11y and menu. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/499&quot;&gt;#499&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Add configuration options to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;noundefined&lt;/code&gt; extension. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/507&quot;&gt;#507&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix problems with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mtextInheritFont&lt;/code&gt;, and provide new &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mtextFont&lt;/code&gt; option. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2189&quot;&gt;mathjax/MathJax#2189&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Make &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;formatError&lt;/code&gt; a configuration option for tex input jax. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/483&quot;&gt;#483&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Improve &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;startup.promise&lt;/code&gt; so it is always valid. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2189&quot;&gt;mathjax/MathJax#2307&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Add functions to manage math items within a given container. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/issues/351&quot;&gt;#351&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;General improvements to input/output errors. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/491&quot;&gt;#491&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Allow MathML verification options to be specified in the input jax. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/519&quot;&gt;#519&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Update string processing to handle SMP unicode blocks better. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/504&quot;&gt;#504&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Add TeX error as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;data-mjx-error&lt;/code&gt;, similar to compile/typeset errors. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/490&quot;&gt;#490&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;file-location-changes&quot;&gt;File Location Changes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Normalize extension names to all lowercase with no underscores. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/485&quot;&gt;#485&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Remove MathItem &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bbox&lt;/code&gt; property. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/495&quot;&gt;#495&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Move &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;output/common/BBox.ts&lt;/code&gt; to util directory. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/494&quot;&gt;#494&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Move &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;output/common/CssStyles.ts&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;util/StyleList.ts&lt;/code&gt;. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/493&quot;&gt;#493&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;bug-fixes-in-this-release&quot;&gt;Bug Fixes in this Release&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Fix LiteDOM comments and add support for DOCTYPE. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/523&quot;&gt;#523&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Remove ids from assistive MathML to avoid duplicates. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/525&quot;&gt;#525&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix SRE source location to work in node-main and components. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/521&quot;&gt;#521&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Don’t replace stylesheet unnecessarily. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2454&quot;&gt;mathjax/MathJax#2454&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Properly inherit &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;scriptminsize&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;scriptsizemultiplier&lt;/code&gt;. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/515&quot;&gt;#515&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix processing of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;texClass&lt;/code&gt; for multi-character &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;mi&amp;gt;&lt;/code&gt; elements. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/503&quot;&gt;#503&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;node-main&lt;/code&gt; to be able to load SRE more easily. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/479&quot;&gt;#479&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix problems with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;texClass&lt;/code&gt;. (&lt;a href=&quot;https://github.com/mathjax/MathJax-src/pull/512&quot;&gt;#512&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Handle &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;classList&lt;/code&gt; when elements don’t have it. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2411&quot;&gt;mathjax/MathJax#2411&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Make &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\underset&lt;/code&gt; explicitly turn off movablelimits. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2460&quot;&gt;mathjax/MathJax#2460&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Make &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\boldsymbol\partial&lt;/code&gt; work properly. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2417&quot;&gt;mathjax/MathJax#2417&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix issue with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\overbrace&lt;/code&gt; in SVG output. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2402&quot;&gt;mathjax/MathJax#2402&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix processing of root directory under Windows. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2486&quot;&gt;mathjax/MathJax#2486&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Allow spaces after \begin, \end, and \ref when finding math delimiters. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2494&quot;&gt;mathjax/MathJax#2494&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix problem with maction when the math is converted from a string. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2490&quot;&gt;mathjax/MathJax#2490&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fix Unicode mapping of \ncong (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2497&quot;&gt;mathjax/MathJax#2497&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Remove extra remapping of stretchy characters (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2497&quot;&gt;mathjax/MathJax#2497&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;availability-of-310&quot;&gt;Availability of 3.1.0&lt;/h2&gt;

&lt;p&gt;Although version 3.1.0 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.0 immediately if you are loading mathjax using a generic &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mathjax@2&lt;/code&gt; URL.  You should be able to obtain it immediately if you use the full version &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mathjax@3.1.0&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;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).&lt;/p&gt;

&lt;p&gt;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., &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tex-chml.js&lt;/code&gt;), this is less likely to be an issue, and if you are loading a component ending in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-full&lt;/code&gt; it is even less likely to occur.&lt;/p&gt;

&lt;p&gt;Version 3.1.0 is available immediately from npm and GitHub for use in node applications.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">MathJax v2.7.9 now available</title>
		<link href="https://www.mathjax.org/MathJax-v2-7-9-available/" />
		<id>https://www.mathjax.org/MathJax-v2-7-9-available/</id>
		<published>2020-08-25T00:00:00+00:00</published>
		<updated>2020-08-25T00:00:00+00:00</updated>
		<summary type="html">The MathJax team is happy to release version 2.7.9 of MathJax, which updates the version of the Speech-Rule Engine (SRE) that underlies MathJax’s accessibility features.  MathJax now uses version 3.1 of SRE, which includes new languages (German and French), and access to the Clearspeak rules via the accessibility menu.  It also includes bug fixes in SRE, and faster conversion of expressions to speech. See the SRE release notes for details (note that MathJax was using version 2.4 previously, and there have been a number of updates since that version).

</summary>
		<content type="html">&lt;p&gt;The MathJax team is happy to release version 2.7.9 of MathJax, which updates the version of the Speech-Rule Engine (SRE) that underlies MathJax’s accessibility features.  MathJax now uses version 3.1 of SRE, which includes new languages (German and French), and access to the Clearspeak rules via the accessibility menu.  It also includes bug fixes in SRE, and faster conversion of expressions to speech. See the &lt;a href=&quot;https://github.com/zorkow/speech-rule-engine/releases&quot;&gt;SRE release notes&lt;/a&gt; for details (note that MathJax was using version 2.4 previously, and there have been a number of updates since that version).&lt;/p&gt;

&lt;p&gt;MathJax 2.7.9 also updates the a11y extensions to version 1.6.0 to take advantage of the new SRE version.&lt;/p&gt;

&lt;h2 id=&quot;mathjax-and-cdnjs&quot;&gt;MathJax and CDNJS&lt;/h2&gt;

&lt;p&gt;MathJax is hosted by a number of different CDNs.  For version 2, we had been recommending &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cdnjs.cloudflare.com&lt;/code&gt;, which had served us well for many years.  Now that MathJax has released version 3, it appears that &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cdnjs&lt;/code&gt; is no longer picking up earlier versions, so version 2.7.9 has not appeared there.  That means version 2.7.9 cannot be obtained from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cdnjs&lt;/code&gt;, and the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;latest.js&lt;/code&gt; file will not update automatically to this version&lt;/p&gt;

&lt;p&gt;In order to use MathJax v2.7.9, you will need to change the CDN to one of the other ones that does provide all versions of MathJax.  Our current recommendation is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;jsdelivr&lt;/code&gt;, which provides all past versions, as well as an automatic latest version if you wish.  For example, you can use&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;cdn.jsdelivr.net/npm/mathjax@2/MathJax.js
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;to obtain the latest version 2 release (2.7.9 currently).  Alternatively, you can request a specific version and stay at it until you are ready to change to a new version, e.g.,&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;cdn.jsdelivr.net/npm/mathjax@2.7.9/MathJax.js
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;will keep you at version 2.7.9 until you change the version number yourself.&lt;/p&gt;

&lt;p&gt;Other CDNs are listed in the &lt;a href=&quot;http://docs.mathjax.org/en/latest/web/start.html#using-mathjax-from-a-content-delivery-network-cdn&quot;&gt;MathJax documentation&lt;/a&gt;, in case you prefer one of the alternatives.&lt;/p&gt;

&lt;h2 id=&quot;availability-of-279&quot;&gt;Availability of 2.7.9&lt;/h2&gt;

&lt;p&gt;Although version 2.7.9 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 v2.7.9 immediately if you are loading mathjax using a generic &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mathjax@2&lt;/code&gt; URL.  You should be able to obtain it immediately if you use the full version &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mathjax@2.7.9&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;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).&lt;/p&gt;

&lt;p&gt;Version 2.7.9 is available immediately from npm and GitHub for use in node applications.&lt;/p&gt;

</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">Springer Nature continues as MathJax supporter</title>
		<link href="https://www.mathjax.org/springer-nature-continues-as-mathjax-supporter-2020/" />
		<id>https://www.mathjax.org/springer-nature-continues-as-mathjax-supporter-2020/</id>
		<published>2020-06-16T00:00:00+00:00</published>
		<updated>2020-06-16T00:00:00+00:00</updated>
		<summary type="html">Springer Nature continues to support the MathJax project as a MathJax Supporter.  Springer Nature describes themselves as follows:

</summary>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.springernature.com/&quot;&gt;Springer Nature&lt;/a&gt; continues to support the MathJax project as a MathJax Supporter.  Springer Nature describes themselves as follows:&lt;/p&gt;

&lt;p&gt;“Springer Nature advances discovery by providing the best possible service to the whole research community. We make sure all the research we publish is significant, robust and stands up to objective scrutiny and reaches all relevant audiences in the best possible format so it can be discovered, accessed, used, re-used and shared. We support librarians with innovation in technology and data; and provide quality publishing support to societies. Springer Nature is home to trusted brands including Springer, Nature Research, BMC, Palgrave Macmillan and Scientific American. For more information please visit &lt;a href=&quot;https://www.springernature.com&quot;&gt;springernature.com&lt;/a&gt; and &lt;a href=&quot;https://www.facebook.com/SpringerNature/&quot;&gt;@SpringerNature&lt;/a&gt;.”&lt;/p&gt;

&lt;p&gt;“The quality of our online publications relies on accurate display of mathematical content”, they continue. “MathJax is critical to achieving this. We are pleased to continue our sponsorship of MathJax and engage with its team as well as a community dedicated to the advancement of mathematics on the web.”&lt;/p&gt;

&lt;p&gt;MathJax’s lead developer responds: “We value the contribution that Springer Nature makes to science, and their support of the MathJax project.  Springer’s ongoing donations to MathJax allow us to develop new features, and help maintain MathJax as a key component for accessible mathematics on the web.”&lt;/p&gt;

&lt;p&gt;The MathJax team looks forward to continuing the collaboration with Springer and welcomes their ongoing support for the MathJax project.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">The London Mathematical Society continues as MathJax supporter</title>
		<link href="https://www.mathjax.org/the-london-mathematical-society-continues-as-mathjax-supporter-2020/" />
		<id>https://www.mathjax.org/the-london-mathematical-society-continues-as-mathjax-supporter-2020/</id>
		<published>2020-05-29T00:00:00+00:00</published>
		<updated>2020-05-29T00:00:00+00:00</updated>
		<summary type="html">The London Mathematical Society continues to support MathJax as a MathJax Supporter.

</summary>
		<content type="html">&lt;p&gt;The &lt;a href=&quot;http://lms.ac.uk/&quot;&gt;London Mathematical Society&lt;/a&gt; continues to support MathJax as a MathJax Supporter.&lt;/p&gt;

&lt;p&gt;The London Mathematical Society (LMS) is the major UK learned society for mathematics with a nationwide and international membership. The LMS offers a rich publishing program, provides a diverse grant program, and organizes scientific meetings and lectures. Beyond that, the LMS  contributes to public debate on matters affecting mathematics and mathematics education.&lt;/p&gt;

&lt;p&gt;“The London Mathematical Society ensures that MathJax is used for rendering browser-friendly mathematics in its journals”, said Caroline Wallace, Executive Secretary, LMS. “Provision of full-text HTML along with the PDF is now the publishing standard. MathJax provides a particularly simple means of rendering mathematics in HTML because of its ability to display embedded LaTeX equations. The LMS is proud to support the continued development and enhancement of MathJax to ensure that it remains up to date, versatile, and continues to offer fluid rendering of mathematical web pages.”&lt;/p&gt;

&lt;p&gt;“We value the continuing support of the London Mathematical Society as one of our key sponsors”, said Davide Cervone, MathJax lead developer and project manager.  “Their support helps us to maintain and improve MathJax, so that MathJax remains reliable, flexible, and open source into the future.”&lt;/p&gt;

&lt;p&gt;We look forward to continuing our collaboration with the LMS, and welcome their ongoing support for the MathJax project.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">MathJax v3.0.5 now available</title>
		<link href="https://www.mathjax.org/MathJax-v3-0-5-available/" />
		<id>https://www.mathjax.org/MathJax-v3-0-5-available/</id>
		<published>2020-04-10T00:00:00+00:00</published>
		<updated>2020-04-10T00:00:00+00:00</updated>
		<summary type="html">Last August, the MathJax Consortium quietly released version 3.0.0 of MathJax, a complete rewrite of MathJax from the ground up with the goal of modernizing MathJax’s internal infrastructure, bringing it more flexibility for use with contemporary web technologies, making it easier to use with NodeJS for pre-processing and server-side support, and making it faster to render your mathematics.

</summary>
		<content type="html">&lt;p&gt;Last August, the MathJax Consortium quietly released version 3.0.0 of MathJax, a complete rewrite of MathJax from the ground up with the goal of modernizing MathJax’s internal infrastructure, bringing it more flexibility for use with contemporary web technologies, making it easier to use with NodeJS for pre-processing and server-side support, and making it faster to render your mathematics.&lt;/p&gt;

&lt;p&gt;Because this was a major update to MathJax, with a completely new application programmer interface (API), and because not all the MathJax version 2 features were ported to version 3, we wanted to wait a bit before making a formal announcement of the new version.  During the fall, we collected bug reports and responded to requests for code examples, and in early February 2020, we released version 3.0.1, a bug-fix version that resolved a number of important issues with 3.0.0.&lt;/p&gt;

&lt;p&gt;Today, we release version 3.0.5, which fixes additional bugs, and puts MathJax v3 into a stable enough position to warrant formal announcement of the availability of version 3.  Note that versions 3.0.2 and 3.0.3 had problems with their &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;npm&lt;/code&gt; deployment, and have been removed.  Version &lt;a href=&quot;https://github.com/mathjax/MathJax-src/releases/tag/3.0.4&quot;&gt;3.0.4&lt;/a&gt; is the bug-fix release that fixes most issues that have been reported in v3.0.1, and v3.0.5 is a hot-fix release to resolve an important problem with v3.0.4.&lt;/p&gt;

&lt;p&gt;We are pleased to present this result of over three years of work by the MathJax developers.  The following material comes from the &lt;a href=&quot;&quot;&gt;What’s New in v3&lt;/a&gt; section of the &lt;a href=&quot;http://docs.mathjax.org/en/latest/index.html&quot;&gt;MathJax documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For information about converting from version 2 to version 3, see the section on &lt;a href=&quot;http://docs.mathjax.org/en/latest/upgrading/v2.html&quot;&gt;Upgrading from v2&lt;/a&gt;.  In particular, note that there is a &lt;a href=&quot;https://mathjax.github.io/MathJax-demos-web/convert-configuration/convert-configuration.html&quot;&gt;configuration conversion tool&lt;/a&gt; to help you move your version 2 configuration to the new version 3 format. There are a number of examples for using MathJax in web pages in the &lt;a href=&quot;https://github.com/mathjax/MathJax-demos-web#mathjax-demos-web&quot;&gt;MathJax Web Demos&lt;/a&gt; repository, and examples of using MathJax in NodeJS applications in the &lt;a href=&quot;https://github.com/mathjax/MathJax-demos-node#mathjax-demos-node&quot;&gt;MathJax Node Demos&lt;/a&gt; repository.&lt;/p&gt;

&lt;h1 id=&quot;features-of-version-3&quot;&gt;Features of Version 3&lt;/h1&gt;

&lt;h2 id=&quot;improved-speed&quot;&gt;Improved Speed&lt;/h2&gt;

&lt;p&gt;There were a number of design goals to the version 3 rewrite. A primary one was to improve the rendering speed of MathJax, and we feel we have accomplished that. Because the two versions operate so differently, it is difficult to make precise comparisons, but in tests that render a complete page with several hundred expressions, we see a reduction in rendering time of between 60 and 80 percent, depending on the browser and type of computer.&lt;/p&gt;

&lt;h2 id=&quot;more-flexibility&quot;&gt;More Flexibility&lt;/h2&gt;

&lt;p&gt;Another goal was to make MathJax 3 more flexible for web developers using MathJax as part of a larger framework, while still keeping it easy to use in simple settings. To that end, we have broken down the actions that MathJax takes into smaller units than in version 2, and made it possible to call on them individually, or replace them with alternative versions of your own. For example, the typesetting process has been broken into a number of pieces, including finding the math in the page, compiling it into the internal format (MathML), getting metric data for the location of the math, converting the math into the output format, inserting it into the page, adding menu event handlers, and so on. You have control over which of these to perform, and can modify or remove the existing actions, or add new ones of your own. See the &lt;a href=&quot;http://docs.mathjax.org/en/latest/options/document.html#document-renderactions&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;renderActions&lt;/code&gt;&lt;/a&gt; documentation for details.&lt;/p&gt;

&lt;h2 id=&quot;improved-support-for-assistive-technology&quot;&gt;Improved Support for Assistive Technology&lt;/h2&gt;

&lt;p&gt;Accessibility of mathematics has always been an important focus of MathJax, and that continues to be the case in version 3.  The speech-rule engine (SRE) that underlies most of MathJax’s assistive support has been improved for version 3 to include more sophisticated speech generation, support for Nemeth Braille output, localization in several languages, and more user control over the speech that is generated.  See the &lt;a href=&quot;http://docs.mathjax.org/en/latest/basic/accessibility.html#accessibility&quot;&gt;Accessibility Features&lt;/a&gt; page for more details.&lt;/p&gt;

&lt;h2 id=&quot;synchronous-conversion&quot;&gt;Synchronous Conversion&lt;/h2&gt;

&lt;p&gt;A key feature that we wanted to include in version 3 is the ability to run MathJax synchronously, and in particular, to provide a function that can translate an input string (say a TeX expression) into an output DOM tree (say an SVG image). This was not really possible in version 2, since its operation was inherently asynchronous at a fundamental level. With MathJax version 3, this is straight-forward, as we provide a synchronous typesetting path, both within the page, and for individual expressions, provided you load all the components you need ahead of time. See &lt;a href=&quot;http://docs.mathjax.org/en/latest/web/typeset.html#web-typeset&quot;&gt;Typesetting and Converting Mathematics&lt;/a&gt; for details.&lt;/p&gt;

&lt;h2 id=&quot;no-queues-signals-callbacks&quot;&gt;No Queues, Signals, Callbacks&lt;/h2&gt;

&lt;p&gt;One of the more difficult aspects of working with MathJax version 2 was having to synchronize your actions with those of MathJax. This involved using &lt;em&gt;queues&lt;/em&gt;, &lt;em&gt;callbacks&lt;/em&gt;, and &lt;em&gt;signals&lt;/em&gt; to mediate the asynchronous actions of MathJax. Since these were not standard javascript paradigms, they caused confusion (and headaches) for many developers trying to use MathJax. With version 3, MathJax has the option of working synchronously (as described above), but it still allows for asynchronous operation (&lt;em&gt;e.g.&lt;/em&gt;, to allow TeX’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\require&lt;/code&gt; command to load extensions dynamically) if you wish. This no longer relies on queues, callbacks, and signals, however. Instead, these actions are managed through the ES6 &lt;a href=&quot;https://developers.google.com/web/fundamentals/primers/promises&quot;&gt;promise&lt;/a&gt;, which is a javascript standard and should make integrating MathJax into your own applications more straight-forward.&lt;/p&gt;

&lt;h2 id=&quot;package-manager-support&quot;&gt;Package Manager Support&lt;/h2&gt;

&lt;p&gt;Because MathJax version 2 used its own loading mechanism for accessing its components, and because there was no method for combining all the pieces needed by MathJax into one file, MathJax did not work well with javascript packaging systems like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;webpack&lt;/code&gt;. Version 3 resolves that problem, so it should interoperate better with modern web workflows. You can make your own custom single-file builds of MathJax (see &lt;a href=&quot;http://docs.mathjax.org/en/latest/web/webpack.html#web-custom-build&quot;&gt;Making a Custom Build of MathJax&lt;/a&gt;), or can include it as one component of a larger asset file.&lt;/p&gt;

&lt;h2 id=&quot;mathjax-components&quot;&gt;MathJax Components&lt;/h2&gt;

&lt;p&gt;MathJax 3 still provides a loading mechanism similar to the one from version 2, however, so you can customize the extensions that it loads, meaning that you only load the ones you need (though this does require that you use MathJax in its asynchronous mode). The various pieces of MathJax have been packaged into “components” that can be mixed and matched as needed, and which you configure through a global &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MathJax&lt;/code&gt; variable (see &lt;a href=&quot;http://docs.mathjax.org/en/latest/web/examples.html#web-examples&quot;&gt;Examples in a Browser&lt;/a&gt;). This is how MathJax is being distributed through the various CDNs that host it. When loaded this way, MathJax will automatically set up all the objects and functions that you need to use the components you have loaded, giving you easy access to typesetting and conversion functions for the input and output formats you have selected. See the section on &lt;a href=&quot;http://docs.mathjax.org/en/latest/web/components/index.html#web-components&quot;&gt;The MathJax Components&lt;/a&gt; for more information. You can also create your own custom components to complement or replace the ones provided on the CDN (see &lt;a href=&quot;http://docs.mathjax.org/en/latest/web/webpack.html#custom-extension&quot;&gt;A Custom Extension&lt;/a&gt; for more).&lt;/p&gt;

&lt;h2 id=&quot;startup-actions&quot;&gt;Startup Actions&lt;/h2&gt;

&lt;p&gt;If you use any of the &lt;a href=&quot;http://docs.mathjax.org/en/latest/web/components/combined.html#combined-components&quot;&gt;combined component&lt;/a&gt; files, MathJax will perform a number of actions during its startup process. In particular, it will create the input and output jax, math document, DOM adaptor, and other objects that are needed in order to perform typesetting in your document. You can access these through the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MathJax.startup&lt;/code&gt; object, if you need to. MathJax will also set up functions that perform typesetting for you, and conversion between the various input and output formats that you have loaded. This should make it easy to perform the most important actions available in MathJax. See &lt;a href=&quot;http://docs.mathjax.org/en/latest/web/typeset.html#web-typeset&quot;&gt;Typesetting and Converting Mathematics&lt;/a&gt; for more details.&lt;/p&gt;

&lt;h2 id=&quot;server-side-mathjax&quot;&gt;Server-Side MathJax&lt;/h2&gt;

&lt;p&gt;While MathJax 2 was designed for use in a web browser, an important use case that this left unaddressed is pre-processing mathematics on a server. For version 2, we provided &lt;a href=&quot;https://github.com/mathjax/mathjax-node&quot;&gt;mathjax-node&lt;/a&gt; to fill this gap, but it is not as flexible or easy to use as many would have liked. MathJax 3 resolves this problem by being designed to work with node applications in essentially the same way as in a browser. That is, you can load MathJax components, configure them through the MathJax global variable, and call the same functions for typesetting and conversion as you do within a browser. This makes parallel development for both the browser and server much easier.&lt;/p&gt;

&lt;p&gt;Moreover, node applications can access MathJax modules directly (without the packaging used for MathJax components). This gives you the most direct access to MathJax’s features, and the most flexibility in modifying MathJax’s actions. See &lt;a href=&quot;http://docs.mathjax.org/en/latest/server/examples.html#node-examples&quot;&gt;Examples of MathJax in Node&lt;/a&gt; for examples of how this is done.&lt;/p&gt;

&lt;h2 id=&quot;es6-and-typescript&quot;&gt;ES6 and Typescript&lt;/h2&gt;

&lt;p&gt;MathJax 3 is written using ES6 modules and the &lt;a href=&quot;https://www.typescriptlang.org/&quot;&gt;Typescript&lt;/a&gt; language. This means the source code includes type information (which improves the code reliability), and allows MathJax to be down-compiled to ES5 for older browsers while still taking advantage of modern javascript programming techniques. It also means that you can produce pure ES6 versions of MathJax (rather than ES5) if you wish; these should be smaller and faster than their ES5 equivalents, though they will only run in modern browsers that support ES6, and so limit your readership. We may provide both ES6 and ES5 versions on the CDN in the future.&lt;/p&gt;

&lt;h1 id=&quot;new-features-for-existing-components&quot;&gt;New Features for Existing Components&lt;/h1&gt;

&lt;p&gt;In addition to the new structure for MathJax described above, some new features have been added to existing pieces of MathJax.&lt;/p&gt;

&lt;h2 id=&quot;tex-input-extensions&quot;&gt;TeX Input Extensions&lt;/h2&gt;

&lt;p&gt;There are two new TeX input extensions: &lt;a href=&quot;http://docs.mathjax.org/en/latest/input/tex/extensions/braket.html#tex-braket&quot;&gt;braket&lt;/a&gt; and &lt;a href=&quot;http://docs.mathjax.org/en/latest/input/tex/extensions/braket.html#tex-braket&quot;&gt;physics&lt;/a&gt;. Also, some functionality that was built into the TeX input jax in version 2 has been moved into extensions in version 3. This includes the &lt;a href=&quot;http://docs.mathjax.org/en/latest/input/tex/extensions/configMacros.html#tex-configmacros&quot;&gt;macros&lt;/a&gt; configuration option, the &lt;a href=&quot;http://docs.mathjax.org/en/latest/input/tex/extensions/tagFormat.html#tex-tagformat&quot;&gt;tag formatting&lt;/a&gt; configuration options, and the &lt;a href=&quot;http://docs.mathjax.org/en/latest/input/tex/extensions/require.html#tex-require&quot;&gt;require&lt;/a&gt; macro. The new &lt;a href=&quot;http://docs.mathjax.org/en/latest/input/tex/extensions/autoload.html#tex-autoload&quot;&gt;autoload&lt;/a&gt; extension replaces the older autoload-all extension, is more configurable, and is included in the TeX input components by default. There a several extensions that are not yet ported to version 3, including the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;autobold&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mediawiki-texvc&lt;/code&gt;, and the various third-party extensions.&lt;/p&gt;

&lt;h2 id=&quot;svg-output&quot;&gt;SVG Output&lt;/h2&gt;

&lt;p&gt;The SVG output for equations with labels has been improved so that the positions of the labels now react to changes in the container width (just like they do in the HTML output formats).&lt;/p&gt;

&lt;h2 id=&quot;improved-expression-explorer&quot;&gt;Improved Expression Explorer&lt;/h2&gt;

&lt;p&gt;The interactive expression explorer has been improved in a number of ways. It now includes better heuristics for creating the speech text for the expressions you explore, provides more keyboard control of the features in play during your exploration, adds support for braille output, adds support for zooming on subexpressions, and more. See the &lt;a href=&quot;http://docs.mathjax.org/en/latest/basic/accessibility.html#accessibility&quot;&gt;Accessibility Features&lt;/a&gt; page for more details.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">MathJax v2.7.8 now available</title>
		<link href="https://www.mathjax.org/MathJax-v2-7-8-available/" />
		<id>https://www.mathjax.org/MathJax-v2-7-8-available/</id>
		<published>2020-04-08T00:00:00+00:00</published>
		<updated>2020-04-08T00:00:00+00:00</updated>
		<summary type="html">It has been some time since there was a bug-fix release for MathJax version 2.  This is largely due to our efforts to produce version 3, which was a complete rewrite of MathJax, so was pretty time-intensive.  Now that version 3 is out, we have been able to return to version 2.7 for a welcome update.

</summary>
		<content type="html">&lt;p&gt;It has been some time since there was a bug-fix release for MathJax version 2.  This is largely due to our efforts to produce version 3, which was a complete rewrite of MathJax, so was pretty time-intensive.  Now that version 3 is out, we have been able to return to version 2.7 for a welcome update.&lt;/p&gt;

&lt;p&gt;We are happy to release version 2.7.8, which fixes a number of bugs, many of them long-standing ones.  It also adds a new extension to handle some tex-mode macros inside &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\text{}&lt;/code&gt; and similar commands.&lt;/p&gt;

&lt;h2 id=&quot;mathjax-and-cdnjs&quot;&gt;MathJax and CDNJS&lt;/h2&gt;

&lt;p&gt;MathJax is hosted by a number of different CDNs.  For version 2, we had been recommending &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cdnjs.cloudflare.com&lt;/code&gt;, which had served us well for many years.  Now that MathJax has released version 3, it appears that &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cdnjs&lt;/code&gt; is no longer picking up earlier versions, so version 2.7.8 has not appeared there.  That means version 2.7.8 can not be obtained from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cdnjs&lt;/code&gt;, and the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;latest.js&lt;/code&gt; file will not update automatically to this version&lt;/p&gt;

&lt;p&gt;In order to use MathJax v2.7.8, you will need to change the CDN to one of the other ones that does provide all versions of MathJax.  Our current recommendation is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;jsdelivr&lt;/code&gt;, which provides all past versions, as well as an automatic latest version if you wish.  For example, you can use&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;cdn.jsdelivr.net/npm/mathjax@2/MathJax.js
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;to obtain the latest version 2 release (2.7.8 currently).  Alternatively, you can request a specific version and stay witht at until you are ready to change to a new version, e.g.,&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;cdn.jsdelivr.net/npm/mathjax@2.7.8/MathJax.js
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;will keep you at version 2.7.8 until you change the version number yourself.&lt;/p&gt;

&lt;p&gt;Other CDNs are listed in the &lt;a href=&quot;http://docs.mathjax.org/en/latest/web/start.html#using-mathjax-from-a-content-delivery-network-cdn&quot;&gt;MathJax documentation&lt;/a&gt;, in case you prefer one of the alternatives.&lt;/p&gt;

&lt;h2 id=&quot;bug-fixes-in-this-version&quot;&gt;Bug Fixes in this Version&lt;/h2&gt;

&lt;p&gt;The following bug fixes are included in version 2.7.8:&lt;/p&gt;

&lt;h3 id=&quot;output-issues&quot;&gt;Output issues&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Fix &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;displayIndent&lt;/code&gt; in CHTML with floating elements. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2352&quot;&gt;#2352&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Add skew values to STIX font italic and bold-italic characters in Plane 1. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2050&quot;&gt;#2050&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Fix CHTML &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mroot&lt;/code&gt; positioning to match SVG and HTML-CSS. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2143&quot;&gt;#2143&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Make line breaks cause full-width bounding box when they are at the top level. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/1804&quot;&gt;#1804&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Fix problem with italic correction not being removed from integrals after a line break. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2139&quot;&gt;#2139&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Fix scaling of enclosures in zoomed CHTML. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/1815&quot;&gt;#1815&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Use proper spacing for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mstyle&lt;/code&gt; containing a stretchy operator. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2052&quot;&gt;#2052&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Add some missing stretchy character data. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2135&quot;&gt;#2135&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Add CSS to fix RTL issue in Chrome. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2190&quot;&gt;#2190&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Fix over-wide SVG output when &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\vphantom&lt;/code&gt; is used. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/1637&quot;&gt;#1637&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Scale &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mglyphs&lt;/code&gt; to proper script size. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/#2125&quot;&gt;#2125&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Make sure SVG elements are scaled properly in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;menclose&lt;/code&gt; for CHTML (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2089&quot;&gt;#2089&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Properly handle &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&apos;fit&apos;&lt;/code&gt; columns in percentage-width tables. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2075&quot;&gt;#2075&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Correct offset into Math Alphabet for bold-italic in STIX font data. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2035&quot;&gt;#2035&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;tex-input&quot;&gt;TeX Input&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Don’t add &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\text&lt;/code&gt; to operators whose name already include it. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2222&quot;&gt;#2222&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Allow &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\newline&lt;/code&gt; to work like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\\&lt;/code&gt;. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2141&quot;&gt;#2141&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Use proper spacing for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\mathrel&lt;/code&gt; in align environment. (&lt;a href=&quot;2175&quot;&gt;#2175&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Number a single &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;split&lt;/code&gt; environment when &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;autoNumber&lt;/code&gt; is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&apos;all&apos;&lt;/code&gt;.  (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2272&quot;&gt;#2272&lt;/a&gt;, &lt;a href=&quot;https://github.com/mathjax/MathJax/issues/1811&quot;&gt;#1811&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;[mediawiki-texvc.js] drop redefinition of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\oint&lt;/code&gt; (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2095&quot;&gt;#2095&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Add extension to process some text-mode macros (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2051&quot;&gt;#2051&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Fix handing of unbalanced braces in TeX input. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2036&quot;&gt;#2036&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;miscellaneous&quot;&gt;Miscellaneous&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Update mhchem, SRE, and AsciiMath to current versions (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2344&quot;&gt;#2344&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Allow &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tex2jax&lt;/code&gt; end delimiters to be close braces. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2034&quot;&gt;#2034&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Remove references to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cdn.mathjax.org&lt;/code&gt;. (&lt;a href=&quot;https://github.com/mathjax/MathJax/issues/2160&quot;&gt;#2160&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">Taylor &amp; Francis continues as MathJax Supporter</title>
		<link href="https://www.mathjax.org/taylor-francis-continues-as-mathjax-supporter-2020/" />
		<id>https://www.mathjax.org/taylor-francis-continues-as-mathjax-supporter-2020/</id>
		<published>2020-03-20T00:00:00+00:00</published>
		<updated>2020-03-20T00:00:00+00:00</updated>
		<summary type="html">Taylor &amp;amp; Francis continues to support MathJax as a MathJax Supporter.

</summary>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.taylorandfrancisgroup.com/&quot;&gt;Taylor &amp;amp; Francis&lt;/a&gt; continues to support MathJax as a &lt;a href=&quot;/#supporters&quot;&gt;MathJax Supporter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Taylor &amp;amp; Francis, a division of &lt;a href=&quot;http://www.informa.com/&quot;&gt;Informa plc&lt;/a&gt;, is a leading international academic publisher with more than 2,700 journals, over 7,000 new books each year, and a books backlist in excess of 140,000 specialist titles. Access to all journals from Taylor &amp;amp; Francis, Routledge and Psychology Press is provided by T&amp;amp;F’s state-of-the art platform &lt;a href=&quot;http://tandfonline.com&quot;&gt;Taylor &amp;amp; Francis Online&lt;/a&gt; where MathJax provides beautiful, accessible mathematics in publications such as the journals of the &lt;a href=&quot;http://amstat.tandfonline.com/&quot;&gt;American Statistical Association&lt;/a&gt; and the &lt;a href=&quot;https://maa.tandfonline.com/&quot;&gt;Mathematical Association of America&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Paul Naish, Global Head of Portfolio for Mathematics &amp;amp; Statistics at Taylor &amp;amp; Francis, noted “Taylor &amp;amp; Francis are dedicated supporters of MathJax since 2014. It provides elegant, accurate, and adaptive mathematical equations in any browser which is crucial to researchers in multiple disciplines across the globe.”&lt;/p&gt;

&lt;p&gt;“Thanks to the dedication of sponsors like Taylor &amp;amp; Francis, we are able to continue to improve MathJax as we move forward with MathJax version 3,” comments Davide Cervone, MathJax lead developer and project manager. “The support we receive from the team at Taylor &amp;amp; Francis is invaluable in achieving our mission to make mathematics an integral part of the web.”&lt;/p&gt;

&lt;p&gt;We look forward to continuing the collaboration with Taylor &amp;amp; Francis, and welcome their ongoing participation in the MathJax project.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

	<entry>
		<title type="text">MathJax v2.7.6 now available</title>
		<link href="https://www.mathjax.org/mathjax-v2-7-6-now-available/" />
		<id>https://www.mathjax.org/mathjax-v2-7-6-now-available/</id>
		<published>2019-08-21T00:00:00+00:00</published>
		<updated>2019-08-21T00:00:00+00:00</updated>
		<summary type="html">We are happy to officially release MathJax v2.7.6 today.

</summary>
		<content type="html">&lt;p&gt;We are happy to officially release MathJax v2.7.6 today.&lt;/p&gt;

&lt;p&gt;This is a maintenance release that fixes an issue with the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;latest.js&lt;/code&gt; file that is used to obtain the most current 2.x version of MathJax from one of the CDNs that serves MathJax.  The problem is that the most current version is only obtained if the highest version on the CDN is version 2.x.y for some x and y, so when MathJax goes to version 3.0.0 (scheduled for August 31st), &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;latest.js&lt;/code&gt; will find that the current CDN version is 3.0.0 and (correctly) will not switch to that, but instead will (incorrectly) use the version from which &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;latest.js&lt;/code&gt; was loaded rather than the highest 2.x.y available.  This means that when version 3.0 is released, sites using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;latest.js&lt;/code&gt; will fall back from version 2.7.5 to the version that they specified for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;latests.js&lt;/code&gt;.  MathJax will still run on those pages, but it may be an earlier version than you have been getting in the past.&lt;/p&gt;

&lt;p&gt;The new version of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;latest.js&lt;/code&gt; properly handles the situation when the current version is not 2.x, so switching to&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.6/latest.js
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;should mean you will get the highest 2.x version in the future, even when v3.0 is released. This version also updates the CDN list to include additional servers, and to remove RawGit, which is no longer in service.  Finally, it updates the packed version of the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mhchem&lt;/code&gt; TeX extension to version 3.3.0, so that the unpacked and packed versions are the same.&lt;/p&gt;

&lt;p&gt;We recommend anyone using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;latest.js&lt;/code&gt; switch to this version.&lt;/p&gt;
</content>
        
          <category term="News" />
        
        
	</entry>

</feed>
