Releases: sozercan/kaset
Release list
v0.13.1
What's New
⭐️ If you're enjoying this app, please share and star it! ❤️ You can also support development by buying me a coffee ☕
🎛️ Redesigned Player & Smart Shuffle
The Music and YouTube player bars have a cleaner, more compact layout with an always-visible timeline, marquee scrolling for long titles, a new volume control, and clickable artwork plus artist/channel metadata (thanks @prewue!). Smart Shuffle can now weave recommended tracks into your queue, clearly mark suggestions, and let you tune how often they appear (thanks @WGlegola!).
⏱️ Chapters, Mixes & Better Seeking
YouTube playback now includes 30-second back/forward controls, chapter navigation, and segmented chapter timelines with previews and snap-to-chapter seeking. Long DJ sets and continuous mixes gain per-track timeline segments, tooltips, keyboard and VoiceOver seeking, and individual Last.fm scrobbles for each track instead of one scrobble for the entire mix (thanks @tsibog!).
📚 Better Search, Library & Playlists
Search now preserves YouTube Music's ranked results, recognizes more result types, adds Videos, Profiles, and Episodes filters, and keeps pagination stable. Saved albums are now first-class Library items with their own filter and reliable add/remove behavior. You can also create playlists directly from the sidebar and remove songs from playlists you own, with immediate UI updates while changes sync (thanks @tsibog!). Artist names on album pages are now clickable too (thanks @AnthonyLenglet!).
👤 Guest Playback
Browse and play public YouTube and YouTube Music content without signing in. Signed-in users can switch to Guest Mode without losing their account session, while account-only features show clear sign-in prompts.
🌍 Kaset in 15 Languages
Kaset now supports 15 interface languages, adding German, Spanish, Italian, Dutch, Polish, Portuguese, Russian, Swedish, and Ukrainian while filling localization gaps throughout the sidebar, queue, settings, context menus, and YouTube experience (thanks @mozyonee and @Yoddikko!).
🧩 Better Extension Compatibility
Web Extensions can now access Kaset's actual YouTube and YouTube Music playback views, improving compatibility with extensions such as uBlock Origin Lite and SponsorBlock. See the extension setup guide for instructions on adding Safari/WebKit extensions or copying them from a browser profile.
⚡ Faster and More Energy Efficient
Initial pages appear sooner, large collections load on demand, and repeated API, artwork, parser, and background work is coalesced or avoided. The result is less network traffic, fewer idle wakeups, and smoother navigation throughout the app.
⌨️ Better macOS Controls & Automation
New AppleScript commands expose the current play queue and let scripts play any queue item by index (thanks @anuragdeshpande!). The Dock menu now includes Like/Unlike, and media keys keep controlling Kaset after playback is paused (thanks @WGlegola!).
🐛 Fixes and improvements
- Hardened playback and queue reliability during rapid skips, seeks, duplicate tracks, cancelled loads, and account changes.
- Fixed YouTube Music loading failures behind the EU consent wall.
- Expired sessions now return to sign-in instead of getting stuck on a blank account state (thanks @Rahulsharma0810!).
- Favorites are now kept separate per account, and rapid like/library updates no longer overwrite newer state.
- Fixed
kaset://deep links, playback shortcuts firing while typing, and sidebar re-selection behavior (thanks @mozyonee!). - Fixed artist metadata briefly showing view counts or losing clickability after track changes (thanks @potatomt!).
- Restored AI discovery commands for moods, genres, activities, and eras.
New Contributors
- @prewue made their first contribution in #327
- @WGlegola made their first contribution in #334
- @AnthonyLenglet made their first contribution in #341
- @Rahulsharma0810 made their first contribution in #339
- @anuragdeshpande made their first contribution in #348
- @tsibog made their first contribution in #365
- @mozyonee made their first contribution in #378
- @Yoddikko made their first contribution in #386
- @potatomt made their first contribution in #400
Full Changelog: v0.13.0...v0.13.1
v0.13.0
What's New
⭐️ If you're enjoying this app, please share and star it! ❤️ You can also support development by buying me a coffee ☕
🎛️ Redesigned Player & Smart Shuffle
The Music and YouTube player bars have a cleaner, more compact layout with an always-visible timeline, marquee scrolling for long titles, a new volume control, and clickable artwork plus artist/channel metadata (thanks @prewue!). Smart Shuffle can now weave recommended tracks into your queue, clearly mark suggestions, and let you tune how often they appear (thanks @WGlegola!).
⏱️ Chapters, Mixes & Better Seeking
YouTube playback now includes 30-second back/forward controls, chapter navigation, and segmented chapter timelines with previews and snap-to-chapter seeking. Long DJ sets and continuous mixes gain per-track timeline segments, tooltips, keyboard and VoiceOver seeking, and individual Last.fm scrobbles for each track instead of one scrobble for the entire mix (thanks @tsibog!).
📚 Better Search, Library & Playlists
Search now preserves YouTube Music's ranked results, recognizes more result types, adds Videos, Profiles, and Episodes filters, and keeps pagination stable. Saved albums are now first-class Library items with their own filter and reliable add/remove behavior. You can also create playlists directly from the sidebar and remove songs from playlists you own, with immediate UI updates while changes sync (thanks @tsibog!). Artist names on album pages are now clickable too (thanks @AnthonyLenglet!).
👤 Guest Playback
Browse and play public YouTube and YouTube Music content without signing in. Signed-in users can switch to Guest Mode without losing their account session, while account-only features show clear sign-in prompts.
🌍 Kaset in 15 Languages
Kaset now supports 15 interface languages, adding German, Spanish, Italian, Dutch, Polish, Portuguese, Russian, Swedish, and Ukrainian while filling localization gaps throughout the sidebar, queue, settings, context menus, and YouTube experience (thanks @mozyonee and @Yoddikko!).
🧩 Better Extension Compatibility
Web Extensions can now access Kaset's actual YouTube and YouTube Music playback views, improving compatibility with extensions such as uBlock Origin Lite and SponsorBlock. See the extension setup guide for instructions on adding Safari/WebKit extensions or copying them from a browser profile.
⚡ Faster and More Energy Efficient
Initial pages appear sooner, large collections load on demand, and repeated API, artwork, parser, and background work is coalesced or avoided. The result is less network traffic, fewer idle wakeups, and smoother navigation throughout the app.
⌨️ Better macOS Controls & Automation
New AppleScript commands expose the current play queue and let scripts play any queue item by index (thanks @anuragdeshpande!). The Dock menu now includes Like/Unlike, and media keys keep controlling Kaset after playback is paused (thanks @WGlegola!).
🐛 Fixes and improvements
- Hardened playback and queue reliability during rapid skips, seeks, duplicate tracks, cancelled loads, and account changes.
- Fixed YouTube Music loading failures behind the EU consent wall.
- Expired sessions now return to sign-in instead of getting stuck on a blank account state (thanks @Rahulsharma0810!).
- Favorites are now kept separate per account, and rapid like/library updates no longer overwrite newer state.
- Fixed
kaset://deep links, playback shortcuts firing while typing, and sidebar re-selection behavior (thanks @mozyonee!). - Fixed artist metadata briefly showing view counts or losing clickability after track changes (thanks @potatomt!).
- Restored AI discovery commands for moods, genres, activities, and eras.
New Contributors
- @prewue made their first contribution in #327
- @WGlegola made their first contribution in #334
- @AnthonyLenglet made their first contribution in #341
- @Rahulsharma0810 made their first contribution in #339
- @anuragdeshpande made their first contribution in #348
- @tsibog made their first contribution in #365
- @mozyonee made their first contribution in #378
- @Yoddikko made their first contribution in #386
- @potatomt made their first contribution in #400
Full Changelog: v0.12.0...v0.13.0
v0.12.0
What's New
⭐️ If you're enjoying this app, please share and star it! ❤️ You can also support development by buying me a coffee ☕
📺 YouTube Mode
Kaset now includes a full native client for regular YouTube, living alongside YouTube Music and switched with a Liquid Glass source toggle at the bottom of the sidebar (thanks @btopn!).
- Native browsing: recommended Home, Search (video/channel/playlist filters), Explore, Subscriptions, Shorts, Watch Later, Liked Videos, Playlists, and History — all in adaptive card grids.
- Personalized Home: Continue Watching and personalized topic rails, watched-progress bars on video thumbnails, and an ambient color backdrop on the watch page. Continue Watching refreshes automatically after you finish a video.
- Native playback: a source-adaptive player bar with seek-on-hover, like/dislike, Watch Later, AirPlay, closed captions, quality menus, full view, and picture in picture.
- Watch page: two-column layout with metadata, subscribe, and a full comments section (post, like/dislike, reply threads) alongside a related rail.
- Shorts: vertical snap-paging autoplay player.
- Pop-out window: aspect-locked video with hover chrome, real fullscreen, and dock-back-on-exit — plus a setting to disable video pop-out on back.
🎚️ Apple Music-Style Player Bar
The player bar has been redesigned into an Apple Music-style scrubber for a cleaner, more familiar transport across both sources.
💾 Save Queue as Playlist
Save your current playback queue as a new private playlist, plus queue edit-mode improvements: per-row removal of duplicates, a remove-duplicates action, and tidier icon-only footer controls (thanks @cacuscacus!).
🐛 Fixes and improvements
- Fixed media-key "next" replaying the same song while the app was backgrounded (thanks @Endiruslan!)
- Fixed listening history not recording on Brand accounts (music and video)
- Liquid Glass sidebar now slides under the content
New Contributors
v0.11.0
What's New
⭐️ If you're enjoying this app, please share and star it! ❤️ You can also support development by buying me a coffee ☕
💻 macOS 15 Support
Kaset now runs on macOS Sequoia 15.4+ while keeping the macOS 26 Liquid Glass experience where available (thanks @imrashidov!).
🐛 Fixes and improvements
- Fixed All search returning empty results by falling back to category searches and deduplicating results (thanks @itsmeshibintmz!).
- Fixed carousel hover effects being clipped at shelf edges (thanks @cook1e0!).
New Contributors
- @imrashidov made their first contribution in #268
- @cook1e0 made their first contribution in #283
v0.10.2
v0.10.0
What's New
⭐️ If you're enjoying this app, please share and star it! ❤️ You can also support development by buying me a coffee ☕
🪟 Mini Player
Kaset now has a native mini player that floats above your other windows (thanks @ComicBit!).
🎚️ Playback Audio Quality
A new General setting lets you choose between Auto, Low, Normal, and High audio quality.
📌 Sidebar Pinning, Uploaded Songs & Better Playlists
Pin playlists and albums to the sidebar with persistent ordering, browse your uploaded songs as a virtual Library tile, and enjoy richer playlist/album detail pages with background continuation loading so the rest of the tracks fill in automatically.
Shuffle is now materialized into the visible queue (and restorable to the original order), the player bar gains a current-song context menu and smoother seek hover behavior, and home recommendations are now personalized first with public Explore as a fallback (thanks @iWajdi!).
❤️ Inline Likes & Explicit Badges
Every track row now shows a one-click thumbs-up — filled red when liked, outline on hover — and an "E" badge next to explicit titles, across playlists, search, history, artist pages, queue, and more (thanks @buggerman!).
🎙️ Smarter Podcasts Tab
The Podcasts tab now hides itself in regions where YouTube Music doesn't offer the discovery surface, so you no longer hit a generic 404 — and it re-appears automatically when you switch regions (thanks @baltarifcan!).
🐛 Fixes and improvements
- Fixed the light/dark app icon variants so the dark icon actually ships (thanks @panzer-ui!)
- Corrected Indonesian localization string mappings
- Documented the new play video AppleScript command (thanks @danieltsam!)
- Added an ad-hoc signing fallback to compile_and_run so unsigned local builds work out of the box (thanks @Shikrenov!)
- Release builds are now signed with the Apple Development certificate to fix Gatekeeper friction
- Dropped a wall-clock race in the library refresh-while-loading test (thanks @buggerman!)
New Contributors
- @Copilot made their first contribution in #235
- @iWajdi made their first contribution in #232
- @baltarifcan made their first contribution in #249
- @danieltsam made their first contribution in #223
- @Shikrenov made their first contribution in #253
- @panzer-ui made their first contribution in #256
- @ComicBit made their first contribution in #246
Full Changelog: v0.9.0...v0.10.0
v0.9.0
What’s New
⭐️ If you’re enjoying this app, please share and star it! ❤️ You can also support development by buying me a coffee ☕
🧩 Extensions Support
Kaset now supports WebKit Web Extensions, so you can bring your own extensions — like uBlock Origin Lite — into the app (thanks @shantanunautiyal!).
🎵 Playlist Creation & Management
Create, and manage your own playlists directly from Kaset.
🎛️ System-Wide Equalizer
A new 6-band equalizer with presets lets you shape your sound across the whole app (thanks @pukuba!).
🕓 Listening History
A new History view makes it easy to revisit recently played tracks (thanks @pukuba!).
🤖 Smarter AI Command Bar
Improved AI routing and queue analysis, plus macOS 26.4 Foundation Models prompt budgeting for faster, more reliable on-device responses.
🎤 Artist Page & Lyrics Upgrades
Artist pages now surface Latest Episodes, Singles & EPs, Playlists, Podcasts, and “Fans might also like” (thanks @buggerman!). Playlist author links and artist profile metadata are richer (thanks @Orkunnnn!), and lyrics gain romanization support for non-Latin scripts (thanks @fllaa!).
🌍 More Languages
Kaset is now localized in French (thanks @itishermann!), Korean (thanks @pukuba!), and Indonesian (thanks @fllaa!).
📜 AppleScript
New play video AppleScript command for scripting playback (thanks @enkinvsh!).
🐛 Fixes and improvements
- Unified Liked Music view with consistent behavior across the app (thanks @Nacolis!)
- Auto-start playback after the WebView loads, so the first track plays reliably (thanks @pukuba!)
- Queue now advances when manually seeking to the end of a track (thanks @pukuba!)
- Blocked YouTube seek handlers at document start to stop Control Center flicker (thanks @pukuba!)
- Deduplicated search suggestions and kept filters visible for empty results (thanks @imwyvern!)
- Playback WebView stays properly hidden
- Added a top fade to detail pages for a cleaner scroll experience
- Song thumbnails fall back to YouTube thumbnails when artwork is missing (thanks @pukuba!)
- Navigation titles now follow the app language setting (thanks @pukuba!)
- YouTube Music API requests use the configured language (thanks @pukuba!)
v0.8.2
⭐️ If you're enjoying this app, please share and star it! ❤️
What's New
🐛 Fixes and improvements
- Liking or unliking a song from any screen now instantly syncs across the Player
Bar, Liked Music list, and context menus — no manual refresh needed - Fixed the What's New sheet layout so the Continue button stays visible at small
window sizes, and removed the duplicate version title - Fixed hover scale effect being clipped at horizontal ScrollView edges
- Fixed playlists with 100+ tracks not fully loading due to incorrect pagination
token priority
New Contributors
v0.8.1
⭐️ If you’re enjoying this app, please share and star it! ❤️
What's New
🎤 Synced Lyrics
Lyrics now support time-synced playback with the LRCLib provider, making it easier to follow along line by line.
🎧 Last.fm Scrobbling
Kaset now supports Last.fm scrobbling
🌍 More Languages
Kaset is now localized in Turkish and Arabic, bringing full translation support to more of the app’s user-facing interface.
🎵 Library and Playback Controls
You can now add artists to your library, and Now Playing controls are configurable so you can choose whether Next and Previous actions are shown.
🆕 Built-in What's New
Kaset now includes an in-house What's New experience powered by GitHub release notes, so new features and improvements are easier to discover after updating.
🐛 Fixes and improvements
- Improved repeat-one queue sync and Next/Previous behavior
- Fixed restored playback timing, launch notifications, and resume handling
- Fixed WebView playlist queue synchronization
- Reduced volume spikes during song transitions and improved handling of delayed YouTube volume resets
- Fixed packaged app accent color lookup and Apple Intelligence toolbar button color in light mode
- Updated the command bar to use Liquid Glass and restored the native macOS minimize shortcut
- Fixed artist top song durations and corrected Go to Artist failures for some home page items
- Migrated the project from Xcode project files to Swift Package Manager, with related build and CI fixes for macOS 26 runners
New Contributors
v0.7.0
⭐️ If you’re enjoying this app, please share and star it! ❤️
What's New
🎶 Queue Enhancements
New side panel mode with drag-and-drop reordering, undo/redo for queue changes, "Play Next" and "Add to Queue" context menus across the app, and automatic queue persistence across app restarts (thanks @cacuscacus!)
🐛 Fixes and improvements
- Play/pause state detection now uses the correct WebView signal for reliable status
- Fixed duplicate window appearing when clicking the Dock icon to reopen
- Fixed MainActor context for notification observation preventing potential concurrency issues
New Contributors
- @cacuscacus made their first contribution in #97