Update dependency pygments to v2.20.0 [SECURITY]#211
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
Update dependency pygments to v2.20.0 [SECURITY]#211renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
0c12a19 to
fd44447
Compare
fd44447 to
3e9ffaf
Compare
3e9ffaf to
b360656
Compare
b360656 to
3f7ddcf
Compare
3f7ddcf to
73b2f70
Compare
73b2f70 to
b08f89d
Compare
b08f89d to
69037be
Compare
69037be to
373eddb
Compare
373eddb to
c14ca7d
Compare
c14ca7d to
0bdd6fd
Compare
0bdd6fd to
4d06386
Compare
4d06386 to
4efe9fe
Compare
3fa523a to
905b977
Compare
905b977 to
fb867f1
Compare
fb867f1 to
278c3ca
Compare
278c3ca to
6582406
Compare
6582406 to
b681103
Compare
b681103 to
3ff8473
Compare
3ff8473 to
385875a
Compare
385875a to
78bc66a
Compare
78bc66a to
7aca1c9
Compare
7aca1c9 to
a412fd5
Compare
a412fd5 to
c77b6fb
Compare
c77b6fb to
b061b98
Compare
b061b98 to
54e94ca
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==2.4.0→==2.20.0GitHub Vulnerability Alerts
CVE-2021-27291
In pygments 1.1+, fixed in 2.7.4, the lexers used to parse programming languages rely heavily on regular expressions. Some of the regular expressions have exponential or cubic worst-case complexity and are vulnerable to ReDoS. By crafting malicious input, an attacker can cause a denial of service.
CVE-2021-20270
An infinite loop in SMLLexer in Pygments versions 1.5 to 2.7.3 may lead to denial of service when performing syntax highlighting of a Standard ML (SML) source file, as demonstrated by input that only contains the "exception" keyword.
CVE-2022-40896
A ReDoS issue was discovered in
pygments/lexers/smithy.pyin Pygments until 2.15.0 via SmithyLexer.CVE-2026-4539
A security flaw has been discovered in pygments before 2.20.0. The impacted element is the function AdlLexer of the file pygments/lexers/archetype.py. The manipulation results in inefficient regular expression complexity. The attack is only possible with local access. The exploit has been released to the public and may be used for attacks. The project was informed of the problem early through an issue report but has not responded yet.
Release Notes
pygments/pygments (pygments)
v2.20.0Compare Source
(released March 29th, 2026)
New lexers:
Updated lexers:
analyse_text(#3028, #3032)]',]?,]!(#2946)__PROPERTY__magic constant (#2924), add reserved keywords (#3002)t-string support (#2973, #3009, #3010).xbrlas 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
onedarkstyle to support more token types (#2977)Update
rttstyle to support more token types (#2895)Cache entry points to improve performance (#2979)
Fix
xterm-256color table (#3043)Fix
kwargsdictionary getting mutated on each call (#3044)v2.19.2Compare Source
(released June 21st, 2025)
v2.19.1Compare Source
(released January 6th, 2025)
Updated lexers:
v2.19.0Compare Source
(released January 5th, 2025)
New lexers:
Updated lexers:
filekeyword (#2726, #2805, #2806), add various other keywords (#2745, #2770)revert(#2766, #2775)Change-Byfield (#2757)int(#2801)splat, improve floating-point number parsing (#2755)EXPLAINkeywords (#2785), handle/(#2774)^as an operator to Matlab, Octave and Scilab (#2798)staticcallandextcall(#2719)HTML/XML+Evoqueas aliases (#2743)Operator.Wordto therrtstyle (#2709)analyze_text(#2771, #2772)v2.18.0Compare Source
(released May 4th, 2024)
New lexers:
Android.bp(#2659)Updated lexers:
openrcalias (#2599, #2371)fewer tokens on heading comments (#2678)
uninstantiationkeyword and recognizeescape sequences (#2619)
None/True/FalseToken.Commentfor comments instead ofComment.Preproc(#2598):,::and->asPunctuationand whitespace as
Whitespace, instead ofTextin both cases (#2631)
strings (#2624)
<?doc?>and<?note?>tags (#2597)kk-*invariant_langs(#2647)valandvar(#2602)New styles:
Make background colors in the image formatter work with Pillow 10.0 (#2623)
Require Python 3.8. As a result, the
importlib-metadatapackageis no longer needed for fast plugin discovery on Python 3.7.
The
pluginsextra (used as, e.g.,pip install pygments[plugins])is kept for backwards compatibility but now has no effect. (#2601)
Require the
urlattribute for lexers inside Pygments, addit 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_addedlexer attribute, instead of a.. versionadded::directive in the docstring (#2589, #2634)The
urlattribute is now required for built-in lexers andhas been added to all existing lexers (#2588)
The RTF formatter supports line number and line highlighting now (#1217, #2654)
Add
\sa0keyword in the RTF formatter (#1111, #2607)Register
pyconas 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__toFormatterto improve typing support (#2665)v2.17.2Compare Source
(released November 21, 2023)
v2.17.1Compare Source
(released November 19, 2023)
Updated lexers:
v2.17.0Compare Source
(released November 18, 2023)
New lexers:
Updated lexers:
elseifkeyword (#2528)lean3, in preparation fora possible switch to
leanhighlighting as Lean 4 (#2546)JSON formats (#2490)
andkeyword, removevaluefrom keywords (#2521)starlarkandbazelaliases (#2517, #2516)lenlikesize(#2508)panickeyword and->operator (#2510)(#2493), add missing variant languages (#2494)
[=[ bracketed arguments ]=](#2549)Fix ctags support and tests (#2487)
Include
Lexer.add_filterin the documentation (#2519)Add a
Lean3Lexeralias (#2546)The
pygments.stylesmodule contains a newSTYLESvariablewith a dictionary of built-in styles. The old
STYLE_MAPvariable,which uses a different format, is kept for backwards compatibility.
On Windows, add a new installation extra (
windows-terminal) which pulls independencies for colored console output. See :doc:
cmdlinefor more details.(#2505)
Support more file types in
autopygmentizescript (#2513)Change color of numbers in
rrtstyle (#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
pygmentsin 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)
v2.16.1Compare Source
(released August 6th, 2023)
nativestyle missing from style list (#2484)v2.16.0Compare Source
(released August 6th, 2023)
New lexers:
Freedesktop group, formerly known as XDG) (#2470)
Updated lexers:
application/pem-certificate-chainmimetype (#2471)lexing (#2454, #2456)
also recognize responses in
analyse_textimplementation (#2460), andhighlight URL encoded data (#2465, #1620)
in code blocks (#2437)
positive; add bold italic markup (#2447)
Add
Generic.EmphStrongtoken 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)v2.15.1Compare Source
(released April 18th, 2023)
Updated lexers:
Fix Python console traceback lexing being too strict
and sometimes reordering output (#2407, #2410, #2412)
v2.15.0Compare Source
(released April 10th, 2023)
Added lexers:
Updated lexers:
AMDGPU: Add support for
scratch_instructions, theattr*.*argument,as well as the
offmodifier (#2327).APDL: Miscellaneous improvements (#2314)
bash/tcsh:
breakto keywords (#2377)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:
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:
None(#2406)Rebol/Red: Don't require script headers (#2348, #2349)
Spice: Update keywords (#2336)
SQL+Jinja (
analyse_textmethod): Fix catastrophic backtracking (#2355)Terraform: Add
hclalias (#2375)Declare support for Python 3.11 and drop support for Python 3.6 (#2324).
Update
nativestyle 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, removesetup.pyand
setup.cfg(#2342)The top-level
Makefilehas been removed. Instead, all shortcutsfor developing are now defined and run through tox. The
docfolderstill contains a
Makefileas an alternative totox -e doc.v2.14.0Compare Source
(released January 1st, 2023)
Added lexers:
Updated lexers:
Abap: Update keywords (#2281)
Alloy: Update for Alloy 6 (#1963)
C family (C, C++ and many others):
definition due to braces in comments (#2210)
C#: Fix number and operator recognition (#2256, #2257)
CSound: Updated builtins (#2268)
F#: Add
.fsxfile extension (#2282)gas (GNU assembler): recognize braces as punctuation (#2230)
HTTP: Add
CONNECTkeyword (#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
\maximaduration (#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:
local:keyword (#2254)Solidity: Add boolean operators (#2292)
Spice: Add
enumkeyword and fix a bug regarding binary,hexadecimal and octal number tokens (#2227)
YAML: Accept colons in key names (#2277)
Fix
make mapfileswhen 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
.nasmas a recognized file type for NASM (#2280)Add
*Spec.hsas a recognized file type forHSpec(#2308)Add
*.pyi(for typing stub files) as a recognized file type forPython (#2231)
The HTML lexer no longer emits empty spans for whitespace (#2304)
Fix
IRCFormatterinserting linenumbers incorrectly (#2270)v2.13.0Compare Source
(released August 15th, 2022)
Added lexers:
Updated lexers:
because it disturbs lexing of aspects (#2125)
elements of function headers, e.g. between the arguments and
the opening brace for the body (#1891)
Errortokens (#2207, #2208)Setand qualified identifiers (#2158)
(#2194)
valuemodifier (#2142)appears in the output (#2166)
StarOffice Basic (#2170)
Name.Builtininstead ofKeyword.Type(#2136)\"$var\"inside strings (#2105)\N,\uand\Uescape sequencesin string literals, but not in bytes literals where they are
not supported (#2204)
${name}variables (#2145)<<heredocdelimiters (#2162)
builtin functions and bin, oct, hex number formats (#2206)
Added styles:
nordandnord-darker; #2189, #1799, #1678)Pygments now tries to use the
importlib.metadatamodule todiscover plugins instead of the slower
pkg_resources(#2155). Inparticular, this largely speeds up the
pygmentizescript whenthe lexer is not specified.
importlib.metadatais only available in the Python standardlibrary since Python 3.8. For older versions, there exists an
importlib_metadatabackport on PyPI. For this reason, Pygmentsnow defines a packaging extra
plugins, which adds a requirementon
importlib_metadataif the Python version is older than3.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_resourcesif neitherimportlib.metadatanorimportlib_metadatais found, but itwill be slower.
Silently ignore
BrokenPipeErrorin the command-line interface(#2193).
The
HtmlFormatternow uses thelinespansattribute foranchorlinenosif thelineanchorsattribute is unset (#2026).The
highlight,lexandformatfunctions no longerwrongly 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
codetagifyfilter now recognizesFIXMEtags by default (#2150).The
pygmentizecommand now recognizes if theCOLORTERMenvironment variable is set to a value indicating that true-color
support is available. In that case, it uses the
TerminalTrueColorFormatterby 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
DeprecationWarningsas errors in the unit tests (#2196)v2.12.0Compare Source
(released April 24th, 2022)
Added lexers:
UnixConfigLexerfor "colon-separated" config files, like/etc/passwd(#2112)Updated lexers:
Agda: Update keyword list (#2017)
C family: Fix identifiers after
casestatements (#2084)Clojure: Highlight ratios (#2042)
Csound: Update to 6.17 (#2064)
CSS: Update the list of properties (#2113)
Elpi:
->(#2028)Futhark: Add missing tokens (#2118)
Gherkin: Add
But(#2046)Inform6: Update to 6.36 (#2050)
Jinja2: add
.xxx.j2and.xxx.jinja2to 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 theJavaScriptlexer.LilyPond:
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:
Add
pluginsargument toget_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
.resourcewith the Robot framework ([#2047](https://redirect.github.com/pygments/pygments/issues/2047Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.