Pygments Changelog

What's new in Pygments 2.0.2

Feb 25, 2015
  • Fix Python tracebacks getting duplicated in the console lexer (#1068).
  • Backquote-delimited identifiers are now recognized in F# (#1062).

New in Pygments 2.0.1 (Nov 11, 2014)

  • Fixed:
  • Fix an encoding issue when using ``pygmentize`` with the ``-o`` option.

New in Pygments 2.0 RC 1 (Oct 20, 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 (PR#203)
  • Alloy (PR#355)
  • AmbientTalk
  • BlitzBasic (PR#197)
  • ChaiScript (PR#24)
  • Chapel (PR#256)
  • Cirru (PR#275)
  • Clay (PR#184)
  • ColdFusion CFC (PR#283)
  • Cryptol and Literate Cryptol (PR#344)
  • Cypher (PR#257)
  • Docker config files
  • EBNF (PR#193)
  • Eiffel (PR#273)
  • GAP (PR#311)
  • Golo (PR#309)
  • Handlebars (PR#186)
  • Hy (PR#238)
  • Idris and Literate Idris (PR#210)
  • Igor Pro (PR#172)
  • Inform 6/7 (PR#281)
  • Intel objdump (PR#279)
  • Isabelle (PR#386)
  • Jasmin (PR#349)
  • JSON-LD (PR#289)
  • Kal (PR#233)
  • Lean (PR#399)
  • LSL (PR#296)
  • Limbo (PR#291)
  • Liquid (#977)
  • MQL (PR#285)
  • MaskJS (PR#280)
  • Mozilla preprocessors
  • Mathematica (PR#245)
  • NesC (PR#166)
  • Nit (PR#375)
  • Nix (PR#267)
  • Pan
  • Pawn (PR#211)
  • Perl 6 (PR#181)
  • Pig (PR#304)
  • Pike (PR#237)
  • QBasic (PR#182)
  • Red (PR#341)
  • ResourceBundle (#1038)
  • Rexx (PR#199)
  • Rql (PR#251)
  • Rsl
  • SPARQL (PR#78)
  • Slim (PR#366)
  • Swift (PR#371)
  • Swig (PR#168)
  • TADS 3 (PR#407)
  • Todo.txt todo lists
  • Twig (PR#404)
  • 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 (PR#165) 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 (PR#235).
  • 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 (PR#205).
  • Pygments will now recognize "vim" modelines when guessing the lexer for a file based on content (PR#118).
  • The NameHighlightFilter now works with any Name.* token type (#790).
  • Python 3 lexer: add new exceptions from PEP 3151.
  • Opa lexer: add new keywords (PR#170).
  • Julia lexer: add keywords and underscore-separated number literals (PR#176).
  • Lasso lexer: fix method highlighting, update builtins. Fix guessing so that plain XML isn't always taken as Lasso (PR#163).
  • 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 (PR#162, PR#255, PR#377).
  • JavaScript lexer: add the "yield" keyword (PR#196).
  • HTTP lexer: support for PATCH method (PR#190).
  • Koka lexer: update to newest language spec (PR#201).
  • Haxe lexer: rewrite and support for Haxe 3 (PR#174).
  • 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 (PR#271).
  • Rebol lexer: fix comment detection and analyse_text (PR#261).
  • LLVM lexer: update keywords to v3.4 (PR#258).
  • PHP lexer: add new keywords and binary literals (PR#222).
  • external/markdown-processor.py updated to newest python-markdown (PR#221).
  • CSS lexer: some highlighting order fixes (PR#231).
  • 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 (PR#270, PR#388).
  • Elixir lexer: update to 0.15 language version (PR#392).
  • Fix swallowing incomplete tracebacks in Python console lexer (#874).

New in Pygments 1.6 (Apr 10, 2014)

  • Lexers added:
  • Dylan console (PR#149)
  • Logos (PR#150)
  • Shell sessions (PR#158)
  • Fix guessed lexers not receiving lexer options (#838).
  • Fix unquoted HTML attribute lexing in Opa (#841).
  • Fixes to the Dart lexer (PR#160).

New in Pygments 1.5 (Aug 1, 2012)

  • Lexers added:
  • Awk (#630)
  • Fancy (#633)
  • PyPy Log
  • Nimrod
  • Nemerle (#667)
  • F# (#353)
  • Groovy (#501)
  • PostgreSQL (#660)
  • DTD
  • Gosu (#634)
  • Octave (PR#22)
  • Standard ML (PR#14)
  • CFengine3 (#601)
  • Opa (PR#37)
  • HTTP sessions (PR#42)
  • JSON (PR#31)
  • SNOBOL (PR#30)
  • MoonScript (PR#43)
  • ECL (PR#29)
  • Urbiscript (PR#17)
  • OpenEdge ABL (PR#27)
  • SystemVerilog (PR#35)
  • Coq (#734)
  • PowerShell (#654)
  • Dart (#715)
  • Fantom (PR#36)
  • Bro (PR#5)
  • NewLISP (PR#26)
  • VHDL (PR#45)
  • Scilab (#740)
  • Elixir (PR#57)
  • Tea (PR#56)
  • Kotlin (PR#58)
  • Fix Python 3 terminal highlighting with pygmentize (#691).
  • In the LaTeX formatter, escape special &, < and > chars (#648).
  • In the LaTeX formatter, fix display problems for styles with token background colors (#670).
  • Enhancements to the Squid conf lexer (#664).
  • Several fixes to the reStructuredText lexer (#636).
  • Recognize methods in the ObjC lexer (#638).
  • Fix Lua "class" highlighting: it does not have classes (#665).
  • Fix degenerate regex in Scala lexer (#671) and highlighting bugs (#713, 708).
  • Fix number pattern order in Ocaml lexer (#647).
  • Fix generic type highlighting in ActionScript 3 (#666).
  • Files to the Clojure lexer (PR#9).
  • Fix degenerate regex in Nemerle lexer (#706).
  • Fix infinite looping in CoffeeScript lexer (#729).
  • Fix crashes and analysis with ObjectiveC lexer (#693, #696).
  • Add some Fortran 2003 keywords.
  • Fix Boo string regexes (#679).
  • Add "rrt" style (#727).
  • Fix infinite looping in Darcs Patch lexer.
  • Lots of misc fixes to character-eating bugs and ordering problems in many different lexers.

New in Pygments 1.3 (Mar 2, 2010)

  • Added the ``ensurenl`` lexer option, which can be used to suppress the automatic addition of a newline to the lexer input.
  • Lexers added: Ada, Coldfusion, Modula-2, haXe, R console, Objective-J, Haml and Sass, CoffeeScript
  • Enhanced reStructuredText highlighting.
  • Added support for PHP 5.3 namespaces in the PHP lexer.
  • Added a bash completion script for `pygmentize`, to the external/ directory (#466).
  • Fixed a bug in `do_insertions()` used for multi-lexer languages.
  • Fixed a Ruby regex highlighting bug (#476).
  • Fixed regex highlighting bugs in Perl lexer (#258).
  • Add small enhancements to the C lexer (#467) and Bash lexer (#469).
  • Small fixes for the Tcl, Debian control file, Nginx config, Smalltalk, Objective-C, Clojure, Lua lexers.
  • Gherkin lexer: Fixed single apostrophe bug and added new i18n keywords.

New in Pygments 1.1.1 (Sep 16, 2009)

  • Fixed the BBCode lexer (#435).
  • Added support for new Jinja2 keywords.
  • Fixed test suite failures.
  • Added Gentoo-specific suffixes to Bash lexer.