diff --git a/CHANGELOG.md b/CHANGELOG.md index 9341f91678..924a6417ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,182 @@ # Prism Changelog + +## 1.24.0 (2021-06-27) + +### New components + +* __CFScript__ ([#2771](/~https://github.com/PrismJS/prism/issues/2771)) [`b0a6ec85`](/~https://github.com/PrismJS/prism/commit/b0a6ec85) +* __ChaiScript__ ([#2706](/~https://github.com/PrismJS/prism/issues/2706)) [`3f7d7453`](/~https://github.com/PrismJS/prism/commit/3f7d7453) +* __COBOL__ ([#2800](/~https://github.com/PrismJS/prism/issues/2800)) [`7e5f78ff`](/~https://github.com/PrismJS/prism/commit/7e5f78ff) +* __Coq__ ([#2803](/~https://github.com/PrismJS/prism/issues/2803)) [`41e25d3c`](/~https://github.com/PrismJS/prism/commit/41e25d3c) +* __CSV__ ([#2794](/~https://github.com/PrismJS/prism/issues/2794)) [`f9b69528`](/~https://github.com/PrismJS/prism/commit/f9b69528) +* __DOT (Graphviz)__ ([#2690](/~https://github.com/PrismJS/prism/issues/2690)) [`1f91868e`](/~https://github.com/PrismJS/prism/commit/1f91868e) +* __False__ ([#2802](/~https://github.com/PrismJS/prism/issues/2802)) [`99a21dc5`](/~https://github.com/PrismJS/prism/commit/99a21dc5) +* __ICU Message Format__ ([#2745](/~https://github.com/PrismJS/prism/issues/2745)) [`bf4e7ba9`](/~https://github.com/PrismJS/prism/commit/bf4e7ba9) +* __Idris__ ([#2755](/~https://github.com/PrismJS/prism/issues/2755)) [`e9314415`](/~https://github.com/PrismJS/prism/commit/e9314415) +* __Jexl__ ([#2764](/~https://github.com/PrismJS/prism/issues/2764)) [`7e51b99c`](/~https://github.com/PrismJS/prism/commit/7e51b99c) +* __KuMir (КуМир)__ ([#2760](/~https://github.com/PrismJS/prism/issues/2760)) [`3419fb77`](/~https://github.com/PrismJS/prism/commit/3419fb77) +* __Log file__ ([#2796](/~https://github.com/PrismJS/prism/issues/2796)) [`2bc6475b`](/~https://github.com/PrismJS/prism/commit/2bc6475b) +* __Nevod__ ([#2798](/~https://github.com/PrismJS/prism/issues/2798)) [`f84c49c5`](/~https://github.com/PrismJS/prism/commit/f84c49c5) +* __OpenQasm__ ([#2797](/~https://github.com/PrismJS/prism/issues/2797)) [`1a2347a3`](/~https://github.com/PrismJS/prism/commit/1a2347a3) +* __PATROL Scripting Language__ ([#2739](/~https://github.com/PrismJS/prism/issues/2739)) [`18c67b49`](/~https://github.com/PrismJS/prism/commit/18c67b49) +* __Q#__ ([#2804](/~https://github.com/PrismJS/prism/issues/2804)) [`1b63cd01`](/~https://github.com/PrismJS/prism/commit/1b63cd01) +* __Rego__ ([#2624](/~https://github.com/PrismJS/prism/issues/2624)) [`e38986f9`](/~https://github.com/PrismJS/prism/commit/e38986f9) +* __Squirrel__ ([#2721](/~https://github.com/PrismJS/prism/issues/2721)) [`fd1081d2`](/~https://github.com/PrismJS/prism/commit/fd1081d2) +* __URI__ ([#2708](/~https://github.com/PrismJS/prism/issues/2708)) [`bbc77d19`](/~https://github.com/PrismJS/prism/commit/bbc77d19) +* __V__ ([#2687](/~https://github.com/PrismJS/prism/issues/2687)) [`72962701`](/~https://github.com/PrismJS/prism/commit/72962701) +* __Wolfram language__ & __Mathematica__ & __Mathematica Notebook__ ([#2921](/~https://github.com/PrismJS/prism/issues/2921)) [`c4f6b2cc`](/~https://github.com/PrismJS/prism/commit/c4f6b2cc) + +### Updated components + +* Fixed problems reported by `regexp/no-dupe-disjunctions` ([#2952](/~https://github.com/PrismJS/prism/issues/2952)) [`f471d2d7`](/~https://github.com/PrismJS/prism/commit/f471d2d7) +* Fixed some cases of quadratic worst-case runtime ([#2922](/~https://github.com/PrismJS/prism/issues/2922)) [`79d22182`](/~https://github.com/PrismJS/prism/commit/79d22182) +* Fixed 2 cases of exponential backtracking ([#2774](/~https://github.com/PrismJS/prism/issues/2774)) [`d85e30da`](/~https://github.com/PrismJS/prism/commit/d85e30da) +* __AQL__ + * Update for ArangoDB 3.8 ([#2842](/~https://github.com/PrismJS/prism/issues/2842)) [`ea82478d`](/~https://github.com/PrismJS/prism/commit/ea82478d) +* __AutoHotkey__ + * Improved tag pattern ([#2920](/~https://github.com/PrismJS/prism/issues/2920)) [`fc2a3334`](/~https://github.com/PrismJS/prism/commit/fc2a3334) +* __Bash__ + * Accept hyphens in function names ([#2832](/~https://github.com/PrismJS/prism/issues/2832)) [`e4ad22ad`](/~https://github.com/PrismJS/prism/commit/e4ad22ad) + * Fixed single-quoted strings ([#2792](/~https://github.com/PrismJS/prism/issues/2792)) [`e5cfdb4a`](/~https://github.com/PrismJS/prism/commit/e5cfdb4a) +* __C++__ + * Added support for generic functions and made `::` punctuation ([#2814](/~https://github.com/PrismJS/prism/issues/2814)) [`3df62fd0`](/~https://github.com/PrismJS/prism/commit/3df62fd0) + * Added missing keywords and modules ([#2763](/~https://github.com/PrismJS/prism/issues/2763)) [`88fa72cf`](/~https://github.com/PrismJS/prism/commit/88fa72cf) +* __Dart__ + * Improved support for classes & generics ([#2810](/~https://github.com/PrismJS/prism/issues/2810)) [`d0bcd074`](/~https://github.com/PrismJS/prism/commit/d0bcd074) +* __Docker__ + * Improvements ([#2720](/~https://github.com/PrismJS/prism/issues/2720)) [`93dd83c2`](/~https://github.com/PrismJS/prism/commit/93dd83c2) +* __Elixir__ + * Added missing keywords ([#2958](/~https://github.com/PrismJS/prism/issues/2958)) [`114e4626`](/~https://github.com/PrismJS/prism/commit/114e4626) + * Added missing keyword and other improvements ([#2773](/~https://github.com/PrismJS/prism/issues/2773)) [`e6c0d298`](/~https://github.com/PrismJS/prism/commit/e6c0d298) + * Added `defdelagate` keyword and highlighting for function/module names ([#2709](/~https://github.com/PrismJS/prism/issues/2709)) [`59f725d7`](/~https://github.com/PrismJS/prism/commit/59f725d7) +* __F#__ + * Fixed comment false positive ([#2703](/~https://github.com/PrismJS/prism/issues/2703)) [`a5d7178c`](/~https://github.com/PrismJS/prism/commit/a5d7178c) +* __GraphQL__ + * Fixed `definition-query` and `definition-mutation` tokens ([#2964](/~https://github.com/PrismJS/prism/issues/2964)) [`bfd7fded`](/~https://github.com/PrismJS/prism/commit/bfd7fded) + * Added more detailed tokens ([#2939](/~https://github.com/PrismJS/prism/issues/2939)) [`34f24ac9`](/~https://github.com/PrismJS/prism/commit/34f24ac9) +* __Handlebars__ + * Added `hbs` alias ([#2874](/~https://github.com/PrismJS/prism/issues/2874)) [`43976351`](/~https://github.com/PrismJS/prism/commit/43976351) +* __HTTP__ + * Fixed body not being highlighted ([#2734](/~https://github.com/PrismJS/prism/issues/2734)) [`1dfc8271`](/~https://github.com/PrismJS/prism/commit/1dfc8271) + * More granular tokenization ([#2722](/~https://github.com/PrismJS/prism/issues/2722)) [`6183fd9b`](/~https://github.com/PrismJS/prism/commit/6183fd9b) + * Allow root path in request line ([#2711](/~https://github.com/PrismJS/prism/issues/2711)) [`4e7b2a82`](/~https://github.com/PrismJS/prism/commit/4e7b2a82) +* __Ini__ + * Consistently mimic Win32 INI parsing ([#2779](/~https://github.com/PrismJS/prism/issues/2779)) [`42d24fa2`](/~https://github.com/PrismJS/prism/commit/42d24fa2) +* __Java__ + * Improved generics ([#2812](/~https://github.com/PrismJS/prism/issues/2812)) [`4ec7535c`](/~https://github.com/PrismJS/prism/commit/4ec7535c) +* __JavaScript__ + * Added support for import assertions ([#2953](/~https://github.com/PrismJS/prism/issues/2953)) [`ab7c9953`](/~https://github.com/PrismJS/prism/commit/ab7c9953) + * Added support for RegExp Match Indices ([#2900](/~https://github.com/PrismJS/prism/issues/2900)) [`415651a0`](/~https://github.com/PrismJS/prism/commit/415651a0) + * Added hashbang and private getters/setters ([#2815](/~https://github.com/PrismJS/prism/issues/2815)) [`9c610ae6`](/~https://github.com/PrismJS/prism/commit/9c610ae6) + * Improved contextual keywords ([#2713](/~https://github.com/PrismJS/prism/issues/2713)) [`022f90a0`](/~https://github.com/PrismJS/prism/commit/022f90a0) +* __JS Templates__ + * Added SQL templates ([#2945](/~https://github.com/PrismJS/prism/issues/2945)) [`abab9104`](/~https://github.com/PrismJS/prism/commit/abab9104) +* __JSON__ + * Fixed backtracking issue in Safari ([#2691](/~https://github.com/PrismJS/prism/issues/2691)) [`cf28d1b2`](/~https://github.com/PrismJS/prism/commit/cf28d1b2) +* __Liquid__ + * Added Markup support, missing tokens, and other improvements ([#2950](/~https://github.com/PrismJS/prism/issues/2950)) [`ac1d12f9`](/~https://github.com/PrismJS/prism/commit/ac1d12f9) +* __Log file__ + * Minor improvements ([#2851](/~https://github.com/PrismJS/prism/issues/2851)) [`45ec4a88`](/~https://github.com/PrismJS/prism/commit/45ec4a88) +* __Markdown__ + * Improved code snippets ([#2967](/~https://github.com/PrismJS/prism/issues/2967)) [`e9477d83`](/~https://github.com/PrismJS/prism/commit/e9477d83) + * Workaround for incorrect highlighting due to double `wrap` hook ([#2719](/~https://github.com/PrismJS/prism/issues/2719)) [`2b355c98`](/~https://github.com/PrismJS/prism/commit/2b355c98) +* __Markup__ + * Added support for DOM event attributes ([#2702](/~https://github.com/PrismJS/prism/issues/2702)) [`8dbbbb35`](/~https://github.com/PrismJS/prism/commit/8dbbbb35) +* __nginx__ + * Complete rewrite ([#2793](/~https://github.com/PrismJS/prism/issues/2793)) [`5943f4cb`](/~https://github.com/PrismJS/prism/commit/5943f4cb) +* __PHP__ + * Fixed functions with namespaces ([#2889](/~https://github.com/PrismJS/prism/issues/2889)) [`87d79390`](/~https://github.com/PrismJS/prism/commit/87d79390) + * Fixed string interpolation ([#2864](/~https://github.com/PrismJS/prism/issues/2864)) [`cf3755cb`](/~https://github.com/PrismJS/prism/commit/cf3755cb) + * Added missing PHP 7.4 `fn` keyword ([#2858](/~https://github.com/PrismJS/prism/issues/2858)) [`e0ee93f1`](/~https://github.com/PrismJS/prism/commit/e0ee93f1) + * Fixed methods with keyword names + minor improvements ([#2818](/~https://github.com/PrismJS/prism/issues/2818)) [`7e8cd40d`](/~https://github.com/PrismJS/prism/commit/7e8cd40d) + * Improved constant support for PHP 8.1 enums ([#2770](/~https://github.com/PrismJS/prism/issues/2770)) [`8019e2f6`](/~https://github.com/PrismJS/prism/commit/8019e2f6) + * Added support for PHP 8.1 enums ([#2752](/~https://github.com/PrismJS/prism/issues/2752)) [`f79b0eef`](/~https://github.com/PrismJS/prism/commit/f79b0eef) + * Class names at the start of a string are now highlighted correctly ([#2731](/~https://github.com/PrismJS/prism/issues/2731)) [`04ef309c`](/~https://github.com/PrismJS/prism/commit/04ef309c) + * Numeral syntax improvements ([#2701](/~https://github.com/PrismJS/prism/issues/2701)) [`01af04ed`](/~https://github.com/PrismJS/prism/commit/01af04ed) +* __React JSX__ + * Added support for general spread expressions ([#2754](/~https://github.com/PrismJS/prism/issues/2754)) [`9f59f52d`](/~https://github.com/PrismJS/prism/commit/9f59f52d) + * Added support for comments inside tags ([#2728](/~https://github.com/PrismJS/prism/issues/2728)) [`30b0444f`](/~https://github.com/PrismJS/prism/commit/30b0444f) +* __reST (reStructuredText)__ + * Fixed `inline` pattern ([#2946](/~https://github.com/PrismJS/prism/issues/2946)) [`a7656de6`](/~https://github.com/PrismJS/prism/commit/a7656de6) +* __Ruby__ + * Added heredoc literals ([#2885](/~https://github.com/PrismJS/prism/issues/2885)) [`20b77bff`](/~https://github.com/PrismJS/prism/commit/20b77bff) + * Added missing regex flags ([#2845](/~https://github.com/PrismJS/prism/issues/2845)) [`3786f396`](/~https://github.com/PrismJS/prism/commit/3786f396) + * Added missing regex interpolation ([#2841](/~https://github.com/PrismJS/prism/issues/2841)) [`f08c2f7f`](/~https://github.com/PrismJS/prism/commit/f08c2f7f) +* __Scheme__ + * Added support for high Unicode characters ([#2693](/~https://github.com/PrismJS/prism/issues/2693)) [`0e61a7e1`](/~https://github.com/PrismJS/prism/commit/0e61a7e1) + * Added bracket support ([#2813](/~https://github.com/PrismJS/prism/issues/2813)) [`1c6c0bf3`](/~https://github.com/PrismJS/prism/commit/1c6c0bf3) +* __Shell session__ + * Fixed multi-line commands ([#2872](/~https://github.com/PrismJS/prism/issues/2872)) [`cda976b1`](/~https://github.com/PrismJS/prism/commit/cda976b1) + * Commands prefixed with a path are now detected ([#2686](/~https://github.com/PrismJS/prism/issues/2686)) [`c83fd0b8`](/~https://github.com/PrismJS/prism/commit/c83fd0b8) +* __SQL__ + * Added `ILIKE` operator ([#2704](/~https://github.com/PrismJS/prism/issues/2704)) [`6e34771f`](/~https://github.com/PrismJS/prism/commit/6e34771f) +* __Swift__ + * Added `some` keyword ([#2756](/~https://github.com/PrismJS/prism/issues/2756)) [`cf354ef5`](/~https://github.com/PrismJS/prism/commit/cf354ef5) +* __TypeScript__ + * Updated keywords ([#2861](/~https://github.com/PrismJS/prism/issues/2861)) [`fe98d536`](/~https://github.com/PrismJS/prism/commit/fe98d536) + * Added support for decorators ([#2820](/~https://github.com/PrismJS/prism/issues/2820)) [`31cc2142`](/~https://github.com/PrismJS/prism/commit/31cc2142) +* __VB.Net__ + * Improved strings, comments, and punctuation ([#2782](/~https://github.com/PrismJS/prism/issues/2782)) [`a68f1fb6`](/~https://github.com/PrismJS/prism/commit/a68f1fb6) +* __Xojo (REALbasic)__ + * `REM` is no longer highlighted as a keyword in comments ([#2823](/~https://github.com/PrismJS/prism/issues/2823)) [`ebbbfd47`](/~https://github.com/PrismJS/prism/commit/ebbbfd47) + * Added last missing Keyword "Selector" ([#2807](/~https://github.com/PrismJS/prism/issues/2807)) [`e32e043b`](/~https://github.com/PrismJS/prism/commit/e32e043b) + * Added missing keywords ([#2805](/~https://github.com/PrismJS/prism/issues/2805)) [`459365ec`](/~https://github.com/PrismJS/prism/commit/459365ec) + +### Updated plugins + +* Made Match Braces and Custom Class compatible ([#2947](/~https://github.com/PrismJS/prism/issues/2947)) [`4b55bd6a`](/~https://github.com/PrismJS/prism/commit/4b55bd6a) +* Consistent Prism check ([#2788](/~https://github.com/PrismJS/prism/issues/2788)) [`96335642`](/~https://github.com/PrismJS/prism/commit/96335642) +* __Command Line__ + * Don't modify empty code blocks ([#2896](/~https://github.com/PrismJS/prism/issues/2896)) [`c81c3319`](/~https://github.com/PrismJS/prism/commit/c81c3319) +* __Copy to Clipboard__ + * Removed ClipboardJS dependency ([#2784](/~https://github.com/PrismJS/prism/issues/2784)) [`d5e14e1a`](/~https://github.com/PrismJS/prism/commit/d5e14e1a) + * Fixed `clipboard.writeText` not working inside iFrames ([#2826](/~https://github.com/PrismJS/prism/issues/2826)) [`01b7b6f7`](/~https://github.com/PrismJS/prism/commit/01b7b6f7) + * Added support for custom styles ([#2789](/~https://github.com/PrismJS/prism/issues/2789)) [`4d7f75b0`](/~https://github.com/PrismJS/prism/commit/4d7f75b0) + * Make copy-to-clipboard configurable with multiple attributes ([#2723](/~https://github.com/PrismJS/prism/issues/2723)) [`2cb909e1`](/~https://github.com/PrismJS/prism/commit/2cb909e1) +* __File Highlight__ + * Fixed Prism check ([#2827](/~https://github.com/PrismJS/prism/issues/2827)) [`53d34b22`](/~https://github.com/PrismJS/prism/commit/53d34b22) +* __Line Highlight__ + * Fixed linkable line numbers not being initialized ([#2732](/~https://github.com/PrismJS/prism/issues/2732)) [`ccc73ab7`](/~https://github.com/PrismJS/prism/commit/ccc73ab7) +* __Previewers__ + * Use `classList` instead of `className` ([#2787](/~https://github.com/PrismJS/prism/issues/2787)) [`d298d46e`](/~https://github.com/PrismJS/prism/commit/d298d46e) + +### Other + +* __Core__ + * Add `tabindex` to code blocks to enable keyboard navigation ([#2799](/~https://github.com/PrismJS/prism/issues/2799)) [`dbf70515`](/~https://github.com/PrismJS/prism/commit/dbf70515) + * Fixed greedy rematching reach bug ([#2705](/~https://github.com/PrismJS/prism/issues/2705)) [`b37987d3`](/~https://github.com/PrismJS/prism/commit/b37987d3) + * Added support for plaintext ([#2738](/~https://github.com/PrismJS/prism/issues/2738)) [`970674cf`](/~https://github.com/PrismJS/prism/commit/970674cf) +* __Infrastructure__ + * Added ESLint + * Added `npm-run-all` to clean up test command ([#2938](/~https://github.com/PrismJS/prism/issues/2938)) [`5d3d8088`](/~https://github.com/PrismJS/prism/commit/5d3d8088) + * Added link to Q&A to issue templates ([#2834](/~https://github.com/PrismJS/prism/issues/2834)) [`7cd9e794`](/~https://github.com/PrismJS/prism/commit/7cd9e794) + * CI: Run tests with NodeJS 16.x ([#2888](/~https://github.com/PrismJS/prism/issues/2888)) [`b77317c5`](/~https://github.com/PrismJS/prism/commit/b77317c5) + * Dangerfile: Trim merge base ([#2761](/~https://github.com/PrismJS/prism/issues/2761)) [`45b0e82a`](/~https://github.com/PrismJS/prism/commit/45b0e82a) + * Dangerfile: Fixed how changed files are determined ([#2757](/~https://github.com/PrismJS/prism/issues/2757)) [`0feb266f`](/~https://github.com/PrismJS/prism/commit/0feb266f) + * Deps: Updated regex tooling ([#2923](/~https://github.com/PrismJS/prism/issues/2923)) [`ad9878ad`](/~https://github.com/PrismJS/prism/commit/ad9878ad) + * Tests: Added `--language` for patterns tests ([#2929](/~https://github.com/PrismJS/prism/issues/2929)) [`a62ef796`](/~https://github.com/PrismJS/prism/commit/a62ef796) + * Tests: Fixed polynomial backtracking test ([#2891](/~https://github.com/PrismJS/prism/issues/2891)) [`8dbf1217`](/~https://github.com/PrismJS/prism/commit/8dbf1217) + * Tests: Fixed languages test discovery [`a9a199b6`](/~https://github.com/PrismJS/prism/commit/a9a199b6) + * Tests: Test discovery should ignore unsupported file extensions ([#2886](/~https://github.com/PrismJS/prism/issues/2886)) [`4492c5ce`](/~https://github.com/PrismJS/prism/commit/4492c5ce) + * Tests: Exhaustive pattern tests ([#2688](/~https://github.com/PrismJS/prism/issues/2688)) [`53151404`](/~https://github.com/PrismJS/prism/commit/53151404) + * Tests: Fixed pretty print incorrectly calculating print width ([#2821](/~https://github.com/PrismJS/prism/issues/2821)) [`5bc405e7`](/~https://github.com/PrismJS/prism/commit/5bc405e7) + * Tests: Automatically normalize line ends ([#2934](/~https://github.com/PrismJS/prism/issues/2934)) [`99f3ddcd`](/~https://github.com/PrismJS/prism/commit/99f3ddcd) + * Tests: Added `--insert` and `--update` parameters to language test ([#2809](/~https://github.com/PrismJS/prism/issues/2809)) [`4c8b855d`](/~https://github.com/PrismJS/prism/commit/4c8b855d) + * Tests: Stricter `components.json` tests ([#2758](/~https://github.com/PrismJS/prism/issues/2758)) [`933af805`](/~https://github.com/PrismJS/prism/commit/933af805) +* __Website__ + * Copy to clipboard: Fixed highlighting ([#2725](/~https://github.com/PrismJS/prism/issues/2725)) [`7a790bf9`](/~https://github.com/PrismJS/prism/commit/7a790bf9) + * Readme: Mention `npm ci` ([#2899](/~https://github.com/PrismJS/prism/issues/2899)) [`91f3aaed`](/~https://github.com/PrismJS/prism/commit/91f3aaed) + * Readme: Added Node and npm version requirements ([#2790](/~https://github.com/PrismJS/prism/issues/2790)) [`cb220168`](/~https://github.com/PrismJS/prism/commit/cb220168) + * Readme: Update link to Chinese translation ([#2749](/~https://github.com/PrismJS/prism/issues/2749)) [`266cc700`](/~https://github.com/PrismJS/prism/commit/266cc700) + * Replace `my.cdn` in code sample with Handlebars-like placeholder ([#2906](/~https://github.com/PrismJS/prism/issues/2906)) [`80471181`](/~https://github.com/PrismJS/prism/commit/80471181) + * Set dummy domain for CDN ([#2905](/~https://github.com/PrismJS/prism/issues/2905)) [`38f1d289`](/~https://github.com/PrismJS/prism/commit/38f1d289) + * Added MySQL to "Used by" section ([#2785](/~https://github.com/PrismJS/prism/issues/2785)) [`9b784ebf`](/~https://github.com/PrismJS/prism/commit/9b784ebf) + * Improved basic usage section ([#2777](/~https://github.com/PrismJS/prism/issues/2777)) [`a1209930`](/~https://github.com/PrismJS/prism/commit/a1209930) + * Updated URL in Autolinker example ([#2751](/~https://github.com/PrismJS/prism/issues/2751)) [`ec9767d6`](/~https://github.com/PrismJS/prism/commit/ec9767d6) + * Added React native tutorial ([#2683](/~https://github.com/PrismJS/prism/issues/2683)) [`1506f345`](/~https://github.com/PrismJS/prism/commit/1506f345) + + ## 1.23.0 (2020-12-31) ### New components