Releases: highlightjs/highlight.js
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
11.2.0 - mostly tiny fixes
Version 11.2.0
Build:
- fix: run Node build CSS files thru CSS processor also (#3284) Josh Goebel
Parser:
- fix(types) Fix some type definition issues (#3274) Josh Goebel
Grammars:
- enh(swift) Add
isolated
/nonisolated
keywords (#3296) Bradley Mackey
New Languages:
- Added 3rd party X# grammar to SUPPORTED_LANGUAGES Patrick Kruselburger
v11.1 - Happy July
Grammars:
- fix(csharp) add missing
catch
keyword (#3251) Konrad Rudolph - add additional keywords to csp.js (#3244) Elijah Conners
- feat(css) handle css variables syntax (#3239) Thanos Karagiannis
- fix(markdown) Images with empty alt or links with empty text (#3233) Josh Goebel
- enh(powershell) added
pwsh
alias (#3236) tebeco - fix(r) fix bug highlighting examples in doc comments Konrad Rudolph
- fix(python) identifiers starting with underscore not highlighted (#3221) Antoine Lambert
- enh(clojure) added
edn
alias (#3213) Stel Abrego - enh(elixir) much improved regular expression sigil support (#3207) Josh Goebel
- enh(elixir) updated list of keywords (#3212) Angelika Tyborska
- fix(elixir) fixed number detection when numbers start with a zero (#3212) Angelika Tyborska
- fix(ps1) Flag highlighted incorrectly (#3167) Pankaj Patil
- fix(latex) Allow wider syntax for magic comments (#3243) Benedikt Wilde
- fix(js/ts) Constants may include numbers Josh Goebel
11.0.1
- (fix) use console.log for .js.js deprecation warning (#3222) Josh Goebel
- (fix) do not restrict exports from cdn-assets (#3223) Josh Goebel
10.7.3
- fix(parser) Resolves issue with missing TypeScript property Jacob Swanner
No other changes.
Version 11
Potentially Breaking Changes
This is a major release. As such it contains breaking changes which may require action from users. Most of the breaking changes work was done by the current maintainer Josh Goebel (ref: #2558) while many other contributors contributed many other changes for this release. You'll find that list below the breaking changes summary.
Please read VERSION_11_UPGRADE.md for a detailed summary of all breaking changes. The below list should only be considered to be a summary.
Deprecations / Removals / API Changes:
initHighlighting()
andinitHighlightingOnLoad()
deprecated. UsehighlightAll()
.highlightBlock(el)
deprecated. UsehighlightElement(el)
before:highlightBlock
&after:highlightBlock
callbacks deprecated. Use equivalenthighlightElement
callbacks.highlight(languageName, code, ignoreIllegals, continuation)
signature deprecated. Usehighlight(code, {language, ignoreIllegals})
.- Deprecated
highlight()
signature no longer supportscontinuation
argument. tabReplace
option removed. Consider a plugin.useBR
option removed. Consider a plugin or CSS.requireLanguage()
removed. UsegetLanguage()
.endSameAsBegin
mode key removed. Usehljs.END_SAME_AS_BEGIN
.lexemes
mode key removed. Usekeywords.$pattern
.- The return values/keys of some APIs have changed slightly.
Security:
- HTML auto-passthru has been removed. Consider a plugin.
- Unescaped HTML is now stripped (for security). A warning is logged to the console. (#3057) Josh Goebel
Themes:
- The default padding of all themes increases (0.5em => 1em).
schoolbook
has been updated to remove the lined background.github
updated to better match modern GitHub (#1616) Jan Pilzergithub-gist
has been removed in favor ofgithub
Jan Pilzer- Base16 named themes have been updated to their "canonical" versions
nnfx
updated for v11 xml styles and improved css support
Language Grammars:
- Default CDN build drops support for several languages.
- Some language grammar files have been removed.
- Some redundant language aliases have been removed.
Other changes
Parser:
- enh(vala) improve language detection for Vala (#3195) [Konrad Rudolph][]
- enh(r) add support for operators, fix number highlighting bug (#3194, #3195) [Konrad Rudolph][]
- enh(parser) add
beginScope
andendScope
to allow separate scoping begin and end (#3159) Josh Goebel - enh(parsed)
endScope
now supports multi-class matchers as well (#3159) Josh Goebel - enh(parser)
highlightElement
now always tags blocks with a consistentlanguage-[name]
class Josh Goebel- subLanguage
span
tags now also always have thelanguage-
prefix added
- subLanguage
- enh(parser) support multi-class matchers (#3081) Josh Goebel
- enh(parser) Detect comments based on english like text, rather than keyword list Josh Goebel
- adds
title.class.inherited
sub-scope support Josh Goebel - adds
title.class
sub-scope support (#3078) Josh Goebel - adds
title.function
sub-scope support (#3078) Josh Goebel - adds
beforeMatch
compiler extension (#3078) Josh Goebel - adds
cssSelector
configuration option (#3180) James Edington
Grammars:
- enh(all)
.meta-keyword
=>.meta .keyword
(nested scopes) (#3167) Josh Goebel - enh(all)
.meta-string
=>.meta .string
(nested scopes) (#3167) Josh Goebel - enh(swift) add
actor
keyword (#3171) Bradley Mackey - enh(crystal) highlight variables (#3154) Josh Goebel
- fix(ruby) Heredoc without interpolation (#3154) Josh Goebel
- enh(swift) add
@resultBuilder
attribute (#3151) Bradley Mackey - enh(processing) added
pde
alias (#3142) Dylan McBean - enh(thrift) Use proper scope for types Josh Goebel
- enh(java) Simplified class-like matcher (#3078) Josh Goebel
- enh(cpp) Simplified class-like matcher (#3078) Josh Goebel
- enh(rust) Simplified class-like matcher (#3078) Josh Goebel
- enh(actionscript) Simplified class-like matcher (#3078) Josh Goebel
- enh(arcade)
function.title
=>title.function
(#3078) Josh Goebel - enh(autoit)
function.title
=>title.function
(#3078) Josh Goebel - enh(c)
function.title
=>title.function
(#3078) Josh Goebel - enh(rust) support function invoke and
impl
(#3078) Josh Goebel - chore(properties) disable auto-detection #3102 Josh Goebel
- fix(properties) fix incorrect handling of non-alphanumeric keys #3102 [Egor Rogov][]
- enh(java) support functions with nested template types (#2641) Josh Goebel
- enh(java) highlight types and literals separate from keywords (#3074) Josh Goebel
- enh(shell) add alias ShellSession Ryan Mulligan
- enh(shell) consider one space after prompt as part of prompt Ryan Mulligan
- fix(nginx) fix bug with $ and @ variables Josh Goebel
- enh(nginx) improving highlighting of some sections Josh Goebel
- fix(vim) variable names may not be zero length Josh Goebel
- enh(sqf) Updated keywords to Arma 3 v2.02 (#3084) R3voA3
- enh(sqf) Refactored function regex to match CBA component func naming scheme (#3181) JonBons
- enh(nim) highlight types properly (not as built-ins) Josh Goebel
- (chore) throttle deprecation messages (#3092) [Mihkel Eidast][]
- enh(c) Update keyword list for C11/C18 (#3010) Josh Goebel
- enh(parser) highlight object properties (#3072) Josh Goebel
- enh(javascript/typescript) highlight object properties (#3072) Josh Goebel
- enh(haskell) add support for BinaryLiterals (#3150) Martijn Bastiaan
- enh(haskell) add support for NumericUnderscores (#3150) Martijn Bastiaan
- enh(haskell) add support for HexFloatLiterals (#3150) Martijn Bastiaan
- fix(c,cpp) allow declaring multiple functions and (for C++) parenthetical initializers (#3155) [Erik Demaine][]
- enh(rust) highlight raw byte string literals correctly (#3173) Nico Abram
- fix(cpp) fix detection of common functions that are function templates (#3178) Kris van Rens
- enh(cpp) add various keywords and commonly used types for hinting (#3178) Kris van Rens
- enh(cpp) cleanup reserved keywords and type lists (#3178) Kris van Rens
New Languages:
- Added 3rd party Glimmer grammar to SUPPORTED_LANGUAGES(#3123) NullVoxPopuli
- Added Wren support Josh Goebel
- Added NestedText support Josh Goebel
- Added WebAssembly language grammar Josh Goebel
- Added 3rd party Splunk search processing language grammar to SUPPORTED_LANGUAGES (#3090) Wei Su
- Added 3rd party ZenScript grammar to SUPPORTED_LANGUAGES(#3106) Jared Luboff
- Added 3rd party Papyrus grammar to SUPPORTED_LANGUAGES(#3125) Mike Watling
Theme Improvements:
- Added all official Base16 themes (over 150 new themes) Josh Goebel
- chore(themes) remove
builtin-name
CSS class (#3119) Josh Goebel - chore(theme) Update GitHub theme css to match GitHub's current styling (#1616) Jan Pilzer
- chore(theme) Update Srcery theme css to match its Emacs implementation [Chen Bin][]
New Themes:
- DeviBeans Dark by Farzad Sadeghi
- GitHub Dark and GitHub Dark Dimmed Jan Pilzer
Dev Improvements:
- (chore) greatly improve match scope visualization in dev tool (#3126) NullVoxPopuli
- (fix) CSS used for devtool needed an adjustment to fix too wide of content (#3133) NullVoxPopuli
11.0.0-beta1 - Final beta is the plan.
See CHANGES.md.
11.0.0-beta0
See CHANGES.md.
11.0.0-alpha1
This is a major release. As such it contains breaking changes which may require action from users. Please read VERSION_11_UPGRADE.md for a detailed summary of all breaking changes.
This release is:
Potentially breaking changes
Unless otherwise attributed items below are thanks to Josh Goebel (ref: #2558).
The below list should only be considered to be a high-level summary.
Deprecations / Removals / API Changes:
initHighlighting()
andinitHighlightingOnLoad()
deprecated. UsehighlightAll()
.highlightBlock(el)
deprecated. UsehighlightElement(el)
before:highlightBlock
&after:highlightBlock
callbacks deprecated. Use equivalenthighlightElement
callbacks.highlight(languageName, code, ignoreIllegals, continuation)
signature deprecated. Usehighlight(code, {language, ignoreIllegals})
.- Deprecated
highlight()
signature no longer supportscontinuation
argument. tabReplace
option removed. Consider a plugin.useBR
option removed. Consider a plugin or CSS.requireLanguage()
removed. UsegetLanguage()
.endSameAsBegin
mode key removed. Usehljs.END_SAME_AS_BEGIN
.lexemes
mode key removed. Usekeywords.$pattern
.- The return values/keys of some APIs have changed slightly.
Security:
- HTML auto-passthru has been removed. Consider a plugin.
- Unescaped HTML is now stripped (for security). A warning is logged to the console. (#3057) Josh Goebel
Themes:
- The default padding of all themes increases (0.5em => 1em).
schoolbook
has been updated to remove the lined background.github
updated to better match modern GitHub (#1616) [Jan Pilzer][]- Base16 named themes have been updated to their "canonical" versions
Language Grammars:
- Default CDN build drops support for several languages.
- Some language grammar files have been removed.
- Some redundant language aliases have been removed.
Other changes
Parser:
- enh(parser) add
beginScope
andendScope
to allow separate scoping begin and end (#3159) Josh Goebel - enh(parsed)
endScope
now supports multi-class matchers as well (#3159) Josh Goebel - enh(parser)
highlightElement
now always tags blocks with a consistentlanguage-[name]
class Josh Goebel- subLanguage
span
tags now also always have thelanguage-
prefix added
- subLanguage
- enh(parser) support multi-class matchers (#3081) Josh Goebel
- enh(parser) Detect comments based on english like text, rather than keyword list Josh Goebel
- adds
title.class.inherited
sub-scope support Josh Goebel - adds
title.class
sub-scope support (#3078) Josh Goebel - adds
title.function
sub-scope support (#3078) Josh Goebel - adds
beforeMatch
compiler extension (#3078) Josh Goebel
Grammars:
- enh(crystal) highlight variables (#3154) Josh Goebel
- fix(ruby) Heredoc without interpolation (#3154) Josh Goebel
- enh(swift) add
@resultBuilder
attribute (#3151) Bradley Mackey - enh(processing) added
pde
alias (#3142) Dylan McBean - enh(thrift) Use proper scope for types Josh Goebel
- enh(java) Simplified class-like matcher (#3078) Josh Goebel
- enh(cpp) Simplified class-like matcher (#3078) Josh Goebel
- enh(rust) Simplified class-like matcher (#3078) Josh Goebel
- enh(actionscript) Simplified class-like matcher (#3078) Josh Goebel
- enh(arcade)
function.title
=>title.function
(#3078) Josh Goebel - enh(autoit)
function.title
=>title.function
(#3078) Josh Goebel - enh(c)
function.title
=>title.function
(#3078) Josh Goebel - enh(rust) support function invoke and
impl
(#3078) Josh Goebel - chore(properties) disable auto-detection #3102 Josh Goebel
- fix(properties) fix incorrect handling of non-alphanumeric keys #3102 [Egor Rogov][]
- enh(java) support functions with nested template types (#2641) Josh Goebel
- enh(java) highlight types and literals separate from keywords (#3074) Josh Goebel
- enh(shell) add alias ShellSession Ryan Mulligan
- enh(shell) consider one space after prompt as part of prompt Ryan Mulligan
- fix(nginx) fix bug with $ and @ variables Josh Goebel
- enh(nginx) improving highlighting of some sections Josh Goebel
- fix(vim) variable names may not be zero length Josh Goebel
- enh(sqf) Updated keywords to Arma 3 v2.02 (#3084) R3voA3
- enh(nim) highlight types properly (not as built-ins) Josh Goebel
- (chore) throttle deprecation messages (#3092) [Mihkel Eidast][]
- enh(c) Update keyword list for C11/C18 (#3010) Josh Goebel
- enh(parser) highlight object properties (#3072) Josh Goebel
- enh(javascript/typescript) highlight object properties (#3072) Josh Goebel
- enh(haskell) add support for BinaryLiterals (#3150) Martijn Bastiaan
- enh(haskell) add support for NumericUnderscores (#3150) Martijn Bastiaan
- enh(haskell) add support for HexFloatLiterals (#3150) Martijn Bastiaan
New Languages:
- Added 3rd party Glimmer grammar to SUPPORTED_LANGUAGES(#3123) NullVoxPopuli
- Added NestedText support Josh Goebel
- Added WebAssembly language grammar Josh Goebel
- Added 3rd party Splunk search processing language grammar to SUPPORTED_LANGUAGES (#3090) Wei Su
- Added 3rd party ZenScript grammar to SUPPORTED_LANGUAGES(#3106) Jared Luboff
- Added 3rd party Papyrus grammar to SUPPORTED_LANGUAGES(#3125) Mike Watling
Theme Improvements:
- Added all official Base16 themes (over 150 new themes) Josh Goebel
- chore(themes) remove
builtin-name
CSS class (#3119) Josh Goebel - chore(theme) Update GitHub theme css to match GitHub's current styling (#1616) [Jan Pilzer][]
- chore(theme) Update Srcery theme css to match its Emacs implementation [Chen Bin][]
New Themes:
- DeviBeans Dark by Farzad Sadeghi
Dev Improvements:
- (chore) greatly improve match scope visualization in dev tool (#3126) NullVoxPopuli