Skip to content

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

Description

@olivialewke

Summary

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 that attribute unconditionally, so every semantic-release command that loads configuration now fails.

# src/semantic_release/cli/config.py:745
_commit_author_valid = Actor.name_email_regex.match(_commit_author_str)
Error:  type object 'Actor' has no attribute 'name_email_regex'

Since PSR requires gitpython ~= 3.0, a fresh install resolves to the broken version.

Affected versions

Reproduced on v10.5.3, v10.6.1, and current master (c74aa3b) — the line is unchanged across all three.

GitPython Result
3.1.59 config loads
3.1.60 AttributeError

Reproduction

The repository's own test suite reproduces it — no new test needed:

$ pip install 'gitpython==3.1.60'
$ pytest tests/unit/semantic_release/cli/test_config.py -k commit_author
E   AttributeError: type object 'Actor' has no attribute 'name_email_regex'
src/semantic_release/cli/config.py:745: AttributeError

Impact on the GitHub Action

The official action is hit hardest. src/gh_action/Dockerfile installs from src/gh_action/requirements.txt, which pins only python-semantic-release == 10.5.3 and lets transitive dependencies resolve at image-build time. Because the image is built on the runner at job start, pinned workflows that have not changed in months started failing the moment 3.1.60 was published, and there is no input or config key that lets a caller constrain what lands inside the image. Callers currently have to vendor or fork the action to pin GitPython.

Proposed fix

Keep an equivalent regex in semantic_release.const rather than reaching into GitPython's internals — GitPython no longer exposes any public equivalent, so there is nothing to migrate to. PR incoming.

Activity

  1. qthequartermasterman commented on Aug 26, 2026

    @qthequartermasterman
    Contributor

    @codejedi365 This gitpython version incompatibility is breaking releases for anyone using the github action that builds its own docker image.

  2. added 4 commits that reference this issue on Aug 28, 2026
    5089db8
    aadda06
    750988c
    e0f4f09
  3. 5 remaining items

  4. blf778 commented on Aug 28, 2026

    @blf778

    For what it's worth, GitPython released an update on August 28th at 0704 EDT (1104 UTC) that rolls back the change to Actor and makes it depricated.

  5. added 3 commits that reference this issue on Aug 28, 2026
    f9012fb
    ed6b1cb
    de86e16
  6. added a commit that references this issue on Aug 28, 2026
    10afa8e
  7. codejedi365 commented on Aug 28, 2026

    @codejedi365
    Contributor

    🎉 This issue has been resolved in v10.6.2 🎉

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

    If your issue persists, please reply here and we will re-open the issue. If you receive a new error, please open a new issue and reference this issue there.

  8. added theissue type on Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    resolvedUsed when a bug has been fixed & released

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions