Skip to content

chore(deps): bump pygments from 2.19.2 to 2.20.0#2

Closed
dependabot[bot] wants to merge 40 commits into
masterfrom
dependabot/uv/pygments-2.20.0
Closed

chore(deps): bump pygments from 2.19.2 to 2.20.0#2
dependabot[bot] wants to merge 40 commits into
masterfrom
dependabot/uv/pygments-2.20.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Mar 30, 2026

Copy link
Copy Markdown

Bumps pygments from 2.19.2 to 2.20.0.

Release notes

Sourced from pygments's releases.

2.20.0

  • New lexers:

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

Changelog

Sourced from pygments's changelog.

Version 2.20.0

(released March 29th, 2026)

  • New lexers:

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

Commits
  • 708197d Fix underline length.
  • 1d4538a Prepare 2.20 release.
  • 2ceaee4 Update CHANGES.
  • e3a3c54 Fix Haskell lexer: handle escape sequences in character literals (#3069)
  • d7c3453 Merge pull request #3071 from pygments/harden-html-formatter
  • 0f97e7c Harden the HTML formatter against CSS.
  • 9f981b2 Update CHANGES.
  • 1d88915 Update CHANGES.
  • c3d93ad Fix ASN.1 lexer: recognize minus sign and fix range operator (#3060)
  • 4f06bcf fix bad behaving backtracking regex in CommonLispLexer
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

…istinguish viewer roles (read-only vs quiz form)
Root cause: Each open_viewer() call created a new tk.Tk() in a daemon thread.
When Feature A and Feature B viewers were open simultaneously, multiple
tk.Tk() instances across threads caused a C-level segfault in tkinter.

Fix: Use a single dedicated tkinter thread with one tk.Tk() root (hidden).
All viewer windows are created as tk.Toplevel() via a queue-based dispatch.
This allows multiple viewers to coexist safely.
tk.StringVar() requires an explicit master when no default root
window exists. After the Toplevel refactor, the hidden root is not
registered as the tkinter default, so StringVar(value='') raised
'Too early to create variable: no default root window'.

Fix: pass master=topic_frame to tk.StringVar().
_determine_output_folder previously reused the cached output_folder_path
from state.json even after the user changed input_folders in settings.
Now it checks whether the existing output folder's parent matches the
current input_folders[0] and re-determines the output path if they differ.
winotify sets tag=title by default. Windows silently replaces
notifications with the same tag+group instead of showing a new popup.
Added unique timestamp suffix to toast.tag on all Notification
instances so each notification is treated as a new one.
- Section boundary regex stopped at any ## heading, truncating the section
  before Q1/Q2 were reached. Now stops only at the next topic_key marker.
- Q1/Q2 regex did not handle markdown heading format (## Q1  Multiple Choice).
  Updated to match #{1,4} prefixed headings, em-dash, and other variations.
- Replaced hardcoded Japanese fallback strings with i18n t() calls and added
  scorer.question_extraction_failed / scorer.source_not_found keys.
The previous unique-tag fix (ec876a1) caused notifications to accumulate
in Action Center. Windows suppresses popup banners when multiple
notifications from the same app pile up.

New approach: inject History.Clear(appId) into the PowerShell script
just before Notifier.Show(). This removes stale notifications so every
Show() creates a fresh notification with a visible popup banner.

Removed the timestamp-tag workaround; default tag (= title) is now
sufficient since old notifications are always cleared first.
- extract_topic_keys(): filter out topic_key markers whose heading
  starts with Q1/Q2 (LLM places separate markers per question)
- _extract_quiz_questions(): skip Q1/Q2 heading markers when finding
  section boundaries so question text stays within the section
- Update Q1/Q2 text extraction regex to handle English headings
  (## Q1  Multiple Choice, ### Q2  Free-Form) in addition to
  Japanese format (**Q1(4択)**)
- Add Quiz Results section boundary to prevent bleed-through
Windows 11 (build 26100+) requires an AppUserModelID-registered
Start Menu shortcut for toast notifications to show popup banners.
Without it, notifications go to Action Center silently.

- Add _ensure_start_menu_shortcut(): creates .lnk in Start Menu with
  AUMID set via IPropertyStore (SHGetPropertyStoreFromParsingName)
- Simplify _toast_show_with_clear(): register shortcut (once),
  clear history, then delegate to native toast.show()
- Add _clear_notification_history(): separate PowerShell subprocess
  for History.Clear() before showing new notification
- Add check_and_run_missed_jobs() to Scheduler for post-sleep/restart recovery
- Add _should_catchup() and _parse_day_of_week_set() helper functions
- Add last_run_a_at / last_run_b_at tracking to StateManager
- Integrate catchup check into main.py startup flow
- Add test_scheduler.py with unit tests
…Windows sleep

- APScheduler's Event.wait() uses WaitForSingleObjectEx on Windows which does
  not count time elapsed during sleep, causing scheduled jobs to never fire
  after resume
- Add watchdog thread that checks wall clock every 30s and calls
  scheduler.wakeup() when a gap >90s is detected (sleep/wake)
- Register sleep-wake callback in main.py to re-run catchup logic on resume
- Increase misfire_grace_time from 3h to 15h for same-day recovery
- Remove elapsed time limit from startup catchup (_should_catchup)
- Add 4 watchdog tests (27 scheduler tests total, 194 all pass)
shitada and others added 10 commits March 6, 2026 12:13
- LLM sometimes places <!-- topic_key --> on Q1/Q2 headings instead of
  topic headings, causing _is_question_title filter to drop all markers
- Add fallback in extract_topic_keys: when all markers are filtered out,
  deduplicate by topic_key and use them anyway
- Add debug logging for link clicks in viewer
- Re-set on_link_click on _html after load_html for robustness
- Add 7 extract_topic_keys tests (200 total, all pass)
- Platform-aware npx command: npx.cmd on Windows, npx on others
- Fixes WorkIQ MCP always timing out due to subprocess resolution failure
- Add TestGenerateBriefingA tests for WorkIQ MCP configuration
- Add timeout and max_retries to WorkIQMcpConfig (default 60s, 1 retry)
- _call_with_retry now accepts configurable max_retries parameter
- WorkIQ failures trigger diagnostic: npx availability, GitHub API connectivity
- Phase-level timing logs for create_session / send_and_wait
- Add 5 new tests for WorkIQ timeout/retry/fallback behavior
- Retry start() up to 3 times with 5s delay on failure
- Fixes TimeoutError during SDK ping/handshake phase
- Add 2 tests for start retry behavior
- Register event handler on each session to capture TOOL_EXECUTION_START/COMPLETE
- Log tool name, MCP server/tool name, and result summary (truncated to 200 chars)
- Enables diagnosing WorkIQ internal failures that SDK does not surface as errors
…d Q2

- Deduplicate topic_matches by topic_key after filtering
- LLM sometimes puts topic_key comments on both Q1 and Q2 sections
  with custom titles that bypass _is_question_title filter
- Fixes: same topic rendered as 2 separate answer panels (4 fields instead of 2)
Bumps [pygments](https://github.com/pygments/pygments) from 2.19.2 to 2.20.0.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](pygments/pygments@2.19.2...2.20.0)

---
updated-dependencies:
- dependency-name: pygments
  dependency-version: 2.20.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Mar 30, 2026
@shitada shitada closed this Apr 7, 2026
@dependabot @github

dependabot Bot commented on behalf of github Apr 7, 2026

Copy link
Copy Markdown
Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot dependabot Bot deleted the dependabot/uv/pygments-2.20.0 branch April 7, 2026 08:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant