| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: rustup | Distribution: openSUSE Tumbleweed |
| Version: 1.29.0~0 | Vendor: openSUSE |
| Release: 1.1 | Build date: Thu Aug 13 06:15:05 2026 |
| Group: Development/Languages/Rust | Build host: reproducible |
| Size: 12393470 | Source RPM: rustup-1.29.0~0-1.1.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: https://github.com/rust-lang/rustup | |
| Summary: A tool for managing user Rust toolchains | |
A tool to manager user Rust toolchains. This is generally used by developers managing multiple parallel toolchains in their environment.
(0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 OR MIT OR Zlib) AND (Apache-2.0 OR MIT OR Zlib) AND (MIT OR Unlicense) AND (Apache-2.0 OR Zlib OR MIT) AND Apache-2.0 AND BSD-3-Clause AND CC0-1.0 AND ISC AND MIT
* Thu Aug 13 2026 William Brown <william.brown@suse.com>
- bsc#1274144 - CVE-2026-25541 - integer overflow in 'BytesMut:reserve' can lead to undefined behavior and crashes
* Fri Aug 07 2026 william.brown@suse.com
- bsc#1274144 - CVE-2026-25541 - bytes: integer overflow in 'BytesMut:reserve' can lead to undefined behavior and crashes
- Update to version 1.29.0~0:
* chore(deps): update `aws-lc-rs` and `aws-lc-sys`
* docs(changelog): update release date for v1.29.0
* dist(rustup-init/sh): update commit shasum in help string
* docs(dev-guide/release-process): mention the CfT blog post
* docs(changelog): update for v1.29.0 stable release
* fix(cli): Style CLI errors in init mode
* test: Add unknown arg init test
* chore(deps): lock file maintenance
* chore(deps): update actions/upload-artifact action to v7
* refactor(www): simplify instruction css selector
* feat(www): make copy button dark mode-aware
* feat(www): move feedback text out of copy button
* fix(www): apply filter to rust logo
* feat(www): add dark mode
* refactor(www): extract css variables
* fix(cli/self-update): enforce a newline after `check_updates()`
* refactor(cli/self-update): extract `has_progress_bars` in `check_updates()`
* fix(cli/self-update): unify `check_*update*()`'s message formats
* docs(downloads): fix the default number of `RUSTUP_CONCURRENT_DOWNLOADS`
* feat(toolchain): add `--override` to override toolchain as soon as installed
* fix(toolchain): improve logs when recovering from an interrupted installation
* chore(deps): lock file maintenance
* chore(deps): downgrade `openssl-src` to 300.5.4+3.5.4
* style(download): clean up imports
* fix(diskio): fall back to single-threaded unpacking when `ram_budget` < 512MB to avoid OOM on memory-constrained systems
* test(downloads): check if an error is thrown if the server does not honor range
* fix(downloads): check correct response when resuming from partial (reqwest)
* fix(downloads): check correct response when resuming from partial (curl)
* fix(deps): update rust crate toml to v1
* chore(deps): lock file maintenance
* fix(dist/manifest): sort keys when serializing `Manifest`
* hack(ci/linux): disable BuildKit when building local images
* chore(ci): use more distinctive local image names
* Upgrade rand to 0.10
* Upgrade snapbox to 1
* Upgrade to anstream 1
* fix(downloads): adjust error message for partial files in network failures
* test(downloads): ensure that partial files are not removed when network fails
* feat(downloads): do not delete partial download when network fails
* fix(downloads): substitute `DEK` alias for `DownloadError`
* chore(deps): lock file maintenance
* chore(deps): lock file maintenance
* chore(deps): update aws-actions/configure-aws-credentials action to v6
* Take semver-compatible dependency updates
* cli: introduce semantic exit code constants for rustup check
* Add missing Windows SDK instructions
* Add winget instructions to MSVC install page
* Remove nu-string-interpolation `$`
* Replace $nu.home-path with ~
* feat(cli/rustup-mode): add "Exit status" section to `rustup check --help`
* chore(deps): lock file maintenance
* Add common commands section in help text
* fix(cli/rustup-mode): improve exit code of `rustup check`
* refactor(test)!: pass status code directly to `SanitizedOutput`
* chore(deps): lock file maintenance
* Add powerpc64-unknown-linux-musl support
* fix: add copy_file_symlink_to_source for self-installation
* fix: preserve symlinks in copy_dir instead of following them
* feat(cli/rustup-mode): add `doc --rustc-docs` to open rustdoc for Rust internals
* Remove the mixed singular/plural phrasing as "component(s)" instead, use "components" or "component". In the singular case also add the name of the component for more consistent messaging style with other info! outputs about single components.
* fix(cli/rustup-mode): `check` for self updates for `SelfUpdateMode::CheckOnly`
* test: Add test for sequential multi-toolchain uninstall
* fix: directory removal race condition in toolchain uninstall
* chore(deps): lock file maintenance
* test(cli_v2): test error when missing many components on install
* fix(dist): adjust printed newlines in `components_missing_msg()`
* unified nightly disclaimer wording/styling; preserved distinct messages per scenario
* chore(deps): lock file maintenance
* Upgrade to reqwest 0.13
* chore(deps): lock file maintenance
* change test name to match new terminology
* rename file to match new terminology
* change 'target triple' to 'target tuple'
* chore(deps): lock file maintenance
* fix(toolchain): forbid toolchain names starting with +
* cli: add `doc --releases` to open release notes
* chore(deps): update actions/upload-artifact action to v6
* chore(deps): update actions/cache action to v5
* chore(deps): lock file maintenance
* dist: use more concise API in helper function
* dist: inline more logic into helper function
* dist: give helper function a more meaningful name
* dist: move helper function closer to usage site
* docs(dev-guide): mention snapshot updating in release process
* fix(toolchain): avoid unwrapping when parsing a toolchain name
* fix(toolchain): change regex to reject leading zeros in toolchain name
* dist(rustup-init/sh): update commit shasum in help string
* docs(changelog): update for v1.29.0 beta release
* dist: bump `rustup` version to v1.29.0
* docs(changelog): add missing link references
* test(static-roots): use a more compact syntax for raw binaries
* test(static-roots): return `Result` from `store_static_roots()`
* download: statically bundle relevant trust anchors
* chore(deps): lock file maintenance
* Added xonsh support
* chore(deps): lock file maintenance
* refactor(dist/manifestation): remove redundant redeclarations
* docs(dist/download): remove outdated note on concurrent download progress reporting
* fix(dist/download): align `total_bytes` fields in progress reporting UI
* fix: default to GNU host in Cygwin/MSYS/MinGW environments (#4221)
* chore(config): remove redundant imports
* fix(dist/manifestation): print "downloading component" only on `InstallEvents`
* fix(utils): downgrade panic to warning in `delete_dir_contents_following_links()`
* chore(deps): update actions/checkout action to v6
* chore(deps): lock file maintenance
* Prepare for mdbook 0.5 migration
* dist: make installation asynchronous
* dist: make installations 'static
* dist: take ownership of Manifestation
* dist: store owned temp::Context in Transaction
* dist: store temp::Context in DownloadCfg
* dist: align progress bar elements
* dist: track progress during unpacking
* utils: drop unused reader tracking
* process: fix refresh rate for progress bars
* process: reduce duplication in ProgressDrawTarget setup
* Yield references from Manifest::short_name()
* Move Component name helpers to Manifest
* chore(deps): lock file maintenance
* dist: simplify ComponentBinary construction
* dist: hoist creation of io_executor some more
* Move unpack_ram() from dist to diskio
* dist: hoist Executor creation up
* dist: inline effective RAM limit calculation
* dist: hoist environment variable extraction
* dist: use logging for missing parent warnings
* dist: clarify dependency on unpack RAM budget
* diskio: clarify dependency on I/O thread count
* dist: transfer ownership of component values
* dist: take ownership of existing Components
* dist: take ownership of toolchain name in update()
* dist: take ownership of manifest in update()
* dist: derive trivial initialization for Update
* dist: rename Update::build_update() to new()
* dist: linearize for-loop in Update::build_update()
* dist: inline single-use function
* dist: inline trivial helper function
* dist: inline single-use tranaction change helpers
* dist: store specific config bit in Transaction
* chore(config): migrate config .github/renovate.json
* chore(deps): lock file maintenance
* dist: attach manifest download functions to DownloadCfg
* rustup: unhide top-level install/uninstall commands
* dist: move update_from_dist() to DistOptions::install_into()
* Be more consistent about aliases for different subcommands
* chore(deps): lock file maintenance
* test: add test for `rustup toolchain install --no-update`
* feat(rustup-mode): add `no_update` flag to `rustup toolchain install`
* cli: prepare DistOptions in advance
* dist: inline trivial wrapper function
* cli: inline single-use update_all_channels() helper
* config: simplify update_all_channels()
* dist: deduplicate DistOptions initialization
* dist: avoid recomputing dist root URL
* dist: simplify tracing instrumentation
* install: take ownership in InstallMethod::install()
* dist: move DistributableToolchain::install() up
* dist: clarify when update_hash is available
* cli: avoid dropped temporary
* Take semver-compatible dependencies
* dist: install while downloading
* dist: store more context in ComponentBinary
* dist: yield self when download is complete
* dist: move URL alteration logic into DownloadCfg method
* Apply suggestions from clippy 1.91
* refactor(check): Consolidate use_colors checks
* fix(check): Use Cargo's colors
* refactor(check): Make calls more consistent
* dist: drop another layer of abstraction
* dist: store package directory once
* dist: inline short single-use function
* dist: discard unnecessary abstraction layer
* chore(deps): update actions/upload-artifact action to v5
* chore(deps): lock file maintenance
* fix(cli/rustup-mode): add missing self-update in `rustup toolchain install`
* refactor(cli/self-update): move `self_update()` to `SelfUpdateMode::update()`
* refactor(cli/rustup-mode): pass self-update predicates into `self_update()`
* refactor(cli/self-update): import `utils::ExitCode`
* rustup: tweak update check output style
* fix(list): Match show command's styling
* test(list): Add UI test
* fix(toolchain): Have 'list' match 'show's styling
* refactor(toolchain): Order logic by display order
* refactor(toolchain): Use string interpolation
* test(toolchain): Show list's behavior
* fix(update): Match 'cargo update's colors
* refactor(update): Centralize style knowledge
* test: Cover different show_channel_update cases
* fix(check): Subject check to RUSTUP_TERM_COLOR
* test(check): Show current style
* fix: Use HEADER styling in 'rustup show'
* chore: Update clap-cargo
* test: Demonstrate show's behavior
* test(process): Allow forcing color on
* test(process): Ensure non-locked writes are stripped of ANSI escape codes
* cli: update `uninstall_removes_source_from_rcs` to mirror `uninstall_doesnt_modify_rcs_with_no_modify_path`
* cli: add tests for `rustup self uninstall --no-modify-path`
* cli: add `rustup self uninstall --no-modify-path`
* cli: add help text for `rustup self uninstall -y`
* fix(cli/help): change indentation of discussions to 2 spaces
* fix(cli/help): adjust help text for `rustup install`
* feat(cli/help): add toolchain install tips to `rustup update`'s discussion
* feat(cli/help): discuss `rustup toolchain install`
* style: Remove wildcard imports
* progress: modify progress bar's states to be column-aligned
* installations: handle installation of components through progress bars
* feat(cli): Add a sub-heading style for 'completion' Help Discussion
* feat(cli): Have Help Discussions match rest of CLI Help
* feat(cli): Add color to clap help/errors
* refactor(cli): Switch help text to functions
* chore(deps): lock file maintenance
* cli: propagate ActiveSource from the top
* cli: upgrade error events to ERROR level
* cli: inline Cfg::active_rustc_version()
* cli: extract display_version() from rustup main()
* cli: inline Cfg::resolve_local_toolchain()
* cli: inline Cfg::resolve_toolchain()
* config: extract setting of toolchain override in rustup help mode
* cli: avoid Cfg construction indirection
* config: privatize some Cfg fields
* config: drop trivial Cfg setters
* Expand `RUSTUP_TOOLCHAIN_SOURCE`'s documentation
* refactor(installation): extract installation of a component into a separate function
* bin: clean up imports
* cli: rename CLIError to CliError
* config: rename OverrideDB to OverrideDb
* dist: clean up unnecessary qualification
* test: Replace trycmd with snapbox
* chore: Update snapbox
* Update the default Windows SDK version
* refactor(log): Single source RUSTUP_TERM_COLOR
* style: Encourage using existing imports
* process: avoid fine-grained locking for logs
* process: discard unnecessary layer of synchronization
* process: inline TerminalInnerLocked
* process: replace unsafe code with safe equivalent
* process: extract color_choice() method
* process: extract is_a_tty value
* process: inline StreamSelector::is_a_tty()
* process: inline TestWriterLock
* Implement `RUSTUP_TOOLCHAIN_SOURCE` with new `Display` impl
* Move `Display` impl to `to_reason()`
* Rename `ActiveReason` to `ActiveSource`
* dist: simplify DownloadStatus setup
* dist: decentralize download status
* dist: postpone creation of ComponentBinary values
* dist: extract DownloadStatus type
* dist: call DownloadTracker methods directly
* dist: drop unnecessary Notifier layer
* dist: replace PackageContext with DownloadCfg
* refactor: Directly apply styling
* refactor: Don't bother grabbing lock for tests
* refactor: Replace termcolor with anstream
* refactor: Move style building out of ColorableTerminal
* refactor: Migrate to anstyle for color definitions
* fix(www): removes www subdomain from all rust-lang.org urls
* chore(deps): lock file maintenance
* dist: move Notification into dist::download
* notifications: remove unused Display impl
* dist: move Notifier into DownloadCfg
* cli: build Cfg earlier in setup mode
* dist: reuse existing DownloadCfg in update_v1()
* dist: move dist_root out of DownloadCfg
* dist: drop unused Clone derives
* dist: drop Copy derive from DownloadCfg
* dist: move Notifier and DownloadTracker into dist::download
* dist: inline DownloadCfg test setup
* download: move File items down
* download: extract DownloadCfg initialization from Cfg
* config: discard pointless method argument
* cli: rename DownloadTracker::new_with_display_progress() to new()
* notifications: log directly from DownloadTracker
* notifications: log directly on bad download checksums
* notifications: log directly when reusing downloaded files
* notifications: log directly on buffer size changes
* Update platforms to 3.7.0
* notifications: log directly on duplicate toolchain files
* notifications: log directly on metadata upgrades that remove toolchains
* notifications: log directly when reading metadata version
* notifications: log directly when metadata upgrade is not needed
* notifications: log directly when upgrading metadata version
* notifications: log directly when uninstalling toolchains
* notifications: log directly when toolchain is up to date
* notifications: log directly when toolchain has been installed
* notifications: log directly when installing toolchains
* notifications: log the toolchain directory directly
* notifications: log directly when using existing toolchains
* notifications: log directly when looking for toolchains
* notifications: log directly when setting auto-self-update mode
* notifications: log directly when setting profile
* notifications: log directly when setting overrides
* notifications: use human-friendly log format for temp file deletions
* notifications: use human-friendly log format for directory deletions
* notifications: use human-friendly log format for retrying renames
* notifications: use human-friendly log format for path canonicalization
* cli: drop unnecessary generics
* process: import instead of qualifying ColorableTerminal
* process: hide internal structure
* process: don't re-export external items
* process: rename terminalsource to terminal_source
* process: rename filesource to file_source
* process: re-order items in terminalsource module
* feat(cli/self-update): add support for PowerShell on Unix systems
* refactor: Remove unused traits
* refactor: Directly use ColorableTerminal
* refactor: Simplify working with ColorableTerminal
* fix(process): Ensure stdout/stderr lock is held across calls
* refactor(process): Centralize Write bookkeeping
* docs(changelog): describe default profile change during auto-install
* Fix typo in clitools.rs comment
* ci(docs): fix local doc branch name
* Move the default branch from `master` to `main`
* Upgrade opentelemetry dependencies
* ci: use macOS Intel runners
* notifications: log directly when setting the default toolchain
* notifications: log directly when setting auto install mode
* notifications: log directly when resuming partial downloads
* notifications: log directly when downloading files
* notifications: log directly when removing stray hash files
* notifications: log directly when skipping components
* notifications: log directly on missing components
* notifications: log directly when downloading legacy manifests
* notifications: log directly for downloaded manifests
* notifications: log directly for manifest downloads
* notifications: log directly when removing components
* notifications: log directly when installing components
* notifications: log directly on missing components
* notifications: log directly after failing to determine memory limit
* notifications: log directly when hash file not found
* notifications: log directly when failing to update hash file
* notifications: log directly when component is already installed
* notifications: log directly for valid checksums
* notifications: log directly when using download backends
* chore: avoid trailing whitespace in error message
* refactor: Switch logging to anstyle
* refactor: Remove unused ColorableTerminal::carriage_return
* notifications: privatize Notification type
* notifications: log directly on creating temp files
* notifications: log directly on temp root creation
* notifications: log directly on file deletions
* notifications: log directly on directory deletions
* notifications: log directly about non-fatal errors
* notifications: log directly about rolling back changes
* notifications: log directly for retrying renames
* notifications: log directly when removing directories
* notifications: log directly when copying directories
* notifications: log directly when linking directories
* notifications: log directly when path canonicalization fails
* notifications: log directly when creating directories
* tests: use DistContext for dist::components tests
* tests: move DistContext into library
* tests: deduplicate distribution installation tests
* notifications: tweak style
* Inline utils Notification variants into top-level Notification
* Inline dist Notification variants into top-level Notification
* Inline dist::temp::Notification variants into top-level Notification
* dist: remove temp::Notification variant from dist::Notification
* dist: extract URL alteration from download() method
* dist: detach download_component() from Manifestation
* dist: introduce ComponentBinary type
* dist: avoid passing through arguments
* dist: avoid unnecessary type annotations
* dist: avoid cloning components Vec
* refactor: remove redundant references
* dist: simpify casting to trait object
* dist: deduplicate decompression setup code
* cli: move more self update logic into self_update module
* chore(deps): lock file maintenance
* refactor(dist/manifestation): remove redundant `.to_string()`
* Remove unneeded paranthesees
* Fix link in the bug reporting template
* ci(all-features/windows): update `OPENSSL_LIB_DIR` for OpenSSL v3 compatibility
* chore(deps): lock file maintenance
* docs(dev-guide): improve suggestion for overriding arg0
* docs(dev-guide): mention the arg0 override trick on welcome page
* docs(README): link CI status badge to GitHub Actions panel
* feat(dist/manifestation): adjust default concurrent downloads when installing toolchains
* feat(cli/rustup-mode): check updates for all channels unless `RUSTUP_CONCURRENT_DOWNLOADS` is set to 1
* refactor: rename `num_channels` to `concurrent_downloads`
* fix: fix hang by preventing `stream.buffered(0)` in concurrent downloads
* test(dist/manifestation): extract `TestContext::*with_env()`
* refactor(download): use `NonZero` instead of `NonZeroU64`
* refactor(process): remove redundant `.context()` in `Process::concurrent_downloads()`
* chore(deps/renovate): group version bumps for `windows-rs` crates
* Upgrade windows crates
* chore(deps): lock file maintenance
* fix(cli/rustup_mode): use ASCII-compatible spinner
* chore(deps): update aws-actions/configure-aws-credentials action to v5
* feat(install): warn if default linker (cc) is missing; add respective test case
* Remove hardcoded dependency to the master branch
* feat(downloads): delay the reappearance of the progress bar when retrying a download
* fix(downloads): correct faulty behavior when a download fails
* fix(downloads): correct faulty output when retrying a download
* chore(deps): lock file maintenance
* feat(self_update): add tcsh shell support to cli #3413
* Replace non_empty_env_var() with Process::var_opt()
* fix(downloads): report real elapsed time of a component downloads instead of cumulative
* Treat empty environment variables as unset
* fix(downloads): honor the RUSTUP_CONCURRENT_DOWNLOADS by always having "n" concurrent downloads
* chore(deps): lock file maintenance
* chore(deps): disable default features for zstd
* feat(downloads): introduce `RUSTUP_CONCURRENT_DOWNLOADS` to control concurrency
* chore(deps): lock file maintenance
* ci(check): make installation of `taplo-cli` faster
* fix(notifications): delete unnecessary Download(Pop/Push)Unit notifications
* fix(downloads): extract closure for downloading a component into a separate function
* feat(downloads): concurrently download components
* fix(downloads): add a comment to justify the unwrap on `.get()` of `OnceLock`
* chore(deps): update actions/checkout action to v5
* fix(download_timeout): introduce RUSTUP_DOWNLOAD_TIMEOUT for overriding download timeout
* fix(downloads): substitute the LazyLock for a OnceLock
* chore(deps): lock file maintenance
* feat(rustup_mode): revise help message
* feat: improve error message for `rustup which`
* test: detach snapshots from component installation order
* chore(deps): lock file maintenance
* feat(download_tracker): refactor in favor of `indicatif`
* feat(process): create a `ProgressDrawTarget` (for `indicatif`) inside the `Process`
* chore(deps): lock file maintenance
* fix(rustup-init/sh): avoid `hw.optional.*: 1` stdout in macOS arch check
* hack(cli/common): suppress host emulation warnings in rustup's own CI
* fix(test/clitools): pass `RUSTUP_CI` to in-process tests
* ci(macos): run x64 workflows with Rosetta 2
* docs(user-guide/environment-variables): clarify the unit of `RUSTUP_UNPACK_RAM`
* docs(user-guide/environment-variables): unify description style
* docs(user-guide/environment-variables): update description of `RUSTUP_IO_THREADS`
* chore(deps): lock file maintenance
* Limit Tokio worker threads to I/O thread count
* Use manual Tokio runtime setup
* Attach io_thread_count() to Process
* Always consider RUSTUP_IO_THREADS as input for thread count
* utils: express io_thread_count() in a simpler way
* opt(err): show renaming file error source
* Set a maximum thread limit for remove_dir_all
* fix(toolchain/distributable): refine handling of known targets with no prebuilt artifacts
* fix(ci/fetch-rust-docker): update comments
* fix(ci/docker): update `CC` name for `powerpc64le-unknown-linux-gnu`
* chore(deps): lock file maintenance
* Extract self_update() from update_all_channels()
* Show channel updates even if self update is not permitted
* Remove Cargo feature indirection
* Move Cfg::get_self_update_mode() to SelfUpdateMode::from_cfg()
* Replace trivial enum with bool
* feat(updates): introduce `RUSTUP_TERM_WIDTH` to override terminal width
* feat(updates): introduce `RUSTUP_TERM_PROGRESS_WHEN` to toggle the progress bars
* Limit the default number of I/O threads
* Bump `toml` to 0.9
* feat(updates): check for updates concurrently
* feat(terminal): implement the `TermLike` trait for `ColorableTerminal`
* chore(deps): lock file maintenance
* chore(deps): lock file maintenance
* chore: use match ergonomics in favor of explicit `ref`s
* refactor(download/curl): use early returns in `download()`
* chore(cli/rustup_mode): merge `std` imports
* chore(cli/rustup-mode): import `std::io`
* chore: fix new `clippy` warnings
* fix(ci/run): specify target triple for `bindgen-cli` installation
* feat(www): improve "copy" button style compatibility with Chromium
* ci(run): install `codegen-cli` with `cargo-binstall`
* docs: replace Discord links
* chore(deps): lock file maintenance
* Block broken snap curl
* Upgrade to windows-sys 0.60
* chore(deps): lock file maintenance
* Emphasize that `llvm-tools` dist component is not subject to compiler stability guarantees
* docs(README): update CI status badge
* Fix rustup-init.sh cputype check for sparcv9
* add Solaris support
* test(clitools)!: remove all deprecated `.expect_*()` APIs
* test(clitools)!: privatize `Config::run()`
* test: migrate remaining uses of `.run()` to `.expect()` APIs
* test(clitools): extract `Assert::redact()`
* test: simplify `.display().to_string()` in `.extend_redactions()`
* test(cli_misc): bring back missing assertions
* chore(deps): lock file maintenance
* Update help.rs: bash completions instructions (#1)
* docs(user-guide): fix typo
* docs(dev-guide): update the section on `clippy` lints
* docs(dev-guide): mention test helpers and `Assert`
* docs(test/clitools): add docs for `Assert`
* Upgrade to rustls-platform-verifier 0.6
* test(cli-v2): migrate to `.expect()` APIs
* test(cli-misc): migrate to `.expect()` APIs
* fix(toolchain): fix proxy fallback notification format on Windows
* test(cli-v1): migrate to `.expect()` APIs
* test(download): serialize tests with proxy-sensitive URLs
* fix(deps): update opentelemetry
* test(cli-rustup): migrate to `.expect()` APIs
* test(clitool): add `Assert::remove_redactions()`
* test(clitools): allow `OsStr`-like args in `Config::expect*()`
* Fix CI image names for downloading ARM and PowerPC artifacts
* Update platforms to 3.6
* chore(deps): lock file maintenance
* test(cli-exact): migrate to `.expect()` APIs
* Avoid swallowing errors in show()
* Simplify target processing logic
* Inline returned bindings
* Increase Windows main thread stack size to 2mb
* test(cli-inst-interactive): migrate to `.expect()` APIs
* Unset RUSTUP_AUTO_INSTALL for tests
* test(cli-paths): migrate to `.expect()` APIs
* test(cli-exact): use the new `[CURRENT_VERSION]` redaction
* test(cli-self-upd): migrate to `.expect()` APIs
* Tweak list_items() docstring
* Leverage bool::then_some() to simplify some code
* Avoid intermediate allocation in listing
* test(custom-toolchains): `target list` now can display the installed targets
* feat(custom-toolchains): `target` and `component list` working on custom toolchains
* Skip manifest loading if there are no components/targets to check
* fix(deps): update rust crate opener to 0.8.0
* chore(deps): lock file maintenance
* rustup check: set exit status based on available updates
* rustup check: adopt no-self-update logic
* feat(self_update): add proxy sanity checks
* style(test): qualify uses of `snapbox::str![]`
* refactor(test): migrate some tests to `.expect()` APIs
* chore(test): deprecated old APIs overlapping with the new ones
* refactor(test): add new `.expect()`-based testing APIs
* test(custom-toolchains): using `show` on a custom toolchain without a `components` file
* test(custom-toolchains): add test to showcase that the issue was solved
* feat(custom-toolchains): `rustup show` now reporting installed targets
* tests: print diffs on test failures
* Log versions during self updates
* chore(deps): lock file maintenance
* Fix cargo lints on Windows
* toolchain: hoist binary name conditionals out of fallback functions
* refactor(test): replace `TempDir::into_path()` with `TempDir::keep()`
* refactor(test/clitools): use globally-defined `tempdir_in_with_prefix()`
* chore(deps): lock file maintenance
* feat(toolchain): notify the user when proxy fallback is activated
* feat(toolchain): consider external `rust-analyzer` when calling a proxy
* refactor(toolchain): move predicates into `Toolchain::maybe_do_cargo_fallback()`
* refactor(toolchain): privatize `Toolchain::maybe_do_cargo_fallback()`
* deps: update aws-lc-rs to 1.13.1
* docs(changelog): mirror changes from the release announcement, take 2
* chore(deps): lock file maintenance
* Wed Jul 08 2026 William Brown <william.brown@suse.com>
- Completely drop openssl to prevent future security issues
- Vulnerabilites that no longer apply:
- bsc#1270989 - CVE-2026-45784
- bsc#1270870 - CVE-2026-41898
- bsc#1270874 - CVE-2026-44662
- bsc#1270795 - CVE-2026-41681
- bsc#1270644 - CVE-2026-41678
- bsc#1270619 - CVE-2026-41677
- bsc#1270521 - CVE-2026-42327
- bsc#1270644 - CVE-2026-41678
* Tue Jul 07 2026 William Brown <william.brown@suse.com>
- bsc#1270186 - CVE-2026-41676 - update openssl to 0.10.78
* Wed Feb 11 2026 William Brown <william.brown@suse.com>
- bsc#1257902 - CVE-2026-25727 - rfc 2822 format parsing may lead to stack exhaustion.
* Wed Sep 10 2025 William Brown <william.brown@suse.com>
- bsc#1249008 - CVE-2025-58160 - update tracing-subscriber
* Thu Jul 17 2025 William Brown <william.brown@suse.com>
- Delete obs cpio archive
* Thu Jun 12 2025 William Brown <william.brown@suse.com>
- bsc#1243862 - CVE-2024-12224 - idna accepts invalid punycode
- bsc#1230032 - GHSA-r7qv-8r2h-pg27 - shlex quote api
* Sun Jun 08 2025 Andrea Manzini <andrea.manzini@suse.com>
- Update to version 1.28.2~0:
* Deprecate native-tls as well
* Enable HTTP/2 support for reqwest download backend
* Emit tracing events from log facade calls
* download: show Debug representation for errors
* Avoid repeated globals in tracing events
* Log original download errors immediately
* feat(cli/rustup-mode): add aliases to `rustup component remove`
* Switch flate2 to use the zlib-rs backend
* Hardlink proxies if symlinks aren't reachable
* Add powerpc64le-unknown-linux-musl support
* Add toolchain_name to not installed bail msg
* Warn about using curl
* Drop workspace indirection
* Fold download crate back into rustup
* download: merge integration test files
* chore(deps): lock file maintenance
* Test CARGO environment replacement
* Update CARGO env var if it is a rustup proxy
* chore(deps): lock file maintenance
* Tweak toolchain subcommand help text
* Move toolchain and default commands first
* show toolchain paths in rustup show -v output
* refactor(cli/self-update): save allocations in `Nu::rcfiles()`
* fix(cli/self-update)!: stop appending to `env.nu` due to deprecation
* fix(cli/self-update): consider Windows paths in Nushell suggestions
* refactor(cli/self-update): use `path add` in `env.nu` template
* fix(cli/self-update): use interpolated string in `env.nu` template
* Upgrade dependencies
* docs(user-guide/environment-variables): document `RUSTUP_VERSION`
* feat(rustup-init/sh): allow setting `RUSTUP_VERSION` during installation
* feat(cli/self-update): allow setting `RUSTUP_VERSION` for arbitrary
downgrades
* feat(test/clitools): add `Config::expect_ok_ex_env()`
* fix(errors)!: improve error messages for `RustupError::ToolchainNotInstalled`
* Add set auto-install disable
* Use `cursor: pointer` for copy button on website
* fix(dist): refine suggestions about missing targets
* Append Windows bin directory to PATH by default
* Remove validation for custom toolchains when reading rust-toolchain.toml
* document RUSTUP_AUTO_INSTALL
* Fix build script `cargo` instructions
* Wed May 07 2025 William Brown <william.brown@suse.com>
- bsc#1242617 - CVE-2025-3416 - openssl use after free
* Tue Mar 25 2025 william.brown@suse.com
- Update to version 1.28.1~0:
* dist(rustup-init/sh): update commit shasum
* Update changelog for 1.28.1
* fix!(config): re-enable implicit toolchain installation in `Cfg::local_toolchain()` with optional opt-out
* refactor(test/clitools): extract `Config::expect_err_env()`
* Use relative symlinks when possible
* dist(rustup-init/sh): update commit shasum
* docs: update CHANGELOG for v1.28.1 release
* fix!(config): re-enable active toolchain installation in `Cfg::find_active_toolchain()` with optional opt-out
* config: make Config::find_active_toolchain() async
* Use terse output for rustup show active-toolchain
* Use read_timeout for reqwest instead of timeout
* chore(deps): lock file maintenance
* test: turn set_current_dist_date() into a Config method
* test: privatize clitools module
* test: remove function wrappers for cmd() and env()
* test: privatize mock module
* test: move create_mock_dist_server() to Scenario::write_to()
* test: move Release into dist
* test: turn channel builders into constructors
* test: move mock channel builders into dist
* test: move arch consts into top-level module
* test: turn build_*_installer() functions into constructors
* test: move installer builders into mock module
* test: privatize items in clitools
* test: keep Config impl close to type definition
* test: privatize dist module
* test: privatize items in test::dist
* test: inline short module topical_doc_data
* Remove level of nesting in test module
* dist(rustup-init/sh): update commit shasum
* Tweak SanitizedOutput style
* docs: update `CHANGELOG` for v1.28.0 release
* Have mocked cargo better adhere to cargo conventions
* Do not append `EXE_SUFFIX` in `Config::cmd`
* Add `TryFrom<Output>` for `SanitizedOutput`
* refactor(test): replace `(before|after)_test_async()` with `TestProcess::_telemetry_guard`
* style(rustup-init): reorganize imports
* refactor(log): introduce `GlobalTelemetryGuard`
* refactor(process): rename `TestProcess::_guard` to `_tracing_guard`
* chore(deps): update opentelemetry
* fix(deps): update rust crate windows-registry to 0.5.0
* chore(deps): lock file maintenance
* refactor: improve binary suffix stripping
* build: bump the codebase Language Edition to 2024
* style(cli/job): fix `unsafe-op-in-unsafe-fn`
* style(cli/log): use precise capturing when necessary
* chore: use unsafe versions of `(add|remove)_var()`
* style: remove redundant `ref` keywords
* style: partially migrate away from `if-let`
* style: format sources with the 2024 Style Edition
* chore: fix new `clippy` warnings
* fix(deps): update rust crate pulldown-cmark to 0.13
* chore(deps): lock file maintenance
* feat(rustup-init/sh): add env var to print arch detection result
* refactor(component): reduce allocations in `ComponentPart::encode()`
* refactor(component)!: extract `ComponentPartKind`
* style(component): reduce right drift in `ComponentPart::decode()`
* refactor(component)!: turn `ComponentPart`'s fields into named ones
* fix(dist/prefix): normalize path separators in `REL_MANIFEST_DIR`
* fix(component): normalize path separators during `ComponentPart::(en|de)code()`
* chore(deps): lock file maintenance
* chore(deps): lock file maintenance
* Upgrade to rand 0.9
* chore(deps): lock file maintenance
* fix(ci/doc): fix typo in renovate `datasource`
* ci(doc): make `renovatebot` bump locked `mdbook`
* ci(doc): pin `mdbook` to `0.4.43`
* chore(deps): lock file maintenance
* ci(schedule): run cron tasks more times per week
* ci(schedule): promote to use the `stable` job list
* ci(doc): fix stable build of `user-guide`
* ci(linux): enable the full test suite for `aarch64-unknown-linux-gnu`
* ci(linux): use public ARM64 Linux runners
* ci(deploy-docs): merge with `test-docs`
* ci(deploy-docs): enable on PR without uploads
* ci(deploy-docs): build one book per workflow step
* ci(deploy-docs): install `mdbook` with `install-action`
* Change installation of dependencies for Aarch64 Dockerfile
* Run Aarch64 jobs on PRs
* Use ARM based runners for ARM CI targets
* chore(deps): lock file maintenance
* style: fix `clippy` warnings
* docs(user-guide/components): add deprecation notice for `wasm32-wasi`
* Update Windows dependencies
* feat(cli/rustup-mode)!: simplify error message for `rustup show active-toolchain`
* fix(cli/rustup-mode): make `rustup show active-toolchain` exit with `1` when none is active
* fix(cli/rustup-mode): make `rustup default` exit with `1` when there's no default
* chore(deps): lock file maintenance
* fix(cli/rustup-mode)!: change `rustup doc --error_codes` to `--error-codes`
* fix(deps): update rust crate itertools to 0.14
* fix(cli): align `rustup show`'s `--verbose` behavior with `rustup show active-toolchain`
* feat(cli): show the toolchain path with `rustup show active-toolchain --verbose`
* feat(test): accept more than one args in `for_host*!()`
* chore(deps): lock file maintenance
* fix(ci): fix installation of `cargo-all-features`
* docs(user-guide/installation): update "General tips"
* chore(deps): lock file maintenance
* move deps around
* fix(deps): update rust crate rustls-platform-verifier to 0.5
* fix(rustup-init/sh): don't emit "unknown macOS major version" for macOS v11+
* refactor(rustup-init/sh): extract `$_os_major`
* refactor(rustup-init/sh): extract `$_os_version`
* ci(linux): move `bindgen-cli` installation into `run.bash`
* ci(stable): enable `loongarch64-unknown-linux-musl` builds
* ci(linux): disable `reqwest-rustls-tls` for unsupported platforms
* ci(linux): configure `gcc-multilib` and `libclang` for some *nix builds
* chore(deps): bump `aws-lc-rs` and `aws-lc-sys`
* download: clean up TLS feature guards
* download: simplify feature guards
* download: attach download functions to Backend type
* download: remove intermediate reqwest-backend feature
* Implement more complete backend selection
* Simplify logic for download backend notification
* chore(deps): lock file maintenance
* chore(deps): lock file maintenance
* docs(dev-guide/tracing): make "Adding instrumentation" a level-2 title
* ci(windows): don't install `awscli` via `choco`
* test(mock/topical-doc-data): add test cases with both a flag and a topic
* refactor(test/mock): use tuples for `topical_doc_data::TEST_CASES`
* feat(cli/rustup-mode): allow `rustup doc` with both a flag and a topic
* refactor(toolchain): allow passing a fragment in `Toolchain::doc_path()`
* refactor(toolchain): allow absolute paths in `Toolchain::doc_path()`
* refactor(toolchain): simplify `Toolchain::doc_path()`
* refactor(cli/rustup-mode): rename `doc_url` to `doc_path`
* refactor(cli/rustup-mode): make `DocPage::path()` return `Option<&Path>`
* refactor(cli/rustup-mode): move `DocPage::name()` to a separate `impl` block
* refactor(cli/topical-doc): clean up some funtions
* refactor(cli/rustup-mode): use early return in `doc()`
* chore(deps): lock file maintenance
* Update semver-compatible dependencies
* fix: make sure no overflow on small screens
* feat: make the box white
* feat: use the color form the rust website for tags, hr and copy button
* Add the main element and header to setup new layout
* chore: remove the old pitch first
* Apply clippy suggestions
* Append to 1.28.0 changelog
* Bump version, commit and date in rustup-init.sh
* Clean up trailing whitespace in rustup-init.sh
* Add changelog for 1.28.0
* Bump version to 1.28.0
* chore(deps): lock file maintenance
* chore(deps): update remove-dir-all to 1.0
* Add aliases for remove/uninstall/unset commands
* feat: add nushell support
* Upgrade to opentelemetry 0.27
* fix: add missing close body tag
* Upgrade thiserror to 2
* Upgrade to rustls-platform-verifier 0.4
* chore(deps): lock file maintenance
* fix(cli/rustup-mode): remove `.num_args()` when `.value_delimiter(',')` is present
* refactor(cli/rustup-mode): remove deprecated `.use_value_delimiter()`
* chore(config): migrate config .github/renovate.json
* docs: update channel toolchain syntax
* feat(cli/rustup-mode): support more books in `rustup doc`
* style(cli/rustup-mode): reorder items in `docs_data![]`
* fix: add powerpc64 and s390x to known target_arch values for tests
* chore(deps): lock file maintenance
* style(utils): put the `mod` declarations below the imports
* style: regroup some imports
* refactor(utils): hoist `utils::utils` into `utils`
* feat(rustup-init): detect and warn about existing `settings.toml`
* fix: fix typo in `check_existence_of_rustc_or_cargo_in_path()`
* style: allow using `dbg!()` across `rustup::test`
* refactor(diskio): replace `eprintln!()` with `debug!()`
* style: enable `clippy::(dbg_macro|todo)` across the workspace
* style: enable `clippy::print_std(err|out)` when applicable
* style: introduce workspace-wide lint tables
* build: use `workspace.package` properties in `Cargo.toml`
* fix(config): improve error when overridden active custom toolchain isn't installed
* fix(config): print special error for invalid toolchain name in override file
* Update semver-compatible dependencies, except openssl-src
* style(rustup-init/sh): ignore `shellcheck` SC2086 false positives
* chore(deps): lock file maintenance
* fix(rustup-init/sh): fix incorrect TLS warning with curl v8.10
* chore(deps): update opentelemetry
* Update semver-compatible dependencies
* tests: rust-toolchain + profile in settings
* chore(deps): lock file maintenance
* Remove unnecessary methods
* replace `winreg` dependency
* Update remove_dir_all
* Update semver-compatible dependencies
* refactor(cli/common)!: deny installing a host-incompatible toolchain w/o `--force-non-host`
* refactor(cli/common)!: take in `toolchain: String` in `warn_if_host_is_incompatible()`
* feat(cli/rustup-mode): add `--force-non-host` to `rustup default`
* refactor(config)!: pass the `force_non_host` flag to `Cfg::ensure_installed()`
* refactor(cli/rustup-mode): rename `forced` to `force_non_host`
* docs(README): Point out where to find nightly/master docs.
* Note that selecting VS lang packs is optional
* Make symlink_or_hardlink_file remove dest
* Try symlinking proxies first
* Update semver-compatible dependencies, except openssl-src
* chore(deps): update opentelemetry
* Update semver-compatible dependencies, except openssl-src
* Apply clippy suggestions from 1.81
* feat(cli/rustup-mode)!: set log level to `INFO`/`DEBUG` on `--quiet`/`--verbose` if `RUSTUP_LOG` is unset
* refactor(cli/setup-mode): extract `update_console_logger()`
* fix(cli/setup-mode): simplify description for `--quiet`
* feat(cli/setup-mode)!: set log level to `DEBUG` on `--verbose` if `RUSTUP_LOG` is unset
* refactor(common)!: remove `verbose` flag in several places
* refactor(config): simplify `find_or_install_active_toolchain()`
* refactor(config)!: return `LocalToolchainName` from `find_or_install_active_toolchain()`
* refactor(config): simplify `resolve_toolchain()`
* refactor(config): simplify `toolchain_from_partial()`
* chore(deps): lock file maintenance
* chore(triage): allow transferring issues to other org repos
* chore(deps): lock file maintenance
* Allow `rustup doc` to search for unions
* docs(user-guide): add a link to the latest "Previous components" section
* test(cli_v2): introduce `update_removed_component_toolchain()`
* feat(dist): add notes for `stable` and `beta` in `components_missing_msg()`
* refactor(dist): inline some const strings in `components_missing_msg()`
* refactor(dist): extract "nightly tips" out of the match block in `components_missing_msg()`
* fix: fix typo in several places
* Upgrade pulldown-cmark to 0.12
* fix(manifest): consider possible renames in `Component::try_new()`
* chore(deps): lock file maintenance
* ci(macos): install `awscli` from `brew`
* chore(deps): lock file maintenance
* refactor(config)!: make `toolchain_from_partial()` sync
* feat(config)!: remove implicit installation from `toolchain_from_partial()`
* refactor(config)!: make `resolve_toolchain()` sync
* feat(config)!: remove implicit installation from `resolve_toolchain()`
* test(cli-rustup): remove `heal_damaged_toolchain()`
* refactor(config): extract `local_toolchain()` from `resolve_local_toolchain()`
* refactor(config): extract `toolchain` variable from `resolve_local_toolchain()`
* refactor(config)!: make `resolve_local_toolchain()` sync
* feat(config)!: remove implicit installation from `resolve_local_toolchain()`
* refactor(config)!: rename `local_toolchain()` to `resolve_local_toolchain()`
* feat(rustup-mode): install the active toolchain by default on `rustup toolchain install`
* fix(rustup-mode): adjust descriptions for `rustup toolchain uninstall`
* feat(rustup-mode)!: add `ensure_active_toolchain` flag to `update()`
* feat(config)!: add `verbose` flag to `find_or_install_active_toolchain()`
* style(config): replace `dist::Profile` with `Profile`
* style(config): replace `dist::TargetTriple` with `TargetTriple`
* fix(config): call `warn_if_host_is_incompatible()` in `ensure_installed()`
* refactor(common): use early return in `warn_if_host_is_incompatible()`
* refactor(rustup-mode): extract `warn_if_host_is_incompatible()`
* style(common): merge imports
* refactor(distributable)!: avoid unnecessary clones
* refactor(distributable)!: replace `install_if_not_installed()` with `ensure_installed()`
* feat(config)!: add `verbose` flag to `ensure_installed()`
* feat(config)!: return `UpdateStatus` from `ensure_installed()`
* feat(config)!: use `Cfg::get_profile()` for unspecified profile in `ensure_installed()`
* chore(config): add `#[tracing::instrument]` to `ensure_installed()`
* chore(deps): lock file maintenance
* ci(freebsd): fix build failure related to `aws-lc`
* ci(windows): don't install OpenSSL via `choco`
* ci(run): remove redundant `if` predicate
* ci(run): use the detected number of test threads
* feat(download/rustls): use `aws-lc` instead of `ring`
* style(taplo): enable `reorder_keys` for `*dependencies` in `Cargo.toml`
* Upgrade windows-sys to 0.59
* fix: fix unreachable code lints on Android
* docs(dev-guide): remove descriptions of `rustup_macros`
* docs(dev-guide): update description of `rustup::process`
* Remove `once_cell` dependency
* docs(dev-guide): add guideline for atomic commits to the developer guide
* chore(deps): lock file maintenance
* chore(deps): lock file maintenance
* fix: fix `clippy` lints
* docs(user-guide): use `brew install rustup` instead of `rustup-init`
* Bump fs_at to 0.2.1
* chore(deps/renovate): disable `automerge`
* Upgrade to opentelemetry 0.24
* chore(deps): lock file maintenance
* build(windows): don't link against `powrprof`
* build(windows): fix typo in `build.rs`
* fix(utils): make `ExitCode` `#[must_use]`
* refactor(rustup-mode): introduce `ExitCode::bitand*()`
* fix(rustup-mode): return `ExitCode(1)` when `update()` fails
* refactor(rustup-mode)!: remove redundant `ExitCode` in `self_update()`'s callback
* test(cli-misc): simplify `version_mentions_rustc_version_confusion()`
* fix(rustup-mode): refine output for `rustup --version`
* fix(rustup-mode)!: don't install toolchain on `rustup --version`
* chore(deps/renovate): update `automerge` schedule for `lockFileMaintenance`
* chore(deps): lock file maintenance
* chore(deps): lock file maintenance
* ci(check): add `taplo fmt` test for TOMLs
* style: reformat all TOMLs with `taplo`
* ci(gen-workflows): remove `--quiet` from `git diff`
* refactor: use `#[cfg()]` instead of `cfg!()` when possible
* refactor(self-update): remove outdated `do_pre_install_sanity_checks`
* Add help message for missing toolchain
* Rename OSProcess to OsProcess
* Rename currentprocess to process
* Forward to Process::var_os() directly
* Fix home_dir() and current_dir() regression
* feat(log): set level of `#[tracing::instrument(err)]` to `TRACE`
* feat(log): unhide `tracing::instrument` from behind `feature = "otel"`
* ci(windows): increase stack size to 16MiB
* Upload Windows artifacts into correct subdirectory
* Fix uploading of Windows build artifacts
* Prepare deployment on master branch
* Grant GitHub Actions workflows access to OIDC token
* chore(deps): update aws-actions/configure-aws-credentials action to v4
* Authenticate CI uploads with OIDC
* Upload release artifacts to new S3 bucket
* chore(deps/renovate): set `prCreation` to `immediate`
* chore(deps): lock file maintenance
* feat(dist): refine suggestions regarding manifest checksum mismatches
* refactor(config): extract `dist_root_server()`
* refactor(dist): use `let-else` in `dl_v2_manifest()`
* refactor(dist/notifications)!: inline usages of `Notification::ManifestChecksumFailedHack`
* refactor(install): avoid extra clone in `InstallMethod::install`
* Reorder operations in order to simplify
* Deduplicate handling of environnment variables
* Move if_not_empty() to calling module
* feat(cli): warn when removing the default/active toolchain
* feat(cli): improve warning when removing the last/host target for a toolchain
* docs(ci): simplify the target policy in the README
* Add loongarch64-unknown-linux-musl support
* fix(download): fix build error with `--no-default-features --features=curl-backend`
* feat(rustup-init): set log level to `WARN` on `-q` if `RUSTUP_LOG` is unset
* implements quiet flag in `rustup-init.sh`
* test(manifestation): introduce and migrate tests to `TestContext`
* chore(manifestation): organize imports
* chore(deps): lock file maintenance
* chore(deps): lock file maintenance
* chore(deps): lock file maintenance
* add regression tests for smart guess
* apply smart guess to `rustup update/uninstall self`
* Disable automatic self updates in CI environments
* feat(download/rustls): use `rustls-platform-verifier`
* ci(windows): run `cargo all-features`
* fix(self-update/windows): address some `unused_imports` warnings
* fix(rustup-mode): improve `clap` error format
* Add period in warning while checking existing rust installations
* Move Windows-only test code into windows module
* Asyncify CLI tests
* Use guard type to replace with_saved_path()
* Refactor test registry state to be more type safe
* Inline single-use with_saved_global_state() function
* Privatize with_saved_global_state()
* Move change_dir() into CliTestContext
* Move with_update_server() into CliTestContext
* Remove Config::with_scenario()
* Port cli_v2 to CliTestContext
* Port cli_v1 to CliTestContext
* Port cli_self_upd to CliTestContext
* Port cli_rustup to CliTestContext
* Port cli_paths to CliTestContext
* Port cli_misc to CliTestContext
* Port cli_inst_interactive to CliTestContext
* Port cli_exact to CliTestContext
* Use CliTestContext directly in self_update_setup()
* Start CliTestContext type wrapper
* docs(dev-guide/tracing): mention `RUSTUP_LOG` and console-based tracing
* docs(dev-guide/linting): improve wording
* test(dist): add simple tests for `PartialVersion`
* chore(dist): add some doc comments
* fix(dist): throw an error when a `PartialVersion` string doesn't start with an ASCII digit
* ci(all-features): add `-D warnings` to `cargo check-all-features`
* fix(currentprocess/filesource): address some `unused_imports` warnings
* fix(currentprocess): address some `unused_imports` warnings
* fix(regex): replace `\d` to `[0-9]` to avoid matching non-ASCII digits
* refactor(toolchain/names): replace `toolchain_sort` with `ToolchainName`'s `Ord` instance
* refactor(dist)!: make `ToolchainDesc.channel` more strongly typed
* Remove unnecessary lint suppressions
* Use local suppression for clippy::too_many_arguments
* Rename desc fields to toolchain
* Remove intermediate state from error handling
* Remove indirection in update error handling
* Inline wrapper function
* Reduce rightward drift
* Propagate use of DistOptions
* Avoid unnecessary unwrapping
* Extract struct from InstallMethods::Dist variant
* refactor(log): replace the `TELEMETRY_DEFAULT_TARCER` singleton with a function
* test(clitools): revive `run_inprocess()`
* fix(dist/arm): don't assume `armv7` if `/proc/cpuinfo` is unavailable
* fix(dist): add fallbacks to `/proc/self/exe` in `rustup-init.sh`
* Rename default-tls to native-tls
* Inline small errors module
* Inline addition/removal to programs
* Move windows-only self_update code into windows module
* Reorganize platform-dependent imports in self_update
* refactor(log): replace `[Ww]arning:` log line prefix with `warn:`
* refactor(log): rename `NotificationLevel::Debug` to `Trace` and `Verbose` to `Debug`
* Remove unused code
* Hoist Toolchain up into top-level toolchain module
* Remove unused derived sorting implementations
* Privatize internal organization of toolchain module
* Inline argument
* Inline trivial wrapper
* Move toolchain resolution into Cfg method
* Check settings version on Cfg construction
* Move proxy toolchain resolution logic into Cfg method
* Move rustc_version() function into Cfg
* Expose higher-level interface in Toolchain
* Move DistributableToolchain::installed_paths() into Cfg
* No need to store cfg in DistributableToolchain
* Reduce indirection in Cfg::from_partial()
* Move Toolchain::from_partial() to Cfg
* Take owned LocalToolchainName in Toolchain::from_local()
* Simplify Toolchain::from_local()
* refactor(dist): hoist `dist::dist` into `dist`
* refactor(dist): privatize imports from `dist::dist`
* Fix the `TODO` in `src\toolchain\toolchain.rs`
* Use tracing macros directly
* Inline single-caller maybe_trace_rustup()
* Remove rustup test wrapper macros
* Use tokio::main attribute
* Attach Process-dependent utils to Process
* Remove with_runtime()
* fix(config): fix typo in `ActiveReason`
* fix(log): use `RUSTUP_LOG` for internal `tracing` instead of `RUST_LOG`
* refactor(currentprocess): make use of `Arc::default()`
* refactor(currentprocess): rename `TestProcess.guard` to `_guard`
* Remove currentprocess::with()
* Privatize most TestProcess fields
* Remove unused TestProcess::id
* Pass Process around explicitly
* Let argument parser handle SelfUpdateMode conversion
* Let argument parser handle Profile conversion
* Use simpler form for string concatenation
* Reduce rightward drift by duplicating some Ok-wrapping
* Rename _install_selection() to IInstallOpts::install()
* Inline async closure
* Move error mapping out of validation function
* Rename do_pre_install_options_sanity_checks() to InstallOpts::validate()
* Rename customize_install() to InstallOpts::customize()
* Pass InstallOpts around directly
* refactor(terminalsource): use `.eq_ignore_ascii_case()` in `ColorableTerminal::new`
* chore(notify): sort logging macros and `NotificationLevel` on verbosity
* chore(env): retire `RUSTUP_DEBUG` in favor of `RUST_LOG`
* feat(log): make `console_logger()` accept `RUSTUP_TERM_COLOR` and `NO_COLOR`
* refactor(log): reimplement `log` using `tracing`
* refactor(test): clean up `before_test_async()`
* chore(deps): make `tracing-subscriber` a hard requirement
* refactor(test): setup `tracing` subscriber in `before_test_async()`
* test(clitools): disable `run_inprocess()`
* refactor(test): execute all `#[rustup_macros::unit_test]`s within a `tokio` context
* refactor(log): extract `telemetry()`
* Remove noop functions in favor of conditional compilation
* Avoid trivial wrapper functions
* Store process name in error variant directly
* Inline trivial wrapper function
* Fix misleading "uninstalled toolchain" notification
* refactor(ci/run): use more `target_cargo()` in `run.bash`
* Remove trivial new() implementation
* Use serde to encode/decode mock manifests
* Use serde to encode/decode rustup manifests
* Use serde to encode/decode config
* Represent config version as an enum
* Use serde to encode/decode manifests
* Represent manifest version as enum
* Use serde to encode/decode settings
* Add tests for settings encoding
* Derive Default for Settings
* Represent metadata version as an enum
* Use Default impl for Settings::profile default
* Derive Default for Profile
* Discard unnecessary layer of Arc
* Externalize wrapping of DownloadTracker
* Inline NotifyOnConsole
* Internalize interior mutability for Notifier
* Decouple Cfg from Notifier initialization
* fix(dist/triple): ensure `dist::triple::known` is up to date with `platforms`
* refactor(toolchain): reuse `dist::triple::known` in `toolchain::names`
* refactor(dist/triple): move known triples to `dist::triple::known`
* refactor(build): use `platforms` to verify `RUSTUP_OVERRIDE_BUILD_TRIPLE`
* refactor(build): simplify the code obtaining the current triple
* feat(cli): add `--quiet` to `rustup (target|component) list`
* feat(cli): add `--quiet` to `rustup toolchain list`
* Inline trivial single-use function utils::to_absolute()
* Inline trivial single-use function Cfg::which_binary()
* Inline short single-use function direct_proxy()
* Rename new_toolchain_with_reason() to Toolchain::with_reason()
* Move Cfg::maybe_do_cargo_fallback() to Toolchain
* Move Cfg::create_command_for_toolchain() to Toolchain::command()
* Extract common usage of Cfg::create_command_for_toolchain()
* Inline trivial single-use function Cfg::create_command_for_dir()
* Inline simple function Cfg::create_command_for_toolchain()
* Move toolchain construction out of Cfg::create_command_for_toolchain()
* Inline single-use function
* Improve error message for failing .rustup creation
* Inline trivial single-use function
* Inline trivial single-use function
* Inline utils::current_dir()
* Take explicit current_dir argument in to_absolute()
* Pass current_dir down from main()
* Update rustup.rs website to offer Rustup on Windows on Arm
* Use Cfg::current_dir in override_remove()
* Use Cfg::current_dir in override_add()
* Use Cfg::current_dir in find_or_install_active_toolchain()
* Use Cfg::current_dir for create_command_for_dir()
* Use Cfg::current_dir for find_or_install_active_toolchain()
* Store current_dir in Cfg for use in find_active_toolchain()
* Enable building Rustup win-aarch64 on PR
* Add aarch64-apple-darwin and aarch64-pc-windows-msvc to cloudfront-invalidation.txt
* Update Other installation methods page to include aarch64-pc-windows-msvc
* Remove unnecessary trait abstraction
* Simplify process access to current_dir
* Simplify process access to environment variables
* Remove unnecessary trait bound for home::Env
* Simplify process access to pid
* Simplify process access to stdin
* Simplify process access to stderr
* Simplify process access to stdout
* Simplify process access to argument iterator
* fix(download): work around `hyper` hang issue by adjusting `reqwest` config
* test(download): fix clippy warnings regarding `Mutex` in `async`
* test(dist): add regression tests for parsing beta versions with tags
* test(dist): introduce scenario `BetaTag` with mock test data
* feat(dist): add support for parsing beta versions with tags in the toolchain
* refactor(utils): move `run_future()` under `manifestation`
* feat(config): make `create_command_for_toolchain()` async
* refactor(config): make `update_all_channels()` async
* refactor(self_update): make `maybe_install_rust()` async
* refactor(config): make `ensure_installed` async
* fix expected path-separators on windows
* add a regression test
* consistently add context with file path when parsing fails
* ci(windows/gnu): install `mingw` via `bwoodsend/setup-winlibs-action`
* ci(windows): enable CI on `x86_64-pc-windows-gnu`
* Make manifestation test update_from_dist async
* Make update async
* Make default_ async
* Make check_updates async
* Make target_add async
* Make target_remove async
* Make component_add async
* Make component_remove async
* Make update_all_channels async
* Make toolchain_link async
* Make override_add async
* Make DistributableToolchain::remove_component async
* Make DistributableToolchain::add_component async
* Make DistributableTool::install_if_not_installed async
* Make DistributableToolChain::install async
* Make toolchain.update async
* Make update_extra async
* Make show_dist_version async
* Make InstallMethod::install async
* Make InstallMethod::run async
* Make update_from_dist async
* Make update_from_dist_ async
* Make try_update_from_dist_ async
* Make update_v1 async
* Make dist::dl_*_manifest async
* Make common::self_update async
* Make manifestation::update async
* Make download retries async
* Make DownloadCfg::download_and_check async
* Make DownloadCfg::download_hash async
* Make self_update::update async
* Make check_rustup_update async
* Make prepare_update async
* Make get_available_rustup_version async
* Make setup_mode::main async
* Make self_update::install async
* Make try_install_msvc async
* Make download_file async
* Make DownloadCfg::download async
* Make download_file_with_resume async
* Make download_file_ async
* Make download_to_path_with_backend async
* Make download_with_backend async
* Make rustup_mode::main async
* Convert run_rustup_inner to async
* Make run_rustup async
* Remove maybe_trace_rustup runtime setup
* Make maybe_trace_rustup async
* Convert main to using a tokio runtime always
* chore(deps): update opentelemetry
* Ring 0.17.x support Windows on ARM
* ci(macos): use `macos-latest` instead of `macos-14`
* chore(deps): lock file maintenance
* fix(deps): update rust crate itertools to 0.13
* fix(deps): update rust crate pulldown-cmark to 0.11
* chore(deps): lock file maintenance
* Inline trivial single-use function
* Inline trivial single-use function
* Avoid unnecessary allocations
* Inline trivial single-use function
* Inline trivial single-use function
* Attempt to reduce duplication by adding a little abstraction
* Move explicit_desc_or_dir_toolchain() to Toolchain::from_partial()
* Inline trivial single-use function
* Inline trivial single-use function
* Inline single-use function
* Propagate ExitStatus instead of custom ExitCode
* Inline single-use function
* Use precise internal imports
* Inline trivial single-use function
* Use idiomatic way to proxy str data
* Inline trivial single-use function
* Inline RustupSubcmd::dispatch()
* refactor(filesource): replace repetitive `#[cfg()]` usages with a new `mod`
* Fix ETA display after regression
* Stop showing ETA after download is complete
* refactor(cli): hoist the `handle_epipe()` call out of the `match`
* refactor(cli): rewrite `rustup` itself with `clap-derive`
* refactor(cli): rewrite `rustup (self|set)` with `clap-derive`
* refactor(cli): rewrite `rustup (man|completions)` with `clap-derive`
* refactor(cli): rewrite `rustup doc` with `clap-derive`
* refactor(cli): rewrite `rustup (run|which|dump-testament)` with `clap-derive`
* refactor(cli): rewrite `rustup override` with `clap-derive`
* refactor(cli): rewrite `rustup component` with `clap-derive`
* refactor(cli): rewrite `rustup target` with `clap-derive`
* refactor(cli): rewrite `rustup (check|default)` with `clap-derive`
* refactor(cli): rewrite `rustup (toolchain|update|(un)?install)` with `clap-derive`
* refactor(cli): remove `deprecated()`
* refactor(cli): rewrite `rustup show` with `clap_derive`
* fix(rustup-init): fix typo in `rustup-init[.sh]` args
* feat(download): reflect the download/TLS backends in the user agent
* Make find_override_from_dir_walk return OverrideCfg
* Make settings file allow multiple borrows
* Fix doc error with `rust-toolchain.toml` custom TC
* Make `rustup default` not error if no default
* Update format of `toolchain list`
* Update format of `show` and `show active-toolchain`
* Redesign OverrideCfg to be more type-driven
* Pull match statement out in OverrideCfg::from_file()
* Change find_override to find_active_toolchain
* Pull out `new_toolchain_with_reason()`
* Pull out `ensure_installed()`
* refactor(cli): reorder `if` statement in `cli::setup_mode::main()`
* refactor(cli): rewrite `rustup-init` with `clap_derive`
* Avoid code duplication for printing target/component items
* Deduplicate code to get components from distributable
* Merge list_{,installed_}targets
* Merge list_{,installed_}components functions
* fix(filesource): make some constructs only available via the `test` feature
* fix(ci/freebsd): install ca certs to prevent `invalid peer certificate: UnknownIssuer`
* feat(download-backend)!: make `reqwest/rustls` the new default
* feat(download-backend)!: refine selection logic
* chore(deps): lock file maintenance
* Update MSVC requirements to VS 2017 to match Rust repo
* refactor(download): use `DownloadCallBack` in `download_with_backend()`
* ci: don't build for `i686-linux-android` due to OpenSSL v3 atomic issues
* ci(android): update NDK version
* fix(deps): update rust crate openssl-src to v300
* ci(linux-gnu): install `perl-IPC-Cmd` to make OpenSSL v3 happy
* chore(deps): update ubuntu docker tag to v24
* docs(dev-guide): remove “pushing to master” in the release process
* Replace remaining winapi usage with windows-sys
* Wed Sep 04 2024 william.brown@suse.com
- bsc#1230032 - RUSTSEC-2024-0006 - rust-shlex: Multiple issues involving quote API
- Update to version 1.27.1~0:
* chore(dist): update commit shasum in `rustup-init.sh`, take 2
* fix(ci/linux): don't use `pip3` to install `awscli`
* fix(ci/macos): don't use `pip3` to install `awscli`
* chore(dist): update commit shasum in `rustup-init.sh`
* docs: update CHANGELOG for v1.27.1
* feat(dist): improve `changelog_helper` script
* dist: bump `rustup` version to `1.27.1`
* chore: fix some typos in comments
* Remove TryFrom<PartialTargetTriple> for TargetTriple
* Add tests for add/remove components by name with target triple
* Replace Component::new_with_target by Component::try_new
* chore(deps): lock file maintenance
* refactor(self-update)!: remove confusing `get_path()` impl on Unix
* test(self-update): ensure the resolution of #3739
* feat(self-update): add `with_saved_reg_value()`
* refactor(self-update): extract `(get|restore)_reg_value()`
* refactor(self-update): extract `with_saved_global_state()`
* refactor(self-update): use `std::io`
* fix(self-update): replace some `#[cfg(not(unix))]` usages with `#[cfg(windows)]`
* feat(self-update): improve error messages on Windows
* fix(self-update): run `do_update_programs_display_version()` on `run_update()`
* refactor(self-update): extract `get_and_parse_new_rustup_version()`
* refactor(self-update): extract `do_update_programs_display_version()`
* ci: don't test for FreeBSD on PRs
* docs(user-guide): update `environment-variables`
* refactor(self-update): eliminate needless clone
* feat(self-update): log `RUSTUP_DIST_*` if it's set
* feat(self-update): log `RUSTUP_UPDATE_ROOT` if it's set
* refactor(self-update): rename `UPDATE_ROOT` to `DEFAULT_UPDATE_ROOT`
* refactor(self-update): extract `update_root()`
* once_cell only used with reqwest in download crate, so gate it
* tracing unsed only from otel feature, so move it to optional
* chore(deps): lock file maintenance
* Add loongarch64-unknown-linux-gnu to installation docs
* Add loongarch64-unknown-linux-gnu to cloudfront invalidations
* Use pattern matching to make Debug impl for Cfg more robust
* Use std IsTerminal interface
* Rename temp::Cfg to Context
* temp: keep definitions and impls together
* Remove derivative dependency in favor of manual implementation
* docs(dev-guide): move all mentions of `cargo clippy` to `linting.md`
* docs(dev-guide): mention that we need to keep mdBook links stable
* Update semver-compatible dependencies
* refactor(utils)!: rename `delete_dir_contents()` to `delete_dir_contents_following_links()`
* fix(utils): resolve input path in `delete_dir_contents()` if it's a link
* test(cli): ensure the resolution of #3344
* Revert "fix(utils): unlink input path in `delete_dir_contents()` if it's a link"
* Revert "refactor(utils)!: rename `delete_dir_contents()` to `delete_dir_contents_or_unlink()`"
* Revert "test(cli): ensure the resolution of #3344"
* test(cli): ensure the resolution of #3344
* refactor(utils)!: rename `delete_dir_contents()` to `delete_dir_contents_or_unlink()`
* fix(utils): unlink input path in `delete_dir_contents()` if it's a link
* test(cli): ensure the resolution of #3737
* refactor(util)!: rename `open_dir()` to `open_dir_following_links()`
* fix(utils): don't use `O_NOFOLLOW` in `open_dir()`
* chore: fix typo in `CHANGELOG`
* chore(meta): update `bug_report` issue template
* Add hr to Windows instructions
* fix(doc): don't show the opening message when --path is used
* chore: remove repetitive words
* fix(deps): update rust crate opener to 0.7.0
* fix(config): remove unnecessary debug print
* fix(ci): fix file paths in CI-generated `*.sha256` files on *nix
* chore(deps): lock file maintenance
* fix(ci): correct error message after bumping reqwest
* fix(deps): update rust crate reqwest to 0.12
* doc(dev-guide): Fix test Lint and add explanation
* Fix "component add" error message
* ci: use `stable` Rust for all clippy lints
* style: apply clippy suggestions from Rust 1.78.0
* fix(ci/windows): disable `cargo clippy` on `*-windows-gnu`
* fix(shell): create parent dir before appending to rcfiles
* fix(fish): fix definition of `Fish::update_rcs`
* docs(dev-guide): update `release-process.md` to match the new workflow based on GitHub Merge Queue
* ci(macos): add `MACOSX_DEPLOYMENT_TARGET` and friends
* Replaced `.` with `source` in fish shell's `source_string`
* Deny clippy warnings in CI
* Apply clippy suggestions
* Rely on implicit conversion to OperationResult
* Extract closure from match scrutinee
* fix(cli): fix incorrect color state after `ColorableTerminal::reset`
* docs: Add note about stability of llvm-tools.
* Change default for RUSTUP_WINDOWS_PATH_ADD_BIN
* ci: remove direct `renovate/*` tests
* chore(deps): lock file maintenance
* Fix dead_code and unused_imports warnings
* Fri Mar 15 2024 william.brown@suse.com
- Update to version 1.27.0~0:
* chore(dist): update commit shasum in `rustup-init.sh`
* docs: update `CHANGELOG` for v1.27.0
* hack(deps): pin `openssl-sys` to 0.9.92
* chore(deps): lock file maintenance
* fix #3663. Feedback in terminal when opening browser for docs
* Fix copy icon position in Safari
* Upgrade to opentelemetry 0.22
* fix ambiguous prompt after setting up custom installation
* docs: rephrase and split sentence about Visual Studio license
* Add comment on why we prefer symlinks to junctions
* Windows: Try using symlinks if they're allowed
* chore(ci): unify the matrix format to (mode, target)
* ci: update runners for macOS-related workflows
* docs: mention `apt` in installation methods
* docs: fix missing links in `CHANGELOG.md`
* chore(deps): update rust crate trycmd to 0.15.0
* fix(deps): downgrade `openssl-sys` to 0.9.92
* ci: remove the now-tier3 `mips*-unknown-linux-gnu*` targets from the build
* chore(deps): lock file maintenance
* Update mdbook and fix some source issues.
* Rename `.cargo/config` to `.cargo/config.toml`
* chore: update `CHANGELOG.md`
* dist: bump `rustup-init.sh` version to `1.27.0`
* dist: bump `rustup` version to `1.27.0`
* feat: introduce `changelog_helper` script
* Upgrade to pulldown-cmark 0.10
* Fix some typos
* fix(deps): update rust crate libc to 0.2.153
* Download rust CI Docker images from a registry
* Component is now named 'llvm-tools'
* chore: add docstring to `is_32bit_userspace()`
* chore: disable some unix-only helper functions on Windows
* chore(deps): lock file maintenance
* chore(deps): update actions/cache action to v4
* refactor(cli): simplify case splitting on `clap::error::ErrorKind`
* refactor(names): replace `maybe_official_toolchainame_parser` with `impl FromStr`
* refactor: simplify `is_proxyable_tools`
* refactor(distributable): import `ComponentStatus`
* refactor(cli): avoid nested combinators in `has_at_most_one_target`
* feat(cli): warn when removing the last/host target for a toolchain
* refactor(toolchain): extract `DistributableToolchain::components()`
* www: detect RISC-V 64 platform
* fix(deps): update rust crate strsim to 0.11
* chore(deps): update `renovate.json` to remove version bumps covered by lockfile maintenance PRs, take 3
* feat(ci): configure `merge_queue` to be a PR-like event
* feat(ci): enable the `merge_group` trigger
* fix(ci): use `github.event_name == 'schedule'` instead of `github.event.schedule`
* chore(deps): update `renovate.json` to remove version bumps covered by lockfile maintenance PRs, take 2
* fix(deps): update rust crate clap to v4.4.13
* fix(deps): update rust crate syn to v2.0.48
* chore(deps): update rust crate opentelemetry_sdk to v0.21.2
* fix(ci): use `github.event_name == 'push'` instead of `github.event.push`
* feat(ci): add CI workflow generation checks
* refactor(ci): disassemble and reorganize `ci/cirrus-templates`
* feat(ci): add `conclusion` job
* refactor(ci): move `freebsd-builds` to GitHub Actions
* refactor(ci): merge all current GitHub Actions workflows into `ci.yaml`
* chore(ci): clean up current CI files
* chore(deps): update `renovate.json` to remove version bumps covered by lockfile maintenance PRs
* fix(deps): update rust crate syn to v2.0.47
* fix(deps): update rust crate proc-macro2 to v1.0.75
* fix(deps): update rust crate clap_complete to v4.4.6
* fix(deps): update rust crate serde to v1.0.194
* fix(deps): update rust crate semver to v1.0.21
* chore(deps): update rust crate thiserror to v1.0.56
* chore(deps): update rust crate anyhow to v1.0.79
* fix(deps): update rust crate syn to v2.0.45
* fix(deps): update rust crate proc-macro2 to v1.0.73
* fix(deps): update rust crate syn to v2.0.44
* fix(deps): update rust crate quote to v1.0.34
* fix(deps): update rust crate proc-macro2 to v1.0.72
* chore(deps): update rust crate anyhow to v1.0.78
* chore(deps): update rust crate thiserror to v1.0.53
* fix(deps): update rust crate clap to v4.4.12
* chore(deps): update rust crate tempfile to v3.9.0
* fix(deps): update rust crate clap_complete to v4.4.5
* chore(deps): update rust crate anyhow to v1.0.77
* chore(deps): update rust crate thiserror to v1.0.52
* fix(deps): update rust crate syn to v2.0.43
* fix(deps): update rust crate openssl to v0.10.62
* fix(deps): update rust crate proc-macro2 to v1.0.71
* fix(deps): update rust crate syn to v2.0.42
* chore(deps): update rust crate anyhow to v1.0.76
* chore(deps): update rust crate hyper-util to v0.1.2
* chore(deps): update rust crate tokio to v1.35.1
* fix(deps): update rust crate reqwest to v0.11.23
* chore(deps): update rust crate hyper to v1.1.0
* docs: move "rls" and "rust-analysis" to separate section "previous…" (#3591)
* chore(deps): update actions/upload-artifact action to v4
* Fix rustup-init failure to read ZDOTDIR from zsh when SHELL is not zsh (#3584)
* chore(deps): lock file maintenance
* CI: Enable rustls on loongarch64
* CI: Revert "Disable openssl for loongarch64-unknown-linux-gnu"
* fix(deps): update rust crate openssl-src to v300.2.1+3.2.0
* fix(deps): update rust crate syn to v2.0.41
* chore(deps): lock file maintenance
* fix(deps): update rust crate syn to v2.0.40
* fix(deps): update rust crate libc to v0.2.151
* chore(deps): update rust crate once_cell to v1.19.0
* fix(deps): update rust crate clap to v4.4.11
* fix(deps): update rust crate openssl to v0.10.61
* Fix test permanently adding to PATH
* chore(deps): revert `Cargo.toml` bump in #3540
* chore(deps): revert `Cargo.toml` bump in #3532
* chore(renovate): prevent unnecessary `Cargo.toml` bumps
* Lock file maintenance
* Fix panic in `component list --toolchain stable`
* Lock file maintenance
* Upgrade hyper to 1.0 (#3543)
* Clarify several docs and help messages
* Remove rel paths from rust-toolchain.toml docs
* CI: Disable openssl for loongarch64-unknown-linux-gnu
* Update Rust crate url to 2.5
* Update Rust crate winreg to 0.52
* Lock file maintenance
* Update Rust crate windows-sys to 0.52.0
* Update Rust crate termcolor to 1.4
* Streamline dependencies in `Cargo.toml`
* Update opentelemetry
* [doc] windows.md: fix link
* Inline channel pattern list
* Remove unused import
* Explicitly import symbols
* Remove unused dependencies from macros crate
* Replace usage of lazy_static with once_cell
* Use more conventional field order in package table
* Remove authors from Cargo manifest (per RFC 3052)
* Update semver-compatible dependencies
* Use uniform dependency specification style
* Inline `semver::Version` in `toolchain_sort`
* Add docs specifying `toolchain_sort`'s expected behavior
* Change key used in `toolchain_sort`
* Inline `special_version` in `toolchain_sort`
* Inline `toolchain_sort_key` in `toolchain_sort`
* Replace `sort_by` with `sort_by_key` in `toolchain_sort`
* Refine `test_toolchain_sort`
* Suggest installing MSYS2 for `windows-gnu`
* Fix the test toolchain_broken_symlink on Windows
* Move `TOOLSTATE_MSG` to `dist` to serve toolchain-wide operations
* Add test to ensure resolution of #3418
* Add `Panics` sections to docstrings
* Refactor `components_*_msg`
* Delete suggestions of removing the relevant component from `component_unavailable_msg`
* Clean up some `manifestation` logic
* Warn when running under Rosetta emulation
* Lock file maintenance
* Lock file maintenance
* Typo fixed in tips-and-tricks.md file
* Adjust suggestions about sourcing `env` files
* Restrict zsh `shwordsplit` to `downloader()`
* Update Rust crate zstd to 0.13
* Apply `clippy` suggestions
* Extract `post_install_msg_unix_source_env!()`
* Add suggestions to mention sourcing `env.fish`
* Fix zsh word splitting for curl "--retry 3"
* Add ksh compatibility for latest illumos and others
* Remove redundant message if an error occurs during package extraction
* Update Rust crate regex to 1.10.0
* Write a custom env script for fish
* Fix fish config dir paths
* Update all rc fish scripts
* Try to add support for fish shell
* Clarify the origin of `rust-$TARGET` CI Docker images
* Lock file maintenance
* Apply more `clippy` suggestions
* Capturing IO error in download_file_with_resume (#3421)
* Adjust instructions for manual installation (#3502)
* Windows: Load DLLs from system32
* When running a 32-bit rustup on an aarch64 CPU, select a 32-bit toolchain
* Do not fallback to "arm" in rustup-init.sh on aarch64 with 32-bit userland
* Update Rust crate toml to 0.8
* Mention `brew install rustup-init` in the user guide
* Adjust section titles in the user guide
* Update actions/checkout action to v4
* Avoid warning for unused variant
* fix invalid link for 1.25.2
* 1.26.0 should not be unreleased in the changelog
* Refactor test case `install_uninstall_affect_path`
* Update Rust crate winreg to 0.51
* Apply clippy suggestions from Rust 1.74 (#3497)
* Fix some typos
* Lock file maintenance
* Fix rustup_only_options_stdout
* Bring additional help section style in line with clap 4
* Upgrade to clap 4
* Avoid deprecated clap API
* Isolate trycmd tests from environment
* Update Rust crate tracing-opentelemetry to 0.21.0
* buf writes to components
* Lock file maintenance
* Update Rust crate tempfile to 3.8
* Return the right lifetime from DistributableToolchain::install
* Fix handling of async tests
* Improve CI debugability
* Refactor: Use download_cfg.notify_handler in update()
* Authenticate when installing protoc
* Avoid installing protoc for most CI workflows
* Refine suggestions of sourcing `$HOME/.cargo/env`
* Avoid `sysctl: unknown oid` stderr output and/or non-zero exit code
* Configure automerge in Renovate
* Update opentelemetry
* Fix renovate.json
* Make `RUSTUP_TERM_COLOR`'s value case insensitive
* Add unit tests for `RUSTUP_TERM_COLOR`
* Support `RUSTUP_TERM_COLOR` as an override environment variable
* macOS `uname -m` can lie due to Rosetta shenanigans
* Migrate CONTRIBUTING.md to an mdbook
* Build docs during CI
* Move the user guide from doc to doc/user-guide
* Update Rust crate tempfile to 3.7
* Use available_parallelism replace the `num_cpus`crate
* rustup-init.sh: Check for kernel UAPI compatibility on LoongArch
* Enable loongarch64-linux-gnu builds on stable
* allow `clippy::arc_with_non_send_sync`
* Address `#[warn(clippy::useless_vec)]`
* Address `#[warn(clippy::needless_borrow)]`
* Address `#[warn(clippy::useless_conversion)]`
* Address `#[warn(clippy::redundant_pattern_matching)]`
* Address `#[warn(clippy::redundant_field_names)]`
* Bump proc-macro2 v1.0.51 -> v1.0.63
* Bump the openssl v0.10.52 -> v0.10.55
* Fix typo: prerequistes -> prerequisites
* update installation methods to use TLS v1.2
* Disable the "oldtime" feature of chrono
* Update Rust crate tempfile to 3.6
* Update Rust crate url to 2.4
* Update Rust crate once_cell to 1.18.0
* Make download_tracker thread safe.
* Enable broken color in MSYS2 shells
* Add suggest_message helper for errors
* replace term with termcolor
* Tweak docs
* Improve error message for removing uninstalled target
* Improve error message for adding unknown target
* CI support for loongarch64-unknown-linux-gnu
* Fix compile on rust nightly
* Group updates to opentelemetry together
* Improve CurrentProcess
* Update dependencies
* TestProcess and friends should be test only
* Update Rust crate windows-sys to 0.48.0
* Rework Toolchain model and drop relative file path overrides
* Add in opentelemetry tracing as a feature
* Remove repeated definite article
* Make clippy happy
* Update Rust crate toml to 0.7.3
* Suggest right toolchain when running clippy
* Fix small typo
* Update Rust crate winreg to 0.50
* Update Rust crate tempfile to 3.5
* Compile static Mutex where possible
* Upgrade CI image to FreeBSD 13.2
* Lock file maintenance
* Update Rust crate opener to 0.6.0
* Update Rust crate enum-map to 2.5.0
* Bumped retry
* Fri Dec 15 2023 Bruno Pitrus <brunopitrus@hotmail.com>
- Remove Obsoletes/Provides: rust-analyzer.
If the user has installed rust-analyzer RPM from another source,
this tag makes zypper try to remove the system rustc installation,
which is rather counterproductive.
* Sat Jun 03 2023 william.brown@suse.com
- Update to version 1.26.0~0:
* Update commit sha in rustup-init.sh again
* Update changelog to add more contributors
* Remove test
* Better error instead of show the help
* Print help when a ValueValidation error occurs
* Revert `Update Rust crate term to v0.7.0`
* Update network-proxies.md
* Fix RUSTUP_PERMIT_COPY_RENAME condition so it is actually used
* Add a test for only options command
* Update UI tests
* Set SubcommandRequiredElseHelp correctly
* Add preload directive to HSTS header
* Remove useless link
* Update changelog about remove GPG signature support
* Update toolchain for android
* Use llvm-ranlib
* Use llvm-ar
* Update toolchain
* Revert "Temporarily disable the android tests"
* Mention remove GPG signature support
* Add all contributors
* Update CHANGELOG for v1.26.0
* Update commit sha in rustup-init.sh again
* Remove `show keys` subcommand
* Move trycmd to dev-dependencies
* Remove GPG signature support
* Clippy fixes
* Clippy fixes
* Add RUSTUP_WINDOWS_PATH_ADD_BIN
* Don't add toolchain bin to PATH on Windows
* Fix broken CI for rust-x86_64-unknown-illumos
* Regen the GitHub actions for windows
* Add target env for windows
* Update commit sha in rustup-init.sh again
* Bump fs_at from v0.1.1 to v0.1.3
* Update commit sha in rustup-init.sh
* Bump version to 1.26.0
* Remove extra new line after help
* Make match statements better
* Run the tests on x86_64-pc-windows-msvc
* Update rustup mode tests
* Update setup mode tests
* Fix broken test path
* Build debug and release in different jobs
* Cap the maximum hard links per file
* Update Rust crate trycmd to 0.14.13
* Bump remove_dir_all
* Bump clap to 3.0
* Put self update test servers in test root
* Hardlink rustup-init in the test suite
* Update Rust crate tempfile to 3.4
* Run integration tests as a single binary
* Make gen-workflows.sh executable
* Remove use of hardlinks to symlinks on macOS.
* Update Rust crate curl to 0.4.44
* Fix deprecated set-output warnings
* Update Rust crate once_cell to 1.17.1
* Use workspace inheritance
* Enable Windows aarch64 builds on Stable
* Migrate HostGoesMissing
* Migrate cli-rustup to with_scenario
* Introduce constant dist dirs for testing
* expect_ok takes mutable Config
* change_dir takes mutable Config
* Lock file maintenance
* Fix some more clippy-related issues.
* Do all builds together in CI
* Fix build on Windows
* Update Rust crate trycmd to 0.14.12
* Migrate callers to the new names
* Move calls from fn(&config) to self.fn
* Update Rust crate winreg to 0.11
* Temporarily disable the android tests
* add some explains for `--default-toolchain none`
* Add ui test for the rustup-init.sh
* fmt
* Report duration of executed test commands
* Make test process stdout/err clearer
* Test the up aliases exist via help text
* Update ubuntu Docker tag to v22
* Update actions/upload-artifact action to v3
* Update Rust crate winreg to 0.10
* doc: add links for the aarch64-apple-darwin files
* Use `Command::get_envs` in env_var
* Update comment about CARGO_HOME on Windows
* Update Rust crate zstd to 0.12
* Update Rust crate url to 2.3
* Fix windows tests
* Add test for cli ui
* Update Rust crate anyhow to 1.0.69
* Use beta and give more explanation
* Make clippy::needless-lifetimes happy
* Make clippy::needless-borrow happy
* Fix chrono deprecation warnings
* clippy::uninlined_format_args: Apply clippy suggestions
* Bump the centos image version
* Remove temporary fix for the docker ci
* fix(deps): update rust crate opener to 0.5.2
* Rename from EventResult to DownloadCallback
* Fix `type_complexity` error
* allow to quickly edit a page directly on github
* Fix `derive_partial_eq_without_eq` clippy error
* Update MSVC installation image highlights
* Spelling and grammar fixes
* Add type parameter to prepend_path
* Remove space from comment
* Fix prepend_unique_path test on Windows
* Fix duplicated PATH entries
* chore(deps): lock file maintenance
* Update actions/checkout action to v3
* Expand on when VS Community isn't appropriate
* Highlight relevant area of images
* doc: Recommend tracking Cargo.lock with rust-toolchain
* Update Rust crate term to v0.7.0
* Update Rust crate effective-limits to 0.5.5
* Test Renovate branches directly
* Lock file maintenance
* Update Rust crate sequoia-openpgp to 1.13
* Update Rust crate rs_tracing to 1.1.0
* Update Rust crate retry to 1.3.1
* Update Rust crate num_cpus to 1.15
* Update Rust crate enum-map to 2.4.2
* Update GitHub Actions templates
* Update actions/cache action to v3
* Add -x and enable SC1090
* Fix shell check warning
* Renovate tweaks
* Update Rust crate anyhow to 1.0.68
* Tweak initial config
* Put renovate.json in a better place
* Add renovate.json
* Improve a help message for `doc --rustdoc`
* Fix typo
* Use auto deref
* Add automatic resume flag when retrying download with curl
* Add "Proxy" to terminology page
* Remove needless borrow
* Update to home 0.5.4
* Fix broken GitHub Actions
* Fix typos
* Update code to use `home::env as home` as suggested
* Add details of each setting in the toolchain file
* Update home usage to new env fn
* Bump pulldown-cmark version to 0.9
* Let Clap wrap help texts automatically
* Apply suggestions from code review
* Improve Windows MSVC install instructions
* Add support for loongarch64
* Add DisplayVersion for rustup to registry on Windows.
* Add `up` as an alias of `update`
* Move rust-analyzer to DUP_TOOLS
* Add rust-analyzer proxy.
* Unify the msg of the prompt when downloading self-update
* Improve error message when there is an error caused by override file
* (changelog): Fix links to tags
* Improved warning message for System-Rust-override
* Clippy lint
* Remove snapcraft build and runtime support entirely
* Use `if` instead of `$?`
* Correctly propagate subshell failures in rustup-init
* (toolchain): Toolchain names must not be empty
- Remove upstreamed patches
* 0000-rustup-add-rust-analyzer-proxy.patch
* 0001-rustup-move-rust-analyzer.patch
* Thu Apr 13 2023 William Brown <william.brown@suse.com>
- bsc#1210345 - CVE-2023-26964 - hyper,h2: stream stacking when H2 processing HTTP2 RST_STREAM frames
* Mon Mar 27 2023 Michal Vyskocil <mvyskocil@opensuse.org>
- fix rust-analyzer as a rustup proxy by backporting two upstream patches:
* 0000-rustup-add-rust-analyzer-proxy.patch
* 0001-rustup-move-rust-analyzer.patch
* Thu Feb 23 2023 William Brown <william.brown@suse.com>
- bsc#1208552 - CVE-2022-31394 - header list size may allow denial of service
* Tue Feb 14 2023 William Brown <william.brown@suse.com>
- Automatic update of vendored dependencies
* Thu Feb 09 2023 william.brown@suse.com
- Update to version 1.25.2~0:
* properly fix mips64el
* update compiler paths in docker images
* temporary fix for the docker ci
* Add -x and enable SC1090
* Fix shell check warning
* update version in install script
* update version to 1.25.2
* add changelog entry
* allow sha1 signing keys without a cutoff date
/usr/bin/cargo /usr/bin/cargo-clippy /usr/bin/cargo-fmt /usr/bin/cargo-miri /usr/bin/clippy-driver /usr/bin/rls /usr/bin/rust-analyzer /usr/bin/rust-gdb /usr/bin/rust-gdbgui /usr/bin/rust-lldb /usr/bin/rustc /usr/bin/rustdoc /usr/bin/rustfmt /usr/bin/rustup /usr/share/bash-completion/completions/cargo /usr/share/bash-completion/completions/rustup /usr/share/zsh /usr/share/zsh/site-functions /usr/share/zsh/site-functions/_cargo /usr/share/zsh/site-functions/_rustup
Generated by rpm2html 1.8.1
Fabrice Bellet, Mon Aug 17 23:45:55 2026