Skip to content

v0.8.0

Choose a tag to compare

@temidaradev temidaradev released this 27 Jun 16:39

This release is mostly cleanup and refactor work: a big code split across server, utils, sources, and the playback controller, native Windows cookie decryption for sign-in, assets baked into the binary, and a bunch of new translations.

Highlights

Native Windows cookie decryption. YouTube Music and SoundCloud sign-in now read browser cookies natively on Windows instead of going through the rookie crate (which is now off on Windows). Sign-in works without the third-party cookie reader.

Assets are baked into the binary. CSS, fonts, and the favicon now ship inside the kopuz binary, so it doesn't need any external files at runtime.

Big refactor. Server and utils are split up, the source model, page runtimes, backend modules, and playback controller are all broken out, and audio init, playback parsing, and config views got reworked. Dependencies are deduplicated through a virtual manifest to get ready for publishing on crates.io.

Features

  • yt-music showcase refactor.
  • Focus indicators on interactive elements that didn't have them.
  • Matroska audio content-types now map to the mka decode hint.
  • CSS, fonts, and favicon embedded into the binary.
  • Dropped panicky .unwrap() calls, added crate docs, and moved eprintln! over to tracing.
  • Deduplicated shared deps via a virtual manifest to prep for publish.
  • Added contributing guidelines.
  • New locales: Dutch, Malayalam, Tamil, Filipino, and European Portuguese (pt-PT), plus an updated Indonesian one.

Fixes

  • ytdlp: give yt-dlp a valid stdin so downloads work on Windows.
  • queue: don't split the queue when shuffling.
  • server: gate the rookie browser-cookie import to non-Windows.
  • db: tolerate line-ending-only migration checksum differences.
  • lyrics: drop negative cache TTL from 7 days to 1 day.
  • styles: stop the console warnings from re-diffing the stylesheet.

What's Changed

  • fix(ytdlp): give yt-dlp a valid stdin so downloads work on Windows (#430) by @UMCEKO in #431
  • feat(yt-music): yt-music general showcase refactor by @temidaradev in #438
  • Add Dutch locale by @FormalSnake in #441
  • Added Malayalam and Tamil translations by @aka-nahal in #440
  • UI/UX: Missing Focus Indicators on Interactive Elements by @tomaioo in #439
  • feat(locale): add Filipino (fil) translation by @IsaacCodesStuff in #448
  • feat(locale): add European Portuguese (pt-PT) support by @deohanis in #443
  • refactor: eliminate panicky .unwrap() calls, add crate docs, migrate eprintln! to tracing by @jomvick in #416
  • fix(README-PT-PT) refine clarity and grammar for easier reading by @deohanis in #450
  • fix(queue): Remove split of queue when shuffling by @FluffyPunk in #433
  • feat: map Matroska audio content-types to mka decode hint by @mvanhorn in #449
  • Update Indonesian Translation by @naturbrilian in #456
  • Better audio initialization, playback parsing, and config views by @NotAShelf in #458
  • Refactor server and utils for better modularity and separation by @NotAShelf in #460
  • Split source model, page runtimes, backend modules, and playback controller by @NotAShelf in #461
  • meta: deduplicate dependencies via virtual manifest; prepare for publish by @NotAShelf in #462
  • feat(kopuz): embed CSS, fonts, and favicon into the binary by @UMCEKO in #434
  • fix(server): gate browser-cookie import (rookie) to non-Windows by @UMCEKO in #435
  • fix(db): tolerate line-ending-only migration checksum differences by @UMCEKO in #436
  • Initial contributing guidelines by @NotAShelf in #463
  • Implement native Windows cookie decryption for YouTube Music and SoundCloud sign-in by @UMCEKO in #468

New Contributors

Full Changelog: v0.7.0...v0.8.0