Releases: highlightjs/highlight.js
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
11.0.0-alpha0
This is a major alpha 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.
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][]
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) 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
sub-scope support (#3078) Josh Goebel - adds
title.function
sub-scope support (#3078) Josh Goebel - adds
beforeMatch
compiler extension (#3078) Josh Goebel
Grammars:
- 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
New Languages:
- 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:
- 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][]
Dev Improvements:
- (chore) greatly improve match scope visualization in dev tool (#3126) NullVoxPopuli
Version 10.7.2
This is a patch release. The only change is that deprecation messages
are throttled and shown only once.
- (chore) throttle deprecation messages (#3092) Mihkel Eidast
10.7.1 - Spring Edition
This .1 patch release fixes an issue with the TypeScript typing info in 10.7.0.
Release notes from 10.7.0
Parser:
- enh(api) add
unregisterLanguage
method (#3009) Antoine du Hamel - enh: Make alias registration case insensitive (#3026) David Ostrovsky
- fix(parser)
highlightAll()
now works if the library is lazy loaded Josh Goebel
New Languages:
- Added 3rd party RiScript grammar to SUPPORTED_LANGUAGES (#2988) [John C][]
- Added 3rd party HLSL grammar to SUPPORTED_LANGUAGES (#3002) Stef Levesque
- Added 3rd party Q# grammar to SUPPORTED_LANGUAGES(#3006) Vyron Vasileiadis
Language grammar improvements:
- fix(python) allow keywords immediately following numbers (#2985) Josh Goebel
- fix(xml) char immediately following tag close mis-highlighted (#3044) Josh Goebel
- fix(ruby) fix
defined?()
mis-highlighted asdef
(#3025) Josh Goebel - fix(c) comments after
#include <str>
blocks (#3041) Josh Goebel - fix(cpp) comments after
#include <str>
blocks (#3041) Josh Goebel - enh(cpp) Highlight all function dispatches (#3005) Josh Goebel
- enh(python) support type hints and better type support (#2972) Josh Goebel
- enh(gml) Add additional GML 2.3 keywords (#2984) xDGameStudios
- fix(cpp) constructor support for initializers (#3001) Josh Goebel
- enh(php) Add
trait
to class-like naming patterns (#2997) Ayesh - enh(php) Add
Stringable
,UnhandledMatchError
, andWeakMap
classes/interfaces (#2997) Ayesh - enh(php) Add
mixed
to list of keywords (#2997) Ayesh - enh(php) Add support binary, octal, hex and scientific numerals with underscore separator support (#2997) Ayesh
- enh(php) Add support for Enums (#3004) Ayesh
- enh(ecmascript) Add built-in types Vaibhav Chanana
- enh(kotlin) Add
kts
as an alias for Kotlin (#3021) Vaibhav Chanana - enh(css) Add
font-smoothing
to attributes list for CSS (#3027) AndyKIron - fix(python) Highlight
print
andexec
as a builtin (#1468) Samuel Colvin - fix(csharp) Fix unit being highlighted instead of uint (#3046) [Spacehamster][]
- enh(swift) add async/await keywords (#3048) [Bradley Mackey][]
Deprecations:
highlight(languageName, code, ignoreIllegals, continuation)
deprecated as of 10.7- Please use the newer API which takes
code
and then accepts options as an object - IE:
highlight(code, {language, ignoreIllegals})
continuation
is for internal use only and no longer supported
- Please use the newer API which takes
highlightBlock(el)
deprecated as of 10.7.- Please use
highlightElement(el)
instead. - Plugin callbacks renamed
before/after:highlightBlock
=>before/after:highlightElement
- Plugin callback now takes
el
vsblock
attribute - The old API and callbacks will be supported until v12.
- Please use