Changelog
### 5.9.1
```
- Fixed 1758: projects with many files and skip_ignore set can lead to a command-line overload.
```
### 5.9.0
```
- 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).
```
### 5.8.0
```
- Fixed 1631: as import comments can in some cases be duplicated.
- Fixed 1667: extra newline added with float-to-top, after skip, in some cases.
- Fixed 1594: incorrect placement of noqa comments with multiple from imports.
- Fixed 1566: in some cases different length limits for dos based line endings.
- Implemented 1648: Export MyPY type hints.
- Implemented 1641: Identified import statements now return runnable code.
- Implemented 1661: Added "wemake" profile.
- Implemented 1669: Parallel (`-j`) now defaults to number of CPU cores if no value is provided.
- Implemented 1668: Added a safeguard against accidental usage against /.
- Implemented 1638 / 1644: Provide a flag `--overwrite-in-place` to ensure same file handle is used after sorting.
- Implemented 1684: Added support for extending skips with `--extend-skip` and `--extend-skip-glob`.
- Implemented 1688: Auto identification and skipping of some invalid import statements.
- Implemented 1645: Ability to reverse the import sorting order.
- Implemented 1504: Added ability to push star imports to the top to avoid overriding explicitly defined imports.
- Documented 1685: Skip doesn't support plain directory names, but skip_glob does.
```
### 5.7.0
```
- Fixed 1612: In rare circumstances an extra comma is added after import and before comment.
- Fixed 1593: isort encounters bug in Python 3.6.0.
- Implemented 1596: Provide ways for extension formatting and file paths to be specified when using streaming input from CLI.
- Implemented 1583: Ability to output and diff within a single API call to `isort.file`.
- Implemented 1562, 1592 & 1593: Better more useful fatal error messages.
- Implemented 1575: Support for automatically fixing mixed indentation of import sections.
- Implemented 1582: Added a CLI option for skipping symlinks.
- Implemented 1603: Support for disabling float_to_top from the command line.
- Implemented 1604: Allow toggling section comments on and off for indented import sections.
```
### 5.6.4
```
- Fixed 1556: Empty line added between imports that should be skipped.
```
### 5.6.3
```
- Improved packaging of test files alongside source distribution (see: https://github.com/PyCQA/isort/pull/1555).
```
### 5.6.2
```
- Fixed 1548: On rare occasions an unecessary empty line can be added when an import is marked as skipped.
- Fixed 1542: Bug in VERTICAL_PREFIX_FROM_MODULE_IMPORT wrap mode.
- Fixed 1552: Pylama test dependent on source layout.
Goal Zero: (Tickets related to aspirational goal of achieving 0 regressions for remaining 5.0.0 lifespan):
- Zope added to integration test suite
- Additional testing of CLI (simulate unseekable streams)
```
### 5.6.1
```
- Fixed 1546: Unstable (non-idempotent) behavior with certain src trees.
```
### 5.6.0
```
- Implemented 1433: Provide helpful feedback in case a custom config file is specified without a configuration.
- Implemented 1494: Default to sorting imports within `.pxd` files.
- Implemented 1502: Improved float-to-top behavior when there is an existing import section present at top-of-file.
- Implemented 1511: Support for easily seeing all files isort will be ran against using `isort . --show-files`.
- Implemented 1487: Improved handling of encoding errors.
- Improved handling of unsupported configuration option errors (see 1475).
- Fixed 1463: Better interactive documentation for future option.
- Fixed 1461: Quiet config option not respected by file API in some circumstances.
- Fixed 1482: pylama integration is not working correctly out-of-the-box.
- Fixed 1492: --check does not work with stdin source.
- Fixed 1499: isort gets confused by single line, multi-line style comments when using float-to-top.
- Fixed 1525: Some warnings can't be disabled with --quiet.
- Fixed 1523: in rare cases isort can ignore direct from import if as import is also on same line.
Potentially breaking changes:
- Implemented 1540: Officially support Python 3.9 stdlib imports by default.
- Fixed 1443: Incorrect third vs first party categorization - namespace packages.
- Fixed 1486: "Google" profile is not quite Google style.
- Fixed "PyCharm" profile to always add 2 lines to be consistent with what PyCharm "Optimize Imports" does.
Goal Zero: (Tickets related to aspirational goal of achieving 0 regressions for remaining 5.0.0 lifespan):
- Implemented 1472: Full testing of stdin CLI Options
- Added additional branch coverage.
- More projects added to integration test suite.
```
### 5.5.5
```
- Fixed 1539: in extremely rare cases isort 5.5.4 introduces syntax error by removing closing paren.
```
### 5.5.4
```
- Fixed 1507: in rare cases isort changes the content of multiline strings after a yield statement.
- Fixed 1505: Support case where known_SECTION points to a section not listed in sections.
```
Links
- PyPI: https://pypi.org/project/isort
- Changelog: https://pyup.io/changelogs/isort/
- Repo: https://pycqa.github.io/isort/
This PR updates isort from 5.5.3 to 5.9.1.
Changelog
### 5.9.1 ``` - Fixed 1758: projects with many files and skip_ignore set can lead to a command-line overload. ``` ### 5.9.0 ``` - 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). ``` ### 5.8.0 ``` - Fixed 1631: as import comments can in some cases be duplicated. - Fixed 1667: extra newline added with float-to-top, after skip, in some cases. - Fixed 1594: incorrect placement of noqa comments with multiple from imports. - Fixed 1566: in some cases different length limits for dos based line endings. - Implemented 1648: Export MyPY type hints. - Implemented 1641: Identified import statements now return runnable code. - Implemented 1661: Added "wemake" profile. - Implemented 1669: Parallel (`-j`) now defaults to number of CPU cores if no value is provided. - Implemented 1668: Added a safeguard against accidental usage against /. - Implemented 1638 / 1644: Provide a flag `--overwrite-in-place` to ensure same file handle is used after sorting. - Implemented 1684: Added support for extending skips with `--extend-skip` and `--extend-skip-glob`. - Implemented 1688: Auto identification and skipping of some invalid import statements. - Implemented 1645: Ability to reverse the import sorting order. - Implemented 1504: Added ability to push star imports to the top to avoid overriding explicitly defined imports. - Documented 1685: Skip doesn't support plain directory names, but skip_glob does. ``` ### 5.7.0 ``` - Fixed 1612: In rare circumstances an extra comma is added after import and before comment. - Fixed 1593: isort encounters bug in Python 3.6.0. - Implemented 1596: Provide ways for extension formatting and file paths to be specified when using streaming input from CLI. - Implemented 1583: Ability to output and diff within a single API call to `isort.file`. - Implemented 1562, 1592 & 1593: Better more useful fatal error messages. - Implemented 1575: Support for automatically fixing mixed indentation of import sections. - Implemented 1582: Added a CLI option for skipping symlinks. - Implemented 1603: Support for disabling float_to_top from the command line. - Implemented 1604: Allow toggling section comments on and off for indented import sections. ``` ### 5.6.4 ``` - Fixed 1556: Empty line added between imports that should be skipped. ``` ### 5.6.3 ``` - Improved packaging of test files alongside source distribution (see: https://github.com/PyCQA/isort/pull/1555). ``` ### 5.6.2 ``` - Fixed 1548: On rare occasions an unecessary empty line can be added when an import is marked as skipped. - Fixed 1542: Bug in VERTICAL_PREFIX_FROM_MODULE_IMPORT wrap mode. - Fixed 1552: Pylama test dependent on source layout. Goal Zero: (Tickets related to aspirational goal of achieving 0 regressions for remaining 5.0.0 lifespan): - Zope added to integration test suite - Additional testing of CLI (simulate unseekable streams) ``` ### 5.6.1 ``` - Fixed 1546: Unstable (non-idempotent) behavior with certain src trees. ``` ### 5.6.0 ``` - Implemented 1433: Provide helpful feedback in case a custom config file is specified without a configuration. - Implemented 1494: Default to sorting imports within `.pxd` files. - Implemented 1502: Improved float-to-top behavior when there is an existing import section present at top-of-file. - Implemented 1511: Support for easily seeing all files isort will be ran against using `isort . --show-files`. - Implemented 1487: Improved handling of encoding errors. - Improved handling of unsupported configuration option errors (see 1475). - Fixed 1463: Better interactive documentation for future option. - Fixed 1461: Quiet config option not respected by file API in some circumstances. - Fixed 1482: pylama integration is not working correctly out-of-the-box. - Fixed 1492: --check does not work with stdin source. - Fixed 1499: isort gets confused by single line, multi-line style comments when using float-to-top. - Fixed 1525: Some warnings can't be disabled with --quiet. - Fixed 1523: in rare cases isort can ignore direct from import if as import is also on same line. Potentially breaking changes: - Implemented 1540: Officially support Python 3.9 stdlib imports by default. - Fixed 1443: Incorrect third vs first party categorization - namespace packages. - Fixed 1486: "Google" profile is not quite Google style. - Fixed "PyCharm" profile to always add 2 lines to be consistent with what PyCharm "Optimize Imports" does. Goal Zero: (Tickets related to aspirational goal of achieving 0 regressions for remaining 5.0.0 lifespan): - Implemented 1472: Full testing of stdin CLI Options - Added additional branch coverage. - More projects added to integration test suite. ``` ### 5.5.5 ``` - Fixed 1539: in extremely rare cases isort 5.5.4 introduces syntax error by removing closing paren. ``` ### 5.5.4 ``` - Fixed 1507: in rare cases isort changes the content of multiline strings after a yield statement. - Fixed 1505: Support case where known_SECTION points to a section not listed in sections. ```Links
- PyPI: https://pypi.org/project/isort - Changelog: https://pyup.io/changelogs/isort/ - Repo: https://pycqa.github.io/isort/