# What changed in katex

> 41 changes in katex 0.16 to 0.19 from its official release notes, upgrade guides and advisories: 3 breaking, 2 security, 4 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/katex/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## katex 0.19

### Breaking changes

- Missing character metrics are reported through strict with error code symbolNotInFont; warning formatting changes, strict callbacks are called, and strict: "error" mode produces errors. (0.19.0) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.19.0)

### Behavior and default changes

- Strict callbacks returning undefined or null now warn instead of ignoring the issue; return false or "ignore" to suppress warnings. (0.19.0) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.19.0)

## katex 0.18

### Breaking changes

- CSS classes are prefixed; users with custom styles or allowlists targeting KaTeX's internal classes must update their selectors. (0.18.0) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.18.0)

### Security

- KaTeX: Existing prototype pollution can bypass trust restrictions (0.18.2) — [security advisory](https://github.com/advisories/GHSA-238P-PMPM-9MQ7)
- Prevents prototype pollution through settings. (0.18.2) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.18.2)

### New APIs and options

- Adds support for the \mapsfrom command. (0.18.7) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.18.7)
- Adds support for the \reflectbox command. (0.18.7) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.18.7)

### Behavior and default changes

- The strict option now handles character metrics warnings. (0.18.11) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.18.11)
- KaTeX now falls back to the browser math font before Times New Roman. (0.18.10) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.18.10)

### Tooling

- Type declarations were added for contrib modules, improving TypeScript support when using them. (0.18.9) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.18.9)

### Fixes and other changes

- Trailing rows in align are now preserved. (0.18.8) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.18.8)
- Preserves tags on empty final rows in array environments. (0.18.6) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.18.6)
- Accepts U+10FFFF. (0.18.5) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.18.5)
- Invalid environment names are now reported as ParseError, allowing callers to handle them as parse errors. (0.18.4) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.18.4)
- Delimsizing now allows braced arguments. (0.18.3) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.18.3)
- \htmlData now allows escaped commas in its input. (0.18.1) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.18.1)

## katex 0.17

### Breaking changes

- The internal API changed; properties should no longer be wrapped in props. (0.17.0) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.17.0)

## katex 0.16

### New APIs and options

- Adds the \overbracket command. (0.16.42) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.42)
- Adds the \underbracket command. (0.16.42) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.42)

### Performance

- Fixes bloat in contrib ESM bundles, which may reduce bundle size for developers using them. (0.16.36) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.36)

### Behavior and default changes

- \htmlData attribute values now support equals signs and surrounding whitespace. (0.16.27) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.27)

### Fixes and other changes

- Corrects the size of the `[` big delimiter. (0.16.47) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.47)
- Some styling commands now preserve the math font. (0.16.46) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.46)
- Wraps vcenter mpadded in mrow to produce valid MathML. (0.16.45) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.45)
- Removes extra \jot space at the bottom of align, gather, and similar environments. (0.16.44) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.44)
- Long CSS decimals are truncated consistently using makeEm(). (0.16.43) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.43)
- Fixes \sout in text mode. (0.16.41) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.41)
- The .katex CSS class now specifies position: relative. (0.16.40) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.40)
- Fixes the middle dot in text mode. (0.16.39) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.39)
- Fixed accent skew when mixed with font specifiers. (0.16.38) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.38)
- Fixed handling of negative-width \hphantom. (0.16.37) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.37)
- Fixed symmetric \smash behavior. (0.16.37) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.37)
- Fixes a version number regression. (0.16.35) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.35)
- Fixes handling of emoji with variation selectors. (0.16.34) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.34)
- SCSS variables are now forwarded to the fonts module. (0.16.33) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.33)
- Fixes italic separation in \mathnormal. (0.16.32) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.32)
- Fixes sizing for fraction commands. (0.16.31) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.31)
- Prevents line breaks after \not. (0.16.30) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.30)
- Fixed \html@mathml macros, including \imath, when used in arguments. (0.16.29) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.29)
- Adds the missing type-definition path so TypeScript consumers can resolve KaTeX types. (0.16.28) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.28)
- Fixes an issue with \mathop followed by an integral symbol. (0.16.26) — [release notes](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.26)
