You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Do you care if GitGalaxy moves its minimum Python from 3.9 to 3.11?
#3323
Short version: I'm planning to raise GitGalaxy's minimum supported Python from 3.9 to 3.11. Does that cause problems for anyone? If there are no strong objections, I'll likely make the switch in a few weeks.
Why
Faster scans for everyone, not just some languages. This is the big one. Python 3.11's "Faster CPython" work made pure-Python code about 1.25× faster on average (10–60% depending on workload, per the official What's New in Python 3.11). GitGalaxy's biggest remaining scan cost is exactly that kind of code: the per-function slicing loops that run for every file in every language. Our recent regex fixes only helped specific cases (the latest one sped up C# on roslyn but left C, TypeScript, etc. unchanged). An interpreter upgrade is the one lever that should speed up every scan. We'll measure the real number before and after rather than promise it, but we expect a meaningful gain.
Python 3.9 is already end-of-life (October 2025), and 3.10 follows in October 2026.
Regex engine features. Python 3.11 added atomic groups (?>...) and possessive quantifiers (*+) to re. GitGalaxy is regex-heavy, and these are the cleanest way to prevent catastrophic backtracking. A concrete case: a C# signature rule still times out on one huge roslyn test file, and we lose that file's function data (perf: csharp func_start exponential backtracking on adjacent [...] (still fuses a roslyn file → 0 functions) #3320). On 3.9, every fix option changes what the rule matches in edge cases.
What changes for you
You'll need Python 3.11 or newer to install new releases (requires-python = ">=3.11").
Existing releases stay installable on 3.9/3.10. Pin to the current version if you need to stay on an older interpreter.
CI will test 3.11+ only.
The question
Are you running GitGalaxy on Python 3.9 or 3.10 somewhere that would be hard to upgrade (a locked-down CI image, an enterprise distro, a mainframe-adjacent environment)? Please reply with your setup. Even a "fine by me" helps.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Short version: I'm planning to raise GitGalaxy's minimum supported Python from 3.9 to 3.11. Does that cause problems for anyone? If there are no strong objections, I'll likely make the switch in a few weeks.
Why
(?>...)and possessive quantifiers (*+) tore. GitGalaxy is regex-heavy, and these are the cleanest way to prevent catastrophic backtracking. A concrete case: a C# signature rule still times out on one huge roslyn test file, and we lose that file's function data (perf: csharp func_start exponential backtracking on adjacent [...] (still fuses a roslyn file → 0 functions) #3320). On 3.9, every fix option changes what the rule matches in edge cases.What changes for you
requires-python = ">=3.11").The question
Are you running GitGalaxy on Python 3.9 or 3.10 somewhere that would be hard to upgrade (a locked-down CI image, an enterprise distro, a mainframe-adjacent environment)? Please reply with your setup. Even a "fine by me" helps.
Tracking issue: #3322
All reactions