Update dependency pygments to >=2.20.0 [SECURITY] (3.28) - autoclosed#4100
Closed
renovate[bot] wants to merge 1 commit into3.28from
Closed
Update dependency pygments to >=2.20.0 [SECURITY] (3.28) - autoclosed#4100renovate[bot] wants to merge 1 commit into3.28from
renovate[bot] wants to merge 1 commit into3.28from
Conversation
auto-merge was automatically disabled
March 30, 2026 12:44
Pull request was closed
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.15.0→>=2.20.0CVE-2022-40896 / GHSA-mrwq-x4v8-fh7p / PYSEC-2023-117
More information
Details
A ReDoS issue was discovered in pygments/lexers/smithy.py in pygments through 2.15.0 via SmithyLexer.
Severity
Unknown
References
This data is provided by OSV and the PyPI Advisory Database (CC-BY 4.0).
Pygments has Regular Expression Denial of Service (ReDoS) due to Inefficient Regex for GUID Matching
CVE-2026-4539 / GHSA-5239-wwwm-4pmq
More information
Details
A security flaw has been discovered in pygments up to 2.19.2. 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.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:PReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
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)
Configuration
📅 Schedule: Branch creation - "" in timezone Europe/Zurich, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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.