All Versions
117
Latest Version
Avg Release Cycle
32 days
Latest Release
-

Changelog History
Page 3

  • v10.2.0 Changes

    September 07, 2020

    πŸ”– Version 10.2.0

    πŸ“œ Parser Engine:

    • (fix) When ignoring a potential match highlighting can terminate early (#2649) Josh Goebel

    πŸ†• New themes:

    πŸ—„ Deprecations:

    • 🚚 fixMarkup is now deprecated and will be removed in v11.0. (#2534) Josh Goebel

    Big picture:

    Language Improvements:

    • πŸ›  fix(bash) Fewer false positives for keywords in arguments (#2669) sirosen
    • πŸ›  fix(js) Prevent long series of /////// from causing freezes (#2656) Josh Goebel
    • enh(csharp) Add init and record keywords for C# 9.0 (#2660) Youssef Victor
    • enh(matlab) Add new R2019b arguments keyword and fix enumeration keyword (#2619) Andrew Janke
    • πŸ›  fix(kotlin) Remove very old keywords and update example code (#2623) kageru
    • πŸ›  fix(night) Prevent object prototypes method values from being returned in getLanguage (#2636) night
    • πŸ‘ enh(java) Add support for enum, which will identify as a class now (#2643) ezksd
    • πŸ‘ enh(nsis) Add support for NSIS 3.06 commands (#2653) idleberg
    • enh(php) detect newer more flexible HEREdoc syntax (#2658) eytienne
  • v10.1.2 Changes

    July 23, 2020

    πŸ›  Fixes:

    • πŸ›  fix(night) Prevent object prototype values from being returned by getLanguage (#2636) night
  • v10.1.1 Changes

    June 16, 2020

    πŸ›  Fixes:

  • v10.1.0 Changes

    June 11, 2020

    πŸ†• New themes:

    πŸ“œ Parser Engine:

    • πŸ“œ (parser) Now escapes quotes in text content when escaping HTML (#2564) Josh Goebel
    • πŸ“œ (parser) Adds keywords.$pattern key to grammar definitions (#2519) Josh Goebel
    • πŸ“œ (parser) Adds SHEBANG utility mode Josh Goebel
    • πŸ“œ (parser) Adds registerAliases method (#2540) [Taufik Nurrohman][]
    • (enh) Added on:begin callback for modes (#2261) Josh Goebel
    • (enh) Added on:end callback for modes (#2261) Josh Goebel
    • (enh) Added ability to programatically ignore begin and end matches (#2261) Josh Goebel
    • (enh) Added END_SAME_AS_BEGIN mode to replace endSameAsBegin parser attribute (#2261) Josh Goebel
    • (fix) fixMarkup would rarely destroy markup when useBR was enabled (#2532) Josh Goebel

    πŸ—„ Deprecations:

    • πŸ—„ htmlbars grammar is now deprecated. Use handlebars instead. (#2344) Nils Knappmeier
    • πŸ—„ when using highlightBlock result.re deprecated. Use result.relevance instead. (#2552) Josh Goebel
    • ditto for result.second_best.re => result.second_best.relevance (#2552)
    • πŸ—„ lexemes is now deprecated in favor of keywords.$pattern key (#2519) Josh Goebel
    • πŸ—„ endSameAsBegin is now deprecated. (#2261) Josh Goebel

    Language Improvements:

    • πŸ›  fix(groovy) strings are not allowed inside ternary clauses (#2217) Josh Goebel
    • πŸ›  fix(typescript) add readonly keyword (#2562) Martin (Lhoerion)
    • πŸ›  fix(javascript) fix regex inside parens after a non-regex (#2530) Josh Goebel
    • enh(typescript) use identifier to match potential keywords, preventing false positivites (#2519) Josh Goebel
    • enh(javascript) use identifier to match potential keywords, preventing false positivites (#2519) Josh Goebel
    • ⚑️ [enh] Add OPTIMIZE: and HACK: to the labels highlighted inside comments Josh Goebel
    • enh(typescript/javascript/coffeescript/livescript) derive ECMAscript keywords from a common foudation (#2518) Josh Goebel
    • enh(typescript) add setInterval, setTimeout, clearInterval, clearTimeout (#2514) Josh Goebel
    • enh(javascript) add setInterval, setTimeout, clearInterval, clearTimeout (#2514) Vania Kucher
    • enh(cpp) add pair, make_pair, priority_queue as built-ins (#2538) Hankun Lin
    • enh(cpp) recognize priority_queue pair as cpp containers (#2541) Hankun Lin
    • πŸ›  fix(javascript) prevent set keyword conflicting with setTimeout, etc. (#2514) Vania Kucher
    • πŸ›  fix(cpp) Fix highlighting of unterminated raw strings (#2261) David Benjamin
    • πŸ›  fix(javascript) => function with nested () in params now works (#2502) Josh Goebel
    • πŸ›  fix(typescript) => function with nested () in params now works (#2502) Josh Goebel
    • πŸ›  fix(yaml) Fix tags to include non-word characters (#2486) Peter Plantinga
    • πŸ›  fix(swift) @objcMembers was being partially highlighted (#2543) Nick Randall
    • enh(dart) Add late and required keywords, the Never built-in type, and nullable built-in types (#2550) Sam Rawlins
    • enh(erlang) Add underscore separators to numeric literals (#2554) Sergey Prokhorov
    • πŸ‘ enh(handlebars) Support for sub-expressions, path-expressions, hashes, block-parameters and literals (#2344) Nils Knappmeier
    • πŸ‘ enh(protobuf) Support multiline comments (#2597) Pavel Evstigneev
    • πŸ›  fix(toml) Improve key parsing (#2595) Antoine du Hamel
  • v10.0.3

    May 12, 2020
  • v10.0.2 Changes

    May 03, 2020

    πŸ— Brower build:

    • Issue (bug) Fix: Version 10 fails to load as CommonJS module. (#2511) Josh Goebel
    • 🚚 Issue (removal) AMD module loading support has been removed. (#2511) Josh Goebel

    πŸ“œ Parser Engine Changes:

    • πŸ“œ Issue fix(parser) Fix freez issue with illegal 0 width matches (#2524) Josh Goebel
  • v10.0.1 Changes

    April 26, 2020

    πŸ›  Fixes: sublanguage with no rule matches causes text to disappear in final output. (#2506).

  • v10.0.0 Changes

    March 10, 2020

    πŸ†• New languages:

    • βž• add(php-template) Explicit language to detect PHP templates (vs xml) Josh Goebel
    • enh(python) Added python-repl for Python REPL sessions
    • βž• add(never) Added 3rd party Never language support

    πŸ†• New themes:

    πŸ“œ Parser Engine Changes:

    • (bug) Fix beginKeywords to ignore . matches (#2434) Josh Goebel
    • πŸ”Œ (enh) add before:highlight plugin API callback (#2395) Josh Goebel
    • πŸ”Œ (enh) add after:highlight plugin API callback (#2395) Josh Goebel
    • πŸ“œ (enh) split out parse tree generation and HTML rendering concerns (#2404) Josh Goebel
    • (enh) every language can have a name attribute now (#2400) Josh Goebel
    • (enh) improve regular expression detect (less false-positives) (#2380) Josh Goebel
    • πŸ”§ (enh) make noHighlightRe and languagePrefixRe configurable (#2374) Josh Goebel

    Language Improvements:

    • enh(python) Exclude parens from functions params (#2490) Álvaro MondΓ©jar
    • enh(swift) Add compactMap to keywords as built_in (#2478) Omid Golparvar
    • enh(nim) adds func keyword (#2468) Adnan Yaqoob
    • πŸ—„ enh(xml) deprecate ActionScript inside script tags (#2444) Josh Goebel
    • πŸ›  fix(javascript) prevent get/set variables conflicting with keywords (#2440) Josh Goebel
    • πŸ› bug(clojure) Now highlights defn- properly (#2438) Josh Goebel
    • 0️⃣ enh(bash) default value is another variable (#2439) Josh Goebel
    • enh(bash) string nested within string (#2439) Josh Goebel
    • πŸ‘ enh(bash) Add arithmetic expression support (#2439) Josh Goebel
    • πŸ‘ enh(clojure) Add support for global definitions name (#2347) Alexandre Grison
    • πŸ’… enh(fortran) Support Fortran 77 style comments (#2416) Josh Goebel
    • πŸ’… (csharp) add support for @identifier style identifiers (#2414) Josh Goebel
    • πŸ›  fix(elixir) Support function names with a slash (#2406) Josh Goebel
    • πŸ›  fix(javascript) comma is allowed in a "value container" (#2403) Josh Goebel
    • enh(apache) add deny and allow keywords Josh Goebel
    • enh(apache) highlight numeric attributes values Josh Goebel
    • enh(apache) highlight IP addresses, ports, and strings in sections Josh Goebel
    • enh(php) added more keywords and include <?= syntax to meta Taufik Nurrohman
    • πŸ›  fix(protobuf) Fix rpc when followed by a block (#) Josh Goebel
    • enh(zephir) almost complete rework of the zephir grammar (#2387) Josh Goebel
    • πŸ‘ (markdown) much improved code block support (#2382) Josh Goebel
    • (markdown) improve bold/italic nesting (#2382) Josh Goebel
    • πŸ‘ enh(csharp) Support where keyword as class constraint (#2378) Josh Goebel
    • enh(csharp) Allow reference path in class inheritance lists (#2378) Josh Goebel
    • enh(csharp) Add generic modifiers (in, out) (#2378) Josh Goebel
    • πŸ‘ (fortran) enh(fortran) support intrinsic data types (#2379) Josh Goebel
    • enh(java) annotations can include numbers (#2377) Josh Goebel
    • enh(java) annotations can take params (#2377) Josh Goebel
    • enh(java) allow annotations inside function call params (#2377) Josh Goebel
    • πŸ”Œ enh(parser) pre/post-highlightBlock callbacks via plugin (#2285) Josh Goebel
    • (fortran) Add Fortran 2018 keywords and coarray intrinsics (#2361) Sam Miller
    • (delphi) highlight hexadecimal, octal, and binary numbers (#2370) Robert Riebisch
    • enh(plaintext) added text and txt as alias (#2360) Taufik Nurrohman
    • 0️⃣ enh(powershell) added PowerShell v5.1/v7 default aliases as "built_in"s (#2423) Sean Williams
    • πŸ‘ enh(yaml) added support for timestamps (#2475) [Peter Plantinga][]

    Developer Tools:

    • βž• added Dockerfile for optionally developing with a container
  • v10.0.0-beta.0 Changes

    March 10, 2020

    πŸš€ Welcome to version 10.0 (BETA). This a major release and therefore will contain breaking changes.

    πŸ’₯ Breaking Changes

    πŸš€ Our normal minor releases try to never break anything, holding all breaking changes for major releases.
    We tried to squeeze in as many as we could this time so that after 10.0 ships we'll be back to quiet sailing for a while before we need to push version 11. That said, we're very conservative about what we consider a breaking change.

    IE, if there it could possibly break things for anyone, it's typically a breaking change. The fact is a vast majority of users should upgrade and probably not notice any changes at all.

    See VERSION_10_BREAKING_CHANGES.md for a comprehensive list of breaking changes, but here is a summary... if you use:

    Core highlight.js lib on the client (with no extra CDN languages)

    Just keep doing that.

    • If you're using darkula.css, you'll need to change that to darcula.css
    • ⚑️ The minified distributable has changed from .pack.js to .min.js, update your name when you update your URL.
    • πŸ’» If your users have very old browsers, they may no longer be supported (no more IE11, etc.). (We're using ES2015 code now.)
    • nohighlight or no-highlight are the only two CSS classes that will SKIP highlighting completely. *text* and *plain* no longer will do this.

    Core highlight.js lib on the client (plus additional CDN languages)

    Quite a few grammars have been renamed. Ex: nimrod.js is now nim.js.

    • ⚑️ Check the renamed grammars to see if you might need to update your links.
    • Be aware that you can't use version 9 CDN JS files anymore, they aren't compatible.
    • Plus read the above list of items.

    highlight.js on the server (via NPM) and only use the public API

    If you're just pulling in the FULL library (require('./highlight.js')) just keep doing that. You might not need to change anything.

    • If you're manually loading a smaller set of languages and using registerLanguage make sure you check out all the renamed grammars and dependency changes.
    • Read the client-side lists above also.

    highlight.js on the server (via NPM) with a custom integration

    Read the complete breaking changes list carefully.

    • Read the client-side lists above also.

    highlight.js lib on the client, with source directly from our GitHub repo

    πŸš€ That will no longer work. The source needs to be built to work properly and cannot be used "raw" unless you've also setup your own build pipeline (rollup, etc.). Fetch a static build from the CDN, the cdn-release repo or use the new highlightjs-dist NPM package.

    highlight.js source code directly from our GitHub repo with a custom integration

    πŸ— All bets are off, since we only try to guarantee stability of our NPM and CDN builds and the public API. Read all the breaking changes and perhaps skim the commit history.

    • We're using ES6 modules now.
    • πŸ‘· We're using an entirely new build system.
    • The source will likely become more and more modular during the 10.0 timeline.

    Enjoy and good luck.

    As always if you have any questions or issues, jump on the Github Issues.

  • v9.18.5

    November 19, 2020