it's jellyfish season! jellys from all across the deep oceans are approaching namida, is it an invasion?! or a targeted attack by commander @Tsuune? don't worry, a protective shield keeps them away.. unless you invite them from settings -> theme -> jelly icon. take a look at them beautiful jellys, but careful not to keep them there for too long ^^
✨ Highlights:
- Cross device sync: keep your library, history, playlists & settings in sync between devices.
- Stats & Your Year: charts about your listening habits and a year-in-review page, shareable in a tap - plus a slider in most played to hop between time ranges, and a button on each listen to open its range.
- Smart playlists: playlists built from rules that keep themselves up to date, with the same power available in search.
- Subtitles & captions for videos, and a big lyrics upgrade - a new provider, subtitle formats (srt/ssa/ass/sbv), a floating lyrics window on desktop & a simple single-line view.
- Better player: widescreen layout, lock button, long press shortcuts on the buttons (2x speed, restart, rewind, fast forward) and smoother track switching animations.
- Import your data: history from spotify & listenbrainz, playlists from jellyfin/subsonic servers.
- Brand new tagger: reading and writing tags is much faster and far more reliable, and the tags editor now suggests existing values as you type.
- Much faster everywhere: indexing, library loading, search and general ui.
- Smarter search: typo tolerant, with much better ranking, a refreshed search page and optional recent searches.
- YouTube: crossfade & gapless now work in the yt section, sign in with multiple profiles under one account, search filters everywhere (videos, local & hosted playlists, and by date inside a channel), parallel downloads, and comment notifications.
- Shuffle is now a proper toggle, independent from repeat modes.
- Desktop & linux: equalizer & loudness enhancer, working animations, shortcuts fixes, plus appimage, flatpak, winget and a windows portable build.
- Also: customizable home screen widget, ui scaling on small screens, per-item audio config, moods/tags/rating pages, copy/move track files, and a lot more.
| Platform | Downloads |
|---|---|
| Android | |
| Windows |
🎉 Click to see all new features
🎉 New Features:
- 0cab0fc, b2d58b8, e91ff95: cross device sync
- 4a5be8f, ea7f6a3, d064897, 187d0ac: stats charts & your year page - available as a library tab - share listens for more media types & share all stats at once
- 9f3f8f5, 0c27a13, 992e2a2, 311cd19, 1d04d4f: smart rule-based playlists - edits reflect in real-time - dynamic text sources to match against other info - search & sort inside a smart playlist - prefilled filters when opened from a subpage (album/artist/etc) - full page for smart playlists, with reordering
- 2250b72: subtitles/captions support
- ae753b3: advanced smart search, similar to smart playlists
- 2ddbd48: widescreen layout option for local player
- 82a26d0: audio config per item
- 1b52bfe, 6713a24: moods/tags/rating pages, and searching by them
- 77f2218: floating mini lyrics window for desktop
- d6c2c9f: simple lyrics line
- 7b4b5aa, f549635: import listenbrainz & spotify history from exported data
- 4db84ae: import servers playlists (subsonic/jellyfin)
- e644dd9: copy/move track files option
- 4451a19: parallel yt downloads
- 2366728: search filters for yt, and date filter inside channel page
- cba120e: search filter for local & hosted yt playlists
- 98f0acc: local home page for yt section
- ae8b7c3, 8e26d6d, bac9242: shuffle is now a standalone toggle, and reflects in queue ui
- 3a48e3a: lock button for video player
- e0db4d3, 18f82a4: long press actions for next/previous buttons & position/duration texts - next: 2x speed (configurable in playback settings) - previous: seek to 0 - position: rewind - duration: fast forward
- b3ba53b, 5d8adf1, c14f59f: most played page additions - slider to navigate adjacent periods - button beside each listen to open that range - pick a single day with days radius - choose between day based or clock based ranges - simpler header
- 664ea2e, b15ce04: value suggestions for tags editor and smart playlist fields
- a02e382: shortcuts to set rating/favourite & simpler dialog for rating
- 17aa1a8: allow sorting by bpm & bit depth, and showing them in track tile
- 6484626: option flag to set a custom external equalizer app
- ff8d9e0, fbbd329: mix playlists options - fetch mix instead of related videos to avoid country-based garbage - personalized mixes (on by default)
- 626e738: option flag to show like status on video cards for yt
- a0d02f4, c897fd8: yt notifications page additions - open comment notifications - button to play all unread notifications videos - button to configure extractor
- 2595ebf: time capsule flag to allow traveling in time
- 634e03b, 82a87e7, b3e34b6: jellyfish invasion (very scary)
🛠️ Click to see all bug fixes & improvements
🛠️ Bug fixes & Improvements:
-
core:
- 3717237, f1c1f67: brand new tagger
taglib- much faster and more reliable - edd0dd0: better video playback support using ffmpeg
- 0aea827: better home screen widget and allow customization
- 7cefe36: (linux) use webkit2gtk for login & drop login variants - fix tray menu - fix waveform generation - fixes for AppImage & flatpak
- d9eff12: (desktop) support looping animations, equalizer & loudness enhancer
- 0d76da3: enable crossfade and gapless for yt section, and improve clients speed
- 87568bf, 04be24c: major deep fixes, performance improvements & final adjustments
- 26d8182, f6556a0, f12a79b, 4638ad8, e93fdb4: tracks search scoring rehaul - score based matching with fuzzy matching allowing typos - better handling for titles with brackets - listens count now affects scoring - order by best match while searching inside a media
- 881cff3, aa12269: kogou lyrics provider, better lyrics fetch & matching logic, and support for subtitle formats (srt, sbv, ssa, ass)
- af34289: support yt sign in with multiple profiles under the same account
- f57b92c, 36c1eab, f68630c: improve tags extraction, including rating tags
- 84d0eec: nuke media store option for android
- 0752068: better support for ogg/opus on android
- 323fda8: support library id for jellyfin and improve servers logic performance
- 894fbad: support parsing html history for yt takeout import
- 1ac7b32: (desktop) use
ctrl+mouse wheelorctrl+±to scale up/down lyrics font and yt downloads page - 5a7370e: better path limit logic for created files, which allows longer filenames
- 95555c4, c41c87a: support new album identifiers (musicbrainz album id & musicbrainz album artist id) and add "album artist" to the defaults
- 3830dc1, ef45fac: support
style&release typetags - 1d22888: improve m3u paths matching
- 3717237, f1c1f67: brand new tagger
-
perf:
- 62ddc91: improve indexing speed & performance
- 378bba6, c74a11c: much faster library loading & sorting, no more freezes after indexing/refreshing
- 5566459, 97b9c9d, 965bca5: faster search - offline search loading & when "description"/"lyrics" filters are enabled
- 113a890, 55710c7: ui performance optimizations & better player ui scaling
- 19da3e0: better home page open performance, by improving computation of recently added tracks & history listens in a time range
- ecbdba0: optimize queues saving to storage
- 96e02af: improve lists looping performance
- 60ce73a: index differences only for webdav when refreshing
- 2565379: prevent writing duplicated errors to logs file
- 6da7bce: like status on video cards show after a delay
- 80c0389: general performance optimizations
-
chore:
- baa8318: scale down ui on small screens
- 8f49b80: unify menus across app, and use menus for some settings instead of tap to change
- 1834ddf, fec7444, 6cb97b8: settings page improvements - quick suggestions - floating action button to quickly search settings - documentation links
- bca51aa: improve search page ui/ux & performance - option flag to save recent searches - show no results widget for empty searches
- f428789: add library tab for current queue
- 19efef3: allow resuming from queues page
- b7d99f4: allow stopping after any track in queue
- 4d609e9: better remove button for queue (duplicates/previous/next/all)
- d8c0c9c: show remaining queue duration for local tracks
- 33cd997: retry downloads and thumbnails when connection is back
- e4e81e2: download tasks now keep their original download prefs (add to local library, auto extract title and artist, keep cached versions, write file upload date & override old file)
- 83e6fb3, b923ce0: animation for player tracks switching & experimental creative animations
- 1887d4e: entering fullscreen or pressing rotate button now uses device sensor for better orientation
- eea4da9: option to control drag to seek on video
- 3a4eb3c: cancel seeking for local player when dragging upwards
- a959102: enable seek magnet for local player
- c609eea: flag option to delay animations (like lyrics), useful for bluetooth devices
- 7e5f4e3, 5b2dbfa, 9bad413: improve word synced lyrics rendering with cool animations, and detect rtl lyrics to align them properly
- 47685e3: show video subtitle in small chips for yt player
- 6626dc4: use like button instead of heart when playing yt items, and liking now adds to local yt favourites (both configurable in yt settings flags)
- 3b5d0b5: improve sort ui for yt channels & playlists videos
- c04f2aa: improve ui/ux for account & membership pages and their error pages, and improve patreon sign in process
- 480c9bc: fetch video info for more cards missing them (like in mix playlist)
- d3613ca: design refresh for calendar picker, and show total listens count on each day
- 1e7f854: better color picker
- d81c02f: glow effect for player artwork if setting is enabled
- bca3d1e: reset player colors on dismissing miniplayer
- ee2b383: better filter pane/expandable box animation for pages and subpages - no longer makes the list jump while animating - sticky while scrolling in subpages
- 2c5f969: albums in artist page can now be shown in a new page
- a3983a4: improve ux of adding folder and onboarding
- d3c5395: absorb bottom horizontal gestures, to avoid switching tracks when switching apps
- af53646: improve sleep timer dialog to allow updating/pausing dynamically
- 6542333: allow changing "number of repeats" directly from repeat mode menu
- 71de40a: advanced play options when long pressing shuffle button in subpages
- 68c2939: 2 new artwork gesture actions (focus/go to track) to locate a track in current list or tracks list
- 5d46b61: move "add to playlist" to a simple button in track dialog, and move "share" to advanced dialog
- 552f3b9: back button returns to default tab before closing app (if not auto tab)
- e225f44: when generating recommended tracks, ignore latest listen if too recent, to avoid getting polluted by high density recent listens
- a1af01e: auto sort by track number for albums if disc number is chosen alone
- b6ade3b: snackbars now close in better order, older ones won't close while the current one is covering or drawing attention
- c40c749: show album artwork if track artwork is missing for subsonic servers
- 77c3b8f: choosing time ranges now scrolls to top of list in most played page
- d199475: enable gentle play for "selected track only" play mode for search results
- 1c1bb7e: refresh home page after history import
- 6460562: improve progress info for sync feature
- f1fd8aa: auto edit yt link after choosing a video
- ec7ff92: closing search with fab will now clear text field too
- 6b477a4: show higher numbers first in set rating dialog
- c386a1d: add "description" to track search filters
- 06c90f7: slight ux improvements - better folder names when there are duplicates - improve text for "add to library" and "add as new playlist" for public yt playlists - don't close video description when switching tracks
- 9d70d83, dd37cc5, d3d8871, abcc489: new builds & publishing - windows portable - appimage & flatpak - winget
-
fix:
- ed81c03: various playback fixes
- 7836431: 120hz not always applying
- a30e3b4, 792346e, 88bb248: gapless playback fixes - briefly playing next item before pausing - progress bar showing for first item only - listen count not registering sometimes
- d9d284a: editing tags failing on sdcard for android<=10
- d05a5f7: legacy auth for open subsonic
- ac38c48: splash screen on some android devices
- f76f69d: app has no activity to launch after update, if the used app icon got removed in the update
- 5630076: latest queue getting overwritten in rare cases
- 4a26bc1: custom playlist order being reset in rare case
- 9e99ad1: update stats db when updating tracks paths
- c2a48ee, f136d6a: replay gain not applying in rare cases & protect against infinity values
- 7ff5fe4, df2ddc3: lyrics not fetching & reading
lyrics-XXXtag on desktop - 2d39df2, 0c21314, eade875: word synced lyrics artifacts, invisible line & lrc text alignment in some cases
- e40e999: yt playlists not loading more than 200 videos or not loading at all
- 41c4afc: yt bad request error
- 04556fb: yt downloads related logic
- e3edeab: yt comments related logic
- 7f19a75: qualities menu fixes and ux improvements for local tracks
- 259e861: button to scroll to a track in current page didn't always work
- 3aef4d4: (desktop) shortcuts fixes and improvements
- 8c6f45c: (desktop) restore window maximize state on startup
- 002024c: (windows) dark icons with system light mode taskbar
- 92ab505: album image jumping when staggered gridview is on
- c1f096d: player ui not scaling properly in rare cases
- 9a80b7d: hit box of like/dislike button in yt player
- e83a92d: bit depth and lossless not showing
- b3a64fa: detect single albums using track number/total as well
- d041c0b: show custom playlist image in homepage queues section
- 4bbcb01: tracks search filter wrong indices
- 8bbf00e: minor navigation visual issue in rare case
- 34ed935, 5189e9d, 06c666c, a28c246, 5d6770f, 8138bf9, 364586d, b885be5: assorted fixes & improvements - lyrics showing for wrong track in some cases - show audio info for yt videos in local player - history day header in some cases - bar in pages not appearing again after scrolling to top - jumping to a listen not opening history page sometimes - show track number/total and disc number/total in info dialog - always hide albums and singles for artist when empty - pixelated media store images - color not applying on app startup sometimes - video picking now prefers cached over local files - special characters in webdav credentials - and more
- f0b49db, e921c22, da38c53, f51c754, 0f104dc, 9008b27, dfc10e0, dd69967, 5c72919, b72f84e, d03a5ec, d2c6457, 2a960e4: various fixes and tweaks