Skip to content

Releases: Ochichan/Yututui

v1.7.9

Choose a tag to compare

@github-actions github-actions released this 29 Oct 16:18
02be47e
  • Fixed YouTube playback that stayed at 0:00 / --:--. It failed every time with a cookies
    file and sometimes without one. yt-dlp is no longer pinned to the web_safari player client,
    which now returns only storyboard images. It uses yt-dlp's default clients without the TV
    clients, whose stream URLs return 403 in mpv.
  • When a YouTube track fails to load before playback starts, the player resolves it once to a
    direct stream URL and loads it again. The TUI and the headless daemon both retry. If the
    retry also fails, the skip message no longer blames yt-dlp, and the consecutive-error breaker
    still stops an offline session from skipping through the whole queue.
  • When yt-dlp reports that the account cookies are no longer valid, the TUI shows an error
    asking for a fresh cookies file, and the daemon records it as its last error. The first
    YouTube track of a session runs this check, so a single-track queue shows it too.
  • yt-dlp's "Sign in to confirm your age" error is now reported as sign-in required instead of
    a bot check.
  • On macOS, the delete key (which sends Backspace) now deletes on the Library screen, in the
    queue popup, and in the listening overlay. Text fields, the playlist picker, the Mini tier,
    and custom Backspace bindings keep normal Backspace behavior.
  • Updated tokio to 1.54.1 for RUSTSEC-2026-0386. Five new advisories without an upstream fix
    (zbus 5 crates, basic-toml, and crypto-bigint 0.5 through age) are recorded in deny.toml
    with the reason each path is accepted.

v1.7.8

Choose a tag to compare

@github-actions github-actions released this 09 Oct 02:04
0ec4082
Release v1.7.8

v1.7.7

Choose a tag to compare

@github-actions github-actions released this 30 Sep 03:29
15a529a
Release v1.7.7

v1.7.6

Choose a tag to compare

@github-actions github-actions released this 20 Sep 11:19
d4fe762

v1.7.6 — 2026-09-20

  • Local crossfade: Local Deck and downloaded files can blend into the next track on a
    second mpv process. Set the length in Settings under Local crossfade (off to 3.0 s). Skip,
    previous, jump, and an open video overlay still cut. The footer shows xfade N.Ns while the
    setting is on and this machine can run a second deck.
  • Radio steering: while Ctrl+R radio is streaming, B bans the current track, Shift+A
    bans its artist, and e opens a station card for soft "more like" and exclude seeds. The
    control box shows banned N · seeds M. Bans and seeds last for the session and apply to the
    headless daemon's ranking as well.
  • Atlas hover: station pins highlight under real mouse motion, and right-clicking a pin
    offers Play now, Favorite, Copy stream URL, and Open country list. Terminals that never report
    motion show no hover.
  • Play start: the start timeout now covers the full mpv spawn and IPC-connect budgets (it was
    5 s), so a slow first start no longer reports failure. Starting a new track while paused now
    plays it, because mpv kept its pause state across loads. Cookie-backed resolves no longer
    fail with "Requested format is not available" when the web_safari client has no audio-only
    stream.
  • Crossfade fixes (PRs #184, #186–#191): the time display no longer sticks at 0:00 / --:--
    after an overlap; turning crossfade off after a finished overlap no longer silences the
    current track; chapters, duration, and codec info now follow the incoming track; a crashed
    standby mpv no longer stops later overlaps; a seek during source recovery is no longer
    swallowed, and back-to-back loads each get their own generation.

v1.7.5

Choose a tag to compare

@github-actions github-actions released this 06 Sep 09:39
fe506b1

v1.7.5 — 2026-09-06

  • Atlas mode: press a in dedicated Radio mode (or click Atlas globe) to turn the Player
    into a rotatable, zoomable globe of Radio Browser stations drawn in Braille dots (ASCII in
    retro mode). No image protocol and no new crates. Geometry comes from omarchy-radio-atlas
    (MIT) and Natural Earth (public domain); the station list is cached on disk for 24 h.
  • Momoring: the DJ Gem start screen mascot is now Momoring, an animated braille character
    drawn at the largest of five sizes that fits beside the onboarding text. At 80x24 it hides
    instead of covering the Ask box.
  • Fixed: the first dynamic mpv command reused the chapter-list observer's request id.
  • Japanese Settings status for Streaming source now uses the shared field label (おすすめソース).
  • Parallel remote tests no longer race on a shared socket name; every test socket path is now
    unique by construction.
  • Internal cleanup with no intended behavior change: two readability passes, a simpler daemon
    owner loop, one candidate pool for the streaming loops, and deduplicated OpenSubsonic
    playlist observation commits.
  • Every release archive is now built and checked in a PR preflight before tagging.

v1.7.4

Choose a tag to compare

@github-actions github-actions released this 25 Aug 12:19
28881cb

v1.7.4 — 2026-08-25

  • Sleep timer: Shift+S (or ytt -r sleep <minutes|off>) arms a fade-out timer that pauses
    playback at the deadline and restores the pre-fade volume. Works in the TUI, the remote CLI,
    and the headless daemon; the countdown shows in the docked status line and in
    ytt -r status --json. One shared state machine in yututui-core keeps App and daemon in
    parity.
  • Chapter navigation: long-form tracks (DJ sets, podcasts) show chapter tick marks on the
    seekbar and their active chapter name; ! / @ jump between chapters (mpv-style).
  • Real terminal screenshots for the README/tour — 19 live slots including search, sources,
    library, queue, downloads, settings, EQ, themes, local deck, live radio, retro, onboarding,
    help, and the right-click context menu — plus a scripted hero GIF, the spinning-donut and
    fireworks canvas animations as GIFs. The slots that need a Gemini key, live playback capture,
    or another OS's UI keep honest placeholders.
  • PO-token / bot-era readiness: ytt doctor now reports PO-token provider, oauth plugin,
    and cookies readiness; 403/429 playback failures point at them directly; README/MANUAL cover
    the setup in English, Korean, and Japanese.
  • "Six catalogs" corrected to seven (OpenSubsonic joined the search box); terminal-compatibility
    matrix gained dated foot smoke-run evidence.
  • Folded in the Windows atomic-replace retry fix (PR #162) for the transient MoveFileExW
    access-denied flake family.
  • Release notes for v1.7.0–v1.7.3 backfilled on GitHub.

v1.7.3

Choose a tag to compare

@github-actions github-actions released this 20 Aug 17:34
17c05df

v1.7.3 — 2026-08-21

  • Removed the experimental full GUI app — the TUI and the tray mini player remain (PR #158).
  • h2 0.4.16 (RUSTSEC-2026-0258); actions/attest-build-provenance 4.2.2.
  • Windows quit-test persistence flake fixed; rustc 1.98 unused-import cleanup.
  • README: dropped the "Public beta" label and synced ko/ja with en.

v1.7.2

Choose a tag to compare

@github-actions github-actions released this 05 Aug 09:50
ab5b36c

v1.7.2 — 2026-08-05

  • Dependency refresh: reqwest reunified on 0.13, vendored ratatui-image moved to windows 0.62,
    cargo-deny skip list converged with the new graph.
  • Defects: publish uses conventional 0o644 for world-visible library roots; Settings no longer
    traps exits when the playback tool is missing; local-index tests isolated per test.
  • Documentation: custom-CA trust coverage and the one unreproduced macOS case noted; core
    coverage stays advisory at 79.61%.

v1.7.1

Choose a tag to compare

@github-actions github-actions released this 29 Jul 20:34
3277273

v1.7.1 — 2026-07-30

  • Real WebDAV servers and used profiles now work; a synced device can import portable data
    without bricking sync; the terminal outcome of a no-op owner sync is recorded.
  • yt-dlp invocations no longer pass --js-runtimes to builds that lack it.
  • Windows daemon smoke CI: trusted session snapshots, wider quit-flush deadline, and visible
    daemon evidence on timeout.

v1.7.0

Choose a tag to compare

@github-actions github-actions released this 29 Jul 13:48
581fd84

v1.7.0 — 2026-07-29

  • RFC #114 shipped: encrypted WebDAV sync with device pairing, recovery kits, revocation,
    and automatic sync; OpenSubsonic (Navidrome) as a first-class source — secure playback, the
    server library screen, ratings/history bridges, and linked playlist sync.
  • ytt server publish copies downloaded tracks into the configured music folder and asks
    the server to rescan; the TUI exposes the same action from the Library.
  • Personal-state v2 export/import with preview-first merges.
  • Fixed a debug-build stack overflow in the anonymous yt-dlp search chain; library/queue renders
    cache favorites, row text, and playlist filters; radio separator motifs build once.
  • The 1211-line runtime dispatch match split into per-domain handlers.
  • Windows ACL fixes for data export; Windows/macOS suites now run on every PR.