Releases: houseabsolute/ubi
Releases · houseabsolute/ubi
v0.0.28
- Fixed a bug with tarballs that use the GNU sparse format. Such tarballs were not extracted properly, leading to the extracted executable being garbled. This was an issue with the macOS x86-64 release of ubi, which broke the
--self-upgrade
flag on that platform. Reported by Olaf Alders. GH #45.
v0.0.27
v0.0.26
- The bootstrap script has been updated to try to handle more operating systems and CPU architectures. In addition, you can bypass its platform detection entirely by setting a
FILENAME
environment variable, which should be the name of one of the release file assets. Reported by @oanylund (Ole-Andreas Nylund). Addresses GH #38. - On 32-bit platforms,
ubi
would always fail when given a--matching
option on the command line. Reported by Ole-Andreas Nylund. Fixes #40.
v0.0.25
v0.0.24
- Fixed a bug when there were multiple potential matching releases for a platform, and either none of the releases were 64-bit or the platform itself was not a 64-bit platform.
v0.0.23
- Fix matching filenames for the jq and mkcert projects. This expands the matching a bit on Linux x86 platforms to match "linux32" and "linux64". It also handles filenames with version strings like "mkcert-v1.4.4-linux-arm" properly. Previously, it treated the last bit after the "." in the version as an extension and rejected this as an invalid extension. Now there is a bit of a gross hack to check explicitly for versions in the filename that appear to be an extension. Reported by @rafi. Addresses #34.
v0.0.22
v0.0.21
- Improved matching of OS and CPU architecture names in release asset names. This release should do a better job with more projects.
v0.0.20
- This release includes a number of changes to support building on many more platforms.
- The full list of architectures that binaries are released for is:
- FreeBSD x86-64 new
- Linux x86-64
- Linux aarch64 (aka arm64)
- Linux arm (32-bit)
- Linux i586 (x86 32-bit) new
- Linux mips (32-bit) new
- Linux mipsel (32-bit little-endian) new
- Linux mips64 new
- Linux mips64el (little-endian) new
- Linux PowerPC (32-bit) new
- Linux PowerPC64 new
- Linux PowerPC64le (little-endian) new
- Linux riscv64 new
- Linux s390x new
- NetBSD x86-64 new
- Windows x86-64
- Windows i686 (32-bit) new
- Windows aarch64 (aka arm64) new
- macOS x86-64
- macOS aarch64 (aka arm64)
- The code supports some other OS and CPU architectures internally, but I do not have any way to build these:
- Fuchsia x86-64 and aarch64 - not supported by
cross
. - Illumos x86-64 - OpenSSL build fails with odd error about
granlib
executable. - Linux Sparc64 - not supported by OpenSSL.
- Solaris x86-64 - supported by
cross
but building themio
crate fails. - Solaris Sparc - not supported by OpenSSL.
- Fuchsia x86-64 and aarch64 - not supported by
- In order to do this,
ubi
now uses theopenssl
crate under the hood instead ofrustls
. That's becauserustls
depends onring
, which does not support nearly as many CPU architectures as OpenSSL. Thevendored
feature for theopenssl
crate is enabled, which causes it to compile and statically link a copy of OpenSSL into the resulting binary. This makes the resulting binary more portable at the cost of not using the system OpenSSL.
- The full list of architectures that binaries are released for is:
v0.0.19
- Fixed handling of bare executables on Windows. It would reject these because it wasn't expecting to download a file with a
.exe
extension.