Skip to content

Releases: Stmol/yandex-music-downloader

v1.13.2

Choose a tag to compare

@github-actions github-actions released this 21 Aug 03:56
  • make batch interruption two-stage: the first Ctrl+C or SIGTERM stops scheduling new tracks and lets active downloads finish, while the second signal force-cancels active HTTP requests
  • keep distinct tracks with colliding sanitized names by adding deterministic [track-id] filename suffixes instead of skipping them as duplicates
  • move the CLI entry point to cmd/yamdl and share flag parsing, client setup, and source URL resolution between the TUI and yamdl download
  • improve batch event typing, display labels, validation, and regression coverage, and build all release archives from the new command package

v1.13.1

Choose a tag to compare

@github-actions github-actions released this 20 Aug 04:30
9c02d38
  • append each batch-download status as an immutable [status] Artist — Track line so previous events stay visible and are never overwritten
  • stop scheduling remaining batch tracks on Ctrl+C or SIGTERM so cancelled tracks stay queued, print Interrupted: remaining tracks stayed queued, then still emit the partial summary and exit 130

v1.13

Choose a tag to compare

@github-actions github-actions released this 19 Aug 13:03
  • added a non-interactive yamdl download command for downloading a track, album, playlist, or chart without opening the terminal UI
  • added required --token and --link options plus --format, --output, --timeout, and --skip-cover controls for batch downloads; MP3 and ./downloads remain the defaults
  • report each batch track's position and outcome, skip unavailable or duplicate entries, and print a downloaded/skipped/failed summary with the output directory
  • validate batch arguments, authentication, source resolution, and output paths before starting downloads; Ctrl+C and SIGTERM cancel the client, print the partial summary, and return exit code 130

v1.12

Choose a tag to compare

@github-actions github-actions released this 13 Aug 04:10
  • refactored the download queue around explicit per-session events, so progress counters stay scoped to the current run, unknown track IDs cannot corrupt state, and restarting Download all requeues eligible tracks consistently
  • unified MP3, FLAC, and M4A publication through a temporary artifact pipeline that streams MP3 responses into staging files, writes metadata before the final rename, publishes complete files atomically, and removes incomplete artifacts after failures
  • kept format-specific metadata rules in one publication path: MP3 and FLAC tags remain required before delivery, while M4A tagging remains best-effort without blocking a verified audio file
  • improved download diagnostics with streamed byte counts, sanitized response previews for text errors, injectable transports for HTTP tests, and clearer file-write failure stages
  • redesigned the terminal download screen with a unified action bar, clearer focus styling, responsive list sizing, width-safe status/title rendering, and expanded inline command help
  • added direct download-screen shortcuts for MP3/FLAC selection (1/2), Download all (D), back (b), quit or cancel (q), and expanded help (?), while preventing list Enter from activating an action
  • expanded regression coverage for session lifecycle, artifact publication and cleanup, streamed HTTP downloads, layout constraints, keyboard navigation, and concurrent state updates

v1.11

Choose a tag to compare

@Stmol Stmol released this 28 Jul 17:35
ed36c68
  • added M4A metadata writing for lossless flac-mp4 downloads: title, artists, album, album artist, genre, year, track/disc numbers, Yandex Music source URL, and embedded JPEG/PNG cover art when available
  • create the required M4A metadata atom tree when a valid MP4/M4A has no initial ilst, so lossless Yandex Music files receive tags and cover art
  • made M4A tagging non-fatal: if metadata writing fails, the verified audio file is still delivered and a warning is logged instead of deleting or blocking the download
  • covered both stco and co64 sample-offset atoms in the M4A tagging path without requiring ffmpeg or AtomicParsley at runtime
  • preserved unrelated MP3 comment frames while writing an application-owned Yandex Music source URL comment

Full Changelog: v1.10...v1.11

v1.10

Choose a tag to compare

@github-actions github-actions released this 28 Jul 14:58
  • migrated the terminal UI to Charm v2 (Bubble Tea, Bubbles, and Lip Gloss) and updated the application to the new declarative view and keyboard-event APIs
  • made token input, URL input, the track list, progress bar, and action controls adapt to the current terminal width and height; wide Unicode track titles now keep the status column aligned
  • improved download-screen navigation: arrow keys and H/J/K/L move between the format and action controls, while Esc returns focus to the track list
  • added a startup preflight check for TERM=xterm, which explains how to switch to xterm-256color before starting the app so colors, focus, and selected rows render correctly

v1.9

Choose a tag to compare

@github-actions github-actions released this 24 May 19:06
  • added support for Yandex Music chart URLs, including the default regional chart at /chart and region-specific charts such as /chart/world

v1.8

Choose a tag to compare

@github-actions github-actions released this 09 May 19:42
  • improved compatibility with newer Yandex Music lossless responses so lossless downloads work again with the current API and can be saved in the returned container format
  • improved download cancellation in the TUI: stopping an active queue now resets interrupted tracks back to a ready state instead of leaving them as failed downloads

v1.7

Choose a tag to compare

@github-actions github-actions released this 01 May 04:49
  • added a lossless FLAC download mode alongside the existing MP3 flow; MP3 remains the default format
  • added fallback-friendly download behavior: when FLAC is unavailable, invalid, fails to download, or cannot be tagged, the app automatically retries the same track as the best available MP3
  • added FLAC metadata writing with Vorbis comments and embedded cover artwork, including title, artists, album, album artist, genre, date, track/disc numbers, Yandex track ID, and a Yandex Music track URL comment
  • added a download format selector in the TUI action group so users can choose MP3 or FLAC for the whole current queue before starting downloads
  • redesigned the download screen controls into a focused action group with consistent keyboard behavior: Tab switches between the track list and controls, arrow keys move inside the controls, and Enter/Space activates the selected control
  • made the download screen layout responsive to terminal height by resizing the track list from tea.WindowSizeMsg, keeping the header, progress bar, controls, and hotkey help visible
  • updated downloaded-track status rendering to show the actual saved format: ✅ FLAC for FLAC downloads and ✅ MP3 for MP3 downloads or MP3 fallbacks

Version 1.6

Choose a tag to compare

@Stmol Stmol released this 24 Apr 05:46

What's New

Added support for Yandex Music album links so you can paste an /album/<id> URL and download the full album in order.

Album and Playlist Link Support

Yandex Music URLs now support:

  • https://music.yandex.ru/album/<albumId>
  • https://music.yandex.ru/playlists/<uuid>
  • https://music.yandex.ru/playlists/lk.<uuid>
  • https://music.yandex.ru/playlists/ps.<uuid>