HeadlinesBriefing favicon HeadlinesBriefing.com

uv 0.12.0 Release Notes

Hacker News •
×

The latest release of uv, version 0.12.0, introduces several significant changes aimed at improving correctness, safety, and specification compatibility. While most users should be able to upgrade without modifications, some workflows might be affected. A key change is the default behavior of `uv init`, which now defines a build system using `uv_build` and packages the project, creating a more standard project layout. This restores a best-practice default that was previously removed due to complexity for newcomers.

This release also enhances robustness by rejecting unsupported source distribution and wheel archive formats, including legacy compression methods. Furthermore, uv now actively rejects wheel files that could potentially overwrite the Python interpreter, addressing security concerns on case-insensitive file systems. The dependency resolution process has been improved to prefer stable releases over pre-releases by default, falling back to pre-releases only when necessary, aligning with pip's behavior and improving transitive dependency handling.

Additionally, uv now fully respects `--require-hashes` directives within `requirements.txt` files, enforcing hash checking as intended. The tool also rejects MD5-only hashes in hash-checking mode, mandating the use of secure digests. Finally, uv has increased validation for `pylock.toml` files, rejecting malformed inputs and ensuring artifact integrity based on declared sizes. These updates collectively strengthen the reliability and security of the uv package management tool.