# What changed in sphinx-autodoc-typehints

> 135 changes in sphinx-autodoc-typehints 3 from its official release notes, upgrade guides and advisories: 6 breaking, 9 new APIs and options. Each one cited. Sources checked 2026-10-22. HTML: https://unstale.sh/pypi/sphinx-autodoc-typehints/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## sphinx-autodoc-typehints 3

### Breaking changes

- Invalid formatter and defaults settings report configuration errors; an empty formatter result hides the type and removes fields it empties. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- The setting defaults to `autodoc_typehints_format = "fully-qualified"`; an explicit value still takes precedence. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- The docs extra was removed. (3.7.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.7.0)
- The testing extra was removed. (3.7.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.7.0)
- Compatibility with Sphinx 9.1 is fixed; Sphinx 9.1 and Python 3.12 or later are now required. (3.6.2) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.6.2)
- Uses the Sphinx 9 class interface and requires Sphinx 9.0.4 or later. (3.6.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.6.0)

### New APIs and options

- Adds a default style that marks parameters callers may omit without printing their default values. (3.17.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.17.0)
- Adds an option to render legacy typing aliases with current Python spelling. (3.17.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.17.0)
- Configure selected Annotated metadata to appear in rendered types. (3.15.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.15.0)
- A `@typing.override` method gains an `Overrides` field linking to the base-class member it replaces. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- A property gains a `Setter accepts` field when its setter annotation differs from the getter return type. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- The PEP 695 type statement is supported on Python 3.12+. (3.10.3) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.10.3)
- TypeAliasType is supported on Python 3.12+. (3.10.3) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.10.3)
- Adds a docstring marker to turn off overload rendering. (3.9.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.0)
- Adds an option to turn off overload rendering. (3.9.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.0)

### Performance

- The extension avoids importing every module in an intersphinx inventory and stops unwrapping at Sphinx mocks, reducing unnecessary work. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)

### Behavior and default changes

- Callbacks can read descriptions from Annotated metadata classes other than Doc. (3.17.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.17.0)
- Read Doc descriptions from annotated-doc as well as typing_extensions. (3.16.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.16.0)
- Keep single-word prose in hand-written :Returns: fields. (3.16.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.16.0)
- Choose a guard's branch using the build platform and false constants, and skip guards with other conditions that cannot be determined without running code. (3.16.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.16.0)
- When typehints_formatter_pass_context is enabled, the formatter receives whether a type appears in a parameter, return, attribute or base. (3.15.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.15.0)
- Added parameters appear in signature order among documented parameters, and incremental builds reread sources when the setting changes. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Dataclass and attrs default factories render as calls in signatures and fields; lambdas, partials and nested functions retain `<factory>`. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Types inherited from generic bases substitute the type arguments bound by the subclass, including parameters, returns, attributes, properties, overloads and TypedDict keys. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- `ivar`, `cvar` and `var` fields obtain types from class-body and base-class annotations, with `ClassVar` and `Final` qualifiers removed. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Napoleon attribute entries can be typed from `__init__` annotations unless disabled; existing `:type:` documentation takes precedence. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Function, class and type-alias signatures show PEP 695 parameters, including bounds, constraints and defaults; declared parameters render by name. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Documentation follows custom `__signature__` values and preserves explicit directive or docstring signatures when their parameters differ from the object. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Documented keyword arguments from `Unpack[TypedDict]` are typed; optional keys show as `NotRequired[...]`, and PEP 728 classes gain an `Extra items` field. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Defaults appear on their own parameter when docstrings already contain type lines, and are placed after the final plain description paragraph. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- With this setting false, return types are merged into `:returns:` descriptions, including existing `:rtype:` fields and multiline descriptions. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Types retained in signatures use the same rendering as fields, including aliases, guarded imports, fully qualified names and the formatter; overloads show one typed signature per variant. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Unpacked TypeVarTuples and tuples render with the PEP 646 star syntax. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Subscripted type aliases are now supported. (3.13.2) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.2)
- Sphinx error tracebacks now report the extension version, making it easier to identify which version produced an error. (3.10.3) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.10.3)
- Use `Doc(...)` metadata in `Annotated[T, Doc(...)]` as the parameter description. (3.8.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.8.0)
- Use annotationlib on Python 3.14+ to partially resolve forward references. (3.8.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.8.0)
- Render @overload variants in the docstring. (3.8.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.8.0)
- Keep type aliases documented with the `.. py:type::` directive instead of expanding them. (3.8.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.8.0)
- Warnings now include the source location. (3.8.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.8.0)

### Fixes and other changes

- Overridden methods link to a documented public owner when their defining class is private and absent from the intersphinx inventory. (3.17.2) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.17.2)
- The setting is now honored when reading types from a function's # type: comment. (3.16.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.16.0)
- Loading the extension no longer changes html_static_path because the value stylesheet is registered through Sphinx's static-directory API. (3.16.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.16.0)
- Recognize numpydoc return types containing spaces. (3.16.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.16.0)
- Method signatures of classes defined inside functions are processed when the module exports the class under a name autodoc can import. (3.15.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.15.0)
- An unchanged incremental build no longer reports html_static_path as changed after the extension adds its stylesheet. (3.15.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.15.0)
- Inherited special methods of a generic subclass are documented without raising an error about subscripting an already-subscripted typing.Generic. (3.15.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.15.0)
- The setter's type is shown instead of failing the build when Annotated metadata raises during comparison with the getter type. (3.15.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.15.0)
- Descriptions in hand-written :Returns: fields are kept rather than interpreted as numpydoc return types. (3.15.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.15.0)
- Imports under if TYPE_CHECKING and False are skipped instead of resolving types the branch never defines. (3.15.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.15.0)
- Incremental builds reread documents when the formatter changes, updating rendered types without requiring sphinx-build -E. (3.15.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.15.0)
- With `both`, constructor parameters are listed once, including those added by `always_document_param_types` or `Doc()`. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- The extension loads `sphinx.ext.autodoc` before connecting to its events, avoiding `Unknown event name` when autodoc is listed later or omitted. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Subscripted and union types from mocked modules render and link correctly; mocked constructors, setters and overloads no longer abort unwrapping. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Documented aliases link to their own entries and resolve according to Python name lookup, including entries read later in the build. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Return types in description mode are placed after the appropriate parameter field list, rather than before later docstring structures. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Unparseable string annotations render as written with a `forward_reference` warning instead of aborting the build; other annotations remain resolvable when one fails. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Generator return annotations provide a `Yields` section when the docstring has `Returns`; yielded types are shown without replacing types already stated in the docstring. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Overload entries link their types, preserve parameter markers, defaults and variadic stars, and omit `self` and `cls` where appropriate. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- ParamSpec arguments, `P.args` and `P.kwargs` render in their appropriate forms and retain links to the declared parameter specification. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Sentinels render by name as `py:data` references rather than links to a nonexistent `sentinel` class. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Signatures for cached functions and unbound ParamSpecs are handled correctly, including Python 3.14 annotation and generator cases. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Annotation evaluation failures no longer crash builds or drop objects, and inferred stub or type-comment annotations do not mutate `__annotations__`. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Stub imports, version-guarded definitions, overloads and re-exports are resolved; pages using a stub are reread when it changes. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Guarded imports and definitions resolve across supported guard forms and module relationships without replacing runtime bindings or changing module members. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Defaults are rendered consistently across docstring parameter forms, with stable representations and placement that avoids trailing lists, directives and literal blocks. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- When overload documentation is disabled, the `:no-overloads:` marker is removed from output. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Setting this option to false hides `Annotated[None, ...]` as a return type. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- The setting no longer causes an unpickleable-configuration warning, and documents are reread only when its function source changes. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- The formatter applies consistently to signature types and data, attribute and property headers; Sphinx config is passed when formatting signatures. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- The decorator's message appears as a deprecation notice below the summary. (3.14.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.14.0)
- Annotating with the TypeVar or ParamSpec class itself no longer prints its member descriptors. (3.13.10) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.10)
- A bare Literal renders without empty brackets. (3.13.10) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.10)
- Type hints are no longer printed in signatures of NamedTuple classes and classes that only define __new__, matching other classes. (3.13.10) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.10)
- Supported typing names, including ParamSpecArgs and ParamSpecKwargs on Python 3.12, link to the Python docs instead of rendering as unresolved text. (3.13.10) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.10)
- Fixes the forward-reference warning when documenting NumPy's clip by resolving generic parameters declared in stub signatures. (3.13.9) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.9)
- Resolves field types of a NamedTuple imported under TYPE_CHECKING when Sphinx documents the class before any function from its module, removing a forward-reference warning. (3.13.8) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.8)
- Dependencies imported only in TYPE_CHECKING blocks can be mocked when not installed, allowing their types to render as cross-references without a Failed guarded type import warning. (3.13.7) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.7)
- Undocumented type aliases are expanded, while documented aliases keep their names, regardless of documentation order. (3.13.6) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.6)
- Fixes a NameError crash when a PEP 695 alias defined in another module uses names imported under TYPE_CHECKING. (3.13.5) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.5)
- Annotations carrying an intersphinx external+ role no longer trigger an unknown role name warning. (3.13.4) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.4)
- A failing TYPE_CHECKING statement no longer causes comprehension and loop targets to shadow builtins such as type in rendered annotations. (3.13.4) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.4)
- Fixes an ExtensionError about _annotation_globals that occurred when documenting one object started documenting another. (3.13.3) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.3)
- Docstrings referencing another project through an intersphinx external+ role no longer produce an unknown role name warning. (3.13.3) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.3)
- Expressions rejected by the interpreter inside a TYPE_CHECKING block no longer emit guarded type import or forward-reference warnings; their names render as forward references. (3.13.3) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.3)
- Processes each top-level statement separately, preventing an unimportable name from leaving later names unbound or a missing stub from causing cascading forward-reference warnings. (3.13.1) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.1)
- Fixes a TypeError crash when a module imports TypeAliasType whose __type_params__ is not a tuple. (3.13.1) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.1)
- Python 3.15 is now supported. (3.13.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.13.0)
- Resolves self-references in recursive PEP 695 aliases defined in another module, fixing a nitpick warning. (3.12.1) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.12.1)
- Renders self-referential PEP 695 type aliases instead of aborting with a recursion-depth error. (3.12.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.12.0)
- The one-line summary of overloaded functions appears above the overload list. (3.11.1) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.11.1)
- On Python 3.13+, types module members use the py:class role to match the Python documentation. (3.11.1) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.11.1)
- Types of C extension properties and attributes are taken from their .pyi stub. (3.11.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.11.0)
- The extension now survives errors raised when Python 3.14 lazily evaluates annotations, such as a non-subscriptable generic. (3.10.6) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.10.6)
- Parameters with trailing underscores documented through napoleon now retain their type and default. (3.10.6) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.10.6)
- The first parameter of methods bound on class instances is kept. (3.10.5) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.10.5)
- Use the py:class role for Ellipsis and NotImplementedType on Python 3.13+, matching the Python docs. (3.10.5) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.10.5)
- Fixes a NameError crash on Python 3.14 when annotations use names imported only under TYPE_CHECKING. (3.10.4) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.10.4)
- Type hints for PyO3, pybind11, and nanobind native submodules are resolved from their stubs. (3.10.3) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.10.3)
- Fixes a cache warning that occurs when typehints_formatter is set. (3.10.3) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.10.3)
- Malformed :ivar fields, such as a bare :ivar :, are tolerated instead of causing a crash. (3.10.2) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.10.2)
- Annotations of functions decorated with @typing.no_type_check are now shown. (3.10.1) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.10.1)
- Instance variables documented with :ivar: and annotated in __init__ now receive a :vartype: field. (3.10.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.10.0)
- Documented union aliases from an intersphinx inventory no longer replace every X | Y annotation. (3.10.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.10.0)
- Imports inside if blocks of .pyi stubs are now resolved. (3.9.11) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.11)
- Stub-only definitions such as TypeVar and TypedDict are evaluated when resolving annotations. (3.9.11) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.11)
- Fixes spurious forward-reference warnings when the same stubbed object is documented through several import paths. (3.9.10) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.10)
- Parameter annotations are taken from stubs instead of class variables. (3.9.10) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.10)
- Relative imports in .pyi stubs are resolved. (3.9.9) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.9)
- Keeps a blank line after a field list when replacing napoleon :type: fields, preventing a “Field list ends without a blank line” warning. (3.9.8) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.8)
- Resolves field annotations from the NamedTuple class, fixing forward-reference warnings when using from __future__ import annotations. (3.9.7) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.7)
- Finds stubs at the parent package level for C and Rust extension functions it re-exports. (3.9.6) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.6)
- Names imported only in .pyi stubs are resolved, allowing stub types to render as cross-references. (3.9.5) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.5)
- Finds stubs for extension modules with platform-tagged filenames. (3.9.4) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.4)
- Builtin types such as dict no longer resolve to an intersphinx alias such as wsgiref.types.WSGIEnvironment. (3.9.3) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.3)
- Fixes an AttributeError when handling intersphinx objects without __qualname__. (3.9.2) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.2)
- Fixes an AttributeError when reading the intersphinx inventory on Sphinx 9.1. (3.9.1) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.1)
- Resolves forward references in nested attrs classes. (3.9.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.0)
- Classes whose __module__ points to a private module are remapped to their documented path using intersphinx inventories. (3.9.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.9.0)
- Read attribute types of classic `@attr.s` classes from `attr.ib(type=...)`. (3.8.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.8.0)
- Resolve type hints from `.pyi` stub files for C extensions and other compiled modules. (3.8.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.8.0)
- Return types are skipped for generators whose docstring has a `Yields` section. (3.7.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.7.0)
- Fixes a `KeyError` for methods missing from the parent class `__dict__`. (3.7.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.7.0)
- Enum members in `Literal` types are linked. (3.7.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.7.0)
- NewType is rendered as its name followed by its supertype. (3.7.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.7.0)
- PEP 695 type parameters in annotations are resolved when `from __future__ import annotations` is used. (3.7.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.7.0)
- An injected `:rtype:` is separated from the preceding paragraph. (3.7.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.7.0)
- Directives no longer run twice while locating the `:rtype:` insertion point, preventing duplicate IDs with extensions such as sphinx-needs. (3.7.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.7.0)
- ImportError from third-party packages' `TYPE_CHECKING` blocks no longer triggers a warning. (3.7.0) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.7.0)
- Fix an IndexError when this option is used with typehints_defaults = "braces-after". (3.6.3) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.6.3)
- Fix a warning when documenting __new__ of NamedTuple subclasses. (3.6.3) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.6.3)
- Rendered output no longer includes an extra () after NewType. (3.6.3) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.6.3)
- Fix a ValueError for objects with circular __wrapped__ chains. (3.6.3) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.6.3)
- Type hints now keep Annotated metadata and the Required, NotRequired, and ReadOnly qualifiers. (3.6.1) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.6.1)
- A parameter without an annotation but with a default value retains its type from the docstring. (3.5.2) — [release notes](https://github.com/tox-dev/sphinx-autodoc-typehints/releases/tag/3.5.2)
