Skip to content

Releases: PyCQA/isort

10.0.0b1

10.0.0b1 Pre-release
Pre-release

Choose a tag to compare

@DanielNoord DanielNoord released this 18 Oct 19:20

This is the first beta for isort 10. This version will contain a breaking style change to align the handling of non-aliased from imports (e.g., from package import module) with ruff and fix some related bugs.
Like ruff, isort will now group these imports into one statement. For example: from package import module, module_two.

Please let us know whether this change causes unintended problems in your projects.

There are a couple of less signficiant breaking changes discussed below.

💥 Breaking Changes

  • Group non-aliased from imports by @DanielNoord in #2614
  • Drop Python 3.10 support by @DanielNoord with @Copilot in #2697
  • Remove shebang-based file detection by @DanielNoord with @Copilot in #2701
    Previously isort would open every file in the passed directories to see whether they contained a Python shebang line and then format these files. This is no longer supported and only files with the selected file extensions will be formatted. Not opening every file it encounters speeds up isort significantly.
  • Unify --version CLI arguments and always show quick guide by @DanielNoord in #2726

🚀 Features

🪲 Fixes

  • Keep the multiline layout of a sorted literal that has a trailing comment by @youdie006 in #2686
  • Fix combine_straight_imports mixing up module names on long lines by @APX403 in #2724
  • Respect extension filters for explicit files with --filter-files by @00200200 in #2720* Keep an import that follows an indented import block with lines_before_imports by @Eljees in #2672
  • Preserve atomic Cython output for write-only streams by @xiehuanyi in #2721
  • grid: preserve trailing comment when no line wrap is needed by @Master-Norna in #2675

Other changes

Full Changelog: 9.0.2...10.0.0b1

9.0.2

Choose a tag to compare

@DanielNoord DanielNoord released this 28 Sep 19:00

🪲 Fixes

  • Preserve blank lines before comment-only sections by @fzlzjerry in #2655
  • Preserve trailing-comma layout when sorting reexports by @PSR94 in #2605
  • fix: treat EOF on stdin as 'quit' in --interactive prompt by @Eljees in #2653
  • Fix multi_line_output=10 emitting unparsable code around trailing comments by @dylanpulver in #2651
  • Stop configuration discovery at Git worktree boundaries by @vzer200 in #2654
  • fix: preserve trailing comments when sorting literals by @Manny7717 in #2647
  • Preserve LF stdin output on Windows by @AleksZyro in #2616
  • Handle star imports better when using parenthesis by @DanielNoord in #2665
  • Sort unwrapped lines in force_sort_within_sections by @DanielNoord in #2667
  • Preserve file line endings when sorting reexports by @vyrnsynx in #2669
  • Fix float_to_top hoisting indented semicolon imports by @Pajimo in #2671
  • Preserve CRLF blank lines during float-to-top preprocessing by @hansu650 in #2683
  • mypy: type-check tests and use pathlib fixtures by @DanielNoord in #2685

Other changes

Full Changelog: 9.0.1...9.0.2

9.0.1

Choose a tag to compare

@DanielNoord DanielNoord released this 27 Aug 20:30

🪲 Fixes

  • Restore python -m isort by excluding __main__ from mypyc compilation by @DanielNoord with @Copilot in #2643

Other changes

Full Changelog: 9.0.0...9.0.1

9.0.0

Choose a tag to compare

@DanielNoord DanielNoord released this 26 Aug 21:27

isort 9.0.0 is the result of several alpha and beta releases, as well as a small number of fixes added after the last beta. For release notes for the individual alphas and betas we would like to refer to:

Skipped version numbers are the result of changes to our release infrastructure that broke while creating the actual releases.

Please find below the full release notes for version 9.0.0, the newest release of isort after version 8.0.1.


isort 9.0.0 contains some significant changes and improvements. Most notably there is now support for Python 3.15 and its lazy imports and we have included several performance improvements as well as providing mypyc compiled wheels for all major platforms and supported versions of Python. In our own tests we saw speeds ups of more than 2x and 3x times, but this is highly dependent on the codebase isort needs to inspect.

The full list of changes is as follows:

💥 Breaking Changes

🚀 Features

🪲 Fixes

Other changes

Full Changelog: 8.0.1...9.0.0

9.0.0b5

Choose a tag to compare

@DanielNoord DanielNoord released this 16 Aug 23:14

Please see the release notes of 9.0.0a2, 9.0.0a3, 9.0.0b1 and 9.0.0b2 for additional changes compared to the last full release.

isort now provides wheels that contain code compiled with mypyc. Depending on your use of isort this can provide a 10% reduction in the time it takes for isort to check your code.

🚀 Features

Other changes

9.0.0b4

9.0.0b4 Pre-release
Pre-release

Choose a tag to compare

@DanielNoord DanielNoord released this 16 Aug 22:30

This was never released due to issues with our release infrastructure. Please refer to 9.0.0b5.

9.0.0b3

9.0.0b3 Pre-release
Pre-release

Choose a tag to compare

@DanielNoord DanielNoord released this 16 Aug 21:50

This was never released due to issues with our release infrastructure. Please refer to 9.0.0b4.

9.0.0b2

9.0.0b2 Pre-release
Pre-release

Choose a tag to compare

@DanielNoord DanielNoord released this 08 Aug 13:09
8d8d49d

Please see the release notes of 9.0.0a2, 9.0.0a3 and 9.0.0b1 for additional changes compared to the last full release.

🚀 Features

🪲 Fixes

Other changes

9.0.0b1

9.0.0b1 Pre-release
Pre-release

Choose a tag to compare

@DanielNoord DanielNoord released this 12 Jul 20:28
7f321d3

Please see the release notes of 9.0.0a2 and 9.0.0a3 for additional changes compared to the last full release.

🪲 Fixes

Other changes

  • Remove unused _ENCODING_PATTERN regex and re import by @duriantaco in #2525
  • Remove references to defunct git_ignore config by @sparrowt in #2531
  • Fix broken relative links in README and CHANGELOG for both GitHub and Sphinx by @rohitshinde08 in #2530

9.0.0a3

9.0.0a3 Pre-release
Pre-release

Choose a tag to compare

@staticdev staticdev released this 24 Apr 07:48
dac090c

What's Changed

Full Changelog: 9.0.0a2...9.0.0a3