Skip to content

Releases: Bandonker/desktop-audio-proxy

Release v1.1.7: TLC UPDATE

Choose a tag to compare

@Bandonker Bandonker released this 12 Feb 05:05

Feature and Documentation Enhancements:

Added full video streaming support (MP4, WebM, M3U8/HLS) with new examples, a React video player component, and expanded documentation in the README.md and CHANGELOG.md. This includes API usage for video, adaptive streaming, and seeking.
CI/CD Workflow Improvements:

Hardened GitHub Actions workflows by adding explicit permissions, timeouts, stricter matrix and linting steps, and improved artifact handling in .github/workflows/ci.yml, .github/workflows/pr-validation.yml, and .github/workflows/publish.yml.

Security Posture and Hardening:

Overhauled SECURITY.md to clarify current implemented controls (request validation, stream lifecycle cleanup, CORS, logging/telemetry), and explicitly list deferred hardening items (authentication, allowlists, rate limiting, SSRF controls). Added best practice code samples for URL validation and restrictive deployment.
Changelog and Metadata:

Updated CHANGELOG.md for version 1.1.7 to reflect new video features, documentation improvements, and package metadata changes.

Other Improvements:

Enhanced package description, keywords, and .gitignore to better reflect new video capabilities and streamline development.

Add legacy React example compatibility redirect (/examples/react-video-player.tsx -> /examples/react-example.tsx) across demo servers and smoke validation.
Remove shim-based React demo wiring and use the package React hook export directly.
Improve browser/client bundling safety for Node-only server imports and tighten export verification coverage.
Expand demo tooling with dedicated build/serve/smoke scripts and refresh demo entry assets.
Harden proxy behavior and tests around URL validation, request handling, timeout/redirect controls, and cleanup paths.
Reduce noisy test console output while preserving assertions and overall coverage.
Refresh workflow and packaging setup, including dependency/lockfile updates and publish-ready script alignment.
Update README and related docs for current API, migration notes, security defaults, demo route map, release checklist, and contributor/support guidance.
Keep release artifacts and examples aligned with the current project structure and compatibility expectations.
This pull request introduces comprehensive improvements to CI/CD workflows, security documentation, and demo code, along with new features and documentation for video streaming support. The changes focus on strengthening build/test pipelines, clarifying security posture and best practices, and improving demo safety and usability.

CI/CD Workflow Enhancements

Added explicit permissions to all workflow files (ci.yml, pr-validation.yml, publish.yml) for improved security; set contents: read for CI/PR validation and contents: write for publishing.
Introduced linting and export validation steps, increased timeouts, and improved artifact handling in CI, PR validation, and publish workflows. Also switched test runs to use --runInBand for reliability.
Enhanced package export validation to check for React and Vue builds/types, and added runtime subpath export verification scripts in PR validation.

Security Documentation and Best Practices

Overhauled SECURITY.md to clarify which protections are implemented versus deferred, and provided best practice code snippets for URL whitelisting, restrictive proxy configuration, and scoped auto-start usage.

Demo Code Improvements

Renamed proxy configuration option from proxyConfig to proxyServerConfig for consistency in both CLI and browser demos.
Added HTML escaping and error message normalization to demo UI rendering, preventing potential injection and ensuring robust error display.

Feature and Documentation Additions

Added comprehensive video streaming support (MP4, WebM, M3U8/HLS), React video player component, and expanded documentation in CHANGELOG.md and README.

v1.1.6: TypeScript Compilation Fix

Choose a tag to compare

@Bandonker Bandonker released this 21 Oct 20:46

Fixed

  • Added 'proxy_check' to TelemetryEvent type union (fixes TypeScript compilation errors)

What's Changed

This patch release fixes TypeScript compilation errors that were preventing the library from building properly. The telemetry system now correctly includes the 'proxy_check' event type.

Installation

npm install desktop-audio-proxy@latest

Links

v1.1.5: Security Documentation + Full Tauri v2 Support

Choose a tag to compare

@Bandonker Bandonker released this 21 Oct 20:35

v1.1.5 Changes

Added

  • SECURITY.md with comprehensive security best practices and vulnerability reporting
  • TAURI_MIGRATION.md with Tauri v1 to v2 upgrade guide
  • Documentation files now included in npm package

Changed

  • Updated README with references to security and migration documentation
  • Added npm run demo:serve command to documentation

v1.1.4 Features (included in this release)

Added

  • Tauri v2 Support - Automatic version detection, works with both v1 and v2
  • Auto-Start Proxy - Automatically spin up proxy server when needed (Node.js only)
  • Telemetry System - Optional performance monitoring and event tracking
  • Debug Logger - Multi-level logging with category filtering for troubleshooting
  • Interactive Telemetry Dashboard - Real-time performance monitoring demo
  • JSDoc Comments - Better IDE autocomplete support
  • Performance Benchmark Suite - Measure and optimize library performance

Changed

  • Improved error messages with actionable solutions
  • Added sideEffects: false for better tree-shaking
  • Enhanced TypeScript strict mode compliance

Fixed

  • Reserved keyword usage (renamed debugger to debug)
  • Missing return statements in async route handlers
  • TypeScript compilation warnings
  • Tauri v2 API detection issues (fixes "Right side of assignment cannot be destructured" error)

Installation

npm install desktop-audio-proxy@latest

For Tauri v2 Users

Add this to your tauri.conf.json:

{
  "app": {
    "withGlobalTauri": true
  }
}

Links

v1.1.3: Streamlined Demo & Enhanced Documentation

Choose a tag to compare

@Bandonker Bandonker released this 02 Jul 14:26

What's New in v1.1.3

Enhanced Demo Experience

  • Streamlined CLI Demo: Improved terminal interface with cleaner command structure
  • Updated Documentation: Comprehensive guides updated with latest examples and best practices
  • Better Getting Started: Clearer setup instructions for new users

Framework Integration

  • React Hooks: Complete integration with useAudioProxy, useAudioCapabilities, useProxyStatus, useAudioMetadata
  • Vue 3 Composables: Reactive audio processing with Vue's Composition API
  • TypeScript Support: Full type safety across all entry points

Core Features

  • CORS Bypass - Stream external audio URLs without restrictions
  • Multi-Environment - Automatic Tauri/Electron/Web detection
  • Smart Fallbacks - Graceful degradation when proxy unavailable
  • Range Requests - Full seeking support for audio streaming
  • React/Vue Ready - Framework-specific hooks and composables

Quick Start

npm install desktop-audio-proxy

import { createAudioClient } from 'desktop-audio-proxy';

const client = createAudioClient();
const playableUrl = await client.getPlayableUrl('https://example.com/audio.mp3');
audioElement.src = playableUrl;

Package Exports

  • Main: Full functionality (client + server)
  • Browser: Client-only, smaller bundles
  • Server: Node.js proxy server only
  • React: Hooks and providers
  • Vue: Composables and plugins

Try the Demo

npm run demo:cli    # Terminal demo with CORS testing
npm run demo        # Web demo with live examples

Perfect for podcast players, radio streaming apps, and any Tauri/Electron application that needs to access external audio content.