GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — fix(config): replace removed `Actor.name_email_regex` from GitPython by olivialewke · Pull Request #1477 · python-semantic-release/python-semantic-release

Conversation

@olivialewke

@olivialewke olivialewke commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Fixes #1476.

What

GitPython v3.1.60 (released 2026-08-25) removed the name_email_regex class attribute from git.Actor, replacing its internal use in Actor._from_string with string partitioning. RuntimeContext.from_raw_config() reads it unconditionally, so every command that loads configuration fails with:

AttributeError: type object 'Actor' has no attribute 'name_email_regex'

Since PSR requires gitpython ~= 3.0, fresh installs — including every run of the official GitHub Action, which resolves transitive dependencies at image-build time — pick up the broken version automatically.

How

GitPython no longer exposes a public equivalent, so there is nothing to migrate to. This adds NAME_EMAIL_REGEX to semantic_release.const with the same pattern GitPython used (r"(.*) <(.*?)>") and uses it in the two places Actor.name_email_regex was referenced. Actor is still used to construct the commit author, so behaviour is unchanged — including the error message, which now interpolates .pattern to keep the same readable output.

An alternative would be to pin gitpython < 3.1.60, but that leaves users stranded on a release they may want for its security fixes.

Testing

The existing test_commit_author_configurable already reproduces the failure on GitPython 3.1.60 and passes with this change. Added direct coverage of the pattern itself so a future change to it is caught independently of GitPython.

$ pip install 'gitpython==3.1.60'
$ pytest tests/unit/semantic_release/cli/test_config.py
51 passed

ruff check reports no new findings against these files.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

matlas-lila, nkocode, browniebroke, chloe-kim1, qthequartermasterman, afuetterer, santiago-salas-iic, stevie-ops, nofar-gist, dejstheman, and 28 more reacted with hooray emoji dorjanshurdhi reacted with eyes emoji
All reactions
  • 🎉 38 reactions
  • 👀 1 reaction
elliotloftus
elliotloftus approved these changes Aug 25, 2026
View reviewed changes
@AlexTranAmz AlexTranAmz mentioned this pull request Aug 25, 2026
chore: pin GitPython for release bump OpenJobDescription/openjd-model-for-python#339
Merged
qthequartermasterman
qthequartermasterman approved these changes Aug 26, 2026
View reviewed changes
@aaaaahaaaaa aaaaahaaaaa mentioned this pull request Aug 26, 2026
fix(ci): pin GitPython below 3.1.60 in the release step digitl-cloud/interloper#280
Closed
@karlspace karlspace mentioned this pull request Aug 26, 2026
fix(ci): removed the PSR GitPython compat shim bauer-group/automation-templates#80
Merged
3 tasks
This was referenced Aug 26, 2026
Release workflow failed on main OpenAdaptAI/openadapt-evals#298
Open
feat(ci): propose the next release as a reviewable pull request OpenAdaptAI/openadapt-evals#301
Merged
@karthikbekalp karthikbekalp mentioned this pull request Aug 26, 2026
chore: pin gitpython below 3.1.60 for release bump aws-deadline/deadline-cloud-test-fixtures#324
Merged
shawnoster added a commit to shawnoster/aya that referenced this pull request Aug 26, 2026
@shawnoster
fix(release): vendor python-semantic-release's docker action to pin g…
d144bb9
…itpython (#351)

GitPython 3.1.60 (2026-08-25) removed Actor.name_email_regex, which
semantic_release.cli.config reads unconditionally — every release run
now crashes on 'type object Actor has no attribute name_email_regex'.
PSR pins gitpython ~= 3.0 (unpinned patch range), and the upstream
action's Docker image is rebuilt from PyPI at job start regardless of
which action SHA release.yml pins, so this recurs on every push to
main until upstream ships python-semantic-release/python-semantic-release#1477.

Vendors the action's Dockerfile/action.sh/action.yml unchanged, adding
only a gitpython==3.1.59 pin to requirements.txt. Verified locally:
the vendored image resolves gitpython 3.1.59 and `semantic-release
version` loads config and runs cleanly.

Revert to the upstream action once #1477 ships in a release.
@shawnoster shawnoster mentioned this pull request Aug 26, 2026
chore: revert the vendored semantic-release action once upstream fixes the GitPython pin shawnoster/aya#352
Open
@kavmur kavmur mentioned this pull request Aug 26, 2026
fix: prepare Unreal 5.8 release defaults aws-deadline/deadline-cloud-for-unreal-engine#377
Merged
@calmez calmez mentioned this pull request Aug 27, 2026
AttributeError: type object 'Actor' has no attribute 'name_email_regex' (GitPython 3.1.60) #1475
Closed
shyamsundar-shipzero
shyamsundar-shipzero approved these changes Aug 27, 2026
View reviewed changes
@sebastian-montero

sebastian-montero commented Aug 27, 2026

Copy link
Copy Markdown

oh yeah my CI is also broken

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

cyang7381
cyang7381 approved these changes Aug 27, 2026
View reviewed changes
@codejedi365

codejedi365 commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Thanks for submitting this. Very frustrating how someone else's change unidentified breaking change affects this project. Will try to get a new version published today.

afuetterer, Ruari-Phipps, renatoaug, qthequartermasterman, vreyesd, rbavery, dvmcconnell, RaHehl, catsmanac, and annesylvie-runna reacted with hooray emoji qthequartermasterman, renatoaug, virkkti2, jontwo, dorjanshurdhi, and calmez reacted with heart emoji
All reactions
  • 🎉 10 reactions
  • ❤️ 6 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@htkuan htkuan mentioned this pull request Aug 27, 2026
ci(release): pin gitpython below 3.1.60 so semantic-release can load config htkuan/ai-agent-bridge#68
Merged
@afuetterer

afuetterer commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Thanks for submitting this. Very frustrating how someone else's change unidentified breaking change affects this project. Will try to get a new version published today.

Thank you!

dorjanshurdhi reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bdraco bdraco mentioned this pull request Aug 27, 2026
0.150.0: cython 3.3.0 breaks build python-zeroconf/python-zeroconf#1818
Closed
renatoaug
renatoaug approved these changes Aug 27, 2026
View reviewed changes
@rbavery rbavery mentioned this pull request Aug 27, 2026
Undeclared breaking change affects python semantic release gitpython-developers/GitPython#2220
Closed
@abrichr abrichr mentioned this pull request Aug 27, 2026
fix: lock the semantic release runtime OpenAdaptAI/openadapt-tray#46
Merged
@JonZeolla JonZeolla mentioned this pull request Aug 27, 2026
ci(release): pin GitPython so releases can run again Zenable-io/skills#26
Merged
@bdraco bdraco mentioned this pull request Aug 28, 2026
fix: keep key= distinct from a valueless key in TXT records python-zeroconf/python-zeroconf#1813
Merged
@catsmanac

catsmanac commented Aug 28, 2026

Copy link
Copy Markdown

Thanks for submitting this. Very frustrating how someone else's change unidentified breaking change affects this project. Will try to get a new version published today.

The build is failing on exactly what is being fixed...

mykhailo-rf and NancyPalumbo reacted with confused emoji RGregat and 1greentangerine reacted with eyes emoji
All reactions
  • 😕 2 reactions
  • 👀 2 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

This was referenced Aug 28, 2026
Unpin python-semantic-release version in release.yaml once upstream fix lands rodekruis/qualitative-feedback-analysis#302
Closed
Revert workaround: restore the python-semantic-release GitHub Action in release.yaml rodekruis/qualitative-feedback-analysis#303
Open
@dorjanshurdhi

dorjanshurdhi commented Aug 28, 2026

Copy link
Copy Markdown

I ran a test in my project targeting the forked version of @olivialewke , but I am encountering the same problem.

Run olivialewke/[email protected]
/usr/local/bin/docker run --name bb84a423dcf1061594106a1d7947eebc21631_96c4bb --label 1bb84a --workdir /github/workspace --rm -e " "INPUT_STRICT" -e "INPUT_VERBOSITY" -e "INPUT_PRERELEASE" -e "INPUT_PRERELEASE_TOKEN" -e "INPUT_FORCE" -e "INPUT_COMMIT" -e "INPUT_CHANGELOG" -e "INPUT_VCS_RELEASE" -e "INPUT_BUILD" -e "INPUT_BUILD_METADATA" -e "HOME" -e "GITHUB_JOB" -e "GITHUB_REF" -e "GITHUB_SHA" -e "GITHUB_REPOSITORY" -e "GITHUB_REPOSITORY_OWNER" -e "GITHUB_REPOSITORY_OWNER_ID" -e "GITHUB_RUN_ID" -e "GITHUB_RUN_NUMBER" -e "GITHUB_RETENTION_DAYS" -e "GITHUB_RUN_ATTEMPT" -e "GITHUB_ACTOR_ID" -e "GITHUB_ACTOR" -e "GITHUB_WORKFLOW" -e "GITHUB_HEAD_REF" -e "GITHUB_BASE_REF" -e "GITHUB_EVENT_NAME" -e "GITHUB_SERVER_URL" -e "GITHUB_API_URL" -e "GITHUB_GRAPHQL_URL" -e "GITHUB_REF_NAME" -e "GITHUB_REF_PROTECTED" -e "GITHUB_REF_TYPE" -e "GITHUB_WORKFLOW_REF" -e "GITHUB_WORKFLOW_SHA" -e "GITHUB_REPOSITORY_ID" -e "GITHUB_TRIGGERING_ACTOR" -e "GITHUB_WORKSPACE" -e "GITHUB_ACTION" -e "GITHUB_EVENT_PATH" -e "GITHUB_ACTION_REPOSITORY" -e "GITHUB_ACTION_REF" -e "GITHUB_PATH" -e "GITHUB_ENV" -e "GITHUB_STEP_SUMMARY" -e "GITHUB_STATE" -e "GITHUB_OUTPUT" -e "GITHUB_ARTIFACTS" -e "GITHUB_ARTIFACTS_LIST" -e "RUNNER_OS" -e "RUNNER_ARCH" -e "RUNNER_NAME" -e "RUNNER_ENVIRONMENT" -e "RUNNER_TOOL_CACHE" -e "RUNNER_TEMP" -e "RUNNER_WORKSPACE" -e "ACTIONS_RUNTIME_URL" -e "ACTIONS_RUNTIME_TOKEN" -e "ACTIONS_CACHE_URL" -e "ACTIONS_ID_TOKEN_REQUEST_URL" -e "ACTIONS_ID_TOKEN_REQUEST_TOKEN" -e "ACTIONS_RESULTS_URL" -e "ACTIONS_ORCHESTRATION_ID" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/codebuild/output/src2915708411/src/actions-runner/_work/_temp":"/github/runner_temp" -v "/codebuild/output/src2915708411/src/actions-runner/_work/_temp/_github_home":"/github/home" -v "/codebuild/output/src2915708411/src/actions-runner/_work/_temp/_github_workflow":"/github/workflow" -v "/codebuild/output/src2915708411/src/actions-runner/_work/_temp/_runner_file_commands":"/github/file_commands" -v "/codebuild/output/src2915708411/src/actions-runner/_work/pdnd-airflow-dags/pdnd-airflow-dags":"/github/workspace" 1bb84a:423dcf1061594106a1d7947eebc21631
$> /opt/psr/.venv/bin/semantic-release -v version --tag --push
[10:35:05] INFO     Loading configuration from pyproject.toml         util.py:77
           WARNING  Found .git/ in higher parent directory rather  config.py:412
                    than provided in configuration.                             
           INFO     Using group 'main' options, as '(main)'        config.py:603
                    matches 'main'                                              
Error:  type object 'Actor' has no attribute 'name_email_regex'
Run semantic-release in very verbose mode (-vv) to see the full traceback.
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ramundomario

ramundomario commented Aug 28, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

GitPython 3.1.61 has been released & bring back, adding a deprecation notice, the unwanted breaking change in gitpython-developers/GitPython#2221

So I guess that this should be fixed, though it would be better to still handle this since the field is deprecated & will be removed in next major release (4.x)

bogdal, qthequartermasterman, and renatoaug reacted with heart emoji
All reactions
  • ❤️ 3 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@catsmanac

catsmanac commented Aug 28, 2026

Copy link
Copy Markdown

So I guess that this shoudl be fixed,

My PSR just finished successful again :-)

ramundomario reacted with rocket emoji
All reactions
  • 🚀 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@codejedi365
test(config): add unit tests for config loading of commit author
8d3bf1d
@codejedi365
codejedi365 force-pushed the fix-gitpython-3.1.60-actor-regex branch from 4ad93f1 to ed6b1cb Compare August 28, 2026 19:29
@codejedi365
fix(config): validate commit author in config internally
de86e16
With the change in GitPython v3.1.60, they removed the regex for a
commit author string, so we must do it ourselves.

Resolves: python-semantic-release#1476
@codejedi365
codejedi365 force-pushed the fix-gitpython-3.1.60-actor-regex branch from ed6b1cb to de86e16 Compare August 28, 2026 19:46
@codejedi365
codejedi365 merged commit 10afa8e into python-semantic-release:master Aug 28, 2026
9 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@codejedi365

codejedi365 commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR has been published as part of v10.6.2 🎉

You can find more information about this release on the GitHub Releases page.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@irfanuddinahmad irfanuddinahmad mentioned this pull request Aug 31, 2026
fix: revert PSR gitpython workaround now that upstream is fixed openedx/event-tracking#438
Merged
2 tasks
bmtcril pushed a commit to openedx/event-tracking that referenced this pull request Aug 31, 2026
@irfanuddinahmad @claude
fix: revert PSR gitpython workaround now that upstream is fixed
5678c66
python-semantic-release/python-semantic-release#1477 (merged 2026-08-28,
released in v10.6.2) fixes the GitPython 3.1.60 break that #435/#436
worked around. Reverts both back to using the official Docker action
(bumped v10.6.1 -> v10.6.2) and its pip-based build_command, since the
Docker image doesn't have uv available.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
irfanuddinahmad pushed a commit to irfanuddinahmad/openedx-core that referenced this pull request Sep 1, 2026
test @claude
fix: address salman2013's review comments
383556f
- Bump PSR to v10.6.2 (v10.6.1 hits the GitPython 3.1.60 break upstream
  fixed in python-semantic-release/python-semantic-release#1477)
- __init__.py: give __version__ a fallback instead of leaving it undefined
- Drop the redundant legacy .readthedocs.yml, keep .readthedocs.yaml
  (ported its fail_on_warning: true so nothing is lost)
- Restore ci.yml's push trigger alongside workflow_call

Co-Authored-By: Claude Sonnet 5 <[email protected]>
irfanuddinahmad added a commit to irfanuddinahmad/openedx-core that referenced this pull request Sep 1, 2026
@irfanuddinahmad @claude
fix: address salman2013's review comments (release.yml, __init__.py, …
2dd1d84
…ci.yml)

- Bump PSR to v10.6.2 (v10.6.1 hits the GitPython 3.1.60 break upstream
  fixed in python-semantic-release/python-semantic-release#1477)
- __init__.py: give __version__ a fallback instead of leaving it undefined
- Restore ci.yml's push trigger alongside workflow_call

Co-Authored-By: Claude Sonnet 5 <[email protected]>
shawnoster added a commit to shawnoster/aya that referenced this pull request Oct 14, 2026
@shawnoster
chore(release): link the gitpython-pin vendoring to its tracking issue (
de1c2e7
#353)

Points the vendored Dockerfile/requirements.txt/release.yml comments
at #352, which tracks reverting to the upstream action
once python-semantic-release/python-semantic-release#1477 ships.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

5 more reviewers
@renatoaug renatoaug renatoaug approved these changes
@qthequartermasterman qthequartermasterman qthequartermasterman approved these changes
@elliotloftus elliotloftus elliotloftus approved these changes
@shyamsundar-shipzero shyamsundar-shipzero shyamsundar-shipzero approved these changes
@cyang7381 cyang7381 cyang7381 approved these changes
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Bug: GitPython v3.1.60 removed Actor.name_email_regex, breaking every config load

Uh oh!

There was an error while loading. Please reload this page.

12 participants

@olivialewke @sebastian-montero @codejedi365 @afuetterer @catsmanac @dorjanshurdhi @ramundomario @renatoaug @qthequartermasterman @elliotloftus @shyamsundar-shipzero @cyang7381
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.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.