Skip to content

Releases: rry0ku/veluna

v0.1.5

Choose a tag to compare

@rry0ku rry0ku released this 04 Sep 10:49

Veluna v0.1.5

Veluna v0.1.5 brings dedicated listening history, YouTube artist discography exploration, enhanced playback stability, security hardening for backups, and significant rendering performance optimizations.


What's New

Dedicated Listening History View

  • Added a full-featured Listening History view (Ctrl+5) accessible directly from the sidebar.
  • Includes track-level deduplication to prevent playback spam.
  • Real-time search filter across your full history.
  • Play All and Shuffle controls directly from the history page.
  • Single track deletion and bulk history clear options.

YouTube Artist Discographies & Top Artists

  • Added dedicated YouTube artist pages with top songs and discography browsing.
  • Dynamic high-resolution artist avatars integrated across views.
  • Deep navigation history support for seamless back/forward navigation between artists and views.

Expanded Categories & Discovery

  • Expanded music categories and genre classifications with precompiled matchers.
  • Enhanced onboarding and category emblems for music discovery.
  • Multi-CSV playlist import capabilities.

Performance & Stability

  • Playback Pipeline Stabilization: Refactored MPV event listeners with stable refs to eliminate event teardown thrashing and race conditions.
  • Track Transition Cooldown: Added a transition cooldown gate to prevent duplicate EOF track skipping.
  • YouTube Stream Cache Tuning: Reduced stream cache TTL to 15 minutes to prevent expired CDN token TLS handshake errors.
  • Offline / Online Queue Isolation: Separated offline local audio playback state from online streaming queues.
  • Virtualization & Rendering: Optimized virtual list rendering and scrolling performance for smooth navigation on low-end hardware.
  • Wayland Crash Fix: Resolved Wayland Error 71 protocol crashes on Linux desktop environments (#6).

Security & Privacy

  • Credential Isolation: API keys and secrets are now strictly excluded from exportable backups.
  • Input Masking: Added visual masking and toggle visibility for sensitive configuration fields.

Packaging & Downloads

  • Linux: Available in AppImage, Debian (.deb), Red Hat / Fedora (.rpm), and Arch Linux (.pkg.tar.zst).
  • Windows: Available as an NSIS Installer (.exe) and portable binary bundle (binaries.zip).

Full Changelog: v0.1.4...v0.1.5

v0.1.4

Choose a tag to compare

@rry0ku rry0ku released this 29 Aug 16:47

Veluna v0.1.4 Release Notes

Veluna v0.1.4 introduces streamlined Last.fm scrobbling, a real-time searchable settings engine, dynamic interface scaling, multi-select batch library operations, stream caching controls, and critical stability fixes.


Last.fm Scrobbling and Now Playing

  • Browser-Based Authorization: Users can authorize directly via the browser. Veluna automatically retrieves the authentic username and session key without manual credential entry.
  • Real-Time Now Playing Status: Active listening status is dispatched to Last.fm immediately upon track playback.
  • Standard 50% Scrobble Scheduling: Scrobbles are submitted once 50% of the track duration (or 4 minutes) has played, protected by anti-spam duration filters.
  • Account Status Display: Displays connected status with the user handle and a single-click disconnect action.
  • Silent Background Dispatch: Scrobble requests execute quietly in the background without intrusive popup notifications during playback.

Settings Engine, UI Scaling, and Cache Controls

  • Per-Card Search Filtering: Real-time keyword filtering allows users to locate specific configuration options instantly.
  • Dynamic UI Scaling (-5 to +5): Adjust the application interface scale smoothly between 75% and 125% with page-level zoom and a one-click header reset action.
  • Audio Caching and Stream Prefetching: Configurable toggle for stream audio caching (Zero-Cache Mode), storage auto-cleaner disk limits from 500MB to Unlimited, and a one-click cache purge button.
  • Network and Audio Proxy: Support for HTTP, HTTPS, and SOCKS5 proxies, alongside custom Invidious and Piped mirror endpoints with an integrated connection test utility.

Batch Operations and Offline Library Management

  • Multi-Select Engine: Select multiple tracks using Shift+Click (range selection) and Ctrl+Click / Cmd+Click across playlists and local libraries.
  • Floating Batch Action Bar: Execute bulk operations on selected tracks, including Add to Playlist, Bulk Download, Batch Delete, and Select All.
  • Offline Library Tagging: Point Veluna at any local audio directory to scan files, edit ID3 tags in place, extract embedded artwork, and generate peak waveform visualizers without blocking the main UI thread.
  • Playlist Utilities: Smart duplicate track detection with one-click batch removal and bulk metadata updating across entire playlists.

Performance and Low-Spec Mode

  • Zero-Lag Interface: Option to remove GPU-heavy backdrop blur filters and box shadows in favor of a high-contrast flat layout.
  • Zero-Latency Input Response: Disables continuous keyframe animations and hover transforms to reduce CPU and GPU overhead on low-end hardware.
  • Background Process Throttling: Automatically pauses active animations and throttles polling loops when the window is minimized, reducing idle resource usage to 0%.

Stability and Codebase Audit

  • Hour-Aware Time Formatting: Updated time parsing logic to properly support audio tracks exceeding 60 minutes (H:MM:SS) and added strict non-finite guards against invalid numerical inputs.
  • Duration Parsing Guards: Hardened duration parser against malformed strings to prevent NaN propagation in playback and seek calculations.
  • Zero-Division Prevention: Protected listening analytics calculations from zero-division errors when processing empty or reset listening histories.
  • Dead Code Removal: Removed unused scrobbling endpoints and deprecated state parameters to reduce bundle size and maintain a clean architecture.

Distribution Packages

  • Linux: .deb (Debian, Ubuntu, Mint), .rpm (Fedora, RHEL), .pkg.tar.zst (Arch, Manjaro, EndeavourOS)
  • Windows: Standalone 64-bit installer (.exe)

Full Changelog: v0.1.3...v0.1.4

v0.1.3

Choose a tag to compare

@github-actions github-actions released this 25 Aug 23:13

Veluna v0.1.3 Release Notes

Highlights: Instant Playback and Engine Overhaul

This release addresses critical playback latency and stability issues. Songs now start playback instantly with zero buffering lag, optimized audio pipes, and smooth track transitions.

Key Improvements

Audio Engine and Playback

  • Fixed critical playback stall and buffering bugs so streaming tracks now initialize and play immediately.
  • Fixed audio player crossfade concurrency race conditions, preventing multiple simultaneous volume fade timers from competing during track endings.
  • Improved playback state synchronization across MPRIS2 and Discord Rich Presence integrations.

Performance and Rendering

  • Modularized the frontend architecture into dedicated layout containers, views, and custom React hooks for improved runtime efficiency.
  • Optimized the virtualized track list to ensure instant re-rendering and fluid scrolling across large search queries and playlist tabs.
  • Batched offline library metadata and tag extraction to eliminate UI render thrashing when scanning local music directories.
  • Eliminated redundant dynamic import warnings in the client build pipeline for faster bundle execution.

User Interface and Navigation

  • Resolved sidebar flyout menu stacking context bugs to ensure solid, opaque background surfaces across all active themes.
  • Fixed global Ctrl+F / Cmd+F shortcut routing so users can instantly jump to and focus the search bar from any view.
  • Harmonized all playlist creation, edit, and import confirmation buttons to strictly adhere to the user-selected theme accent color.
  • Corrected artwork aspect ratio handling to preserve 1:1 square dimensions on local audio files while cropping 16:9 YouTube video thumbnail bars.
  • Added a direct close button to the play queue drawer and refined lyrics playback controls.

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 24 Aug 16:03

What's new in v0.1.2

CI/CD & Packaging

  • Automated GitHub Actions release pipeline for Linux and Windows
  • Publishes .deb (Ubuntu/Debian), .rpm (Fedora/RHEL), and .exe (Windows NSIS installer) on every tag push

Windows

  • Self-contained NSIS installer with mpv, yt-dlp, ffmpeg, and ffprobe bundled in
  • Added setup:deps script (node ./scripts/setup-deps.js) to automate Windows dependency setup for developers

Backend

  • Replaced 500ms polling loop with event-driven MPV property observers (time-pos, pause, duration, eof-reached)
  • Dynamic per-process socket paths replacing static /tmp/mpvsocket
  • Dynamic application log directory replacing hardcoded path
  • Path sanitization on file deletion and write endpoints

Bug Fixes & Cleanup

  • Removed duplicate modal and component files
  • Consolidated utility functions into a single module
  • Fixed compiler warnings on Windows builds

v0.1.1

Choose a tag to compare

@rry0ku rry0ku released this 13 Aug 13:03

Veluna v0.1.1

High-Performance Playback & Complete UI Redesign

This release focuses on playback performance and a visual overhaul of the interface. Stream startup is now under three seconds, the audio engine has been retuned for stability, and Discord Rich Presence support has been added. Every modal, dropdown, and equalizer control has also been redesigned.


Highlights

Area Improvement
Playback Stream startup reduced to under 3 seconds
Caching Previously played tracks resume with 0ms lookup
Interface Full redesign of modals, dropdowns, and equalizer
Integration Discord Rich Presence with live progress and controls
Packaging Native builds for Arch, Debian/Ubuntu, and Fedora/RHEL

Playback & Audio Engine

  • Sub-3-second stream startup — Parallel extractor processing resolves YouTube stream URLs significantly faster.
  • Instant replay cache — Previously played and pre-fetched tracks launch with 0ms lookup time.
  • Atomic batch IPC — mpv IPC commands are now consolidated into single socket payloads, removing control latency.
  • Buffering tuning — Adjusted --audio-buffer and demuxer readahead parameters to eliminate stutter during playback.

Interface Redesign

  • Studio-grade equalizer — Rebuilt equalizer card with theme-aware backgrounds, capsule preset chips (Flat, Bass Boost, Vocal, Treble, Electronic, Rock), and borderless sliders.
  • Capsule menus — Select menus, audio device dropdowns, and buttons now use pill-shaped borders with frosted glass backdrops (backdrop-filter: blur(24px)).
  • Glassmorphic modals — Bulk Tag Editor, Create Playlist, and Edit Playlist modals redesigned with dark glass cards and action buttons synced to the active theme accent (var(--v-accent)).
  • Typography — Outfit and Inter are now the primary font pairing, with fallback to native OS fonts (system-ui).

Discord Rich Presence

  • Live progress bar with synchronized elapsed/remaining timestamps (e.g. 01:32 ───── 03:06), updating in real time on seek or skip.
  • "Listen on YouTube" button linking directly to the active track.
  • "Download Veluna" button linking to the release page.

Stability & Fixes

  • Playback desync resolved — Added request-guarding to stop rapid track skipping from leaving mpv on a stale track or clearing loading indicators early.
  • HTTP 403 errors fixed — Stream extraction now uses the mweb and ios player clients, avoiding CDN user-agent signature blocks.
  • IPC broken pipe errors fixed — Added graceful socket shutdown handling (stream.shutdown) across all IPC functions.
  • Packaging — Added PKGBUILD, .deb, and .rpm build scripts with complete dependency manifests.

Installation

Linux

Arch Linux

git clone https://github.com/corvainx/veluna.git
cd veluna/packaging
makepkg -si

Debian / Ubuntu / Linux Mint

Download veluna_0.1.1_amd64.deb from the Assets section, then run:

sudo apt install ./veluna_0.1.1_amd64.deb

Fedora / RHEL / openSUSE

Download veluna-0.1.1-1.x86_64.rpm from the Assets section, then run:

sudo dnf install ./veluna-0.1.1-1.x86_64.rpm

Windows

  1. Download veluna_0.1.1_x64-setup.exe from the Assets section.
  2. Run the installer and follow the setup wizard.
  3. Launch Veluna from the Desktop or Start Menu.

What's Changed

Full Changelog: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@rry0ku rry0ku released this 26 Jun 21:11

Veluna v0.1.0 - Initial Release 🎵

Veluna wraps the power of mpv as its audio engine and yt-dlp as its streaming backend inside a lightweight Tauri v2 shell (Rust + React 19). The result is a lightning-fast player with near-zero resource overhead and full desktop environment integration.


🚀 Key Features

🔍 Streaming & Search

  • Instant YouTube Streaming: Search YouTube directly within the app and stream audio instantly via yt-dlp and mpv IPC — zero video bandwidth, zero buffering delay.
  • Search History: Access a quick-pick dropdown of your last 8 queries.
  • Quick Picks: Instantly replay your 20 most recently played tracks from the home screen.
  • Genre Shelves: Home screen automatically detects genres from your listening history and clusters your tracks into scrollable shelves (Hip-Hop, Synthwave, Lo-Fi, Pop, Rock, EDM, and more).

📁 Offline Library & Downloads

  • Local Library Scanning: Point Veluna at any folder to scan local audio. Metadata is scanned and enriched in the background without UI lag.
  • Offline Playback: Full filter-as-you-type search, real-time drag-and-drop reordering, and direct file management (rename files on disk, delete tracks, or show in system file manager).
  • High-Quality Downloader: Save any YouTube track with one click. Select your audio format (MP3, Opus, M4A, FLAC) and quality (High 320kbps+, Medium, Low).
  • Embed Metadata: Automatically writes cover art, titles, artists, and album tags directly into file ID3/MP4 metadata.
  • Duplicate Detection: Smart scanner checks your destination folder before starting downloads to prevent downloading duplicates.

🎵 Playlists & Queue

  • Playlists Manager: Create, edit, and reorder playlists. Add custom cover artwork.
  • Smart Playlists: Built-in "Liked Songs" playlist updated via simple heart toggles across the app.
  • Spotify Import: Upload a Spotify playlist CSV (exported via exportify.net). Veluna matches each track concurrently and displays matching progress in a minimizable background modal.
  • YouTube Import: Paste any public YouTube playlist URL for instant queueing or saving.
  • Persistent Queue: Queue orders and items are persisted automatically across sessions.

🎤 Lyrics & Immersion

  • Scrolling Synced Lyrics: Real-time line-by-line synced lyrics highlighting and click-to-seek support.
  • Immersive Fullscreen View: Visual layout featuring blurred album art background, control widgets, audio output switcher, and scrolling lyrics.
  • Multi-Source Fallbacks: Select your primary lyrics source (lrclib, Musixmatch, or NetEase) with automatic fallbacks.

🔊 Audio Engine & Output

  • mpv Backend: Robust playback supporting Named Pipes (Windows) and Unix Sockets (Linux).
  • Live Output Switcher: Switch active audio output devices instantly (headphones, speakers, HDMI) without restarting playback or restarting mpv.
  • Audio DSP: 3-Band Equalizer (bass, mid, treble adjusted live), EBU R128 loudness normalization, skip silence filter, and seek-bar waveform visualization for local files.
  • Playback Speed & Loops: Control playback speeds (0.5× to 2.0×) and loop specific segments via A-B looping.

📦 Installation Guide

🐧 Linux — Debian / Ubuntu / Mint (.deb)

The Debian package automatically registers runtime dependencies and desktop application links.

  1. Download the veluna_0.1.0_amd64.deb package.
  2. Install the package using apt so system dependencies are resolved:
    sudo apt install ./veluna_0.1.0_amd64.deb
    

🐧 Linux — Fedora / RHEL / CentOS (.rpm)

  1. Download the veluna-0.1.0-1.x86_64.rpm package.
  2. Install using dnf:
   sudo dnf install ./veluna-0.1.0-1.x86_64.rpm

🪟 Windows (.exe)

  1. Download the veluna_0.1.0_x64-setup.exe installer.
  2. Run the installer and follow the setup wizard.
  3. If Windows SmartScreen warns you, click More info → Run anyway. This happens because the app isn't code-signed yet. Why?