Changelog
=========
Versions follow `Semantic Versioning `_ (``..``).
UNRELEASED (TBC)
----------------
Features
^^^^^^^^
* Expandable value for multi-line string attributes.
* `#265 `
Can resolve the qualified paths of parameters to generics.
Bug Fixes
^^^^^^^^^
* `#273 `
Fixed setting ``autodoc_typehints`` to ``none`` or ``description``
not turning off signature type hints.
``autodoc_typehints`` integration is consisidered experimental until
the extension properly supports overload functions.
* `#261 `
Fixed data annotations causing pickle or deepcopy errors.
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.
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 `:
The docstrings of ``object.__init__``, ``object.__new__``,
``type.__init__``, and ``type.__new__`` are not inherited.
Bug Fixes
^^^^^^^^^
* `#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
^^^^^^^^
* Added support for using type hints as parameter types and return types
via the ``sphinx.ext.autodoc.typehints`` extension.
* `#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 `:
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 `:
Fixed TypeError when parsing a class that inherits from ``type``.
* `#244 `:
Fixed an unnecessary deprecation warning being raised when running
sphinx-build from the same directory as conf.py.
* Fixed properties documented by Autodoc directives geting 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 `:
Declare the extension as parallel unsafe.
* `#217 `:
All overload signatures are documented.
* `#243 `:
Files are found in order of preference according to ``autoapi_file_patterns``.
* Added support for Sphinx 3.2.
Bug Fixes
^^^^^^^^^
* `#219 `:
Fixed return types not showing for methods.
* Fixed incorrect formatting of properties on generated method directives.
* Fixed every toctree entry getting added as a new list.
* `#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 `: Added
``autoapi.__version__`` and ``autoapi.__version_info__`` attributes
for accessing version information.
* `#201 `: (Python)
Added the ``autoapi_member_order`` option to allow the order that members
are documentated to be configurable.
* `#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 `: (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 `:
Documentation describes the required layout for template override directories.
* `#195 `: (Python)
Fixed incorrect formatting when ``show-inheritance-diagram``
and ``private-members`` are turned on.
* `#193 ` and
`#208 `: (Python)
Inheritance diagrams can follow imports to find classes to document.
* `#213 `: (Python)
Fixed module summary never showing.
Trivial/Internal Changes
^^^^^^^^^^^^^^^^^^^^^^^^
* black shows diffs by default
* `#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 `: (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 `: (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 `: (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 `: (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 `: (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 `
Added support for basic type annotations in documentation generation and autodoc-style directives.
Bug Fixes
^^^^^^^^^
* `#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 `: (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 `: Removed the ``autoapi_add_api_root_toctree`` option.
This has been replaced with the ``autoapi_add_toctree_entry`` option.
* `#25 `: Removed distutils support.
* Removed redundant ``package_dir`` and ``package_data`` options.
Features
^^^^^^^^
* (Python) Added viewcode support for imported members.
* `#146 `: (Python) No longer documents ``__init__()`` attributes without a docstring.
* `#153 `: (Python) Can document a public python API.
* `#111 `: (Python) Can opt to write manual documentation through new autodoc-style directives.
* `#152 `: Made it easier to remove default index page.
Also removed autoapi_add_api_root_toctree config option
* `#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 `: (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 `: (Python) Fixed astroid 2.0 compatibility.
* (Python) Fixed filtered classes and attributes getting displayed.
* (Python) Fixed incorrect display of long lists.
* `#125 `: (Javacript) Fixed running incorrect jsdoc command on Windows.
* `#125 `: (Python) Support specifying package directories in ``autoapi_dirs``.
Trivial/Internal Changes
^^^^^^^^^^^^^^^^^^^^^^^^
* Added Sphinx 1.7 and 1.8.0b1 testing.
* `#120 `: Updated documentation to remove outdated references.
* Removed old testing dependencies.
* `#143 `: Removed unnecessary wheel dependency.