Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.0.1
->2.1.1
1.84.0
->1.85.0
0.5.20
->0.6.2
Release Notes
python-poetry/poetry (poetry)
v2.1.1
Compare Source
Fixed
poetry env use python
does not choose the Python from the PATH (#10187).poetry-core (
2.1.1
)python_version
marker resulted in an invalid marker (#838).v2.1.0
Compare Source
Added
build
command build-system agnostic (#10059,#10092).
--config-settings
option topoetry build
(#10059).config-settings
when building dependencies (#10129).findpython
to find the Python interpreters (#10097).--no-truncate
option topoetry show
(#9580).#10065,
#10126,
#10127,
#10132).
Changed
poetry new
defaults to "src" layout by default (#10135).#10114,
#10138,
#10146).
--priority
(#10134).Fixed
#10067,
#10128).
poetry init
was not able to find a package on PyPI while adding dependencies interactively (#10055).@latest
descriptor was incorrectly passed to the core requirement parser (#10069).True
(in contrast totrue
) were interpreted asfalse
(#10080).poetry env activate
reported a misleading error message (#10087).poetry add --optional
would not correctly update the lock file (#10076).pip
was not installed/updated before other dependencies resulting in a race condition (#10102).keyring
simultaneously (#10062).zipapp
(#10074).Docs
env
commands (#10027).name
andversion
fields are always required if theproject
section is specified (#10033).project.gui-scripts
#10121.#10133).
poetry-core (
2.1.0
)__pycache__
directory and*.pyc
files were included in sdists and wheels (#835).rust-lang/rust (rust-lang/rust)
v1.85.0
Compare Source
==========================
Language
See the edition guide for more details.
See RFC 3668 for more details.
#[diagnostic::do_not_recommend]
unpredictable_function_pointer_comparisons
lint to warn against function pointer comparisons#[no_mangle]
and#[export_name]
attributes.Compiler
-Zpolymorphize
has been removed, see https://github.com/rust-lang/compiler-team/issues/810 for some background.Platform Support
powerpc64le-unknown-linux-musl
to tier 2 with host toolsRefer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
Libraries
Panics in the standard library now have a leading
library/
in their pathstd::env::home_dir()
on Windows now ignores the non-standard$HOME
environment variableIt will be un-deprecated in a subsequent release.
Add
AsyncFn*
to the prelude in all editions.Stabilized APIs
BuildHasherDefault::new
ptr::fn_addr_eq
io::ErrorKind::QuotaExceeded
io::ErrorKind::CrossesDevices
{float}::midpoint
{integer}::midpoint
NonZeroU*::midpoint
std::iter::Extend
for tuples with arity 1 through 12FromIterator<(A, ...)>
for tuples with arity 1 through 12std::task::Waker::noop
These APIs are now stable in const contexts:
mem::size_of_val
mem::align_of_val
Layout::for_value
Layout::align_to
Layout::pad_to_align
Layout::extend
Layout::array
std::mem::swap
std::ptr::swap
NonNull::new
HashMap::with_hasher
HashSet::with_hasher
BuildHasherDefault::new
<float>::recip
<float>::to_degrees
<float>::to_radians
<float>::max
<float>::min
<float>::clamp
<float>::abs
<float>::signum
<float>::copysign
MaybeUninit::write
Cargo
CARGO_CFG_FEATURE
to build scriptsRustdoc
Compatibility Notes
rustc
no longer treats thetest
cfg as a well known check-cfg, instead it is up to the build systems and users of--check-cfg
[^check-cfg] to set it as a well known cfg using--check-cfg=cfg(test)
.This is done to enable build systems like Cargo to set it conditionally, as not all source files are suitable for unit tests.
Cargo (for now) unconditionally sets the
test
cfg as a well known cfg.[^check-cfg]: https://doc.rust-lang.org/nightly/rustc/check-cfg.html
Disable potentially incorrect type inference if there are trivial and non-trivial where-clauses
std::env::home_dir()
has been deprecated for years, because it can give surprising results in some Windows configurations if theHOME
environment variable is set (which is not the normal configuration on Windows). We had previously avoided changing its behavior, out of concern for compatibility with code depending on this non-standard configuration. Given how long this function has been deprecated, we're now fixing its behavior as a bugfix. A subsequent release will remove the deprecation for this function.Make
core::ffi::c_char
signedness more closely match that of the platform-defaultchar
This changed
c_char
from ani8
tou8
or vice versa on many Tier 2 and 3targets (mostly Arm and RISC-V embedded targets). The new definition may
result in compilation failures but fixes compatibility issues with C.
The
libc
crate matches this change as of its 0.2.169 release.When compiling a nested
macro_rules
macro from an external crate, the content of the innermacro_rules
is now built with the edition of the external crate, not the local crate.Increase
sparcv9-sun-solaris
andx86_64-pc-solaris
Solaris baseline to 11.4.Show
abi_unsupported_vector_types
lint in future breakage reportsError if multiple super-trait instantiations of
dyn Trait
need associated types to be specified but only one is providedChange
powerpc64-ibm-aix
defaultcodemodel
to largeInternal Changes
These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.
x86_64-unknown-linux-gnu
with LTO for C/C++ code (e.g.,jemalloc
)v1.84.1
Compare Source
==========================
llvm-objcopy
if llvm tools are enabled.astral-sh/uv (uv)
v0.6.2
Compare Source
Enhancements
tool.uv.build-constraint-dependencies
(#11585)Performance
Arc
for index URLs (#11586)Bug fixes
Documentation
v0.6.1
Compare Source
Enhancements
Bug fixes
--all
touvx --reinstall
message (#11535)GET
on HTTP 400 when attempting to use range requests for wheel download (#11539)uvx
(#11524)Documentation
main.py
used to behello.py
(#11519)v0.6.0
Compare Source
There have been 31 releases and 1135 pull requests since 0.5.0, our last release with breaking changes. As before, we've accumulated various changes that improve correctness and user experience, but could break some workflows. This release contains those changes; many have been marked as breaking out of an abundance of caution. We expect most users to be able to upgrade without making changes.
Breaking changes
Create
main.py
instead ofhello.py
inuv init
(#10369)Previously,
uv init
created ahello.py
sample file. Now,uv init
will createmain.py
instead — which aligns with expectations from user feedback. The--bare
option can be used to avoid creating the file altogether.Respect
UV_PYTHON
inuv python install
(#11487)Previously,
uv python install
did not read this environment variable; now it does. We believe this matches user expectations, however, this will take priority over.python-version
files which could be considered breaking.Set
UV
to the uv executable path (#11326)When uv spawns a subprocess, it will now have the
UV
environment variable set to theuv
binary path. This change is breaking if you are setting theUV
environment variable yourself, as we will overwrite its value.Additionally, this change requires marking the uv Rust entrypoint (
uv::main
) asunsafe
to avoid unsoundness — this is only relevant if you are invoking uv using Rust. See the Rust documentation for details about the safety of updating a process' environment.Error on non-existent extras, e.g., in
uv sync
(#11426)Previously, uv would silently ignore non-existent extras requested on the command-line (e.g., via
uv sync --extra foo
). This is generally correct behavior when resolving requests for package extras, because an extra may be present on one compatible version of a package but not another. However, this flexibility doesn't need to apply to the local project and it's less surprising to error here.Error on missing dependency groups when
--frozen
is provided (#11499)Previously, uv would not validate that the requested dependency groups were present in the lockfile when the
--frozen
flag was used. Now, an error will be raised if a requested dependency group is not present.Change
-p
to a--python
alias inuv pip compile
(#11486)In
uv pip compile
,-p
was an alias for--python-version
while everywhere else in uv's interface it is an alias for--python
. Additionally,uv pip compile
did not respect theUV_PYTHON
environment variable. Now, the semantics of this flag have been updated for parity with the rest of the CLI.However,
--python-version
is unique: if we cannot find an interpreter with the given version, we will not fail. Instead, we'll use an alternative interpreter and override its version tags with the requested version during package resolution. This behavior is retained here for backwards compatibility,--python <version>
/-p <version>
will not fail if the version cannot be found. However, if a specific interpreter is requested, e.g., with--python <path>
or--python pypy
, and cannot be found — uv will exit with an error.The breaking changes here are that
UV_PYTHON
is respected and--python <version>
will no longer fail if the version cannot be found.Bump
alpine
default tag to 3.21 for derived Docker images (#11157)Alpine 3.21 was released in Dec 2024 and is used in the official Alpine-based Python images. Our
uv:python3.x-alpine
images have been using 3.21 since uv v0.5.8. However, now the theuv:alpine
image will use 3.21 instead of 3.20 anduv:alpine3.20
will no longer be updated.Use files instead of junctions on Windows (#11269)
Previously, we used junctions for atomic replacement of cache entries on Windows. Now, we use a file with a pointer to the cache entry instead. This resolves various edge-case behaviors with junctions. These files are only intended to be consumed by uv and the cache version has been bumped. We do not think this change will affect workflows.
Stabilizations
uv publish
is no longer in preview (#11032)This does not come with any behavior changes. You will no longer see an experimental warning when using
uv publish
. See the linked pull request for a report on the stabilization.Enhancements
--active
for PEP 723 script environments (#11433)revision
to the lockfile to allow backwards-compatible metadata changes (#11500)Bug fixes
.egg-info
files (#11395)uvx --from tool@latest
(#11465)Documentation
CHANGELOG.md
is now split into separate files for each "major" version to fix rendering (#11510)v0.5.31
Compare Source
Release Notes
Enhancements
uv sync --script
(#11361)+local
suffixes (#11429)uvx
anduv tool install
requests (#11345)uv run
(#11386)Python
The managed Python distributions have been updated, including:
See the
python-build-standalone
release notes for more details.Bug fixes
--python <dir>
requests to match existing environments ifsys.executable
is the same file (#11290)--dry-run
mode (#11427)<name>
over<name>/__main__.py
(#11431)Documentation
UV_INDEX
instead ofUV_EXTRA_INDEX_URL
(#11381)Install uv 0.5.31
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.31/uv-installer.ps1 | iex"
Download uv 0.5.31
v0.5.30
Compare Source
Release Notes
Python
The managed PyPy distributions have been updated for PyPy v7.3.18, which includes:
See the PyPy release for more details.
Enhancements
uv sync --dry-run
(#11299)#egg
fragment in HTML Simple API response (#11340)Configuration
NO_BINARY
andNO_BINARY_PACKAGE
environment variables (#11399)Performance
Bug fixes
simple/
(#11336)@
requests for tools (#11335)astral-tokio-tar
to v0.5.1 (#11359)eprintln
in trampoline warnings (#11295)torch
packages when using conflicting extras (#11323)Documentation
uv tool install --editable
(#11280)Install uv 0.5.30
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.30/uv-installer.ps1 | iex"
Download uv 0.5.30
v0.5.29
Compare Source
Release Notes
Enhancements
--bare
option touv init
(#11192)VIRTUAL_ENV
in project commands via--active
(#11189)VIRTUAL_ENV
warning to be silenced with--no-active
(#11251)Python
The managed Python distributions have been updated, including:
See the
python-build-standalone
release notes for more details.Bug fixes
--all-groups
and--no-default-groups
flags (#11224)Documentation
mkdocs.public.yml
into the template (#11246)Install uv 0.5.29
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.29/uv-installer.ps1 | iex"
Download uv 0.5.29
v0.5.28
Compare Source
Release Notes
Bug fixes
PATH
(#11218)--allow-insecure-host
(#11210)Documentation
last updated
to documentation (#11164)Install uv 0.5.28
Install prebuilt binaries via shell script
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.28/uv-installer.ps1 | iex"
Download uv 0.5.28