Pygments changelog
==================

Since 2.5.0, issue numbers refer to the tracker at
<https://github.com/pygments/pygments/issues>,
pull request numbers to the requests at
<https://github.com/pygments/pygments/pulls>.


Version 2.8.0
-------------
(not released yet)

- Deprecate JsonBareObjectLexer, which is now identical to JsonLexer (#1600)


Version 2.7.2
-------------
(released October 24, 2020)

- Updated lexers:

  * Latex (PR#1517, #1516)
  * LLVM (PR#1565)
  * SPARQL (PR#1559)

- Fixed Python console/traceback lexer problems with
  custom exceptions without messages (#1548)
- Allow loading ttc fonts on Mac/image formatter (#1223)
- Improve ``analyze_text`` across a variety of lexers (PR#1549)
- Removed CSS rule which forced the vertical padding to 0 for line numbers (PR#1583, #1579)
- Fix ``TNTLexer`` crashing on unexpected EOL (#1568, PR#1570)
- ``regexlint`` can be now run locally as part of ``tox`` tests (PR#1557)
- Fix typos (PR#1550, #1562)
- Add Python 3.9 as a supported version (PR#1554)


Version 2.7.1
-------------
(released September 16, 2020)

- Fixed a regression in the JSON lexer (#1544)


Version 2.7.0
-------------
(released September 12, 2020)

- Added lexers:

  * Arrow (PR#1481, PR#1499)
  * BARE (PR#1488)
  * Devicetree (PR#1434)
  * F* (PR#1409)
  * GDScript (PR#1457)
  * Pointless (PR#1494)
  * PromQL (PR#1506)
  * PsySH (PR#1438)
  * Singularity (PR#1285)
  * TiddlyWiki5 (PR#1390)
  * TNT (PR#1414)
  * YANG (PR#1408, PR#1428)

- Updated lexers:

  * APL (PR#1503)
  * C++ (PR#1350, which also fixes: #1222, #996, #906, #828, #1162, #1166,
    #1396)
  * Chapel (PR#1423)
  * CMake (#1491)
  * CSound (#1509)
  * Cython (PR#1507)
  * Dart (PR#1449)
  * Fennel (PR#1535)
  * Fortran (PR#1442)
  * GAS (PR#1530)
  * HTTP (PR#1432, #1520, PR#1521)
  * Inform 6 (PR#1461)
  * Javascript (PR#1533)
  * JSON (#1065, PR#1528)
  * Lean (PR#1415)
  * Matlab (PR#1399)
  * Markdown (#1492, PR#1495)
  * MySQL (#975, #1063, #1453, PR#1527)
  * NASM (PR#1465)
  * Nim (PR#1426)
  * PostgreSQL (PR#1513)
  * PowerShell (PR#1398, PR#1497)
  * Protobuf (PR#1505)
  * Robot (PR#1480)
  * SQL (PR#1402)
  * SystemVerilog (PR#1436, PR#1452, PR#1454, PR#1460, PR#1462, PR#1463, PR#1464, PR#1471, #1496, PR#1504)
  * TeraTerm (PR#1337)
  * XML (#1502)

- Added a new filter for math symbols (PR#1406)
- The Kconfig lexer will match Kconfig derivative names now (PR#1458)
- Improved HTML formatter output (PR#1500)
- ``.markdown`` is now recognized as an extension for Markdown files (PR#1476)
- Fixed line number colors for Solarized (PR#1477, #1356)
- Improvements to exception handling (PR#1478)
- Improvements to tests (PR#1532, PR#1533, PR#1539)
- Various code cleanups (PR#1536, PR#1537, PR#1538)


Version 2.6.1
-------------
(released March 8, 2020)

- This release fixes a packaging issue. No functional changes.


Version 2.6
-----------
(released March 8, 2020)

- Running Pygments on Python 2.x is no longer supported.
  (The Python 2 lexer still exists.)

- Added lexers:

  * Linux kernel logs (PR#1310)
  * LLVM MIR (PR#1361)
  * MiniScript (PR#1397)
  * Mosel (PR#1287, PR#1326)
  * Parsing Expression Grammar (PR#1336)
  * ReasonML (PR#1386)
  * Ride (PR#1319, PR#1321)
  * Sieve (PR#1257)
  * USD (PR#1290)
  * WebIDL (PR#1309)

- Updated lexers:

  * Apache2 (PR#1378)
  * Chapel (PR#1357)
  * CSound (PR#1383)
  * D (PR#1375, PR#1362)
  * Idris (PR#1360)
  * Perl6/Raku lexer (PR#1344)
  * Python3 (PR#1382, PR#1385)
  * Rust: Updated lexer to cover more builtins (mostly macros) and miscellaneous
    new syntax (PR#1320)
  * SQL: Add temporal support keywords (PR#1402)

- The 256-color/true-color terminal formatters now support the italic attribute
  in styles (PR#1288)
- Support HTTP 2/3 header (PR#1308)
- Support missing reason in HTTP header (PR#1322)
- Boogie/Silver: support line continuations and triggers, move contract keywords
  to separate category (PR#1299)
- GAS: support C-style comments (PR#1291)
- Fix names in S lexer (PR#1330, PR#1333)
- Fix numeric literals in Ada (PR#1334)
- Recognize ``.mjs`` files as Javascript (PR#1392)
- Recognize ``.eex`` files as Elixir (PR#1387)
- Fix ``re.MULTILINE`` usage (PR#1388)
- Recognize ``pipenv`` and ``poetry`` dependency & lock files (PR#1376)
- Improve font search on Windows (#1247)
- Remove unused script block (#1401)


Version 2.5.2
-------------
(released November 29, 2019)

- Fix incompatibility with some setuptools versions (PR#1316)

- Fix lexing of ReST field lists (PR#1279)
- Fix lexing of Matlab keywords as field names (PR#1282)
- Recognize double-quoted strings in Matlab (PR#1278)
- Avoid slow backtracking in Vim lexer (PR#1312)
- Fix Scala highlighting of types (PR#1315)
- Highlight field lists more consistently in ReST (PR#1279)
- Fix highlighting Matlab keywords in field names (PR#1282)
- Recognize Matlab double quoted strings (PR#1278)
- Add some Terraform keywords
- Update Modelica lexer to 3.4
- Update Crystal examples


Version 2.5.1
-------------
(released November 26, 2019)

- This release fixes a packaging issue. No functional changes.


Version 2.5.0
-------------
(released November 26, 2019)

- Added lexers:

  * Email (PR#1246)
  * Erlang, Elixir shells (PR#823, #1521)
  * Notmuch (PR#1264)
  * `Scdoc <https://git.sr.ht/~sircmpwn/scdoc>`_ (PR#1268)
  * `Solidity <https://solidity.readthedocs.io/>`_ (#1214)
  * `Zeek <https://www.zeek.org>`_ (new name for Bro) (PR#1269)
  * `Zig <https://ziglang.org/>`_ (PR#820)

- Updated lexers:

  * Apache2 Configuration (PR#1251)
  * Bash sessions (#1253)
  * CSound (PR#1250)
  * Dart
  * Dockerfile
  * Emacs Lisp
  * Handlebars (PR#773)
  * Java (#1101, #987)
  * Logtalk (PR#1261)
  * Matlab (PR#1271)
  * Praat (PR#1277)
  * Python3 (PR#1255, PR#1400)
  * Ruby
  * YAML (#1528)
  * Velocity

- Added styles:

  * Inkpot (PR#1276)

- The ``PythonLexer`` class is now an alias for the former ``Python3Lexer``.
  The old ``PythonLexer`` is available as ``Python2Lexer``.  Same change has
  been done for the ``PythonTracebackLexer``.  The ``python3`` option for
  the ``PythonConsoleLexer`` is now true by default.

- Bump ``NasmLexer`` priority over ``TasmLexer`` for ``.asm`` files
  (fixes #1326)
- Default font in the ``ImageFormatter`` has been updated (#928, PR#1245)
- Test suite switched to py.test, removed nose dependency (#1490)
- Reduce ``TeraTerm`` lexer score -- it used to match nearly all languages
  (#1256)
- Treat ``Skylark``/``Starlark`` files as Python files (PR#1259)
- Image formatter: actually respect ``line_number_separator`` option

- Add LICENSE file to wheel builds
- Agda: fix lambda highlighting
- Dart: support ``@`` annotations
- Dockerfile: accept ``FROM ... AS`` syntax
- Emacs Lisp: add more string functions
- GAS: accept registers in directive arguments
- Java: make structural punctuation (braces, parens, colon, comma) ``Punctuation``, not ``Operator`` (#987)
- Java: support ``var`` contextual keyword (#1101)
- Matlab: Fix recognition of ``function`` keyword (PR#1271)
- Python: recognize ``.jy`` filenames (#976)
- Python: recognize ``f`` string prefix (#1156)
- Ruby: support squiggly heredocs
- Shell sessions: recognize Virtualenv prompt (PR#1266)
- Velocity: support silent reference syntax


Version 2.4.2
-------------
(released May 28, 2019)

- Fix encoding error when guessing lexer with given ``encoding`` option
  (#1438)


Version 2.4.1
-------------
(released May 24, 2019)

- Updated lexers:

  * Coq (#1430)
  * MSDOS Session (PR#734)
  * NASM (#1517)
  * Objective-C (PR#813, #1508)
  * Prolog (#1511)
  * TypeScript (#1515)

- Support CSS variables in stylesheets (PR#814, #1356)
- Fix F# lexer name (PR#709)
- Fix ``TerminalFormatter`` using bold for bright text (#1480)


Version 2.4.0
-------------
(released May 8, 2019)

- Added lexers:

  * Augeas (PR#807)
  * BBC Basic (PR#806)
  * Boa (PR#756)
  * Charm++ CI (PR#788)
  * DASM16 (PR#807)
  * FloScript (PR#750)
  * FreeFem++ (PR#785)
  * Hspec (PR#790)
  * Pony (PR#627)
  * SGF (PR#780)
  * Slash (PR#807)
  * Slurm (PR#760)
  * Tera Term Language (PR#749)
  * TOML (PR#807)
  * Unicon (PR#731)
  * VBScript (PR#673)

- Updated lexers:

  * Apache2 (PR#766)
  * Cypher (PR#746)
  * LLVM (PR#792)
  * Makefiles (PR#766)
  * PHP (#1482)
  * Rust
  * SQL (PR#672)
  * Stan (PR#774)
  * Stata (PR#800)
  * Terraform (PR#787)
  * YAML

- Add solarized style (PR#708)
- Add support for Markdown reference-style links (PR#753)
- Add license information to generated HTML/CSS files (#1496)
- Change ANSI color names (PR#777)
- Fix catastrophic backtracking in the bash lexer (#1494)
- Fix documentation failing to build using Sphinx 2.0 (#1501)
- Fix incorrect links in the Lisp and R lexer documentation (PR#775)
- Fix rare unicode errors on Python 2.7 (PR#798, #1492)
- Fix lexers popping from an empty stack (#1506)
- TypoScript uses ``.typoscript`` now (#1498)
- Updated Trove classifiers and ``pip`` requirements (PR#799)



Version 2.3.1
-------------
(released Dec 16, 2018)

- Updated lexers:

  * ASM (PR#784)
  * Chapel (PR#735)
  * Clean (PR#621)
  * CSound (PR#684)
  * Elm (PR#744)
  * Fortran (PR#747)
  * GLSL (PR#740)
  * Haskell (PR#745)
  * Hy (PR#754)
  * Igor Pro (PR#764)
  * PowerShell (PR#705)
  * Python (PR#720, #1299, PR#715)
  * SLexer (PR#680)
  * YAML (PR#762, PR#724)

- Fix invalid string escape sequences
- Fix `FutureWarning` introduced by regex changes in Python 3.7


Version 2.3.0
-------------
(released Nov 25, 2018)

- Added lexers:

  * Fennel (PR#783)
  * HLSL (PR#675)

- Updated lexers:

  * Dockerfile (PR#714)

- Minimum Python versions changed to 2.7 and 3.5
- Added support for Python 3.7 generator changes (PR#772)
- Fix incorrect token type in SCSS for single-quote strings (#1322)
- Use `terminal256` formatter if `TERM` contains `256` (PR#666)
- Fix incorrect handling of GitHub style fences in Markdown (PR#741, #1389)
- Fix `%a` not being highlighted in Python3 strings (PR#727)


Version 2.2.0
-------------
(released Jan 22, 2017)

- Added lexers:

  * AMPL
  * TypoScript (#1173)
  * Varnish config (PR#554)
  * Clean (PR#503)
  * WDiff (PR#513)
  * Flatline (PR#551)
  * Silver (PR#537)
  * HSAIL (PR#518)
  * JSGF (PR#546)
  * NCAR command language (PR#536)
  * Extempore (PR#530)
  * Cap'n Proto (PR#595)
  * Whiley (PR#573)
  * Monte (PR#592)
  * Crystal (PR#576)
  * Snowball (PR#589)
  * CapDL (PR#579)
  * NuSMV (PR#564)
  * SAS, Stata (PR#593)

- 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. (PR#559)

- 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. (PR#531)

- Improved the CSS lexer. (#1083, #1130)

- Added "Rainbow Dash" style. (PR#623)

- Delay loading `pkg_resources`, which takes a long while to import. (PR#690)


Version 2.1.3
-------------
(released Mar 2, 2016)

- Fixed regression in Bash lexer (PR#563)


Version 2.1.2
-------------
(released Feb 29, 2016)

- Fixed Python 3 regression in image formatter (#1215)
- Fixed regression in Bash lexer (PR#562)


Version 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


Version 2.1
-----------
(released Jan 17, 2016)

- Added lexers:

  * Emacs Lisp (PR#431)
  * Arduino (PR#442)
  * Modula-2 with multi-dialect support (#1090)
  * Fortran fixed format (PR#213)
  * Archetype Definition language (PR#483)
  * Terraform (PR#432)
  * Jcl, Easytrieve (PR#208)
  * ParaSail (PR#381)
  * Boogie (PR#420)
  * Turtle (PR#425)
  * Fish Shell (PR#422)
  * Roboconf (PR#449)
  * Test Anything Protocol (PR#428)
  * Shen (PR#385)
  * Component Pascal (PR#437)
  * SuperCollider (PR#472)
  * Shell consoles (Tcsh, PowerShell, MSDOS) (PR#479)
  * Elm and J (PR#452)
  * Crmsh (PR#440)
  * Praat (PR#492)
  * CSound (PR#494)
  * Ezhil (PR#443)
  * Thrift (PR#469)
  * QVT Operational (PR#204)
  * Hexdump (PR#508)
  * CAmkES Configuration (PR#462)

- Added styles:

  * Lovelace (PR#456)
  * Algol and Algol-nu (#1090)

- Added formatters:

  * IRC (PR#458)
  * True color (24-bit) terminal ANSI sequences (#1142)
    (formatter alias: "16m")

- New "filename" option for HTML formatter (PR#527).

- Improved performance of the HTML formatter for long lines (PR#504).

- Updated autopygmentize script (PR#445).

- 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 (PR#433).

- 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 (PR#253).

- Added decorators to TypeScript (PR#509).

- Fix highlighting of certain IRC logs formats (#1076).


Version 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).


Version 2.0.1
-------------
(released Nov 10, 2014)

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


Version 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 (PR#410).

- 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.


Version 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 (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).

- 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 (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).


Version 1.6
-----------
(released Feb 3, 2013)

- 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).


Version 1.6rc1
--------------
(released Jan 9, 2013)

- Lexers added:

  * AspectJ (PR#90)
  * AutoIt (PR#122)
  * BUGS-like languages (PR#89)
  * Ceylon (PR#86)
  * Croc (new name for MiniD)
  * CUDA (PR#75)
  * Dg (PR#116)
  * IDL (PR#115)
  * Jags (PR#89)
  * Julia (PR#61)
  * Kconfig (#711)
  * Lasso (PR#95, PR#113)
  * LiveScript (PR#84)
  * Monkey (PR#117)
  * Mscgen (PR#80)
  * NSIS scripts (PR#136)
  * OpenCOBOL (PR#72)
  * QML (PR#123)
  * Puppet (PR#133)
  * Racket (PR#94)
  * Rdoc (PR#99)
  * Robot Framework (PR#137)
  * RPM spec files (PR#124)
  * Rust (PR#67)
  * Smali (Dalvik assembly)
  * SourcePawn (PR#39)
  * Stan (PR#89)
  * Treetop (PR#125)
  * TypeScript (PR#114)
  * VGL (PR#12)
  * Visual FoxPro (#762)
  * Windows Registry (#819)
  * Xtend (PR#68)

- The HTML formatter now supports linking to tags using CTags files, when the
  python-ctags package is installed (PR#87).

- The HTML formatter now has a "linespans" option that wraps every line in a
  <span> tag with a specific id (PR#82).

- When deriving a lexer from another lexer with token definitions, definitions
  for states not in the child lexer are now inherited.  If you override a state
  in the child lexer, an "inherit" keyword has been added to insert the base
  state at that position (PR#141).

- The C family lexers now inherit token definitions from a common base class,
  removing code duplication (PR#141).

- Use "colorama" on Windows for console color output (PR#142).

- Fix Template Haskell highlighting (PR#63).

- Fix some S/R lexer errors (PR#91).

- Fix a bug in the Prolog lexer with names that start with 'is' (#810).

- Rewrite Dylan lexer, add Dylan LID lexer (PR#147).

- Add a Java quickstart document (PR#146).

- Add a "external/autopygmentize" file that can be used as .lessfilter (#802).


Version 1.5
-----------
(codename Zeitdilatation, released Mar 10, 2012)

- Lexers added:

  * Awk (#630)
  * Fancy (#633)
  * PyPy Log
  * eC
  * 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).

- Fixes 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.


Version 1.4
-----------
(codename Unschärfe, released Jan 03, 2011)

- Lexers added:

  * Factor (#520)
  * PostScript (#486)
  * Verilog (#491)
  * BlitzMax Basic (#478)
  * Ioke (#465)
  * Java properties, split out of the INI lexer (#445)
  * Scss (#509)
  * Duel/JBST
  * XQuery (#617)
  * Mason (#615)
  * GoodData (#609)
  * SSP (#473)
  * Autohotkey (#417)
  * Google Protocol Buffers
  * Hybris (#506)

- Do not fail in analyse_text methods (#618).

- Performance improvements in the HTML formatter (#523).

- With the ``noclasses`` option in the HTML formatter, some styles
  present in the stylesheet were not added as inline styles.

- Four fixes to the Lua lexer (#480, #481, #482, #497).

- More context-sensitive Gherkin lexer with support for more i18n translations.

- Support new OO keywords in Matlab lexer (#521).

- Small fix in the CoffeeScript lexer (#519).

- A bugfix for backslashes in ocaml strings (#499).

- Fix unicode/raw docstrings in the Python lexer (#489).

- Allow PIL to work without PIL.pth (#502).

- Allow seconds as a unit in CSS (#496).

- Support ``application/javascript`` as a JavaScript mime type (#504).

- Support `Offload <https://offload.codeplay.com/>`_ C++ Extensions as
  keywords in the C++ lexer (#484).

- Escape more characters in LaTeX output (#505).

- Update Haml/Sass lexers to version 3 (#509).

- Small PHP lexer string escaping fix (#515).

- Support comments before preprocessor directives, and unsigned/
  long long literals in C/C++ (#613, #616).

- Support line continuations in the INI lexer (#494).

- Fix lexing of Dylan string and char literals (#628).

- Fix class/procedure name highlighting in VB.NET lexer (#624).


Version 1.3.1
-------------
(bugfix release, released Mar 05, 2010)

- The ``pygmentize`` script was missing from the distribution.


Version 1.3
-----------
(codename Schneeglöckchen, released Mar 01, 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.


Version 1.2.2
-------------
(bugfix release, released Jan 02, 2010)

* Removed a backwards incompatibility in the LaTeX formatter that caused
  Sphinx to produce invalid commands when writing LaTeX output (#463).

* Fixed a forever-backtracking regex in the BashLexer (#462).


Version 1.2.1
-------------
(bugfix release, released Jan 02, 2010)

* Fixed mishandling of an ellipsis in place of the frames in a Python
  console traceback, resulting in clobbered output.


Version 1.2
-----------
(codename Neujahr, released Jan 01, 2010)

- Dropped Python 2.3 compatibility.

- Lexers added:

  * Asymptote
  * Go
  * Gherkin (Cucumber)
  * CMake
  * Ooc
  * Coldfusion
  * Haxe
  * R console

- Added options for rendering LaTeX in source code comments in the
  LaTeX formatter (#461).

- Updated the Logtalk lexer.

- Added `line_number_start` option to image formatter (#456).

- Added `hl_lines` and `hl_color` options to image formatter (#457).

- Fixed the HtmlFormatter's handling of noclasses=True to not output any
  classes (#427).

- Added the Monokai style (#453).

- Fixed LLVM lexer identifier syntax and added new keywords (#442).

- Fixed the PythonTracebackLexer to handle non-traceback data in header or
  trailer, and support more partial tracebacks that start on line 2 (#437).

- Fixed the CLexer to not highlight ternary statements as labels.

- Fixed lexing of some Ruby quoting peculiarities (#460).

- A few ASM lexer fixes (#450).


Version 1.1.1
-------------
(bugfix release, released Sep 15, 2009)

- Fixed the BBCode lexer (#435).

- Added support for new Jinja2 keywords.

- Fixed test suite failures.

- Added Gentoo-specific suffixes to Bash lexer.


Version 1.1
-----------
(codename Brillouin, released Sep 11, 2009)

- Ported Pygments to Python 3.  This needed a few changes in the way
  encodings are handled; they may affect corner cases when used with
  Python 2 as well.

- Lexers added:

  * Antlr/Ragel, thanks to Ana Nelson
  * (Ba)sh shell
  * Erlang shell
  * GLSL
  * Prolog
  * Evoque
  * Modelica
  * Rebol
  * MXML
  * Cython
  * ABAP
  * ASP.net (VB/C#)
  * Vala
  * Newspeak

- Fixed the LaTeX formatter's output so that output generated for one style
  can be used with the style definitions of another (#384).

- Added "anchorlinenos" and "noclobber_cssfile" (#396) options to HTML
  formatter.

- Support multiline strings in Lua lexer.

- Rewrite of the JavaScript lexer by Pumbaa80 to better support regular
  expression literals (#403).

- When pygmentize is asked to highlight a file for which multiple lexers
  match the filename, use the analyse_text guessing engine to determine the
  winner (#355).

- Fixed minor bugs in the JavaScript lexer (#383), the Matlab lexer (#378),
  the Scala lexer (#392), the INI lexer (#391), the Clojure lexer (#387)
  and the AS3 lexer (#389).

- Fixed three Perl heredoc lexing bugs (#379, #400, #422).

- Fixed a bug in the image formatter which misdetected lines (#380).

- Fixed bugs lexing extended Ruby strings and regexes.

- Fixed a bug when lexing git diffs.

- Fixed a bug lexing the empty commit in the PHP lexer (#405).

- Fixed a bug causing Python numbers to be mishighlighted as floats (#397).

- Fixed a bug when backslashes are used in odd locations in Python (#395).

- Fixed various bugs in Matlab and S-Plus lexers, thanks to Winston Chang (#410,
  #411, #413, #414) and fmarc (#419).

- Fixed a bug in Haskell single-line comment detection (#426).

- Added new-style reStructuredText directive for docutils 0.5+ (#428).


Version 1.0
-----------
(codename Dreiundzwanzig, released Nov 23, 2008)

- Don't use join(splitlines()) when converting newlines to ``\n``,
  because that doesn't keep all newlines at the end when the
  ``stripnl`` lexer option is False.

- Added ``-N`` option to command-line interface to get a lexer name
  for a given filename.

- Added Tango style, written by Andre Roberge for the Crunchy project.

- Added Python3TracebackLexer and ``python3`` option to
  PythonConsoleLexer.

- Fixed a few bugs in the Haskell lexer.

- Fixed PythonTracebackLexer to be able to recognize SyntaxError and
  KeyboardInterrupt (#360).

- Provide one formatter class per image format, so that surprises like::

    pygmentize -f gif -o foo.gif foo.py

  creating a PNG file are avoided.

- Actually use the `font_size` option of the image formatter.

- Fixed numpy lexer that it doesn't listen for `*.py` any longer.

- Fixed HTML formatter so that text options can be Unicode
  strings (#371).

- Unified Diff lexer supports the "udiff" alias now.

- Fixed a few issues in Scala lexer (#367).

- RubyConsoleLexer now supports simple prompt mode (#363).

- JavascriptLexer is smarter about what constitutes a regex (#356).

- Add Applescript lexer, thanks to Andreas Amann (#330).

- Make the codetags more strict about matching words (#368).

- NginxConfLexer is a little more accurate on mimetypes and
  variables (#370).


Version 0.11.1
--------------
(released Aug 24, 2008)

- Fixed a Jython compatibility issue in pygments.unistring (#358).


Version 0.11
------------
(codename Straußenei, released Aug 23, 2008)

Many thanks go to Tim Hatch for writing or integrating most of the bug
fixes and new features.

- Lexers added:

  * Nasm-style assembly language, thanks to delroth
  * YAML, thanks to Kirill Simonov
  * ActionScript 3, thanks to Pierre Bourdon
  * Cheetah/Spitfire templates, thanks to Matt Good
  * Lighttpd config files
  * Nginx config files
  * Gnuplot plotting scripts
  * Clojure
  * POV-Ray scene files
  * Sqlite3 interactive console sessions
  * Scala source files, thanks to Krzysiek Goj

- Lexers improved:

  * C lexer highlights standard library functions now and supports C99
    types.
  * Bash lexer now correctly highlights heredocs without preceding
    whitespace.
  * Vim lexer now highlights hex colors properly and knows a couple
    more keywords.
  * Irc logs lexer now handles xchat's default time format (#340) and
    correctly highlights lines ending in ``>``.
  * Support more delimiters for perl regular expressions (#258).
  * ObjectiveC lexer now supports 2.0 features.

- Added "Visual Studio" style.

- Updated markdown processor to Markdown 1.7.

- Support roman/sans/mono style defs and use them in the LaTeX
  formatter.

- The RawTokenFormatter is no longer registered to ``*.raw`` and it's
  documented that tokenization with this lexer may raise exceptions.

- New option ``hl_lines`` to HTML formatter, to highlight certain
  lines.

- New option ``prestyles`` to HTML formatter.

- New option *-g* to pygmentize, to allow lexer guessing based on
  filetext (can be slowish, so file extensions are still checked
  first).

- ``guess_lexer()`` now makes its decision much faster due to a cache
  of whether data is xml-like (a check which is used in several
  versions of ``analyse_text()``.  Several lexers also have more
  accurate ``analyse_text()`` now.


Version 0.10
------------
(codename Malzeug, released May 06, 2008)

- Lexers added:

  * Io
  * Smalltalk
  * Darcs patches
  * Tcl
  * Matlab
  * Matlab sessions
  * FORTRAN
  * XSLT
  * tcsh
  * NumPy
  * Python 3
  * S, S-plus, R statistics languages
  * Logtalk

- In the LatexFormatter, the *commandprefix* option is now by default
  'PY' instead of 'C', since the latter resulted in several collisions
  with other packages.  Also, the special meaning of the *arg*
  argument to ``get_style_defs()`` was removed.

- Added ImageFormatter, to format code as PNG, JPG, GIF or BMP.
  (Needs the Python Imaging Library.)

- Support doc comments in the PHP lexer.

- Handle format specifications in the Perl lexer.

- Fix comment handling in the Batch lexer.

- Add more file name extensions for the C++, INI and XML lexers.

- Fixes in the IRC and MuPad lexers.

- Fix function and interface name highlighting in the Java lexer.

- Fix at-rule handling in the CSS lexer.

- Handle KeyboardInterrupts gracefully in pygmentize.

- Added BlackWhiteStyle.

- Bash lexer now correctly highlights math, does not require
  whitespace after semicolons, and correctly highlights boolean
  operators.

- Makefile lexer is now capable of handling BSD and GNU make syntax.


Version 0.9
-----------
(codename Herbstzeitlose, released Oct 14, 2007)

- Lexers added:

  * Erlang
  * ActionScript
  * Literate Haskell
  * Common Lisp
  * Various assembly languages
  * Gettext catalogs
  * Squid configuration
  * Debian control files
  * MySQL-style SQL
  * MOOCode

- Lexers improved:

  * Greatly improved the Haskell and OCaml lexers.
  * Improved the Bash lexer's handling of nested constructs.
  * The C# and Java lexers exhibited abysmal performance with some
    input code; this should now be fixed.
  * The IRC logs lexer is now able to colorize weechat logs too.
  * The Lua lexer now recognizes multi-line comments.
  * Fixed bugs in the D and MiniD lexer.

- The encoding handling of the command line mode (pygmentize) was
  enhanced. You shouldn't get UnicodeErrors from it anymore if you
  don't give an encoding option.

- Added a ``-P`` option to the command line mode which can be used to
  give options whose values contain commas or equals signs.

- Added 256-color terminal formatter.

- Added an experimental SVG formatter.

- Added the ``lineanchors`` option to the HTML formatter, thanks to
  Ian Charnas for the idea.

- Gave the line numbers table a CSS class in the HTML formatter.

- Added a Vim 7-like style.


Version 0.8.1
-------------
(released Jun 27, 2007)

- Fixed POD highlighting in the Ruby lexer.

- Fixed Unicode class and namespace name highlighting in the C# lexer.

- Fixed Unicode string prefix highlighting in the Python lexer.

- Fixed a bug in the D and MiniD lexers.

- Fixed the included MoinMoin parser.


Version 0.8
-----------
(codename Maikäfer, released May 30, 2007)

- Lexers added:

  * Haskell, thanks to Adam Blinkinsop
  * Redcode, thanks to Adam Blinkinsop
  * D, thanks to Kirk McDonald
  * MuPad, thanks to Christopher Creutzig
  * MiniD, thanks to Jarrett Billingsley
  * Vim Script, by Tim Hatch

- The HTML formatter now has a second line-numbers mode in which it
  will just integrate the numbers in the same ``<pre>`` tag as the
  code.

- The `CSharpLexer` now is Unicode-aware, which means that it has an
  option that can be set so that it correctly lexes Unicode
  identifiers allowed by the C# specs.

- Added a `RaiseOnErrorTokenFilter` that raises an exception when the
  lexer generates an error token, and a `VisibleWhitespaceFilter` that
  converts whitespace (spaces, tabs, newlines) into visible
  characters.

- Fixed the `do_insertions()` helper function to yield correct
  indices.

- The ReST lexer now automatically highlights source code blocks in
  ".. sourcecode:: language" and ".. code:: language" directive
  blocks.

- Improved the default style (thanks to Tiberius Teng). The old
  default is still available as the "emacs" style (which was an alias
  before).

- The `get_style_defs` method of HTML formatters now uses the
  `cssclass` option as the default selector if it was given.

- Improved the ReST and Bash lexers a bit.

- Fixed a few bugs in the Makefile and Bash lexers, thanks to Tim
  Hatch.

- Fixed a bug in the command line code that disallowed ``-O`` options
  when using the ``-S`` option.

- Fixed a bug in the `RawTokenFormatter`.


Version 0.7.1
-------------
(released Feb 15, 2007)

- Fixed little highlighting bugs in the Python, Java, Scheme and
  Apache Config lexers.

- Updated the included manpage.

- Included a built version of the documentation in the source tarball.


Version 0.7
-----------
(codename Faschingskrapfn, released Feb 14, 2007)

- Added a MoinMoin parser that uses Pygments. With it, you get
  Pygments highlighting in Moin Wiki pages.

- Changed the exception raised if no suitable lexer, formatter etc. is
  found in one of the `get_*_by_*` functions to a custom exception,
  `pygments.util.ClassNotFound`. It is, however, a subclass of
  `ValueError` in order to retain backwards compatibility.

- Added a `-H` command line option which can be used to get the
  docstring of a lexer, formatter or filter.

- Made the handling of lexers and formatters more consistent. The
  aliases and filename patterns of formatters are now attributes on
  them.

- Added an OCaml lexer, thanks to Adam Blinkinsop.

- Made the HTML formatter more flexible, and easily subclassable in
  order to make it easy to implement custom wrappers, e.g. alternate
  line number markup. See the documentation.

- Added an `outencoding` option to all formatters, making it possible
  to override the `encoding` (which is used by lexers and formatters)
  when using the command line interface. Also, if using the terminal
  formatter and the output file is a terminal and has an encoding
  attribute, use it if no encoding is given.

- Made it possible to just drop style modules into the `styles`
  subpackage of the Pygments installation.

- Added a "state" keyword argument to the `using` helper.

- Added a `commandprefix` option to the `LatexFormatter` which allows
  to control how the command names are constructed.

- Added quite a few new lexers, thanks to Tim Hatch:

  * Java Server Pages
  * Windows batch files
  * Trac Wiki markup
  * Python tracebacks
  * ReStructuredText
  * Dylan
  * and the Befunge esoteric programming language (yay!)

- Added Mako lexers by Ben Bangert.

- Added "fruity" style, another dark background originally vim-based
  theme.

- Added sources.list lexer by Dennis Kaarsemaker.

- Added token stream filters, and a pygmentize option to use them.

- Changed behavior of `in` Operator for tokens.

- Added mimetypes for all lexers.

- Fixed some problems lexing Python strings.

- Fixed tickets: #167, #178, #179, #180, #185, #201.


Version 0.6
-----------
(codename Zimtstern, released Dec 20, 2006)

- Added option for the HTML formatter to write the CSS to an external
  file in "full document" mode.

- Added RTF formatter.

- Added Bash and Apache configuration lexers (thanks to Tim Hatch).

- Improved guessing methods for various lexers.

- Added `@media` support to CSS lexer (thanks to Tim Hatch).

- Added a Groff lexer (thanks to Tim Hatch).

- License change to BSD.

- Added lexers for the Myghty template language.

- Added a Scheme lexer (thanks to Marek Kubica).

- Added some functions to iterate over existing lexers, formatters and
  lexers.

- The HtmlFormatter's `get_style_defs()` can now take a list as an
  argument to generate CSS with multiple prefixes.

- Support for guessing input encoding added.

- Encoding support added: all processing is now done with Unicode
  strings, input and output are converted from and optionally to byte
  strings (see the ``encoding`` option of lexers and formatters).

- Some improvements in the C(++) lexers handling comments and line
  continuations.


Version 0.5.1
-------------
(released Oct 30, 2006)

- Fixed traceback in ``pygmentize -L`` (thanks to Piotr Ozarowski).


Version 0.5
-----------
(codename PyKleur, released Oct 30, 2006)

- Initial public release.
