Releases: cashapp/hermit
Releases · cashapp/hermit
v0.12.0
feat: support automatic runtime deps from packages with Hermit enviro…
v0.11.0
feat: implement our own errors package This adds `file:line` annotations to each error (wrapped or otherwise), which are visible in error formatting under two circumstances: when printing an error with %+v, or when `HERMIT_DEBUG=errortrace`.
v0.10.0
fix: many many bugs fixed and refactorings done
- "hermit test" did not paginate private GitHub release results
- Added caching to the GH client.
- Added HTTP tracing.
- Fixed a bug where command-line flags would not set the log-level
early enough. - Refactored the download strategies into PackageSource
implementations. - Fixed a bug where ETag checks weren't using the fast HTTP client.
- Factored out HTTP downloader function from the Cache into
PackageSources. - Made PackageSources not use private internals of Cache.
- Reusable HTTPSource().
- Implemented a githubReleaseSource with proper ETag checks.
- Don't retrieve all GH releases when checking for just one.
- Increase GH release listing pagination size to the max of 100.
There's still some slight unavoidable weirdness with logging. Because
Hermit does a bit of work before parsing the command line, command-line
logging flags won't take effect until flags are parsed, filtering out
logs below info prior to that point. Using DEBUG=1 or HERMIT_LOG=trace
will now work as expected though, where it wasn't previously.
v0.9.0
feat: infer homepage from GH API
v0.8.1
fix: panic when auto-versioning a manifest with no auto-version block
v0.8.0
Add support for package defined local vars. This removes a lot of boilerplate from packages with less 1:1 mappings of version to URL. eg. This description = "A tool to format C/C++/Java/JavaScript/JSON/Objective-C/Protobuf/C# code." binaries = ["clang-format"] version "10.0.0-20211020" { platform linux { source = "https://github.com/muttleyxd/clang-tools-static-binaries/releases/download/master-f3a37dd2/clang-format-10_linux-amd64" on unpack { rename { from = "${root}/clang-format-10_linux-amd64" to = "${root}/clang-format" } } } platform darwin { source = "https://github.com/muttleyxd/clang-tools-static-binaries/releases/download/master-f3a37dd2/clang-format-10_macosx-amd64" on unpack { rename { from = "${root}/clang-format-${release}_macosx-amd64" to = "${root}/clang-format" } } } } version "11.0.0-20211020" { platform linux { source = "https://github.com/muttleyxd/clang-tools-static-binaries/releases/download/master-f3a37dd2/clang-format-11_linux-amd64" on unpack { rename { from = "${root}/clang-format-11_linux-amd64" to = "${root}/clang-format" } } } platform darwin { source = "https://github.com/muttleyxd/clang-tools-static-binaries/releases/download/master-f3a37dd2/clang-format-11_macosx-amd64" on unpack { rename { from = "${root}/clang-format-11_macosx-amd64" to = "${root}/clang-format" } } } } version "12.0.0-20211020" { vars = { hash: "f3a37dd2", release: "12" } platform linux { source = "https://github.com/muttleyxd/clang-tools-static-binaries/releases/download/master-f3a37dd2/clang-format-12_linux-amd64" on unpack { rename { from = "${root}/clang-format-12_linux-amd64" to = "${root}/clang-format" } } } platform darwin { source = "https://github.com/muttleyxd/clang-tools-static-binaries/releases/download/master-f3a37dd2/clang-format-12_macosx-amd64" on unpack { rename { from = "${root}/clang-format-12_macosx-amd64" to = "${root}/clang-format" } } } } Can become this: description = "A tool to format C/C++/Java/JavaScript/JSON/Objective-C/Protobuf/C# code." binaries = ["clang-format"] platform linux { source = "https://github.com/muttleyxd/clang-tools-static-binaries/releases/download/master-${hash}/clang-format-${release}_linux-amd64" on unpack { rename { from = "${root}/clang-format-${release}_linux-amd64" to = "${root}/clang-format" } } } platform darwin { source = "https://github.com/muttleyxd/clang-tools-static-binaries/releases/download/master-${hash}/clang-format-${release}_macosx-amd64" on unpack { rename { from = "${root}/clang-format-${release}_macosx-amd64" to = "${root}/clang-format" } } } version "10.0.0-20211020" { vars = { hash: "f3a37dd2", release: "10" } } version "11.0.0-20211020" { vars = { hash: "f3a37dd2", release: "11" } } version "12.0.0-20211020" { vars = { hash: "f3a37dd2", release: "12" } }
v0.7.0
fix: ensure version parts have enough elements not to panic
v0.6.0
Port alecthomas/shreq over as a subcommand.
v0.5.0
Allow execution of binaries from other environments. Environments will stack. Fixes #174.
v0.4.0
Remove leftover debugging.