Hatch

Latest version: v1.10.0

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

Scan your dependencies

Page 1 of 7

1.10.0

***Changed:***

- The `run`/`env run`, `fmt` and `shell` commands now only change the current working directory to the project root if not already inside the project
- The `shell` command now accepts a single argument to specify the environment to enter which overrides the standard choice mechanisms. The arguments determining shell options have been converted to flags.

***Added:***

- Add `test` command
- The `run` command can now execute scripts that define inline metadata for dependencies and Python version constraints
- The `virtual` environment type now supports the ability to use UV in place of pip & virtualenv
- Add `self report` command for submitting pre-populated bug reports to GitHub
- The reserved environment used for static analysis is now completely configurable
- Add the following methods to the `environment` interface for complete control over output during life cycle management: `app_status_creation`, `app_status_pre_installation`, `app_status_post_installation`, `app_status_project_installation`, `app_status_dependency_state_check`, `app_status_dependency_installation_check`, `app_status_dependency_synchronization`
- Add binaries for 32-bit versions of Windows
- Read configuration from any `~/.pypirc` file for the `index` publisher
- Use the Git user as the default username for new project URL metadata
- Add `HATCH_DEBUG` environment variable that when enabled will show local variables in the case of unhandled tracebacks
- The `env show` command now outputs data about all internal environments when using the `--json` flag
- Upgrade default CPython distributions to 20240415
- Upgrade default PyPy distributions to 7.3.15
- Upgrade Ruff to 0.4.2
- Upgrade PyApp to 0.19.0 for binary builds
- Bump the minimum supported version of Hatchling to 1.24.2
- Bump the minimum supported version of virtualenv to 20.26.1

***Fixed:***

- Maintain consistent data paths for case insensitive file systems
- When projects derive dependencies from metadata hooks, there is now by default a status indicator for when the hooks are executed for better responsiveness
- Properly support projects with a `pyproject.toml` file but no `project` table e.g. applications
- Fix the `fmt` command when automatically installing plugin dependencies
- Fix dependency inheritance for the template of the `types` environment for new projects
- Fix warnings related to tar file extraction on Python 3.12+ when unpacking Python distributions for installation
- De-select Ruff rule `E501` for the `fmt` command by default since it conflicts with the formatter
- Fix colored output from build targets on the first run (build environment creation status indicator issue)
- Set the `packaging` dependency version as `>=23.2` to avoid its URL validation which can conflict with context formatting
- Fix the exit code when there happens to be an unhandled exception
- No longer capture both stdout and stderr streams when parsing metadata payloads from build environments
- Fix the `README.md` file template for new projects to avoid Markdown linting issues

1.9.7

***Fixed:***

- Limit the maximum version of virtualenv due to a backward incompatible change
- Upgrade PyApp to 0.12.0 for binary builds

hatchling-v1.24.2
***Fixed:***

- Add `.venv` to the list of directories that cannot be traversed
- Output from the core Application utility now writes to stderr

hatchling-v1.24.1
***Fixed:***

- Maintain file permissions for `shared-scripts` option/`shared_scripts` build data of the `wheel` target

hatchling-v1.24.0
***Added:***

- Add `shared_data` and `shared_scripts` build data for the `wheel` target

hatchling-v1.23.0
***Added:***

- Add `shared-scripts` option for the `wheel` target

***Fixed:***

- Support recursive optional dependencies
- Set the `packaging` dependency version as `>=23.2` to avoid its URL validation which can conflict with context formatting

hatchling-v1.22.5
***Fixed:***

- Fix reading metadata from source distributions when fields are dynamic but not part of core metadata like entry points

hatchling-v1.22.4
***Fixed:***

- Only read source distribution metadata for fields that are explicitly defined as dynamic

hatchling-v1.22.3
***Fixed:***

- Fix the `custom` build hook when using dynamic dependencies

hatchling-v1.22.2
***Fixed:***

- Fix regression when loading metadata from source distributions
- Fix metadata hooks when building wheels from source distributions

hatchling-v1.22.1
***Fixed:***

- Update the default version of core metadata to 2.3

hatchling-v1.22.0
***Deprecated:***

- The `app` build target has been renamed to `binary` to reduce ambiguity with the name of an upcoming feature. The former name will still be usable for several minor releases.

***Added:***

- Metadata for the `wheel` target now defaults to the `PKG-INFO` metadata within source distributions
- Add `dependencies` method to the build hook interface so that hooks can themselves dynamically define dependencies
- Update the default version of core metadata to 2.2
- Update SPDX license information to version 3.23
- Improve error message for when the default heuristics for wheel file inclusion fail

***Fixed:***

- Properly support core metadata version 2.2
- Remove `editables` as a direct dependency
- Fix default wheel tag when the supported Python version declaration is strict
- Load VCS ignore patterns first so that whitelisted patterns can be excluded by project configuration
- Don't consider VCS ignore files that are outside of the VCS boundary
- The `sdist` build target now gracefully ignores UNIX socket files
- Begin ignoring certain files ubiquitously, like `.DS_Store` on macOS

1.9.4

***Fixed:***

- Limit the maximum version of Hatchling in anticipation of backward incompatible changes

hatchling-v1.21.1
***Fixed:***

- Fix loading of local plugins to account for newly released versions of a dependency

1.9.3

***Fixed:***

- Fix loading of local plugins to account for newly released versions of a dependency

1.9.2

***Fixed:***

- Fix the default token variable name for publishing to PyPI

1.9.1

***Fixed:***

- Ensure that the `dependency_hash` method of the `environment` interface is called after `sync_dependencies` for cases where the hash is only known at that point, such as for dependency lockers
- Only acknowledge the `HATCH_PYTHON_VARIANT_*` environment variables for Python resolution for supported platforms and architectures
- Fix Python resolution when there are metadata hooks with unsatisfied dependencies

Page 1 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.