Update charmcraft.yaml build tools #164
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:
2.0.0→2.3.21.8.0→1.10.01.92.0→1.93.00.5.15→0.10.0Release Notes
python-poetry/poetry (poetry)
v2.3.2Compare Source
Changed
dulwich>=1.0(#10701).poetry-core (
2.3.1)platform_releasecould not be parsed on Windows Server (#911).v2.3.1Compare Source
Fixed
Docs
v2.3.0Compare Source
Added
pylock.tomlfiles withpoetry-plugin-export(#10677).requires-poetrybefore any other validation (#10593).project.readmewhen runningpoetry check(#10604).poetry cache clearoptional (#10627).--no-cachesolves an issue (#10585).poetry initwhen tryingpoetry newfor an existing directory (#10563).poetry publish --skip-existingfor new Nexus OSS versions (#10603).poetry debug info(#10588).Changed
installer.re-resolvefromtruetofalse(#10622).poetry.utils._compat.metadata, which is sometimes used in plugins, in favor ofimportlib.metadata(#10634).poetry python(#10606).poetry init, only add the readme field in thepyproject.tomlif the readme file exists (#10679).dulwich>=0.25.0(#10674).Fixed
poetry removedid not work for PEP 735 dependency groups withinclude-groupitems (#10587).poetry removecaused danglinginclude-groupreferences in PEP 735 dependency groups (#10590).poetry adddid not work for PEP 735 dependency groups withinclude-groupitems (#10636).poetry-plugin-export(#10667).poetry publishused the metadata of the project instead of the metadata of the build artifact (#10624).poetry env usejust used another Python version instead of failing when the requested version was not supported by the project (#10685).poetry env activatereturned the wrong command fordash(#10696).data-dirandpython.installation-dircould not be set (#10595).virtualenvs.promptcaused an incomprehensible error message (#10648).Docs
~/.netrcfor Poetry credential configuration (#10630).packagesare automatically detected (#10680).poetry-core (
2.3.0)python_full_versionmarkers with pre-release versions were parsed incorrectly (#893).v2.2.1Compare Source
Fixed
poetry self showfailed with a message about an invalid output format (#10560).Docs
poetry-core (
2.2.1)v2.2.0Compare Source
Added
--formatoption topoetry showto alternatively output json format (#10487).Changed
installer.no-binaryandinstaller.only-binaryso that explicit package names will take precedence over:all:(#10278).poetry installwhen a wheel is built from source (#10404).dulwich>=0.24.0(#10492).virtualenv>=20.33again (#10506).findpython>=0.7(#10510).importlib-metadata>=8.7(#10511).Fixed
poetry newdid not create the project structure in an existing empty directory (#10431).poetry-core (
2.2.0)[project.license](#870)..gitignorewere not included in the distribution (#874).v2.1.4Compare Source
Changed
virtualenv<20.33to work around an issue where Poetry uses the wrong Python version (#10491).pyproject.tomlfile (#10471).Fixed
poetry installwas called with--no-plugins(#10405).Docs
poetry addif no version constraint is explicitly specified (#10445).v2.1.3Compare Source
Changed
importlib-metadata<8.7for Python 3.9 because of a breaking change in importlib-metadata 8.7 (#10374).Fixed
--directoryoption did not work if a plugin, which accesses the poetry instance during its activation, was installed (#10352).poetry env activate -vprinted additional information to stdout instead of stderr so that the output could not be used as designed (#10353).poetry-core (
2.1.3)projectsection were treated as non-optional when a source was defined for them in thetool.poetrysection (#857).===were not parsed correctly (#860).extramarkers with a value starting with "in" were not validated correctly (#862).v2.1.2Compare Source
Changed
Fixed
poetry lockwas not deterministic (#10276).poetry env activatereturned the wrong command fortcsh(#10243).poetry env activatereturned the wrong command forpwshon Linux (#10256).Docs
poetry-core (
2.1.2)#846).
extramarkers were not simplified (#842,#845,
#847).
python_versionmarkers was not recognized as empty (#849).python_versionmarkers were not simplified (#848,#851).
v2.1.1Compare Source
Fixed
poetry env use pythondoes not choose the Python from the PATH (#10187).poetry-core (
2.1.1)python_versionmarker resulted in an invalid marker (#838).v2.1.0Compare Source
Added
buildcommand build-system agnostic (#10059,#10092).
--config-settingsoption topoetry build(#10059).config-settingswhen building dependencies (#10129).findpythonto find the Python interpreters (#10097).--no-truncateoption topoetry show(#9580).#10065,
#10126,
#10127,
#10132).
Changed
poetry newdefaults to "src" layout by default (#10135).#10114,
#10138,
#10146).
--priority(#10134).Fixed
#10067,
#10128).
poetry initwas not able to find a package on PyPI while adding dependencies interactively (#10055).@latestdescriptor was incorrectly passed to the core requirement parser (#10069).True(in contrast totrue) were interpreted asfalse(#10080).poetry env activatereported a misleading error message (#10087).poetry add --optionalwould not correctly update the lock file (#10076).pipwas not installed/updated before other dependencies resulting in a race condition (#10102).keyringsimultaneously (#10062).zipapp(#10074).Docs
envcommands (#10027).nameandversionfields are always required if theprojectsection is specified (#10033).project.gui-scripts#10121.#10133).
poetry-core (
2.1.0)__pycache__directory and*.pycfiles were included in sdists and wheels (#835).v2.0.1Compare Source
Added
poetry searchin legacy sources (#9949).poetry source showoutput when PyPI is implicitly enabled (#9974).Changed
Fixed
poetry syncdid not remove packages that were not requested (#9946).poetry checkfailed even though there were just warnings and add a--strictoption to fail on warnings (#9983).poetry update,poetry addandpoetry removewith--onlyuninstalled packages from other groups (#10014).poetry update,poetry addandpoetry removeuninstalled all extra packages (#10016).poetry self updatedid not recognize Poetry's own environment (#9995).poetry installstarted withWarning:instead ofError:(#9945).Command.set_poetry, which is used by plugins, was removed (#9981).poetry build --cleanshowed a malformed short option instead of the description (#9994).Docs
projectsection (#9996).project.readmeandproject.urls(#9948).poetry install --syncwithpoetry syncin the section about synchronizing dependencies (#9944).poetry shellwithpoetry env activatein the basic usage section (#9963).project.nameis always required when theprojectsection is used (#9989).poetry-plugin-exportin the section aboutpoetry export(#9954).poetry-core (
2.0.1)Home-pagewithProject-URL: Homepage(#807).tool.poetry.packageswithout a specifiedformatwere not initialized with the default value resulting in aKeyError(#805).project.urlsentries were not processed correctly resulting in aKeyError(#807).project.dependenciesviatool.poetry.dependencieswere ignored ifproject.optional-dependencieswere defined (#811).python-poetry/poetry-plugin-export (poetry-plugin-export)
v1.10.0Compare Source
Added
pylock.tomlfiles (#357).Changed
Fixed
"dependency walk failed"error message gave an outdated advice (#353).v1.9.0Compare Source
Added
--all-groupsoption to export dependencies from all groups (#294).Changed
--withand--onlyand deprecate--without(#212).poetry.lockfile is not consistent with thepyproject.tomlfile (#310).Fixed
"dependency walk failed".This fix requires a
poetry.lockfile created with Poetry 2.x (#286).pre-commithook regex matched wrong files (#285).rust-lang/rust (rust-lang/rust)
v1.93.0Compare Source
==========================
Language
vector-related target features and theis_s390x_feature_detected!macrosystemABIcfgpredicateasm_cfgconstitems that contain mutable references tostatic(which is very unsafe, but not always UB)const_item_interior_mutationslint to warn against calls which mutate interior mutableconstitemsfunction_casts_as_integerlintCompiler
-Cjump-tables=bool. The flag was previously called-Zno-jump-tables.Platform Support
riscv64a23-unknown-linux-gnuto Tier 2 (without host tools)Refer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
specializationon theCopytrait as it is unsound in the presence of lifetime dependentCopyimplementations. This may result in some performance regressions as some standard library APIs may now callClone::cloneinstead of performing bitwise copiesstd::thread::current()BTree::appendnot update existing keys when appending an entry which already existsT: RefUnwindSafeforvec::IntoIter<T>: UnwindSafeStabilized APIs
<[MaybeUninit<T>]>::assume_init_drop<[MaybeUninit<T>]>::assume_init_ref<[MaybeUninit<T>]>::assume_init_mut<[MaybeUninit<T>]>::write_copy_of_slice<[MaybeUninit<T>]>::write_clone_of_sliceString::into_raw_partsVec::into_raw_parts<iN>::unchecked_neg<iN>::unchecked_shl<iN>::unchecked_shr<uN>::unchecked_shl<uN>::unchecked_shr<[T]>::as_array<[T]>::as_mut_array<*const [T]>::as_array<*mut [T]>::as_mut_arrayVecDeque::pop_front_ifVecDeque::pop_back_ifDuration::from_nanos_u128char::MAX_LEN_UTF8char::MAX_LEN_UTF16std::fmt::from_fnstd::fmt::FromFnCargo
cargo tree, support long forms for--formatvariables--workspacetocargo cleanRustdoc
#![doc(document_private_items)]importhtml_favicon_url,html_logo_url,html_playground_url,issue_tracker_base_url, orhtml_no_sourceeither has a missing value, an unexpected value, or a value of the wrong type, rustdoc will emit the deny-by-default lintrustdoc::invalid_doc_attributes.Compatibility Notes
pin_v2into the builtin attributes namespacepanic=unwindwas changed from the JS exception handling ABI to the wasm exception handling ABI. If linking C/C++ object files with Rust objects,-fwasm-exceptionsmust be passed to the linker now. On nightly Rust, it is possible to get the old behavior with-Zwasm-emscripten-eh=false -Zbuild-std, but it will be removed in a future release.#[test]attribute, used to define tests, was previously ignored in various places where it had no meaning (e.g on trait methods or types). Putting the#[test]attribute in these places is no longer ignored, and will now result in an error; this may also result in errors when generating rustdoc. Error whentestattribute is applied to structsCARGO_CFG_DEBUG_ASSERTIONSenvironment variable in more situations. This will cause crates depending onstatic-initversions 1.0.1 to 1.0.3 to fail compilation with "failed to resolve: use of unresolved module or unlinked crateparking_lot". See the linked issue for details.offset_of!macro are now checked to be well formed.cargo publishno longer emits.cratefiles as a final artifact for user access when thebuild.build-dirconfig is unsetderef_nullptrlint from warn-by-default to deny-by-default...function parameters without a pattern outside ofexternblocksrepr(C)enums whose discriminant values do not fit into ac_intorc_uintrepr(C)types as part ofrepr(transparent)astral-sh/uv (uv)
v0.10.0Compare Source
Since we released uv 0.9.0 in October of 2025, 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.
This release also includes the stabilization of preview features. Python upgrades are now stable, including the
uv python upgradecommand,uv python install --upgrade, and automatically upgrading Python patch versions in virtual environments when a new version is installed. Theadd-boundsandextra-build-dependenciessettings are now stable. Finally, theuv workspace diranduv workspace listutilities for writing scripts against workspace members are now stable.Breaking changes
Require
--clearto remove existing virtual environments inuv venv(#17757)Previously,
uv venvwould prompt for confirmation before removing an existing virtual environment in interactive contexts, and remove it without confirmation in non-interactive contexts. Now,uv venvrequires the--clearflag to remove an existing virtual environment. A warning for this change was added in uv 0.8.You can opt out of this behavior by passing the
--clearflag or settingUV_VENV_CLEAR=1.Error if multiple indexes include
default = true(#17011)Previously, uv would silently accept multiple indexes with
default = trueand use the first one. Now, uv will error if multiple indexes are marked as the default.You cannot opt out of this behavior. Remove
default = truefrom all but one index.Error when an
explicitindex is unnamed (#17777)Explicit indexes can only be used via the
[tool.uv.sources]table, which requires referencing the index by name. Previously, uv would silently accept unnamed explicit indexes, which could never be referenced. Now, uv will error if an explicit index does not have a name.You cannot opt out of this behavior. Add a
nameto the explicit index or remove the entry.Install alternative Python executables using their implementation name (#17756, #17760)
Previously,
uv python installwould install PyPy, GraalPy, and Pyodide executables with names likepython3.10into the bin directory. Now, these executables will be named using their implementation name, e.g.,pypy3.10,graalpy3.10, andpyodide3.12, to avoid conflicting with CPython installations.You cannot opt out of this behavior.
Respect global Python version pins in
uv tool runanduv tool install(#14112)Previously,
uv tool runanduv tool installdid not respect the global Python version pin (set viauv python pin --global). Now, these commands will use the global Python version when no explicit version is requested.For
uv tool install, if the tool is already installed, the Python version will not change unless--reinstallor--pythonis provided. If the tool was previously installed with an explicit--pythonflag, the global pin will not override it.You can opt out of this behavior by providing an explicit
--pythonflag.Remove Debian Bookworm, Alpine 3.21, and Python 3.8 Docker images (#17755)
The Debian Bookworm and Alpine 3.21 images were replaced by Debian Trixie and Alpine 3.22 as defaults in uv 0.9. These older images are now removed. Python 3.8 images are also removed, as Python 3.8 is no longer supported in the Trixie or Alpine base images.
The following image tags are no longer published:
uv:bookworm,uv:bookworm-slimuv:alpine3.21uv:python3.8-*Use
uv:debianoruv:trixieinstead ofuv:bookworm,uv:alpineoruv:alpine3.22instead ofuv:alpine3.21, and a newer Python version instead ofuv:python3.8-*.Drop PPC64 (big endian) builds (#17626)
uv no longer provides pre-built binaries for PPC64 (big endian). This platform appears to be largely unused and is only supported on a single manylinux version. PPC64LE (little endian) builds are unaffected.
Building uv from source is still supported for this platform.
Skip generating
activate.cshfor relocatable virtual environments (#17759)Previously,
uv venv --relocatablewould generate anactivate.cshscript that contained hardcoded paths, making it incompatible with relocation. Now, theactivate.cshscript is not generated for relocatable virtual environments.You cannot opt out of this behavior.
Require username when multiple credentials match a URL (#16983)
When using
uv auth loginto store credentials, you can register multiple username and password combinations for the same host. Previously, when uv needed to authenticate and multiple credentials matched the URL (e.g., when retrieving a token withuv auth token), uv would pick the first match. Now, uv will error instead.You cannot opt out of this behavior. Include the username in the request, e.g.,
uv auth token --username foo example.com.Avoid invalidating the lockfile versions after an
exclude-newerchange (#17721)Previously, changing the
exclude-newersetting would cause package versions to be upgraded, ignoring the lockfile entirely. Now, uv will only change package versions if they are no longer within theexclude-newerrange.You can restore the previous behavior by using
--upgradeor--upgrade-packageto opt-in to package version changes.Upgrade
uv formatto Ruff 0.15.0 (#17838)uv formatnow uses Ruff 0.15.0, which uses the 2026 style guide. See the blog post for details.The formatting of code is likely to change. You can opt out of this behavior by requesting an older Ruff version, e.g.,
uv format --version 0.14.14.Update uv crate test features to use
test-as a prefix (#17860)This change only affects redistributors of uv. The Cargo features used to gate test dependencies, e.g.,
pypi, have been renamed with atest-prefix for clarity, e.g.,test-pypi.Stabilizations
uv python upgradeanduv python install --upgrade(#17766)When installing Python versions, an intermediary directory without the patch version attached will be created, and virtual environments will be transparently upgraded to new patch versions.
See the Python version documentation for more details.
uv add --boundsand theadd-boundsconfiguration option (#17660)This does not come with any behavior changes. You will no longer see an experimental warning when using
uv add --boundsoradd-boundsin configuration.uv workspace listanduv workspace dir(#17768)This does not come with any behavior changes. You will no longer see an experimental warning when using these commands.
extra-build-dependencies(#17767)This does not come with any behavior changes. You will no longer see an experimental warning when using
extra-build-dependenciesin configuration.Enhancements
pyx.devas a target inuv authcommands despitePYX_API_URLdiffering (#17856)Bug fixes
v0.9.30Compare Source
Released on 2026-02-04.
Python
Enhancements
--extraoption (#17525)UV_HTTP_TIMEOUTerror message (#17493)Preview features
Bug fixes
uv publishwhen using pyx (#17832)v0.9.29Compare Source
Released on 2026-02-03.
Python
Enhancements
uv version --bump devsimilar to pre-release bumps (#17796)uv publishserver errors (#17787)uv publishtrace logs (#17784)Preview features
baseanddefaultconda environment names (#17758)Bug fixes
PYTHONHOMEinheritance when spawning different Python versions (#17821)EqualStarandNotEqualStaroperators (#17751)system-configurationin sandboxes (#17829)Documentation
Security
--help(#17745)v0.9.28Compare Source
Released on 2026-01-29.
Python
Enhancements