Releases: feeluown/FuoEvolve
Releases · feeluown/FuoEvolve
Release list
1.5.3
✨ 重点改动
- 修复 Android 后台自动切歌后应用界面、歌词和播放状态不同步的问题,并修复暂停后继续播放会从头开始的问题。
- 优化播放队列对重复歌曲、随机播放和播放进度恢复的处理,重启应用后也能更准确地回到原来的播放位置。
- 新增提供商网页链接支持,可从网易云音乐、哔哩哔哩、QQ 音乐和 YouTube Music 的链接直接打开对应内容。
- 重新设计音源与账号设置页面,并支持为网易云音乐、哔哩哔哩和 YouTube Music 单独开启播放数据上报;该功能默认关闭且不会影响正常播放。
- 提升哔哩哔哩视频播放兼容性,遇到视频编码或 CDN 来源失败时会自动尝试其他可用来源。
- 优化返回手势动画,让页面和全屏播放器的预测性返回过渡更自然、更贴合手指操作。
- 修复部分 Android 设备系统导航按钮遮挡迷你播放器的问题,并解决 OAuth 登录后界面错误显示为未登录的问题。
What's Changed
- fix: keep app playback state in sync after Android auto advance by @BruceZhang1993 in #188
- refactor: enforce playback runtime state consistency by @BruceZhang1993 in #189
- refactor: give playback queue entries stable occurrence identity by @BruceZhang1993 in #190
- fix: resume paused Android playback without restarting by @BruceZhang1993 in #193
- fix: avoid navigation controls overlapping mini player by @BruceZhang1993 in #192
- feat(android): support opening provider web links by @BruceZhang1993 in #194
- fix: keep provider auth session state after OAuth login by @BruceZhang1993 in #195
- fix: harden Bilibili video playback fallbacks by @BruceZhang1993 in #197
- feat: redesign provider settings and add opt-in playback reporting by @BruceZhang1993 in #196
- fix: align predictive back motion with Navigation 3 by @BruceZhang1993 in #198
Full Changelog: 1.5.2...1.5.3
1.5.2
✨ 重点改动
- 新增 Windows、macOS 和 Linux 桌面版预览支持,提供音乐播放、下载、播放进度恢复、系统媒体控制、托盘运行及本地音乐管理。
- 桌面版支持多平台安装包、提供商网页登录和安全凭据导入导出,并可通过文件关联与
fuo://链接打开内容。 - 桌面版新增视频播放和听歌识曲能力,视频控件会在播放无操作数秒后自动隐藏,点击即可恢复。
- 歌词匹配与切换体验改进:修复翻译、罗马音和演职员信息错位问题,手动切换音源时保留已加载歌词,并可为替换音源单独调整歌词时间偏移。
- Android 本地音乐现在会扫描所有存储目录;系统音乐目录默认启用,其他目录可在设置中选择加入。
- 设置中可将已验证的应用更新 APK 保存到系统“下载”目录,旧版 Android 的安装流程也得到兼容修复。
- 页面加载动画和加载状态统一优化,迷你播放器以悬浮卡片显示并保留页面滚动位置,设置下拉菜单也会从当前选项位置打开。
What's Changed
- ci: parallelize Android release validation by @BruceZhang1993 in #147
- fix: align rich lyric secondary tracks correctly by @BruceZhang1993 in #148
- fix: refine mini player background and mine scroll state by @BruceZhang1993 in #149
- fix: restore mini player card on transparent base by @BruceZhang1993 in #150
- ci: speed up pull request validation by @BruceZhang1993 in #151
- feat: expand lyrics alignment for replacement playback by @BruceZhang1993 in #152
- fix: suppress detail hero while full player handles back by @BruceZhang1993 in #153
- fix: anchor settings dropdown menus to selected values by @BruceZhang1993 in #154
- feat: allow saving app updates to Downloads by @BruceZhang1993 in #155
- fix: unify page loading UI on latest Compose stack by @BruceZhang1993 in #156
- fix: separate page loading from pull refresh by @BruceZhang1993 in #157
- fix: float mini player over route content by @BruceZhang1993 in #158
- ci: validate release AAR metadata in pull requests by @BruceZhang1993 in #159
- build: migrate Android build to AGP 9 APIs by @BruceZhang1993 in #160
- fix: preserve lyrics during manual source switch by @BruceZhang1993 in #161
- refactor: make playback starts explicit transactions by @BruceZhang1993 in #162
- fix: support legacy Android update installers by @BruceZhang1993 in #164
- refactor: separate logical tracks from resolved playback sources by @BruceZhang1993 in #163
- refactor: unify playback startup and restore state by @BruceZhang1993 in #165
- feat: add desktop application foundation by @BruceZhang1993 in #166
- build: add desktop packaging pipelines by @BruceZhang1993 in #167
- feat: add desktop WebView provider login by @BruceZhang1993 in #168
- feat: support desktop credential import and export by @BruceZhang1993 in #170
- feat: complete desktop P0 persistence by @BruceZhang1993 in #171
- feat: complete desktop P1 platform parity by @BruceZhang1993 in #172
- feat: add desktop video playback and audio recognition by @BruceZhang1993 in #173
- fix: expose desktop secret store diagnostics by @BruceZhang1993 in #174
- test: await desktop download state publication by @BruceZhang1993 in #175
- ci: rebuild desktop packages for source changes by @BruceZhang1993 in #176
- ci: simplify platform CI workflows by @BruceZhang1993 in #177
- fix: strip stale signatures from desktop release jars by @BruceZhang1993 in #178
- fix: set LC_NUMERIC before creating libmpv by @BruceZhang1993 in #179
- fix: restore video controls auto hide by @BruceZhang1993 in #183
- refactor: centralize test verification and coverage reporting by @BruceZhang1993 in #184
- fix: scan all Android local music directories by @BruceZhang1993 in #185
- feat(ui): use Material Expressive page loading by @BruceZhang1993 in #186
- docs: refresh README for desktop support by @BruceZhang1993 in #187
Full Changelog: 1.5.1...1.5.2
1.5.1
✨ 重点改动
- 首页顶部导航和迷你播放器焕然一新:紧凑手机布局保留了顶部导航,但改成更有层次的表达式风格;迷你播放器也增加了更大封面、更强标题层级和更明显的播放控制,狭窄屏幕上也会自动收起部分操作,整体更易用。
- 交互动画和页面转场更自然顺滑:统一了按压反馈、播放/暂停按钮的形状动画,以及资源卡片进入详情页的封面衔接,让列表浏览和内容详情切换时的视觉连续性更强,且过渡更稳定。
- 主题与播放封面色彩切换更柔和:深浅模式、预设调色板和当前播放内容的封面色彩现在都会平滑过渡,播放器和提示信息也更贴合当前内容的色调,视觉体验更一致。
- 资源区的操作入口更清晰:不再在网格里额外塞入“查看更多”卡片,而是统一放在分区右上角,保留原有展开功能,让内容展示区域更大,页面也更简洁。
- Android 更新分发能力进一步增强:发布流程新增了稳定版和 Canary 版更新清单与分发机制,后续更方便把最新版 APK 以可更新的方式分发给用户。
What's Changed
- feat: refresh expressive home navigation and mini player by @BruceZhang1993 in #138
- feat: unify expressive interaction motion by @BruceZhang1993 in #139
- feat: smooth theme color transitions by @BruceZhang1993 in #140
- feat: extend cover colors across playback surfaces by @BruceZhang1993 in #141
- ui: move resource grid more action to section corner by @BruceZhang1993 in #142
- refactor: compose provider capabilities explicitly by @BruceZhang1993 in #143
- feat: publish master builds as Canary updates by @BruceZhang1993 in #144
- feat: add Android in-app updates by @BruceZhang1993 in #145
- ci: reduce master Android build time by @BruceZhang1993 in #146
Full Changelog: 1.5.0...1.5.1
1.5.0
What's Changed
- refactor: move theme controls to a dedicated settings page by @BruceZhang1993 in #81
- refactor: extract low-risk FuoPlayerController modules by @BruceZhang1993 in #82
- [feat] Add sleep timer support to playback by @BruceZhang1993 in #84
- fix: prioritize recording identity in smart replacement by @BruceZhang1993 in #85
- refactor: split FuoPlayerController responsibilities by @BruceZhang1993 in #83
- refactor: extract playback timer and lyrics controllers by @BruceZhang1993 in #87
- refactor: establish app architecture boundaries by @BruceZhang1993 in #91
- refactor: apply P0 architecture boundaries by @BruceZhang1993 in #92
- refactor: decouple search and recognition from FuoPlayerController by @BruceZhang1993 in #93
- refactor: establish P0 runtime architecture boundaries by @BruceZhang1993 in #94
- refactor: remove Search/Recognition app-shell compat by @BruceZhang1993 in #95
- refactor: establish dedicated playback runtime by @BruceZhang1993 in #96
- refactor: migrate player UI to playback session by @BruceZhang1993 in #97
- refactor: move playback orchestration out of controller by @BruceZhang1993 in #98
- refactor: remove playback UI controller bridge by @BruceZhang1993 in #99
- refactor: complete playback UI ownership migration by @BruceZhang1993 in #100
- refactor: close P1 bridges and seed P2 ownership by @BruceZhang1993 in #101
- refactor: migrate low-risk app ownership by @BruceZhang1993 in #102
- refactor: migrate local music feature ownership by @BruceZhang1993 in #103
- refactor: complete P2 feature ownership migration by @BruceZhang1993 in #104
- refactor: extract search feature module by @BruceZhang1993 in #105
- refactor: extract offline library feature modules by @BruceZhang1993 in #106
- refactor: extract provider catalog and auth feature modules by @BruceZhang1993 in #107
- refactor: extract provider detail feature module by @BruceZhang1993 in #108
- refactor: extract settings and onboarding feature modules by @BruceZhang1993 in #109
- fix: load mine content after startup state is ready by @BruceZhang1993 in #110
- fix: separate user playback selection from resume session by @BruceZhang1993 in #111
- fix: prevent startup queue restore from overriding new playback by @BruceZhang1993 in #112
- fix: make active playback replacement transactional by @BruceZhang1993 in #113
- refactor: extract home feature module by @BruceZhang1993 in #114
- refactor: establish p4 contract boundaries by @BruceZhang1993 in #115
- refactor: split provider api and runtime boundaries by @BruceZhang1993 in #116
- feat: support BYD instrument lyrics by @BruceZhang1993 in #117
- refactor: complete P4 architecture boundaries by @BruceZhang1993 in #118
- refactor: start P5 provider modularization with Bilibili by @BruceZhang1993 in #119
- fix: refine app bar and snackbar spacing by @BruceZhang1993 in #120
- fix: refresh BYD instrument music session by @BruceZhang1993 in #121
- feat: backup and restore provider credentials by @BruceZhang1993 in #122
- feat: add provider resource favorite actions by @BruceZhang1993 in #123
- feat: add manual lyric association by @BruceZhang1993 in #124
- fix: keep smart replacement from advancing multipart sources by @BruceZhang1993 in #125
- fix: restore QQ Music followed artists by @BruceZhang1993 in #127
- feat: refine manual lyrics association and alignment by @BruceZhang1993 in #126
- refactor: migrate business state off Compose snapshots by @BruceZhang1993 in #129
- refactor: extract playback feature boundary by @BruceZhang1993 in #130
- refactor: retire provider aggregate and own replacement policy in playback by @BruceZhang1993 in #131
- fix: keep Mine page at top after initial load by @BruceZhang1993 in #132
- refactor: decompose app shell architecture by @BruceZhang1993 in #133
- feat: add listening history and statistics by @BruceZhang1993 in #134
- feat: add comprehensive multi-provider search by @BruceZhang1993 in #135
- fix: avoid implicit Gradle dependency in playback boundary check by @BruceZhang1993 in #136
- ci: share Android test workflow by @BruceZhang1993 in #137
Full Changelog: 1.4.3...1.5.0
1.4.3
What's Changed
- fix: keep paused background playback resumable by @BruceZhang1993 in #74
- fix: optimize detail page header layout by @BruceZhang1993 in #76
- fix: restore playback queue, part and progress after process loss by @BruceZhang1993 in #75
- Improve Bilibili smart replacement scoring by @BruceZhang1993 in #77
- Restore playback state after process restart by @BruceZhang1993 in #79
- feat: improve offline downloads and local library by @BruceZhang1993 in #73
- feat: add Lyricon status bar lyrics by @BruceZhang1993 in #80
Full Changelog: 1.4.2...1.4.3
1.4.2
What's Changed
- 集中智能替换设置并修复无匹配后停止播放 by @BruceZhang1993 in #65
- feat: improve romanized lyric rendering by @BruceZhang1993 in #64
- feat: improve search page and add search history by @BruceZhang1993 in #66
- fix: repair NetEase playlist mutations by @BruceZhang1993 in #67
- 合并网易云热门歌手与歌手广场入口 by @BruceZhang1993 in #68
- feat: add playlist permissions and QQ Music playlist mutations by @BruceZhang1993 in #69
- feat: safely refine smart replacement tie ordering by @BruceZhang1993 in #72
Full Changelog: 1.4.1...1.4.2
1.4.1
What's Changed
- feat: expand QQ Music discovery content by @BruceZhang1993 in #51
- fix: normalize QQ Music hostuin by @BruceZhang1993 in #52
- fix: load QQ Music user profile without legacy hostuin by @BruceZhang1993 in #53
- feat: integrate ColorOS live lyrics protocol by @BruceZhang1993 in #54
- fix: restore QQ Music artist details by @BruceZhang1993 in #55
- feat: use NetEase home entry artwork by @BruceZhang1993 in #56
- fix: load NetEase explore artwork from homepage blocks by @BruceZhang1993 in #57
- ui: use Material icons for explore entries by @BruceZhang1993 in #58
- feat: expand QQ Music mine library by @BruceZhang1993 in #59
- feat: support rich lyrics from QQ Music and NetEase by @BruceZhang1993 in #60
- feat: expand YouTube Music content support by @BruceZhang1993 in #61
- Load provider content incrementally by @BruceZhang1993 in #62
Full Changelog: 1.4.0...1.4.1
1.4.0
What's Changed
- Add playlist playback stats and show frequently-played playlists in Mine section by @BruceZhang1993 in #42
- feat: support Android system share links by @BruceZhang1993 in #43
- feat: add NetEase discovery content by @BruceZhang1993 in #45
- feat: improve MV playback experience by @BruceZhang1993 in #46
- feat: refine NetEase recommendations by @BruceZhang1993 in #47
- feat: show recommended new songs as an entry by @BruceZhang1993 in #48
- feat: add NetEase P0 explore channels by @BruceZhang1993 in #49
- feat: expand Bilibili content browsing by @BruceZhang1993 in #50
Full Changelog: 1.3.2...1.4.0
1.3.2
1.3.1
What's Changed
- fix: restore smart replacement scoring and candidate selection by @BruceZhang1993 in #40
Full Changelog: 1.3.0...1.3.1