NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2781 most downloaded on npm
A tiny, fast, simple syntax highlighter for the web and the terminal in JavaScript
Last release 1 months ago
25 Aug 2026
Release timing varies
gaps range from 8 days to 11 months
Nearly every release is documented
notes for 36 of 37 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
37 releases · first in 2022
One column per quarter.
js: tell a regex from a division, and keep property names apart
feat!: remove printHighlight and deprecate loadLanguage
block (22a5b7d)loadLanguage (776f0d3)printHighlight and deprecate loadLanguage (fd4459b)common.js export (3295380)oneline display mode (62b1e87)highlightText to highlightHTML and highlightANSI (702d0dd)tokenizeSync to tokenizeWith (ea6a6eb)setTheme with a theme argument (71b4fe8)theme argument of highlightANSI (ac460af)$< from the keyword pattern (2a4891a)- being read as a range (a39a95f)tokenize function (f56d062):= (39c104f)Detection cell with @detect (8bf186d)default.css in em (4dec0c8)showLineNumbers defaults to false, pass { showLineNumbers: true } for the gutter v1 rendered by default.highlightElement(elm, lang, mode, opt) is now highlightElement(elm, lang, opt) with the mode passed as opt.block, highlightHTML's opt.multiline is renamed to opt.block, and the emitted class changes from shj-multiline to shj-block.oneline mode and the shj-oneline class are gone, a div is always a block.tokenizeSync is now tokenizeWith.highlightANSI no longer defaults its theme, pass one from themes/*.js.loadLanguage is gone, use setLoader or pass the grammar directly as lang.highlightText is gone, use highlightHTML for markup or highlightANSI for a terminal.printHighlight is gone, use highlightANSI.setTheme is gone, pass the theme to highlightANSI instead.common.js entry is gone, its shared patterns are built into the tokenizer as { expand: 'num' | 'str' | 'strDouble' }.delimiters in rs, go, java and lua
assorted one-line language grammar bugs
1.2.22 (2026-08-01) Bug Fixes export the language files #31
cubic backtracking in the css selector rule
1.2.20 (2026-08-01) Bug Fixes object key swallowing next key
1.2.19 (2026-08-01) Bug Fixes sql keywords in lowercase
improve html regex for properties
markdown improve fenced block matching + use lazy quantifiers everywhere instead of greedy + lookahead
## 1.2.16 (2026-06-09) ### Bug Fixes * #70
## 1.2.15 (2026-03-18) ### Bug Fixes * highlighting bug on ini #66
## 1.2.14 (2025-12-29) ### Bug Fixes * release f-string patch on npm
improve markdown italic, underline matching
Underscore should not be parsed inside word #56
markdown highligthing of links #55
Json dict keys highlighted as values if it contains "." #54
Incorrect highlight camelCased python function names #53
## 1.2.7 (2024-12-10) ### Bug Fixes * improve xml parsing <? ?>
## 1.2.6 (2024-01-04) ### Bug Fixes * fix link in readme
## 1.2.5 (2024-01-04) ### Bug Fixes * jsdoc workflow (04e680d) * typescript typing and jsdoc
## 1.2.4 (2023-08-06) ### Bug Fixes * build issue
rollback to old build system to fix #37 and to keep the small build size
added back auto commit for release minification
## 1.2.1 (2023-07-30) ### Bug Fixes * improved regex to detect json (5a7c87c) * release workflow (3d31d33) * typo in release workflow
fix semantic-release wrong release
# Changes - 📦 Fix packaging for deno
✨ Typescript typing (thanks to @BearToCode #34)
🐛 Fix type module in package.json
# Changes - 🐛 Fix exports in package.json
# Changes - 🐛 Fix bug in workflow
# Changes - 🐛 Bug fixes - ✨ New loadLanguage function
loadLanguage function💄 New button/options on test page
hideLineNumbers optionNothing published for this version
🎉 New languages including html, bash, python, ini, perl, lua, makefile, markdown, ...
working on semantic-release workflow
Your coding agent can read these notes before it upgrades. Set up the MCP server →