Releases: highlightjs/highlight.js
11.10.0 - Welcome to the 2024 Mega-smorgisbord update.
Sorry for the wait, this one is a doozie, thanks to all the contributors who made it possible!
CAVEATS / POTENTIALLY BREAKING CHANGES
Important
This version drops support for Node 16.x, which is no longer supported by Node.js.
Core Grammars:
- enh(typescript) add support for
satisfies
operator Kisaragi Hiu - enc(c) added more C23 keywords Melkor-1
- enh(json) added jsonc as an alias BackupMiles
- enh(gml) updated to latest language version (GML v2024.2) gnysek
- enh(c) added more C23 keywords and preprcoessor directives Eisenwave
- enh(js/ts) support namespaced tagged template strings Aral Balkan
- enh(perl) fix false-positive variable match at end of string Josh Goebel
- fix(cpp) not all kinds of number literals are highlighted correctly Lê Duy Quang
- fix(css) fix overly greedy pseudo class matching Bradley Mackey
- enh(arcade) updated to ArcGIS Arcade version 1.24 Kristian Ekenes
- fix(typescript): params types Mohamed Ali
- fix(rust) fix escaped double quotes in string Mohamed Ali
- fix(rust) fix for r# raw identifier not being highlighted correctly. JaeBaek Lee
- enh(rust) Adding union to be recognized as a keyword in Rust. JaeBaek Lee
- fix(yaml) fix for yaml with keys having brackets highlighted incorrectly Aneesh Kulkarni
- fix(csharp) add raw string highlighting for C# 11. Tara
- fix(bash) fix # within token being detected as the start of a comment Felix Uhl
- fix(python) fix
or
conflicts with string highlighting Mohamed Ali - enh(python) adds a scope to the
self
variable [Lee Falin][] - enh(delphi) allow digits to be omitted for hex and binary literals Jonah Jeleniewski
- enh(delphi) add support for digit separators Jonah Jeleniewski
- enh(delphi) add support for character strings with non-decimal numerics Jonah Jeleniewski
- fix(javascript) incorrect function name highlighting CY Fung
- fix(1c) fix escaped symbols "+-;():=,[]" literals Vitaly Barilko
- fix(swift) correctly highlight generics and conformances in type definitions Bradley Mackey
- enh(swift) add package keyword Bradley Mackey
- fix(swift) ensure keyword attributes highlight correctly Bradley Mackey
- fix(types) fix interface LanguageDetail > keywords Patrick Chiu
- enh(java) add
goto
to be recognized as a keyword in Java Alvin Joy - enh(bash) add keyword
sudo
Alvin Joy - fix(haxe) captures
new
keyword without capturing it within variables/class names Cameron Taylor - fix(go) fix go number literals to accept
_
separators, add hex p exponents Lisa Ugray - enh(markdown) add entity support David Schach TaraLei
- enh(css) add
justify-items
andjustify-self
attributes Vasily Polovnyov - enh(css) add
accent-color
,appearance
,color-scheme
,rotate
,scale
andtranslate
attributes Carl Räfting - fix(fortran) fixes parsing of keywords delimited by dots Julien Bloino
- enh(css) add
select
,option
,optgroup
,picture
andsource
to list of known tags Vasily Polovnyov - enh(css) add
inset
,inset-*
,border-start-*-radius
andborder-end-*-radius
attributes Vasily Polovnyov - enh(css) add
text-decoration-skip-ink
,text-decoration-thickness
andtext-underline-offset
attributes Vasily Polovnyov
New Grammars:
- added 3rd party CODEOWNERS grammar to SUPPORTED_LANGUAGES nataliia-radina
- added 3rd party Luau grammar to SUPPORTED_LANGUAGES Robloxian Demo
- added 3rd party ReScript grammar to SUPPORTED_LANGUAGES Paul Tsnobiladzé
- added 3rd party Zig grammar to SUPPORTED_LANGUAGES [Hyou BunKen][]
- added 3rd party WGSL grammar to SUPPORTED_LANGUAGES Arman Uguray
- added 3rd party Unison grammar to SUPPORTED_LANGUAGES Rúnar Bjarnason
- added 3rd party Phix grammar to SUPPORTED_LANGUAGES PeteLomax
- added 3rd party Mirth grammar to SUPPORTED_LANGUAGES Sierra
- added 3rd party JSONata grammar to SUPPORTED_LANGUAGES Vlad Dimov
Developer Tool:
- enh(tools): order CSS options picklist David Schach
- enh(tools): remove duplicate CSS options David Schach
- (typescript): deprecate old
highlight
API Misha Kaletsky
Themes:
- Added
1c-light
theme a like in the IDE 1C:Enterprise 8 (for 1c) Vitaly Barilko
11.9.0 - Fall is in the air!
Version 11.9.0
CAVEATS / POTENTIALLY BREAKING CHANGES
- Drops support for Node 14.x, which is no longer supported by Node.js.
- In the
node
buildstyles/*.css
files now ship un-minified
with minified counterparts as:styles/*.min.css
mvorisek
(this makes things consistent with ourcdn
builds)
Parser:
- (enh) prevent re-highlighting of an element [joshgoebel][]
- (chore) Remove discontinued badges from README Bradley Mackey
- (chore) Fix build size report Bradley Mackey
New Grammars:
- added 3rd party Iptables grammar to SUPPORTED_LANGUAGES Checconio
- added 3rd party x86asmatt grammar to SUPPORTED_LANGUAGES gondow
- added 3rd party riscv64 grammar to SUPPORTED_LANGUAGES aana-h2
- added 3rd party Ballerina grammar to SUPPORTED_LANGUAGES Yasith Deelaka
Core Grammars:
- fix(rust) added negative-lookahead for callable keywords
if
while
for
[Omar Hussein][] - enh(armasm) added
x0-x30
andw0-w30
ARMv8 registers Nicholas Thompson - enh(haxe) added
final
,is
,macro
keywords and$
identifiers Robert Borghese - enh(haxe) support numeric separators and suffixes Robert Borghese
- fix(haxe) fixed metadata arguments and support non-colon syntax Robert Borghese
- fix(haxe) differentiate
abstract
declaration from keyword Robert Borghese - fix(bash) do not delimit a string by an escaped apostrophe [hancar][]
- enh(swift) support
macro
keyword Bradley Mackey - enh(swift) support parameter pack keywords Bradley Mackey
- enh(swift) regex literal support Bradley Mackey
- enh(swift)
@unchecked
and@Sendable
support Bradley Mackey - enh(scala) add using directives support
//> using foo bar
[Jamie Thompson][] - fix(scala) fixed comments in constructor arguments not being properly highlighted Isaac Nonato
- enh(swift) ownership modifiers support Bradley Mackey
- enh(nsis) Add
!assert
compiler flag [idleberg][] - fix(haskell) do not treat double dashes inside infix operators as comments [Zlondrej][]
- enh(rust) added
eprintln!
macro qoheniac - enh(leaf) update syntax to 4.0 Samuel Bishop
- fix(reasonml) simplify syntax and align it with ocaml jchavarri
- fix(swift)
warn_unqualified_access
is an attribute Bradley Mackey - enh(swift) macro attributes are highlighted as keywords Bradley Mackey
- enh(stan) updated for version 2.33 (#3859) Brian Ward
- fix(css) added '_' css variable detection Md Saad Akhtar
- enh(groovy) add
record
andvar
as keywords Guillaume Laforge
Developer Tool:
- (chore) Update dev tool to use the new
highlight
API. Shah Shabbir Ahmmed - (enh) Auto-update the highlighted output when the language dropdown changes. Shah Shabbir Ahmmed
11.8.0 "Spring has arrived" Edition
Changelog
Parser engine:
- added a function to default export to generate a fresh highlighter instance to be used by extensions WisamMechano
- added BETA
__emitTokens
key to grammars to allow then to direct their own parsing, only using Highlight.js for the HTML rendering Josh Goebel - (enh) add
removePlugin
api faga295 - (fix) typo in language name of
JavaScript
Cyrus Kao
New Grammars:
- added 3rd party Lang grammar to SUPPORTED_LANGUAGES AdamRaichu
- added 3rd party C3 grammar to SUPPORTED_LANGUAGES aliaegik
Core Grammars:
- enh(sql) support
_
in variable names [joshgoebel][] - enh(mathematica) update keywords list to 13.2.1 arnoudbuzing
- enh(protobuf) add
proto
alias for Protobuf [dimitropoulos][] - enh(sqf) latest changes in Arma 3 v2.11 Leopard20
- enh(js/ts) Added support for GraphQL tagged template strings Ali Ukani
- enh(javascript) add sessionStorage to list of built-in variables Jeroen van Vianen
- enh(http) Add supporxt for HTTP/3 Rijenkii
- added 3rd party Motoko grammar to SUPPORTED_LANGUAGES rvanasa
- added 3rd party Candid grammar to SUPPORTED_LANGUAGES rvanasa
- fix(haskell) Added support for characters CrystalSplitter
- enh(dart) Add
base
,interface
,sealed
, andwhen
keywords Sam Rawlins - enh(php) detect newer more flexible NOWdoc syntax (#3679) Timur Kamaev
- enh(python) improve autodetection of code with type hinting any function's return type (making the
->
operator legal) Keyacom - enh(bash) add
select
anduntil
as keywords
11.7.0 - "Gobble Gobble" Thanksgiving Edition
Version 11.7.0
New Grammars:
- added 3rd party LookML grammar to SUPPORTED_LANGUAGES Josh Temple
- added 3rd party FunC grammar to SUPPORTED_LANGUAGES [Nikita Sobolev][]
- Added 3rd party Flix grammar to SUPPORTED_LANGUAGES The Flix Organisation
- Added 3rd party RVT grammar to SUPPORTED_LANGUAGES Sopitive
Grammars:
- enh(scheme) add
scm
alias for Scheme matyklug18 - fix(typescript) patterns like
<T =
are not JSX Josh Goebel - fix(bash) recognize the
((
keyword Nick Chambers - enh(Ruby) misc improvements (kws, class names, etc) Josh Goebel
- fix(js) do not flag
import()
as a function, rather a keyword nathnolt - fix(bash) recognize the
((
keyword Nick Chambers - fix(nix) support escaped dollar signs in strings h7x4
- enh(cmake) support bracket comments Hirse
- enh(java) add yield keyword to java MBoegers
- enh(java) add permits keyword to java MBoegers
- fix(javascript/typescript) correct identifier matching when using numbers Lachlan Heywood
Improvements:
- Documentation typo fix by Eddymens
11.6.0 - "Pink Lemonade on a hot day" Edition
Version 11.6.0
Supported Node.js versions:
- (chore) Drops support for Node 12.x, which is no longer supported by Node.js.
Default build changes:
- add
wasm
to default:common
build (#3526) [Josh Goebel][] - add
graphql
to default:common
build (#3526) [Josh Goebel][]
Grammars:
- fix(json) changed null/booleans from
keyword
toliteral
shikhar13012001 - enh(gml) reorganized and added additional keywords Bluecoreg
- enh(csharp) Added support for the new
scoped
keyword in C# (#3571) [David Pine][] - enh(scala) add
transparent
keyword Matt Bovel - fix(rust) highlight types immediately preceeding
::
(#3540) [Josh Goebel][] - Added 3rd party Apex grammar to SUPPORTED_LANGUAGES (#3546) David Schach
- fix(rust) recognize
include_bytes!
macro (#3541) Serial-ATA - fix(java) do not intepret
==
as a variable declaration Mousetail - enh(swift) add SE-0335 existential
any
keyword (#3515) Bradley Mackey - enh(swift) add support for
distributed
keyword Marcus Ortiz - enh(xml) recognize Unicode letters instead of only ASCII letters in XML element and attribute names (#3256)Martin Honnen
- Added 3rd party Toit grammar to SUPPORTED_LANGUAGES Serzhan Nasredin
- Use substring() instead of deprecated substr() Tobias Buschor
- Added 3rd party Oak grammar to SUPPORTED_LANGUAGES Tim Smith
- enh(python) add
match
andcase
keywords Avrumy Lunger
Version 11.5.1
Just a tiny release to hopefully fix the issues some are having with CSS not seen as having side effects with web pack, etc...
Packaging:
- (chore) explicitly set
sideEffect
for css and scss files, fixes #3504
11.5.0
Changes from CHANGELOG:
Themes:
- Added
Tokyo-Night-dark
theme Henri Vandersleyen - Added
Tokyo-Night-light
theme Henri Vandersleyen
New Grammars:
- Added GraphQL John Foster
- Added Macaulay2 to SUPPORTED_LANGUAGES Doug Torrance
Grammars:
- enh(ruby) lots of small Ruby cleanups/improvements Josh Goebel
- enh(objectivec) add
type
andvariable.language
scopes Josh Goebel - enh(xml) support processing instructions (#3492) Josh Goebel
- enh(ruby ) better support multi-line IRB prompts
- enh(bash) improved keyword
$pattern
(numbers allowed in command names) Martin Mattel - add
meta.prompt
scope for REPL prompts, etc Josh Goebel - fix(markdown) Handle
***Hello world***
without breaking Josh Goebel - enh(php) add support for PHP Attributes Wojciech Kania
- fix(java) prevent false positive variable init on
else
Josh Goebel - enh(php) named arguments Wojciech Kania
- fix(php) PHP constants Wojciech Kania
- fix(angelscript) incomplete int8, int16, int32, int64 highlighting Melissa Geels
- enh(ts) modify TypeScript-specific keywords and types list anydonym
- fix(brainfuck) fix highlighting of initial ++/-- Christina Hanson
- fix(llvm) escaping in strings and number formats Flakebi
- enh(elixir) recognize references to modules Mark Ericksen
- enh(css): add support for more properties Nicolaos Skimas
11.4.0 - Hello 2022!
This is a big one. Holidays and all. Wishing all of you the best for 2022! See the note below about theme changes if you're super picky about your theming.
New Languages:
- Added 3rd party Pine Script grammar to SUPPORTED_LANGUAGES Jeylani B
- Added 3rd party cURL grammar to SUPPORTED_LANGUAGES highlightjs-curl
Themes:
Default
is now much closer WCAG AA (contrast) (#3402) Josh GoebelDark
now meets WCAG AA (contrast) (#3402) Josh Goebel- Added
intellij-light
theme Pegasis
These changes should be for the better and should not be super noticeable but if you're super picky about your colors you may want to intervene here or copy over the older themes from 11.3 or prior.
Grammars:
- enh(arcade) updated to ArcGIS Arcade version 1.16 John Foster
- enh(php) Left and right-side of double colon Wojciech Kania
- enh(php) add PHP constants Wojciech Kania
- enh(php) add PHP 8.1 keywords Wojciech Kania
- fix(cpp) fix
vector<<
template false positive (#3437) Josh Goebel - enh(php) support First-class Callable Syntax (#3427) Wojciech Kania
- enh(php) support class constructor call (#3427) Wojciech Kania
- enh(php) support function invoke (#3427) Wojciech Kania
- enh(php) Switch highlighter to partially case-insensitive (#3427) Wojciech Kania
- enh(php) improve
namespace
anduse
highlighting (#3427) Josh Goebel - enh(php)
$this
is avariable.language
now (#3427) Josh Goebel - enh(php) add
__COMPILER_HALT_OFFSET__
(#3427) Josh Goebel - enh(js/ts) fix => async function title highlights (#3405) Josh Goebel
- enh(twig) update keywords list (#3415) Matthieu Lempereur
- fix(python) def, class keywords detected mid-identifier (#3381) Josh Goebel
- fix(python) Fix recognition of numeric literals followed by keywords without whitespace (#2985) Richard Gibson
- enh(swift) add SE-0290 unavailability condition (#3382) Bradley Mackey
- fix(fsharp) Highlight operators, match type names only in type annotations, support quoted identifiers, and other smaller fixes. Melvyn Laïly
- enh(java) add
sealed
andnon-sealed
keywords (#3386) Bradley Mackey - enh(js/ts) improve
CLASS_REFERENCE
(#3411) Josh Goebel - enh(nsis) Update defines pattern to allow
!
(#3417) idleberg - enh(nsis) Update language strings pattern to allow
!
(#3420) idleberg - fix(stan) Updated for Stan 2.28 and other misc. improvements (#3410)
- enh(nsis) Update variables pattern (#3416) idleberg
- fix(clojure) Several issues with Clojure highlighting (#3397) Björn Ebbinghaus
- fix(clojure)
comment
macro catches more than it should (#3395) - fix(clojure)
$
in symbol breaks highlighting - fix(clojure) Add complete regex for number detection
- enh(clojure) Add character mode for character literals
- fix(clojure) Inconsistent namespaced map highlighting
- enh(clojure) Add
regex
mode to regex literal - fix(clojure) Remove inconsistent/broken highlighting for metadata
- enh(clojure) Add
punctuation
mode for commas.
- fix(clojure)
- fix(julia) Enable the
jldoctest
alias (#3432) Fons van der Plas
Developer Tools:
- (chore) add gzip size compression report (#3400) Bradley Mackey
Themes:
- Modified background color in css for Gradient Light and Gradient Dark themes Samia Ali
11.3.1
Version 11.3.1
Same as 11.3.0 except for the fix to generating optional CDN grammar modules.
Build:
- (fix) Grammar CDN modules not generated correctly. (#3363) Josh Goebel
- add
HighlightJS
named export (#3295) Josh Goebel - add
.default
named export to CJS builds (#3333) Josh Goebel
Parser:
- add first rough performance testing script (#3280) Austin Schick
- add
throwUnescapedHTML
to warn against potential HTML injection Josh Goebel - expose
regex
helper functions viahljs
injection Josh Goebel- concat
- lookahead
- either
- optional
- anyNumberOfTimes
Grammars:
- fix(ts) some complex types would classify as JSX (#3278) Josh Goebel
- fix(js/ts) less false positives for
class X extends Y
(#3278) Josh Goebel - enh(css): add properties from several W3C (Candidate) Recommendations (#3308)
- fix(js/ts)
Float32Array
highlighted incorrectly (#3353) Josh Goebel - fix(css) single-colon psuedo-elements no longer break highlighting (#3240) Josh Goebel
- fix(scss) single-colon psuedo-elements no longer break highlighting (#3240) Josh Goebel
- enh(fsharp) rewrite most of the grammar, with many improvements Melvyn Laïly
- enh(go) better type highlighting, add
error
type Josh Goebel - fix(js/ts) regex inside
SUBST
is no longer highlighted Josh Goebel - fix(python) added support for unicode identifiers (#3280) Austin Schick
- enh(css/less/stylus/scss) improve consistency of function dispatch (#3301) Josh Goebel
- enh(css/less/stylus/scss) detect block comments more fully (#3301) Josh Goebel
- fix(cpp) switch is a keyword (#3312) Josh Goebel
- fix(cpp) fix
xor_eq
keyword highlighting. Denis Kovalchuk - enh(c,cpp) highlight type modifiers as type (#3316) Josh Goebel
- enh(css/less/stylus/scss) add support for CSS Grid properties monochromer
- enh(java) add support for Java Text Block (#3322) Teletha
- enh(scala) add missing
do
andthen
keyword (#3323) Nicolas Stucki - enh(scala) add missing
enum
,export
andgiven
keywords (#3328) Nicolas Stucki - enh(scala) remove symbol syntax and fix quoted code syntax (#3324) Nicolas Stucki
- enh(scala) add Scala 3
extension
soft keyword (#3326) Nicolas Stucki - enh(scala) add Scala 3
end
soft keyword (#3327) Nicolas Stucki - enh(scala) add
inline
soft keyword (#3329) Nicolas Stucki - enh(scala) add
using
soft keyword (#3330) Nicolas Stucki - enh(fsharp) added
f#
alias (#3337) Bahnschrift - enh(bash) added gnu core utilities (#3342) katzeprior
- enh(nsis) add new NSIS commands (#3351) idleberg
- fix(nsis) set
case_insensitive
totrue
(#3351) idleberg - fix(css/less/stylus/scss) highlight single-colon psuedo-elements properly (#3240) zsoltlengyelit
- fix(css) add css hex color alpha support (#3360) ierehon1905
11.3.0 - Happy Halloween!
Version 11.3.0
Build:
- add
HighlightJS
named export (#3295) Josh Goebel - add
.default
named export to CJS builds (#3333) Josh Goebel
Parser:
- add first rough performance testing script (#3280) Austin Schick
- add
throwUnescapedHTML
to warn against potential HTML injection Josh Goebel - expose
regex
helper functions viahljs
injection Josh Goebel- concat
- lookahead
- either
- optional
- anyNumberOfTimes
Grammars:
- fix(ts) some complex types would classify as JSX (#3278) Josh Goebel
- fix(js/ts) less false positives for
class X extends Y
(#3278) Josh Goebel - enh(css): add properties from several W3C (Candidate) Recommendations (#3308)
- fix(js/ts)
Float32Array
highlighted incorrectly (#3353) Josh Goebel - fix(css) single-colon psuedo-elements no longer break highlighting (#3240) Josh Goebel
- fix(scss) single-colon psuedo-elements no longer break highlighting (#3240) Josh Goebel
- enh(fsharp) rewrite most of the grammar, with many improvements Melvyn Laïly
- enh(go) better type highlighting, add
error
type Josh Goebel - fix(js/ts) regex inside
SUBST
is no longer highlighted Josh Goebel - fix(python) added support for unicode identifiers (#3280) Austin Schick
- enh(css/less/stylus/scss) improve consistency of function dispatch (#3301) Josh Goebel
- enh(css/less/stylus/scss) detect block comments more fully (#3301) Josh Goebel
- fix(cpp) switch is a keyword (#3312) Josh Goebel
- fix(cpp) fix
xor_eq
keyword highlighting. Denis Kovalchuk - enh(c,cpp) highlight type modifiers as type (#3316) Josh Goebel
- enh(css/less/stylus/scss) add support for CSS Grid properties monochromer
- enh(java) add support for Java Text Block (#3322) Teletha
- enh(scala) add missing
do
andthen
keyword (#3323) Nicolas Stucki - enh(scala) add missing
enum
,export
andgiven
keywords (#3328) Nicolas Stucki - enh(scala) remove symbol syntax and fix quoted code syntax (#3324) Nicolas Stucki
- enh(scala) add Scala 3
extension
soft keyword (#3326) Nicolas Stucki - enh(scala) add Scala 3
end
soft keyword (#3327) Nicolas Stucki - enh(scala) add
inline
soft keyword (#3329) Nicolas Stucki - enh(scala) add
using
soft keyword (#3330) Nicolas Stucki - enh(fsharp) added
f#
alias (#3337) Bahnschrift - enh(bash) added gnu core utilities (#3342) katzeprior
- enh(nsis) add new NSIS commands (#3351) idleberg
- fix(nsis) set
case_insensitive
totrue
(#3351) idleberg - fix(css/less/stylus/scss) highlight single-colon psuedo-elements properly (#3240) zsoltlengyelit
- fix(css) add css hex color alpha support (#3360) ierehon1905