Hatch

Latest version: v1.11.0

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

Scan your dependencies

Page 2 of 7

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

1.9.0

***Changed:***

- Environments prefixed by `hatch-` are now considered internal and used for special purposes such as configuration for static analysis

***Added:***

- Enable docstring formatting by default for static analysis
- Allow for overriding config of internal environments
- Concretely state the expected API contract for the environment interface methods `find` and `check_compatibility`
- Upgrade Ruff to 0.1.8
- Bump the minimum supported version of Hatchling to 1.21.0

***Fixed:***

- Ignore a project's Python requirement for environments where the project is not installed
- When not persisting config for static analysis, properly manage internal settings when Ruff's top level table already exists
- Ignore compatibility checks when environments have already been created, significantly improving performance of environment usage
- Properly allow overriding of the `path` option for the `virtual` environment type
- Fix nushell activation on non-Windows systems

hatchling-v1.21.0
***Added:***

- Add `parent` context modifier for path fields

1.8.1

***Fixed:***

- Fix regression in calling subprocesses with updated PATH
- Fix automatic installation of environment plugins when running as a standalone binary
- Change default location of Python installations

hatchling-v1.20.0
***Added:***

- Add `bypass-selection` option to the `wheel` build target to allow for empty (metadata-only) wheels

***Fixed:***

- Fix regression in 1.19.1 that allowed `exclude` to count toward inclusion selection, thus bypassing the default inclusion selection heuristics
- Fix writing optional dependency core metadata in situations where there are multiple environment markers

hatchling-v1.19.1
***Fixed:***

- Add better error message when the `wheel` build target cannot determine what to ship
- Consider forced inclusion patterns and build-time artifacts as file selection since some build hooks generate the entire wheel contents without user configuration

hatchling-v1.19.0
***Changed:***

- An error will now be raised if a force-included path does not exist
- An error will now be raised for the `wheel` build target if no file selection options are defined

***Added:***

- Officially support Python 3.12
- Allow using an empty string for the `sources` option to add a prefix to distribution paths

***Fixed:***

- Properly handle non-zero version epoch for the `standard` version scheme
- Fix the `wheel` build target for case insensitive file systems when the project metadata name does not match the directory name on disk
- The `app` build target no longer has suppressed output
- Prevent duplicate paths when projects require the `sources` option while build hooks overwrite included paths
- Properly escape spaces for URI context formatting

1.8.0

***Changed:***

- Drop support for Python 3.7
- The `get_build_process` method of the `environment` interface has been removed; plugins should use the new `run_builder` method instead
- Remove `pyperclip` dependency and the `--copy` flag of the `config find` command
- When running the `build` command all output from builders is now displayed as-is in real time without the stripping of ANSI codes
- Version information (for Hatch itself) is now derived from Git

***Added:***

- Support Python 3.12
- Add installers and standalone binaries
- Add the ability to manage Python installations
- Add `fmt` command
- The `virtual` environment type can now automatically download requested versions of Python that are not installed
- Add `dependency_hash` method to the `environment` interface
- The state of installed dependencies for environments is saved as metadata so if dependency definitions have not changed then no checking is performed, which can be computationally expensive
- The `build` command now supports backends other than Hatchling
- Allow the use of `features` for environments when `skip-install` is enabled
- The default is now `__TOKEN__` when prompting for a username for the `publish` command
- Add a new `run_builder` method to the `environment` interface
- Bump the minimum supported version of Hatchling to 1.19.0
- Bump the minimum supported version of `click` to 8.0.6

***Fixed:***

- Fix nushell activation
- Better handling of flat storage directory hierarchies for the `virtual` environment type
- Display useful information when running the `version` command outside of a project rather than erroring
- Fix the `project metadata` command by only capturing stdout from the backend
- Properly support Google Artifact Registry
- Fix parsing dependencies for environments when warnings are emitted

hatchling-v1.18.0
***Changed:***

- Drop support for Python 3.7

***Added:***

- Update the list of directories that are always excluded for builds

hatchling-v1.17.1
***Fixed:***

- Fix dev mode when the project has symlinks and file inclusion is defined with the `packages` or `only-include` options
- Change the name of generated PTH files for dev mode so they come first lexicographically and therefore load first

hatchling-v1.17.0
***Added:***

- The `app` build target now embeds the project version in the name of binaries

hatchling-v1.16.1
***Fixed:***

- Fix determining the built executable path for the `app` build target option when using a local copy of PyApp when there is an explicit target triple set

hatchling-v1.16.0
***Added:***

- Add `app` build target option to build using a local copy of the PyApp repository

hatchling-v1.15.0
***Added:***

- Add `app` build target

hatchling-v1.14.1
***Fixed:***

- Fix internal archive root naming for the `sdist` target when `strict-naming` is disabled to match the file name in order to support the expectation of some frontends

1.7.0

***Changed:***

- The `src-layout` project template option is now enabled by default
- Non-critical output now goes to stderr

***Added:***

- Add `tool.hatch.env.requires` configuration to automatically install dependencies for environment and environment collector plugins
- Add `custom` environment collector
- Improve syncing of dependencies provided through Git direct references
- Add `isolated_data_directory` attribute to the environment interface
- Increase the timeout for and add retries to the `index` publisher
- Expand home and environment variables in configured cache and data directories
- Improve readability of exceptions
- Update project templates
- Bump the minimum supported version of Hatchling to 1.14.0

***Fixed:***

- Fix displaying the version with the `version` command when the version is static and build dependencies are unmet
- Fix build environments for the `virtual` environment type when storing within a relative path
- Work around System Integrity Protection on macOS when running commands
- Allow setuptools metadata migration for projects without `setup.py` if `setup.cfg` is present
- Handle additional edge cases for setuptools metadata migration
- Support boolean values for the `config set` command

hatchling-v1.14.0
***Added:***

- Add `trove-classifiers` as a dependency

***Fixed:***

- Properly normalize metadata descriptions that contain line breaks

hatchling-v1.13.0
***Added:***

- Update the set of known trove classifiers to version 2023.2.8

hatchling-v1.12.2
***Fixed:***

- Add `macos-max-compat` option to the `wheel` target that is enabled by default to support the latest version 22.0 of the `packaging` library

hatchling-v1.12.1
***Fixed:***

- Fix minor regression in the PEP 517/660 function signatures that was discovered by Fedora

hatchling-v1.12.0
***Added:***

- Improve readability of exceptions
- Add `extra_metadata` build data to the `wheel` target
- Retroactively support `License-Expression` core metadata starting at version 2.1
- Add more type hints
- Update the set of known trove classifiers to version 2022.12.22
- Update SPDX license information to version 3.19
- Store Hatchling's metadata in `pyproject.toml`

***Fixed:***

- Acknowledge the `ARCHFLAGS` environment variable on macOS for the `wheel` target when build hooks set the `infer_tag` build data to `true`
- Fix dependency checking when encountering broken distributions
- Fix the `support-legacy` option for the `sdist` target when using a src-layout project structure
- Remove unnecessary encoding declaration in the default template for the `version` build hook

1.6.3

***Fixed:***

- Fix `version` command when the version is dynamic and build dependencies are unmet

Page 2 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.