Release v2.11.4
✨ New Features
e35df74- docker: 支持 PUID/PGID 非 root 运行 (commit by @hanxi)658b3df- jsplugin: playlists.getSongs bridge 支持 sort/order 排序参数 (commit by @hanxi)ef4bbd7- play: 后端支持倍速播放转码 (0.5x–2x) (commit by @hanxi)8506c11- 登录页新增同意协议勾选功能 (commit by @hanxi)6633cec- normalize: 开放音量均衡目标响度自定义 (commit by @hanxi)a7efc92- proxy: 新增 /proxy/transcode 实时转码代理;radio 转码接入 http_proxy (commit by @hanxi)
🐛 Bug Fixes
d27d727- player: 修复 Web 播放错位并优化日志导出 (commit by @hanxi)a60878c- player: 更新 Windows 首帧尺寸修复 (commit by @hanxi)56c7562- scan: 修复自动创建歌单重复的问题 (commit by @hanxi)d8efd8f- build: armv7 交叉编译跳过 UPX 压缩,避免运行时 futex 崩溃 (commit by @hanxi)674d0f3- jsplugin: 更新 MIoT 插件子模块指针,修复歌曲定位跳回第一屏 (commit by @hanxi)6cabc75- player: 更新 songloft-player 子模块指针 (#361) (commit by @hanxi)58e174a- playlist: song-ids 接口支持自定义 sort/order (commit by @hanxi)45c4985- play: 修复音量均衡切歌截断音频被误判为完整缓存并永久保留 (commit by @hanxi)038ccdf- docs: 安装落地页 Scoop 章节与 README 同步 (PR #384 by @altman08)1a65f5b- cover: 限制缩略图并发解码防止弱设备 OOM (commit by @hanxi)4ede17d- app: 修复 Tracely 初始化多余逗号导致编译失败 (commit by @hanxi)866478f- metadata: ProbeForValidation 使用 tag.FileType 替代临时文件扩展名识别格式 (commit by @hanxi)604bb82- miot: 修复 miot 插件 webf 重写后的前端 bug 与宿主返回键通路 (commit by @hanxi)
📝 Documentation Changes
9360a43- update CHANGELOG for v2.11.3 (commit by @github-actions[bot])33e8e25- 新增第三方客户端板块(音乐方舟、箭头音乐) (commit by @hanxi)6dd7673- 第三方客户端Logo改用官网图标 (commit by @hanxi)8d74c11- 修正隐私宣传措辞,对齐 PRIVACY.md 实际口径 (commit by @hanxi)6ebc26d- player: 记录播放按钮形状设计规范 (commit by @hanxi)c42cdbb- 第三方客户端新增音流(Stream Music) (commit by @hanxi)
🔧 Chores
322a631- player: 更新子模块修复冷启动首次点歌错歌 (commit by @hanxi)a397bd3- player: 同步插件商店刷新修复 (commit by @hanxi)486498d- player: 更新播放器子模块指针 (commit by @hanxi)b36328e- 更新 songloft-player 子模块指针 (commit by @hanxi)9073f29- 更新子模块 - 清理GitHub加速代理预设,添加AI Prompt复制功能 (commit by @hanxi)5c198a7- player: 更新 songloft-player 子模块指针 (commit by @hanxi)e47d96d- player: 更新 songloft-player 子模块指针 (commit by @hanxi)7739690- bump songloft-plugin-miot (commit by @hanxi)a42a361- release version 2.11.4 (commit by @hanxi)