NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #82 most downloaded on PyPI
Modern, extensible Python build backend
Last release 8 days ago
20 Sep 2026
Release timing varies
gaps range from 1 weeks to 12 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
9 versions withdrawn
withdrawn after publishing
5 years old
85 releases · first in 2022
One column per quarter.
Add skip-excluded-dirs build option
Added:
skip-excluded-dirs build optionwheel and sdist build targetsforce_include_editable build data for the wheel build targetbuild_hooks build data.hgignore files when using glob syntaxFixed:
force_include build dataChange the Generator name of wheel metadata from hatch to hatchling to be more precise
Added:
Generator name of wheel metadata from hatch to hatchling to be more preciseThis is the initial public release of the Hatchling build system. Support for Python 2 will be dropped in version 1. September 20, 2026 GitHub
Add option to force include files from arbitrary paths
Added:
version commandwheel builder to ship files that will be installed globallywheel builder to ship extra metadata fileseditables dependencytomllib on Python 3.11+Fixed:
hatch.toml config file, if present, for source distributionsChange the default dev mode mechanism to pth files for better compatibility with static analysis tools & IDEs (see https://github.com/microsoft/pylanc
Added:
pth files for better compatibility with static analysis tools & IDEs (see https://github.com/microsoft/pylance-release/issues/2114)Fixed:
setuptools with support for PEP 621 without PEP 639Relax normalization of dependency definitions
Fixed:
In order to simplify configuration, metadata hooks are now configured under tool.hatch.metadata.hooks rather than directly under tool.hatch.metadata
Changed:
tool.hatch.metadata.hooks rather than directly under tool.hatch.metadataAdded:
regex version source case insensitiveAllow test execution from within Hatchling's source distribution
Fixed:
*Added:* - Relax dependency constraints
Added:
Add option for builds to declare dependence on a project's runtime dependencies
Added:
Fixed:
Add ability to rewrite the distributed path of files
Added:
Always include any root .gitignore file for source distributions so recursive builds are guaranteed to be identical
Added:
.gitignore file for source distributions so recursive builds are guaranteed to be identicalFixed:
Always include the default build script location for source distributions
Added:
project.dynamic that were added by metadata hooksFail builds early for invalid project metadata
Added:
-t sdist -t wheel rather than raising an errorAdd code version source that can load arbitrary Python code
Added:
code version source that can load arbitrary Python codeFixed:
.gitignoreExclude Python byte code files by default for cases where there is no Git checkout and therefore no .gitignore file providing default exclusion patter
Added:
.gitignore file providing default exclusion patternsFixed:
Add option to exclude non-artifact files that do not reside within a Python package
Added:
Replace the build data zip_safe with pure_python
Fixed:
zip_safe with pure_python*Fixed:* - Fix custom hooks on Python 2
Fixed:
Change the default location of custom build scripts from build.py to hatch_build.py so the packaging tool build can be used (if desired) at the projec
Fixed:
build.py to hatch_build.py so the packaging tool build can be used (if desired) at the project rootSwitch project to a src-layout structure
Added:
src-layout structurehatchling source distributionsFixed:
hatchlingSupport text/plain content type for project.readme metadata
Added:
text/plain content type for project.readme metadataBuild hooks now have access to project metadata
Added:
Fixed:
*Fixed:* - Fix plugins on Python 2
Fixed:
*Fixed:* - Update project metadata
Fixed:
The regex version source now supports the ^/$ multi-line characters by default
Added:
regex version source now supports the ^/$ multi-line characters by defaultFixed:
regex version sourceYour coding agent can read these notes before it upgrades. Set up the MCP server →