Skip to content

Releases: rajofearth/muxics

Muxics v1.0.7

Choose a tag to compare

@github-actions github-actions released this 10 Oct 13:20

AppImage updates

  • AppImage update information: Linux AppImages now embed AppImage-native update
    information (gh-releases-zsync|rajofearth|muxics|latest|Muxics-*-<arch>.AppImage.zsync)
    in the .upd_info section, and a matching .zsync is published next to each
    AppImage. AppImageUpdate, appimageupdatetool, Gear Lever, and AppImageLauncher
    can now update Muxics with efficient delta downloads.
  • The embedded update information is written in place (no repack), so the
    electron-builder runtime is unchanged. The electron-updater manifest is refreshed
    after patching; Linux in-app updates now use a full download.

Muxics (packaged by electron-builder)

This release includes builds for macOS (arm64), Linux (x64 & arm64), and Windows (x64 & arm64).

See attached artifacts for installers and archives generated by electron-builder.

NOTES:

  • macOS builds are NOT notarized in CI.
  • Windows installer is NSIS by default (see electron-builder.yml).
  • Linux builds include AppImage (+ .zsync), and tar.gz per electron-builder.yml.

Muxics v1.0.6

Choose a tag to compare

@github-actions github-actions released this 10 Oct 03:18
01fd78b

AppImageHub / Linux packaging

  • AppImage filename: Linux artifacts no longer include linux in the name (e.g. Muxics-1.0.6-x86_64.AppImage instead of Muxics-1.0.6-linux-x86_64.AppImage), matching AppImageHub naming rules.
  • Offline startup: Auto-update is skipped entirely when the machine is offline, so Chromium never logs net::ERR_INTERNET_DISCONNECTED. Remaining network/DNS failures are ignored (no red banner, no checkForUpdatesAndNotify() toast). Startup uses a silent checkForUpdates() only when online. Real update failures still surface in the in-app banner.

Muxics (packaged by electron-builder)

This release includes builds for macOS (arm64), Linux (x64 & arm64), and Windows (x64 & arm64).

See attached artifacts for installers and archives generated by electron-builder.

NOTES:

  • macOS builds are NOT notarized in CI.
  • Windows installer is NSIS by default (see electron-builder.yml).
  • Linux builds include AppImage and tar.gz per electron-builder.yml.

Muxics v1.0.5

Choose a tag to compare

@github-actions github-actions released this 31 Jul 17:29

New Features

  • Browser Extension Session Recovery: Added background session monitoring and automatic cookie refresh through the browser extension, allowing expired YouTube Music sessions to recover without requiring a manual restart.
  • Startup Recovery Flow: Added a full-window splash screen with authentication, library scan, playlist loading, synchronization progress, and clear signed-out/reconnect guidance.
  • Stream Preloading: Upcoming queue tracks now prefetch yt-dlp stream URLs, reducing the delay when advancing to the next track.
  • Structured YouTube Music Integration: Refactored the YouTube Music backend into dedicated authentication, client, data, parsing, cookie, and playback modules, with separate renderer stores for authentication, library, playlists, UI, and session initialization.
  • Faster Metadata Resolution: Track durations can now be read directly from raw YouTube Music responses, avoiding unnecessary cache, API, and yt-dlp lookups.

UI & UX Changes

  • Authentication Settings: Added browser-extension setup instructions, live connection status, session recovery controls, and a clearer path for reconnecting YouTube Music.
  • Playback Experience: Improved queue handling, stream refresh behavior, track switching, duration updates, and playback recovery for YouTube Music tracks.
  • Search Responsiveness: Search input now preserves spaces and updates immediately while heavier library filtering runs asynchronously.
  • Library and Playlist Loading: Playlist hydration, cover images, and library synchronization now appear more reliably during startup and background refreshes.

Technical Fixes & Improvements

  • Session Validation: Sessions are now recovered based on validity instead of timestamps, with stronger authentication-cookie checks and corrected SAPISID hash handling.
  • Cookie Handling: Centralized browser-extension cookie utilities, filtered cookies for yt-dlp compatibility, and made concurrent yt-dlp requests use isolated temporary cookie files.
  • YouTube Music Reliability: Fixed stale session handling, sync failures, playlist ID normalization, cache behavior, and recovery-loop bounds.
  • Playback Reliability: Hardened stream URL resolution and audio playback error recovery, including cookie serialization and yt-dlp session handling.
  • ARM64 Windows Installer: Forced the compatible 7-Zip BCJ2 filter and enabled ARM64 Windows packaging so the NSIS installer retains the application executable and DLLs after installation.
  • Dependency Updates: Updated YouTube Music, ColorThief, Electron updater, React tooling, Tailwind, Zustand, and related dependencies; removed unused packages.
  • Development Workflow: Added an Electron predev build step to prevent the development startup race.

Documentation & Housekeeping

  • Adopted Matt Pocock's engineering skills as the repository's agent workflow: composable skills for discovery, grilling, domain modeling, test-driven development, debugging, architecture, research, and code review. Configured this codebase with AGENTS.md, CONTEXT.md, docs/agents/domain.md, and docs/agents/issue-tracker.md so agents use the shared domain context and GitHub Issues consistently.
  • Removed the unused OAuth login flow and extracted shared renderer store helpers.

Muxics v1.0.4

Choose a tag to compare

@rajofearth rajofearth released this 20 Jun 18:16
8a6ec82

New Features

  • Auto-Update: The app now checks for and downloads updates automatically in the background. A new update status UI surfaces progress, download completion, and install prompts directly within the app.
  • Home Feed: Added a personalized home feed with section-based layout (Quick Picks, Listen Again, and more) fetched directly from YouTube Music.
  • Album Browsing: Full album hydration from YouTube Music with MPRE/OLAK ID support, parallel search for songs/albums/playlists, and save/unsave playlist actions.
  • Save to Library: Playlists and albums from YouTube Music can now be saved to or removed from your library directly within the app.
  • yt-dlp Streaming: Replaced the fragile CDP-based PoT extraction with yt-dlp for reliable stream URL resolution. yt-dlp handles PoT generation, client rotation, cipher breaking, and format negotiation in a single subprocess call.

UI & UX Changes

  • Search Expansion: Search results now include albums and playlists alongside tracks, with dedicated horizontal scroll sections for each type.
  • Playlist Management: Updated playlist data model with author, picture, and type attributes. Playlist header actions extended with save/unsave toggle.
  • Navigation: Sidebar now filters transient items so browsed albums appear in-app without cluttering the sidebar library.

Technical Fixes & Improvements

  • Audio Proxy Rewrite: Cache-first serving with a two-attempt cookie strategy and proper request headers for Google CDN and googlevideo.com compatibility.
  • API Hardening: Added ID validation, retry logic across ID formats, direct execute() calls for edit/delete operations, and transient items support.
  • Cache Improvements: Migrated audio cache keys to v2 format, fixed cache warmer headers, and added yt3.googleusercontent.com to trusted hosts.
  • Stream Error Handling: Fixed audio server error handlers so mid-stream errors properly terminate the response instead of silently leaking connections.
  • Cookie Security: yt-dlp cookie file permissions now restricted to owner read/write on Unix systems.
  • HomeFeed Stability: Fixed an infinite re-fetch loop when the API returns empty sections.
  • SearchView Coverage: Added missing playlist checks in loading and empty-state conditions.
  • Sidebar Filtering: Switched transient playlist filtering from ID-based to reference-equality to prevent saved playlists from being hidden.
  • Duration Validation: Added finite-number guard on audio element duration to prevent Infinity values from poisoning scrubber calculations.
  • Memo Dependencies: Fixed stale closure in MainWindow's activePlaylist useMemo by adding missing dependencies.
  • playerStore Reconciliation: Fixed empty playlist hydration loops, logout state cleanup, search-result hydration coverage, home-feed track persistence, and unliked track removal from favorites.

Muxics v1.0.3

Choose a tag to compare

@github-actions github-actions released this 22 Mar 14:04

Release Notes: v1.0.3

New Features

  • Auto-Update: The app now checks for and downloads updates automatically in the background. A new update status UI surfaces progress, download completion, and install prompts directly within the app.
  • Collage Layout: Introduced a new Collage component integrated into GridView and MainWindowContent, providing a richer visual layout for the main library view.
  • YouTube Caching & Playlist Management: Enhanced caching for YouTube content and improved playlist management, building on the existing YouTube Music integration.

UI & UX Changes

  • Folders in Settings: The dedicated Folders view has been removed from the main navigation and its functionality moved into the Settings panel, streamlining the sidebar layout.
  • Layout Tweaks: Minor spacing and alignment adjustments in GridView and MainWindowContent to support the new collage-based layout.

Technical Fixes & Improvements

  • Auto-Update Error Handling: Added isMissingUpdateMetadataError to silently suppress benign 404s for missing latest.yml files. A centralized handleUpdateCheckError function now governs all update error paths, replacing scattered inline .catch blocks and ensuring the renderer only receives error events for genuine failures.
  • Build Workflow: Updated GitHub Actions versions across the CI build workflow to keep the pipeline current.
  • Windows Artifacts: Disabled compression for Windows build artifacts to improve release pipeline reliability.

Documentation & Housekeeping

  • Added MIT license to the repository.
  • Renamed AGENTS.md to LEARNS.md.

Muxics v1.0.2

Choose a tag to compare

@github-actions github-actions released this 21 Mar 05:16
7f25a5b

Release Notes: YouTube Music Support

The yt-client branch has been merged, enabling YouTube Music integration.

New Features

  • Authentication: YouTube Music sign-in is now handled via a browser-session import through the localhost bridge.
  • Library Sync: YouTube Music songs and playlists are synced and displayed alongside local files in the standard library views.
  • Playlist Hydration: YouTube playlists are hydrated upon their first open, and the track list is persisted in the local cache.
  • Playback Engine: Playback URL resolution routes through the local audio server. The engine evaluates stream qualities, prefers audio-only formats, and resolves streams via InnerTube.
  • Caching: YouTube artwork, audio streams, and hydrated playlist data are cached directly on disk under app data.

Technical Fixes & Improvements

  • Sign-in Reliability: Replaced the unreliable Electron embedded sign-in process with the browser-session import method.
  • Sync Accuracy: Corrected library sync data issues by routing requests strictly to music.youtube.com, ensuring valid origin headers, and properly unwrapping nested chip commands from raw browse data.
  • Track Switching: Resolved an issue where track switching kept the old song playing too long. Stale asynchronous loads are now canceled, and the current audio element is stopped and reset immediately on switch.
  • Playback Reliability: Fixed playback failures on specific YouTube tracks by natively deciphering stream formats instead of relying on direct renderer URL handling.
  • Playlist Fixes: Addressed an issue where YouTube playlists opened without tracks.

Future Plans

  • Enhanced Home Page: Incorporate YouTube Music's home sections into the main UI (Listen again, Fresh finding, Quick picks, Similar to, etc.).
  • Offline Downloads: Implement optional track and playlist downloads, modifying the playback engine to always prefer playing locally downloaded files.
  • Settings Redesign: Update the settings page to a clean, minimal interface, significantly reducing configuration complexity.

This release includes builds for macOS (arm64), Linux (x64 & arm64), and Windows (x64 & arm64).

Muxics v1.0.1

Choose a tag to compare

@github-actions github-actions released this 16 Mar 15:50

Muxics (packaged by electron-builder)

This release includes builds for macOS (arm64), Linux (x64 & arm64), and Windows (x64 & arm64).

Full Changelog: v1.0.0...v1.0.1

Muse v1.0.0

Muse v1.0.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Mar 06:43

Muse – A modern music player

Cross-platform desktop music player built with Electrobun, React, and Bun.

Downloads

Platform Architecture File
macOS Apple Silicon muse-*-arm64.dmg or .zip
Linux x64 .AppImage or .tar.gz
Linux ARM64 .AppImage or .tar.gz
Windows x64 .exe or .zip

Requirements

  • macOS: macOS 10.15+ (Apple Silicon)
  • Linux: WebKitGTK 4.1, GTK 3
  • Windows: Windows 10+

Changes

See the commit history for details.