# What changed in hatchling

> 10 changes in hatchling 1 from its official release notes, upgrade guides and advisories: 1 breaking, 1 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/pypi/hatchling/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## hatchling 1

### Breaking changes

- Absolute paths and paths resolving outside the project directory are rejected. (1.32.0) — [release notes](https://github.com/pypa/hatch/releases/tag/hatchling-v1.32.0)

### New APIs and options

- Pass --force to allow an explicit downgrade when setting a static project.version. (1.32.0) — [release notes](https://github.com/pypa/hatch/releases/tag/hatchling-v1.32.0)

### Behavior and default changes

- The default core metadata version is now 2.5. (1.32.0) — [release notes](https://github.com/pypa/hatch/releases/tag/hatchling-v1.32.0)
- The version command can update a statically defined project.version in pyproject.toml in place. (1.32.0) — [release notes](https://github.com/pypa/hatch/releases/tag/hatchling-v1.32.0)

### Fixes and other changes

- BuilderConfig is no longer generic, restoring the pre-1.32.3 plugin interface. (1.32.4) — [release notes](https://github.com/pypa/hatch/releases/tag/hatchling-v1.32.4)
- Reverts the extra type parameter that broke plugins subscripting BuildHookInterface with a single argument, restoring the pre-1.32.3 plugin interface. (1.32.4) — [release notes](https://github.com/pypa/hatch/releases/tag/hatchling-v1.32.4)
- Spaces are stripped around version metadata when original input is used for CalVer, preserving leading zeroes. (1.32.4) — [release notes](https://github.com/pypa/hatch/releases/tag/hatchling-v1.32.4)
- Preserves the version string exactly as written in core metadata, including leading zeros in CalVer versions; distribution file names and .dist-info directories still use the PEP 440 normalized form. (1.32.3) — [release notes](https://github.com/pypa/hatch/releases/tag/hatchling-v1.32.3)
- Entries with the `; private` annotation are accepted rather than rejected as invalid import names. (1.32.0) — [release notes](https://github.com/pypa/hatch/releases/tag/hatchling-v1.32.0)
- Entries with the `; private` annotation are accepted rather than rejected as invalid import names. (1.32.0) — [release notes](https://github.com/pypa/hatch/releases/tag/hatchling-v1.32.0)
