isort v5.9.0 Release Notes

Release Date: 2021-06-21 // almost 3 years ago
    • Improved CLI startup time.
    • Implemented #1697: Provisional support for PEP 582: skip __pypackages__ directories by default.
    • Implemented #1705: More intuitive handling of isort:skip_file comments on streams.
    • Implemented #1737: Support for using action comments to avoid adding imports to individual files.
    • Implemented #1750: Ability to customize output format lines.
    • Implemented #1732: Support for custom sort functions.
    • Implemented #1722: Improved behavior for running isort in atomic mode over Cython source files.
    • Fixed (https://github.com/PyCQA/isort/pull/1695): added imports being added to doc string in some cases.
    • Fixed (https://github.com/PyCQA/isort/pull/1714): in rare cases line continuation combined with tabs can output invalid code.
    • Fixed (https://github.com/PyCQA/isort/pull/1726): isort ignores reverse_sort when force_sort_within_sections is true.
    • Fixed #1741: comments in hanging indent modes can lead to invalid code.
    • Fixed #1744: repeat noqa comments dropped when * import and non * imports exist from the same package.
    • Fixed #1721: repeat noqa comments on separate from lines with force-single-line set, sometimes get dropped.

    Goal Zero (Tickets related to aspirational goal of achieving 0 regressions for remaining 5.0.0 lifespan):

    • Implemented #1394: 100% branch coverage (in addition to line coverage) enforced.
    • Implemented #1751: Strict typing enforcement (turned on mypy strict mode).