Skip to content

v0.3.0

Latest

Choose a tag to compare

@Technikhighknee Technikhighknee released this 27 Sep 04:19
6fd64ad

Audio now uses the consuming entry-point filename as its application label by default. Use new Player({ applicationName: 'My app' }) to supply a product name. Existing playback calls remain compatible.

  • Windows WASAPI: set the audio-session display name and reapply it after device rerouting.
  • Linux PulseAudio / PipeWire compatibility: set both application and playback stream names.
  • macOS Core Audio and ALSA: preserve playback and process isolation; these platforms do not offer an equivalent application-label override. Process-based tools may still identify the helper on every platform. See platform behavior.

Names are validated and bounded; each player keeps its identity across helper restarts. Protocol 4 requires JavaScript and native executables to be updated together. The package includes all six supported native targets. No runtime npm dependencies, external players, or install-time compilation. Node.js 22+ remains required.

The release workflow validates 116 tests across Windows, macOS, and Linux, x64 and ARM64, on Node 22/24, plus sanitizers, documentation, installed-package checks, and npm publication dry-run. Windows real-device playback and independent session metadata were checked; Linux CI verifies real PulseAudio metadata. Physical Windows device switching, PipeWire itself, third-party mixer UIs, and macOS/Linux speaker listening remain unverified.

Install with npm install node-playsound@latest.

The attached node-playsound-0.3.0.tgz is byte-for-byte identical to npm's package. GitHub's automatically generated source downloads are separate source-code archives.