Skip to content

Update charmcraft.yaml build tools #240

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Apr 1, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence Update
pip (changelog) 25.0.1 -> 25.1.1 age adoption passing confidence minor
poetry (changelog) 2.1.1 -> 2.1.3 age adoption passing confidence patch
rust-lang/rust 1.85.1 -> 1.87.0 age adoption passing confidence minor
uv (source, changelog) 0.6.9 -> 0.7.8 age adoption passing confidence minor

Release Notes

pypa/pip (pip)

v25.1.1

Compare Source

v25.1

Compare Source

python-poetry/poetry (poetry)

v2.1.3

Compare Source

Changed
  • Require importlib-metadata<8.7 for Python 3.9 because of a breaking change in importlib-metadata 8.7 (#​10374).
Fixed
  • Fix an issue where re-locking failed for incomplete multiple-constraints dependencies with explicit sources (#​10324).
  • Fix an issue where the --directory option did not work if a plugin, which accesses the poetry instance during its activation, was installed (#​10352).
  • Fix an issue where poetry env activate -v printed additional information to stdout instead of stderr so that the output could not be used as designed (#​10353).
  • Fix an issue where the original error was not printed if building a git dependency failed (#​10366).
  • Fix an issue where wheels for the wrong platform were installed in rare cases. (#​10361).
poetry-core (2.1.3)
  • Fix an issue where the union of specific inverse or partially inverse markers was not simplified (#​858).
  • Fix an issue where optional dependencies defined in the project section were treated as non-optional when a source was defined for them in the tool.poetry section (#​857).
  • Fix an issue where markers with === were not parsed correctly (#​860).
  • Fix an issue where local versions with upper case letters caused an error (#​859).
  • Fix an issue where extra markers with a value starting with "in" were not validated correctly (#​862).

v2.1.2

Compare Source

Changed
  • Improve performance of locking dependencies (#​10275).
Fixed
  • Fix an issue where markers were not locked correctly (#​10240).
  • Fix an issue where the result of poetry lock was not deterministic (#​10276).
  • Fix an issue where poetry env activate returned the wrong command for tcsh (#​10243).
  • Fix an issue where poetry env activate returned the wrong command for pwsh on Linux (#​10256).
Docs
  • Update basic usage section to reflect new default layout (#​10203).
poetry-core (2.1.2)
  • Improve performance of marker operations (#​851).
  • Fix an issue where incorrect markers were calculated when removing parts covered by the project's Python constraint (#​841,
    #​846).
  • Fix an issue where extra markers were not simplified (#​842,
    #​845,
    #​847).
  • Fix an issue where the intersection and union of markers was not deterministic (#​843).
  • Fix an issue where the intersection of python_version markers was not recognized as empty (#​849).
  • Fix an issue where python_version markers were not simplified (#​848,
    #​851).
  • Fix an issue where Python constraints on a package were converted into invalid markers (#​853).
rust-lang/rust (rust-lang/rust)

v1.87.0

Compare Source

==========================

Language

Compiler

Platform Support

Refer to Rust's platform support page
for more information on Rust's tiered platform support.

Libraries

Stabilized APIs

These previously stable APIs are now stable in const contexts:

Cargo

Compatibility Notes

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

Compiler

Platform Support

Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.

Libraries

Stabilized APIs

These APIs are now stable in const contexts:

Cargo

Rustdoc

Compatibility Notes

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.

  • Build the rustc on AArch64 Linux with ThinLTO + PGO.
    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 and uv 0.7.7 due to
a 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:

  • Add Python 3.14 on musl
  • free-threaded Python on musl
  • Add Python 3.14.0a7
  • Statically link libpython into the interpreter on Linux for a significant performance boost

See the issue for details.

Documentation
  • Remove misleading line in pin documentation (#​13611)

v0.7.7

Compare Source

Python
  • Work around third-party packages that (incorrectly) assume the interpreter is dynamically linking libpython
  • Allow the experimental JIT to be enabled at runtime on Python 3.13 and 3.14 on macOS on aarch64 aka Apple Silicon

See the
python-build-standalone release notes
for more details.

Bug fixes
  • Make uv version lock and sync (#​13317)
  • Fix references to ldd in diagnostics to correctly refer to ld.so (#​13552)
Documentation
  • Clarify adding SSH Git dependencies (#​13534)

v0.7.6

Compare Source

Python
  • Add Python 3.14 on musl
  • Add free-threaded Python on musl
  • Add Python 3.14.0a7
  • Statically link libpython into the interpreter on Linux for a significant performance boost

See the
python-build-standalone release notes
for more details.

Enhancements
  • Improve compatibility of VIRTUAL_ENV_PROMPT value (#​13501)
  • Bump MSRV to 1.85 and Edition 2024 (#​13516)
Bug fixes
  • Respect default extras in uv remove (#​13380)
Documentation

v0.7.5

Compare Source

Bug fixes
  • Support case-sensitive module discovery in the build backend (#​13468)
  • Bump Simple cache bucket to v16 (#​13498)
  • Don't error when the script is too short for the buffer (#​13488)
  • Add missing word in "script not supported" error (#​13483)

v0.7.4

Compare Source

Enhancements
  • Add more context to external errors (#​13351)
  • Align indentation of long arguments (#​13394)
  • Preserve order of dependencies which are sorted naively (#​13334)
  • Align progress bars by largest name length (#​13266)
  • Reinstall local packages in uv add (#​13462)
  • Rename --raw-sources to --raw (#​13348)
  • Show 'Downgraded' when self update is used to install an older version (#​13340)
  • Suggest uv self update if required uv version is newer (#​13305)
  • Add 3.14 beta images to uv Docker images (#​13390)
  • Add comma after "i.e." in Conda environment error (#​13423)
  • Be more precise in unpinned packages warning (#​13426)
  • Fix detection of sorted dependencies when include-group is used (#​13354)
  • Fix display of HTTP responses in trace logs for retry of errors (#​13339)
  • Log skip reasons during Python installation key interpreter match checks (#​13472)
  • Redact credentials when displaying URLs (#​13333)
Bug fixes
  • Avoid erroring on pylock.toml dependency entries (#​13384)
  • Avoid panics for cannot-be-a-base URLs (#​13406)
  • Ensure cached realm credentials are applied if no password is found for index URL (#​13463)
  • Fix .tgz parsing to respect true extension (#​13382)
  • Fix double self-dependency (#​13366)
  • Reject pylock.toml in uv add -r (#​13421)
  • Retain dot-separated wheel tags during cache prune (#​13379)
  • Retain trailing comments after PEP 723 metadata block (#​13460)
Documentation
  • Use "export" instead of "install" in uv export arguments (#​13430)
  • Remove extra newline (#​13461)
Preview features
  • Build backend: Normalize glob paths (#​13465)

v0.7.3

Compare Source

Enhancements
  • Add --dry-run support to uv self update (#​9829)
  • Add --show-with to uv tool list to list packages included by --with (#​13264)
  • De-duplicate fetched index URLs (#​13205)
  • Support more zip compression formats: bzip2, lzma, xz, zstd (#​13285)
  • Add support for downloading GraalPy (#​13172)
  • Improve error message when a virtual environment Python symlink is broken (#​12168)
  • Use fs_err for paths in symlinking errors (#​13303)
  • Minify and embed managed Python JSON at compile time (#​12967)
Preview features
  • Build backend: Make preview default and add configuration docs (#​12804)
  • Build backend: Allow escaping in globs (#​13313)
  • Build backend: Make builds reproducible across operating systems (#​13171)
Configuration
  • Add python-downloads-json-url option for uv.toml to configure custom Python installations via JSON URL (#​12974)
Bug fixes
  • Check nested IO errors for retries (#​13260)
  • Accept musllinux_1_0 as a valid platform tag (#​13289)
  • Fix discovery of pre-release managed Python versions in range requests (#​13330)
  • Respect locked script preferences in uv run --with (#​13283)
  • Retry streaming downloads on broken pipe errors (#​13281)
  • Treat already-installed base environment packages as preferences in uv run --with (#​13284)
  • Avoid enumerating sources in errors for path Python requests (#​13335)
  • Avoid re-creating virtual environment with --no-sync (#​13287)
Documentation
  • Remove outdated description of index strategy (#​13326)
  • Update "Viewing the version" docs (#​13241)

v0.7.2

Compare Source

Enhancements
  • Improve trace log for retryable errors (#​13228)
  • Use "error" instead of "warning" for self-update message (#​13229)
  • Error when uv version is used with project-specific flags but no project is found (#​13203)
Bug fixes
  • Fix incorrect virtual environment invalidation for pre-release Python versions (#​13234)
  • Fix patching of clang in managed Python sysconfig (#​13237)
  • Respect --project in uv version (#​13230)

v0.7.1

Compare Source

Enhancement
Bugfix
  • Revert fix handling of authentication when encountering redirects (#​13215)

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:

    $ uv init example
    Initialized project `example` at `./example`
    $ cd example
    $ uv version
    example 0.1.0
    $ uv version --bump major
    example 0.1.0 => 1.0.0
    $ uv version --short
    1.0.0

    If used outside of a project, uv will fallback to showing its own version still:

    $ uv version
    warning: failed to read project: No `pyproject.toml` found in current directory or any parent directory
      running `uv self version` for compatibility with old `uv version` command.
      this fallback will be removed soon, pass `--preview` to make this an error.
    
    uv 0.7.0 (4433f41c9 2025-04-29)

    As described in the warning, --preview can be used to error instead:

    $ uv version --preview
    error: No `pyproject.toml` found in current directory or any parent directory

    The previous functionality of uv version was moved to uv 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. The index.ignore-error-codes option can be used to recover the existing behavior, e.g.:

    [[tool.uv.index]]
    name = "pytorch"
    url = "https://download.pytorch.org/whl/cpu"
    ignore-error-codes = [401, 403]

    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 presume foo is an empty Python package which provides no command, uvx foo would invoke the foo command on the PATH (if present). Now, uv will error early if the foo executable is not provided by the requested Python package. This check is not enforced when --from is used, so patterns like uvx --from foo bash -c "..." are still valid. uv also still allows uvx foo where the foo executable is provided by a dependency of foo instead of foo 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 matches pip.

  • 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 as uv --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 or uv pip compile -o foo.toml) as requirements.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 with pyenv-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:

    [dependency-groups]
    foo = ["pyparsing"]
    bar = [{set-phasers-to = "stun"}]

    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 and UV_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
  • Disallow mixing requirements across PyTorch indexes (#​13179)
  • Add optional managed Python archive download cache (#​12175)
  • Add poetry-core as a uv init build backend option (#​12781)
  • Show tag hints when failing to find a compatible wheel in pylock.toml (#​13136)
  • Report Python versions in pyvenv.cfg version mismatch (#​13027)
Bug fixes
  • Avoid erroring on omitted wheel-only packages in pylock.toml (#​13132)
  • Fix display name for uvx --version (#​13109)
  • Restore handling of authentication when encountering redirects (#​13050)
  • Respect build options (--no-binary et al) in pylock.toml (#​13134)
  • Use upload-time rather than upload_time in uv.lock (#​13176)
Documentation
  • Changed fish completions append >> to overwrite > (#​13130)
  • Add pylock.toml mentions where relevant (#​13115)
  • Add ROCm example to the PyTorch guide (#​13200)
  • Upgrade PyTorch guide to CUDA 12.8 and PyTorch 2.7 (#​13199)

v0.6.17

Compare Source

Release Notes

Preview features
  • Add PyTorch v2.7.0 to GPU backend (#​13072)
Bug fixes
  • Avoid panic for invalid Python versions (#​13077)
  • Block scripts from overwriting python (#​13051)
  • Check distribution names to handle invalid redirects (#​12917)
  • Check for mismatched package and distribution names on resolver thread (#​13088)
  • Fix panic with invalid last character in PEP 508 name (#​13105)
  • Reject requires-python even if not listed on the index page (#​13086)

Install uv 0.6.17

Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.6.17/uv-installer.sh | sh
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

File Platform Checksum
uv-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
uv-x86_64-apple-darwin.tar.gz Intel macOS checksum
uv-aarch64-pc-windows-msvc.zip ARM64 Windows checksum
uv-i686-pc-windows-msvc.zip x86 Windows checksum
uv-x86_64-pc-windows-msvc.zip x64 Windows checksum
uv-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
uv-i686-unknown-linux-gnu.tar.gz x86 Linux checksum
uv-powerpc64-unknown-linux-gnu.tar.gz PPC64 Linux checksum
uv-powerpc64le-unknown-linux-gnu.tar.gz PPC64LE Linux checksum
uv-s390x-unknown-linux-gnu.tar.gz S390x Linux checksum
uv-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
uv-armv7-unknown-linux-gnueabihf.tar.gz ARMv7 Linux checksum
uv-aarch64-unknown-linux-musl.tar.gz ARM64 MUSL Linux checksum
uv-i686-unknown-linux-musl.tar.gz x86 MUSL Linux checksum
uv-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum
uv-arm-unknown-linux-musleabihf.tar.gz ARMv6 MUSL Linux (Hardfloat) checksum
uv-armv7-unknown-linux-musleabihf.tar.gz ARMv7 MUSL Linux checksum

v0.6.16

Compare Source

Release Notes

Bug fixes
  • Revert "Properly handle authentication for 302 redirect URLs" (#​13041)

Install uv 0.6.16

Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.6.16/uv-installer.sh | sh

@renovate renovate bot added the not bug or enhancement PR is not 'bug' or 'enhancement'. For release notes label Apr 1, 2025
@renovate renovate bot requested review from a team, paulomach, taurus-forever, shayancanonical and carlcsaposs-canonical and removed request for a team April 1, 2025 02:06
@renovate renovate bot force-pushed the renovate/charmcraft.yaml-build-tools branch from 9e13b92 to 583f239 Compare April 8, 2025 02:00
@renovate renovate bot force-pushed the renovate/charmcraft.yaml-build-tools branch from 583f239 to b4bb760 Compare April 15, 2025 02:01
@renovate renovate bot force-pushed the renovate/charmcraft.yaml-build-tools branch 3 times, most recently from a885c9f to 5e324db Compare April 29, 2025 01:35
@renovate renovate bot force-pushed the renovate/charmcraft.yaml-build-tools branch from 5e324db to ca69a92 Compare May 6, 2025 01:15
@renovate renovate bot force-pushed the renovate/charmcraft.yaml-build-tools branch 2 times, most recently from 54cfdaa to 1ae9efa Compare May 20, 2025 01:06
@renovate renovate bot force-pushed the renovate/charmcraft.yaml-build-tools branch from 1ae9efa to 0c8b5c5 Compare May 27, 2025 02:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Libraries: Out of sync not bug or enhancement PR is not 'bug' or 'enhancement'. For release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants