Skip to content

v0.2.4 (2026-03-08)

Choose a tag to compare

@SuaveIV SuaveIV released this 08 Mar 06:44
2971a9b

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 = false after 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
  • 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
  • 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 matches with =~ operator (command does not exist)
    • Replace string + concatenation with $"..." interpolation
    • Fix | let name: type pipeline annotation (unsupported form)
    • Fix .dev-dependencies? dot access ambiguity with get "dev-dependencies"?
    • Replace $it in where with explicit closure for 0.111 compatibility
    • Prefix external cargo calls with ^ to prevent shadowing
    • Open Cargo.toml once with --raw and derive parsed form via from toml
    • Escape $dep before regex interpolation to handle metacharacters
    • Fix {escaped_dep} and {sanitized_plugin_version} bare braces to ($var)
    • Wrap let nu_deps pipeline in outer parens for correct parse
    • Simplify validate-version-format to single =~ check
    • Remove unreachable null after return in http-get-with-retry

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)

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 | sh

Install 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_audio

You 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>