Release Notes

Dynadoc 1.3 (2025-07-12)

Enhancements

  • Improve handling of stringified type annotations and forward references.

Dynadoc 1.2.1 (2025-06-05)

Repairs

  • Only collect documentation fragments attribute from class and not its ancestors or metaclass.

Dynadoc 1.2 (2025-06-02)

Enhancements

  • Allow introspection limits to completely disable introspection. Useful when a limiter function detects a marker attribute, which indicates complete documentation or immutability, on a class or module.

Repairs

  • Always sever type-adjacent information, when transiting nested annotations, to prevent ambiguity problems and unexpected information accumulation.

Dynadoc 1.1 (2025-05-29)

Enhancements

  • Improve argument and return documentation on Sphinx Autodoc renderer.

Repairs

  • Ensure multiline descriptions render correctly by indenting all subsequent lines after the first one.

Dynadoc 1.0 (2025-05-25)

Enhancements

  • Add support for CPython 3.10, 3.11, 3.12, and 3.13.

  • Add support for PyPy 3.10.

  • Automatic docstring generation from Doc and Raises annotations. Extracts rich documentation metadata from type annotations and generates comprehensive Sphinx-compatible docstrings.

  • Configurable introspection with recursive documentation of classes, functions, properties, and modules. Fine-grained control over documentation depth, inheritance processing, and attribute scanning.

  • Extensible architecture with custom renderers, fragment rectifiers, and introspection limiters. Configurable contexts and error handling strategies for different development workflows and deployment environments.

  • Flexible visibility control system with support for __all__ declarations, custom visibility deciders, and explicit Visibilities annotations. Controls which attributes appear in generated documentation.

  • Function and class decoration with @with_docstring decorator. Processes annotated parameters, return values, and exception specifications to generate detailed reStructuredText documentation.

  • Module-level documentation generation with assign_module_docstring. Automatically documents module attributes, type aliases, and exported functions with comprehensive introspection capabilities.

  • Reusable documentation fragment system with Fname annotations. Enables consistent terminology across projects through fragment tables and class-based fragment storage via _dynadoc_fragments_ attributes.

  • Sphinx Autodoc-compatible reStructuredText renderer with multiple formatting styles. Generates proper :argument:, :type:, :returns:, and :raises: directives for seamless integration with Sphinx documentation.