NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1661 most downloaded on npm
Lightweight, robust, elegant syntax highlighting. A spin-off project from Dabblet.
Last release 26 days ago
08 Sep 2026
Ships unpredictably
gaps range from 6 weeks to 2.5 years
Nearly every release is documented
notes for 37 of 38 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
39 releases · first in 2015
Nothing published for this version
check that currentScript is set by a script tag by @lkuechler in #3863
currentScript is set by a script tag by @lkuechler in #3863Full Changelog: v1.29.0...v1.30.0
One column per quarter.
Cilk/C & Cilk/C++ (#3522) `c8462a29`
1134bdfc859f99a0c8462a29321198232815f6994c87d418Ado & Mata (Stata) (#3383) `63806d57`
63806d57554ff324e2fe1f79ea8a0f404eb928c3a1340666dfef9b6133f2cf958a3fef6d0d49553ccbef9af71b1d6731UO Razor Script (#3309) `3f8cc5a0`
Atmel AVR Assembly (#2078) `b5a70e4c`
b5a70e4c8476a9abd908e457ec25ba65ef53f021\d for [0-9] (#3097) 9fe2f93ez-index to make shadows visible in colored table cells (#3161) 79f250f3a6a4ce7e.html.test files for replace .js language tests (#3148) 2e834c8c5333e281TestCaseFile class and generalized runTestCase (#3147) ae8888a0344d0b27a394a14d2f7f7364package.json: Added engines.node field (#3108) 798ee4f6package(-lock).json (#3098) 8daebb4aeslint-plugin-regexp@1.2.0 (#3091) e6e1d5aed63d6c0e6f1d904a6c21b2f79d5424b6cefccdd10ecdbdce4433d7fe746da79bebd59e323755120031b4c1b8ea361e5ac5629706faedfe853d96eedcSystemd configuration file (#3053) `8df825e0`
746a4b1a87e5a376c1dce99823cd9b654f97b82bea776756e008ea05a1b67ce34fbdd2f8148c1eca4433ccfc8df825e06a356d25Fixed Markdown not working in NodeJS (#2977) `151121cd`
DOT (Graphviz) (#2690) `1f91868e`
b0a6ec853f7d74537e5f78ff41e25d3cf9b695281f91868e99a21dc5bf4e7ba9e93144157e51b99c3419fb772bc6475bf84c49c51a2347a318c67b491b63cd01e38986f9fd1081d2bbc77d1972962701c4f6b2ccregexp/no-dupe-disjunctions (#2952) f471d2d779d22182d85e30da87d79390cf3755cbfn keyword (#2858) e0ee93f17e8cd40d8019e2f6f79b0eef04ef309c01af04ed4b55bd6a96335642npm-run-all to clean up test command (#2938) 5d3d80887cd9e794b77317c545b0e82a0feb266fad9878ad--language for patterns tests (#2929) a62ef7968dbf1217a9a199b64492c5ce531514045bc405e799f3ddcd--insert and --update parameters to language test (#2809) 4c8b855dcomponents.json tests (#2758) 933af8057a790bf9npm ci (#2899) 91f3aaedcb220168266cc700my.cdn in code sample with Handlebars-like placeholder (#2906) 8047118138f1d2899b784ebfa1209930ec9767d61506f345Fixed multiple vulnerable regexes (#2584) `c2f6a644`
c2f6a6447a74497a071232b42ea202b9f217ab75691320459df20c5estart script to start local server (#2491) 0604793c05afbb10e644178b8bfcc8192d3a12670df60be1Prism.languages.extend (#2572) 8828500eb5f4f10edf0738e99f82de50add3736a8e6604958e1f38ffBSL (1C:Enterprise) & OneScript (#2520) `5c33f0bb`
4d31e22a5c33f0bb004eaa74388ad996ad748a00cb75d9e22da2bebabf115f47fa2225ff.ignore & .gitignore & .hgignore & .npmignore (#2481) `3fcce6fe`
3fcce6fe3a127c7dde21eb64398e2943649e51e5ed8fff9187a5c7aeae0327b3bd4d8165d0c1c70d053016ef22eb5cad8704cdfb1093ceb3cde5b0facaec5e30ed1df1e19782cfe67a554b5fafea17d9a36e96abcb6349e210f4327505c9f20bnpm run build command (#2356) ff74a610inlineRegexSource (#2296) abb800dd11053193premerge task (#2357) 5ff7932be756be3f681adeef48fac3b2a3758728583e7eb5components.json (#2370) e416341f10ca6433console in VM context (#2353) b4ed5deddfa5498a91fdd0b1ce0fa227a0efa40b453079bf447429f0ad9c13e255bf7ec1Excel Formula (#2219) `bf4f7bfa`
b24f73489227853fbf4f7bfaf941102e43efde2e8119e57b15983d52String.propotype.replace calls for literal strings 5d7aab56e635260b67afc5ad81e1c3dd1e3070a27d03ece41f7a245cc917a8caa82770f8prism-liquibase Bash language extension. (#2191) 0bf73dc76232878be9dab85eAdded support for : and improved the variable pattern (#2172) `ef4d29d9`
npm: Updated dependencies to fix 122 vulnerabilities (#1997) `3af5d744`
aaaa29a83fdb7d55aaf13aa6631f1e340b771c909f7225862f3da7e8e2b99f40f31946b3f7eaa618cc2cf3f7c42f877dcfac94ec508d57aca7cf56b77db0cab3ad3fa443365faade8403e453a7f7009053f07b1b6cd0738a0fd062d5a3785ec92d858e0a174ed103e864d518manual flag (#1957) d49f0f26currentScript (#2104) 2108c60f2f495905.github folder to npm ignore (#2052) 1af89e063af5d744c187e229007c9af43fda5c957a4a0c7c5d07aa7ccdfa60ac8bcc1b8556a8711c8a572af55c68a5563509f3e57cb65eec9908ca69Add .DS_Store to npmignore `c2229ec2`
c2229ec2DNS zone file (#1961) `bb84f98c`
bb84f98c73d964bec88442865d992fc5858201c7473f7fbd96044979c93c066bc88442867bd083276068bf18c13d6e7ds regex flag (#1846) 9e164935e2683959d673d70177e403cb2f9c92613e181241gulpfile.js and expanded changes task (#1835) 033c5ad8d4373f3aasync functions & drop testing on Node v6 (#1783) 0dd44d53lookbehind test for patterns (#1890) 3ba786cdc1e6a7fdf1e16c7bbab744a636a5fa0e922ec555d2089d83b654385311f18e365d191b92a16d4a2524c8e717ddf81233prism-core.js instead of prism.js (#1908) 0853e69459d4323ff8ae465d0f16eb87GameMaker Language (#1551) `e529edd8`
6d98f0e71df96c5538def33430779976493d19ef13e1c97dc37c90df2288c25ee529edd8c939df8e4a8219a4bb62860664dc049d7def8f5cb94b56c1571704cb16f2ad065b6ad70db48c012cc9a326740c8f650486dd3e42bc53e0938d28c74cnew RegExp with RegExp (#1493) 44fed4d32fb66e04c1d6cb857ea2ff281b812386e2f2fd199de47d3a5fcee9664f6f3c7d245b59d4a2d445d070a40414catch and finally (#1527) ebd1b9a6c40f60472b62e57ba47c05adb41fb8f12a4758ab0cc8c56a57a92035undefined a keyword in JS (#1740) d9fa29a8function-variable in JS (#1739) bfbea4d67bcec5848378ac833560c643f2d8e1c7c9762c6finsertBefore now correctly updates references (#1531) 9dfec340callback after after-highlight hook (#1588) bfbe4464Prism.util.type performance (#1545) 2864fe24insertBefore overload (#1631) 39686e12d33d259cfbf0b094insert-before hook properly (#1709) 393ab164152a68efb06f532fbac09f0a11d0f75e2a100db7e63d1597716923f46d1a2c615db04656b1f8a65d (#1704) 66d2104a6ec71e0be894fc89 (#1716) 217a6ea4671f4ca006627f6a6c9fe2579d908d5a9ea6d600832a9643dedb475ftest script (#1809) bc649dfa212666d34f78f1d65c1a6fb266b44e3bc3e74ea329a30c62334c7bca7418dfddb1c2f4df9d15ff6e74916d48654b527bb0d1823cefdd96c3ff9ccbe5e2d3bc7edbd3555e2ce0666d00f4f04f5311ca32729cb28bea769e0b18f2921d3100fa31439ea1ee77c57446Template Tookit 2 (#1418) [`e063992`]
fa328bb]95146c8]c436a7c]d95f8fb]c2ff248]1e99e96]loadLanguages() (#1417) [84935ac]f2b1964]Markup Templating (#1367) [`5f9c078`]
6e0b20a]46468f8]5f9c078]b4509bf]5a524f7]c673ec2]c28d8c5]e93d61f]c083b78]d7b2b43]0c139d1]a0f5081]b0e34fb]0efd6e1]loadLanguages() function on homepage in the nodeJS section. Close #972, close #593 [4a14d20]294efaa]e1d2d42]13d9991]5b6c76d]259b6fc]8c0911a]e8cb6d4]9a4b6fa] to drastically improve tests execution time. [9bceece, 7c7602b]components/index.js [689227b]b4d3063]218f160]- [659ea31]Add support for plain text inside tags (#1357) [`2b8321d`]
8572474]c6c7fd1]c3ed5b5]f90d555]ba60df0]0460cad]212dd4e]0e1a8b7]a52319a]a5331a6]Test against NodeJS 4, 6, 8 and 9 (#1329) [`97b7d0a`]
Add shell as an alias (#1321) [`67e16a2`]
405867c]4593837]de29d4a]3dddac9]b03c02a]e0cd47f]<code> element specification in HTML5 [a84263f]lang-xxxx class. Close #1312 [a9e76db]async parameter to clarify the requirement of using a single bundled file. Closes #1249 [eba0235]Content-Security-Policy (CSP) (#1275) [`b08cae5`]
Unicode characters in CSS properties (#1227) [`f234ea4`]
d27b70d]69f2e2c, 6e50d44]ac219d7]f986551]928790d]Regexp optimisation [`e7b411e`]
e7b411e]75d00d7]e881fe3]a065e61]33297c4]d879f36]16b338f]438926c]5edfd2f]75b9b29]d4b9003]f61d487]ffeb26e]d28d178]918e0ff]5895978]16979a3]43d9f36]134ed70]fbe39c9]f24e919]a95c51d]27f99ff]b7cdea2]5d12e80]7547f83]7753fc4]f26197a]b9483b9]e66d21b]88caabb]2474f06]e74e00c]23e3b43]09dbfce]f11390a]37ef24e]9cf64a0]de15150]96b35c8]93d4002]a491f9e]28de4e2]12684c0]9726087]12ff8dc]aa426b0]c581049]52903af]20ae2e5]f489a1e]ea380c6]4cd4f01]7f47140]2d3f9df]9937428]c6e7195]beeb107]9be0f88]5f5f38c]5e70f1d]9320e92]2c7b59b]569d511]0fe4cf6]5235f18]9049a2a]0d05957]8110d38]678b621]3e256d8]76dc925]92318b0]69459f0]06a9da4]19d79b4]91d84d9]1a8b3e9]d7f0ee8]4902ed4]cc9d874]165d957]5f50c12]bd19b04]c60b7d4]41a2c76]e169be9]a6244a4]df9506c]a2d737a]f0b8a33]08139ad]0b10fd0]e296caf]1b24b34]7af36df]700505e]1fd690d]1fd690d]Fix inclusion tests for Pug [`955c2ab`]
955c2ab]Add Arduino to components.js [`290a3c6`]
290a3c6]Django/Jinja2 (#1085) [`345b1b2`]
345b1b2]eaa8ebb]7ab4013]5400651]7a1a404]1a5e7a4]5df26e2]6c7dae2]bafc4cb]dffadc6]7549ecc]1f699e7]70cb472]8aa2cc4]6530709]c34e57b]2989633]25788eb]0621ff7]11eed25]Reason (Fixes #1046) [`3cae6ce`]
be6219a]65619f7]e018087]dfc1941]62e258c]3cae6ce]0224b7c]13fed76]07b81ac]a0bd686]bdca61b]07b81ac]2626728]500121b, 9893489]c9bdcd3]e5587a7]3dc8c9e]c1a0c1b]86aa3d2]f69e570, 218fd25]5e56833]b2fa6d5]03ecf74]32cd99f]b15d43b]25cdd3f]17e33bc]83bafbd]Add class that disables the normalize whitespace plugin [`9385c54`]
Protocol Buffers Language (#938) [`ae4a4f2`]
24a0936]6f75735]ad048ab]left to to right [cd234dc]224b7a1]2705c50]54400fb]70a8602]ab65be2]Hotfix Release v1.4.1 to fix a serious bug in prism-core.js
Hotfix Release v1.4.1 to fix a serious bug in prism-core.js
Highlight directives in preprocessor lines (#801) [`ad316a3`]
6803ca0]bd44341]b43c5f3]e8a31a5]a36bc4a]9b275c8]388c53f]253c035]a953b3a]81933ee]f5db346]f1c41db]9652d75]e10d48b, 79ebbf8, 2f7088d]5ec4e4d]9a4b6fa]Simplified pattern for [`29643f4`]
<script> [29643f4]<style> [29643f4]<script> [29643f4]Previewer: Color
3a1fb04]Previewer: Easing
7c7ab4e]ABAP (#636) [`75b0328`, `0749129`]
75b0328, 0749129]1f45942, 33a295f]211a41c]805a0ce]7feb135]5b473de, 414848d]b5e741c]ef41c74]e808352]a1c028c, c451611, 2e637f0, ccb6566]247da05]d2595b4]0cc50b2]8496c14]efde61d]fdd4a3c]dc4fc19, e62c88e]af9c49a]556c04d]e47087b]dd04c32]9c276ab]c053c9e]125e91f]a3e751a, 11ff829]d0c6764]44a11c2, 795eb99]69ea994]776ab90]1cc8d8e]aaa90f1]53d5839]a79e838]21e20b9]bcac7d4]23a444c]80d8260]8147c9b]e0f8984]a3cbecc]a92e4bd]c03c8a4]71b00cc]781fdad]14da55c]c20c3ec]e6c6b85]1093f7d]6c8494f]6ebb96f]daf2597]672c167]d896622]d49fec0]7729728]4533f17]8cf9e6a]9e33e0a]ed4ccfe]b2f14d9]bd3e9ea]cf764c0]cf764c0]513137c, 9207258, 4303c94]ed9f2b2, b8d098e]complete hook [3f4d918]c89bbdb]ee463e8]14f3f80]02b220e]56b3d29]a0127eb]3f679f8]complete hook, which runs even when no grammar is found [e58b6c0, fd54995]956cd85].gitattributes to prevent line ending changes in test files [45ca8c8]a88936a]2cb1326]1388256]80aedb2]52829b3]9f5c93c, 0356c58]e42a228]2f9fe1e]9a9020b]5a5eec5]889cda5]1316abc]0c54308].editorconfig [c48f55d]Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →