All Versions
Latest Version
Avg Release Cycle
70 days
Latest Release

Changelog History
Page 1

  • v22.2.0 Changes

    • โฌ‡๏ธ Drop Python 3.6 support.

    • Fix AttributeError: __args__ when generating stubs on Python 3.9. Thanks GameDungeon and ntjess for the report. Fixes #231.

    • Fix AttributeError: '_SpecialForm' object has no attribute '__name__' in collecting traces with Union types. Thanks Federico Caselli for the report. Fixes #243.

  • v21.5.0 Changes

    • ๐Ÿ›  Fix compatibility with Python 3.9. Thanks Felix Yan. Merge of #217, fixes


    • ๐Ÿ”€ Render empty tuple type correctly. Thanks Pradeep Kumar Srinivasan. Merge of

      191, fixes #190.

  • v20.5.0 Changes

    May 18, 2020
    • Require libcst>=0.3.5.

    • โž• Add --ignore-existing-annotations flag to apply command.

  • v20.4.2 Changes

    April 04, 2020
    • โž• Add missing libcst dependency in
  • v20.4.1 Changes

    April 03, 2020
    • Generate stubs for TypedDicts nested within generic types. Disable TypedDicts completely when the max size is zero. Thanks Pradeep Kumar Srinivasan. Merge of #162, fixes #159.

    • โœ‚ Remove stringcase dependency, just hand-roll pascal_case function.

    • Shrink dictionary traces with required and optional keys to get non-total TypedDict class declarations. Thanks Pradeep Kumar Srinivasan.

    • Implement monkeytype apply using libcst's ApplyTypeAnnotationsVisitor. This correctly applies generated TypedDict classes. Thanks Pradeep Kumar Srinivasan.

    • Render generic types recursively to handle nested special cases like List['Movie']. Thanks Pradeep Kumar Srinivasan. Fixes #76.

  • v19.11.2 Changes

    December 03, 2019
    • 0๏ธโƒฃ Disable TypedDict generation by default for now, since it breaks --apply.
  • v19.11.1 Changes

    November 19, 2019
    • โž• Add dependences for mypy-extensions and stringcase. Thanks Nicholas Bollweg for the report.
  • v19.11.0 Changes

    November 19, 2019
    • ๐Ÿ”ง Trace per-key value types for dictionaries (up to a configured max size) and if the traced types are consistent, output a TypedDict in the stub instead of a homogenous dict. Thanks Pradeep Kumar Srinivasan. Merge of #143, fixes


    • ๐Ÿ›  Fix crash with empty tuples. Thanks akayunov for the report, Christophe Simonis for the simplest-case repro. Fixes #136.

    • ๐Ÿ”€ Don't add stringified annotations to type stubs. Thanks ลukasz Langa. Merge of #148.

    • Don't crash in type rewriter on user-defined types that name-collide with container types from the typing module. Thanks ลukasz Langa. Merge of #146.

    • ๐Ÿ“œ Load config after argument parsing instead of during it, to avoid argparse catching TypeError/ValueError at import time of a custom config and replacing with a generic "invalid value" message. See Thanks Daniel G Holmes for the report. Merge of #142, fixes #141.

    • ๐Ÿ”€ Typing support for collections.defaultdict. Thanks Dinesh Kesavan. Merge of #152.

  • v19.5.0 Changes

    May 13, 2019
    • ๐Ÿ“ฆ Mark monkeytype package as typed per PEP 561. Thanks Vasily Zakharov for the report.
    • โž• Add -v option; don't display individual traces that fail to decode unless it is given.
  • v19.1.1 Changes

    January 18, 2019
    • Pass --incremental to retype when applying stubs, so it doesn't choke on partial stubs (which can result from e.g. failures to decode some traces).