highlight.js v10.5.0 Release Notes

  • πŸ— Build:

    • βž• Add Subresource Integrity digest lists to cdn-assets Josh Goebel
    • πŸ— R and VB.net grammars now ship in our default build (:common) Josh Goebel

    πŸ“œ Parser:

    • βž• add match as sugar for simple begin only matches (#2834) Josh Goebel
    • πŸ‘ allow illegal to also be an array of regex (#2834) Josh Goebel
    • βž• add compilerExtensions allows grammers to influence mode compilation (#2834) Josh Goebel
      • some internal pieces are now simple compiler extensions

    πŸ†• New Languages:

    • βž• Added 3rd party Red & Rebol grammar to SUPPORTED_LANGUAGES (#2872) Oldes Huhuman

    Language grammar improvements:

    • enh: CSS grammars now share common foundation, keywords, etc. (#2937) Josh Goebel
      • enh(css): many consistency improvements
      • enh(scss): many consistency improvements
      • enh(stylus): many consistency improvements
      • enh(less): many consistency improvements
    • πŸ‘ enh(cpp): Support C++ pack expansion in function arguments Martin DΓΈrum
    • enh(makefile): Add make as an alias (#2883) tripleee
    • enh(swift) Improved grammar for strings (#2819) Steven Van Impe
    • enh(swift) Grammar improvements (#2908) Steven Van Impe
      • New grammar for keywords and built-ins
      • Added support for operator highlighting
      • New grammar for attributes
      • Added support for quoted identifiers, implicit parameters, and property wrapper projections
      • Support for more complex expressions in string interpolation
    • enh(swift) Improved highlighting for types and generic arguments (#2920) Steven Van Impe
    • enh(swift) Improved highlighting for functions, initializers, and subscripts (#2930) Steven Van Impe
    • πŸ›  fix(http) avoid recursive sublanguage and tighten rules (#2893) Josh Goebel
    • πŸ›  fix(asciidoc): Handle section titles level 5 (#2868) Vaibhav Chanana
    • πŸ›  fix(asciidoc): Support unconstrained emphasis syntax (#2869) Guillaume Grossetie
    • enh(scheme) Allow [] for argument lists (#2913) Josh Goebel
    • enh(vb) Large rework of VB.net grammar (#2808) Jan Pilzer
      • Adds support for Date data types, see (#2775)
      • Adds support for REM comments and fixes ''' doctags (#2875) (#2851)
      • Custom number mode to support VB.net specific number flags
      • Hex (&H), Oct (&O), and binary (&B) prefixes
      • Separating digits with underscores: 90_946
      • Type suffixes: 123UI (unsigned integer)
      • Improves directives detection and adds support for Enable, Disable, and Then keywords
      • Adds more markup tests
    • πŸ›  fix(javascript) Empty block-comments break highlighting (#2896) Jan Pilzer
    • enh(dart) Fix empty block-comments from breaking highlighting (#2898) Jan Pilzer
    • enh(dart) Fix empty doc-comment eating next line Jan Pilzer
    • πŸ‘ enh(asciidoc) Adds support for unconstrained bold syntax (#2869) Guillaume Grossetie
    • enh(c-like) Incorrect highlighting for interger suffix (#2919) Vaibhav Chanana
    • enh(properties) Correctly handle trailing backslash (#2922) Vaibhav Chanana

    πŸ—„ Recent Deprecations:

    • πŸ”€ HTML "merging" is deprecated. (#2873) Josh Goebel
      • HTML inside <pre> blocks will no longer be magically merged back into the highlighted code's HTML result - it will instead be silently removed.
      • Consider [using a plugin][htmlPlugin] if you truly need this functionality
      • Deprecated as of 10.5.0 - will be removed in v11.
    • πŸ—„ tabReplace option deprecated. (#2873) Josh Goebel
      • Consider: Use the CSS tab-size property, or simply pre-process the text yourself before rendering the initial HTML
      • otherwise, [use a plugin][tabPlugin]
      • Deprecated as of 10.5.0 - will be removed in v11.
    • πŸ—„ useBR option deprecated. (#2559) Josh Goebel
      • Recommended: You really should just use the HTML <pre> tag
      • or perhaps try CSS white-space: pre;
      • otherwise, [use a plugin][brPlugin]
      • Deprecated as of 10.3.0 - will be removed in v11.
    • 🚚 requireLanguage API is deprecated, will be removed in v11.0.
      • Consider: Use getLanguage (with custom error handling) or built-time dependencies.
      • See Library API for more information.
      • Deprecated as of 10.4.0 - will be removed in v11.

    πŸ”Œ [htmlPlugin]: https://github.com/highlightjs/highlight.js/issues/2889 πŸ”Œ [tabPlugin]: https://github.com/highlightjs/highlight.js/issues/2874 πŸ”Œ [brPlugin]: https://github.com/highlightjs/highlight.js/issues/2559