Skip to content

Releases: lyssadev/Spotilol

Spotilol - v1.1.7

Choose a tag to compare

@lyssadev lyssadev released this 01 Oct 05:44

Spotilol - v1.1.7 (10.01.2026)

v1.1.7 Changelog

added

changed

  • faster cold start: webview HTTP cache kept between launches (#97)
  • no more double-fetching every request in normal mode (#97)
  • early injections now run as a document-start script (#97)
  • snappier splash, fixed delays removed (#97)

fixed

  • playback no longer pauses on its own after leaving the app (screen off / background)
  • downloading the current song no longer grabs a different track (fixes #91)
  • more stable background pause/resume from the service

NOTE - this is a hotfix: it fixes some of the reported bugs (background pauses, wrong-song downloads) plus a startup cleanup, but it does not guarantee anything yet, so some things may still be rough. if something is off, report it right away - the new discord server is the fastest way to reach us. thanks for the constant feedback, keep it coming!

  • lyssadev
  • startup and performance work: depo23 (#97)

Spotilol - v1.1.6

Choose a tag to compare

@lyssadev lyssadev released this 26 Sep 20:46

Spotilol - v1.1.6 (09.26.2026)

v1.1.6 Changelog

added

  • in-app logging system — one central logger with a single on/off switch (on by default in debug builds, off in release), logcat-style levels (verbose, debug, info, system, warn, error), a 2000 entry ring buffer and a logcat filter syntax (package:mine, level:w, tag:js, -word); every log in the app now goes through it — webview, bridge, services, downloads, proxy, offline, cipher, potoken and EJS
  • webview console capture — JS console output, page loads, navigation, main frame errors, preference changes and every AndBridge call are logged with their level, source and line
  • logger panel rebuilt as a logcat — level chips, live filter field, colour per level, tap a line to expand its stack trace, plus clear and copy, opened from the hidden EXPERIMENTAL section
  • crash handler and crash screen — uncaught exceptions are caught before the process dies and open a compact Material 3 crash screen with the full report: thread, stack and cause chain, app, device, region and timezone, network, memory, storage, webview, session preferences and the whole log buffer, with a copy button and a restart button; a hidden Crash test tile throws a test exception on demand
  • first run onboarding — a welcome step listing the permissions the app needs (notifications and nearby devices) and a second step to pick Normal Mode or Certificate Mode, each with a short description, smooth fade in/out and animated transitions between phases; it only runs once and the permission prompts were removed from MainActivity
  • build id — a short deterministic per-build id (e.g. svqhsiomg5) shown next to the version in the splash, top bar, offline header, settings dialog and about section
  • picture-in-picture video — PiP now shows the actual video instead of the cover art and keeps it when the screen rotates
  • sort by date added in the playlist menu, and playlist columns also sort albums
  • delete all button in the offline screen
  • live download state in the download notification

changed

  • app typeface switched from Saira to Raleway
  • settings redesigned as a compact Material 3 dialog with tabs instead of the old full screen
  • splash reworked: the progress bar is gone, the Spotilol title fades in and out in the middle and the version with its build id sits at the bottom
  • all user facing text moved to strings.xml — no hardcoded strings left on screens, dialogs, toasts, notifications or layouts
  • offline screen tightened up, and the back gesture now closes the keyboard before leaving the screen
  • the old debug log store was dropped and the debug section was renamed to EXPERIMENTAL

fixed

  • search overlay no longer stays hidden after the app comes back from the background
  • picture-in-picture no longer falls back to the cover art, and no more black video in portrait
  • bluetooth auto pause is reliable again
  • crash screen colours follow the app theme, AMOLED, Material You and custom accent included

NOTE — if you find any bug, crash or something off, please report it right away so we can fix it fast. thanks everyone for the support, and we'll keep improvising.

— lyssadev

Spotilol - v1.1.5

Choose a tag to compare

@lyssadev lyssadev released this 20 Sep 16:42

Spotilol - v1.1.5 (09.20.2026)

v1.1.5 Changelog

added

  • MP3 downloads — new in-app encoder built on vendored libmp3lame and libopus 1.4 local modules, with in-process WebM demuxing and no external audio dependency
  • DOWNLOADS section in Settings — Audio Format (m4a or mp3), Download Folder (any writable folder, SD card included) and configurable subfolder for the default scheme
  • Write Tags and Cover Art toggle — title, artist, album and embedded cover art on every download
  • folder history — the picked folder is remembered and write access survives restarts, and the offline library scans every folder you have picked
  • Sort Playlists by Column — tap a playlist column header to sort alphabetically, switchable in Settings

changed

  • third-party audio deps (jaudiotagger, jump3r, qiujuer lame) replaced by the local :lame/:opus modules and in-house MP3/M4A tag writers
  • debug logging stripped across downloader, webview, cipher, potoken, EJS and proxy code, plus console log forwarding removed
  • timber dependency dropped
  • AGP 9.3.1 → 9.4.1
  • unused resources removed (ic_settings, duplicate launcher foreground)

fixed

  • play/pause state is now language independent — the player icon, the notification, the media session (lockscreen, Wear, Android Auto) and the autoplay/unlock checks no longer depend on English aria-labels, so accounts in other languages see and control the right state
  • media metadata is kept when Android Auto controls are off — the notification no longer blanks the title, artist and cover art
  • search overlay no longer closes instantly when the keyboard opens
  • links shared from other apps no longer crash the sender app — android:autoVerify added to the link intent filter
  • "Open by default" tile now has fallbacks when the system settings intent is unavailable
  • quick menu icons match the offline mode state, and the service preference is no longer reset when toggling offline mode
  • system bar icons are now light on Splash, Main and Offline screens
  • redundant allowBackup tools:replace dropped

NOTE — if you find any bug, crash or something off, please report it right away so we can fix it fast. thanks everyone for the support, and we'll keep improvising.

— lyssadev

Spotilol - v1.1.4

Choose a tag to compare

@lyssadev lyssadev released this 18 Sep 16:00

Spotilol - v1.1.4 (09.18.2026)

v1.1.4 Changelog

added

  • Open by Default support — Spotilol now handles shared Spotify links (tracks, playlists, albums, spotify.link short links)
  • service auto-starts when a link is opened with the service off — the link loads once the WebView is ready
  • SPA navigation for links opened while the app is running — navigates without reloading so playback stays untouched (full redirect fallback when not possible)
  • "Open Spotify Links" tile in Settings → jumps to the system Open by default screen to enable link handling

fixed

  • link intent filter moved to MainActivity so shared links open the player instead of relaunching the splash screen
  • cold-start links are now forwarded from Splash to Main — the target track/playlist no longer gets lost on first open
  • link handling extended to spotify.com, www.spotify.com, play.spotify.com and spotify.link hosts

Spotilol - v1.1.3

Choose a tag to compare

@lyssadev lyssadev released this 06 Sep 23:33

Spotilol - v1.1.3 (09.06.2026)

v1.1.3 Changelog

added

  • library panel auto-close on outside interaction (LibraryAutoClose) — by AldySan

fixed

  • declare recAdContentIds on the JS bridge so audio ad silencing works — by tallowmoth
  • keep MainActivity alive across app switches with singleTask launch mode — by tallowmoth
  • exclude profile dropdown menu from Download injection — by AldySan
  • route offline notification to existing offline activity — by lyssadev
  • singleTop launch mode for offline activity — by lyssadev

improved

  • remove unused CloseNowPlay preference — by AldySan

Spotilol - v1.1.2

Choose a tag to compare

@lyssadev lyssadev released this 03 Sep 05:03

Spotilol - v1.1.2 (09.03.2026)

v1.1.2 Changelog

NOTE: This release squashes all development work from a8c26ed to the latest into a single deployable commit. Android Auto Support, batch downloads, lyrics style theming, and full InnerTube metadata extraction are now available.

added

  • android auto media browser with async browsing, search, and playback — by lyssadev
  • add contextUri support to playFromUri — by lyssadev
  • car application meta-data and automotive app description for android auto — by lyssadev
  • android auto notification and controls — by lyssadev
  • repeat icons (one, off, regular) — by lyssadev
  • offline download service, batch download, and collection download — by AldySan
  • context menu download for track rows — by AldySan
  • download progress with fixed positioning and accent — by AldySan
  • SpotilolPlayer integration for batch downloads — by AldySan
  • song search to offline library — by AldySan
  • selectable lyrics style themes (default, fullscreen, compact, karaoke, bold) with dedicated style element and live switching — by AldySan
  • full InnerTube metadata extraction and storage (video id, title, artists, album, duration, thumbnail, explicit) — by lyssadev
  • album, duration, and explicit badge in offline song row — by lyssadev
  • unified accent color across injected player, notifications, and native chrome — by Malrus
  • independent wired headphone auto-resume toggle — by Malrus
  • BlockServiceWorker toggle with live-apply and extract VideoPark from WorkerNeutralize — by Malrus
  • auto-close queue panel on non-queue user interaction — by Malrus
  • hide mini player until a real track is loaded — by AldySan

fixed

  • downgrade core-ktx to 1.17.0 to fix systemOverlays crash on API 34 — by lyssadev
  • pass album to media notification — by lyssadev
  • OfflineStore lifecycle for batch downloads — by AldySan
  • android auto infinite loading loop with single-flight checkMediaLib and always-respond fetchMediaItems — by lyssadev
  • typo in libraryV3 response path (data.data.me) — by lyssadev
  • parseLibrary for current Spotify response structure — by lyssadev
  • fetchAllLibrary to use oriFetch directly — by lyssadev
  • volume bar fill not following accent color — by AldySan
  • wire offline screens to async profile and settings APIs — by AldySan
  • resolve onetime autoplay mode failing on app open/resume — by Malrus
  • media notification persists after app removal from recents — by Malrus
  • make settings toggles apply instantly and honor user preference — by Malrus

improved

  • batch download events wired in MainActivity — by AldySan
  • registered prefs listener once and batch JS injections — by AldySan
  • reduce per-call overhead across JS hooks — by Malrus
  • remove per-request allocations from URL helpers — by Malrus
  • update readme with android auto offline downloads clean credits — by lyssadev
  • update wiki with new packages and android auto docs — by lyssadev

Thanks for using Spotilol! If you enjoy the app, consider giving it a star and sharing it around. Special thanks to everyone who contributed, tested, and reported issues - this release wouldn't be the same without you.

  • lyssadev ❤️

Spotilol - v1.1.1

Choose a tag to compare

@lyssadev lyssadev released this 30 Aug 17:45

Spotilol - 1.1 (08.30.2026)

1.1.1 Changelog

NOTE: This version is a hotfix for the previous v1.1 release, which wasn’t working as intended. That said, since it’s still a v1.1 and includes new additions, any feedback you’d like to share is more than welcome.

fixes

  • fixes the crashes ocurring on the first v1.1 version.

Spotilol - v1.1

Choose a tag to compare

@lyssadev lyssadev released this 30 Aug 07:46

Spotilol - 1.1 (08.30.2026)

v1.1 Changelog

NOTE: This is the first phase 1 release with major changes. While we've tested extensively, big changes can introduce bugs we may have missed. If you run into any issues, please report them on GitHub, your feedback helps us improve quickly.

NOTE 2: Android Auto support is still in testing/experimental phase. It may not work perfectly on all devices or head units.

NOTE 3: The new downloader is currently limited to downloading the track being played, and only via the YouTube method. Support for playlists is planned for a future update, any help or reports are welcome.

added

  • Blockify-style player-state ad hook (AdStateHook + AdIdStore) — PR #43 by Malrus
  • Google Analytics / tracker neutralizer (GaBlocker) by Malrus
  • TrackObserver injection exposing the current trackId/trackUri globally by Malrus
  • native Compose error screen for WebView load failures by Malrus
  • Spotify error boundary dialog restyle for mobile by Malrus
  • Power Save Mode + autoplay unlock deadlock fix by Malrus
  • file chooser support + Spotify service worker neutralization by Malrus
  • WebGL fingerprint spoofing by Malrus
  • debug log collector + live devlog viewer
  • Android Auto media browser service
  • volume slider bar in the custom player
  • offline mode & YouTube download support

fixed

  • live-preference sync for AmoledTheme and CustomCss (applied immediately) by Malrus
  • external navigation leaking on the settings page + OAuth login flows by Malrus
  • MediaSession metadata now gated behind the AndAuto preference by Malrus
  • certificate export after reinstall (#33), 10s track skip, blank video, incomplete browser spoof by Malrus
  • telemetry leak, main-thread violations, child WebView leak by Malrus
  • WebView crash recovery and leak fixes by Malrus
  • proxy first-load race + hardened ProxyController usage by Malrus
  • Google Tracker blocking for privacy by Malrus
  • devlog dialog not opening from settings
  • native debug gating enforcement, unblock workbox-window chunk by Malrus

improved

  • reduced polling & injection overhead in LyricsSyncFix & CssHack by Malrus
  • optimized JS injection lifecycle on background/foreground transitions by Malrus
  • optimized ErrorDialogRestyle scans, removed dead DOMContentLoaded listeners by Malrus
  • eliminated redundant DOM queries in ToastFix polling path by Malrus
  • softened interval throttle, expanded ad blocklist by Malrus
  • keep-alive socket reuse + hardened JS boot/auto-play wiring by Malrus
  • raw Thread migrated to ExecutorService in proxy & GitHub API by Malrus
  • regex console.log stripper replaced with cached scanner by Malrus
  • Firebase migrated to version catalog + build toolchain upgrade by Malrus
  • gradle wrapper upgraded to 9.7.1
  • lyrics sync fix, toast restyle, modal fix by Malrus

refactored

  • profile encrypted prefs migrated to MasterKey API by Malrus

Also thanks for using Spotilol! If you enjoy the app, consider giving it a star and sharing it around. Special thanks to everyone who contributed, tested, and reported issues, this release wouldn't be the same without you. 💚

  • lyssadev

Spotilol - v1.0.10

Choose a tag to compare

@lyssadev lyssadev released this 18 Aug 22:58

Spotilol - 1.0.10 (08.18.2026)

v1.0.10 Changelog

fixed

  • fixed search bar not showing
  • fixed spotify api hashes (now selfhealing)

Spotilol - v1.0.9

Choose a tag to compare

@lyssadev lyssadev released this 18 Aug 17:56

Spotilol - 1.0.9 (08.18.2026)

v1.0.9 Changelog

new

  • Material You themed app icon (monochrome)
  • landscape mode setting (portrait by default)
  • keep screen on setting

fixed

  • CA export (permission denied on Android 9)
  • foreground service crash (startForeground not called in time)