Skip to content

Latest commit

 

History

History
646 lines (454 loc) · 17.8 KB

CHANGELOG.md

File metadata and controls

646 lines (454 loc) · 17.8 KB

Change Log

[0.5.14] - 2024-12-26

  • Changed

    • Added DOC002 (syntax error) to handle cases where there are syntax errors in the Python file
    • Replaced invisible and zero-width characters with empty strings so that Python's AST can correctly parse the files
    • Added end-to-end test (essentially an integration test)
  • Fixed

    • A bug in ast.assign
  • Full diff

[0.5.13] - 2024-12-20

[0.5.12] - 2024-12-15

  • Changed

    • Dropped support for Python 3.8
    • Use "modern" type annotation, such as list and str | None
  • Added

    • Added static type checking using mypy
    • A new config option, --only-attrs-with-ClassVar-are-treated-as-class-attrs
    • Ensured support for Python 3.12 and 3.13
  • Full diff

[0.5.11] - 2024-12-14

[0.5.10] - 2024-12-07

  • Changed

    • Command line message about loading config file is now hidden with config option --quiet
  • Fixed

    • Fixed a bug where assigning a value to an attribute caused pydoclint to crash
  • Changed

    • Renamed function unparseAnnotation() into unparseNode()
    • Renamed EdgeCaseError into EdgeCaseError
  • Full diff

[0.5.9] - 2024-09-29

[0.5.8] - 2024-09-23

[0.5.7] - 2024-09-02

[0.5.6] - 2024-07-17

[0.5.5] - 2024-07-15

[0.5.4] - 2024-07-14

  • Added

    • An option --should-document-private-class-attributes (if False, private class attributes should not appear in the docstring)
    • An option --treat-property-methods-as-class-attributes (if True, @property methods are treated like class attributes and need to be documented in the class docstring)
  • Full diff

[0.5.3] - 2024-06-26

[0.5.2] - 2024-06-26

  • Changed

    • Pinned to a higher version (0.0.9) of docstring_parser_fork
    • Relaxed class attribute checking logic
      • When a class has no docstring, no DOC6xx violations will be reported
      • When a class has a short docstring (and --skip-checking-short-docstrings) is set to True, no DOC6xx violations will be reported
  • Full diff

[0.5.1] - 2024-06-24

  • Fixed

    • Fixed a bug in unparsing annotations when checking class attributes
    • Fixed a bug in checking class attributes where there are no attributes in class def or in docstring
  • Changed

    • Used a dedicated "attribute" section for Sphinx-style docstrings
  • Full diff

[0.5.0] - 2024-06-22

  • Added

    • Added checks for class attributes
      • This functionality checks class attributes against the "Attributes" section of the docstring
      • There is a new config option, --check-class-attributes (or -cca), which defaults to True. Therefore, this breaks backward compatibility.
      • To maintain backward compatibility, set --check-class-attributes to False
      • Options like --check-arg-order, --arg-type-hints-in-signature, and --arg-type-hints-in-docstring are still effective in checking class attributes
  • Full diff

[0.4.2] - 2024-05-29

[0.4.1] - 2024-02-17

[0.4.0] - 2024-02-08

[0.3.10] - 2024-02-07

[0.3.9] - 2024-01-16

[0.3.8] - 2023-10-20

[0.3.7] - 2023-10-19

[0.3.6] - 2023-10-18

[0.3.5] - 2023-10-17

[0.3.4] - 2023-10-12

[0.3.3] - 2023-10-01

  • Added

    • Added baseline file integration and 2 options:
      1. --generate-baseline True Generate baseline content, and write it to a file specified from --baseline option path.
      2. --baseline <PATH> Specify path to file with baseline content.
  • Changed

    • For the --config option, the default value is now pyproject.toml.
  • Full diff

[0.3.2] - 2023-09-04

[0.3.1] - 2023-08-28

[0.3.0] - 2023-08-26

  • Improved
    • Relaxed Generator/Iterator checking: stop enforcing the return annotation to be Generator if a function yields something (#76)
    • Added handling of functions that both return something and yield something
  • Changed
    • Used docstring_parser_fork to parse numpy-style docstrings, because the official numpydoc doesn't support both Yields and Returns sections in a single docstring
  • Removed
    • Dependency on numpydoc
  • Full diff

[0.2.4] - 2023-08-24

[0.2.3] - 2023-08-24

[0.2.2] - 2023-08-22

[0.2.1] - 2023-08-21

[0.2.0] - 2023-08-18

  • Added
    • Added checking of yield types (between function signature and the docstring's Yields section), as well as a corresponding violation: DOC404
    • Added checking of incompatibility between Generator/Iterator and the yield/return statements, as well as a corresponding violation: DOC405 (#68)
  • Fixed
    • Fixed a bug where raise/return/yield statements in match-case blocks are incorrectly identified. (#63)
  • Improved
    • Used a try/catch block to capture potential recursion error, potentially due to too complex functions/classes (#65)
  • Full diff

[0.1.9] - 2023-08-18

[0.1.8] - 2023-08-16

[0.1.7] - 2023-08-15

[0.1.6] - 2023-08-13

[0.1.5] - 2023-08-12

[0.1.4] - 2023-07-23

[0.1.3] - 2023-07-21

[0.1.2] - 2023-07-20

[0.1.1] - 2023-07-18

[0.1.0] - 2023-07-15

[0.0.16] - 2023-07-14

[0.0.15] - 2023-07-10

[0.0.14] - 2023-07-05

[0.0.13] - 2023-06-26

[0.0.12] - 2023-06-26

[0.0.11] - 2023-06-26

[0.0.10] - 2023-06-12

[0.0.9] - 2023-06-12

[0.0.8] - 2023-06-06

  • Added
    • A command line option --version to show the current version of pydoclint (#17)
    • Enabled pydoclint to be used as a pre-commit hook (#18)
  • Fixed
    • Encoding issues in Windows (where non-ASCII characters cause issues with Windows + pre-commit) (#21)
    • Stopped using colons (:) in flake8 error messages because they could cause issues with tools like "yesqa" (#22)
  • Changed
    • Expanded the logic to identify generator functions (#15)
  • Full diff

[0.0.7] - 2023-06-01

[0.0.6] - 2023-05-31

[0.0.5] - 2023-05-31

  • Added
    • A new option to allow no return section in the docstring if the function implicitly returns None (#6)
  • Changed
    • Made pydoclint options configurable via a config file (both in the native mode and in the flake8 plugin mode) (#11)
    • Methods with @property as its last decorator no longer need to have a return section in the docstring (#13)
  • Full diff

[0.0.4] - 2023-05-27

  • Added
    • A new violation, DOC001, for errors in parsing docstrings (#8)
    • A new option to allow __init__() methods to have docstring (and when users activate this option, check arguments and "Raises" in the docstring of __init__() instead of in the class docstring) (#7)
  • Changed
    • Used AST unparser to unparse type annotation nodes
  • Fixed
    • A bug when parsing type annotations such as Callable[[int], str]
  • Full diff

[0.0.3] - 2023-05-18

[0.0.2] - 2023-05-16

[0.0.1] - 2023-05-15

Initial release