Update charmcraft.yaml build tools #240
Open
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:
25.0.1
->25.1.1
2.1.1
->2.1.3
1.85.1
->1.87.0
0.6.9
->0.7.8
Release Notes
pypa/pip (pip)
v25.1.1
Compare Source
v25.1
Compare Source
python-poetry/poetry (poetry)
v2.1.3
Compare Source
Changed
importlib-metadata<8.7
for Python 3.9 because of a breaking change in importlib-metadata 8.7 (#10374).Fixed
--directory
option did not work if a plugin, which accesses the poetry instance during its activation, was installed (#10352).poetry env activate -v
printed additional information to stdout instead of stderr so that the output could not be used as designed (#10353).poetry-core (
2.1.3
)project
section were treated as non-optional when a source was defined for them in thetool.poetry
section (#857).===
were not parsed correctly (#860).extra
markers with a value starting with "in" were not validated correctly (#862).v2.1.2
Compare Source
Changed
Fixed
poetry lock
was not deterministic (#10276).poetry env activate
returned the wrong command fortcsh
(#10243).poetry env activate
returned the wrong command forpwsh
on Linux (#10256).Docs
poetry-core (
2.1.2
)#846).
extra
markers were not simplified (#842,#845,
#847).
python_version
markers was not recognized as empty (#849).python_version
markers were not simplified (#848,#851).
rust-lang/rust (rust-lang/rust)
v1.87.0
Compare Source
==========================
Language
asm_goto
feature..EXPR
) after unary operators!
,-
, and*
.Self: Sized
bounds inimpl
s for unsized typesfeature(precise_capturing_in_traits)
allowinguse<...>
bounds on return positionimpl Trait
intrait
sCompiler
Platform Support
i586-pc-windows-msvc
targetRefer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
Debug
impl of raw pointersVec::with_capacity
guarantees it allocates with the amount requested, even ifVec::capacity
returns a different number.std::arch
intrinsics which don't take pointer arguments can now be called from safe code if the caller has the appropriate target features already enabled (https://github.com/rust-lang/stdarch/pull/1714, https://github.com/rust-lang/stdarch/pull/1716, https://github.com/rust-lang/stdarch/pull/1717)env::home_dir
ControlFlow
as#[must_use]
assert_eq!
andvec!
now supportconst {...}
expressionsStabilized APIs
Vec::extract_if
vec::ExtractIf
LinkedList::extract_if
linked_list::ExtractIf
<[T]>::split_off
<[T]>::split_off_mut
<[T]>::split_off_first
<[T]>::split_off_first_mut
<[T]>::split_off_last
<[T]>::split_off_last_mut
String::extend_from_within
os_str::Display
OsString::display
OsStr::display
io::pipe
io::PipeReader
io::PipeWriter
impl From<PipeReader> for OwnedHandle
impl From<PipeWriter> for OwnedHandle
impl From<PipeReader> for Stdio
impl From<PipeWriter> for Stdio
impl From<PipeReader> for OwnedFd
impl From<PipeWriter> for OwnedFd
Box<MaybeUninit<T>>::write
impl TryFrom<Vec<u8>> for String
<*const T>::offset_from_unsigned
<*const T>::byte_offset_from_unsigned
<*mut T>::offset_from_unsigned
<*mut T>::byte_offset_from_unsigned
NonNull::offset_from_unsigned
NonNull::byte_offset_from_unsigned
<uN>::cast_signed
NonZero::<uN>::cast_signed
.<iN>::cast_unsigned
.NonZero::<iN>::cast_unsigned
.<uN>::is_multiple_of
<uN>::unbounded_shl
<uN>::unbounded_shr
<iN>::unbounded_shl
<iN>::unbounded_shr
<iN>::midpoint
<str>::from_utf8
<str>::from_utf8_mut
<str>::from_utf8_unchecked
<str>::from_utf8_unchecked_mut
These previously stable APIs are now stable in const contexts:
core::str::from_utf8_mut
<[T]>::copy_from_slice
SocketAddr::set_ip
SocketAddr::set_port
,SocketAddrV4::set_ip
SocketAddrV4::set_port
,SocketAddrV6::set_ip
SocketAddrV6::set_port
SocketAddrV6::set_flowinfo
SocketAddrV6::set_scope_id
char::is_digit
char::is_whitespace
<[[T; N]]>::as_flattened
<[[T; N]]>::as_flattened_mut
String::into_bytes
String::as_str
String::capacity
String::as_bytes
String::len
String::is_empty
String::as_mut_str
String::as_mut_vec
Vec::as_ptr
Vec::as_slice
Vec::capacity
Vec::len
Vec::is_empty
Vec::as_mut_slice
Vec::as_mut_ptr
Cargo
Compatibility Notes
#![crate_name]
attributeDebug
impl of raw pointers print metadata if presentdyn
types are no longer deduplicated..
inside of struct patterns (let Struct { #[attribute] .. }) =
ptr_cast_add_auto_to_object
lint into hard errorstd::arch
intrinsics are now safe to call in some contexts, there may now be newunused_unsafe
warnings in existing codebases.width
andprecision
formatting options to 16 bits on all targetsControlFlow
as#[must_use]
advapi32
, except on win7. Code such as C libraries that were relying on this assumption may need to explicitly link advapi32.cfg(true)
attributes.tt
fragment specifier can often fix these macros.Internal 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.
v1.86.0
Compare Source
==========================
Language
#[target_feature]
attribute.missing_abi
lint now warns-by-default.--x
) as written in other languages. This was previously a clippy lint,clippy::double_neg
, and is now available directly in Rust asdouble_negations
.repr()
attribute applied to invalid items are now correctly rejected.#![test]
and#![rustfmt::skip]
are no longer accepted in more places than intended.Compiler
-O
to mean-C opt-level=3
instead of-C opt-level=2
to match Cargo's defaults.overflowing_literals
under certain macro environments.Platform Support
i686-unknown-redox
target withi586-unknown-redox
.i686-unknown-hurd-gnu
to Pentium 4.{aarch64-unknown,x86_64-pc}-nto-qnx710_iosock
.For supporting Neutrino QNX 7.1 with
io-socket
network stack.{aarch64-unknown,x86_64-pc}-nto-qnx800
.For supporting Neutrino QNX 8.0 (
no_std
-only).{x86_64,i686}-win7-windows-gnu
.Intended for backwards compatibility with Windows 7.
{x86_64,i686}-win7-windows-msvc
are the Windows MSVC counterparts that already exist as Tier 3 targets.amdgcn-amd-amdhsa
.x86_64-pc-cygwin
.{mips,mipsel}-mti-none-elf
.Initial bare-metal support.
m68k-unknown-none-elf
.armv7a-nuttx-{eabi,eabihf}
,aarch64-unknown-nuttx
, andthumbv7a-nuttx-{eabi,eabihf}
.Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
Libraries
FromBytesWithNulError
inCStr::from_bytes_with_nul(bytes: &[u8]) -> Result<&Self, FromBytesWithNulError>
was changed from an opaque struct to an enum, allowing users to examine why the conversion failed.RustcDecodable
andRustcEncodable
.--logfile
option.std::fs::remove_file
will now remove read-only files.Stabilized APIs
{float}::next_down
{float}::next_up
<[_]>::get_disjoint_mut
<[_]>::get_disjoint_unchecked_mut
slice::GetDisjointMutError
HashMap::get_disjoint_mut
HashMap::get_disjoint_unchecked_mut
NonZero::count_ones
Vec::pop_if
sync::Once::wait
sync::Once::wait_force
sync::OnceLock::wait
These APIs are now stable in const contexts:
hint::black_box
io::Cursor::get_mut
io::Cursor::set_position
str::is_char_boundary
str::split_at
str::split_at_checked
str::split_at_mut
str::split_at_mut_checked
Cargo
--package
and--workspace
are passed but the requested package is missing. This was previously silently ignored, which was considered a bug since missing packages should be reported.cargo login
to avoid shell history leaks.SourceID
comparisons. This may potentially change behavior if the canonicalized URL compares differently in alternative registries.Rustdoc
Compatibility Notes
wasm_c_abi
future compatibility warning is now a hard error.Users of
wasm-bindgen
should upgrade to at least version 0.2.89, otherwise compilation will fail.#![no_start]
and#![crate_id]
.cenum_impl_drop_cast
has been made into a hard error. This means it is now an error to cast a field-less enum to an integer if the enum implementsDrop
.To compile for pre-SSE2 32-bit x86, use a "i586" target instead.
Internal 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.
The ARM 64-bit compiler (AArch64) on Linux is now optimized with ThinLTO and PGO, similar to the optimizations we have already performed for the x86-64 compiler on Linux. This should make it up to 30% faster.
astral-sh/uv (uv)
v0.7.8
Compare Source
Python
We are reverting most of our Python changes from
uv 0.7.6
anduv 0.7.7
due toa miscompilation that makes the Python interpreter behave incorrectly, resulting
in spurious type-errors involving str. This issue seems to be isolated to
x86_64 Linux, and affected at least Python 3.12, 3.13, and 3.14.
The following changes that were introduced in those versions of uv are temporarily
being reverted while we test and deploy a proper fix for the miscompilation:
libpython
into the interpreter on Linux for a significant performance boostSee the issue for details.
Documentation
v0.7.7
Compare Source
Python
See the
python-build-standalone
release notesfor more details.
Bug fixes
uv version
lock and sync (#13317)ldd
in diagnostics to correctly refer told.so
(#13552)Documentation
v0.7.6
Compare Source
Python
libpython
into the interpreter on Linux for a significant performance boostSee the
python-build-standalone
release notesfor more details.
Enhancements
VIRTUAL_ENV_PROMPT
value (#13501)Bug fixes
Documentation
v0.7.5
Compare Source
Bug fixes
v0.7.4
Compare Source
Enhancements
uv add
(#13462)--raw-sources
to--raw
(#13348)self update
is used to install an older version (#13340)uv self update
if required uv version is newer (#13305)Bug fixes
pylock.toml
dependency entries (#13384).tgz
parsing to respect true extension (#13382)pylock.toml
inuv add -r
(#13421)Documentation
uv export
arguments (#13430)Preview features
v0.7.3
Compare Source
Enhancements
--dry-run
support touv self update
(#9829)--show-with
touv tool list
to list packages included by--with
(#13264)fs_err
for paths in symlinking errors (#13303)Preview features
Configuration
python-downloads-json-url
option foruv.toml
to configure custom Python installations via JSON URL (#12974)Bug fixes
musllinux_1_0
as a valid platform tag (#13289)uv run --with
(#13283)uv run --with
(#13284)--no-sync
(#13287)Documentation
v0.7.2
Compare Source
Enhancements
uv version
is used with project-specific flags but no project is found (#13203)Bug fixes
clang
in managed Python sysconfig (#13237)--project
inuv version
(#13230)v0.7.1
Compare Source
Enhancement
Bugfix
v0.7.0
Compare Source
This release contains various changes that improve correctness and user experience, but could break some workflows; many changes 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
Update
uv version
to display and update project versions (#12349)Previously,
uv version
displayed uv's version. Now,uv version
will display or update the project's version. This interface was heavily requested and, after much consideration, we decided that transitioning the top-level command was the best option.Here's a brief example:
If used outside of a project, uv will fallback to showing its own version still:
As described in the warning,
--preview
can be used to error instead:The previous functionality of
uv version
was moved touv self version
.Avoid fallback to subsequent indexes on authentication failure (#12805)
When using the
first-index
strategy (the default), uv will stop searching indexes for a package once it is found on a single index. Previously, uv considered a package as "missing" from an index during authentication failures, such as an HTTP 401 or HTTP 403 (normally, missing packages are represented by an HTTP 404). This behavior was motivated by unusual responses from some package indexes, but reduces the safety of uv's index strategy when authentication fails. Now, uv will consider an authentication failure as a stop-point when searching for a package across indexes. Theindex.ignore-error-codes
option can be used to recover the existing behavior, e.g.:Since PyTorch's indexes always return a HTTP 403 for missing packages, uv special-cases indexes on the
pytorch.org
domain to ignore that error code by default.Require the command in
uvx <name>
to be available in the Python environment (#11603)Previously,
uvx
would attempt to execute a command even if it was not provided by a Python package. For example, if we presumefoo
is an empty Python package which provides no command,uvx foo
would invoke thefoo
command on thePATH
(if present). Now, uv will error early if thefoo
executable is not provided by the requested Python package. This check is not enforced when--from
is used, so patterns likeuvx --from foo bash -c "..."
are still valid. uv also still allowsuvx foo
where thefoo
executable is provided by a dependency offoo
instead offoo
itself, as this is fairly common for packages which depend on a dedicated package for their command-line interface.Use index URL instead of package URL for keyring credential lookups (#12651)
When determining credentials for querying a package URL, uv previously sent the full URL to the
keyring
command. However, some keyring plugins expect to receive the index URL (which is usually a parent of the package URL). Now, uv requests credentials for the index URL instead. This behavior matchespip
.Remove
--version
from subcommands (#13108)Previously, uv allowed the
--version
flag on arbitrary subcommands, e.g.,uv run --version
. However, the--version
flag is useful for other operations since uv is a package manager. Consequently, we've removed the--version
flag from subcommands — it is only available asuv --version
.Omit Python 3.7 downloads from managed versions (#13022)
Python 3.7 is EOL and not formally supported by uv; however, Python 3.7 was previously available for download on a subset of platforms.
Reject non-PEP 751 TOML files in install, compile, and export commands (#13120, #13119)
Previously, uv treated arbitrary
.toml
files passed to commands (e.g.,uv pip install -r foo.toml
oruv pip compile -o foo.toml
) asrequirements.txt
-formatted files. Now, uv will error instead. If using PEP 751 lockfiles, use the standardized format for custom names instead, e.g.,pylock.foo.toml
.Ignore arbitrary Python requests in version files (#12909)
uv allows arbitrary strings to be used for Python version requests, in which they are treated as an executable name to search for in the
PATH
. However, using this form of request in.python-version
files is non-standard and conflicts withpyenv-virtualenv
which writes environment names to.python-version
files. In this release, uv will now ignore requests that are arbitrary strings when found in.python-version
files.Error on unknown dependency object specifiers (12811)
The
[dependency-groups]
entries can include "object specifiers", e.g.set-phasers-to = ...
in:However, the only current spec-compliant object specifier is
include-group
. Previously, uv would ignore unknown object specifiers. Now, uv will error.Make
--frozen
and--no-sources
conflicting options (#12671)Using
--no-sources
always requires a new resolution and--frozen
will always fail when used with it. Now, this conflict is encoded in the CLI options for clarity.Treat empty
UV_PYTHON_INSTALL_DIR
andUV_TOOL_DIR
as unset (#12907, #12905)Previously, these variables were treated as set to the current working directory when set to an empty string. Now, uv will ignore these variables when empty. This matches uv's behavior for other environment variables which configure directories.
Enhancements
poetry-core
as auv init
build backend option (#12781)pylock.toml
(#13136)pyvenv.cfg
version mismatch (#13027)Bug fixes
pylock.toml
(#13132)uvx --version
(#13109)--no-binary
et al) inpylock.toml
(#13134)upload-time
rather thanupload_time
inuv.lock
(#13176)Documentation
fish
completions append>>
to overwrite>
(#13130)pylock.toml
mentions where relevant (#13115)v0.6.17
Compare Source
Release Notes
Preview features
Bug fixes
python
(#13051)requires-python
even if not listed on the index page (#13086)Install uv 0.6.17
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.6.17/uv-installer.ps1 | iex"
Download uv 0.6.17
v0.6.16
Compare Source
Release Notes
Bug fixes
Install uv 0.6.16
Install prebuilt binaries via shell script