Skip to content
This repository has been archived by the owner on Oct 24, 2020. It is now read-only.

Update isort to 5.6.4 #246

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

pyup-bot
Copy link
Collaborator

This PR updates isort from 4.3.18 to 5.6.4.

Changelog

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.

5.5.3

- Fixed 1488: in rare cases isort can mangle `yield from` or `raise from` statements.

5.5.2

- Fixed 1469: --diff option is ignored when input is from stdin.

5.5.1

- Fixed 1454: Ensure indented import sections with import heading and a preceding comment don't cause import sorting loops.
- Fixed 1453: isort error when float to top on almost empty file.
- Fixed 1456 and 1415: noqa comment moved to where flake8 cant see it.
- Fixed 1460: .svn missing from default ignore list.

5.5.0

- Fixed 1398: isort: off comment doesn't work, if it's the top comment in the file.
- Fixed 1395: reverse_relative setting doesn't have any effect when combined with force_sort_within_sections.
- Fixed 1399: --skip can error in the case of projects that contain recursive symlinks.
- Fixed 1389: ensure_newline_before_comments doesn't work if comment is at top of section and sections don't have lines between them.
- Fixed 1396: comments in imports with ";" can keep isort from recognizing import line.
- Fixed 1380: As imports removed when `combine_star` is set.
- Fixed 1382: --float-to-top has no effect if no import is already at the top.
- Fixed 1420: isort never settles on module docstring + add import.
- Fixed 1421: Error raised when repo contains circular symlinks.
- Fixed 1427: noqa comment is moved from star import to constant import.
- Fixed 1444 & 1445: Incorrect placement of import additions.
- Fixed 1447: isort5 throws error when stdin used on Windows with deprecated args.
- Implemented 1397: Added support for specifying config file when using git hook (thanks diseraluca!).
- Implemented 1405: Added support for coloring diff output.
- Implemented 1434: New multi-line grid mode without parentheses.

Goal Zero (Tickets related to aspirational goal of achieving 0 regressions for remaining 5.0.0 lifespan):
- Implemented 1392: Extensive profile testing.
- Implemented 1393: Proprety based testing applied to code snippets.
- Implemented 1391: Create automated integration test that includes full code base of largest OpenSource isort users.

Potentially breaking changes:
- Fixed 1429: --check doesn't print to stderr as the documentation says. This means if you were looking for `ERROR:` messages for files that contain incorrect imports within stdout you will now need to look in stderr.

5.4.2

- Fixed 1383: Known other does not work anymore with .editorconfig.
- Fixed: Regression in first known party path expansion.

5.4.1

- Fixed 1381: --combine-as loses  noqa in different circumstances.

5.4.0

- Implemented 1373: support for length sort only of direct (AKA straight) imports.
- Fixed 1321: --combine-as loses  noqa.
- Fixed 1375: --dont-order-by-type CLI broken.

5.3.2

- Fixed incorrect warning code (W503->W0503).

5.3.1

- Improve upgrade warnings to be less noisy and point to error codes for easy interoperability with Visual Studio Code (see: 1363).

5.3.0

- Implemented ability to treat all or select comments as code (issue 1357)
- Implemented ability to use different configs for different file extensions (issue 1162)
- Implemented ability to specify the types of imports (issue 1181)
- Implemented ability to dedup import headings (issue 953)
- Added experimental support for sorting literals (issue 1358)
- Added experimental support for sorting and deduping groupings of assignments.
- Improved handling of deprecated single line variables for usage with Visual Studio Code (issue 1363)
- Improved handling of mixed newline forms within same source file.
- Improved error handling for known sections.
- Improved API consistency, returning a boolean value for all modification API calls to indicate if changes were made.
- Fixed 1366: spurious errors when combining skip with --gitignore.
- Fixed 1359: --skip-gitignore does not honor ignored symlink

Internal Development:
- Initial hypothesmith powered test to help catch unexpected syntax parsing and output errors (thanks Zac-HD!)

5.2.2

- Fixed 1356: return status when arguments are passed in without files or a content stream.

5.2.1

- Update precommit to default to filtering files that are defined in skip.
- Improved relative path detection for `skip` config usage.
- Added recursive symbolic link protection.
- Implemented 1177: Support for color output using `--color`.
- Implemented recursive symlink detection support.

5.2.0

- Implemented 1335: Official API for diff capturing.
- Implemented 1331: Warn when sections don't match up.
- Implemented 1261: By popular demand, `filter_files` can now be set in the config option.
- Implemented 960: Support for respecting git ignore via "--gitignore" or "skip_gitignore=True".
- Implemented 727: Ability to only add imports if existing imports exist.
- Implemented 970: Support for custom sharable isort profiles.
- Implemented 1214: Added support for git_hook lazy option (Thanks sztamas!)
- Implemented 941: Added an additional `multi_line_output` mode for more compact formatting (Thanks sztamas!)
- Implemented 1020: Option for LOCALFOLDER.
- Implemented 1353: Added support for output formatting plugins.
- ` isort: split` can now be used at the end of an import line.
- Fixed 1339: Extra indent is not preserved when isort:skip is used in nested imports.
- Fixed 1348: `--diff` works incorrectly with files that have CRLF line endings.
- Improved code repositories usage of pylint tags (1350).

5.1.4

- Fixed issue 1333: Use of wrap_length raises an exception about it not being lower or equal to line_length.
- Fixed issue 1330: Ensure stdout can be stubbed dynamically for `show_unified_diff` function.

5.1.3

- Fixed issue 1329: Fix comments duplicated when --fass option is set.

5.1.2

- Fixed issue 1219 / 1326: Comments not wrapped for long lines
- Fixed issue 1156: Bug related to isort:skip usage followed by a multiline comment block

5.1.1

- Fixed issue 1322: Occasionally two extra newlines before comment with `-n` & `--fss`.
- Fixed issue 1189: `--diff` broken when reading from standard input.

5.1.0

- isort now throws an exception if an invalid settings path is given (issue 1174).
- Implemented support for automatic redundant alias removal (issue 1281).
- Implemented experimental support for floating all imports to the top of a file (issue 1228)
- Fixed 1178: support for semicolons in decorators.
- Fixed 1315: Extra newline before comment with -n + --fss.
- Fixed 1192: `-k` or `--keep-direct-and-as-imports` option has been deprecated as it is now always on.

Formatting changes implied:
- Fixed 1280: rewrite of as imports changes the behavior of the imports.

5.0.9

- Fixed 1301: Import headings in nested sections leads to check errors

5.0.8

- Fixed 1277 & 1278: New line detection issues on Windows.
- Fixed 1294: Fix bundled git hook.

5.0.7

- Fixed 1306: unexpected --diff behavior.
- Fixed 1279: Fixed NOQA comment regression.

5.0.6

- Fixed 1302: comments and --trailing-comma can generate invalid code.
- Fixed 1293: extra new line in indented imports, when immediately followed by a comment.
- Fixed 1304: isort 5 no longer recognises `sre_parse` as a stdlib module.
- Fixed 1300: add_imports moves comments following import section.
- Fixed 1276: Fix a bug that creates only one line after triple quotes.

5.0.5

- Fixed 1285: packaging issue with bundling tests via poetry.
- Fixed 1284: Regression when sorting `.pyi` files from CLI using black profile.
- Fixed 1275 & 1283: Blank line after docstring removed.
- Fixed 1298: CLI Help out of date with isort 5.
- Fixed 1290: Unecessary blank lines above nested imports when import comments turned on.
- Fixed 1297: Usage of `--add-imports` alongside `--check` is broken.
- Fixed 1289: Stream usage no longer auto picking up config file from current working directory.
- Fixed 1296: Force_single_line setting removes immediately following comment line.
- Fixed 1295: `ensure_newline_before_comments` doesnt work with `force_sort_within_sections`.
- Setting not_skip will no longer immediately fail but instead give user a warning and direct
 to upgrade docs.

5.0.4

- Fixed 1264: a regression with comment handling and `force_sort_within_sections` config option
- Added warning for deprecated CLI flags and linked to upgrade guide.

5.0.3

- Fixed setup.py command incorrectly passing check=True as a configuration parameter (see: https://github.com/pycqa/isort/issues/1258)
- Fixed missing patch version
- Fixed issue 1253: Atomic fails when passed in not readable output stream

5.0.2

- Ensured black profile was complete, adding missing line_length definition.

5.0.1

- Fixed a runtime error in a vendored dependency (toml).

5.0.0

**Breaking changes:**

- isort now requires Python 3.6+ to run but continues to support formatting on ALL versions of python including
 Python 2 code.
- isort deprecates official support for Python 3.4, removing modules only in this release from known_standard_library:
   - user
- Config files are no longer composed on-top of each-other. Instead the first config file found is used.
 - Since there is no longer composition negative form settings (such as --dont-skip or it's config file variant `not_skip`) are no longer required and have been removed.
- Two-letter shortened setting names (like `ac` for `atomic`) now require two dashes to avoid ambiguity: `--ac`.
- For consistency with other tools `-v` now is shorthand for verbose and `-V` is shorthand for version. See Issue: 1067.
- `length_sort_{section_name}` config usage has been deprecated. Instead `length_sort_sections` list can be used to specify a list of sections that need to be length sorted.
- `safety_excludes` and `unsafe` have been deprecated
- Config now includes as default full set of safety directories defined by safety excludes.
- `--recursive` option has been removed. Directories passed in are now automatically sorted recursive.
- `--apply` option has been removed as it is the default behaviour.
- isort now does nothing, beyond giving instructions and exiting status code 0, when ran with no arguments.
 - a new `--interactive` flag has been added to enable the old style behaviour.
- isort now works on contiguous sections of imports, instead of one whole file at a time.
- ~~isort now formats all nested "as" imports in the "from" form. `import x.y as a` becomes `from x import y as a`.~~ NOTE: This was undone in version 5.1.0 due to feedback it caused issues with some project conventions.
- `keep_direct_and_as_imports` option now defaults to `True`.
- `appdirs` is no longer supported. Unless manually specified, config should be project config only.
- `toml` is now installed as a vendorized module, meaning pyproject.toml based config is always supported.
- Completely new Python API, old version is removed and no longer accessible.
- New module placement logic and module fully replaces old finders. Old approach is still available via `--old-finders`.

Internal:

- isort now utilizes mypy and typing to filter out typing related issues before deployment.
- isort now utilizes black internally to ensure more consistent formatting.

- profile support for common project types (black, django, google, etc)

- Much much more. There is some difficulty in fully capturing the extent of changes in this release - just because of how all encompassing the release is. See: [Github Issues](https://github.com/pycqa/isort/issues?q=is%3Aissue+is%3Aclosed) for more.

4.3.21

- Fixed issue 957 - Long aliases and use_parentheses generates invalid syntax

4.3.20

- Fixed issue 948 - Pipe redirection broken on Python2.7

4.3.19

- Fixed issue 942 - correctly handle pyi (Python Template Files) to match `black` output
Links

@pyup-bot pyup-bot mentioned this pull request Oct 13, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant