Release notes
These release notes are based on Keep a Changelog. sphinx-codeautolink adheres to Semantic Versioning.
0.20.0 (2026-11-08)
Inject links while each page is written, instead of rewriting the HTML files after the build. This makes builds faster, and fixes links missing from pages that Sphinx rewrites without their source changing, such as the parent of a renamed toctree entry (#205)
Don’t link names assigned from a call returning a union such as
Foo | Bartotyping.Unionon Python 3.14Support Python 3.15 officially, and remove support for 3.10 (#206)
Link assignments from builtins (#207)
Avoid crashing in dict comprehensions with
**unpacking (#208)Link names in bounds and defaults of type parameters (#209)
Track
typealias statements (#210)Link comprehension targets from the iterable (#211)
0.19.0 (2026-07-29)
Only add a hover title to links when the resolved location of the object differs from the linked code, and add
codeautolink_disable_link_titlesto disable the titles altogether (#200)Fix “Could not match transformation” warnings for assignments to attributes such as
thing.attr = 1(#201)Resolve
typing.Selfreturn annotations, respecting inheritance so aSelf-returning method accessed through a subclass or mixin resolves to the accessing class rather than the class it’s defined on (#147)
0.18.1 (2026-04-30)
Recognize aliased
TYPE_CHECKINGimports such asfrom typing import TYPE_CHECKING as _TYPE_CHECKING(#199)
0.18.0 (2026-04-25)
Support module attributes and class aliases (#65)
Resolve for-loop iterables into targets.
for target in lib.iterable():now linkstarget.method()in the loop body (#196)Resolve return annotations that reference names imported inside
if TYPE_CHECKING:and similar blocks (#197)Support Python 3.14 officially (#198)
0.17.5 (2025-07-09)
Add
Pythonto default lexers (#194)
0.17.4 (2025-03-07)
Fix backreference links using relative URIs (#190)
0.17.3 (2025-03-06)
0.17.2 (2025-03-02)
Support
testsetupfromsphinx.ext.doctestas another type of preface (#186)
0.17.1 (2025-02-24)
0.17.0 (2025-02-18)
Added
Add more Pygments lexer aliases in code blocks (#160)
Introduce
codeautolink_warn_on_no_backreferenceto highlight where reference documentation does not appear to have a corresponding tutorial or how-to (#161)Support the
defaultlexer, literal blocks,.. highlight::directive andhighlight_languageconfiguration (#166)Add
codeautolink_warn_on_default_parse_failto warn about failing to link code blocks without a language parameter (#166)Detect and implicitly use
pyconlexer for blocks that look like console code (#168)
Fixed
0.16.2 (2025-01-16)
Fix regression in not handling malformed return types (#159)
0.16.1 (2025-01-15)
Fix regression in not handling invalid return type hints (#158)
0.16.0 (2025-01-11)
0.15.2 (2024-06-03)
Fix matching of
import a, b(#142)
0.15.1 (2024-04-17)
0.15.0 (2023-02-05)
0.14.1 (2023-01-30)
Fix added debug info on failed resolving crashing the build (#134)
0.14.0 (2023-01-28)
Add configuration for mapping inventory locations (
codeautolink_inventory_map) (#131)Improve warning messages to include debugging hints (#131)
Fix AnnAssigns with no links not overwriting values (#133)
0.13.2 (2023-01-26)
Fix parsing IPython blocks that had a leading comment (#130)
0.13.1 (2023-01-16)
Fix IPython block parsing where output is not prefixed with Out (#129)
0.13.0 (2023-01-08)
0.12.1 (2022-11-05)
0.12.0 (2022-09-14)
0.11.0 (2022-06-08)
Support Python 3.10 (#33)
Include the expected location of a type in
codeautolink_warn_on_failed_resolvefor debugging (#106)Define extension environment version for Sphinx (#107)
Merge environments only when the extension is active (#107)
Link arguments and annotated assignment with type hints (#108)
0.10.0 (2022-01-25)
Don’t try to link empty name between two subsequent calls (#96)
Introduce
codeautolink_warn_on_missing_inventoryandcodeautolink_warn_on_failed_resolveto issue additional warnings when linking or resolving an object fails (#97)Support callable classes (#98)
0.9.0 (2022-01-13)
0.8.0 (2021-12-16)
Correctly test for optional types in annotations (#72)
Don’t check for
notranslateCSS class, allowing for additional classes (#75)Allow to specify block parsers as importable references (#76)
Allow parallel builds (#77)
Automatic support for
ipython3code blocks (#79)Correctly produce links for
pycode blocks (#81)
0.7.0 (2021-11-28)
0.6.0 (2021-11-21)
Remove text decoration from produced links (#3)
Turn autodoc integration off by default (#58)
Avoid index error when handling syntax errors (#60)
Construct fully-qualified names more strictly to avoid hiding other issues (#61)
Resolve string annotations in the module scope (#62)
Correctly ensure that return annotations are valid types (#63)
Resolve imported functions to their original location if a documentation entry is not found in the used location (#64)
Fix multi-target assignment and unpacked assignment (#66)
Correctly accept
Noneas a custom block transformer (#67)Document support for
sphinx.ext.doctestblocks (#67)
0.5.1 (2021-11-20)
Fix intersphinx links in documents inside folders (#56)
0.5.0 (2021-11-07)
This release changes an internal API. Please delete the cache file before building documentation.
Link import statements (#42)
Gracefully handle functions that don’t have an annotations dict (#47)
Enable configurations without autodoc (#48)
Support custom code block syntax (#49)
Fix crash on annotation-only assignment (#50)
Fix issue with filenames that have dots (#52)
Correctly remove extension when building non-HTML documentation (#53)
Support searching extra CSS classes for code example matching (#54)
Add configuration for global default concatenation state (#55)
0.4.0 (2021-10-08)
0.3.0 (2021-10-05)
Treat optional types as their underlying type (#21)
Improve
autolink-examplesargument structure and provide an option making a collapsible table (#25)Rename directives for consistency (#27)
Correctly link decorators (#28)
Move cache to Sphinx doctree directory (#29)
Support Python console blocks (#30)
Add configuration for default import statements (#31)
Support star imports (#32)
Accept multiline prefaces (#35)
Fix autodoc injection on one-line docstrings (#36)
0.2.1 (2021-10-01)
Fix type resolving for class instances (#24)
0.2.0 (2021-10-01)
0.1.1 (2021-09-22)
0.1.0 (2021-09-22)
Initial release