Skip to content

Releases: Technikhighknee/node-playsound

v0.3.0

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.

v0.2.0

Choose a tag to compare

@Technikhighknee Technikhighknee released this 18 Sep 10:32
a127b24

Add first-class Playback.pause() and resume(), acknowledged paused state, and asynchronous getTiming() snapshots with mixer-consumed position and nullable duration. Seeking while paused keeps playback paused. Controls and queries preserve bounded buffering, concurrency ownership, cancellation, cleanup, and failure isolation.

Position is PCM handed to the mixer, not physical-speaker time. getTiming() returns null after settlement; observe both query failures and finished. See the API reference for ordering and timing semantics.

Protocol 3 adds request-token validation and hardened numeric parsing. Native executables must be updated together with JavaScript; all six are included. Node.js 22+ is required. No runtime npm dependencies, external players, or install-time compilation.

The release workflow verifies 109 tests on Windows, macOS, and Linux, x64 and ARM64, Node 22/24, sanitizers, documentation, and installed-package checks. Windows production-device WAV/MP3/FLAC playback was checked; physical macOS/Linux listening remains unverified.

Install with npm install node-playsound@latest.

The attached node-playsound-0.2.0.tgz is byte-for-byte identical to npm's archive. GitHub's automatic source downloads are separate source-code archives.

v0.1.2

Choose a tag to compare

@Technikhighknee Technikhighknee released this 16 Sep 16:16
45f43b8

Metadata-only release: clearer package description, focused discovery keywords, and npm version, build status, and CC0 license badges. No changes to playback behavior, runtime dependencies, or the public API.

All six platform builds and package verification passed in the release workflow.

The attached node-playsound-0.1.2.tgz is byte-for-byte identical to the archive published to npm. GitHub's automatic source archives are separate source-code downloads.

v0.1.1

Choose a tag to compare

@Technikhighknee Technikhighknee released this 16 Sep 02:26
4dd79ab

Fixes a Windows startup crash (0xC000001D) caused by native engines inheriting optional CPU instructions from the build host. Bundled engines now target portable CPU baselines, with a build guard against accidental AVX requirements. Illegal-instruction errors also include a useful explanation.

Update with npm install node-playsound@latest.

All six platform builds, Node 22/24 tests, sanitizer checks, installed-package checks, and packaging validation passed on the release commit. The release's Windows executable was additionally verified on the affected Ryzen machine with MP3 playback, seeking, stopping, and clean shutdown. Physical macOS/Linux listening remains unverified, as recorded in the repository's validation notes.

The attached node-playsound-0.1.1.tgz is byte-for-byte identical to the archive published to npm. GitHub's automatic source archives are separate source-code downloads.

v0.1.0

Choose a tag to compare

@Technikhighknee Technikhighknee released this 15 Sep 21:15
ec20d8a

Initial release of node-playsound.

  • Local WAV, MP3, and FLAC playback on Windows, macOS, and Linux, for x64 and ARM64.
  • TypeScript and ESM API with concurrent playback, reusable sounds, volume, stopping, seeking, cancellation, and completion promises.
  • Bundled native engines; zero runtime npm dependencies and no install-time compilation.
  • CC0-1.0, with unmodified miniaudio under its public-domain option.

Install from npm:

npm install node-playsound@0.1.0

The attached node-playsound-0.1.0.tgz is byte-for-byte identical to the archive published to npm and includes all six native engines. GitHub's automatic source archives contain the source checkout instead.

Documentation · API · Validation and limitations

Automated six-platform validation passed. Physical macOS/Linux listening remains unverified.

npm archive integrity:

sha512-pzJcvMwlBaHYEXOo7/d1Q1yEpb2RWSpbV1vMuqGnF0Se8p7mMLQOPnRsJBJs3w9Is7ryjmJXZ8OEzzH7VZRJ+A==