This website works better with JavaScript
Prism Changelog
1.29.0 (2022-08-23)
New components
Updated components
AsciiDoc
Bash
BBj
CSS
CSS Extras
Hoon
Java
Markup
NSIS
Scala
SCSS
Updated plugins
Line Highlight
Normalize Whitespace
Other
1.28.0 (2022-04-17)
New components
Updated components
.properties
Use key
, value
for token names; attr-name
, attr-value
as aliases (#3377 ) b94a664d
ABAP
Ada
Atmel AVR Assembly
AutoHotkey
CFScript
CMake
Erlang
Excel Formula
Use more fitting aliases for function-name
, range
, and cell
(#3391 ) ef0ec02a
Flow
GEDCOM
Groovy
Handlebars
Java
JavaScript
Keyman
MEL
NEON
PHP
PureBasic
Razor C#
Added support for @helper
and inline C# inside attribute values (#3355 ) 31a38d0c
VHDL
Add private
, view
keywords; Distinguish attribute
from keyword
(#3389 ) d1a5ce30
Wolfram language
Updated plugins
Autolinker
Command Line
Keep Markup
Other
1.27.0 (2022-02-17)
New components
Updated components
AutoIt
EditorConfig
Change alias of section
from keyword
to selector
(#3305 ) e46501b9
Ini
MongoDB
PureBasic
Added missing keyword and fixed constants ending with $
(#3320 ) d6c53726
Scala
Systemd configuration file
Updated plugins
Other
1.26.0 (2022-01-06)
New components
Updated components
Use \d
for [0-9]
(#3097 ) 9fe2f93e
6502 Assembly
AppleScript
AQL
Arduino
Avro IDL
Bash
Birb
Bro
BSL (1C:Enterprise)
C
C#
Clojure
Concurnas
Content-Security-Policy
Coq
Crystal
Cypher
D
Dart
Added string interpolation and improved metadata (#3197 ) e1370357
DataWeave
EditorConfig
Eiffel
Elm
ERB
F#
G-code
GameMaker Language
Go
Added char
token and improved string
and number
tokens (#3208 ) f11b86e2
GraphQL
Haml
Haxe
Hoon
HTTP
HTTP Public-Key-Pins
HTTP Strict-Transport-Security
Idris
Io
J
Java
Java stack trace
JavaScript
Jolie
JQ
JS stack trace
Julia
Keyman
Kotlin
Added char
token and improved string interpolation (#3225 ) 563cd73e
Latte
Use standard token names and combined delimiter tokens (#3226 ) 6b168a3b
Liquid
Lisp
Makefile
Markdown
MAXScript
Monkey
N1QL
nginx
Nim
Nix
NSIS
Objective-C
OCaml
Oz
Pascal
PATROL Scripting Language
Perl
PHP
PHP Extras
PL/SQL
PowerQuery
PowerShell
Processing
Prolog
Pug
PureBasic
Python
QML
React JSX
React TSX
Reason
Regex
Ren'py
Rip
Ruby
Rust
Improved type-definition
and use standard tokens correctly (#3253 ) 4049e5c6
Scheme
Smalltalk
Smarty
SQL
Squirrel
Stan
Structured Text (IEC 61131-3)
Swift
TAP
Tremor
Twig
TypeScript
URI
V
Verilog
Visual Basic
Wolfram language
Xojo (REALbasic)
Zig
Updated plugins
File Highlight
Keep Markup
Line Highlight
Expose highlightLines
function as Prism.plugins.highlightLines
(#3086 ) 9f4c0e74
Toolbar
Updated themes
Coy: Set z-index
to make shadows visible in colored table cells (#3161 ) 79f250f3
Coy: Added padding to account for box shadow (#3143 ) a6a4ce7e
Other
Core
Infrastructure
Website
1.25.0 (2021-09-16)
New components
Updated components
Bicep
Added support for multiline and interpolated strings and other improvements (#3028 ) 748bb9ac
C#
C++
Clojure
Hoon
Liquid
Log file
Markup
PureScript
Python
Sass
Shell session
Swift
TypeScript
Updated plugins
JSONP Highlight
Line Highlight
Extend highlight to full line width inside scroll container (#3011 ) e289ec60
Normalize Whitespace
Previewers
Updated themes
Twilight
Increase selector specificities of plugin overrides (#3081 ) ffb20439
Other
1.24.1 (2021-07-03)
Updated components
Updated plugins
1.24.0 (2021-06-27)
New components
Updated components
Fixed problems reported by regexp/no-dupe-disjunctions
(#2952 ) f471d2d7
Fixed some cases of quadratic worst-case runtime (#2922 ) 79d22182
Fixed 2 cases of exponential backtracking (#2774 ) d85e30da
AQL
AutoHotkey
Bash
C++
Dart
Docker
Elixir
F#
GraphQL
Handlebars
HTTP
Ini
Java
JavaScript
JS Templates
JSON
Liquid
Added Markup support, missing tokens, and other improvements (#2950 ) ac1d12f9
Log file
Markdown
Markup
nginx
PHP
React JSX
reST (reStructuredText)
Ruby
Scheme
Shell session
SQL
Swift
TypeScript
VB.Net
Xojo (REALbasic)
Updated plugins
Made Match Braces and Custom Class compatible (#2947 ) 4b55bd6a
Consistent Prism check (#2788 ) 96335642
Command Line
Copy to Clipboard
File Highlight
Line Highlight
Fixed linkable line numbers not being initialized (#2732 ) ccc73ab7
Previewers
Other
Core
Infrastructure
Website
1.23.0 (2020-12-31)
New components
Updated components
Fixed multiple vulnerable regexes (#2584 ) c2f6a644
Apache Configuration
C-like
C
Content-Security-Policy
CSS
Java
Java stack trace
Added support stack frame element class loaders and modules (#2658 ) 0bb4f096
Julia
Removed constants that are not exported by default (#2601 ) 093c8175
Kotlin
Latte
Markdown
PHP
Sass (Scss)
Scheme
Shell session
Fixed false positives because of links in command output (#2649 ) 8e76a978
TSX
Temporary fix for the collisions of JSX tags and TS generics (#2596 ) 25bdb494
Updated plugins
Made Autoloader and Diff Highlight compatible (#2580 ) 7a74497a
Copy to Clipboard Button
Set type="button"
attribute for copy to clipboard plugin (#2593 ) f59a85f1
File Highlight
Line Highlight
Line Numbers
Treeview
Unescaped Markup
Other
Readme: Added alternative link for Chinese translation 071232b4
Readme: Removed broken icon for Chinese translation (#2670 ) 2ea202b9
Readme: Grammar adjustments (#2629 ) f217ab75
Core
Infrastructure
Website
1.22.0 (2020-10-10)
New components
Updated components
Removed duplicate alternatives in various languages (#2524 ) fa2225ff
Haskell
JS Extras
PHP
Processing
Regex
Rust
Scheme
Shell session
YAML
Updated plugins
Autoloader
Match braces
Show Language
Other
Tests: Added an option to accept the actual token stream (#2515 ) bafab634
Core
Infrastructure
Website
Website: Added new SB101 tutorial replacing the Crambler one (#2576 ) 655f985c
Website: Fix typo on homepage by adding missing word add (#2570 ) 8ae6a4ba
Custom class: Improved doc (#2512 ) 5ad6cb23
1.21.0 (2020-08-06)
New components
Updated components
Markup & JSON: Added new aliases (#2390 ) 9782cfe6
Fixed several cases of exponential backtracking (#2268 ) 7a554b5f
APL
AutoHotkey
Bash
Batch
C
C#
C++
Content-Security-Policy
CSS
CSS Extras
Optimized class
and id
patterns (#2359 ) fdbc4473
Renamed attr-{name,value}
tokens and added tokens for combinators and selector lists (#2373 ) e523f5d0
Dart
Diff
Docker
EditorConfig
EJS
GLSL
GraphQL
Io
Java
JavaDoc
JavaScript
JSDoc
JSON
Julia
Kotlin
Markup
Objective-C
PowerShell
New functions pattern bases on naming conventions (#2301 ) fec39bcf
Protocol Buffers
Pug
Python
Regex
Ren'py
Ruby
Rust
SAS
Scheme
Solidity (Ethereum)
SQL
Stylus
T4 Text Templates (VB)
TypeScript
Visual Basic
Updated plugins
File Highlight & JSONP Highlight update (#1974 ) afea17d9
Added general de/activation mechanism for plugins (#2434 ) a36e96ab
Autoloader
Command Line
Line Highlight
Line Numbers
Previewers
Unescaped Markup
Updated themes
Coy
Default
Added a comment that declares the background color of operator
tokens as intentional (#2309 ) 937e2691
Okaidia
Update comment text color to meet WCAG contrast recommendations to AA level (#2292 ) 06495f90
Other
Changelog: Fixed v1.20.0 release date cb6349e2
Core
Infrastructure
Website
1.20.0 (2020-04-04)
New components
Updated components
Bash
BBcode
C/C++/OpenCL C
C
C#
C++
CSS
CSS Extras
Elixir
Added support for attributes names ending with ?
(#2182 ) 5450e24c
Java
Markdown
OpenCL
PHPDoc
Ruby
SAS
Shell session
Visual Basic
Added support for comments with line continuations (#2195 ) a7d67ca3
YAML
New plugins
Updated plugins
Inline Color
Support for (semi-)transparent colors and minor improvements (#2223 ) 8d2c5a3e
Keep Markup
Toolbar
Other
Updated all String.propotype.replace
calls for literal strings 5d7aab56
Core
Infrastructure
Website
1.19.0 (2020-01-13)
New components
Updated components
Handlebars
Added support for :
and improved the variable
pattern (#2172 ) ef4d29d9
JavaScript
Markdown
OCaml
PHP
React JSX
Reason
Ruby
SAS
Updated plugins
Updated themes
Other
1.18.0 (2020-01-04)
New components
Updated components
Minor improvements for C-like and Clojure (#2064 ) 7db0cab3
Inlined some unnecessary rest properties (#2082 ) ad3fa443
AQL
Clojure
CSS Extras
D
Groovy
Java
JavaScript
Less
Markup
Python
Robot Framework
Ruby
SAS
Smalltalk
Turtle
TypeScript
Updated plugins
Other
Issue template improvements (#2069 ) 53f07b1b
Readme: Links now use HTTPS if available (#2045 ) 6cd0738a
Core
Infrastructure
Website
1.17.1 (2019-07-21)
Other
1.17.0 (2019-07-21)
New components
New plugins
Diff Highlight : Syntax highlighting inside diff blocks (#1889 ) e7702ae1
Updated components
Bash
C#
C++
CSS
CSS Extras
F#
JavaScript
JSON
Julia
LaTeX
Markdown
Perl
Protocol Buffers
Full support for PB2 and PB3 syntax + numerous other improvements (#1948 ) de10bd1d
reST (reStructuredText)
Rust
Sass (Scss)
Scheme
TOML
Visual Basic
Updated plugins
Autolinker
Autoloader
Command Line
Fix for uncaught errors for empty 'commandLine' object. (#1862 ) c24831b5
Copy to Clipboard Button
Custom Class
Added mapper functions for language specific transformations (#1873 ) acceb3b5
Line Highlight
Toolbar
Updated themes
Other
1.16.0 (2019-03-24)
New components
Updated components
Fixed dependencies of Pug and Pure (#1759 ) c9a32674
Add file extensions support for major languages (#1478 ) 0c8f6504
Fixed patterns which can match the empty string (#1775 ) 86dd3e42
More variables for better code compression (#1489 ) bc53e093
Added missing aliases (#1830 ) 8d28c74c
Replaced all occurrences of new RegExp
with RegExp
(#1493 ) 44fed4d3
Added missing aliases to components.json (#1503 ) 2fb66e04
Apacheconf
AsciiDoc
Bash
Batch
C
C-like
C/C++/Java
C#
CSS
Django
F#
GraphQL
Haskell
HTTP
Ini
Java
JavaScript
JSON / JSONP
JSX
Less
Lisp
Markdown
Markup
Markup Templating
nginx
PHP
Python
Reason
Ruby
Rust
SAS
Scheme
SCSS
Smalltalk
Smarty
SQL
TypeScript
YAML
Updated plugins
Better class name detection for plugins (#1772 ) c9762c6f
Autolinker
Autoloader
Command Line
File Highlight
Prevent double-loading & add scope to File Highlight (#1586 ) 10239c14
JSONP Highlight
Keep Markup
Line Numbers
Previewers
Show Invisibles
Show Language
Show Language plugin alias support and improvements (#1683 ) 4c66d72c
Toolbar
Updated themes
Other changes
Core
Infrastructure
Website
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 :
C# :
Eiffel :
Elixir
Make regexps greedy, remove comment hacks. Update known failures and tests. [e93d61f
]
ERB :
Fortran :
Make single-line comments greedy. Update known failures and tests. [c083b78
]
Handlebars :
Java :
JavaScript :
JSX :
Monkey :
Make comments greedy. Update known failures and tests. [d7b2b43
]
PHP :
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
C-like :
JSX :
Allow for one level of nested curly braces inside tag attribute value. Fix #1335 [05bf67d
]
Ruby :
Ensure module syntax is not confused with symbols. Fix #1336 [31a2a69
]
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 :
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
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 :
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 :
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 :
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 :
NSIS :
PHP :
Fix the PHP language (#1100 ) [1453fa7
]
Check for possible pre-existing marker strings in PHP [36bc560
]
Ruby :
Smarty :
Check for possible pre-existing marker strings in Smarty [5df26e2
]
TypeScript :
YAML :
Updated plugins
Autolinker :
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
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 :
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 :
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 :
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# :
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