History¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Hatch¶
Unreleased¶
1.3.1 - 2022-07-11¶
Fixed:
- Support
-h/--helpflag for theruncommand
1.3.0 - 2022-07-10¶
Changed:
- Rename the default publishing plugin from
pypito the more genericindex
Added:
- Support the absence of
pyproject.tomlfiles, as is the case for apps and non-Python projects - Hide scripts that start with an underscore for the
env showcommand by default - Ignoring the exit codes of commands by prefixing with hyphens now works with entire named scripts
- Add a way to require confirmation for publishing
- Add
--force-continueflag to theenv runcommand - Make tracebacks colorful and less verbose
- When shell configuration has not been defined, attempt to use the current shell based on parent processes before resorting to the defaults
- The shell name
pwshis now an alias forpowershell - Remove
atomicwritesdependency - Relax constraint on
userpathdependency - Bump the minimum supported version of Hatchling to 1.4.1
Fixed:
- Keep environments in sync with the dependencies of the selected features
- Use
utf-8for all files generated for new projects - Escape special characters Git may return in the user name when writing generated files for new projects
- Normalize the package name to lowercase in
setuptoolsmigration script - Fix parsing of source distributions during publishing
1.2.1 - 2022-05-30¶
Fixed:
- Fix handling of top level
data_filesinsetuptoolsmigration script
1.2.0 - 2022-05-22¶
Changed:
- The
enter_shellenvironment plugin method now accepts an additionalargsparameter
Added:
- Allow context string formatting for environment dependencies
- Add environment context string formatting fields
env_name,env_type,matrix,verbosity, andargs - Support overriding the default arguments used to spawn shells on non-Windows systems
- Bump the minimum supported version of Hatchling to 1.3.0
Fixed:
- Improve
setuptoolsmigration script
1.1.2 - 2022-05-20¶
Fixed:
- Bump the minimum supported version of Hatchling to 1.2.0
- Update project metadata to reflect support for Python 3.11
1.1.1 - 2022-05-12¶
Fixed:
- Fix
setuptoolsmigration script for non-Windows systems
1.1.0 - 2022-05-12¶
Changed:
- In order to simplify the implementation of command execution for environment plugins, the
run_shell_commandsmethod has been replaced by the singularrun_shell_command. A newcommand_contextmethod has been added to more easily satisfy complex use cases. - The
finalize_commandenvironment plugin method has been removed in favor of the newly introduced context formatting functionality.
Added:
- Add context formatting functionality i.e. the ability to insert values into configuration like environment variables and command line arguments
- Any verbosity for command execution will now always display headers, even for single environments
- Every executed command is now displayed when running multiple commands or when verbosity is enabled
- Similar to
make, ignore the exit code of executed commands that start with-(a hyphen) - Add ability for the
--initflag of thenewcommand to automatically migratesetuptoolsconfiguration - Update project metadata to reflect the adoption by PyPA and production stability
1.0.0 - 2022-04-28¶
This is the first stable release of Hatch v1, a complete rewrite. Enjoy!
Hatchling¶
Unreleased¶
1.6.0 - 2022-07-23¶
Changed:
- When no build targets are specified on the command line, now default to
sdistandwheeltargets rather than what happens to be defined in config - The
codeversion source now only supports files with known extensions - Global build hooks now run before target-specific build hooks to better match expected behavior
Added:
- The
codeversion source now supports loading extension modules - Add
search-pathsoption for thecodeversion source
Fixed:
- Fix removing
sourcesusing an empty string value in the mapping - The
strict-namingoption now also applies to the metadata directory ofwheeltargets
1.5.0 - 2022-07-11¶
Added:
- Support the final draft of PEP 639
- Add
strict-namingoption forsdistandwheeltargets
Fixed:
- Project names are now stored in
sdistandwheeltarget core metadata exactly as defined inpyproject.tomlwithout normalization to allow control of how PyPI displays them
1.4.1 - 2022-07-04¶
Fixed:
- Fix forced inclusion of important files like licenses for
sdisttargets when using the explicit selection options - Don't sort project URL metadata so that the rendered order on PyPI can be controlled
1.4.0 - 2022-07-03¶
Changed:
- The
packagesoption uses the newonly-includeoption to provide targeted inclusion, since that is desired most of the time. You can retain the old behavior by using theincludeandsourcesoptions together.
Added:
- Support PEP 561 type hinting
- Add
versionbuild hook - Add
only-includeoption - The
editableversion ofwheeltargets now respects theforce-includeoption by default - The
force-includeoption now supports path rewriting with thesourcesoption - The
wheeltargetshared-dataandextra-metadataoptions now respect file selection options - The
wheeltarget now auto-detects single module layouts - Improve performance by never entering directories that are guaranteed to be undesirable like
__pycache__rather than excluding individual files within - Update SPDX license information to version 3.17
Fixed:
- Don't write empty entry points file for
wheeltargets if there are no entry points defined - Allow metadata hooks to set the
versionin all cases - Prevent duplicate file entries from inclusion when using the
force-includeoption
1.3.1 - 2022-05-30¶
Fixed:
- Better populate global variables for the
codeversion source
1.3.0 - 2022-05-22¶
Removed:
- Remove unused global
argscontext string formatting field
Added:
- Improve error messages for the
envcontext string formatting field
Fixed:
- Fix
uricontext string formatting modifier on Windows
1.2.0 - 2022-05-20¶
Added:
- Allow context formatting for
project.dependenciesandproject.optional-dependencies
1.1.0 - 2022-05-19¶
Added:
- Add
uriandrealcontext string formatting modifiers for file system paths
1.0.0 - 2022-05-17¶
Changed:
- Drop support for Python 2
Added:
- Improve error messaging for invalid versions
- Update project metadata to reflect support for Python 3.11
0.25.1 - 2022-06-14¶
Fixed:
- Fix support for Windows on Python 2 by removing its support for symlinks
0.25.0 - 2022-05-15¶
Added:
- Add
skip-excluded-dirsbuild option - Allow build data to add additional project dependencies for
wheelandsdistbuild targets - Add
force_include_editablebuild data for thewheelbuild target - Add
build_hooksbuild data - Add support for Mercurial's
.hgignorefiles when using glob syntax - Update project metadata to reflect the adoption by PyPA
Fixed:
- Properly use underscores for the name of
force_includebuild data - No longer greedily skip excluded directories by default
0.24.0 - 2022-04-28¶
This is the initial public release of the Hatchling build system. Support for Python 2 will be dropped in version 1.
Last update: July 23, 2022