Skip to content

Releases: pygments/pygments

2.19.1

06 Jan 17:27
Compare
Choose a tag to compare
  • Updated lexers:

    • Ini: Fix quoted string regression introduced in 2.19.0
    • Lua: Fix a regression introduced in 2.19.0

2.19.0

05 Jan 14:12
Compare
Choose a tag to compare
  • New lexers:

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

2.18.0

04 May 13:43
Compare
Choose a tag to compare
  • New lexers:

  • 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 <?doc?> and <?note?> 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:

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

  • Register 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)

2.17.2

21 Nov 20:44
Compare
Choose a tag to compare
  • Fix a packaging issue on macOS (#2593)

2.17.1

19 Nov 08:21
Compare
Choose a tag to compare
  • Updated lexers:

    • TOML: Fix bug making lexing of single-quoted strings too eager

2.17.0

18 Nov 13:41
Compare
Choose a tag to compare
  • New lexers:

  • 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 :doc:cmdline 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)

2.16.1

06 Aug 15:15
Compare
Choose a tag to compare
  • Fix native style missing from style list (#2484)

2.16.0

06 Aug 12:46
Compare
Choose a tag to compare
  • 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)

2.15.1

18 Apr 18:49
Compare
Choose a tag to compare
  • Updated lexers:

    • Java properties: Fix catastrophic backtracking (#2356, #2404)
  • Fix Python console traceback lexing being too strict
    and sometimes reordering output (#2407, #2410, #2412)

2.15.0

10 Apr 12:53
Compare
Choose a tag to compare
  • Added lexers:

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