Update charmcraft.yaml build tools (main) #1202
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.2->25.31.90.0->1.91.00.8.22->0.9.7Release Notes
pypa/pip (pip)
v25.3Compare Source
rust-lang/rust (rust-lang/rust)
v1.91.0Compare Source
==========================
Language
sysv64,win64,efiapi, andaapcsABIs.This brings these ABIs in line with the C ABI: variadic functions can be declared in extern blocks but not defined.
dangling_pointers_from_localslint to warn against dangling pointers from local variablessemicolon_in_expressions_from_macrosfrom warn to denyinteger_to_ptr_transmuteslint against integer-to-pointer transmutessse4aandtbmtarget featurestarget_env = "macabi"andtarget_env = "sim"cfgs as replacements for thetarget_abicfgs with the same values.Compiler
ascasts as unreachablePlatform Support
aarch64-pc-windows-gnullvmandx86_64-pc-windows-gnullvmto Tier 2 with host tools.Note: llvm-tools and MSI installers are missing but will be added in future releases.
aarch64-pc-windows-msvcto Tier 1Refer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
core::panic::Location::filereturn type_by()variants ofmin/max/minmaxinstd::cmpCloneandEqtraitsstd::thread: Return error if setting thread stack size failsThis used to panic within the standard library.
Stabilized APIs
Path::file_prefixAtomicPtr::fetch_ptr_addAtomicPtr::fetch_ptr_subAtomicPtr::fetch_byte_addAtomicPtr::fetch_byte_subAtomicPtr::fetch_orAtomicPtr::fetch_andAtomicPtr::fetch_xor{integer}::strict_add{integer}::strict_sub{integer}::strict_mul{integer}::strict_div{integer}::strict_div_euclid{integer}::strict_rem{integer}::strict_rem_euclid{integer}::strict_neg{integer}::strict_shl{integer}::strict_shr{integer}::strict_powi{N}::strict_add_unsignedi{N}::strict_sub_unsignedi{N}::strict_absu{N}::strict_add_signedu{N}::strict_sub_signedPanicHookInfo::payload_as_strcore::iter::chainu{N}::checked_signed_diffcore::array::repeatPathBuf::add_extensionPathBuf::with_added_extensionDuration::from_minsDuration::from_hoursimpl PartialEq<str> for PathBufimpl PartialEq<String> for PathBufimpl PartialEq<str> for Pathimpl PartialEq<String> for Pathimpl PartialEq<PathBuf> for Stringimpl PartialEq<Path> for Stringimpl PartialEq<PathBuf> for strimpl PartialEq<Path> for strIpv4Addr::from_octetsIpv6Addr::from_octetsIpv6Addr::from_segmentsimpl<T> Default for Pin<Box<T>> where Box<T>: Default, T: ?Sizedimpl<T> Default for Pin<Rc<T>> where Rc<T>: Default, T: ?Sizedimpl<T> Default for Pin<Arc<T>> where Arc<T>: Default, T: ?SizedCell::as_array_of_cellsu{N}::carrying_addu{N}::borrowing_subu{N}::carrying_mulu{N}::carrying_mul_addBTreeMap::extract_ifBTreeSet::extract_ifimpl Debug for windows::ffi::EncodeWide<'_>str::ceil_char_boundarystr::floor_char_boundaryimpl Sum for Saturating<u{N}>impl Sum<&Self> for Saturating<u{N}>impl Product for Saturating<u{N}>impl Product<&Self> for Saturating<u{N}>These previously stable APIs are now stable in const contexts:
<[T; N]>::each_ref<[T; N]>::each_mutOsString::newPathBuf::newTypeId::ofptr::with_exposed_provenanceptr::with_exposed_provenance_mutCargo
build.build-dir.This config sets the directory where intermediate build artifacts are stored.
These artifacts are produced by Cargo and rustc during the build process.
End users usually won't need to interact with them, and the layout inside
build-diris an implementation detail that may change without notice.(config doc)
(build cache doc)
#15833
#15840
--targetflag and thebuild.targetconfiguration can now take literal"host-tuple"string, which will internally be substituted by the hostmachine's target triple.
#15838
#16003
#16032
Rustdoc
*const u8 ->, and additionally functions that take or return raw pointers will now display their signature properly in search results.Compatibility Notes
cc, and pass it viaSDKROOTenv var. This should fix linking issues withrustcrunning inside Xcode. Libraries in/usr/local/libmay no longer be linked automatically, if you develop or use a crate that relies on this, you should explicitly setcargo::rustc-link-search=/usr/local/libin abuild.rsscript.TraitRef<AssocTy: ?Sized>are now correctly forbidden#[sanitize(xyz = "on|off")]built-in attribute that shadows procedural macros with the same name#[should_panic]attributes#[link]attributessemicolon_in_expressions_from_macros, formacro_rules!macros in expression position that expand to end in a semicolon (;), is now deny-by-default. It was already warn-by-default, and a future compatibility warning (FCW) that warned even in dependencies. This lint will become a hard error in the future.unsafe,!,default) in inherent impls are no longer syntactically validill_formed_attribute_inputin dependenciespin!,format_args!,write!, andwriteln!inif letscrutinees in Rust Edition 2024. This applies Rust Edition 2024'sif lettemporary scope rules to these temporaries, which previously could live past theifexpression regardless of Edition.staticare now syntactically invalid--cfgand--check-cfgarguments are no longer allowedCargo compatibility notes:
cargo publishno longer keeps.cratetarballs as final build artifactswhen
build.build-diris set. These tarballs were previously included due toan oversight and are now treated as intermediate artifacts.
To get
.cratetarballs as final artifacts, usecargo package.In a future version, this change will apply regardless of
build.build-dir.#15910
This changes some of the terminal colors used by Cargo messages.
#15928
internal details of Cargo's
build-dirmay not work for users changing their
build-dirlayout.For those doing so, we'd recommend proactively testing these cases
particularly as we are considering changing the default location of the
build-dirin the future(cargo#16147).
If you can't migrate off of Cargo's internal details,
we'd like to learn more about your use case as we prepare to change the layout of the
build-dir(cargo#15010).
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.
astral-sh/uv (uv)
v0.9.7Compare Source
Released on 2025-10-30.
Enhancements
Bug fixes
uv auth tokenoutput (#16504)--checkflag (#16521)v0.9.6Compare Source
Released on 2025-10-29.
This release contains an upgrade to Astral's fork of
async_zip, which addresses potential sources of ZIP parsing differentials between uv and other Python packaging tooling. See GHSA-pqhf-p39g-3x64 for additional details.Security
Python
Enhancements
--cleartouv buildto remove old build artifacts (#16371)--no-create-gitignoretouv build(#16369)pip install --systemwhen externally managed (#16392)uv lock --checkwith outdated lockfile will print that--checkwas passed, instead of--locked(#16322)uv inittemplate for Maturin (#16449)Bug fixes
uv python upgrade(#16420)--find-linksdistributions (#16446)uv export --frozenwhen the lockfile is outdated (#16407)uv treewhen--packageis used with circular dependencies (#15908)pip freeze --quiet(#16491)uv auth login pyx.devretries to 60s (#16498)uv add --group ... -r ...(#16490)Documentation
v0.9.5Compare Source
Released on 2025-10-21.
This release contains an upgrade to
astral-tokio-tar, which addresses a vulnerability in tar extraction on malformed archives with mismatching size information between the ustar header and PAX extensions. While theastral-tokio-taradvisory has been graded as "high" due its potential broader impact, the specific impact to uv is low due to a lack of novel attacker capability. Specifically, uv only processes tar archives from source distributions, which already possess the capability for full arbitrary code execution by design, meaning that an attacker gains no additional capabilities throughastral-tokio-tar.Regardless, we take the hypothetical risk of parser differentials very seriously. Out of an abundance of caution, we have assigned this upgrade an advisory: GHSA-w476-p2h3-79g9
Security
astral-tokio-tarto 0.5.6 to address a parsing differential (#16387)Enhancements
uv pip installfailure if the--systemflag is used to select an externally managed interpreter (#16318)Bug fixes
Documentation
v0.9.4Compare Source
Released on 2025-10-17.
Enhancements
Bug fixes
uv auth tokenoutput (#16345)v0.9.3Compare Source
Released on 2025-10-14.
Python
Enhancements
Bug fixes
v0.9.2Compare Source
Released on 2025-10-10.
Python
Enhancements
uv publish(#16234)uv tool list --show-python(#15814)Documentation
v0.9.1Compare Source
Released on 2025-10-09.
Enhancements
uv init(#16182)pylock.tomlconfig conflict error messages (#16211)Configuration
UV_UPLOAD_HTTP_TIMEOUTand respectUV_HTTP_TIMEOUTin uploads (#16040)UV_WORKING_DIRECTORYfor setting--directory(#16125)Bug fixes
Scriptsdirectory (#16206)Documentation
requires-python(#15927)v0.9.0Compare Source
Released on 2025-10-07.
This breaking release is primarily motivated by the release of Python 3.14, which contains some breaking changes (we recommend reading the "What's new in Python 3.14" page). uv may use Python 3.14 in cases where it previously used 3.13, e.g., if you have not pinned your Python version and do not have any Python versions installed on your machine. While we think this is uncommon, we prefer to be cautious. We've included some additional small changes that could break workflows.
See our Python 3.14 blog post for some discussion of features we're excited about!
There are no breaking changes to
uv_build. If you have an upper bound in your[build-system]table, you should update it.Breaking changes
Python 3.14 is now the default stable version
The default Python version has changed from 3.13 to 3.14. This applies to Python version installation when no Python version is requested, e.g.,
uv python install. By default, uv will use the system Python version if present, so this may not cause changes to general use of uv. For example, if Python 3.13 is installed already, thenuv venvwill use that version. If no Python versions are installed on a machine and automatic downloads are enabled, uv will now use 3.14 instead of 3.13, e.g., foruv venvoruvx python. This change will not affect users who are using a.python-versionfile to pin to a specific Python version.Allow use of free-threaded variants in Python 3.14+ without explicit opt-in (#16142)
Previously, free-threaded variants of Python were considered experimental and required explicit opt-in (i.e., with
3.14t) for usage. Now uv will allow use of free-threaded Python 3.14+ interpreters without explicit selection. The GIL-enabled build of Python will still be preferred, e.g., when performing an installation withuv python install 3.14. However, e.g., if a free-threaded interpreter comes before a GIL-enabled build on thePATH, it will be used. This change does not apply to free-threaded Python 3.13 interpreters, which will continue to require opt-in.Use Python 3.14 stable Docker images (#16150)
Previously, the Python 3.14 images had an
-rcsuffix, e.g.,python:3.14-rc-alpineorpython:3.14-rc-trixie. Now, the-rcsuffix has been removed to match the stableupstream images. The
-rcimages tags will no longer beupdated. This change should not break existing workflows.
Upgrade Alpine Docker image to Alpine 3.22
Previously, the
uv:alpineDocker image was based on Alpine 3.21. Now, this image is based on Alpine 3.22. The previous image can be recovered withuv:alpine3.21and will continue to be updated until a future release.Upgrade Debian Docker images to Debian 13 "Trixie"
Previously, the
uv:debiananduv:debian-slimDocker images were based on Debian 12 "Bookworm". Now, these images are based on Debian 13 "Trixie". The previous images can be recovered withuv:bookwormanduv:bookworm-slimand will continue to be updated until a future release.Fix incorrect output path when a trailing
/is used inuv build(#15133)When using
uv buildin a workspace, the artifacts are intended to be written to adistdirectory in the workspace root. A bug caused workspace root determination to fail when the input path included a trailing/causing thedistdirectory to be placed in the child directory. This bug has been fixed in this release. For example,uv build child/is used, the output path will now be in<workspace root>/dist/rather than<workspace root>/child/dist/.Python
Enhancements
Bug fixes
uv python upgrade / installoutput when there is a no-op for one request (#16158)uv tool upgradecan’t move the tool (#16081)uv python upgraderequests (#16160)uv python upgradereplacement of installed binaries on pre-release to stable (#16159)Documentation
uv pip compileargs inlayout.md(#16155)v0.8.24Compare Source
Release Notes
Released on 2025-10-06.
Enhancements
cache cleanandprunewhen lock is held (#16138)--forceflag foruv cache prune(#16137)Documentation
Install uv 0.8.24
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.8.24/uv-installer.ps1 | iex"Download uv 0.8.24
v0.8.23Compare Source
Release Notes
Released on 2025-10-03.
Enhancements
s390xon stable Rust compiler version (#16082)UV_SKIP_WHEEL_FILENAME_CHECKto allow installing invalid wheels (#16046)Bug fixes
--no-sources(#16094)--no-coloron the CLI (#16044)uv pip treeoutput (#16078)Documentation
_CONDA_ROOTin reference (#16114)Install uv 0.8.23
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.8.23/uv-installer.ps1 | iex"Download uv 0.8.23
Configuration
📅 Schedule: Branch creation - Between 01:00 AM and 05:59 AM, only on Tuesday ( * 1-5 * * 2 ) in timezone Etc/UTC, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.