Skip to content

Latest commit

 

History

History
803 lines (549 loc) · 23 KB

CHANGELOG.rst

File metadata and controls

803 lines (549 loc) · 23 KB

Changelog

Versions follow Semantic Versioning (<major>.<minor>.<patch>).

v3.4.0 (2024-11-29)

Features

  • NamedTuples that have been created with functional syntax are documented as a class (#485)

Misc

  • #484, #490, #498

v3.3.3 (2024-10-25)

Bugfixes

  • 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)

Misc

  • #426, #462, #491, #492

v3.3.2 (2024-09-25)

Bugfixes

  • Fix types missing from documentation generated by autodoc-style directives. (#473)

v3.3.1 (2024-09-01)

Bugfixes

  • 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)

Misc

  • Updated all github actions.

v3.3.0 (2024-08-28)

Features

  • Do not document members inherited from standard library classes. (#467)

Bugfixes

  • Fix instance attributes not being documented by inherited-members (#477)

Misc

  • #425
  • Fix the parser returning a dictionary instead of a list in the empty parse scenario
  • Rename testenvs to all follow similar naming style

v3.2.1 (2024-07-23)

Bugfixes

  • Fix error or duplicates when __init__ assigns to a property (#466)

v3.2.0 (2024-07-20)

Features

  • functools.cached_property is considered a property (#436)

Bugfixes

  • Gracefully handle no objects being rendered (#448)
  • Fix ignoring undocumented instance attributes (#451)

Deprecations and Removals

  • 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

Misc

  • #428, #449

v3.1.2 (2024-06-20)

Bugfixes

  • Fix imported members being rendered in modules (#452)

v3.1.1 (2024-05-22)

Bugfixes

  • Fix private subpackages causing orphan pages (#446)

v3.1.0 (2024-05-20)

Features

  • Objects can render to their own page (#226)
  • Render PEP-695 type aliases as TypeAlias assignments. (#414)

Bugfixes

  • 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.

Misc

  • #388

v3.0.0 (2023-09-26)

Bugfixes

  • Ensure tooltip is always a str. (str-tooltip)
  • Replaced usage of deprecated sphinx.util.status_iterator (#391)

Deprecations and Removals

  • Removed support for documenting languages other than Python (#248)
  • Removed support for Python 3.7

Misc

  • #389, #390, #392, #407

v2.1.1 (2023-06-10)

Bugfixes

  • 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

Improved Documentation

  • Made it clearer how to customise what objects AutoAPI will document. (#339)

Misc

  • #375, #382

v2.1.0 (2023-03-28)

Deprecations and Removals

  • 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)

Misc

  • Added basic type checking.
  • Integrated towncrier into the release workflow.

v2.0.1 (2023-01-16)

Features

  • Can turn off the addition of documented objects to the TOC tree.
  • Added support for Python 3.11.

Bug Fixes

  • #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.

Trivial/Internal Changes

  • Removed some autogenerated test data from the repository.

v2.0.0 (2022-09-27)

Breaking Changes

  • Dropped support for Sphinx <4.
  • #352 <#352>: (Python) Properties are rendered with the property directive, fixing support for Sphinx 5.2. A new PythonPythonMapper object (PythonProperty) has been created to support this change. This object can be passed to templates, filters, and hooks. A new property.rst template has also been created to support this change.

Trivial/Internal Changes

  • Use https links where possible in documentation.
  • Pass correct argument types to status_iterator.

V1.9.0 (2022-07-25)

Breaking Changes

  • Dropped support for Python 3.6.

Features

  • Added support for Python 3.10.
  • #222 <#222>: Marked extension as parallel read safe.

Bug Fixes

  • #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.

Trivial/Internal Changes

  • Fixed tests in Sphinx 5.
  • Fixed many typos throughout the documentation.

v1.8.4 (2021-08-16)

Bug Fixes

  • #301 <#301>: (Python) Fixed compatibility with astroid 2.7+.

v1.8.3 (2021-07-31)

Bug Fixes

  • #299 <#299>: (Python) Fixed incorrect indentation in generated documentation when a class with no constructor has a summary line spanning multiple lines.

Trivial/Internal Changes

  • Fixed broken link to Jinja objects.inv.

v1.8.2 (2021-07-26)

Bug Fixes

  • 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.

v1.8.1 (2021-04-24)

Bug Fixes

  • #273 <#273>: Fixed type annotations being shown for only a single module.

v1.8.0 (2021-04-12)

Features

  • 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.

Bug Fixes

  • #273 <#273>: Fixed setting autodoc_typehints to none or description 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.

Trivial/Internal Changes

  • Fixed DeprecationWarning for invalid escape sequence \s in tests.
  • Fixed FutureWarning for Node.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.

V1.7.0 (2021-01-31)

Features

  • 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__, and type.__new__ are not inherited.

Bug Fixes

  • #260 <#260>: The overload signatures of __init__ methods are documented.

V1.6.0 (2021-01-20)

Breaking Changes

  • Dropped support for Python 2 and Sphinx 1.x/2.x. Python 2 source code can still be parsed.

Features

  • (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.

Bug Fixes

  • #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.

V1.5.1 (2020-10-01)

Bug Fixes

  • Fixed AttributeError when generating an inheritance diagram for a module.

V1.5.0 (2020-08-31)

This will be the last minor version to support Python 2 and Sphinx 1.x/2.x.

Features

  • #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.

Bug Fixes

  • #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.

Trivial/Internal Changes

  • autoapisummary directive inherits from autosummary for future stability.

v1.4.0 (2020-06-07)

Features

  • #197 <#197>: Added autoapi.__version__ and autoapi.__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.

Bug Fixes

  • #198 <#198>: Documentation describes the required layout for template override directories.
  • #195 <#195>: (Python) Fixed incorrect formatting when show-inheritance-diagram and private-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.

Trivial/Internal Changes

  • black shows diffs by default
  • #207 <#207>: Fixed a typo in the code of the golang tutorial.

v1.3.0 (2020-04-05)

Breaking Changes

  • Dropped support for Python 3.4 and 3.5.

Features

  • #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 the show-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 the inherited-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 the show-module-summary AutoAPI option. autoapi_include_summaries will stop working in the next major version.
  • Added support for Sphinx 2.4 and 3.0

Bug Fixes

  • #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.

Trivial/Internal Changes

  • Tests are now included in the sdist.

v1.2.1 (2019-10-09)

Bug Fixes

  • (Python) "Invalid desc node" warning no longer raised for autodoc-style directives.

v1.2.0 (2019-10-05)

Features

  • (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.

Bug Fixes

  • (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.

v1.1.0 (2019-06-23)

Features

  • (Python) Can override ignoring local imports in modules by using __all__.

Bug Fixes

  • (Python) Fixed incorrect formatting of functions and methods.
  • Added support for Sphinx 2.1.

Trivial/Internal Changes

  • Fixed some dead links in the README.
  • Fixed lint virtualenv.

v1.0.0 (2019-04-24)

Features

  • #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 when autoapi_generate_api_docs is False.
  • #139 <#139> Added support for basic type annotations in documentation generation and autodoc-style directives.

Bug Fixes

  • #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.

Trivial/Internal Changes

  • No longer pin the version of black.
  • Added missing test environments to travis.

v0.7.1 (2019-02-04)

Bug Fixes

  • (Python) Fixed a false warning when importing a local module.

v0.7.0 (2019-01-30)

Breaking Changes

  • Dropped support for Sphinx<1.6.

Features

  • Added debug messages about what AutoAPI is doing.

Bug Fixes

  • #156 <#156>: (Python) Made import resolution more stable.

    Also capable of giving more detailed warnings.

Trivial/Internal Changes

  • 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.

v0.6.2 (2018-11-15)

Bug Fixes

  • (Python) Fixed some import chains failing to resolve depending on resolution order.

v0.6.1 (2018-11-14)

Bug Fixes

  • (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.

Trivial/Internal Changes

  • (Python) Added Python 3.7 testing.
  • Started testing against stable version of Sphinx 1.8.
  • Fixed all "no title" warnings during tests.

v0.6.0 (2018-08-20)

Breaking Changes

  • #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 and package_data options.

Features

  • (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.

Bug Fixes

  • (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.

Trivial/Internal Changes

  • Added Sphinx 1.7 and 1.8.0b1 testing.
  • #120 <#120>: Updated documentation to remove outdated references.
  • Removed old testing dependencies.
  • #143 <#143>: Removed unnecessary wheel dependency.