Skip to content

Releases

StreamQueue v0.4.0

Choose a tag to compare

@choompuy choompuy released this 28 Oct 11:53

What's New

YouTube & Playback

  • Improved YouTube search performance and API quota management.
  • Load up to 250 tracks from playlists with improved playability checks.
  • Improved playback recovery, progress display, and handling of live streams.
  • More reliable fallback playback, including preserving playlist position across restarts.
  • Improved track filtering and blocked-track handling.

Twitch Integration

  • Improved Twitch device authorization, reconnection, and cancellation handling.
  • More reliable Channel Points redemption processing and duplicate prevention.
  • Improved connection status reporting and error handling.
  • Better handling of chat replies and playback-related request failures.

Queue & Control Panel

  • Queue limit can now be set to 0 for unlimited capacity.
  • Remote devices no longer show machine-specific settings and Twitch controls.
  • Improved settings validation and partial saves, preserving valid changes when some fields are rejected.
  • Better synchronization of queue, playlist, and application state.
  • Improved navigation accessibility and persistence of the selected page.
  • More consistent notifications, track descriptions, and localization.

Reliability

  • Improved persistence and recovery of local application data.
  • More reliable startup, shutdown, and fallback state handling.
  • Improved Windows tray launcher behavior, including server crash notifications and automatic server cleanup if the tray exits unexpectedly.
  • Reduced unnecessary YouTube API response data and improved concurrent video fetching.

Installation

  1. Download the Windows ZIP archive from the Assets section below.
  2. Extract it to a folder.
  3. Run Service.exe or the StreamQueue.exe tray launcher.
  4. Open the control panel and configure your settings.

No Node.js installation or manual build is required.

See the README for setup instructions.

Upgrade Notes

Back up your existing data/ and logs/ folders before upgrading. Your configuration and local data should be preserved, but keeping a backup is recommended.

StreamQueue v0.3.0

Choose a tag to compare

@choompuy choompuy released this 11 Oct 19:29

What's New

Real-time Updates

  • Live control panel updates — queue, playback and application state changes appear without relying solely on periodic polling.
  • More responsive overlay — improved synchronization and recovery when the player encounters errors.
  • Playback protection — prevents multiple local overlays from playing audio simultaneously.

YouTube Improvements

  • Improved caching — faster access to cached video information and more careful API quota handling.
  • More reliable playback recovery — transient player errors are handled more gracefully.
  • Consistent request limits — the currently playing requested track now counts toward the user's active request limit.
  • Reliable fallback playback — improved handling of blocked tracks and fallback playlist state across restarts.

Twitch Integration

  • More reliable connections — improved reconnection, timeout handling and recovery from connection interruptions.
  • Better Channel Points handling — more consistent redemption processing and status updates.
  • Improved error reporting — clearer handling of connection and configuration problems.

Control Panel

  • Improved settings forms — consistent saving, validation and error feedback across settings.
  • Better accessibility — screen readers can announce notifications more appropriately.
  • Localized view counts — number formatting follows the selected English or Russian interface.
  • More consistent controls — standardized button behavior, confirmation prompts and loading states.

Reliability

  • Safer data loading — improved handling of malformed or outdated local JSON data.
  • Improved startup and shutdown — more reliable application lifecycle and persistence handling.
  • Stronger validation — improved configuration and request validation.
  • Expanded automated tests — broader coverage of queue behavior, Twitch integration, playback, settings and application lifecycle.

Installation

  1. Download the Windows ZIP from the Assets section below.
  2. Extract it into a folder.
  3. Run Service.exe or the included StreamQueue.exe tray launcher.
  4. Open the control panel and configure your YouTube API key and other settings.

No Node.js installation or manual build is required to run the packaged application.

See README.md for setup instructions.

Upgrade Notes

If you're upgrading from an earlier version, keep a backup of your existing data/, cache/ and logs/ directories before replacing application files. Your local configuration and data should be preserved, but a backup is recommended before upgrading.

StreamQueue v0.2.2

Choose a tag to compare

@choompuy choompuy released this 04 Oct 21:58

This release focuses on reliability, Twitch connection recovery, YouTube request handling, Windows distribution, and a more self-contained application experience.

Highlights

  • More reliable Twitch integration

    • Added automatic recovery for stalled or disconnected Twitch Chat and EventSub connections.
    • Added Twitch health status and reauthorization warnings to the control panel.
    • Improved OAuth recovery and handling of revoked or unauthorized tokens.
    • Prevented authentication failures from causing endless reconnect loops.
    • Improved device-code polling and Twitch API error handling.
    • Added safer WebSocket shutdown and background reconnection.
  • Improved Channel Points reliability

    • Centralized redemption completion and refund handling.
    • Redemption status is now updated consistently when requests are played, removed, cleared, or blocked.
    • Distinguishes successful Twitch refunds from failed refund API requests.
    • Chat messages no longer claim a refund unless Twitch actually accepted it.
    • Improved Channel Points reward validation and error reporting.
  • YouTube search and playback improvements

    • Added configurable YouTube content mode:

      • Music — the default mode for music-focused requests.
      • Any — allows other YouTube video categories.
    • Improved filtering using YouTube topic and category metadata.

    • Scheduled streams are no longer treated as playable videos.

    • Improved live stream handling.

    • Avoided unnecessary YouTube API quota usage for requests that do not reach the API.

    • Improved quota accounting for timeouts and API responses.

    • Overlay playback can now recover from transient YouTube player errors without stalling the queue.

    • Overlay retries preserve the current playback position where possible.

  • Queue and fallback reliability

    • Queue items are now removed by videoId instead of array index.
    • Added server-side validation for queue removal requests.
    • Improved queue restoration and deduplication after restart.
    • Reduced queue state drift between persisted and runtime state.
    • Fallback track data is persisted separately from the main queue state.
    • Playlist filtering now preserves playlist ordering.
  • Stable server port

    • Added a persisted server port with 4747 as the default.
    • If the configured port is occupied, StreamQueue selects the next available port.
    • Reusing the persisted port keeps the OBS overlay URL stable across restarts.
  • Self-contained frontend

    • Removed remote Google Fonts and other remote frontend assets.
    • IBM Plex Mono is now bundled with the application.
    • QR code generation now uses a local bundled library.
    • Improved local asset and navigation URL handling.
    • Added local-address and host validation.
  • Windows release workflow

    • Added an automated Windows release build.
    • Release packages now assemble the SEA executable, frontend assets, license, and optional tray launcher.
    • Updated the tray launcher documentation for the .NET 10 WinForms application.
    • Documented self-contained tray launcher publishing.
    • Updated packaging requirements and release instructions.
  • CI and code quality

    • Added GitHub Actions CI checks for type checking, linting, and tests.
    • Added ESLint configuration and updated TypeScript/tooling configuration.
    • Expanded backend and frontend regression coverage across Twitch, YouTube, queue, persistence, and playback behavior.
    • Cleaned up test lint warnings and unused code.
  • Logging and persistence

    • Centralized application logging with file output and log rotation.
    • Improved runtime data and cache path resolution.
    • Persistence now defers file reads until they are actually needed.
    • Improved compatibility with existing persisted state.
    • Hardened configuration validation and secret handling.
    • Fixed port availability checks.

Breaking / behavioral changes

  • The default YouTube content mode remains Music, preserving the previous music-focused behavior.
  • The server now persists its selected port, so the same installation can keep a stable local overlay URL.
  • Twitch authentication failures may now require explicit reauthorization instead of silently retrying indefinitely.

Upgrade

For the Windows standalone release, replace the application files with the new v0.2.2 package while preserving your existing data/, cache/, and logs/ directories.

Existing configuration, playlists, queue state, and Twitch OAuth data are migrated through the application's normal persistence layer.

StreamQueue v0.2.1

Choose a tag to compare

@choompuy choompuy released this 02 Oct 12:23

This release improves the OBS overlay, settings experience, and overall control panel usability.

Highlights

  • Overlay display controls

    • Added video-only mode to hide the title, requester, and progress information.
    • Added configurable overlay opacity from 0% to 100%.
    • Expanded overlay settings and validation.
    • Improved overlay rendering for the new display options.
  • Language selection

    • Added a language selector directly to the main navigation.
    • Removed the separate language settings section.
    • RU/EN interface switching is now easier to access.
  • Control panel UX

    • Added clearer focus states for interactive elements.
    • Improved disabled states for unavailable controls.
    • Added loading states to settings and Twitch save actions.
    • Improved player action feedback for play/pause and skip operations.
  • Settings

    • Improved settings layout for the new overlay options.
    • Added better handling for dependent overlay controls.
    • Extended backend validation and tests for overlay settings.
  • Documentation

    • Updated the README to reflect the current native Twitch integration, Windows standalone distribution, overlay options, configuration, and data handling.

Technical

  • Extended the Settings model with:

    • hideOverlayInfo
    • opacity
  • Added backend validation for the new settings.

  • Updated frontend state, persistence, and overlay rendering.

  • Expanded regression coverage for the new settings and system routes.

Upgrade

If you're using the Windows standalone build, download the new v0.2.1 release and replace the previous application files. Existing data/ and cache/ directories can be preserved.

StreamQueue v0.2.0

Choose a tag to compare

@choompuy choompuy released this 01 Oct 10:32
7aad4e0

This release significantly expands StreamQueue with native Twitch integration, channel point rewards, Windows distribution, improved moderation, playback reliability, and a more robust control panel.

Highlights

Twitch integration

StreamQueue now has native Twitch integration instead of relying only on external chat tooling.

  • Connect a Twitch channel directly from the control panel
  • Native Twitch chat commands for queue and playback controls
  • Configurable commands, permissions, and cooldowns
  • Twitch Channel Points integration for song requests
  • Track Channel Points redemptions and handle request failures
  • Automatic redemption handling after successful playback
  • Detailed chat notifications for accepted and failed requests
  • Automatic Twitch EventSub reconnection and redelivery protection
  • Improved OAuth token refresh and connection lifecycle handling

Channel Points rewards

Song request rewards can now be managed directly from StreamQueue.

  • Create and edit Twitch Channel Points rewards
  • Configure reward cost, limits, cooldowns, and color
  • Select which configured reward is used for song requests
  • Configure automatic fulfillment after successful playback
  • Cancel failed requests and refund points when appropriate

Windows standalone distribution

StreamQueue can now be distributed as a self-contained Windows application.

  • Node.js is no longer required on the target machine
  • Node Single Executable Application (Service.exe) build
  • Optional Windows tray launcher
  • Start, stop, restart, and monitor the StreamQueue service from the system tray
  • Local logs and runtime data stored alongside the application
  • Graceful shutdown with persisted state flushing
  • Automatic port selection
  • Protection against multiple tray instances

Blocklist and moderation

Track moderation is now built into the control panel.

  • Block tracks directly from Activity, Queue, or fallback lists
  • Dedicated Blocklist view
  • Blocked tracks cannot be requested again
  • Blocked tracks are skipped automatically in the queue and fallback playlist
  • Currently playing blocked tracks can be skipped
  • Blocklist entries are persisted locally
  • Blocklist size and input data are validated

Playback reliability

Playback and player state handling have been substantially hardened.

  • More reliable player initialization and reset handling
  • Protection against duplicate playback failure reports
  • Playback failures are associated with the correct video
  • Failed fallback tracks can automatically advance to the next track
  • Blocked tracks are skipped during playback
  • State changes are centralized and persisted more reliably
  • Improved overlay/player lifecycle handling

Control panel

The control panel has received a broad architectural and UX refactor.

  • Modular frontend architecture
  • Centralized action/event handling
  • Shared list and row components
  • More consistent queue, fallback, activity, and blocklist layouts
  • Improved settings state handling
  • Cancel actions for settings forms
  • Clear saved/changed states
  • Better validation feedback
  • Partial configuration saves when only some fields are invalid
  • Improved error and notification handling
  • English and Russian localization updates

YouTube improvements

  • Improved search result scoring
  • Trusted-channel scoring
  • Support for music.youtube.com
  • Better duration validation
  • Increased daily search quota allocation
  • Failed API requests no longer consume search quota
  • Stronger YouTube URL and video ID validation
  • Improved handling of unavailable, restricted, non-embeddable, live, and Shorts videos

Testing and reliability

This release also adds substantially more automated coverage.

  • Backend unit tests
  • Frontend regression tests
  • jsdom control panel smoke tests
  • Player and state persistence tests
  • Twitch integration and route tests
  • EventSub/WebSocket regression tests
  • Configuration validation tests
  • Security tests for admin filter bypass
  • YouTube search and scoring tests

Other changes

  • Centralized API routing
  • Shared reconnecting WebSocket infrastructure
  • Dedicated Twitch settings and configuration modules
  • Improved persistence and runtime path handling
  • More structured request/playback failure reasons
  • Better localized chat responses
  • Improved API error handling
  • Removed automatic browser opening for packaged deployments
  • Numerous UI, stability, and cleanup fixes

Upgrade notes

StreamQueue remains local-first: application state, configuration, playlists, blocklist, cache, and logs are stored locally.

For Windows users, the new standalone distribution is intended to make running StreamQueue possible without installing Node.js or manually editing configuration files.

StreamQueue v0.1.0

StreamQueue v0.1.0 Pre-release
Pre-release

Choose a tag to compare

@choompuy choompuy released this 14 Sep 22:31

StreamQueue v0.1.0

First public beta release of StreamQueue.

StreamQueue is a local YouTube song request queue for Twitch streams, with a web control panel, OBS preview, fallback playlists and Streamer.bot integration.

Included

  • YouTube song search and direct URL requests
  • Queue management with playback controls
  • Twitch / Streamer.bot integration
  • Fallback YouTube playlists with shuffle and repeat
  • Saved playlist management
  • Dashboard with queue statistics and activity log
  • OBS Browser Source preview
  • LAN access with QR code
  • Russian and English interface
  • Local settings, state and cache persistence
  • Automatic port selection
  • Standalone Windows executable without requiring Node.js

Beta status

This is an early public beta. The core functionality is in place, but the project is still being actively polished.

You may encounter:

  • UI inconsistencies
  • rough edges in some workflows
  • configuration or playback edge cases
  • changes to settings, APIs or stored data in future releases

For now, the release is primarily intended for testing and personal/local use.

Requirements

For the packaged Windows build:

  • Windows
  • YouTube Data API v3 key
  • Streamer.bot for Twitch chat integration

Node.js is only required when running the project from source.

Feedback

If you encounter a bug or unexpected behavior, please report it with the steps to reproduce it and any relevant logs.