Repository navigation
Release 0.1.1: target fallback, SOCKS proxies, feature builds - #15
Merged
Merged
Conversation
Fixes #13, #14. - fix(resolve): try compatible targets when the host target has no binary (gnu->musl, musl->gnu with real glibc, darwin->universal and x86_64 with Rosetta, windows msvc->gnu/gnullvm) across binstall, GitHub Releases and quickinstall; record the resolved target - fix(http): enable ureq socks-proxy (SOCKS from ALL_PROXY was silently ignored) and win-system-proxy; show the proxy in --verbose - fix(download): raise the 10 MiB ureq body limit to 1 GiB - feat(cli): -F/--features, --no-default-features, --all-features build from source and cache under a separate key - feat(github): use GITHUB_TOKEN/GH_TOKEN for api.github.com only - fix(config): validate crate names (no path traversal into the cache) - chore(deps): update all deps (fixes RUSTSEC advisories in rustls, rustls-webpki, tar), xz2 -> liblzma, dirs 7, drop unused clap, anyhow, url, mockito - test: hermetic e2e suite (mock upstreams, SOCKS5/HTTP proxies, stub cargo) plus network smoke tests - ci: musl-on-glibc, Alpine (+gcompat), network smoke on 3 OSes, weekly schedule, audit denies warnings
On macOS runners with Rosetta the list is host, universal, universal2, x86_64; assert host-first and first-fallback instead.
This was referenced Sep 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #13
Closes #14
Fixes
custom features #14: fall back to compatible targets. If a release has no binary for the exact host target, each source (binstall metadata, GitHub Releases, QuickInstall) also tries targets the system can run:
-musl-gnu, but not on Alpine, where thegcompatshim doesn't count as glibc-gnu, andgnullvmon ARM64cargo-about 0.9.2, which publishes only musl Linux builds, now runs on glibc Linux.
proxy support #13: SOCKS proxies.
socks4/socks4a/socks5/socks5hfromALL_PROXY/HTTPS_PROXYwere silently ignored because ureq'ssocks-proxyfeature was off. Also enabled the Windows system proxy, and-vshows the proxy in use (without credentials).Download size limit. Archives over 10 MiB failed (ureq's default body limit). The limit is now 1 GiB.
Crate name validation. Names are checked before they're used as a cache path, so a specifier like
../../x@1.0.0can no longer run a file outside the cache.Added
-F/--features,--no-default-featuresand--all-features. They build from source and cache under a separate key (e.g.cargo-about+features=cli).GITHUB_TOKEN/GH_TOKENfor GitHub API requests (sent only toapi.github.com).CRGX_CACHE_DIRand upstream URL overrides, used by the e2e tests.Dependencies and security
rustls: RUSTSEC-2026-0285rustls-webpki: RUSTSEC-2026-0049, -0098, -0099, -0104tar: RUSTSEC-2026-0068xz2(unmaintained) replaced byliblzma;dirsupgraded to 7.clap,anyhow,urlandmockito.cargo audit -D warningsandcargo deny check advisories banspass.Tests
tests/e2e.rs, which run the real binary against a mock crates.io, GitHub and QuickInstall. They cover the direct path, real SOCKS5/SOCKS5h/HTTP CONNECT proxy servers and a stubcargo. Four of them (--ignored) hit the real internet, including through both proxy types.socks-proxyfeature, the target fallback or the feature-build path each makes its tests fail.CI
New jobs:
gcompatGITHUB_TOKENNot verified locally
Known limitations
--cache-clean.