Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: tox-dev/sphinx-autodoc-typehints
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 3.9.3
Choose a base ref
...
head repository: tox-dev/sphinx-autodoc-typehints
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 3.9.4
Choose a head ref
  • 1 commit
  • 2 files changed
  • 1 contributor

Commits on Mar 2, 2026

  1. 🐛 fix(stubs): strip all suffixes for extension modules (#652)

    `_find_stub_path()` used `Path.with_suffix(".pyi")` to locate stub files
    alongside source modules. This only replaces the *last* suffix, so
    extension modules with multi-dot filenames like
    `_cbor2.cpython-312-x86_64-linux-gnu.so` resolved to
    `_cbor2.cpython-312-x86_64-linux-gnu.pyi` instead of the correct
    `_cbor2.pyi`. 🐛 Any C extension with a platform-tagged filename would
    silently fail to find its stub.
    
    The fix splits on the first dot to extract the module name stem before
    appending `.pyi`. This matches pyright's approach and is safe because
    Python module name stems never contain dots — build tools convert dotted
    package paths (e.g. `package.submodule`) into directory hierarchies. The
    change covers all known extension suffix patterns: CPython platform tags
    (PEP 3149), stable ABI (PEP 384), free-threaded builds, debug builds,
    Windows `.pyd`, Cygwin `.dll`, and PyPy.
    
    Closes #651
    gaborbernat authored Mar 2, 2026
    Configuration menu
    Copy the full SHA
    b9efeb2 View commit details
    Browse the repository at this point in the history
Loading