Repository navigation
Releases
Widgy Release v1.6.0
Release v1.6.0
Widgy v1.6.0 – Drop Any Playlist, Stream Fresh Lyrics to Your Widget
Widgy v1.6.0 introduces our most requested feature: One-Tap Playlist Import. Drop or share any playlist link from Spotify, YouTube, YouTube Music, or Deezer, and Widgy will automatically extract the tracklist on-device, batch-fetch lyrics from LRCLIB, and stream them directly into your home screen widget's daily rotation.
✨ What's New in v1.6.0
🎵 Multi-Platform Playlist Link Import
- Spotify, YouTube & Deezer: Drop any public playlist or album link directly into Widgy.
- 100% Zero-Auth & On-Device: No Spotify accounts, Google credentials, or API keys required. Extraction runs entirely on your phone via privacy-respecting client scrapers and open APIs.
- System Share Sheet (
ACTION_SEND): While listening in Spotify, YouTube Music, or Deezer, tap Share → Widgy to instantly open the import sheet with the link pre-filled.
🎲 Instant Random Pool Auto-Rotation
- All imported songs with available lyrics automatically enter your library tagged as Random Pool tracks.
- The midnight rotation engine immediately includes them in your daily widget rotation.
- You can tap any song from My Curation at your own convenience to review the full lyrics and pick custom 1–2 line couplets.
🛡️ Robust Deduplication & Snippet Cascade Protection
- Existing songs and curated snippets in your library are never overwritten or deleted during batch imports.
- Advanced rate-limiting with exponential backoff on HTTP 429/503 and intelligent
/api/searchfallback ensure maximum lyric match rates without server rejection.
🎨 Council UI/UX Max & Unslopped (Rated 9.70 / 10.0)
Audited and approved by our Council of Agents (Dieter, Material, and Kerning):
- Visual Restraint: Zero artificial badge slop, quiet monochrome chrome, and authentic editorial character.
- WCAG AAA Contrast: All secondary metadata and track indicators exceed 7.5:1 contrast ratios.
- Edge-to-Edge System Ergonomics: Full support for Android 14/15 3-button navigation, gesture bars, and IME keyboard insets.
- Multilingual Typography: Safe bounding boxes that protect Devanagari (Nepali/Hindi), Arabic, and CJK ascenders, descenders, and vowel marks from clipping.
- Tactile Polish: Real-time monospace tabular progress counters, smooth animated state transitions, and seamless swipe dismissal synchronization.
Overview
docs(release): add v1.6.0 release notes for playlist import
✨ Features & Enhancements
- feat(intent): support system Share Sheet ACTION_SEND for playlist links (5ef173a)
- feat(ui): add unslopped PlaylistImportBottomSheet and ViewModel (34519d6)
- feat(repository): add batch playlist import with 429 backoff and search fallback (1052693)
- feat(playlist): implement native Spotify, YouTube, and Deezer extractors (360bc01)
- feat(playlist): implement hardened Unicode YouTubeTitleCleaner (8c510b3)
- feat(playlist): add playlist data models and shared HTTP client (3d5a1ff)
🐛 Bug Fixes
- fix(uiux): Council Hill-Climbing pass - unslop badges, contrast, insets, and radii (39c2362)
- fix(db): add explicit song query deduplication to protect snippets (e853db3)
🚀 Build & CI/CD
- ci(release): automatically generate detailed categorized changelogs from git history and tag annotations (d7c5c9a)
📦 Other Changes
- docs(release): add v1.6.0 release notes for playlist import (3ab18d5)
- docs: enrich README with live device screenshots, 11-theme showcase, and product site (b992894)
- chore: untrack and gitignore docs/superpowers (36244ba)
Full Changelog: v1.5.0...v1.6.0
Widgy Release v1.5.0
What's Changed in v1.5.0
🎨 Theme Studio Redesign (Category-Based Mobile UI)
- 4 Dedicated Customization Categories: Replaced the long, crowded settings list with a clean, mobile-first category dock:
- Appearance: 11 theme color-combination disc swatches (displaying the interplay of background + foreground colors), backdrop switcher (
Solid ThemevsBlurred Art), and a contextual blur intensity slider (6pxto38px) with live pixel feedback. - Typography: Typeface selector (
Sans,Serif,Mono) rendered in each font's native family, font size selector (Auto,16,22,30,40) with contextual auto-fit scaling guidance, and theme-governed alignment indicators. - Credits: Attribution display options (
None,Artist,Song and artist) with an interactive contextual footer preview card. - Advanced: Widget shuffle control (
VisiblevsHidden) and preview verse cycler for testing multi-line English and Nepali lyrics.
- Appearance: 11 theme color-combination disc swatches (displaying the interplay of background + foreground colors), backdrop switcher (
- Expand / Collapse Preview Stage: Added an accessible floating toggle pill (
1.0x↔1.55x) to inspect lyrics in close-up or expand editing space on smaller phone viewports. - Safe Reset Dialog: Added a destructive confirmation alert dialog before resetting customizations to default values.
- Inline Lyric Lines Editor: Streamlined multiline lyrics editor with "Reset to Sample" and "Done" actions for effortless testing.
⚡ Instant Home Screen Widget Updates
- Glance State Definition: Added
PreferencesGlanceStateDefinitionwith reactive timestamp tracking inDailyLyricWidget. - Zero-Latency Launcher Sync: Integrated
AppWidgetManager.ACTION_APPWIDGET_UPDATEbroadcast alongsideGlanceAppWidget.updateAll(). Styling, lyrics, and theme changes reflect on home-screen widgets immediately without requiring a tap.
🖼️ Album Art Backdrop & Custom Blur Intensity
- StackBlur Engine: Smooth horizontal slider with debounced 60fps computation on
Dispatchers.Default. - IPC Memory Safety: Strictly memoized bitmaps and constrained resolutions under 500k pixels to prevent Android RemoteViews Binder IPC payload transaction crashes.
🚀 CI/CD & Build Pipeline Optimizations
- Single-Pass Compilation: Consolidated test and APK assembly into a single invocation (
testReleaseUnitTest assembleRelease), eliminating redundant dual-variant builds. - Configuration Cache: Added
GRADLE_ENCRYPTION_KEYsupport to preserve and restore configuration cache across ephemeral GitHub Actions runners. - Memory Tuning: Bounded JVM heaps (
-Xmx3072mdaemon,-Xmx1024mkotlin daemon) to eliminate Linux disk swapping, reducing CI execution time by over 30%. - Dedicated Release Pipeline: Restructured workflow triggers to run exclusively on version tags (
v*), eliminating duplicate concurrent actions.
Full Changelog: v1.4.0...v1.5.0
Widgy Release v1.4.2
Full Changelog: v1.4.1...v1.4.2
Widgy Release v1.4.1
Full Changelog: v1.4.0...v1.4.1
Widgy Release v1.4.0
Full Changelog: v1.3.0...v1.4.0
Widgy Release v1.3.0
Full Changelog: v1.2.0...v1.3.0
Widgy Release v1.2.0
Full Changelog: v1.1.0...v1.2.0
Widgy Release v1.1.0
Full Changelog: v1.0.1...v1.1.0
Widgy Release v1.0.1
Full Changelog: v1.0.0...v1.0.1
Widgy Release v1.0.0
Full Changelog: https://github.com/bivekk51/widgy/commits/v1.0.0