NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3816 most downloaded on PyPI
Safe, atomic formatting with black and µsort
Last release 7 months ago
08 Feb 2026
Release timing varies
gaps range from 8 days to 12 months
Nearly every release is documented
notes for 24 of 26 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
33 releases · first in 2020
One column per quarter.
Fix ruff-api target version handling
Maintenance release
$ git shortlog -s v2.9.0...v2.9.1
2 Amethyst Reese
2 Itamar Oren
9 dependabot[bot]
Maintenance release
$ git shortlog -s v2.8.0...v2.9.0
6 Amethyst Reese
11 dependabot[bot]
New: passes more sorting options to ruff-api to replicate usort options
Feature release
ruff-api >= 0.1.0 (#247)$ git shortlog -s v2.7.3...v2.8.0
2 Amethyst Reese
1 Mads Hougesen
1 dependabot[bot]
Fix error when using alternate import sorters with black
Bugfix release
$ git shortlog -s v2.7.2...v2.7.3
4 Amethyst Reese
Fix: newline handling and normalization in LSP
Bugfix release
$ git shortlog -s v2.7.1...v2.7.2
3 Amethyst Reese
1 dependabot[bot]
Fix: pass project root directory to ruff-api when sorting imports
Bugfix release
$ git shortlog -s v2.7.0...v2.7.1
4 Amethyst Reese
8 dependabot[bot]
Experimental support for running a generic LSP
Feature release
$ git shortlog -s v2.6.0...v2.7.0
2 Amethyst Reese
5 dependabot[bot]
Experimental support for using ruff's import sorter
Feature release
$ git shortlog -s v2.5.1...v2.6.0
2 Amethyst Reese
7 dependabot[bot]
Fix: pass target file path to ufmt config factory ( #196 , #197 )
Bugfix release
$ git shortlog -s v2.5.0...v2.5.1
4 Amethyst Reese
Experimental support for alternate sorters, or skipping sorting
Feature release
formatter parameter to ufmt_bytes with ufmt_config (#192)ufmt_config_factory parameters to ufmt_paths and ufmt_file$ git shortlog -s v2.4.0...v2.5.0
6 Amethyst Reese
Experimental support for using ruff instead of black
Feature release
$ git shortlog -s v2.3.0...v2.4.0
4 Amethyst Reese
1 Tim Hatch
11 dependabot[bot]
New: added --root option to override project root discovery
Feature release
--root option to override project root discovery (#160)$ git shortlog -s v2.2.0...v2.3.0
3 Amethyst Reese
1 Sergey Goder
5 dependabot[bot]
New: added --concurrency option to control number of parallel jobs
Feature release
--concurrency option to control number of parallel jobs (#149)ufmt_paths accepts concurrency option (#149)$ git shortlog -s v2.1.0...v2.2.0
3 Amethyst Reese
2 Sergey Goder
7 dependabot[bot]
Better support for 3.10+ syntax, enable LibCST native parser by default
Feature release
$ git shortlog -s v2.0.1...v2.1.0
1 Aarni Koskela
9 Amethyst Reese
5 dependabot[bot]
Fix index error when formatting files that trigger assertion errors in usort/black
Bugfix release
$ git shortlog -s v2.0.0...v2.0.1
5 Amethyst Reese
3 dependabot[bot]
Breaking change: Dropped support for Python 3.6
Feature release
--quiet flag for suppressing reports and non-error messages (#101)ufmt_paths now returns a generator yielding results as they complete (#76)return_content flag to API to save before/after bytes on results (#75)SkipFormatting from pre/post-processors to skip file (#79)ufmt_string will be removed in v3.0, use ufmt_bytesufmt_file and ufmt_paths require keyword arguments$ git shortlog -s action-v1...v2.0.0
4 Amethyst Reese
2 dependabot[bot]
Fix: fake stdin path now resolvable on Windows
Release candidate:
--quiet flag for suppressing reports and non-error messages (#101)$ git shortlog -s v2.0.0b2...v2.0.0rc1
10 Amethyst Reese
1 dependabot[bot]
Fix: sorting empty files is now handled correctly
Beta release
$ git shortlog -s v2.0.0b1...v2.0.0b2
5 Amethyst Reese
Fix: Handle CRLF newlines correctly in diff output and results
Beta release
$ git shortlog -s v2.0.0a4...v2.0.0b1
6 Amethyst Reese
2 dependabot[bot]
New: allow raising SkipFormatting from pre/post processors to skip file
Alpha release
SkipFormatting from pre/post processors to skip file (#79)$ git shortlog -s v2.0.0a3...v2.0.0a4
4 Amethyst Reese
New: ufmt_paths now returns a generator yielding results as they complete
Alpha release
$ git shortlog -s v2.0.0a2...v2.0.0a3
10 Amethyst Reese
Feature: added pre-processors to match post-processors
Alpha release
$ git shortlog -s v2.0.0a1...v2.0.0a2
15 Amethyst Reese
Breaking change: ufmt_file and ufmt_paths require keyword arguments
Alpha release
ufmt_string will be removed in v3.0, use ufmt_bytesufmt_file and ufmt_paths require keyword arguments$ git shortlog -s v1.3.3...v2.0.0a1
14 Amethyst Reese
Adds PEP 561 py.typed marker to package
Maintenance release
__all__ for type checking$ git shortlog -s v1.3.2...v1.3.3
22 Amethyst Reese
6 dependabot[bot]
Disallow flit-core==3.7.0 in PEP 518 build (#56, pypa/flit#530)
Maintenance release
$ git shortlog -s v1.3.1...v1.3.2
4 Amethyst Reese
7 dependabot[bot]
Nothing published for this version
Fixed formatting for type stubs (#41, #42)
Bugfix release
$ git shortlog -s v1.3.0...v1.3.1
11 Amethyst Reese
1 Mathieu Kniewallner
19 dependabot[bot]
Added support for configurable list of excludes to supplement gitignore
Feature release
$ git shortlog -s v1.2.1...v1.3.0
14 Amethyst Reese
14 Philip Meier
Add support for reading and obeying .gitignore in project root
Maintenance release
$ git shortlog -s v1.2...v1.2.1
4 Amethyst Reese
Major performance improvement via multiprocessing (#4, #5)
Feature release
$ git shortlog -s v1.1...v1.2
7 Amethyst Reese
1 Tim Hatch
Added diff command to validate and also output unified diff (#2, #3)
Feature release
diff command to validate and also output unified diff (#2, #3)$ git shortlog -s v1.0...v1.1
3 Amethyst Reese
format command formats files in place
Initial release
format command formats files in placecheck command validates existing formatting$ git shortlog -s v1.0
17 Amethyst Reese
1 Tim Hatch
Initial release
format command formats files in place
check command validates existing formatting
Basic readme and sphinx docs
$ git shortlog -s v1.0 17 Amethyst Reese 1 Tim Hatch
©2026, Amethyst Reese.
| Page source
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →