Repository navigation
v0.2.4 (2026-03-08)
Release Notes
Chore
- pin dist action SHAs in dist-workspace.toml
- reduce release wait timeout from 30m to 15m
Increase poll interval from 5s to 10s and reduce iterations from
360 to 90, halving unnecessary API calls while still providing
sufficient time for the main dist release to complete. - pin action SHAs and enable artifact attestations
Pin all GitHub Actions in release.yml and release-arm64.yml to
specific commit SHAs to prevent supply-chain attacks via tag mutation.
Enable github-attestations in dist-workspace.toml to cryptographically
bind release artifacts to their workflow run. - update actions/checkout and action-gh-release versions in workflows
- bump dependencies to 0.2.2 and update contributors
Documentation
- update installation instructions and add target details for prebuilt binaries
New Features
- add tag format validation and improve checksum command syntax
- add checksum verification for downloaded binaries
- add checksum generation and include in release upload
Bug Fixes
- trigger arm64 build after release workflow completes instead of on tag push
- clear frozen header line when terminal narrows below compact tier
- track header-line reservation separately from first_render
- continue check even if fmt or clippy fails
- replace dev recipes with platform-specific install-nx/win variants
- guarantee bar_width + vol_bar_width never exceeds available columns
- wrap plugin add calls with nu -c using portable double quotes
- wrap plugin add calls with nu -c
- simplify progress rendering logic in wait_with_progress function
- remove dead assignment, fix bar overflow, and deduplicate marquee gap
- Remove the dead
first_render = falseafter the final render_progress
call in wait_with_progress — the function returns immediately afterward
so the assignment never had any effect - Fix bar_width + vol_bar_width potentially exceeding available columns
when the .max(10) clamp pushed bar_width back above the safe limit on
narrow terminals; constrained is now computed first and .max(10) is
not applied when available space is too small to honour it - Extract the marquee gap string into a MARQUEE_GAP constant so the
scrolling math in wait_with_progress and the renderer in render_progress
are guaranteed to use the same value; a mismatch between the two would
have caused visible scroll drift
- Remove the dead
- degrade gracefully on narrow terminals and scroll long headers
- Replace the hard bail-out width guard with four layout tiers (full,
compact, minimal, bare) so the progress display renders something
useful at any terminal width rather than silently dropping frames - Add marquee scrolling for artist/title headers that are too wide to
fit on one line; scroll_offset advances only on successful draws and
freezes when the header fits statically - Fix first_render tracking so MoveUp(1) is only emitted after a frame
was actually drawn, preventing header duplication and output smear on
narrow terminals - Use unicode-width column counting in the marquee slicer instead of
char counts to handle multibyte and CJK characters correctly - Extract WIDTH_FULL, WIDTH_COMPACT, WIDTH_MINIMAL, WIDTH_BARE constants
to replace the former MIN_RENDER_WIDTH magic number - Change render_progress return type from () to bool to communicate
whether a frame was actually drawn back to the caller - Fix dead initial assignments for bar_width and vol_bar_width by
restructuring the size() block as an expression with an explicit
fallback, eliminating the unused_assignments warnings
- Replace the hard bail-out width guard with four layout tiers (full,
- scope permissions to job level and attest before upload
- add attestations permissions and implement artifact attestation in release workflow
Fixes #13 - improve regex for updating dependency version format in Cargo.toml
- update dependency version extraction logic and adjust commit message in PR creation
- checkout requested tag on dispatch and handle dev-dependency table form
- fix nushell script bugs and upgrade to 0.111.0
- Replace
str matcheswith=~operator (command does not exist) - Replace string
+concatenation with$"..."interpolation - Fix
| let name: typepipeline annotation (unsupported form) - Fix
.dev-dependencies?dot access ambiguity withget "dev-dependencies"? - Replace
$itinwherewith explicit closure for 0.111 compatibility - Prefix external
cargocalls with^to prevent shadowing - Open Cargo.toml once with
--rawand derive parsed form viafrom toml - Escape
$depbefore regex interpolation to handle metacharacters - Fix
{escaped_dep}and{sanitized_plugin_version}bare braces to($var) - Wrap
let nu_depspipeline in outer parens for correct parse - Simplify
validate-version-formatto single=~check - Remove unreachable
nullafterreturninhttp-get-with-retry
- Replace
Commit Details
view details
- Uncategorized
- Trigger arm64 build after release workflow completes instead of on tag push (
3ee6a03) - Revert "Release nu_plugin_audio v0.2.3" (
7c35bd6) - Release nu_plugin_audio v0.2.3 (
ebe693f) - Merge pull request #16 from SuaveIV/issue-10-player-bar-fix (
002ddef) - Clear frozen header line when terminal narrows below compact tier (
25785de) - Track header-line reservation separately from first_render (
a94d52a) - Continue check even if fmt or clippy fails (
9479ea0) - Replace dev recipes with platform-specific install-nx/win variants (
69e331e) - Guarantee bar_width + vol_bar_width never exceeds available columns (
af43fef) - Wrap plugin add calls with nu -c using portable double quotes (
02086f2) - Wrap plugin add calls with nu -c (
fc4cc50) - Simplify progress rendering logic in wait_with_progress function (
2f38278) - Remove dead assignment, fix bar overflow, and deduplicate marquee gap (
0969f0a) - Degrade gracefully on narrow terminals and scroll long headers (
d17767d) - Merge pull request #15 from SuaveIV/issue-13-arm64-attest (
92ce614) - Scope permissions to job level and attest before upload (
ba64249) - Add attestations permissions and implement artifact attestation in release workflow (
ecdc036) - Merge pull request #12 from SuaveIV/security_upgrrade_1 (
ef955eb) - Improve regex for updating dependency version format in Cargo.toml (
24b9e4a) - Update dependency version extraction logic and adjust commit message in PR creation (
8d929da) - Checkout requested tag on dispatch and handle dev-dependency table form (
eef7f3f) - Pin dist action SHAs in dist-workspace.toml (
d448783) - Reduce release wait timeout from 30m to 15m (
87324c1) - Pin action SHAs and enable artifact attestations (
2076bf2) - Fix nushell script bugs and upgrade to 0.111.0 (
e52cc30) - Add tag format validation and improve checksum command syntax (
c3680a9) - Update actions/checkout and action-gh-release versions in workflows (
ccd7677) - Merge pull request #11 from SuaveIV/chore/update-dependencies (
67d2255) - Bump dependencies to 0.2.2 and update contributors (
1999f45) - Update installation instructions and add target details for prebuilt binaries (
3539180) - Add checksum verification for downloaded binaries (
df0b440) - Add checksum generation and include in release upload (
639724b)
- Trigger arm64 build after release workflow completes instead of on tag push (
Install nu_plugin_audio 0.2.4
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/SuaveIV/nu_plugin_audio/releases/download/v0.2.4/nu_plugin_audio-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/SuaveIV/nu_plugin_audio/releases/download/v0.2.4/nu_plugin_audio-installer.ps1 | iex"Download nu_plugin_audio 0.2.4
| File | Platform | Checksum |
|---|---|---|
| nu_plugin_audio-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| nu_plugin_audio-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| nu_plugin_audio-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| nu_plugin_audio-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo SuaveIV/nu_plugin_audioYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>