The `uv init` command in Uv 0.12.0 now defaults to creating projects with a defined build system, using `uv_build`. This change restores a previous default behavior from v0.3, which was later removed in v0.4 due to confusion with the `hatchling` build system. The new default places application source code in `src/example` and includes a `[project.scripts]` entry, allowing projects to be imported, installed, and run as commands.
Previously, `uv init` created an unpackaged layout without a build system, meaning projects could declare dependencies but were not themselves installed into their virtual environment. Existing projects are unaffected by this change, and users can revert to the unpackaged layout using `uv init --no-package example`.
Uv 0.12.0 introduces stricter enforcement of archive formats for source distributions and wheels. In compliance with PEP 625, source distributions must now use `.tar.gz` archives. Legacy formats such as `.tar.bz2` and `.tar.xz` are no longer accepted, even if referenced in existing lockfiles. However, legacy `.zip` source distributions remain supported for backward compatibility.
Additionally, wheels and other ZIP archives can no longer contain entries compressed with bzip2, LZMA, or XZ. Supported compression methods for these archives are now limited to stored, DEFLATE, or zstd.
These updates are intended to improve the correctness, safety, and compatibility of Uv with established specifications. While many changes are marked as breaking out of caution, most users are expected to be able to upgrade without requiring modifications to their workflows. Users with `uv_build` in their `[build-system]` table should update their upper bound to allow `uv_build 0.12`.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
Uv 0.12.0 has been released, making project packaging the default behavior for new projects created with `uv init` and enforcing stricter archive format requirements for source distributions and wheels. These changes aim to improve correctness, safety, and compatibility with specifications, though they may require minor adjustments for some existing workflows.