Versions follow Semantic Versioning (<major>.<minor>.<patch>
).
- NamedTuples that have been created with functional syntax are documented as a class (#485)
- #484, #490, #498
- Document packages and modules under a single "submodules" heading (#450)
- Fix crash when __init__ is assigned to (#488)
- Fix documenting incorrect attributes from __init__ (#497)
- #426, #462, #491, #492
- Fix types missing from documentation generated by autodoc-style directives. (#473)
Fix all class members missing when documenting a module with the same name as a standard library module
Members inherited from the standard library can also have their skip value overridden by autoapi-skip-member. (#478)
- Updated all github actions.
- Do not document members inherited from standard library classes. (#467)
- Fix instance attributes not being documented by inherited-members (#477)
- #425
- Fix the parser returning a dictionary instead of a list in the empty parse scenario
- Rename testenvs to all follow similar naming style
- Fix error or duplicates when __init__ assigns to a property (#466)
- functools.cached_property is considered a property (#436)
- Gracefully handle no objects being rendered (#448)
- Fix ignoring undocumented instance attributes (#451)
- Removed ability for autoapi_template_dir to be relative to cwd. This was supposed to have been retired in v3 (#457)
- Removed autoapi_include_summaries option. This was supposed to have been retired in v3
- #428, #449
- Fix imported members being rendered in modules (#452)
- Fix private subpackages causing orphan pages (#446)
- Objects can render to their own page (#226)
- Render PEP-695 type aliases as TypeAlias assignments. (#414)
- Values are always rendered for TypeAlises and PEP-695 type aliases. (#224)
- Fix submodule with __init__.pyi documented as __init__ instead of submodule name (#398)
- Fix IndexError when a module docstring contains only a heading (#412)
- Preserve strings inside Literal type annotations (#423)
- Stopped using xrefs in page titles (#427)
- Fix unpickable configuration value warning when using autoapi_prepare_jinja_env (#445)
- Fix emitting ignore event twice for methods.
- #388
- Ensure tooltip is always a str. (str-tooltip)
- Replaced usage of deprecated sphinx.util.status_iterator (#391)
- Removed support for documenting languages other than Python (#248)
- Removed support for Python 3.7
- #389, #390, #392, #407
- Fix "document isn't included" warning when using autoapi_add_toctree_entry (#319)
- Types used in PEP-604 union syntax can be linked with intersphinx (#366)
- Fix class overrides not rendering correctly.
- Fix separated type comments for arguments not merging correctly in Python 3.7
- Fixed viewcode being unable to find the source code for imported objects
- Made it clearer how to customise what objects AutoAPI will document. (#339)
- #375, #382
- Support for documenting languages other than Python is deprecated. (#248)
- Removed the option to have autoapi generate toctree entries for domain objects. Domain objects are now added to the toctree by Sphinx. Dropped support for sphinx < 5.2.0. (#369)
- Added basic type checking.
- Integrated towncrier into the release workflow.
- Can turn off the addition of documented objects to the TOC tree.
- Added support for Python 3.11.
- #330 <#330>: (Python) Render tuple values as tuples, not lists.
- #341 <#341>: (Python) Fix module level assignments to class attributes being documented as module level attributes.
- (Python) Fix "bysource" sort order showing items in alphabetical order.
- (Python) Use the correct directives for a variable type and value.
- Removed some autogenerated test data from the repository.
- Dropped support for Sphinx <4.
- #352 <#352>: (Python)
Properties are rendered with the
property
directive, fixing support for Sphinx 5.2. A newPythonPythonMapper
object (PythonProperty
) has been created to support this change. This object can be passed to templates, filters, and hooks. A newproperty.rst
template has also been created to support this change.
- Use https links where possible in documentation.
- Pass correct argument types to
status_iterator
.
- Dropped support for Python 3.6.
- Added support for Python 3.10.
- #222 <#222>: Marked extension as parallel read safe.
- #324 <#324>: (Python) Fail elegantly when no source files are found.
- (Python) Stop calling
autodoc-process-docstring
when docstring is empty. Works around sphinx-doc/sphinx#10701. - #318 <#318>: (Python) Fixed misaligned argument types on methods/classmethods when using type comments.
- #278 <#278>: (Python) Limit signatures to 60 characters in summaries.
- Fix keyerror when using markdown sources.
- #328 <#328>: (Python) Fix kw-only marker getting ignored if first in the signature.
- Fixed tests in Sphinx 5.
- Fixed many typos throughout the documentation.
- #301 <#301>: (Python) Fixed compatibility with astroid 2.7+.
- #299 <#299>: (Python) Fixed incorrect indentation in generated documentation when a class with no constructor has a summary line spanning multiple lines.
- Fixed broken link to Jinja objects.inv.
- Fixed error when parsing a class with no constructor.
- #293 <#293>: Fixed failure to build out of source conf.py files. Configuration values using relative values are now relative to the source directory instead of relative to the conf.py file.
- #289 <#289>: (Python) Fixed AttributeError using inheritance diagrams on a module with plain imports.
- #292 <#292>: Explicitly use the domain for generated directives.
- #273 <#273>: Fixed type annotations being shown for only a single module.
- Expandable value for multi-line string attributes.
- #265 <#265>: Can resolve the qualified paths of parameters to generics.
- #275 <#275>:
Warnings have been categorised and can be suppressed through
suppress_warnings
. - #280 <#280>: Data attributes are documented in module summaries.
- #273 <#273>:
Fixed setting
autodoc_typehints
tonone
ordescription
not turning off signature type hints.autodoc_typehints
integration is considered experimental until the extension properly supports overload functions. - #261 <#261>: Fixed data annotations causing pickle or deepcopy errors.
- Documentation can be generated when multiple source directories
share a single
conf.py
file.
- Fixed
DeprecationWarning
for invalid escape sequence\s
in tests. - Fixed
FutureWarning
forNode.traverse()
becoming an iterator instead of list. - New example implementation of
autoapi-skip-member
Sphinx event. - Can run tests with tox 4.
- Updated packaging to use PEP-517.
- All unittest style tests have been converted to pytest style tests.
- An exception raised by docfx is raised directly instead of wrapping it.
- Started using Github Actions for continuous integration.
- The fully qualified path of objects are included type annotations so that Sphinx can link to them.
- Added support for Sphinx 3.3. and 3.4.
- #240 <#240>:
The docstrings of
object.__init__
,object.__new__
,type.__init__
, andtype.__new__
are not inherited.
- #260 <#260>:
The overload signatures of
__init__
methods are documented.
- Dropped support for Python 2 and Sphinx 1.x/2.x. Python 2 source code can still be parsed.
- (Python) Added support for using type hints as parameter types and return types
via the
sphinx.ext.autodoc.typehints
extension. - #191 <#191>:
Basic incremental build support is enabled
autoapi_keep_files
is enabled. Providing none of the source files have changed, AutoAPI will skip parsing the source code and regenerating the API documentation. - #200 <#200>: Can pass a callback that edits the Jinja Environment object before template rendering begins. This allows custom filters, tests, and globals to be added to the environment.
- Added support for Python 3.9.
- #246 <#246>: (Python)
Fixed TypeError when parsing a class that inherits from
type
. - #244 <#244>: Fixed an unnecessary deprecation warning being raised when running sphinx-build from the same directory as conf.py.
- (Python) Fixed properties documented by Autodoc directives getting documented as methods.
- Fixed AttributeError when generating an inheritance diagram for a module.
This will be the last minor version to support Python 2 and Sphinx 1.x/2.x.
- #222 <#222>: Declare the extension as parallel unsafe.
- #217 <#217>: (Python) All overload signatures are documented.
- #243 <#243>:
Files are found in order of preference according to
autoapi_file_patterns
. - Added support for Sphinx 3.2.
- #219 <#219>: (Python) Fixed return types not showing for methods.
- (Python) Fixed incorrect formatting of properties on generated method directives.
- Fixed every toctree entry getting added as a new list.
- #234 <#234>: Fixed only some entries getting added to the toctree.
- autoapisummary directive inherits from autosummary for future stability.
- #197 <#197>: Added
autoapi.__version__
andautoapi.__version_info__
attributes for accessing version information. - #201 <#201>: (Python)
Added the
autoapi_member_order
option to allow the order that members are documented to be configurable. - #203 <#203>: (Python) A class without a docstring inherits one from its parent. A methods without a docstring inherits one from the method that it overrides.
- #204 <#204>: (Python)
Added the
imported-members
AutoAPI option to be able to enable or disable documenting objects imported from the same top-level package or module without needing to override templates.
- #198 <#198>: Documentation describes the required layout for template override directories.
- #195 <#195>: (Python)
Fixed incorrect formatting when
show-inheritance-diagram
andprivate-members
are turned on. - #193 <#193> and #208 <#208>: (Python) Inheritance diagrams can follow imports to find classes to document.
- #213 <#213>: (Python) Fixed module summary never showing.
- black shows diffs by default
- #207 <#207>: Fixed a typo in the code of the golang tutorial.
- Dropped support for Python 3.4 and 3.5.
- #151 <#151>: (Python)
Added the
autoapi_python_use_implicit_namespaces
option to allow AutoAPI to search for implicit namespace packages. - Added support for Sphinx 2.2 and 2.3.
- Added support for Python 3.8.
- #140 <#140>: (Python)
Added the
autoapi-inheritance-diagram
directive to create inheritance diagrams without importing modules. Enable theshow-inheritance-diagram
AutoAPI option to turn the diagrams on in generated documentation. - #183 <#183>: (Python)
Added the
show-inheritance
AutoAPI option to be able to enable or disable the display of a list of base classes in generated documentation about a class. Added theinherited-members
AutoAPI option to be able to enable or disable the display of members inherited from a base class in generated documentation about a class. - The
autoapi_include_summaries
option has been replaced with theshow-module-summary
AutoAPI option.autoapi_include_summaries
will stop working in the next major version. - Added support for Sphinx 2.4 and 3.0
- #186 <#186>: (Python) Fixed an exception when there are too many argument type annotations in a type comment.
- (Python) args and kwargs type annotations can be read from the function type comment.
- Tests are now included in the sdist.
- (Python) "Invalid desc node" warning no longer raised for autodoc-style directives.
- (Python) Can read per argument type comments with astroid > 2.2.5.
- (Python) Added autoapidecorator directive with Sphinx >= 2.0.
- (Python) Can use autodoc_docstring_signature with Autodoc-style directives.
- (Python) Added autoapi-skip-member event.
- Made it more clear which file causes an error, when an error occurs.
- Sphinx language domains are now optional dependencies.
- (Python) Forward reference annotations are no longer rendered as strings.
- (Python) autoapifunction directive no longer documents async functions as a normal function.
- (Python) Fixed unicode decode errors in some Python 3 situations.
- Documentation more accurately describes what configuration accepts relative paths and where they are relative to.
- (Python) Can override ignoring local imports in modules by using __all__.
- (Python) Fixed incorrect formatting of functions and methods.
- Added support for Sphinx 2.1.
- Fixed some dead links in the README.
- Fixed lint virtualenv.
- #100 <#100>: (Python)
Added support for documenting C extensions via
.pyi
stub files. - Added support for Sphinx 2.0.
- Toned down the API reference index page.
- (Go) Patterns configured in
autoapi_ignore
are passed to godocjson. - New and improved documentation.
- No longer need to set
autoapi_add_toctree_entry
to False whenautoapi_generate_api_docs
is False. - #139 <#139> Added support for basic type annotations in documentation generation and autodoc-style directives.
- #159 <#159>: (Python)
Fixed
UnicodeDecodeError
on Python 2 when a documenting an attribute that contains binary data. - (Python) Fixed private submodules displaying when
private-members
is turned off. - Templates no longer produce excessive whitespace.
- (Python) Fixed an error when giving an invalid object to an autodoc-style directive.
- No longer pin the version of black.
- Added missing test environments to travis.
- (Python) Fixed a false warning when importing a local module.
- Dropped support for Sphinx<1.6.
- Added debug messages about what AutoAPI is doing.
#156 <#156>: (Python) Made import resolution more stable.
Also capable of giving more detailed warnings.
- Code is now formatted using black.
- Removed references to old css and js files.
- Replaced usage of deprecated Sphinx features.
- Reorganised tests to be more pytest-like.
- (Python) Fixed some import chains failing to resolve depending on resolution order.
- (Python) Fixed unicode decoding on Python 3.7.
- (Python) Fixed autodoc directives not documenting anything in submodules or subpackages.
- (Python) Fixed error parsing files with unicode docstrings.
- (Python) Fixed error when documenting something that's imported in more than one place.
- (Python) Added Python 3.7 testing.
- Started testing against stable version of Sphinx 1.8.
- Fixed all "no title" warnings during tests.
#152 <#152>: Removed the
autoapi_add_api_root_toctree
option.This has been replaced with the
autoapi_add_toctree_entry
option.#25 <#25>: Removed distutils support.
Removed redundant
package_dir
andpackage_data
options.
(Python) Added viewcode support for imported members.
#146 <#146>: (Python) No longer documents
__init__()
attributes without a docstring.#153 <#153>: (Python) Can document a public python API.
#111 <#111>: (Python) Can opt to write manual documentation through new autodoc-style directives.
#152 <#152>: Made it easier to remove default index page.
Also removed autoapi_add_api_root_toctree config option
#150 <#150>: (Python)
private-members
also controls private subpackages and submodules.(Python) Added support for static and class methods.
(Python) Methods include
self
in their arguments.This more closely matches autodoc behaviour.
#145 <#145>: (Python) Added support for detecting Python exceptions.
(Python) Can control how __init__ docstring is displayed.
(Python) Added support for viewcode.
(Python) Source files no longer need to be in
sys.path
.
- (Python) Fixed linking to builtin bases.
- (Python) Fixed properties being documented more than once when set in
__init__()
. - (Python) Fixed nested classes not getting displayed.
- #148 <#148>: (Python) Fixed astroid 2.0 compatibility.
- (Python) Fixed filtered classes and attributes getting displayed.
- (Python) Fixed incorrect display of long lists.
- #125 <#125>: (Javascript) Fixed running incorrect jsdoc command on Windows.
- #125 <#125>: (Python) Support specifying package directories in
autoapi_dirs
.