Releases: Code-Stride/VibeTube
Releases · Code-Stride/VibeTube
Release list
VibeTube v1.11.0 — YouTube Music Mode Switch
YouTube Music Mode Switch
Settings > Appearance
- 🔄 New switch: YouTube Mode ↔ YouTube Music Mode
- Tap to switch, toast feedback
- Persists across restarts
YouTube Music Mode
- 🎵 Music-focused home feed
- 🎵 Music category chips: Trending, New Releases, Bollywood, Pop, Hip-Hop, R&B, Classical, Devotional, Podcasts
- 🎵 Quick picks grid + Trending music list
- 🎵 YouTube Music branding (red accent)
- 🎵 Bottom nav: Home, Search, Library, Downloads, Settings
Broken Flows Fixed
- ✅ Cast button → toast
- ✅ Notifications button → toast
- ✅ Playlist/Not Interested → toast
Version: 1.11.0+26
Full Changelog: v1.10.0...v1.11.0
v1.10.0
VibeTube v1.9.3 — Video Quality Upscale
Video Quality Upscaled
Player (Auto mode)
- Tries highest quality FIRST: 2160p > 1440p > 1080p > 720p > 480p
- Master HLS playlist → fallback only
- No more low-quality adaptive ramp-up
Shorts
- Fixed: was getting LOWEST quality (sorted ascending)
- Now gets HIGHEST quality (sorted descending)
Default Quality
- Changed from Auto (HLS) to 1080p
preferredPlayUrl
- Highest HLS variant > master playlist > progressive
Version: 1.9.3+24
Full Changelog: v1.9.2...v1.9.3
v1.9.2
VibeTube v1.9.1 — Mini Player Pause/Resume Fix
Fix: Mini Player start-stop bug
Same audio focus race condition as full player — fixed in MiniPlayerController.
_requestingFocusguard on_onShouldPause,_onBecomingNoisy_lastPlayTimetimestamp — ignore interrupts for 1s after play- Guard on
togglePlay(),play(),_onMediaPause()
Now pause → resume works from:
- Mini player play/pause button ✅
- Lock screen controls ✅
- Notification controls ✅
Version: 1.9.1+22
Full Changelog: v1.9.0...v1.9.1
VibeTube v1.9.0 — Complete YouTube-Quality UI Overhaul
Complete YouTube-Quality Overhaul 🎬
🎨 Theme — YouTube Exact Colors
- Dark: #0F0F0F bg, #212121 surface, #F1F1F1 text
- YouTube Red (#FF0000), YouTube Blue (#3EA6FF)
- Roboto font (YouTube's font)
🏠 Home Screen
- YouTube-exact top bar, category chips, shimmer loading
📹 VideoCard
- Pixel-perfect YouTube card layout
📱 Shorts
- Double-tap heart animation, YouTube gradient, action buttons
🎵 Mini Player
- YouTube-style progress bar, slide transition
🔍 Search
- YouTube-exact search bar with mic button
✨ Animations
- AnimatedSwitcher, ScaleTransition, AnimatedOpacity, PageRouteBuilder
Version: 1.9.0+21
Full Changelog: v1.8.3...v1.9.0
VibeTube v1.8.3 — Shorts Pause, Refresh Variety, Video Fix
Fixes
📱 Shorts background play FIXED
- Shorts only play when Shorts tab is visible
- Pause on tab switch, resume on return
🔄 Refresh variety (YouTube-style)
- Every pull-to-refresh shuffles video order
- Shorts also shuffle for variety
🎥 Video auto-stop FIXED
- 1-second debounce after play — ignores delayed audio session callbacks
- _requestingFocus guard kept active for 1s after play
- _lastPlayTime timestamp prevents false interruptions
Version: 1.8.3+20
Full Changelog: v1.8.2...v1.8.3
VibeTube v1.8.2 — Fix Update Popup
Fix
- False update popup: When app was already on latest version,
checkUpdate(force:true)still returned update info. Now correctly returns null when versions match.
No more false "Update Available" popups!
Version: 1.8.2+19
Full Changelog: v1.8.1...v1.8.2
VibeTube v1.8.1 — Player Layout Fixed + Audio Focus Fix
Fixes
🎥 Player Layout Restored
- Reverted broken GestureDetector wrappers that caused blank player screen
- Controls overlay is now a direct child of Stack again (Positioned.fill constraint)
🔊 Audio Focus Race Condition Fixed
_requestingFocusguard prevents self-triggered audio interruptions- When the app requests audio focus,
_onShouldPauseand_onBecomingNoisycallbacks are suppressed - This fixes the "video plays for microsecond then stops" bug
🗑️ Removed
- PipedService removed (was causing issues)
- Shorts now use InnerTube client for stream URLs
Version: 1.8.1+18
Full Changelog: v1.8.0...v1.8.1
VibeTube v1.8.0 — Video Playback FIXED + Shorts Inline
CRITICAL FIXES
🎥 Video Playback FIXED
- "Plays microsecond then stops" — Root cause:
AudioHelper.requestFocus()triggered_onShouldPausecallback which immediately paused the video. Added_requestingFocusguard to suppress self-triggered interruptions. - "Null check operator used on a null value" — Fixed unsafe
!operators throughout player. - Gesture tap conflict — Parent
GestureDetectorintercepted play button taps. Controls overlay now absorbs taps independently. - Piped API fallback — When YouTube direct URLs fail (signatureCipher), the app now falls back to 4 public Piped API instances that return direct working stream URLs.
📱 Shorts Inline Playback
- Shorts now play video inline like YouTube Shorts
- Vertical PageView with VideoPlayerController
- Tap to play/pause with visual indicator
- Progress bar, subscribe, like, share, comments all functional
Infrastructure
- New
PipedServicewith 4 fallback instances - Piped fallback at 2 points in playback chain
- 0 analyze issues, 38/38 tests pass
APK: Auto-built by CI (check Actions tab)
Full Changelog: v1.7.1...v1.8.0