- A new
publish-cratecommand for publishing to crates.io with Trusted Publishing (OIDC) support publish-dry-runis a new input for validating packaging without publishing- New example workflows:
trusted-publishing.yml,publish-crate-only.yml validate-version: theexpected-versioncheck is now optional (version is extracted from the tag when omitted)
- The Action is now backed by a native binary instead of a collection of Nu shell scripts
- The Action was renamed to
rust-build-package-release-actionfor GitHub Actions Marketplace publishing
test-windows: normalize paths to backslashes for msiexec
test-windows: use a predictable install directory for MSI tests viaAPPLICATIONFOLDER
test-deb,test-rpm: installsudoif missing
- Use newer distributions in the package verification example
download-release: installcurlif missing, fall back to Nu'shttpmodule if all else fails
get-release-version: fix version validation rejecting valid versions
get-release-versionfetches the latest release from GitHub and (if available) verifies their SHA-256 checksumstest-deb,test-rpm,test-windowscommands for smoke-testing artifactsdownload-from-releasemode for automatic artifact fetching- New example workflows:
verify-artifacts.yml,build-with-verification.yml
- All commands now support the
GITHUB_TOKENenv variable (where applicable) with automatic fallback to token-unaware (anonymous) operations for public repos
- Improve SBOM section formatting in release body
- Simplify
generate-aur.nuvariable handling and error messages - Add tests for
get-cargo-info,copy-docs,copy-includes
- Fix Windows SDK
INCLUDEpath conflict by renaming internal env var toARCHIVE_INCLUDE - Add workspace-aware WiX file lookup for MSI builds using
cargo metadata - Fix Windows path normalization in workspace WiX lookup
- Fix Nushell syntax error where
(skip-build)was interpreted as a command in print statements - Add early prerequisite check for WiX source files in MSI builds
- Rename "Downloads" section to "Build Assets" in release body
- Support for cross-compilation via
cargo-zigbuild(for the painful-to-get-rightaarch64-unknown-linux-musltarget)
- Use
get -o 0instead offirst?for Nu 0.110 compatibility - Improve AUR error messages, fallback to
binary-nameinput - Fix empty table handling in
format-release.nu - Fix filesize to int conversion in
format-size - Add retries to the DMG creation step to work around certain "resource busy" errors on macOS runners
- Fix regex escaping in
collect-artifacts.nu
- Auto-install WiX Toolset for Windows MSI builds
- Support for optional Cargo project features (auto-detection via
cargo metadata) - Auto-enable
mimallocfeature for musl builds when available (improves performance)
- Use the Cargo package name, not the binary name, for
cargo-wix --package
- Fix
cosignpath resolution on Windows
- Fix
cosign3.x signing (auto-detect GitHub Actions environment)
- Fix
cosigninstallation on Windows
- Fix
nfpmdownloads on x86-64 Linux
- Fix mutable variable capture in cosign signing closure
- Fix nfpm config:
sectionandpriorityare top-level fields, not nested underdeb:
- Use direct
$env.VARassignment instead ofload-envto propagate variables to subprocesses
- Remove
vars.NEXT_RELEASE_VERSIONfrom composite action (thevars.*context is not available there) - Use
get -oinstead of the deprecatedget -iflag in dispatch.nu
- Don't run over the Actions' inline element length limit
- Introduce a unified
releasecommand that auto-selects the platform from the target triple - A new
validate-changelogcommand for fail-fast changelog validation - A new
collect-artifactscommand with consolidated SHA256SUMS generation - A new
validate-cargo-tomloption for thevalidate-versioncommand - Pre-build hooks via the
pre-buildinput for WASM/frontend projects - Skip-build mode via the
skip-buildinput for container workflows - Version auto-detection from git tags for the
extract-changelogandvalidate-changelogcommands - Minimal quickstart workflow in the README
- Simplified the multi-platform matrix (no per-platform command mapping needed)
- Added the
examples/directory with workflow templates
- Fix archives to include LICENSE and README files
- Exclude previous artifacts and checksums from archives
- Fix Windows archive path handling after directory change
- Use MANIFEST_PATH in get-cargo-info
- Include LICENSE files without suffix (e.g., LICENSE vs LICENSE-MIT)
- Release workflow now triggers on pre-release tags
- Extract shared helpers to reduce code duplication
- Add checksum generation (SHA256, SHA512, BLAKE2) with
checksuminput - Add
featuresinput for enabling Cargo features - Add
includeinput for additional files in archives - Add outputs:
binary_name,binary_path,target,sha256,summary - Support pre-release version tags (alpha, beta, rc)
- Add
lockedinput for reproducible builds using--lockedflag - Release commands now output
versionfor use in downstream workflow steps
- Add
archiveinput to create .tar.gz archives on Linux/macOS and .zip on Windows - Set
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKERfor armv7 cross-compilation
- Upgrade Nu shell from 0.102.0 to 0.110.0
- Switch from
cargo buildtocargo rustcfor finer control - Add
release-windows-msicommand for Windows MSI installers via cargo-wix - Include version header in extracted changelog (matches upstream repos)
- Add coloured output with ANSI codes for better visibility
- Add
hr-linehelper for visual progress markers - Add
errorhelper for consistent error formatting - Use modern Nu shell syntax (
get -oinstead of deprecatedget -i) - Improve error messages with
ERROR:prefix and helpful hints
- Add
packageinput for Cargo workspace builds - Add
no-default-featuresinput for static/musl builds - Add
target-rustflagsinput for custom build flags - Automatic static linking for musl targets (
-C target-feature=+crt-static) - Add Fedora support for cross-compilation
- Add
armv7-unknown-linux-gnueabihftarget support - Generate
Cargo.lockif missing - Refactor build logic into shared
cargo-buildfunction
extract-changelogcommand for extracting version-specific release notes from CHANGELOG.mdvalidate-versioncommand for ensuring git tags match expected versionsget-versioncommand for reading version from Cargo.toml (supports workspace manifests)release-linux,release-macos,release-windowsbuild commands- Composite GitHub Action with Nu shell scripts
- Cross-platform CI testing (Linux, macOS, Windows)