NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2382 most downloaded on npm
Fast math typesetting for the web.
Last release 12 days ago
06 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
122 releases · first in 2014
Apply operator spacing to Unicode ∙ ∘ ∖
One column per quarter.
\nonumber/\notag support, \tag per row of {align} (#2952) (52c4778), closes #2950 #2379
\relax is now implemented as a function. It'll stop
expansions and parsing, so the behavior around \relax may change.
For example, \kern2\relax em will no longer work.implement \relax as no-op function
## 0.14.1 (2021-10-30) ### Bug Fixes * Settings: use schema
import katex from 'katex'; will import the
ECMAScript module.You can now use:
| Before | After |
|---|---|
require('katex/dist/contrib/[name].js') |
require('katex/contrib/[name]') |
import katex from 'katex/dist/katex.mjs' |
import katex from 'katex' |
import 'katex/dist/contrib/[name].mjs' |
import 'katex/contrib/[name]' |
conditionally export ECMAScript modules
import katex from 'katex'; will import the ECMAScript module.You can now use:
| Before | After |
|---|---|
require('katex/dist/contrib/[name].js') |
require('katex/contrib/[name]') |
import katex from 'katex/dist/katex.mjs' |
import katex from 'katex' |
import 'katex/dist/contrib/[name].mjs' |
import 'katex/contrib/[name]' |
## 0.13.24 (2021-10-30) ### Bug Fixes * round dimensions to 4 places
fonts: correct width of \cong glyph, fix \boldsymbol{\cong} (#3206) (35db4ff), closes #2199
deps: update dependency commander to v8 [skip netlify]
fonts: fix the timestamp of fonts to the epoch
Avoid vertical-align:0em style (#3358) (6d6d627), closes #3351
cli: --trust flag for trusting cli input (#3339) (503f7d7), closes #2428
unicode support for minus and asterisk operators (#3227) (9dbfc1c), closes #3225
fonts: remove hints from unknown symbols (#3222) (9420f8a), closes #3219
Note: v0.13.15 is only tagged but has not been released to npm.
Note: v0.13.15 is only tagged but has not been released to npm.
fonts: update fonts dependencies
add namespace for svg, making output XHTML+SVG+MathML compatible
Correct invalid box-sizing property, adjusting spacing of \angl (#3053) (910e523), closes #3052
matrix environment with zero or inconsistent columns (#3018) (f779bac), closes #3017
Correct for negative margin in integrand lower limits
MathML for stretchy accents. #2990
\operatornamewithlimits (and clean up \operatorname support)
binom delimiter size in scriptscriptstyle.
Correctly parse \ followed by whitespace (#2877) (c85250d), closes #2860
## 0.13.5 (2021-05-02) ### Bug Fixes * Support \S and \P in math mode
Avoid crash when \operatorname has \limits
Respect catcode in macro expansion and set ~'s catcode correctly (#2949) (01ae7f8), closes #2924
update version and SRI in dist/README.md
Protect fraction bars from CSS border-color
fix(builder): combine characters together in all expressions
allowedInArgument instead of greediness property (#2134)dist in the release commit (#2385)BREAKING CHANGE: old-style numerals are now available via \mathnormal instead of \mathcal
globalGroup option to place definitions in global scope (#2091)\cal (#2116){rcases} and {drcases} (#2149)strict and trust setting. See https://katex.org/docs/options.html for more details. Please review its security implication before enabling the extension.\message, \errmessage, and \show for debugging (#2135)\expandafter, \noexpand, \edef, \let, and \long (#2122)\minuso (#2213)mathtex-script: Use html 'defer' attribute (#2069)auto-render: do not touch text nodes w/o formulas (#2154)\mathnormal instead of \mathcalborder-collapse: collapse in vlist, fix misalignment in table (#2103)\@ifnextchar consumes spaces (#2118)\boxed inherited color (#2130)auto-render: ignore "option" tags (#2180)\substack (#2278)\boldsymbol not italic for textords such as Greek (#2290, #2299)[Security] Bump mixin-deep from 1.3.1 to 1.3.2
BREAKING CHANGE: trust setting to indicate whether input text is trusted
trust setting to indicate whether input text is trusted (#1794)
\href and \url will break without adjusting the trust settingtrust settingApproximate font metrics only when metrics don't exist
auto-render: optional pre-process callback
KaTeX has a new domain, website, and documentation at https://katex.org!
KaTeX has a new domain, website, and documentation at https://katex.org!
For the full list of changes since v0.9.0, see CHANGELOG.md.
\mathit font and italic correction (#1700)Same as v0.10.0-rc, but fixes #1652 non-transpiled ES6 module being an entry point.
Same as v0.10.0-rc, but fixes #1652 non-transpiled ES6 module being an entry point.
The folder structure of archives (tarball and zip) has been changed: files now reside at the root.
Possible breaking changes:
\href and \url by default.Bug fixes:
documentFragment.style to empty object (#1471)New features:
match-at dependency, use RegExp for lexer (#1447)Other changes:
dist and cleanup NPM scripts (#1500, #1610)Add missing v prefix to the size badge URL
Bug fixes:
<mrow>, <mtext>, <mn> (#1338)v prefix to the size badge URL (#1342)New features:
Other changes:
Nested Math in Non-Default Text Fix
Bug fixes:
New features:
Other changes:
value payload and defineFunction handler functions tpe-safe (#1276)Fix handling of Unicode characters ð, Å, å
Bug fixes:
New Features:
Other Changes:
\mathring #1125\nobreakspace #1145\underline in text mode #1159Add support for \aa, \AA, \lq, \rq, \lbrack, \rbrack
New features:
Bug fixes:
Other:
\aa, \AA, \lq, \rq, \lbrack, \rbrack #1069\text{} environments such as Czech, Georgian, Hungarian, Turkish. #1076\textit and \textbf\S and \P #1110Change \xLongequal to \xlongequal
Breaking Changes:
New features:
Bug fixes:
Other:
\kern fixed and support \hskip, \TeX, \LaTeX, \KaTeX. See #974\ae, \AE, \oe, \OE, \o, \O, \ss with unicode support for those characters in text mode. #1030\i and \j for text mode. #1029buildHTMLTree. #1022\TextOrMath, @secondoftwo. #1024README.md. #1034\xLongequal to \xlongequal. #997\bmod. #984\vec by replacing the combining font glyph with an SVG. #1018liminf and limsup. Fixed #111\kern generates right-margin instead of left-margin. Fixed #995Implements the alignedat environment for flexible math spacing
New features:
Bug fixes:
Other:
\mid, Arrows, Big Operators, Binary Operators, Negated Relations.alignedat environment for flexible math spacing. #930\mathchoice command. #969\href command. #923\hspace*, \@ifstar, \@ifnextchar, \@firstoftwo (#975)\notni character ∌. #710@flow:
ApplyFunction to math functions in MathML. #960\undertilde to \utilde. #948frac-line from border to full span. #976Prevent disappearing fraction lines.
Bug fixes:
Other changes:
Require \[text]color HTML colors to be well-formed.
Breaking changes:
New features:
Bug fixes:
Other changes:
contrib to NPM files\smash, laps, spaces, and phantoms. #833\raisebox, \operatorname, \And, \colorbox, \fcolorbox and \verb.@flow:
\dots. #794\sqrt zoom and width. #890@flow:
\llap and \rlap now render contents in math mode. Use \mathllap (new) and \mathrlap (new) if you need the previous behavior.Add latin-1 letters as math symbols
New features:
Bug fixes:
Other changes:
' \` ^ ~ = \u . " \r \H \v text-mode accents. See #802Accept all existing Greek letters using unicode characters in math mode
New features:
Bug fixes:
Other changes:
The v0.8.0 release did not include the SVG images which are necessary for rendering wide and stretchy accents as well as \overbrace and \underbrace. T
The v0.8.0 release did not include the SVG images which are necessary for rendering wide and stretchy accents as well as \overbrace and \underbrace. This release corrects that.
Note that if you're including copies of KaTeX in your web application, you should now include the dist/images directory in addition to the usual the dist/fonts directory.
Many thanks to @spicyj for fixing the issue so quickly.
Implicit \color, explicitly grouped \textcolor #619
Breaking changes:
New features:
Other changes:
\sqrt. #776Infra changes:
Misc:
\rm, \sf, \tt, \bf, \it. #675\overset and \underset. #605\iff, \implies, \impliedby support. #697\text... commands in text mode. #684\jot lineskip to aligned environment, switch contents to displaystyle, and add gathered. #725\coloneqq, \colonequals, etc. based on mathtools and colonequals. #727\mathop. #745\displaystyle within \over/\underbrace. #765\sqrt. #776\color, explicitly grouped \textcolor. See #619\middle. #689Restored creation of dist directory during release process. Should fix Bower support (#613) and cdnjs integration (#641).
Bug fixes:
dist directory during release process. Should fix Bower support (#613) and cdnjs integration (#641).Allow specifying macros (without arguments) in the settings object
New features:
\kern\mod, \bmod, \pmod, and \pod\middle\ldots, \textellipsis, and \mathellipsis\#, \&, \$, \%, \_, \{, and \} in text mode\stackrel\atop--, ---, ```, ', , '', \degree, \pounds, \maltese\mathord, \mathbin, \mathrel, \mathopen, \mathclose, \mathpunct, \mathinner, and \mathop\textrm, \textit, \textbf, \texttt, \textsf, and \textnormalOther changes:
\llap and \rlap produce ords (bug fix)\color, \mathbf, and in other places (bug fix)Infrastructure changes:
npm install when package.json changesMisc:
\atop, \bmod, \degree, \kern, \ldots, \maltese, \mathbin, \mathclose, \mathellipsis, \mathop, \mathopen, \mathord, \mathpunct, \mathrel, \middle, \mod, \pod, \pounds, \pmod, \stackre, \textbf, \textellipsis, \textit, \textnormal, \textrm, \textsf, \texttt, --, ---, ''', ', and "".\#, \&, \$, \%, \_, \{, and \} in text mode.\llap and \rlap produce ords.\color, \mathbf, and in other places.Nothing published for this version
Introduce the aligned environment.
New features:
aligned environment.\gt and \lt.\underline support.Other changes:
e^\mathbf{x} will parse (bug fix).Infrastructure changes:
Special thanks to @gagern for all of the infrastructure changes.
\gt, \lt and \underline support.e^\mathbf{x} will parse.Add the font changing functions \mathrm, \mathit, \mathbf, \mathbb, \mathcal, \mathfrak, \mathscr, \mathsf, \mathtt, \Bbb, \bold, and \frak.
New features:
\mathrm, \mathit, \mathbf, \mathbb, \mathcal, \mathfrak, \mathscr, \mathsf, \mathtt, \Bbb, \bold, and \frak.\limits and \nolimits functions.throwOnError option to allow generating red error text when rendering invalid commands instead of throwing errors, and a corresponding errorColor option to decide the color of invalid commands.| column delimiters in the array environment.\lVert and \rVert symbols.Other changes:
\lvert, \rvert, \lVert, \rVert, \lgroup, \rgroup, \lmoustache, and \rmoustache in delimiters.\ulcorner, \urcorner, \llcorner, \lrcorner, \barwedge, \veebar, \circledcirc, \boxdot, \uparrow, \Uparrow, \downarrow, \Downarrow, \updownarrow, \Updownarrow, and \ldots symbols.\mathrm, \mathit, \mathbf, \mathbb, \mathcal, \mathfrak, \mathscr, \mathsf, \mathtt, \Bbb, \bold, and \frak.\limits and \nolimits functions.| column delimiters in the array environment.\lVert and \rVert symbols.\lvert, \rvert, \lVert, \rVert, \lgroup, \rgroup, \lmoustache, and \rmoustache in delimiters.\ulcorner, \urcorner, \llcorner, \lrcorner, \barwedge, \veebar, \circledcirc, \boxdot, \uparrow, \Uparrow, \downarrow, \Downarrow, \updownarrow, \Updownarrow, and \ldots symbols.Add the cases and Bmatrix environments.
New features:
cases and Bmatrix environments.\checkmark and \circledR symbols.Other changes:
ttfautohint on our fonts, to produce better results at small font sizes.Infrastructure changes:
make dist on Macs.\checkmark and \circledR symbols.ttfautohint on our fonts to produce better results at small font sizes.Fix bower.json to include a "main" entry
Changes:
Added support for some \begin/\end environments, including support for array, matrix, pmatrix, bmatrix, vmatrix, and Vmatrix
New Features:
\begin/\end environments, including support for array, matrix, pmatrix, bmatrix, vmatrix, and Vmatrix\sqrt arguments, e.g. \sqrt[3]{x}bower install katex to download the built filesOther changes:
__parse method for retrieving the parse treetext-indent\begin/\end environments, including support for array, matrix, pmatrix, bmatrix, vmatrix, and Vmatrix.\sqrt arguments, e.g. \sqrt[3]{x}.bower install katex to download the built files.__parse method for retrieving the parse tree.text-indent.The greediness of the \color function has changed to maintain compatibility with MathJax, so expressions like \color{red}\text{a} will no longer work
Breaking changes:
\color function has changed to maintain compatibility with MathJax, so expressions like \color{red}\text{a} will no longer work and instead need to be rewritten as \color{red}{\text{a}}New features:
\phantom\#, \&Other changes:
\odot, \oplus, \otimes, \oslash, \bigtriangleup, \bigtriangledown, \dagger, \diamond, \star, \triangleleft, \triangleright!important from MathML hiding rules, so they can be overridden\phantom.\#, \&.!important from MathML hiding rules, so they can be overridden.\color function has changed to maintain compatibility with MathJax, so expressions like \color{red}\text{a} will no longer work and instead need to be rewritten as \color{red}{\text{a}}.\odot, \oplus, \otimes, \oslash, \bigtriangleup, \bigtriangledown, \dagger, \diamond, \star, \triangleleft, \triangleright.Added accessibility through the use of MathML
New features:
\aleph, \amalg, \approxeq, \ast, \asymp, \backepsilon, \backprime, \backsim, \backsimeq, \Bbbk, \because, \beth, \between, \bigcirc, \bigstar, \blacklozenge, \blacksquare, \blacktriangle, \blacktriangledown, \blacktriangleleft, \blacktriangleright, \bowtie, \Box, \boxminus, \boxplus, \boxtimes, \bullet, \bumpeq, \Bumpeq, \Cap, \cdotp, \centerdot, \circeq, \circlearrowleft, \circlearrowright, \circledast, \circleddash, \circledS, \clubsuit, \complement, \Cup, \curlyeqprec, \curlyeqsucc, \curlyvee, \curlywedge, \curvearrowleft, \curvearrowright, \dag, \daleth, \dashleftarrow, \dashrightarrow, \dashv, \ddag, \ddagger, \diagdown, \diagup, \Diamond, \diamondsuit, \digamma, \divideontimes, \doteq, \Doteq, \doteqdot, \dotplus, \doublebarwedge, \doublecap, \doublecup, \downdownarrows, \downharpoonleft, \downharpoonright, \ell, \eqcirc, \eqsim, \eqslantgtr, \eqslantless, \equiv, \eth, \exists, \fallingdotseq, \Finv, \flat, \forall, \frown, \Game, \geqq, \geqslant, \gg, \ggg, \gggtr, \gimel, \gnapprox, \gneq, \gneqq, \gnsim, \gtrapprox, \gtrdot, \gtreqless, \gtreqqless, \gtrless, \gtrsim, \gvertneqq, \hbar, \heartsuit, \hookleftarrow, \hookrightarrow, \hslash, \Im, \intercal, \Join, \ldotp, \leadsto, \Leftarrow, \leftarrowtail, \leftharpoondown, \leftharpoonup, \leftleftarrows, \leftrightarrow, \Leftrightarrow, \leftrightarrows, \leftrightharpoons, \leftrightsquigarrow, \leftthreetimes, \leqq, \leqslant, \lessapprox, \lessdot, \lesseqgtr, \lesseqqgtr, \lessgtr, \lesssim, \lgroup, \lhd, \ll, \llcorner, \Lleftarrow, \lll, \llless, \lmoustache, \lnapprox, \lneq, \lneqq, \lnsim, \longleftarrow, \Longleftarrow, \longleftrightarrow, \Longleftrightarrow, \longmapsto, \longrightarrow, \Longrightarrow, \looparrowleft, \looparrowright, \lozenge, \lrcorner, \Lsh, \ltimes, \lvertneqq, \mapsto, \measuredangle, \mho, \mid, \mp, \multimap, \nabla, \natural, \ncong, \nearrow, \nexists, \ngeqq, \ngeqslant, \ngtr, \ni, \nleftarrow, \nLeftarrow, \nleftrightarrow, \nLeftrightarrow, \nleqq, \nleqslant, \nless, \nmid, \nparallel, \nprec, \npreceq, \nrightarrow, \nRightarrow, \nshortmid, \nshortparallel, \nsim, \nsubseteqq, \nsucc, \nsucceq, \nsupseteqq, \ntriangleleft, \ntrianglelefteq, \ntriangleright, \ntrianglerighteq, \nvdash, \nvDash, \nVdash, \nVDash, \nwarrow, \ominus, \owns, \parallel, \perp, \pitchfork, \prec, \precapprox, \preccurlyeq, \preceq, \precnapprox, \precneqq, \precnsim, \precsim, \propto, \Re, \restriction, \rgroup, \rhd, \Rightarrow, \rightarrowtail, \rightharpoondown, \rightharpoonup, \rightleftarrows, \rightleftharpoons, \rightrightarrows, \rightsquigarrow, \rightthreetimes, \risingdotseq, \rmoustache, \Rrightarrow, \Rsh, \rtimes, \searrow, \sharp, \shortmid, \shortparallel, \sim, \simeq, \smallfrown, \smallsetminus, \smallsmile, \smile, \spadesuit, \sphericalangle, \sqcap, \sqcup, \sqsubset, \sqsubseteq, \sqsupset, \sqsupseteq, \square, \Subset, \subseteqq, \subsetneq, \subsetneqq, \succ, \succapprox, \succcurlyeq, \succeq, \succnapprox, \succneqq, \succnsim, \succsim, \Supset, \supseteqq, \supsetneq, \supsetneqq, \swarrow, \therefore, \thickapprox, \thicksim, \triangledown, \trianglelefteq, \triangleq, \trianglerighteq, \twoheadleftarrow, \twoheadrightarrow, \ulcorner, \unlhd, \unrhd, \upharpoonleft, \upharpoonright, \uplus, \upuparrows, \urcorner, \varkappa, \varpropto, \varsubsetneq, \varsubsetneqq, \varsupsetneq, \varsupsetneqq, \vartriangle, \vartriangleleft, \vartriangleright, \vdash, \vDash, \Vdash, \Vvdash, \wp, \wr, \yenOther changes
Your coding agent can read these notes before it upgrades. Set up the MCP server →