Changelog
### 2.3.1
```
-------------
(released Dec 16, 2018)
- Updated lexers:
* ASM (PR784)
* Chapel (PR735)
* Clean (PR621)
* CSound (PR684)
* Elm (PR744)
* Fortran (PR747)
* GLSL (PR740)
* Haskell (PR745)
* Hy (PR754)
* Igor Pro (PR764)
* PowerShell (PR705)
* Python (PR720, 1299, PR715)
* SLexer (PR680)
* YAML (PR762, PR724)
- Fix invalid string escape sequences
- Fix `FutureWarning` introduced by regex changes in Python 3.7
```
### 2.3.0
```
-------------
(released Nov 25, 2018)
- Added lexers:
* Fennel (PR783)
* HLSL (PR675)
- Updated lexers:
* Dockerfile (PR714)
- Minimum Python versions changed to 2.7 and 3.5
- Added support for Python 3.7 generator changes (PR772)
- Fix incorrect token type in SCSS for single-quote strings (1322)
- Use `terminal256` formatter if `TERM` contains `256` (PR666)
- Fix incorrect handling of GitHub style fences in Markdown (PR741, 1389)
- Fix `%a` not being highlighted in Python3 strings (PR727)
```
### 2.2.0
```
-------------
(released Jan 22, 2017)
- Added lexers:
* AMPL
* TypoScript (1173)
* Varnish config (PR554)
* Clean (PR503)
* WDiff (PR513)
* Flatline (PR551)
* Silver (PR537)
* HSAIL (PR518)
* JSGF (PR546)
* NCAR command language (PR536)
* Extempore (PR530)
* Cap'n Proto (PR595)
* Whiley (PR573)
* Monte (PR592)
* Crystal (PR576)
* Snowball (PR589)
* CapDL (PR579)
* NuSMV (PR564)
* SAS, Stata (PR593)
- Added the ability to load lexer and formatter classes directly from files
with the `-x` command line option and the `lexers.load_lexer_from_file()`
and `formatters.load_formatter_from_file()` functions. (PR559)
- Added `lexers.find_lexer_class_by_name()`. (1203)
- Added new token types and lexing for magic methods and variables in Python
and PHP.
- Added a new token type for string affixes and lexing for them in Python, C++
and Postgresql lexers.
- Added a new token type for heredoc (and similar) string delimiters and
lexing for them in C++, Perl, PHP, Postgresql and Ruby lexers.
- Styles can now define colors with ANSI colors for use in the 256-color
terminal formatter. (PR531)
- Improved the CSS lexer. (1083, 1130)
- Added "Rainbow Dash" style. (PR623)
- Delay loading `pkg_resources`, which takes a long while to import. (PR690)
```
### 2.1.3
```
-------------
(released Mar 2, 2016)
- Fixed regression in Bash lexer (PR563)
```
### 2.1.2
```
-------------
(released Feb 29, 2016)
- Fixed Python 3 regression in image formatter (1215)
- Fixed regression in Bash lexer (PR562)
```
### 2.1.1
```
-------------
(relased Feb 14, 2016)
- Fixed Jython compatibility (1205)
- Fixed HTML formatter output with leading empty lines (1111)
- Added a mapping table for LaTeX encodings and added utf8 (1152)
- Fixed image formatter font searching on Macs (1188)
- Fixed deepcopy-ing of Token instances (1168)
- Fixed Julia string interpolation (1170)
- Fixed statefulness of HttpLexer between get_tokens calls
- Many smaller fixes to various lexers
```
### 2.1
```
-----------
(released Jan 17, 2016)
- Added lexers:
* Emacs Lisp (PR431)
* Arduino (PR442)
* Modula-2 with multi-dialect support (1090)
* Fortran fixed format (PR213)
* Archetype Definition language (PR483)
* Terraform (PR432)
* Jcl, Easytrieve (PR208)
* ParaSail (PR381)
* Boogie (PR420)
* Turtle (PR425)
* Fish Shell (PR422)
* Roboconf (PR449)
* Test Anything Protocol (PR428)
* Shen (PR385)
* Component Pascal (PR437)
* SuperCollider (PR472)
* Shell consoles (Tcsh, PowerShell, MSDOS) (PR479)
* Elm and J (PR452)
* Crmsh (PR440)
* Praat (PR492)
* CSound (PR494)
* Ezhil (PR443)
* Thrift (PR469)
* QVT Operational (PR204)
* Hexdump (PR508)
* CAmkES Configuration (PR462)
- Added styles:
* Lovelace (PR456)
* Algol and Algol-nu (1090)
- Added formatters:
* IRC (PR458)
* True color (24-bit) terminal ANSI sequences (1142)
(formatter alias: "16m")
- New "filename" option for HTML formatter (PR527).
- Improved performance of the HTML formatter for long lines (PR504).
- Updated autopygmentize script (PR445).
- Fixed style inheritance for non-standard token types in HTML output.
- Added support for async/await to Python 3 lexer.
- Rewrote linenos option for TerminalFormatter (it's better, but slightly
different output than before) (1147).
- Javascript lexer now supports most of ES6 (1100).
- Cocoa builtins updated for iOS 8.1 (PR433).
- Combined BashSessionLexer and ShellSessionLexer, new version should support
the prompt styles of either.
- Added option to pygmentize to show a full traceback on exceptions.
- Fixed incomplete output on Windows and Python 3 (e.g. when using iPython
Notebook) (1153).
- Allowed more traceback styles in Python console lexer (PR253).
- Added decorators to TypeScript (PR509).
- Fix highlighting of certain IRC logs formats (1076).
```
### 2.0.2
```
-------------
(released Jan 20, 2015)
- Fix Python tracebacks getting duplicated in the console lexer (1068).
- Backquote-delimited identifiers are now recognized in F (1062).
```
### 2.0.1
```
-------------
(released Nov 10, 2014)
- Fix an encoding issue when using ``pygmentize`` with the ``-o`` option.
```
### 2.0
```
-----------
(released Nov 9, 2014)
- Default lexer encoding is now "guess", i.e. UTF-8 / Locale / Latin1 is
tried in that order.
- Major update to Swift lexer (PR410).
- Multiple fixes to lexer guessing in conflicting cases:
* recognize HTML5 by doctype
* recognize XML by XML declaration
* don't recognize C/C++ as SystemVerilog
- Simplified regexes and builtin lists.
```
### 2.0rc1
```
--------------
(released Oct 16, 2014)
- Dropped Python 2.4 and 2.5 compatibility. This is in favor of single-source
compatibility between Python 2.6, 2.7 and 3.3+.
- New website and documentation based on Sphinx (finally!)
- Lexers added:
* APL (969)
* Agda and Literate Agda (PR203)
* Alloy (PR355)
* AmbientTalk
* BlitzBasic (PR197)
* ChaiScript (PR24)
* Chapel (PR256)
* Cirru (PR275)
* Clay (PR184)
* ColdFusion CFC (PR283)
* Cryptol and Literate Cryptol (PR344)
* Cypher (PR257)
* Docker config files
* EBNF (PR193)
* Eiffel (PR273)
* GAP (PR311)
* Golo (PR309)
* Handlebars (PR186)
* Hy (PR238)
* Idris and Literate Idris (PR210)
* Igor Pro (PR172)
* Inform 6/7 (PR281)
* Intel objdump (PR279)
* Isabelle (PR386)
* Jasmin (PR349)
* JSON-LD (PR289)
* Kal (PR233)
* Lean (PR399)
* LSL (PR296)
* Limbo (PR291)
* Liquid (977)
* MQL (PR285)
* MaskJS (PR280)
* Mozilla preprocessors
* Mathematica (PR245)
* NesC (PR166)
* Nit (PR375)
* Nix (PR267)
* Pan
* Pawn (PR211)
* Perl 6 (PR181)
* Pig (PR304)
* Pike (PR237)
* QBasic (PR182)
* Red (PR341)
* ResourceBundle (1038)
* Rexx (PR199)
* Rql (PR251)
* Rsl
* SPARQL (PR78)
* Slim (PR366)
* Swift (PR371)
* Swig (PR168)
* TADS 3 (PR407)
* Todo.txt todo lists
* Twig (PR404)
- Added a helper to "optimize" regular expressions that match one of many
literal words; this can save 20% and more lexing time with lexers that
highlight many keywords or builtins.
- New styles: "xcode" and "igor", similar to the default highlighting of
the respective IDEs.
- The command-line "pygmentize" tool now tries a little harder to find the
correct encoding for files and the terminal (979).
- Added "inencoding" option for lexers to override "encoding" analogous
to "outencoding" (800).
- Added line-by-line "streaming" mode for pygmentize with the "-s" option.
(PR165) Only fully works for lexers that have no constructs spanning
lines!
- Added an "envname" option to the LaTeX formatter to select a replacement
verbatim environment (PR235).
- Updated the Makefile lexer to yield a little more useful highlighting.
- Lexer aliases passed to ``get_lexer_by_name()`` are now case-insensitive.
- File name matching in lexers and formatters will now use a regex cache
for speed (PR205).
- Pygments will now recognize "vim" modelines when guessing the lexer for
a file based on content (PR118).
- Major restructure of the ``pygments.lexers`` module namespace. There are now
many more modules with less lexers per module. Old modules are still around
and re-export the lexers they previously contained.
- The NameHighlightFilter now works with any Name.* token type (790).
- Python 3 lexer: add new exceptions from PEP 3151.
- Opa lexer: add new keywords (PR170).
- Julia lexer: add keywords and underscore-separated number
literals (PR176).
- Lasso lexer: fix method highlighting, update builtins. Fix
guessing so that plain XML isn't always taken as Lasso (PR163).
- Objective C/C++ lexers: allow "" prefixing any expression (871).
- Ruby lexer: fix lexing of Name::Space tokens (860) and of symbols
in hashes (873).
- Stan lexer: update for version 2.4.0 of the language (PR162, PR255, PR377).
- JavaScript lexer: add the "yield" keyword (PR196).
- HTTP lexer: support for PATCH method (PR190).
- Koka lexer: update to newest language spec (PR201).
- Haxe lexer: rewrite and support for Haxe 3 (PR174).
- Prolog lexer: add different kinds of numeric literals (864).
- F lexer: rewrite with newest spec for F 3.0 (842), fix a bug with
dotted chains (948).
- Kotlin lexer: general update (PR271).
- Rebol lexer: fix comment detection and analyse_text (PR261).
- LLVM lexer: update keywords to v3.4 (PR258).
- PHP lexer: add new keywords and binary literals (PR222).
- external/markdown-processor.py updated to newest python-markdown (PR221).
- CSS lexer: some highlighting order fixes (PR231).
- Ceylon lexer: fix parsing of nested multiline comments (915).
- C family lexers: fix parsing of indented preprocessor directives (944).
- Rust lexer: update to 0.9 language version (PR270, PR388).
- Elixir lexer: update to 0.15 language version (PR392).
- Fix swallowing incomplete tracebacks in Python console lexer (874).
```
Links
- PyPI: https://pypi.org/project/pygments
- Changelog: https://pyup.io/changelogs/pygments/
- Homepage: http://pygments.org/
This PR updates Pygments from 1.6 to 2.3.1.
Changelog
### 2.3.1 ``` ------------- (released Dec 16, 2018) - Updated lexers: * ASM (PR784) * Chapel (PR735) * Clean (PR621) * CSound (PR684) * Elm (PR744) * Fortran (PR747) * GLSL (PR740) * Haskell (PR745) * Hy (PR754) * Igor Pro (PR764) * PowerShell (PR705) * Python (PR720, 1299, PR715) * SLexer (PR680) * YAML (PR762, PR724) - Fix invalid string escape sequences - Fix `FutureWarning` introduced by regex changes in Python 3.7 ``` ### 2.3.0 ``` ------------- (released Nov 25, 2018) - Added lexers: * Fennel (PR783) * HLSL (PR675) - Updated lexers: * Dockerfile (PR714) - Minimum Python versions changed to 2.7 and 3.5 - Added support for Python 3.7 generator changes (PR772) - Fix incorrect token type in SCSS for single-quote strings (1322) - Use `terminal256` formatter if `TERM` contains `256` (PR666) - Fix incorrect handling of GitHub style fences in Markdown (PR741, 1389) - Fix `%a` not being highlighted in Python3 strings (PR727) ``` ### 2.2.0 ``` ------------- (released Jan 22, 2017) - Added lexers: * AMPL * TypoScript (1173) * Varnish config (PR554) * Clean (PR503) * WDiff (PR513) * Flatline (PR551) * Silver (PR537) * HSAIL (PR518) * JSGF (PR546) * NCAR command language (PR536) * Extempore (PR530) * Cap'n Proto (PR595) * Whiley (PR573) * Monte (PR592) * Crystal (PR576) * Snowball (PR589) * CapDL (PR579) * NuSMV (PR564) * SAS, Stata (PR593) - Added the ability to load lexer and formatter classes directly from files with the `-x` command line option and the `lexers.load_lexer_from_file()` and `formatters.load_formatter_from_file()` functions. (PR559) - Added `lexers.find_lexer_class_by_name()`. (1203) - Added new token types and lexing for magic methods and variables in Python and PHP. - Added a new token type for string affixes and lexing for them in Python, C++ and Postgresql lexers. - Added a new token type for heredoc (and similar) string delimiters and lexing for them in C++, Perl, PHP, Postgresql and Ruby lexers. - Styles can now define colors with ANSI colors for use in the 256-color terminal formatter. (PR531) - Improved the CSS lexer. (1083, 1130) - Added "Rainbow Dash" style. (PR623) - Delay loading `pkg_resources`, which takes a long while to import. (PR690) ``` ### 2.1.3 ``` ------------- (released Mar 2, 2016) - Fixed regression in Bash lexer (PR563) ``` ### 2.1.2 ``` ------------- (released Feb 29, 2016) - Fixed Python 3 regression in image formatter (1215) - Fixed regression in Bash lexer (PR562) ``` ### 2.1.1 ``` ------------- (relased Feb 14, 2016) - Fixed Jython compatibility (1205) - Fixed HTML formatter output with leading empty lines (1111) - Added a mapping table for LaTeX encodings and added utf8 (1152) - Fixed image formatter font searching on Macs (1188) - Fixed deepcopy-ing of Token instances (1168) - Fixed Julia string interpolation (1170) - Fixed statefulness of HttpLexer between get_tokens calls - Many smaller fixes to various lexers ``` ### 2.1 ``` ----------- (released Jan 17, 2016) - Added lexers: * Emacs Lisp (PR431) * Arduino (PR442) * Modula-2 with multi-dialect support (1090) * Fortran fixed format (PR213) * Archetype Definition language (PR483) * Terraform (PR432) * Jcl, Easytrieve (PR208) * ParaSail (PR381) * Boogie (PR420) * Turtle (PR425) * Fish Shell (PR422) * Roboconf (PR449) * Test Anything Protocol (PR428) * Shen (PR385) * Component Pascal (PR437) * SuperCollider (PR472) * Shell consoles (Tcsh, PowerShell, MSDOS) (PR479) * Elm and J (PR452) * Crmsh (PR440) * Praat (PR492) * CSound (PR494) * Ezhil (PR443) * Thrift (PR469) * QVT Operational (PR204) * Hexdump (PR508) * CAmkES Configuration (PR462) - Added styles: * Lovelace (PR456) * Algol and Algol-nu (1090) - Added formatters: * IRC (PR458) * True color (24-bit) terminal ANSI sequences (1142) (formatter alias: "16m") - New "filename" option for HTML formatter (PR527). - Improved performance of the HTML formatter for long lines (PR504). - Updated autopygmentize script (PR445). - Fixed style inheritance for non-standard token types in HTML output. - Added support for async/await to Python 3 lexer. - Rewrote linenos option for TerminalFormatter (it's better, but slightly different output than before) (1147). - Javascript lexer now supports most of ES6 (1100). - Cocoa builtins updated for iOS 8.1 (PR433). - Combined BashSessionLexer and ShellSessionLexer, new version should support the prompt styles of either. - Added option to pygmentize to show a full traceback on exceptions. - Fixed incomplete output on Windows and Python 3 (e.g. when using iPython Notebook) (1153). - Allowed more traceback styles in Python console lexer (PR253). - Added decorators to TypeScript (PR509). - Fix highlighting of certain IRC logs formats (1076). ``` ### 2.0.2 ``` ------------- (released Jan 20, 2015) - Fix Python tracebacks getting duplicated in the console lexer (1068). - Backquote-delimited identifiers are now recognized in F (1062). ``` ### 2.0.1 ``` ------------- (released Nov 10, 2014) - Fix an encoding issue when using ``pygmentize`` with the ``-o`` option. ``` ### 2.0 ``` ----------- (released Nov 9, 2014) - Default lexer encoding is now "guess", i.e. UTF-8 / Locale / Latin1 is tried in that order. - Major update to Swift lexer (PR410). - Multiple fixes to lexer guessing in conflicting cases: * recognize HTML5 by doctype * recognize XML by XML declaration * don't recognize C/C++ as SystemVerilog - Simplified regexes and builtin lists. ``` ### 2.0rc1 ``` -------------- (released Oct 16, 2014) - Dropped Python 2.4 and 2.5 compatibility. This is in favor of single-source compatibility between Python 2.6, 2.7 and 3.3+. - New website and documentation based on Sphinx (finally!) - Lexers added: * APL (969) * Agda and Literate Agda (PR203) * Alloy (PR355) * AmbientTalk * BlitzBasic (PR197) * ChaiScript (PR24) * Chapel (PR256) * Cirru (PR275) * Clay (PR184) * ColdFusion CFC (PR283) * Cryptol and Literate Cryptol (PR344) * Cypher (PR257) * Docker config files * EBNF (PR193) * Eiffel (PR273) * GAP (PR311) * Golo (PR309) * Handlebars (PR186) * Hy (PR238) * Idris and Literate Idris (PR210) * Igor Pro (PR172) * Inform 6/7 (PR281) * Intel objdump (PR279) * Isabelle (PR386) * Jasmin (PR349) * JSON-LD (PR289) * Kal (PR233) * Lean (PR399) * LSL (PR296) * Limbo (PR291) * Liquid (977) * MQL (PR285) * MaskJS (PR280) * Mozilla preprocessors * Mathematica (PR245) * NesC (PR166) * Nit (PR375) * Nix (PR267) * Pan * Pawn (PR211) * Perl 6 (PR181) * Pig (PR304) * Pike (PR237) * QBasic (PR182) * Red (PR341) * ResourceBundle (1038) * Rexx (PR199) * Rql (PR251) * Rsl * SPARQL (PR78) * Slim (PR366) * Swift (PR371) * Swig (PR168) * TADS 3 (PR407) * Todo.txt todo lists * Twig (PR404) - Added a helper to "optimize" regular expressions that match one of many literal words; this can save 20% and more lexing time with lexers that highlight many keywords or builtins. - New styles: "xcode" and "igor", similar to the default highlighting of the respective IDEs. - The command-line "pygmentize" tool now tries a little harder to find the correct encoding for files and the terminal (979). - Added "inencoding" option for lexers to override "encoding" analogous to "outencoding" (800). - Added line-by-line "streaming" mode for pygmentize with the "-s" option. (PR165) Only fully works for lexers that have no constructs spanning lines! - Added an "envname" option to the LaTeX formatter to select a replacement verbatim environment (PR235). - Updated the Makefile lexer to yield a little more useful highlighting. - Lexer aliases passed to ``get_lexer_by_name()`` are now case-insensitive. - File name matching in lexers and formatters will now use a regex cache for speed (PR205). - Pygments will now recognize "vim" modelines when guessing the lexer for a file based on content (PR118). - Major restructure of the ``pygments.lexers`` module namespace. There are now many more modules with less lexers per module. Old modules are still around and re-export the lexers they previously contained. - The NameHighlightFilter now works with any Name.* token type (790). - Python 3 lexer: add new exceptions from PEP 3151. - Opa lexer: add new keywords (PR170). - Julia lexer: add keywords and underscore-separated number literals (PR176). - Lasso lexer: fix method highlighting, update builtins. Fix guessing so that plain XML isn't always taken as Lasso (PR163). - Objective C/C++ lexers: allow "" prefixing any expression (871). - Ruby lexer: fix lexing of Name::Space tokens (860) and of symbols in hashes (873). - Stan lexer: update for version 2.4.0 of the language (PR162, PR255, PR377). - JavaScript lexer: add the "yield" keyword (PR196). - HTTP lexer: support for PATCH method (PR190). - Koka lexer: update to newest language spec (PR201). - Haxe lexer: rewrite and support for Haxe 3 (PR174). - Prolog lexer: add different kinds of numeric literals (864). - F lexer: rewrite with newest spec for F 3.0 (842), fix a bug with dotted chains (948). - Kotlin lexer: general update (PR271). - Rebol lexer: fix comment detection and analyse_text (PR261). - LLVM lexer: update keywords to v3.4 (PR258). - PHP lexer: add new keywords and binary literals (PR222). - external/markdown-processor.py updated to newest python-markdown (PR221). - CSS lexer: some highlighting order fixes (PR231). - Ceylon lexer: fix parsing of nested multiline comments (915). - C family lexers: fix parsing of indented preprocessor directives (944). - Rust lexer: update to 0.9 language version (PR270, PR388). - Elixir lexer: update to 0.15 language version (PR392). - Fix swallowing incomplete tracebacks in Python console lexer (874). ```Links
- PyPI: https://pypi.org/project/pygments - Changelog: https://pyup.io/changelogs/pygments/ - Homepage: http://pygments.org/