Pygments changelog — Pygments
Demo
Languages
Styles
FAQ
Get it
Docs
Table of Contents
Pygments changelog
Version 2.21.0
Version 2.20.0
Version 2.19.2
Version 2.19.1
Version 2.19.0
Version 2.18.0
Version 2.17.2
Version 2.17.1
Version 2.17.0
Version 2.16.1
Version 2.16.0
Version 2.15.1
Version 2.15.0
Version 2.14.0
Version 2.13.0
Version 2.12.0
Version 2.11.2
Version 2.11.1
Version 2.11.0
Version 2.10.0
Version 2.9.0
Version 2.8.0
Version 2.7.4
Version 2.7.3
Version 2.7.2
Version 2.7.1
Version 2.7.0
Version 2.6.1
Version 2.6
Version 2.5.2
Version 2.5.1
Version 2.5.0
Version 2.4.2
Version 2.4.1
Version 2.4.0
Version 2.3.1
Version 2.3.0
Version 2.2.0
Version 2.1.3
Version 2.1.2
Version 2.1.1
Version 2.1
Version 2.0.2
Version 2.0.1
Version 2.0
Version 2.0rc1
Version 1.6
Version 1.6rc1
Version 1.5
Version 1.4
Version 1.3.1
Version 1.3
Version 1.2.2
Version 1.2.1
Version 1.2
Version 1.1.1
Version 1.1
Version 1.0
Version 0.11.1
Version 0.11
Version 0.10
Version 0.9
Version 0.8.1
Version 0.8
Version 0.7.1
Version 0.7
Version 0.6
Version 0.5.1
Version 0.5
Previous topic
Contributing to Pygments
Next topic
Full contributor list
This Page
Show Source
Quick search
Pygments changelog
Pull request numbers before 2.4.2 are not linked as they refer to the now defunct Bitbucket project.
Version 2.21.0
(not released yet)
Version 2.20.0
(released March 29th, 2026)
New lexers:
Rell (
#2914
Updated lexers:
archetype: Fix catastrophic backtracking in GUID and ID patterns (
#3064
ASN.1: Recognize minus sign and fix range operator (
#3014
#3060
C++: Add C++26 keywords (
#2955
), add integer literal suffixes (
#2966
ComponentPascal: Fix
analyse_text
#3028
#3032
Coq renamed to Rocq (
#2883
#2908
Cython: Various improvements (
#2932
#2933
Debian control: Improve architecture parsing (
#3052
Devicetree: Add support for overlay/fragments (
#3021
), add bytestring support (
#3022
), fix catastrophic backtracking (
#3057
Fennel: Various improvements (
#2911
Haskell: Handle escape sequences in character literals (
#3069
#1795
Java: Add module keywords (
#2955
Lean4: Add operators
]'
]?
]!
#2946
LESS: Support single-line comments (
#3005
LilyPond: Update to 2.25.29 (
#2974
LLVM: Support C-style comments (
#3023
#2978
Lua(u): Fix catastrophic backtracking (
#3047
Macaulay2: Update to 1.25.05 (
#2893
), 1.25.11 (
#2988
Mathematica: Various improvements (
#2957
meson: Add additional operators (
#2919
MySQL: Update keywords (
#2970
org-Mode: Support both schedule and deadline (
#2899
PHP: Add
__PROPERTY__
magic constant (
#2924
), add reserved keywords (
#3002
PostgreSQL: Add more keywords (
#2985
protobuf: Fix namespace tokenization (
#2929
Python: Add
-string support (
#2973
#3009
#3010
Tablegen: Fix infinite loop (
#2972
#2940
Tera Term macro: Add commands introduced in v5.3 through v5.6 (
#2951
TOML: Support TOML 1.1.0 (
#3026
#3027
Turtle: Allow empty comment lines (
#2980
XML: Added
.xbrl
as file ending (
#2890
#2891
Drop Python 3.8, and add Python 3.14 as a supported version (
#2987
#3012
Various improvements to
autopygmentize
#2894
Update
onedark
style to support more token types (
#2977
Update
rtt
style to support more token types (
#2895
Cache entry points to improve performance (
#2979
Fix
xterm-256
color table (
#3043
Fix
kwargs
dictionary getting mutated on each call (
#3044
Version 2.19.2
(released June 21st, 2025)
Lua: Fix regression introduced in 2.19.0 (
#2882
#2839
Version 2.19.1
(released January 6th, 2025)
Updated lexers:
Ini: Fix quoted string regression introduced in 2.19.0
Lua: Fix a regression introduced in 2.19.0
Version 2.19.0
(released January 5th, 2025)
New lexers:
CodeQL (
#2819
Debian Sources (
#2788
#2747
Gleam (
#2662
GoogleSQL (
#2820
#2814
JSON5 (
#2734
#1880
Maple (
#2763
#2548
NumbaIR (
#2433
PDDL (
#2799
#2616
Rego (
#2794
TableGen (
#2751
Vue.js (
#2832
Updated lexers:
BQN: Various improvements (
#2789
C#: Fix number highlighting (
#986
#2727
), add
file
keyword (
#2726
#2805
#2806
), add various other keywords (
#2745
#2770
CSS: Add
revert
#2766
#2775
Debian control: Add
Change-By
field (
#2757
Elip: Improve punctuation handling (
#2651
Igor: Add
int
#2801
Ini: Fix quoted strings with embedded comment characters (
#2767
#2720
Java: Support functions returning types containing a question mark (
#2737
JavaScript: Support private identiiers (
#2729
#2671
LLVM: Add
splat
, improve floating-point number parsing (
#2755
Lua: Improve variable detection, add built-in functions (
#2829
Macaulay2: Update to 1.24.11 (
#2800
PostgreSQL: Add more
EXPLAIN
keywords (
#2785
), handle
#2774
S-Lexer: Fix keywords (
#2082
#2750
TransactSQL: Fix single-line comments (
#2717
Turtle: Fix triple quoted strings (
#2744
#2758
Typst: Various improvements (
#2724
Various: Add
as an operator to Matlab, Octave and Scilab (
#2798
Vyper: Add
staticcall
and
extcall
#2719
Mark file extensions for
HTML/XML+Evoque
as aliases (
#2743
Add a color for
Operator.Word
to the
rrt
style (
#2709
Fix broken link in the documentation (
#2803
#2804
Drop executable bit where not needed (
#2781
Reduce Mojo priority relative to Python in
analyze_text
#2771
#2772
Fix documentation builds (
#2712
Match example file names to the lexer’s name (
#2713
#2715
Ensure lexer metadata is present (
#2714
Search more directories on macOS for fonts (
#2809
Improve test robustness (
#2812
Version 2.18.0
(released May 4th, 2024)
New lexers:
Janet (
#2557
Lean 4 (
#2618
#2626
Luau (
#2605
Mojo (
#2691
#2515
org-mode (
#2628
#2636
Promela (
#2620
Soong /
Android.bp
#2659
Tact (
#2571
TSX
Typst (
#2596
Updated lexers:
Awk: recognize ternary operator (
#2687
Bash: add
openrc
alias (
#2599
#2371
Coq: add keywords, lex more vernacular command arguments, produce
fewer tokens on heading comments (
#2678
DNS zone files: Fix comment parsing (
#2595
Hy: Support unicode literals (
#1126
Inform6: Update to Inform 6.42 (
#2644
lean: Fix name handling (
#2614
Logtalk: add
uninstantiation
keyword and recognize
escape sequences (
#2619
Macaulay2: Update to 1.23 (
#2655
Python: fix highlighting of soft keywords before
None
True
False
reStructuredText: use
Token.Comment
for comments instead of
Comment.Preproc
#2598
Rust: highlight
::
and
->
as
Punctuation
and whitespace as
Whitespace
, instead of
Text
in both cases (
#2631
Spice: Add keywords (
#2621
SQL Explain: allow negative numbers (
#2610
Swift: Support multiline strings (
#2681
ThingsDB: add constants and new functions; support template
strings (
#2624
UL4: support nested

and

tags (
#2597
VHDL: support multi-line comments of VHDL-2008 (
#2622
Wikitext: Remove
kk-*
in
variant_langs
#2647
Xtend: Add
val
and
var
#2602
New styles:
Coffee (
#2609
Make background colors in the image formatter work with Pillow 10.0 (
#2623
Require Python 3.8. As a result, the
importlib-metadata
package
is no longer needed for fast plugin discovery on Python 3.7.
The
plugins
extra (used as, e.g.,
pip
install
pygments[plugins]
is kept for backwards compatibility but now has no effect. (
#2601
Require the
url
attribute for lexers inside Pygments, add
it to many lexers (
#2588
Replace Pyflakes linter with Ruff (
#2592
Add macOS CI (
#2594
Built-in lexers now declare the version of Pygments in which they were
added in a required
version_added
lexer attribute, instead of a
..
versionadded::
directive in the docstring (
#2589
#2634
The
url
attribute is now required for built-in lexers and
has been added to all existing lexers (
#2588
The RTF formatter supports line number and line highlighting now (
#1217
#2654
Add
\sa0
keyword in the RTF formatter (
#1111
#2607
pycon
as an alias for the Python console lexer (
#2697
Add MIME-Type for
DesktopLexer
#2613
Fix native style to meet WCAG AA guidelines (
#2600
Fix typo in documentation (
#2672
Use format strings consistently (
#2661
Add
__class_getitem__
to
Formatter
to improve typing support (
#2665
Version 2.17.2
(released November 21, 2023)
Fix a packaging issue on macOS (
#2593
Version 2.17.1
(released November 19, 2023)
Updated lexers:
TOML: Fix bug making lexing of single-quoted strings too eager
Version 2.17.0
(released November 18, 2023)
New lexers:
JSX (
#2524
#709
Kusto (
#2552
ldaprc (
#2532
LDIF (
#2489
PRQL (
#2507
#2523
#2559
Visual Prolog and Visual Prolog Grammar (
#2480
Vyper (
#2531
#2579
Updated lexers:
Cypher: fix comment matching, add missing keywords (
#2504
Fortran: add
elseif
keyword (
#2528
Lean: make it available as
lean3
, in preparation for
a possible switch to
lean
highlighting as Lean 4 (
#2546
JSON: add MIME types and file extensions for several line-delimited
JSON formats (
#2490
Nix: many improvements (
#2551
#1800
OCaml: Add
and
keyword, remove
value
from keywords (
#2521
Python: add
starlark
and
bazel
aliases (
#2517
#2516
Snowball: Treat
len
like
size
#2508
Spice: add
panic
keyword and
->
operator (
#2510
squid.conf: fix catastrophic backtracking (
#2583
TOML: rewritten, with many fixes (
#2576
Turtle: support blank nodes (
#2581
Wikitext: fix erroneous highlighting of LanguageConverter markup
#2493
), add missing variant languages (
#2494
CMake: support
[=[
bracketed
arguments
]=]
#2549
Fix ctags support and tests (
#2487
Include
Lexer.add_filter
in the documentation (
#2519
Add a
Lean3Lexer
alias (
#2546
The
pygments.styles
module contains a new
STYLES
variable
with a dictionary of built-in styles. The old
STYLE_MAP
variable,
which uses a different format, is kept for backwards compatibility.
On Windows, add a new installation extra (
windows-terminal
) which pulls in
dependencies for colored console output. See
Command Line Interface
for more details.
#2505
Support more file types in
autopygmentize
script (
#2513
Change color of numbers in
rrt
style (
#2526
Fix error when trying to look up plugin formatters by file extension
of the output format (
#2563
Use Hatchling as a build backend instead of setuptools.
This change is transparent to most users. Distribution packagers
who build without build isolation need to add hatchling as a build
dependency and remove setuptools. People downloading source distributions
and wheels from PyPI directly should note that they now have
pygments
in their file names instead of
Pygments
. (
#2573
Improve the test framework to also check for lost tokens when processing the
snippets and example files (
#2582
.)
Improve the
Dracula
style definition to make it easier to maintain (
#2575
Version 2.16.1
(released August 6th, 2023)
Fix
native
style missing from style list (
#2484
Version 2.16.0
(released August 6th, 2023)
New lexers:
ASN.1 (
#2462
Blueprint (
#2434
BQN (
#2472
DNS zone files (
#2464
GraphQL (
#2428
Linux desktop files (following the specification of the
Freedesktop group, formerly known as XDG) (
#2470
NVIDIA PTX (
#2432
OpenSCAD (
#2449
systemd (
#2470
TLS presentation language (
#2455
Verifpal (
#2430
YARA (
#2453
Updated lexers:
ASC: Add
application/pem-certificate-chain
mimetype (
#2471
C/C++: Refine keyword lists (
#2421
#2422
Carbon: Fix long processing times on invalid input, fix number
lexing (
#2454
#2456
Elpi: Handle quotations (
#2419
Go: Support additional built-ins (
#2481
HTTP: Support empty headers (
#2461
), support more general methods (
#2460
),
also recognize responses in
analyse_text
implementation (
#2460
), and
highlight URL encoded data (
#2465
#1620
Igor Pro: Update to Igor Pro 9 (
#2482
lean: Recognize expressions nested within attributes (
#1817
Macaulay2: Update builtins (
#2457
Markdown: Allow extra characters after language name
in code blocks (
#2437
NestedText: Update to version 3 (
#2459
scdoc: Improve language guessing implementation (
#2402
Spice: Update to latest version (
#2476
Transact SQL: Add Pre-sorted Group keyword (
#2417
Uxntal: Update for current runes (
#2424
Wikitext: Fix templates in wiki links; fix a language converter false
positive; add bold italic markup (
#2447
Add
Generic.EmphStrong
token for bold italic markup (
#2444
Add Lightbulb style (
#2474
Improve contrast in Monokai style (
#2448
Add documentation how to create terminal code highlighting commands (
#2131
#2425
Add support for loading TrueType fonts to the
ImageFormatter
#1960
Version 2.15.1
(released April 18th, 2023)
Updated lexers:
Java properties: Fix catastrophic backtracking (
#2356
#2404
Fix Python console traceback lexing being too strict
and sometimes reordering output (
#2407
#2410
#2412
Version 2.15.0
(released April 10th, 2023)
Added lexers:
Carbon (
#2362
#2365
#2366
#2367
#2368
#2369
#2370
Dax (
#2335
#2345
MediaWiki Wikitext (
#2373
#827
PostgreSQL Explain (
#2398
WGSL (WebGPU Shading Language) (
#2386
X++ (
#2339
Updated lexers:
AMDGPU: Add support for
scratch_
instructions, the
attr*.*
argument,
as well as the
off
modifier (
#2327
).
APDL: Miscellaneous improvements (
#2314
bash/tcsh:
Move
break
to keywords (
#2377
Improve bash math expansion lexing (
#2255
#2353
Chapel: Support attributes (
#2376
CMake: Implement bracket style comments (
#2338
#2354
CSS: Improve lexing of numbers inside function calls (
#2382
#2383
diff: Support normal diff syntax, as opposed to unified diff syntax (
#2321
GLSL, HLSL:
Support line continuations in preprocessor code (
#2350
Improve preprocessor directive handling (
#2357
LilyPond: minor update of builtins
PHP: support attributes (
#2055
#2347
#2360
), fix anonymous classes without
parameters (
#2359
), improve lexing of variable variable syntax (
#2358
Python:
Add missing builtins (
#2334
Fix inconsistent lexing of
None
#2406
Rebol/Red: Don’t require script headers (
#2348
#2349
Spice: Update keywords (
#2336
SQL+Jinja (
analyse_text
method): Fix catastrophic backtracking (
#2355
Terraform: Add
hcl
alias (
#2375
Declare support for Python 3.11 and drop support for Python 3.6 (
#2324
).
Update
native
style to improve contrast (
#2325
).
Update
github-dark`
style to match latest Primer style (
#2401
Revert a change that made guessing lexers based on file names slower
on Python 3.10 and older (
#2328
).
Fix some places where a locale-dependent encoding could unintentionally
be used instead of UTF-8 (
#2326
).
Fix Python traceback handling (
#2226
#2329
).
Groff formatter: sort color definitions for reproducibility (
#2343
Move project metadata to
pyproject.toml
, remove
setup.py
and
setup.cfg
#2342
The top-level
Makefile
has been removed. Instead, all shortcuts
for developing are now defined and run through tox. The
doc
folder
still contains a
Makefile
as an alternative to
tox
-e
doc
Version 2.14.0
(released January 1st, 2023)
Added lexers:
Arturo (
#2259
GAP session (
#2211
Fift (
#2249
func (
#2232
Jsonnet (
#2239
Minecraft schema (
#2276
MIPS (
#2228
Phix (
#2222
Portugol (
#2300
TL-b (
#2247
World of Warcraft TOC format (
#2244
#2245
Wren (
#2271
Updated lexers:
Abap: Update keywords (
#2281
Alloy: Update for Alloy 6 (
#1963
C family (C, C++ and many others):
Fix an issue where a chunk would be wrongly recognized as a function
definition due to braces in comments (
#2210
Improve parantheses handling for function definitions (
#2207
#2208
C#: Fix number and operator recognition (
#2256
#2257
CSound: Updated builtins (
#2268
F#: Add
.fsx
file extension (
#2282
gas (GNU assembler): recognize braces as punctuation (
#2230
HTTP: Add
CONNECT
keyword (
#2242
Inform 6: Fix lexing of properties and doubles (
#2214
INI: Allow comments that are not their own line (
#2217
#2161
Java properties: Fix issue with whitespace-delimited keys, support
comments starting with
and escapes, no longer support undocumented
and
//
comments (
#2241
LilyPond: Improve heuristics, add
\maxima
duration (
#2283
LLVM: Add opaque pointer type (
#2269
Macaulay2: Update keywords (
#2305
Minecraft-related lexers (SNB and Minecraft function) moved to
pygments.lexers.minecraft
#2276
Nim: General improvements (
#1970
Nix: Fix single quotes inside indented strings (
#2289
Objective J: Fix catastrophic backtracking (
#2225
NASM: Add support for SSE/AVX/AVX-512 registers as well as ‘rel’
and ‘abs’ address operators (
#2212
Powershell:
Add
local:
keyword (
#2254
Allow continuations without markers (
#2262
#2263
Solidity: Add boolean operators (
#2292
Spice: Add
enum
keyword and fix a bug regarding binary,
hexadecimal and octal number tokens (
#2227
YAML: Accept colons in key names (
#2277
Fix
make mapfiles
when Pygments is not installed in editable mode
#2223
Support more filetypes and compression types in
autopygmentize
#2219
Merge consecutive tokens in Autohotkey, Clay (
#2248
Add
.nasm
as a recognized file type for NASM (
#2280
Add
*Spec.hs
as a recognized file type for
HSpec
#2308
Add
*.pyi
(for typing stub files) as a recognized file type for
Python (
#2231
The HTML lexer no longer emits empty spans for whitespace (
#2304
Fix
IRCFormatter
inserting linenumbers incorrectly (
#2270
Version 2.13.0
(released August 15th, 2022)
Added lexers:
COMAL-80 (
#2180
JMESPath (
#2174
#2175
#2179
#2182
Sql+Jinja (
#2148
Updated lexers:
Ada: support Ada 2022 (
#2121
); disable recognition of namespaces
because it disturbs lexing of aspects (
#2125
Agda: allow straight quotes in module names (
#2163
C family (C, C++ and many others): allow comments between
elements of function headers, e.g. between the arguments and
the opening brace for the body (
#1891
C++: Resolve several cases of
Error
tokens (
#2207
#2208
Coq: Add some common keywords, improve recognition of
Set
and qualified identifiers (
#2158
F*: Allow C-style comments anywhere in a line
Fortran: Fix catastrophic backtracking with backslashes in strings
#2194
Go: add support for generics (
#2167
Inform: Update for version 6.40 (
#2190
Isabelle: recognize cartouches (
#2089
Java: support multiline strings aka. text blocks (
#2132
Kotlin: Add
value
modifier (
#2142
LilyPond: Add some missing builtins
Macaulay2: Update builtins (
#2139
Matlab session: fix traceback when a line continuation ellipsis
appears in the output (
#2166
.NET: Add aliases for LibreOffice Basic, OpenOfficeBasic and
StarOffice Basic (
#2170
Nim: Use
Name.Builtin
instead of
Keyword.Type
#2136
PHP: fix
"$var"
inside strings (
#2105
Python: only recognize
\N
\u
and
\U
escape sequences
in string literals, but not in bytes literals where they are
not supported (
#2204
Tcl: support
${name}
variables (
#2145
Terraform: Accept leading whitespace for
<<
heredoc
delimiters (
#2162
Teraterm: Various improvements (
#2165
Spice: add support for the recently added features including more
builtin functions and bin, oct, hex number formats (
#2206
Added styles:
GitHub dark (
#2192
StarOffice (
#2168
Nord (
nord
and
nord-darker
#2189
#1799
#1678
Pygments now tries to use the
importlib.metadata
module to
discover plugins instead of the slower
pkg_resources
#2155
). In
particular, this largely speeds up the
pygmentize
script when
the lexer is not specified.
importlib.metadata
is only available in the Python standard
library since Python 3.8. For older versions, there exists an
importlib_metadata
backport on PyPI. For this reason, Pygments
now defines a packaging extra
plugins
, which adds a requirement
on
importlib_metadata
if the Python version is older than
3.8. Thus, in order to install Pygments with optimal plugin
support even for old Python versions, you should do:
pip
install
pygments
plugins
Pygments still falls back on
pkg_resources
if neither
importlib.metadata
nor
importlib_metadata
is found, but it
will be slower.
Silently ignore
BrokenPipeError
in the command-line interface
#2193
).
The
HtmlFormatter
now uses the
linespans
attribute for
anchorlinenos
if the
lineanchors
attribute is unset (
#2026
).
The
highlight
lex
and
format
functions no longer
wrongly report “argument must be a lexer/formatter instance, not a
class” in some cases where this is not the actual problem (
#2123
).
Fix warnings in doc build (
#2124
).
The
codetagify
filter now recognizes
FIXME
tags by default (
#2150
).
The
pygmentize
command now recognizes if the
COLORTERM
environment variable is set to a value indicating that true-color
support is available. In that case, it uses the
TerminalTrueColorFormatter
by default (
#2160
Remove redundant caches for filename patterns (
#2153
Use new non-deprecated Pillow API for text bounding box in
ImageFormatter
#2198
Remove
default_style
#930
#2183
Stop treating
DeprecationWarnings
as errors in the unit tests (
#2196
Version 2.12.0
(released April 24th, 2022)
Added lexers:
Berry (
#2070
Cplint (
#2045
Macaulay2 (
#1791
MCFunction (
#2107
Minecraft (
#2107
Qlik (
#1925
UnixConfigLexer
for “colon-separated” config files, like
/etc/passwd
#2112
Uxntal (
#2086
K and Q (
#2073
Updated lexers:
Agda: Update keyword list (
#2017
C family: Fix identifiers after
case
statements (
#2084
Clojure: Highlight ratios (
#2042
Csound: Update to 6.17 (
#2064
CSS: Update the list of properties (
#2113
Elpi:
Fix catastrophic backtracking (
#2053
#2061
Fix handling of
->
#2028
Futhark: Add missing tokens (
#2118
Gherkin: Add
But
#2046
Inform6: Update to 6.36 (
#2050
Jinja2: add
.xxx.j2
and
.xxx.jinja2
to relevant lexers
(for
xxx
html
xml
, etc.) (
#2103
JSON: Support C comments in JSON (
#2049
). Note: This doesn’t mean the JSON parser now supports JSONC or JSON5 proper, just that it doesn’t error out when seeing a
/*
*/
or
//
style comment. If you need proper comment handling, consider using the
JavaScript
lexer.
LilyPond:
Fix incorrect lexing of names containing a built-in (
#2071
Fix properties containing dashes (
#2099
PHP: Update builtin function and keyword list (
#2054
#2056
Python: highlight
EncodingWarning
#2106
Savi: fix highlighting for underscore/private identifiers,
add string interpolation (
#2102
); fix nested type name highlighting
#2110
Scheme: Various improvements (
#2060
Spice: Update the keyword list, add new types (
#2063
#2067
Terraform:
Support non-idiomatic comments (
#2065
#2066
Fix class name lexing (
#2097
Add
plugins
argument to
get_all_lexers()
Bump minimal Python version to 3.6 (
#2059
Fix multiple lexers marking whitespace as
Text
#2025
Remove various redundant uses of
re.UNICODE
#2058
Associate
.resource
with the Robot framework (
#2047
Associate
.cljc
with Clojure (
#2043
Associate
.tpp
with C++ (
#2031
Remove traces of Python 2 from the documentation (
#2039
The
native
style was updated to meet the WCAG AAA contrast guidelines (
#2038
Fix various typos (
#2030
Fix
Groff
formatter not inheriting token styles correctly (
#2024
Various improvements to the CI (
#2036
The Ada lexer has been moved to a separate file (
#2117
When
linenos=table
is used, the


itself is now wrapped with a
class="highlight">
tag instead of placing it inside the
class="code">
cell (
#632
.) With this change, the output matches the documented behavior.
Note
If you have subclassed
HtmlFormatter.wrap
, you may have to adjust the logic.
Version 2.11.2
(released January 6th, 2022)
Updated lexers:
C-family: Fix incorrect handling of labels (
#2022
#1996
#1182
Java: Fixed an issue with
record
keywords result in
Error
tokens in some cases (
#2016
#2018
Fix links to line numbers not working correctly (
#2014
Remove
underline
from
Whitespace
style in the
Tango
theme (
#2020
Fix
IRC
and
Terminal256
formatters not backtracking correctly for custom token types, resulting in some unstyled tokens (
#1986
Version 2.11.1
(released December 31st, 2021)
Updated lexers:
C-family: Handle return types with multiple tokens (e.g.
unsigned
int
) (
#2008
JSON: Fix a regression which caused whitespace before
to result in
Error
tokens (
#2010
SPICE: Various improvements (
#2009
Version 2.11.0
(released December 30th, 2021)
Added lexers:
BDD (
#1803
Elpi (
#1894
LilyPond (
#1845
#1968
#1971
#2001
). This comes with a custom style as well.
Maxima (
#1885
Rita (
#1541
#2003
Savi (
#1863
Sed (
#1935
Sophia contracts (
#1974
Spice (
#1980
.SRCINFO
#1951
Updated lexers:
ABNF: Allow one-character rules (
#1804
Assembly: Fix incorrect token endings (
#1895
#1961
Bibtex: Distinguish between
comment
and
commentary
#1899
#1806
C family: Support unicode identifiers (
#1848
CDDL: Fix slow lexing speed (
#1959
Debian control: Add missing fields (
#1946
Devicetree: Recognize hexadecimal addresses for nodes (
#1949
GDScript: Add
void
data type (
#1948
GSQL
Fix comment handling (
#2002
Fix catastrophic backtracking (
#2006
HTML, XML: Improve comment handling (
#1896
Java: Add
yield
#1941
) and sealed classes/record (
#1902
Makefiles (
#1860
#1898
objdump-nasm: Improve handling of
--no-show-raw-insn
dumps (
#1981
Prolog: Support escaped
inside quoted strings (
#1479
Python:
Support
in tracebacks (
#2004
Support the pattern matching keywords (
#1797
#1994
RobotFramework: Improve empty brace handling (
#1921
#1922
Terraform
Add the ‘set’ type (
#1909
Support heredocs (
#1909
Added styles:
Dracula (
#1796
Friendly Grayscale (
#1040
#1273
LilyPond (
#1845
) – to be used for the
LilyPond
language.
One-Dark (
#1924
#1979
Note
All of the new styles unfortunately do not conform to WCAG recommendations.
There is new infrastructure in place to improve style accessibility. The default style has been updated to conform to WCAG recommendations. All styles are now checked for sufficient contrast by default to prevent regressions. (
#1919
#1937
#1938
#1940
Clean up unused imports (
#1887
Fix multiple lexers producing repeated single-character tokens
Fix multiple lexers marking whitespace as
Text
#1237
#1905
#1908
#1914
#1911
#1923
#1939
#1957
#1978
Remove duplicated assignments in the Paraiso style (
#1934
pygmentize
supports JSON output for the various list functions now, making it easier to consume them from scripts. (
#1437
#1890
Use the
shell
lexer for
kshrc
files (
#1947
Use the
ruby
lexer for
Vagrantfile
files (
#1936
Use the C lexer for
.xbm
and
.xpm
files (
#1802
Add a
groff
formatter (
#1873
Update documentation (
#1928
Line anchors now link to themselves (
#1973
Add official support for Python 3.10 (
#1917
Fix several missing colors in dark styles: Gruvbox dark, Monokai, Rrt, Sas, Strata dark (
#1955
Associate more file types with
man
pages
The
HtmlFormatter
can now emit tooltips for each token to ease debugging of lexers (
#1822
Add
f90
as an alias for
fortran
#2000
Version 2.10.0
(released August 15th, 2021)
Added lexers:
ASC armored files (
#1807
GSQL (
#1809
#1866
Javascript REPL (
#1825
procfile (
#1808
Smithy (
#1878
#1879
Updated lexers:
C-family: Fix preprocessor token issues (
#1830
C# (
#1573
#1869
CSound (
#1837
Fennel (
#1862
JavaScript (
#1741
#1814
LLVM (
#1824
Python (
#1852
Rust
Fix lexing of “break” and “continue” (
#1843
Improve attribute handling (
#1813
Scala: Add support for the
operator (
#1857
Swift (
#1767
#1842
Tcl: Allow
and
in strings (
#1834
#1742
TOML (
#1870
#1872
Fix assert statements in TNT lexer.
Token types across all lexers have been unified (using the most common token
type name) (
#1816
#1819
Improve Jasmin min score analysis (
#1619
Add new alias for Go files (
#1827
Fix multi-line console highlighting (
#1833
Add a new trivial lexer which outputs everything as
Text.Generic.Output
#1835
#1836
Use the
.ini
lexer for
systemd
files (
#1849
Fix a
FutureWarning
related to
words()
#1854
pwsh
is now recognized as an alias for PowerShell (
#1876
Version 2.9.0
(released May 3rd, 2021)
Added lexers:
APDL, gcode (
#1714
Kuin (
#1300
NestedText (
#1578
OMG IDL (
#1595
TEAL (
#1671
ThingsDB (
#1295
WebAssembly (
#1416
#1564
Updated lexers:
AMDGPU (
#1717
#1775
APL (
#1747
C/C++: Improve namespace handling (
#1722
#1561
#1719
#1746
Chapel (
#1743
Coq (
#1721
Cython (
#853
DeviceTree (
#1755
Groovy (
#1765
Julia (
#1715
Octave: Allow multiline and block-percent comments (
#1726
PowerShell: Improve lexing of
#1682
#1758
PromQL (
#1783
Python: Improve float parsing (
#1768
#1740
Rust (
#1061
Scala: Rewrite to support Scala3 (
#1694
#1035
#1121
Terraform: Support 0.14 syntax (
#1756
Velocity: Detect multi-line patterns (
#1776
Add Pango formatter (
#1727
Autopygmentize uses
file
first instead of
pygments
-N
#1786
Fix links (
#1716
Fix issue with LaTeX formatter and
minted
#1734
#1735
#1736
#1737
Improve alias order (
#1780
Improve line number colors (
#1779
#1778
Fix CTag related issue (
#1724
Recognize
.leex
as Elixir templates
Fix incorrect variable being accessed (
#1748
Updated
filename
handling in HTML formatter if
linenos=’table’
#1757
Previously the filename would be emitted within the

is emitted before the
table content which contains a single

holding the
code, but outside the

. This would invariably break the alignment
with line numbers.
Now if
filename
is specified, a separate

with
colspan=2
so it
spans both the line number and code columns. The filename is still
within

so any existing styles
should still apply, although the CSS path may need to change.
For an example of the new output format see
table_cls_step_1_start_1_special_0_noanchor_filename.html
in the
tests/html_linenos_expected_output/
directory.
For more details and discussion see the issue
Added styles:
Gruvbox light+dark (
#1763
Version 2.8.0
(released February 14, 2021)
Added lexers:
AMDGPU (
#1626
CDDL (
#1379
#1239
Futhark (
#1691
Graphviz/DOT (
#1657
#731
Updated lexers:
AutoIt: Support single quoted strings (
#1667
#1663
C/C++ & related: Fix mishandling
*/
#1695
Cocoa: Add builtin types (
#1703
Console (
#1672
Eiffel: Fix performance issues (
#1658
Fortran: Improve combined keyword detection (
#1677
#1188
J: Fix operator
lexing (
#1700
#1149
JavaScript/TypeScript: Fix escapes in backtick strings (
#1679
#1686
Kotlin: Improve string interpolation, modifier keyword handling, and various small issues (
#1699
LESS: Support single-line comments (
#1046
Matlab:
Add support for class properties (
#1466
Update builtin functions (
#1705
Various cleanups (
#1673
OpenEdge (
#1696
Python: Improve handling of raw f-strings (
#1681
#1683
Ruby: Better method name handling (
#1531
Stata: Updated keywords (
#1470
Added styles:
Material (
#1662
Zenburn (
#1659
The
pygmentize
script now uses
argparse
, all options should work
as before
Add
pygmentize -C
option to guess a lexer from content
With this release, Pygments moves to a new internal testing system (
#1649
.)
See
Contributing.md
for details. The main advantage of this new change
is a much better test coverage of all existing example lexers. It also makes
it much easier to add new test snippets.
Make guessing prefer Python 3 lexer
Do not guess MIME or SQL without reason
Changed setuptools to use a declarative config through
setup.cfg
Building Pygments now requires setuptools 39.2+.
Add markdown to MarkdownLexer aliases (
#1687
Change line number handling
In

based output, the
td.linenos
element will have either a
normal
or
special
class attached. Previously, only
special
line
numbers got a class. This prevents styles from getting applied twice -
once via

, once via
class="special">
. This also means
that
td.linenos
pre
is no longer styled, instead, use
td.linenos
.normal
and
td.linenos
.special
In the “inline” style, the DOM element order was changed. The line number
is added first, then the line is wrapped is wrapped by the highlighter.
This fixes lines not being fully highlighted.
The visual output for inline and non-inline line numbers & highlighting,
as well as class-based and inline styling is now consistent.
Line number styles are set to
background-color:
transparent
and
color:
inherit
by default. This works much better with dark styles
which don’t have colors set for line numbers.
Remove “raw” alias from RawTokenLexer, so that it cannot be
selected by alias.
Fix RawTokenLexer to work in Python 3 and handle exceptions.
Add prompt colors to the Solarized theme (
#1529
Image formatter supports background colors now (
#1374
Add support for anchors in conjunction with inline line numbers (
#1591
Modernize the codebase using
pyupgrade
#1622
Add support for line numbers to the
terminal256
formatter (
#1674
#1653
Improve
analyze_text
logic for
ECL
#1610
Improve
analyze_text
logic for
CBM
Basic
V2
#1607
Improve LaTeX formatter (
#1708
#1709
Version 2.7.4
(released January 12, 2021)
Updated lexers:
Apache configurations: Improve handling of malformed tags (
#1656
CSS: Add support for variables (
#1633
#1666
Crystal (
#1650
#1670
Coq (
#1648
Fortran: Add missing keywords (
#1635
#1665
Ini (
#1624
JavaScript and variants (
#1647
– missing regex flags,
#1651
Markdown (
#1623
#1617
Shell
Lex trailing whitespace as part of the prompt (
#1645
Add missing
in
keyword (
#1652
SQL - Fix keywords (
#1668
Typescript: Fix incorrect punctuation handling (
#1510
#1511
Fix infinite loop in SML lexer (
#1625
),
CVE-2021-20270
Fix backtracking string regexes in JavaScript/TypeScript, Modula2
and many other lexers (
#1637
CVE-2021-27291
Limit recursion with nesting Ruby heredocs (
#1638
Fix a few inefficient regexes for guessing lexers
Fix the raw token lexer handling of Unicode (
#1616
Revert a private API change in the HTML formatter (
#1655
) –
please note that private APIs remain subject to change!
Fix several exponential/cubic-complexity regexes found by
Ben Caller/Doyensec (
#1675
Fix incorrect MATLAB example (
#1582
Thanks to Google’s OSS-Fuzz project for finding many of these bugs.
Version 2.7.3
(released December 6, 2020)
Updated lexers:
Ada (
#1581
HTML (
#1615
#1614
Java (
#1594
#1586
JavaScript (
#1605
#1589
#1588
JSON (
#1569
– this is a complete rewrite)
Lean (
#1601
LLVM (
#1612
Mason (
#1592
MySQL (
#1555
#1551
Rust (
#1608
Turtle (
#1590
#1553
Deprecated JsonBareObjectLexer, which is now identical to JsonLexer (
#1600
The
ImgFormatter
now calculates the exact character width, which fixes some issues with overlapping text (
#1213
#1611
Documentation fixes (
#1609
#1599
#1598
Fixed duplicated Juttle language alias (
#1604
#1606
Added support for Kotlin scripts (
#1587
Removed CSS rule which forced margin to 0
Version 2.7.2
(released October 24, 2020)
Updated lexers:
Latex (
#1517
#1516
LLVM (
#1565
SPARQL (
#1559
Fix 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 (
#1549
Remove CSS rule which forced the vertical padding to 0 for line numbers (
#1583
#1579
Fix
TNTLexer
crashing on unexpected EOL (
#1568
#1570
regexlint
can be now run locally as part of
tox
tests (
#1557
Fix typos (
#1550
#1562
Add Python 3.9 as a supported version (
#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 (
#1481
#1499
BARE (
#1488
Devicetree (
#1434
F* (
#1409
GDScript (
#1457
Pointless (
#1494
PromQL (
#1506
PsySH (
#1438
Singularity (
#1285
TiddlyWiki5 (
#1390
TNT (
#1414
YANG (
#1408
#1428
Updated lexers:
APL (
#1503
C++ (
#1350
, which also fixes:
#1222
#996
#906
#828
#1162
#1166
#1396
Chapel (
#1423
CMake (
#1491
CSound (
#1509
Cython (
#1507
Dart (
#1449
Fennel (
#1535
Fortran (
#1442
GAS (
#1530
HTTP (
#1432
#1520
#1521
Inform 6 (
#1461
Javascript (
#1533
JSON (
#1065
#1528
Lean (
#1415
Matlab (
#1399
Markdown (
#1492
#1495
MySQL (
#975
#1063
#1453
#1527
NASM (
#1465
Nim (
#1426
PostgreSQL (
#1513
PowerShell (
#1398
#1497
Protobuf (
#1505
Robot (
#1480
SQL (
#1402
SystemVerilog (
#1436
#1452
#1454
#1460
#1462
#1463
#1464
#1471
#1496
#1504
TeraTerm (
#1337
XML (
#1502
Added a new filter for math symbols (
#1406
The Kconfig lexer will match Kconfig derivative names now (
#1458
Improved HTML formatter output (
#1500
.markdown
is now recognized as an extension for Markdown files (
#1476
Fixed line number colors for Solarized (
#1477
#1356
Improvements to exception handling (
#1478
Improvements to tests (
#1532
#1533
#1539
Various code cleanups (
#1536
#1537
#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 (
#1310
LLVM MIR (
#1361
MiniScript (
#1397
Mosel (
#1287
#1326
Parsing Expression Grammar (
#1336
ReasonML (
#1386
Ride (
#1319
#1321
Sieve (
#1257
USD (
#1290
WebIDL (
#1309
Updated lexers:
Apache2 (
#1378
Chapel (
#1357
CSound (
#1383
D (
#1375
#1362
Haskell (
#1347
#1177
Idris (
#1360
Perl6/Raku lexer (
#1344
Python3 (
#1382
#1385
Rust: Updated lexer to cover more builtins (mostly macros) and miscellaneous
new syntax (
#1320
SQL: Add temporal support keywords (
#1402
The 256-color/true-color terminal formatters now support the italic attribute
in styles (
#1288
Support HTTP 2/3 header (
#1308
Support missing reason in HTTP header (
#1322
Boogie/Silver: support line continuations and triggers, move contract keywords
to separate category (
#1299
GAS: support C-style comments (
#1291
Fix names in S lexer (
#1330
#1333
Fix numeric literals in Ada (
#1334
Recognize
.mjs
files as Javascript (
#1392
Recognize
.eex
files as Elixir (
#1387
Fix
re.MULTILINE
usage (
#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
PR#1268
Solidity
#1214
Zeek
(new name for Bro) (
PR#1269
Zig
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
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
(released 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
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
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
gif
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

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.
© Copyright 2006-present, Georg Brandl and Pygments contributors.
Created using
Sphinx
9.1.0.
Pygments logo created by
Joel Unger
Backgrounds from
subtlepatterns.com

C U Cyber History — Public Interest Web Archive