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 3 days ago
01 Oct 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
1 version withdrawn
withdrawn after publishing
12 years old
127 releases · first in 2014
note strict changes shipped in 0.18.11
One column per quarter.
handle character metrics warnings via strict
make KaTeX fallback to browsr math font before Times New Roman
types: add contrib module declarations
array: preserve trailing rows in align
add \reflectbox and \mapsfrom support
array: preserve tags on empty final rows
char: accept U+10FFFF ( #4265 ) ( 6805538 ), closes #2549
environment: report invalid environment names as ParseError ( #4256 ) ( e507f75 ), closes #3760 #3760
allow braced arguments for delimsizing
prevent prototype pollution in settings
htmlData: allow escaped commas in \htmlData ( #4236 ) ( 87a2b30 ), closes #4204 #4218
__defineFunction changed: you should no longer wrap properties in props.users who apply custom styles or have allowlists targeting KaTeX's internal classes must update their selectors.
simplify defineFunction to avoid destructuring, improve typing
correct size of [ big delimiter ( #4217 ) ( 7ba0027 ), closes #4215
preserve math font in some styling commands ( #4214 ) ( e9ee046 ), closes #4213
wrap vcenter mpadded in mrow for valid MathML ( #4193 ) ( ee66b78 ), closes #4078
remove extra \jot space at bottom of align/gather/etc.
use makeEm() consistently to truncate long CSS decimals
## 0.16.42 (2026-03-24) ### Features * \underbracket and \overbracket
## 0.16.41 (2026-03-24) ### Bug Fixes * \sout in text mode
css: specify position: relative for .katex
middle dot in text mode (#4169) (edb45b0), closes #3641
accent skew mixed with font specifiers (#4159) (aea3375), closes #4121
negative-width \hphantom and symmetric \smash
## 0.16.36 (2026-03-06) ### Bug Fixes * contrib esm bloat
## 0.16.35 (2026-03-05) ### Bug Fixes * version number regression
## 0.16.34 (2026-03-05) ### Bug Fixes * emoji with variation selector
scss: forward variables to fonts module
italic separation in \mathnormal
## 0.16.31 (2026-02-22) ### Bug Fixes * \*frac sizing
## 0.16.30 (2026-02-22) ### Bug Fixes * no line breaks after \not
\imath and other \html@mathml macros in arguments
type: add missing types definition path to package.json
support equals sign and surrounding whitespace in \htmlData attribute values
\mathop followed by integral symbol
css: provide katex-swap.css that uses font-display: swap (#3940) (b3f9ce6), closes #2242
Support \def with arguments via macros option
\relax in base or exponent of super/subscript
escape \htmlData attribute name
\providecommand does not overwrite existing macro (#4000) (6d30fe4), closes #3928
types: improve strict function type
Actually publish TypeScript type definitions
MathML combines multidigit numbers with sup/subscript, comma separators, and multicharacter text when outputting to DOM (#3999) (7d79e22), closes #399
## 0.16.16 (2024-12-17) ### Features * ESM exports, TypeScript types
italic sans-serif in math mode via \mathsfit command
\dddot and \ddddot support (#3834) (bda35cd), closes #2744
\vdots and \rule support in text mode (#3997) (0e08352), closes #3990
css: configurable margin for display math
add \emph (#3963) (9f34da4), closes #3566
\edef bypassing maxExpand via exponential blowup
## 0.16.9 (2023-10-02) ### Features * Support bold Fraktur
expose error length and raw error message on ParseError
docs/support_table.md: delete redundant "varPsi"
__defineFunction API exposing internal defineFunction (#3805) (c7b1f84), closes #3756
space should prevent optional argument to \\ (#3746) (a0deb34), closes #3745
\hline after \cr (#3735) (ebf6bf5), closes #3734
Your coding agent can read these notes before it upgrades. Set up the MCP server →