Aquí hi ha 15 versions d’ubi, des de 22 de febrer del 2025 fins a l’actual, 0.12.0. Cadascuna enllaça amb els instal·ladors del mateix desenvolupador.
15 versions en 2 anys · unes 9,9 per any
| Versió | Data | Mida | Fitxers |
|---|---|---|---|
| 0.12.0Darrera versió | 31 d’agost del 2026 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versió- Fixed a bug where ubi checked the env var CI_TOKEN for a GitLab token. This is now CI_JOB_TOKEN, which is what GitLab actually sets in CI.
- Added a --color flag, settable with UBI_COLOR, which accepts auto, always, or never. Previously, ubi always emitted ANSI color escapes, even when its output was redirected to a file or a pipe, which made saved logs hard to read. The new default, auto, colorizes output only when stderr is a terminal and the NO_COLOR env var is not set. Setting NO_COLOR to the empty string or to 0 is treated as not setting it at all.
- Breaking change for library users: ubi::init_logger now takes a second argument, a ubi::ColorChoice. Pass ColorChoice::default() to keep the previous behavior of colorizing output, except that it is now suppressed when stderr is not a terminal or NO_COLOR is set.
- Fixed up the colors for logging. The DEBUG label was black, which made it unreadable in terminals with a dark background. It is now cyan. INFO level messages are now green. Previously, they looked identical to DEBUG level messages.
- When ubi was asked to install an executable to a path where a directory already existed, it failed with a bare Is a directory (os error 21). It now gives a more helpful message with guidance on how to fix the problem. In addition, it checks some various cases that would prevent the install from working before it downloads anything. However, not all cases can be checked before download. Inspired by a report from @oalders (Olaf Alders). GH #136.
What happened to 0.11.0? It was lost in the mix as I updated my release tooling. |
| 0.10.0 | 26 de juliol del 2026 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versió- Breaking change for library users: the rustls-tls-native-roots cargo feature has been removed. As of reqwest 0.13 there is no corresponding feature to enable. Root certificates are now always sourced from the platform's trust store via rustls-platform-verifier, which is what this feature used to select, so enabling it is no longer meaningful.
- Most CLI flags can now be set with a corresponding UBI_* environment variable, for example UBI_TAG for --tag or UBI_PROJECT for --project. A variable set to the empty string is treated as unset, so scripts can pass a possibly-empty value without building up a command line by hand. Flags passed on the command line take precedence over environment variables. Requested by @BatmanAoD (Kyle J Strand). GH #153.
- The prebuilt macOS binaries were dynamically linked against Homebrew's liblzma, so they failed to start on any machine that did not have that Homebrew package installed. liblzma is now compiled from source and linked statically on all platforms. Reported by @examosa (Jules Amonith). GH #151.
- Fixed the bootstrap-ubi.sh script's handling of the TAG env var. A tag with a multi-digit patch version, like v0.0.15, caused the script's version comparison to fail. Under busybox sh this printed a bad number error, and on all shells it made the script download the wrong filename and fail with a 404. Reported by @BatmanAoD (Kyle J Strand). GH #152.
- Upgraded zip from 3.x to 8.x. The old < 4.0.0 pin existed because zip 4 conflicted with xz2 over lzma-sys, but modern zip does not depend on lzma-sys at all. This also removes the last C implementation of bzip2 from the dependency tree: zip 3 pinned bzip2 0.5, which uses the C bzip2-sys, while zip 8 uses bzip2 0.6, which uses the pure-Rust libbz2-rs-sys that ubi was already using directly. Previously bzip2 was compiled twice, once as C and once as Rust. As a side benefit, ubi can now read xz-compressed entries in zip files, at no cost in dependencies, since the pure-Rust lzma-rust2 crate that implements this was already in the tree by way of sevenz-rust2.
- The minimum supported Rust version (MSRV) for the ubi crate is now 1.88, up from 1.85. This is required by zip 8.
- Upgraded reqwest to 0.13. Its rustls feature now pulls in the aws-lc-rs crypto provider, which requires a C/C++ toolchain and does not build under cross for several platforms that ubi supports, notably NetBSD and PowerPC64. The rustls-tls feature now enables reqwest's rustls-no-provider feature instead, and ubi installs the ring provider itself. There should be no user-visible change from this. |
| 0.9.0 | 11 de gener del 2026 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versió- Added a new --min-age-days flag that tells ubi to only consider releases at least that old. This is useful for mitigating supply chain attacks, especially for projects that use GitHub's immutable releases feature. GH #145. |
| 0.8.4 | 1 de novembre del 2025 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versió- This is the same as 0.8.3, but I had to publish this with a new tag because of a failed experiment with using GitHub's new immutable releases feature.
- Fixed a bug where ubi would pick an asset with 64 in the name when trying to pick the best match on a 64-bit platform. This could include things like project-Linux-1.64.0.tgz, where the 64 is part of the version. Now it uses a pickier regex that looks for actual CPU architecture names, like x86-64 or arm64.
- Made it possible to use ubi on Android.
- Added linuxstatic as a string to look for when checking for Linux asset names. Apparently, the yao tool produces assets with this string in the name (why the hate for dashes, I ask?). Reported by @egnor (Daniel Egnor). GH #142.
- Improved libc matching. Previously, this only checked for literal substrings like -gnu or -musl. This meant that an asset name with dashes, like foo_linux_musl.tar.gz, would not be matched. Now this uses regexes to better match the libc name. Reported by @egnor (Daniel Egnor). GH #142.
- When on a platform with musl as its libc, ubi will now prefer an asset with an explicit indication that it was compiled with musl over an asset with no libc indication in the name. In other words, it will prefer project-linux-x86-64-musl.tar.gz over project-linux-x86-64.tar.gz. Suggested by @egnor (Daniel Egnor). GH #142. |
| 0.8.2 | 19 d’octubre del 2025 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versió- Fixed a bug introduced in 0.8.0, which caused ubi to prefer the browser_download_url over the url for a GitHub asset. When both are present, it will now use the url field. This is important because when downloading assets from a private repo, the url will work with the authentication headers that ubi sets. Fixed by @rnaveiras (Raúl Naveiras). GH #139.
- Added more context to errors and made ubi display the full error context when it fails. This should help with debugging issues like #136. |
| 0.8.1 | 11 d’octubre del 2025 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versió- The change in 0.7.4 to look for "arm" on macOS caused ubi to not respect the --matching option. Reported (#137) and fixed (#138) by @prashantv. |
| 0.8.0 | 14 de setembre del 2025 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versió- Added support for releases done via Codeberg/Forgejo. Based on PR #107 from @pepicrft (Pedro Piñera Buendía). |
| 0.7.4 | 24 d’agost del 2025 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versió- Changed macOS on ARM artifact name matching to look for "arm", not just "arm64", before looking for 64-bit names. This means that ubi will pick something like "foo-macos-arm.tgz" over "foo-macos-x86-64.tgz" on the macOS ARM platform. Implemented by !itochan (Kazunori Jo). GH #132.
- Added support for Zstd compression with both standalone files and tarballs. Implemented by @alaviss. GH #134.
- Fixed handling of the --rename-exe-to option. For some file types, like .AppImage files, this would preserve the extension on the file even if the value passed to --rename-exe-to did not include the extension. This contradicted the documentation, which said that the name was used as given. Reported by @pale3(Marko Rakamaric). GH #129.
- Fixed regressions introduced in 0.7.0 by eliminating default features for clap, which made the CLI experience generally worse. |
| 0.7.3 | 27 de juliol del 2025 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versió- Added support for 7-Zip archive (\.7z). Based on PR #115130 from @yjoer (Yeoh Joer).
- Added support for projects on GitLab with more than one slash in the path name, like
https://gitlab.com/gitlab-com/gl-infra/terra-transformer. GitLab allows for more path components
in project names, unlike GitHub. Based on PR #115 from @suprememoocow (Andrew Newdigate).
- Added support for release artifacts with .sh and .py extension. Based on PR #127 from
@Finkregh (Oluf Lorenzen ). |
| 0.7.2 | 19 de juny del 2025 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versió- - Added support for release artifacts with a .jar extension. Based on PR #126 from @dpassen
(Derek Passen). |
| 0.7.1 | 13 de juny del 2025 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versió- Set the minimum support Rust version (MSRV) of the ubi crate to 1.85. |
| 0.7.0 | 8 de juny del 2025 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versió- Added a new --matching-regex CLI flag and UbiBuilder::matching_regex method. This regex is
matched against potential release filenames before attempting to find a release with a matching
OS, architecture, etc. This is useful for doing things like filtering for a single tool when a
project releases multiple tools in a single GitHub release. PR by @yjoer (Yeoh Joer). GH #122.
- The logic for determining whether or not to include a top-level directory when --extract-all is
passed has been fixed. Previously, if the directory where the archive was extracted into was not
empty, then when ubi checked for whether it should ignore a top-level directory in the archive,
it would see these files, and never ignore the top-level directory. Now it extracts the archive
into a temp directory and checks that. This makes the behavior of --extract-all more
predictable, and it means you can use to, for example, extract an archive into an existing tree,
like ~/.local, that contains ~/.local/bin, ~/.local/share, etc. Reported by @jinnatar (Jinna
Kiisuo). GH #106.
- Changed dependency declarations to mostly eliminate default features, which removed quite a few
transitive dependencies. |
| 0.6.1 | 18 de març del 2025 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versió- Upgraded the dependency on zip to 2.4.1. Previously, ubi pinned zip 2.2.3, which was yanked,
because the 2.3.0 release broke ubi's tests. |
| 0.6.0 | 17 de març del 2025 | — | 64 bits ZIPARM64 ZIP32 bits ZIP |
| 0.5.2 | 22 de febrer del 2025 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versió- This is identical to 0.5.1, but it was necessary to work around a bug in my GitHub release
automation. The 0.5.1 is no longer available on GitHub, but the crates.io releases still exist and
there's no issue with using them. |