highlight.js v11.0.0-alpha0 Release Notes

  • ๐Ÿš€ 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.

    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() and initHighlightingOnLoad() deprecated. Use highlightAll().
    • ๐Ÿ‘‰ highlightBlock(el) deprecated. Use highlightElement(el)
    • ๐Ÿ‘‰ before:highlightBlock & after:highlightBlock callbacks deprecated. Use equivalent highlightElement callbacks.
    • ๐Ÿ‘‰ highlight(languageName, code, ignoreIllegals, continuation) signature deprecated. Use highlight(code, {language, ignoreIllegals}).
    • ๐Ÿ—„ Deprecated highlight() signature no longer supports continuation argument.
    • ๐Ÿšš tabReplace option removed. Consider a plugin.
    • ๐Ÿšš useBR option removed. Consider a plugin or CSS.
    • ๐Ÿ‘‰ requireLanguage() removed. Use getLanguage().
    • ๐Ÿ‘‰ endSameAsBegin mode key removed. Use hljs.END_SAME_AS_BEGIN.
    • ๐Ÿ‘‰ lexemes mode key removed. Use keywords.$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:

    • 0๏ธโƒฃ 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 Glimmer grammar to SUPPORTED_LANGUAGES(#3123) NullVoxPopuli
    • โž• 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