Prism Changelog#

1.15.0 (2018-06-16)#

New components#

Updated components#

  • HTTP
  • Kotlin
  • __JavaScript
    • Improve Regexp pattern [5b043cf]
    • Add support for one level of nesting inside template strings. Fix #1397 [db2d0eb]
  • Elixir
    • Elixir: Fix attributes consuming punctuation. Fix #1392 [dac0485]
  • Bash
  • PowerShell
    • Allow for one level of nesting in expressions inside strings. Fix #1407 [9272d6f]
  • JSX
    • Allow for two levels of nesting inside JSX tags. Fix #1408 [f1cd7c5]
    • Add support for fragments short syntax. Fix #1421 [38ce121]
  • Pascal
  • Swift

Updated plugins#

  • File Highlight
    • Fix issue causing the Download button to show up on every code blocks. [cd22499]
    • Simplify lang regex on File Highlight plugin (#1399) [7bc9a4a]
  • Show Language
    • Don't process language if block language not set (#1410) [c111869]
  • Autoloader
    • ASP.NET should require C# [fa328bb]
  • Line Numbers

Updated themes#

Other changes#

  • Website
    • Site now loads over HTTPS!
    • Use HTTPS / canonical URLs (#1390) [95146c8]
    • Added Angular tutorial link [c436a7c]
    • Use rel="icon" instead of rel="shortcut icon" (#1398) [d95f8fb]
    • Fix Download page not handling multiple dependencies when from Redownload URL [c2ff248]
    • Update documentation for node & webpack usage [1e99e96]
  • Handle optional dependencies in loadLanguages() (#1417) [84935ac]
  • Add Chinese translation [f2b1964]

1.14.0 (2018-04-11)#

New components#

Updated components#

  • Bash:
    • Add curl to the list of common functions. Close #1160 [1bfc084]
  • C-like:
    • Make single-line comments greedy. Fix #1337. Make sure #1340 stays fixed. [571f2c5]
  • C#:
  • Eiffel:
  • Elixir
    • Make regexps greedy, remove comment hacks. Update known failures and tests. [e93d61f]
  • ERB:
    • Make highlighting work properly in NodeJS (#1367) [5f9c078]
  • Fortran:
    • Make single-line comments greedy. Update known failures and tests. [c083b78]
  • Handlebars:
    • Make highlighting work properly in NodeJS (#1367) [5f9c078]
  • Java:
  • JavaScript:
  • JSX:
  • Monkey:
    • Make comments greedy. Update known failures and tests. [d7b2b43]
  • PHP:
    • Make highlighting work properly in NodeJS (#1367) [5f9c078]
  • Puppet:
    • Make heredoc, comments, regexps and strings greedy. Update known failures and tests. [0c139d1]
  • Q:
    • Make comments greedy. Update known failures and tests. [a0f5081]
  • Ruby:
    • Make multi-line comments greedy, remove single-line comment hack. Update known failures and tests. [b0e34fb]
  • SQL:

Updated plugins#

  • Command Line:
    • Command Line: Allow specifying output prefix using data-filter-output attribute. (#856) [094d546]
  • File Highlight:
    • Add option to provide a download button, when used with the Toolbar plugin. Fix #1030 [9f22952]

Updated themes#

Other changes#

  • Website: Remove broken third-party tutorials from homepage [0efd6e1]
  • Docs: Mention loadLanguages() function on homepage in the nodeJS section. Close #972, close #593 [4a14d20]
  • Core: Greedy patterns should always be matched against the full string. Fix #1355 [294efaa]
  • Crystal: Update known failures. [e1d2d42]
  • D: Update known failures and tests. [13d9991]
  • Markdown: Update known failures. [5b6c76d]
  • Matlab: Update known failures. [259b6fc]
  • Website: Remove non-existent anchor to failures. Reword on homepage to make is less misleading. [8c0911a]
  • Website: Add link to Keep Markup plugin in FAQ [e8cb6d4]
  • Test suite: Memory leak in vm.runInNewContext() seems fixed. Revert [9a4b6fa] to drastically improve tests execution time. [9bceece, 7c7602b]
  • Gulp: Don't minify components/index.js [689227b]
  • Website: Fix theme selection on Download page, when theme is in query string or hash. [b4d3063]
  • Update JSPM config to also include unminified components. Close #995 [218f160]
  • Core: Fix support for language alias containing dash - [659ea31]

1.13.0 (2018-03-21)#

New components#

Updated components#

  • JSX:
  • Markup:
  • Powershell:
    • Add lookbehind to fix function interpolation inside strings. Fix #1361 [d2c026e]
  • Rust:
    • Improve char pattern so that lifetime annotations are matched better. Fix #1353 [efdccbf]

Updated themes#

  • Default:
    • Add color for class names [8572474]
  • Coy:
    • Inherit pre's height on code, so it does not break on Download page. [c6c7fd1]

Other changes#

  • Website: Auto-generate example headers [c3ed5b5]
  • Core: Allow cloning of circular structures. (#1345) [f90d555]
  • Core: Generate components.js from components.json and make it exportable to nodeJS. (#1354) [ba60df0]
  • Website: Improve appearance of theme selector [0460cad]
  • Website: Check stored theme by default + link both theme selectors together. Close #1038 [212dd4e]
  • Tests: Use the new components.js file directly [0e1a8b7]
  • Update .npmignore Close #1274 [a52319a]
  • Add a loadLanguages() function for easy component loading on NodeJS (#1359) [a5331a6]

1.12.2 (2018-03-08)#

Other changes#

  • Test against NodeJS 4, 6, 8 and 9 (#1329) [97b7d0a]
  • Stop testing against NodeJS 0.10 and 0.12 [df01b1b]

1.12.1 (2018-03-08)#

Updated components#

1.12.0 (2018-03-07)#

New components#

Updated components#

  • Bash:
  • C#:
  • C-like:
    • Change order of comment patterns and make multi-line one greedy. Fix #1337 [b98e5b9]
  • NSIS:
  • PHP:
    • Add support for string interpolation inside double-quoted strings. Fix #1146 [9f1f8d6]
    • Add support for Heredoc and Nowdoc strings [5d7223c]
    • Fix shell-comment failure now that strings are greedy [ad25d22]
  • PowerShell:
    • Add support for two levels of nested brackets inside namespace pattern. Fixes #1317 [3bc3e9c]
  • Ruby:
    • Add keywords "protected", "private" and "public" [4593837]
  • Rust:
    • Add support for lifetime-annotation and => operator. Fix #1339 [926f6f8]
  • Scheme:
    • Don't highlight first number of a list as a function. Fix #1331 [51bff80]
  • SQL:
    • Add missing keywords and functions, fix numbers [de29d4a]

Updated plugins#

  • Autolinker:
    • Allow more chars in query string and hash to match more URLs. Fix #1142 [109bd6f]
  • Copy to Clipboard:
    • Bump ClipboardJS to 2.0.0 and remove hack (#1314) [e9f410e]
  • Toolbar:
  • Unescaped Markup:
    • Use msMatchesSelector for IE11 and below. Fix #1302 [c246c1a]
  • WebPlatform Docs:

Other changes#

  • Fix Autoloader's demo page [3dddac9]
  • Download page: Use hash instead of query-string for redownload URL. Fix #1263 [b03c02a]
  • Core: Don't thow an error if lookbehing is used without anything matching. [e0cd47f]
  • Docs: Fix link to the <code> element specification in HTML5 [a84263f]
  • Docs: Mention support for lang-xxxx class. Close #1312 [a9e76db]
  • Docs: Add note on async parameter to clarify the requirement of using a single bundled file. Closes #1249 [eba0235]

1.11.0 (2018-02-05)#

New components#

Updated components#

  • C++:
  • TypeScript:

Other changes#

  • Fix passing of non-enumerable Error properties from the child test runner (#1276) [38df653]

1.10.0 (2018-01-17)#

New components#

Updated components#

Updated plugins#

  • Autoloader:
  • Previewers:
    • New plugin combining previous plugins Previewer: Base, Previewer: Angle, Previewer: Color, Previewer: Easing, Previewer: Gradient and Previewer: Time. (#1244) [28e4b4c]
  • Unescaped Markup:

Other changes#

1.9.0 (2017-12-06)#

New components#

Updated components#

  • CSS:
  • JSX:
  • Markup:
    • Make CSS and JS inclusions in Markup greedy. Fix #1240 [7dc1e45]
  • PHP:

Updated plugins#

  • Copy to clipboard:
  • Line highlight:
  • Unescaped Markup:
    • Fix ambiguity in documentation by improving examples. Fix #1197 [924784a]

Other changes#

  • Allow any element being root instead of document. (#1230) [69f2e2c, 6e50d44]
  • Coy Theme: The 'height' element makes code blocks the height of the browser canvas. (#1224) [ac219d7]
  • Download page: Fix implicitly declared variable [f986551]
  • Download page: Add version number at the beginning of the generated files. Fix #788 [928790d]

1.8.4 (2017-11-05)#

Updated components#

  • ABAP:
  • ActionScript:
    • Fix XML regex + optimise [75d00d7]
  • Ada:
  • Apacheconf:
  • APL:
  • AppleScript:
  • Arduino:
    • Don't use captures if not needed [16b338f]
  • ASP.NET:
  • AutoHotkey:
    • Regexp simplification + don't use captures if not needed [5edfd2f]
  • Bash:
    • Regexp optimisation and simplification [75b9b29]
  • Bro:
    • Regexp simplification + don't use captures if not needed [d4b9003]
  • C:
    • Regexp optimisation + don't use captures if not needed [f61d487]
  • C++:
    • Fix operator regexp + regexp simplification + don't use captures if not needed [ffeb26e]
  • C#:
    • Remove duplicates in keywords + regexp optimisation + don't use captures if not needed [d28d178]
  • C-like:
    • Regexp simplification + don't use captures if not needed [918e0ff]
  • CoffeeScript:
    • Regexp optimisation + don't use captures if not needed [5895978]
  • Crystal:
  • CSS:
    • Regexp simplification + don't use captures if not needed + handle multi-line style attributes [43d9f36]
  • CSS Extras:
  • D:
  • Dart:
  • Django:
  • Docker:
  • Eiffel:
  • Elixir:
    • Regexp optimisation + uniform behavior between ~r and ~s [5d12e80]
  • Erlang:
  • F#:
    • Regexp optimisation + don't use captures if not needed [7753fc4]
  • Gherkin:
    • Regexp optimisation + don't use captures if not needed + added explanation comment on table-body regexp [f26197a]
  • Git:
  • GLSL:
  • Go:
    • Regexp optimisation + don't use captures if not needed [88caabb]
  • GraphQL:
    • Regexp optimisation and simplification [2474f06]
  • Groovy:
    • Regexp optimisation + don't use captures if not needed [e74e00c]
  • Haml:
    • Regexp optimisation + don't use captures if not needed + fix typo in comment [23e3b43]
  • Handlebars:
    • Regexp optimisation + don't use captures if not needed [09dbfce]
  • Haskell:
    • Regexp simplification + don't use captures if not needed [f11390a]
  • HTTP:
    • Regexp simplification + don't use captures if not needed [37ef24e]
  • Icon:
  • J:
  • Java:
    • Don't use captures if not needed [96b35c8]
  • JavaScript:
    • Regexp optimisation + don't use captures if not needed [93d4002]
  • Jolie:
    • Regexp optimisation + don't use captures if not needed + remove duplicates in keywords [a491f9e]
  • JSON:
    • Make strings greedy, remove negative look-ahead for ":". Fix #1204 [98acd2d]
    • Regexp optimisation + don't use captures if not needed [8fc1b03]
  • JSX:
    • Regexp optimisation + handle spread operator as a whole [28de4e2]
  • Julia:
    • Regexp optimisation and simplification [12684c0]
  • Keyman:
    • Regexp optimisation + don't use captures if not needed [9726087]
  • Kotlin:
  • LaTeX:
    • Regexp optimisation and simplification [aa426b0]
  • LiveScript:
    • Make interpolated strings greedy + fix variable and identifier regexps [c581049]
  • LOLCODE:
    • Don't use captures if not needed [52903af]
  • Makefile:
  • Markdown:
    • Don't use captures if not needed [f489a1e]
  • Markup:
    • Regexp optimisation + fix punctuation inside attr-value [ea380c6]
  • MATLAB:
    • Make strings greedy + handle line feeds better [4cd4f01]
  • Monkey:
    • Don't use captures if not needed [7f47140]
  • N4JS:
    • Don't use captures if not needed [2d3f9df]
  • NASM:
    • Regexp optimisation and simplification + don't use captures if not needed [9937428]
  • nginx:
    • Remove trailing comma + remove duplicates in keywords [c6e7195]
  • NSIS:
    • Regexp optimisation + don't use captures if not needed [beeb107]
  • Objective-C:
    • Don't use captures if not needed [9be0f88]
  • OCaml:
  • OpenCL:
    • Don't use captures if not needed [5e70f1d]
  • Oz:
  • PARI/GP:
  • Parser:
  • Perl:
    • Regexp optimisation and simplification + don't use captures if not needed [0fe4cf6]
  • PHP:
    • Don't use captures if not needed Golmote [5235f18]
  • PHP Extras:
    • Add word boundary after global keywords + don't use captures if not needed [9049a2a]
  • PowerShell:
    • Regexp optimisation + don't use captures if not needed [0d05957]
  • Processing:
  • .properties:
  • Protocol Buffers:
    • Don't use captures if not needed [3e256d8]
  • Pug:
    • Don't use captures if not needed [76dc925]
  • Pure:
    • Make inline-lang greedy [92318b0]
  • Python:
    • Add Python builtin function highlighting (#1205) [2169c99]
    • Python: Add highlighting to functions with space between name and parentheses (#1207) [3badd8a]
    • Make triple-quoted strings greedy + regexp optimisation and simplification [f09f9f5]
  • Qore:
  • R:
  • Reason:
    • Regexp optimisation + don't use capture if not needed [19d79b4]
  • Ren'py:
    • Make strings greedy + don't use captures if not needed [91d84d9]
  • reST:
    • Regexp simplification + don't use captures if not needed [1a8b3e9]
  • Rip:
  • Ruby:
    • Regexp optimisation and simplification + don't use captures if not needed [4902ed4]
  • Rust:
    • Regexp optimisation and simplification + don't use captures if not needed [cc9d874]
  • Sass:
    • Regexp simplification Golmote [165d957]
  • Scala:
    • Regexp optimisation Golmote [5f50c12]
  • Scheme:
  • SCSS:
  • Smalltalk:
  • Smarty:
    • Regexp optimisation and simplification [e169be9]
  • SQL:
  • Stylus:
  • Swift:
    • Don't use captures if not needed [a2d737a]
  • Tcl:
    • Regexp simplification + don't use captures if not needed [f0b8a33]
  • Textile:
    • Regexp optimisation + don't use captures if not needed [08139ad]
  • Twig:
    • Regexp optimisation and simplification + don't use captures if not needed [0b10fd0]
  • TypeScript:
    • Don't use captures if not needed [e296caf]
  • Verilog:
  • VHDL:
    • Regexp optimisation and simplification [7af36df]
  • vim:
    • Remove duplicates in keywords [700505e]
  • Wiki markup:
    • Fix escaping consistency [1fd690d]
  • YAML:
    • Regexp optimisation + don't use captures if not needed [1fd690d]

Other changes#

  • Remove comments spellcheck for AMP validation (#1106) [de996d7]
  • Prevent error from throwing when element does not have a parentNode in highlightElement. [c33be19]
  • Provide a way to load Prism from inside a Worker without listening to messages. (#1188) [d09982d]

1.8.3 (2017-10-19)#

Other changes#

  • Fix inclusion tests for Pug [955c2ab]

1.8.2 (2017-10-19)#

Updated components#

Update plugins#

  • Copy to clipboard:
    • Fix error occurring when using in Chrome 61+ (#1206) [b41d571]
  • Show invisibles:
    • Prevent error when using with Autoloader plugin (#1195) [ed8bdb5]

1.8.1 (2017-09-16)#

Other changes#

  • Add Arduino to components.js [290a3c6]

1.8.0 (2017-09-16)#

New components#

Updated plugins#

  • Autolinker:
    • Silently catch any error thrown by decodeURIComponent. Fixes #1186 [2e43fcf]

1.7.0 (2017-09-09)#

New components#

Updated components#

  • APL:
  • C:
  • C#:
    • Fix wrong highlighting when three slashes appear inside string. Fix #1091 [dfb6f17]
  • C-like:
    • Add support for unclosed block comments. Close #828 [3426ed1]
  • Crystal:
  • CSS Extras:
  • Docker:
    • Add dockerfile alias for docker language (#1164) [601c47f]
    • Update the list of keywords for dockerfiles (#1180) [f0d73e0]
  • Eiffel:
    • Add class-name highlighting for Eiffel (#471) [cd03587]
  • Handlebars:
    • Check for possible pre-existing marker strings in Handlebars [7a1a404]
  • JavaScript:
    • Properly match every operator as a whole token. Fix #1133 [9f649fb]
    • Allows uppercase prefixes in JS number literals (#1151) [d4ee904]
    • Reduced backtracking in regex pattern. Fix #1159 [ac09e97]
  • JSON:
    • Fix property and string patterns performance. Fix #1080 [0ca1353]
  • JSX:
    • JSX spread operator break. Fixes #1061 (#1094) [561bceb]
    • Fix highlighting of attributes containing spaces [867ea42]
    • Improved performance for tags (when not matching) Fix #1152 [b0fe103]
  • LOLCODE:
    • Make strings greedy Golmote [1a5e7a4]
  • Markup:
    • Support HTML entities in attribute values (#1143) [1d5047d]
  • NSIS:
  • PHP:
    • Fix the PHP language (#1100) [1453fa7]
    • Check for possible pre-existing marker strings in PHP [36bc560]
  • Ruby:
    • Fix slash regex performance. Fix #1083 [a708730]
    • Add support for =begin =end comments. Manual merge of #1121. [62cdaf8]
  • Smarty:
    • Check for possible pre-existing marker strings in Smarty [5df26e2]
  • TypeScript:
  • YAML:

Updated plugins#

  • Autolinker:
    • Fixed an rendering issue for encoded urls (#1173) [abc007f]
  • Custom Class:
    • Add missing noCSS property for the Custom Class plugin [ba64f8d]
    • Added a default for classMap. Fixes #1137. (#1157) [5400af9]
  • Keep Markup:
    • Store highlightedCode after reinserting markup. Fix #1127 [6df2ceb]
  • Line Highlight:
    • Cleanup left-over line-highlight tags before other plugins run [79b723d]
    • Avoid conflict between line-highlight and other plugins [224fdb8]
  • Line Numbers:
    • Support soft wrap for line numbers plugin (#584) [849f1d6]
    • Plugins fixes (unescaped-markup, line-numbers) (#1012) [3fb7cf8]
  • Normalize Whitespace:
    • Add Node.js support for the normalize-whitespace plugin [6c7dae2]
  • Unescaped Markup:
    • Plugins fixes (unescaped-markup, line-numbers) (#1012) [3fb7cf8]

Updated themes#

  • Coy:

Other changes#

  • Initial implementation of manual highlighting (#1087) [bafc4cb]
  • Remove dead link in Third-party tutorials section. Fixes #1028 [dffadc6]
  • Most languages now use the greedy flag for better highlighting [7549ecc]
  • .npmignore: Unignore components.js (#1108) [1f699e7]
  • Run before-highlight and after-highlight hooks even when no grammar is found. Fix #1134 [70cb472]
  • Replace [\w\W] with [\s\S] and [0-9] with \d in regexes (#1107) [8aa2cc4]
  • Fix corner cases for the greedy flag (#1095) [6530709]
  • Add Third Party Tutorial (#1156) [c34e57b]
  • Add Composer support (#648) [2989633]
  • Remove IE8 plugin (#992) [25788eb]
  • Website: remove width and height on logo.svg, so it becomes scalable. Close #1005 [0621ff7]
  • Remove yarn.lock (#1098) [11eed25]

1.6.0 (2016-12-03)#

New components#

Updated components#

  • APL:
  • AsciiDoc:
    • Optimized block regexps to prevent struggling on large files. Fixes #1001. [1a86d34]
  • Bash:
  • CSS:
  • CSS Extras:
    • Match attribute inside selectors [13fed76]
  • Groovy_:
  • Ini:
    • Remove important token in ini definition (#1047) [fe8ad8b]
  • JavaScript:
  • _JSON:
    • JSON: Fixed issues with properties and strings + added tests. Fix #1025 [25a541d]
  • Markup:
    • Allow for dots in Markup tag names, but not in HTML tags included in Textile. Fixes #888. [31ea66b]
    • Make doctype case-insensitive (#1009) [3dd7219]
  • NSIS:
  • PHP:
  • PowerShell:
  • Puppet:
  • Ruby:
  • SCSS:
    • Alias statement as keyword. Fix #246 [fd09391]
    • Highlight variables inside selectors and properties. [d6b5c2f]
    • Highlight parent selector [8f5f1fa]
  • TypeScript:
    • Add missing from keyword to typescript & set ts as alias. (#1042) [cba78f3]

New plugins#

Updated plugins#

  • Autoloader:
    • Updated documentation for Autoloader plugin [b4f3423]
    • Download all grammars as a zip from Autoloader plugin page (#981) [0d0a007, 5c815d3]
    • Removed duplicated script on Autoloader plugin page [9671996]
    • Don't try to load "none" component. Fix #1000 [f89b0b9]
  • WPD:
    • Fix at-rule detection + don't process if language is not handled [2626728]

Other changes#

  • Improvement to greedy-flag (#967) [500121b, 9893489]
  • Add setTimeout fallback for requestAnimationFrame. Fixes #987. (#988) [c9bdcd3]
  • Added aria-hidden attributes on elements created by the Line Highlight and Line Numbers plugins. Fixes #574. [e5587a7]
  • Don't insert space before ">" when there is no attributes [3dc8c9e]
  • Added missing hooks-related tests for AsciiDoc, Groovy, Handlebars, Markup, PHP and Smarty [c1a0c1b]
  • Fix issue when using Line numbers plugin and Normalise whitespace plugin together with Handlebars, PHP or Smarty. Fix #1018, #997, #935. Revert #998. [86aa3d2]
  • Optimized logo (#990) (#1002) [f69e570, 218fd25]
  • Remove unneeded prefixed CSS (#989) [5e56833]
  • Optimize images (#1007) [b2fa6d5]
  • Add yarn.lock to .gitignore (#1035) [03ecf74]
  • Fix greedy flag bug. Fixes #1039 [32cd99f]
  • Ruby: Fix test after #1023 [b15d43b]
  • Ini: Fix test after #1047 [25cdd3f]
  • Reduce risk of XSS (#1051) [17e33bc]
  • env.code can be modified by before-sanity-check hook even when using language-none. Fix #1066 [83bafbd]

1.5.1 (2016-06-05)#

Updated components#

  • Normalize Whitespace:
    • Add class that disables the normalize whitespace plugin [9385c54]
  • JavaScript Language:
    • Rearrange the string and template-string token in JavaScript [1158e46]
  • SQL Language:
    • add delimeter and delimeters keywords to sql (#958) [a9ef24e]
    • add AUTO_INCREMENT and DATE keywords to sql (#954) [caea2af]
  • Diff Language:
    • Highlight diff lines with only + or - (#952) [4d0526f]

Other changes#

1.5.0 (2016-05-01)#

New components#

Updated components#

  • Keep Markup:
    • Fix Keep Markup plugin incorrect highlighting (#880) [24841ef]
  • Groovy Language:
    • Fix double HTML-encoding bug in Groovy language [24a0936]
  • Java Language:
  • SAS Language:
    • Add missing keywords for SAS (#922)
  • YAML Language:
    • fix hilighting of YAML keys on first line of code block (#943) [f19db81]
  • C# Language:
    • Support for generic methods in csharp [6f75735]

New plugins#

Other changes#

  • Add JSPM support [ad048ab]
  • update linear-gradient syntax from left to to right [cd234dc]
  • Add after-property to allow ordering of plugins [224b7a1]
  • Partial solution for the "Comment-like substrings"-problem [2705c50]
  • Add property 'aliasTitles' to components.js [54400fb]
  • Add before-highlightall hook [70a8602]
  • Fix catastrophic backtracking regex issues in JavaScript [ab65be2]

1.4.1 (2016-02-03)#

Other changes#

  • Fix DFS bug in Prism core [b86c727]

1.4.0 (2016-02-03)#

New components#

Updated components#

  • Show Language:
    • Remove data-language attribute (#840) [eb9a83c]
    • Allow custom label without a language mapping (#837) [7e74aef]
  • JSX:
  • File Highlight:
    • Defer File Highlight until the full DOM has loaded. (#844) [6f995ef]
  • Coy Theme:
  • Show Invisibles:
    • Ensure show-invisibles compat with autoloader (#874) [c3cfb1f]
    • Add support for the space character for the show-invisibles plugin (#876) [05442d3]

New plugins#

Other changes#

  • Use document.currentScript instead of document.getElementsByTagName() [fa98743]
  • Add prefix for Firefox selection and move prefixed rule first [6d54717]
  • No background for <code> in <pre> [8c310bc]
  • Fixing to initial copyright year [69cbf7a]
  • Simplify the “lang” regex [417f54a]
  • Fix broken heading links [a7f9e62]
  • Prevent infinite recursion in DFS [02894e1]
  • Fix incorrect page title [544b56f]
  • Link scss to webplatform wiki [08d979a]
  • Revert white-space to normal when code is inline instead of in a pre [1a971b5]

1.3.0 (2015-10-26)#

New components#

Updated components#

  • C:
    • Highlight directives in preprocessor lines (#801) [ad316a3]
  • C#:
  • F#:
    • Highlight directives in preprocessor lines (#801) [ad316a3]
  • JavaScript:
    • Highlight true and false as booleans (#801) [ad316a3]
  • Python:
    • Highlight triple-quoted strings before comments. Fix #815 [90fbf0b]

New plugins#

Other changes#

  • Increase mocha's timeout [f1c41db]
  • Prevent most errors in IE8. Fix #9 [9652d75]
  • Add U.S. Web Design Standards on homepage. Fix #785 [e10d48b, 79ebbf8, 2f7088d]
  • Added gulp task to autolink PRs and commits in changelog [5ec4e4d]
  • Use child processes to run each set of tests, in order to deal with the memory leak in vm.runInNewContext() [9a4b6fa]

1.2.0 (2015-10-07)#

New components#

Updated components#

  • ASP.NET:
    • Simplified pattern for <script> [29643f4]
  • Bash:
  • CSS:
    • Simplified pattern for <style> [29643f4]
  • JavaScript:
    • Simplified pattern for <script> [29643f4]

New plugins#

Updated plugins#

  • Previewer: Color

    • Add support for Sass variables [3a1fb04]
  • Previewer: Easing

    • Add support for Sass variables [7c7ab4e]

Other changes#

  • Test runner: Allow to run tests for only some languages [5ade8a5]
  • Download page: Fixed wrong components order raising error in generated file (#797) [7a6aed8]

1.1.0 (2015-10-04)#

New components#

Updated components#

  • Bash:
  • C:
  • C-like:
    • Add word boundary before class-name prefixes [aa757f6]
    • Improved operator regex + add != and !== [135ee9d]
    • Optimized string regexp [792e35c]
  • F#:
    • Fixed keywords containing exclamation mark [09f2005]
    • Improved string pattern [0101c89]
    • Insert preprocessor before keyword + don't allow line feeds before # [fdc9477]
    • Fixed numbers [0aa0791]
  • Gherkin:
    • Don't allow spaces in tags [48ff8b7]
    • Handle \r\n and \r + allow feature alone + don't match blank td/th [ce1ec3b]
  • Git:
  • Go:
    • Improved operator regexp + removed punctuation from it [776ab90]
  • Haml:
    • Combine both multiline-comment regexps + handle \r\n and \r [f77b40b]
    • Handle \r\n and \r in filter regex [bbe68ac]
  • Handlebars:
    • Fix empty strings, add plus sign in exponential notation, improve block pattern and variable pattern [c477f9a]
    • Properly escape special replacement patterns ($) in Handlebars, PHP and Smarty. Fix #772 [895bf46]
  • Haskell:
    • Removed useless backslashes and parentheses + handle \r\n and \r + simplify number regexp + fix operator regexp [1cc8d8e]
  • HTTP:
    • Fix indentation + Add multiline flag for more flexibility + Fix response status + Handle \r\n and \r [aaa90f1]
  • Ini:
    • Fix some regexps + remove unused flags [53d5839]
  • Jade:
    • Add todo list + remove single-line comment pattern + simplified most patterns with m flag + handle \r\n and \r [a79e838]
  • Java:
    • Fix number regexp + simplified number regexp and optimized operator regexp [21e20b9]
  • JavaScript:
    • JavaScript: Allow for all non-ASCII characters in function names. Fix #400 [29e26dc]
  • JSX:
    • Allow for one level of nesting in scripts (Fix #717) [90c75d5]
  • Julia:
    • Simplify comment regexp + improved number regexp + improved operator regexp [bcac7d4]
  • Keyman:
    • Move header statements above keywords [23a444c]
  • LaTeX:
  • Less:
    • Remove useless part in property regexp [80d8260]
  • LOLCODE:
    • Removed useless parentheses [8147c9b]
  • Makefile:
    • Add known failures in example [e0f8984]
    • Handle \r\n in comments and strings + fix "-include" keyword
  • Markup:
    • Simplify patterns + handle \r\n and \r [4c551e8]
    • Don't allow = to appear in tag name [85d8a55]
    • Don't allow dot inside tag name [283691e]
  • MATLAB:
    • Simplify string pattern to remove lookbehind [a3cbecc]
  • NASM:
    • Converted indents to tabs, removed uneeded escapes, added lookbehinds [a92e4bd]
  • NSIS:
  • Objective-C:
    • Simplified regexps + fix strings + handle \r [1d33147]
    • Fix operator regexp [e9d382e]
  • Pascal:
  • Perl:
    • Simplified regexps + Made most string and regexp patterns multi-line + Added support for regexp's n flag + Added missing operators [71b00cc]
  • PHP:
    • Simplified patterns [f9d9452]
    • Properly escape special replacement patterns ($) in Handlebars, PHP and Smarty. Fix #772 [895bf46]
  • PHP Extras:
    • Fix $this regexp + improve global regexp [781fdad]
  • PowerShell:
    • Update definitions for command/alias/operators [14da55c]
  • Python:
    • Added async/await and @ operator (#656) [7f1ae75]
    • Added 'self' keyword and support for class names (#677) [d9d4ab2]
    • Simplified regexps + don't capture where unneeded + fixed operators [530f5f0]
  • R:
    • Fixed and simplified patterns [c20c3ec]
  • reST:
    • Simplified some patterns, fixed others, prevented blank comments to match, moved list-bullet down to prevent breaking quotes [e6c6b85]
  • Rip:
    • Fixed some regexp + moved down numbers [1093f7d]
  • Ruby:
    • Code cleaning, handle \r\n and \r, fix some regexps [dd4989f]
    • Add % notations for strings and regexps. Fix #590 [2d37800]
  • Rust:
    • Simplified patterns and fixed operators [6c8494f]
  • SAS:
    • Simplified datalines and optimized operator patterns [6ebb96f]
  • Sass:
    • Add missing require in components [35b8c50]
    • Fix comments, operators and selectors and simplified patterns [28759d0]
    • Highlight "-" as operator only if surrounded by spaces, in order to not break hyphenated values (e.g. "ease-in-out") [b2763e7]
  • Scala:
  • Scheme:
    • Add missing lookbehind on number pattern. Fix #702 [3120ff7]
    • Fixes and simplifications [068704a]
    • Don't match content of symbols starting with a parenthesis [fa7df08]
  • Scss:
    • Simplified patterns + fixed operators + don't match empty selectors [672c167]
  • Smalltalk:
  • Smarty:
    • Optimized regexps + fixed punctuation and operators [1446700]
    • Properly escape special replacement patterns ($) in Handlebars, PHP and Smarty. Fix #772 [895bf46]
  • SQL:
    • Simplified regexp + fixed keywords and operators + add CHARSET keyword [d49fec0]
  • Stylus:
    • Rewrote the component entirely [7729728]
  • Swift:
    • Optimized keywords lists and removed duplicates [936e429]
    • Add support for string interpolation. Fix #448 [89cd5d0]
  • Twig:
    • Prevent "other" pattern from matching blank strings [cae2cef]
    • Optimized regexps + fixed operators + added missing operators/keywords [2d8271f]
  • VHDL:
    • Move operator overloading before strings, don't capture if not needed, handle \r\n and \r, fix numbers [4533f17]
  • Wiki markup:
    • Fixed emphasis + merged some url patterns + added TODOs [8cf9e6a]
  • YAML:
    • Handled \r\n and \r, simplified some patterns, fixed "---" [9e33e0a]

New plugins#

Updated plugins#

  • Autolinker:
    • Don't process all grammars on load, process each one in before-highlight. Should fix #760 [a572495]
  • Line Highlight:
  • Line Numbers:
    • Run in complete hook [3f4d918]
    • Don't run if already exists [c89bbdb]
    • Don't run if block is empty. Fix #669 [ee463e8]
    • Correct calculation for number of lines (fix #385) [14f3f80]
    • Fix computation of line numbers for single-line code blocks. Fix #721 [02b220e]
    • Fixing word wrap on long code lines [56b3d29]
    • Fixing coy theme + line numbers plugin overflowing on long blocks of text (#762) [a0127eb]
  • Show Language:
    • Add gulp task to build languages map in Show language plugin (Fix #671) [39bd827]
    • Add reset styles to prevent bug in Coy theme (#703) [08dd500]

Other changes#

  • Fixed link to David Peach article (#647) [3f679f8]
  • Added complete hook, which runs even when no grammar is found [e58b6c0, fd54995]
  • Added test suite runner (#588) [956cd85]
  • Added tests for every components
  • Added .gitattributes to prevent line ending changes in test files [45ca8c8]
  • Split plugins into 3 columns on Download page [a88936a]
  • Removed comment in components.js to make it easier to parse as JSON (#679) [2cb1326]
  • Updated README.md [1388256]
  • Updated documentation since the example was not relevant any more [80aedb2]
  • Fixed inline style for Coy theme [52829b3]
  • Prevent errors in nodeJS (#754) [9f5c93c, 0356c58]
  • Explicitly make the Worker close itself after highlighting, so that users have control on this behaviour when directly using Prism inside a Worker. Fix #492 [e42a228]
  • Added some language aliases: js for javascript, xml, html, mathml and svg for markup [2f9fe1e]
  • Download page: Add a "Select all" checkbox (#561) [9a9020b]
  • Download page: Don't add semicolon unless needed in generated code. Fix #273 [5a5eec5]
  • Add language counter on homepage [889cda5]
  • Improve performance by doing more work in the worker [1316abc]
  • Replace Typeplate with SitePoint on homepage. Fix #774 [0c54308]
  • Added basic .editorconfig [c48f55d]

1.0.1 (2015-07-26)#

New components#

Updated components#

  • ActionScript:
    • Fix ! operator and add ++ and -- as whole operators [6bf0794]
    • Fix XML highlighting [90257b0]
    • Update examples to add inline XML [2c1626a, 3987711]
  • Apache Configuration:
    • Don't include the spaces in directive-inline [e87efd8]
  • AppleScript:
    • Allow one level of nesting in block comments [65894c5]
    • Removed duplicates between operators and keywords [1ec5a81]
    • Removed duplicates between keywords and classes [e8d09f6]
    • Move numbers up so they are not broken by operator pattern [66dac31]
  • ASP.NET:
    • Prevent Markup tags from breaking ASP tags + fix MasterType directive [1f0a336]
  • AutoHotkey:
    • Allow tags (labels) to be highlighted at the end of the code [0a1fc4b]
    • Match all operators + add comma to punctuation [f0ccb1b]
    • Removed duplicates in keywords lists [fe0a068]
  • Bash:
    • Simplify comment regex [2700981]
    • Removed duplicates in keywords + removed unneeded parentheses [903b8a4]
  • C:
    • Removed string pattern (inherited from C-like) [dcce1a7]
    • Better support for macro statements [4868635]
  • C#:
    • Fix preprocessor pattern [86311f5]
  • C++:
    • Removed delete[] and new[] broken keywords [42fbeef]
  • C-like:
    • Removed unused 'ignore' pattern [b6535dd]
    • Use look-ahead instead of inside to match functions [d4194c9]
  • CoffeeScript:
    • Prevent strings from ending with a backslash [cb6b824]
  • CSS:
    • Highlight parentheses as punctuation [cd0273e]
    • Improved highlighting of at-rules [e254088]
    • Improved URL and strings [901812c]
    • Selector regexp should not include last spaces before brace [f2e2718]
    • Handle \r\n [15760e1]
  • Eiffel:
    • Fix string patterns order + fix /= operator [7d1b8d7]
  • Erlang:
    • Fixed quoted functions, quoted atoms, variables and <= operator [fa286aa]
  • Fortran:
    • Improved pattern for comments inside strings [40ae215]
    • Fixed order in keyword pattern [8a6d32d]
  • Handlebars:
  • JavaScript:
    • Added support for 'y' and 'u' ES6 JavaScript regex flags (#596) [5d99957]
    • Added support for missing ES6 keywords in JavaScript (#596) [ca68b87]
    • Added async and await keywords (#575) [5458cec]
    • Added support for Template strings + interpolation [04f72b1]
    • Added support for octal and binary numbers (#597) [a8aa058]
    • Improve regex performance of C-like strings and JS regexps [476cbf4]
  • Markup:
    • Allow non-ASCII chars in tag names and attributes (fix #585) [52fd55e]
    • Optimized tag's regexp so that it stops crashing on large unclosed tags [75452ba]
    • Highlight single quotes in attr-value as punctuation [1ebcb8e]
    • Doctype and prolog can be multi-line [c19a238]
  • Python:
    • Added highlighting for function declaration (#601) [a88aae8]
    • Fixed wrong highlighting of variables named a, b, c... f (#601) [a88aae8]
  • Ruby:
    • Added support for string interpolation [c36b123]
  • Scss:
    • Fixed media queries highlighting [bf8e032]
    • Improved highlighting inside at-rules [eef4248]
    • Match placeholders inside selectors (fix #238) [4e42e26]
  • Swift:

Updated plugins#

  • File Highlight:
    • Allow to specify the highlighting language. Fix #607 [8030db9]
  • Line Highlight:

Other changes#

  • Removed moot version property from bower.json (#594) [4693499]
  • Added repository to bower.json (#600) [8e5ebcc]
  • Added .DS_Store to .gitignore [1707e4e]
  • Improve test drive page usability. Fix #591 [fe60858]
  • Fixed prism-core and prism-file-highlight to prevent errors in IE8 [5f133c8]
  • Add Ubuntu Mono font to font stack [ed9d7e3]

1.0.0 (2015-05-23)#

  • First release
  • Supported languages:
    • ActionScript
    • Apache Configuration
    • AppleScript
    • ASP.NET (C#)
    • AutoHotkey
    • Bash
    • C
    • C#
    • C++
    • C-like
    • CoffeeScript
    • CSS
    • CSS Extras
    • Dart
    • Eiffel
    • Erlang
    • F#
    • Fortran
    • Gherkin
    • Git
    • Go
    • Groovy
    • Haml
    • Handlebars
    • Haskell
    • HTTP
    • Ini
    • Jade
    • Java
    • JavaScript
    • Julia
    • LaTeX
    • Less
    • LOLCODE
    • Markdown
    • Markup
    • MATLAB
    • NASM
    • NSIS
    • Objective-C
    • Pascal
    • Perl
    • PHP
    • PHP Extras
    • PowerShell
    • Python
    • R
    • React JSX
    • reST
    • Rip
    • Ruby
    • Rust
    • SAS
    • Sass (Scss)
    • Scala
    • Scheme
    • Smalltalk
    • Smarty
    • SQL
    • Stylus
    • Swift
    • Twig
    • TypeScript
    • Wiki markup
    • YAML
  • Plugins:
    • Autolinker
    • File Highlight
    • Highlight Keywords
    • Line Highlight
    • Line Numbers
    • Show Invisibles
    • Show Language
    • WebPlatform Docs