Skip to content

Version 11

Compare
Choose a tag to compare
@joshgoebel joshgoebel released this 30 May 08:15
· 421 commits to main since this release

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() 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:

  • 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
  • github-gist has been removed in favor of github 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 and endScope 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 consistent language-[name] class Josh Goebel
    • subLanguage span tags now also always have the language- prefix added
  • 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:

New Languages:

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:

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