Hatch

Latest version: v1.14.0

Safety actively analyzes 714736 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 8

1.0.0

This is the first stable release of Hatch v1, a complete rewrite. Enjoy!

1.0.0rc18

***Changed:***

- Moved the version scheme plugin interface to Hatchling for the ability to use version management without requiring a heavy CLI installation

***Added:***

- Add `dep show requirements` command
- Automatically run `version` commands in a build environment if dependencies are unavailable
- Use `tomllib` on Python 3.11+
- Bump the minimum supported version of Hatchling

1.0.0rc17

***Changed:***

- Rename environment collector API method `get_environment_config` to `get_initial_config` and do not make it required

***Added:***

- Add the `env run` command as a more advanced form of the `run` command
- Add `--json` flag to the `env show` command
- Add features and scripts to the `env show` command
- Allow environment selection for the `env show` command
- Add environment collector API methods `finalize_config` and `finalize_environments`
- Add more conditions for environment option overrides
- Allow for environment option overrides of unknown/untyped options
- Add method to the environment interface for getting options from environment variables
- Allow selecting an explicit path for `virtual` environments
- Add `detached` option to environments
- Expose helper for lazily loading modules
- Normalize the names of environment features to adhere to the newly-introduced [PEP 685](https://peps.python.org/pep-0685/)
- Bump the minimum supported version of Hatchling
- Upgrade `tomlkit` for better formatting

hatchling-v0.22.0
***Added:***

- Change the default dev mode mechanism to `pth` files for better compatibility with static analysis tools & IDEs (see https://github.com/microsoft/pylance-release/issues/2114)

***Fixed:***

- Fix downstream test suite to avoid versions of `setuptools` with support for PEP 621 without PEP 639

hatchling-v0.21.1
***Fixed:***

- Relax normalization of dependency definitions
- Update project URLs metadata

1.0.0rc16

***Added:***

- Add ability to select specific environments for command execution of matrices based on variables
- Support a `HATCH_PYTHON` environment variable that, for example, environments may use before defaulting to the Python executable Hatch is running on
- Also use the `SHELL` environment variable fallback on Windows systems
- Update project URLs metadata

hatchling-v0.21.0
***Changed:***

- In order to simplify configuration, metadata hooks are now configured under `tool.hatch.metadata.hooks` rather than directly under `tool.hatch.metadata`

***Added:***

- Add option to allow the use of direct references for dependencies
- Make the default pattern for the `regex` version source case insensitive
- Deduplicate and normalize dependency definitions before writing metadata for wheels and source distributions
- Normalize the names of optional dependency groups to adhere to the newly-introduced [PEP 685](https://www.python.org/dev/peps/pep-0685/)

1.0.0rc15

***Added:***

- Bump the minimum supported version of Hatchling

hatchling-v0.20.1
***Fixed:***

- Allow test execution from within Hatchling's source distribution

hatchling-v0.20.0
***Added:***

- Relax dependency constraints

1.0.0rc14

***Added:***

- When building with no targets defined in config, default to `-t sdist -t wheel` rather than raising an error
- Improve the output format of the `env show` command
- Add `description` option to environments
- Add `extra-dependencies` option to environments
- Upgrade `actions/setup-python` action of the CI option for new projects to `v3`
- Bump the minimum supported version of Hatchling
- Update project metadata

hatchling-v0.19.0
***Added:***

- Add option for builds to declare dependence on a project's runtime dependencies

***Fixed:***

- Disallow direct references for dependency definitions

hatchling-v0.18.0
***Added:***

- Add ability to rewrite the distributed path of files

hatchling-v0.17.0
***Added:***

- Always include any root `.gitignore` file for source distributions so recursive builds are guaranteed to be identical

***Fixed:***

- Fix metadata handling of non-ASCII characters in README files for source distributions on Python 2

hatchling-v0.16.0
***Added:***

- Always include the default build script location for source distributions
- Automatically remove fields from `project.dynamic` that were added by metadata hooks

hatchling-v0.15.0
***Added:***

- Fail builds early for invalid project metadata
- When building with no targets defined in config, default to `-t sdist -t wheel` rather than raising an error
- Update project metadata

hatchling-v0.14.0
***Added:***

- Add `code` version source that can load arbitrary Python code

***Fixed:***

- Also exclude compiled Python extensions by default for cases where there is no `.gitignore`

hatchling-v0.13.0
***Added:***

- Exclude Python byte code files by default for cases where there is no Git checkout and therefore no `.gitignore` file providing default exclusion patterns

***Fixed:***

- Fix metadata handling of non-ASCII characters in README files on Python 2

hatchling-v0.12.0
***Added:***

- Add option to exclude non-artifact files that do not reside within a Python package

hatchling-v0.11.3
***Fixed:***

- Replace the build data `zip_safe` with `pure_python`

Page 6 of 8

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.