chore(release): add the 2.3.0 changelogs, update the README, send OS details from Desktop to Sentry and bump dependencies
This commit is contained in:
parent
c2e810e3bf
commit
0914057a46
7 changed files with 181 additions and 14 deletions
13
README.md
13
README.md
|
|
@ -12,6 +12,7 @@ A FOSS YouTube Music client for Android and Desktop with many features from<br>S
|
|||
<a href="https://f-droid.org/en/packages/com.maxrave.simpmusic/"><img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" width="200"></a>
|
||||
<a href="https://www.openapk.net/simpmusic/com.maxrave.simpmusic/"><img src="https://www.openapk.net/images/openapk-badge.png" width="200"></a>
|
||||
<a href="https://github.com/maxrave-dev/SimpMusic/releases"><img src="https://raw.githubusercontent.com/NeoApplications/Neo-Backup/034b226cea5c1b30eb4f6a6f313e4dadcbb0ece4/badge_github.png" width="200"></a>
|
||||
<br><sub>On vivo phones, install <code>SimpMusic-full-vivo-*.apk</code> from <a href="https://github.com/maxrave-dev/SimpMusic/releases">Releases</a> for Origin Island and the music widget. It installs as a separate app and can't sit next to Spotify.</sub>
|
||||
<h4>Nightly Build</h4>
|
||||
<a href="https://simpmusic.org/nightly-download"><img src="https://github.com/maxrave-dev/SimpMusic/actions/workflows/android.yml/badge.svg"></a><br/> <a href="https://simpmusic.org/nightly-download"><img src="https://raw.githubusercontent.com/NeoApplications/Neo-Backup/034b226cea5c1b30eb4f6a6f313e4dadcbb0ece4/badge_github.png" width="200"></a>
|
||||
</div>
|
||||
|
|
@ -24,10 +25,11 @@ A FOSS YouTube Music client for Android and Desktop with many features from<br>S
|
|||
|
||||
## Features ✨️
|
||||
- Play music from YouTube Music or YouTube for free, without ads and in the background
|
||||
- Three Now Playing styles: Classic, Material 3 Expressive and Apple Music (NEW)
|
||||
- Three Now Playing styles: Classic, Material 3 Expressive and a redesigned Apple Music player with Apple Music-style lyrics (NEW)
|
||||
- Ten-band equalizer with presets and AutoEq headphone profiles, plus Delay and Reverb effects, or your phone's system equalizer on Android (NEW)
|
||||
- Pick the speaker, headphones or Cast device SimpMusic plays on, without moving other apps' audio (NEW)
|
||||
- SimpMusic Wrapped: your year in music, plus monthly recap playlists (NEW)
|
||||
- On-device listening analytics: charts, period history, listening clock (NEW)
|
||||
- On-device listening analytics: charts, period history, listening clock and a shareable listening receipt (NEW)
|
||||
- Word-by-word Apple Music-style lyrics, romanization for 12 languages, share lyrics as an image, landscape fullscreen lyrics and a timing offset (NEW)
|
||||
- Home screen widgets: turntable, playlists and listening insights (NEW)
|
||||
- Send your sign-ins from Android to Desktop by scanning a QR code (NEW)
|
||||
|
|
@ -38,7 +40,8 @@ A FOSS YouTube Music client for Android and Desktop with many features from<br>S
|
|||
- Spotify Canvas and Animated Album Art supported (NEW)
|
||||
- Power your experience with SimpMusic Chart (https://chart.simpmusic.org/)
|
||||
- Play 1080p video option with subtitle
|
||||
- AI song suggestions
|
||||
- Play YouTube Music live stations (NEW)
|
||||
- AI song suggestions and an AI reading of your music taste (NEW)
|
||||
- Import playlists converted from Spotify and other apps
|
||||
- Customize your playlist, synced with YouTube Music
|
||||
- Notifications from followed artists
|
||||
|
|
@ -113,8 +116,8 @@ I use [Sentry](http://sentry.io) crashlytics to catch all crashes in the Full ve
|
|||
## Desktop app
|
||||
|
||||
### Which file should I download?
|
||||
- For Windows: Download the `.msix` package and run `install.bat` to install.
|
||||
- For macOS: Download the file with extension `.dmg`.
|
||||
- For Windows: Download `SimpMusic-Windows-installer.zip`, unzip it and run `install.bat`.
|
||||
- For macOS (macOS 15 or newer): Download the file with extension `.dmg`.
|
||||
- For Linux: Download the file with extension `.AppImage` (all Linux distributions)
|
||||
|
||||
### Log in guide: https://www.simpmusic.org/blogs/en/how-to-log-in-on-desktop-app
|
||||
|
|
|
|||
41
changelogs/2.3.0/en-US.md
Normal file
41
changelogs/2.3.0/en-US.md
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
# SimpMusic 2.3.0
|
||||
|
||||
## New
|
||||
- **Apple Music player, redesigned**: the whole artwork without cropping, animated artwork in a frame of its own shape, a background made from the artwork's colours, the current lyric line above the seek bar, the stream's bitrate and sample rate, and an output button with Cast beside Listen Together. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Apple Music-style lyrics**: when the sung line changes, the lines move up one after another, the way Apple Music does, instead of as one block. ([#2408](https://github.com/maxrave-dev/SimpMusic/issues/2408))
|
||||
- **Home, redesigned**: "Your daily discover" as a large carousel, "Play all" on the sections that offer it, a play button on hover on Desktop, and new Library cards for Favorite, Followed, Most played and Downloaded that show your latest items. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Listening receipt**: share the songs you played most in a period as a printed receipt, from the Analytics screen. ([#2598](https://github.com/maxrave-dev/SimpMusic/issues/2598))
|
||||
- **What's your music taste?**: an AI card in Library reads your last 12 months of listening and describes your taste, using the AI provider you set up in Settings. ([#2568](https://github.com/maxrave-dev/SimpMusic/issues/2568))
|
||||
- **Audio output**: choose the speaker, headphones or Cast device right from the player, in every player style. Only SimpMusic's audio moves. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Live broadcasts**: YouTube Music's live stations play, with a LIVE badge on their cards. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Animated artwork on artist pages**: artist pages play the artist's animated artwork from Apple Music. ([#2579](https://github.com/maxrave-dev/SimpMusic/issues/2579))
|
||||
- **App log**: Settings → Developer option → App log shows the app's log. Export it to attach to a bug report, with keys, cookies and IP addresses removed. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Song options in the queue**: the ⋯ on a queue row opens the full song menu, with move up, move down, move to play next and remove. ([#2599](https://github.com/maxrave-dev/SimpMusic/issues/2599), [#2542](https://github.com/maxrave-dev/SimpMusic/issues/2542))
|
||||
- **SimpMusic for vivo**: a separate APK that vivo's Origin Island and music widget can follow. ([#2074](https://github.com/maxrave-dev/SimpMusic/issues/2074), [#2316](https://github.com/maxrave-dev/SimpMusic/issues/2316))
|
||||
|
||||
## Improved
|
||||
- **Classic and Material 3 Expressive players**: animated album artwork plays the way it does in the Apple Music player, and Material 3 Expressive takes its colours from the artwork. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Settings**: sections are grouped into cards. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Lyrics timing offset**: adjust it right from the lyrics screens, not only in Settings. ([#2338](https://github.com/maxrave-dev/SimpMusic/issues/2338))
|
||||
- **Windows**: the standard Windows title bar with its own minimize, maximize and close buttons. ([#2075](https://github.com/maxrave-dev/SimpMusic/issues/2075), [#2597](https://github.com/maxrave-dev/SimpMusic/issues/2597))
|
||||
- **Images**: artwork is kept for a day and still shows when you are offline. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Downloads**: only the audio is downloaded while video playback is off. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Smoother UI**: the bottom bar, the mini player and the glass effects redraw less while nothing on screen changes. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Developer blog**: the blog and its notifications now come from simpmusic.org. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
|
||||
## Fixed
|
||||
- Windows: crashes with "Unable to rename settings.preferences_pb.tmp". ([#2357](https://github.com/maxrave-dev/SimpMusic/issues/2357), [#2406](https://github.com/maxrave-dev/SimpMusic/issues/2406), [#2158](https://github.com/maxrave-dev/SimpMusic/issues/2158), [#2145](https://github.com/maxrave-dev/SimpMusic/issues/2145), [#2459](https://github.com/maxrave-dev/SimpMusic/issues/2459))
|
||||
- Desktop: crashes when opening Settings or a playlist's menu, and antivirus warnings, all caused by the file picker library. ([#2546](https://github.com/maxrave-dev/SimpMusic/issues/2546), [#2559](https://github.com/maxrave-dev/SimpMusic/issues/2559), [#2580](https://github.com/maxrave-dev/SimpMusic/issues/2580), [#2593](https://github.com/maxrave-dev/SimpMusic/issues/2593), [#2595](https://github.com/maxrave-dev/SimpMusic/issues/2595), [#2603](https://github.com/maxrave-dev/SimpMusic/issues/2603), [#2609](https://github.com/maxrave-dev/SimpMusic/issues/2609))
|
||||
- Linux: no sound on Fedora and other distributions not based on Ubuntu. ([#2462](https://github.com/maxrave-dev/SimpMusic/issues/2462))
|
||||
- Android 11 and below: crash when moving between some screens. ([#1987](https://github.com/maxrave-dev/SimpMusic/issues/1987))
|
||||
- Seek bars not following a seek made while paused. ([#2480](https://github.com/maxrave-dev/SimpMusic/issues/2480))
|
||||
- Search history closing when you scroll it. ([#2572](https://github.com/maxrave-dev/SimpMusic/issues/2572))
|
||||
- Word-by-word lyrics in Arabic and other right-to-left languages. ([#2584](https://github.com/maxrave-dev/SimpMusic/issues/2584))
|
||||
- Shuffle: dragging a song, adding songs or using Play next reshuffled the queue. ([#2360](https://github.com/maxrave-dev/SimpMusic/issues/2360), [#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- New release notifications announcing old releases, and showing "This link is not supported" when tapped. ([#1999](https://github.com/maxrave-dev/SimpMusic/issues/1999), [#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- Charts: the US chart was empty. It now also shows the weekly top podcast shows. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- Japanese romanization missing after reinstalling the app. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- Editing a synced YouTube playlist failing for songs past its first page. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- Login Sync on Android 17: the app now asks for the local network permission. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- Back buttons staying white on a light theme, and squeezed artwork in the song options sheet. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- Apple Music player: a vertical video touching the title below it. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
41
changelogs/2.3.0/vi-VN.md
Normal file
41
changelogs/2.3.0/vi-VN.md
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
# SimpMusic 2.3.0
|
||||
|
||||
## Mới
|
||||
- **Trình phát Apple Music làm mới**: artwork hiện trọn không bị cắt, artwork động nằm trong khung đúng tỉ lệ của nó, nền lấy từ màu của artwork, dòng lời đang hát nằm trên thanh tua, hiện bitrate và tần số lấy mẫu của luồng phát, và nút đầu ra âm thanh (kèm Cast) cạnh Listen Together. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Lời bài hát kiểu Apple Music**: khi chuyển dòng đang hát, các dòng lần lượt trôi lên nối tiếp nhau như Apple Music, thay vì cả khối cùng nhảy. ([#2408](https://github.com/maxrave-dev/SimpMusic/issues/2408))
|
||||
- **Home làm mới**: "Your daily discover" thành carousel cỡ lớn, nút "Play all" ở những mục có hỗ trợ, nút phát hiện ra khi rê chuột trên máy tính, và thẻ Thư viện mới cho Yêu thích, Đang theo dõi, Nghe nhiều nhất và Đã tải, hiện các mục mới nhất của bạn. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Hoá đơn nghe nhạc**: chia sẻ những bài bạn nghe nhiều nhất trong một khoảng thời gian dưới dạng một tờ hoá đơn in, ngay trong màn Analytics. ([#2598](https://github.com/maxrave-dev/SimpMusic/issues/2598))
|
||||
- **Gu nhạc của bạn**: thẻ AI trong Thư viện đọc lịch sử nghe 12 tháng gần nhất và mô tả gu nhạc của bạn, dùng nhà cung cấp AI bạn đã cài trong Cài đặt. ([#2568](https://github.com/maxrave-dev/SimpMusic/issues/2568))
|
||||
- **Đầu ra âm thanh**: chọn loa, tai nghe hoặc thiết bị Cast ngay trong trình phát, ở cả ba giao diện trình phát. Chỉ âm thanh của SimpMusic được chuyển. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Phát trực tiếp**: các kênh phát trực tiếp của YouTube Music phát được, thẻ của chúng có nhãn LIVE. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Artwork động trên trang nghệ sĩ**: trang nghệ sĩ phát artwork động của nghệ sĩ lấy từ Apple Music. ([#2579](https://github.com/maxrave-dev/SimpMusic/issues/2579))
|
||||
- **Nhật ký ứng dụng**: Cài đặt → Developer option → App log hiện nhật ký của app. Bạn có thể xuất ra để gửi kèm báo lỗi; key, cookie và địa chỉ IP được xoá khỏi file xuất. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Tuỳ chọn bài hát trong hàng chờ**: nút ⋯ ở mỗi bài trong hàng chờ mở đầy đủ menu bài hát, có chuyển lên, chuyển xuống, chuyển thành bài phát tiếp theo và xoá khỏi hàng chờ. ([#2599](https://github.com/maxrave-dev/SimpMusic/issues/2599), [#2542](https://github.com/maxrave-dev/SimpMusic/issues/2542))
|
||||
- **SimpMusic cho vivo**: một bản APK riêng mà Origin Island và widget nhạc của máy vivo nhận được. ([#2074](https://github.com/maxrave-dev/SimpMusic/issues/2074), [#2316](https://github.com/maxrave-dev/SimpMusic/issues/2316))
|
||||
|
||||
## Cải thiện
|
||||
- **Trình phát Classic và Material 3 Expressive**: artwork động của album phát giống như ở trình phát Apple Music, và Material 3 Expressive lấy màu theo artwork. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Cài đặt**: các mục được gom thành từng nhóm thẻ. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Bù trễ thời gian lời bài hát**: chỉnh ngay trong màn lời bài hát, không chỉ trong Cài đặt. ([#2338](https://github.com/maxrave-dev/SimpMusic/issues/2338))
|
||||
- **Windows**: thanh tiêu đề chuẩn của Windows với các nút thu nhỏ, phóng to và đóng của hệ thống. ([#2075](https://github.com/maxrave-dev/SimpMusic/issues/2075), [#2597](https://github.com/maxrave-dev/SimpMusic/issues/2597))
|
||||
- **Hình ảnh**: artwork được giữ lại một ngày và vẫn hiện khi bạn mất mạng. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Tải xuống**: chỉ tải âm thanh khi bạn đang tắt chế độ phát video. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **UI mượt hơn**: thanh điều hướng dưới, mini player và hiệu ứng glass vẽ lại ít hơn khi màn hình không có gì thay đổi. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- **Developer blog**: blog và thông báo bài mới giờ lấy từ simpmusic.org. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
|
||||
## Sửa lỗi
|
||||
- Windows: crash với lỗi "Unable to rename settings.preferences_pb.tmp". ([#2357](https://github.com/maxrave-dev/SimpMusic/issues/2357), [#2406](https://github.com/maxrave-dev/SimpMusic/issues/2406), [#2158](https://github.com/maxrave-dev/SimpMusic/issues/2158), [#2145](https://github.com/maxrave-dev/SimpMusic/issues/2145), [#2459](https://github.com/maxrave-dev/SimpMusic/issues/2459))
|
||||
- Máy tính: crash khi mở Cài đặt hoặc menu của playlist, và cảnh báo của phần mềm diệt virus, đều do thư viện chọn file gây ra. ([#2546](https://github.com/maxrave-dev/SimpMusic/issues/2546), [#2559](https://github.com/maxrave-dev/SimpMusic/issues/2559), [#2580](https://github.com/maxrave-dev/SimpMusic/issues/2580), [#2593](https://github.com/maxrave-dev/SimpMusic/issues/2593), [#2595](https://github.com/maxrave-dev/SimpMusic/issues/2595), [#2603](https://github.com/maxrave-dev/SimpMusic/issues/2603), [#2609](https://github.com/maxrave-dev/SimpMusic/issues/2609))
|
||||
- Linux: không có tiếng trên Fedora và các bản phân phối không dựa trên Ubuntu. ([#2462](https://github.com/maxrave-dev/SimpMusic/issues/2462))
|
||||
- Android 11 trở xuống: crash khi chuyển qua lại giữa một số màn hình. ([#1987](https://github.com/maxrave-dev/SimpMusic/issues/1987))
|
||||
- Thanh tua không chạy theo khi bạn tua lúc đang tạm dừng. ([#2480](https://github.com/maxrave-dev/SimpMusic/issues/2480))
|
||||
- Lịch sử tìm kiếm bị đóng khi bạn cuộn. ([#2572](https://github.com/maxrave-dev/SimpMusic/issues/2572))
|
||||
- Lời chạy theo từng từ với tiếng Ả Rập và các ngôn ngữ viết từ phải sang trái. ([#2584](https://github.com/maxrave-dev/SimpMusic/issues/2584))
|
||||
- Shuffle: kéo một bài, thêm bài hoặc dùng "Phát tiếp theo" làm xáo trộn lại cả hàng chờ. ([#2360](https://github.com/maxrave-dev/SimpMusic/issues/2360), [#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- Thông báo bản phát hành mới báo cả bản cũ, và hiện "This link is not supported" khi bấm vào. ([#1999](https://github.com/maxrave-dev/SimpMusic/issues/1999), [#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- Bảng xếp hạng: bảng của Mỹ bị trống. Giờ bảng còn có thêm top podcast của tuần. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- Phiên âm tiếng Nhật biến mất sau khi cài lại app. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- Sửa playlist YouTube đã đồng bộ bị lỗi với các bài nằm sau trang đầu. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- Login Sync trên Android 17: app giờ xin quyền mạng cục bộ. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- Nút quay lại vẫn màu trắng khi dùng giao diện sáng, và artwork bị bóp méo trong menu tuỳ chọn bài hát. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
- Trình phát Apple Music: video dọc chạm vào tên bài bên dưới. ([#2600](https://github.com/maxrave-dev/SimpMusic/issues/2600))
|
||||
|
|
@ -47,8 +47,10 @@ import com.maxrave.simpmusic.viewModel.SharedViewModel
|
|||
import com.maxrave.simpmusic.viewModel.changeLanguageNative
|
||||
import dev.nucleusframework.composenativetray.tray.api.Tray
|
||||
import dev.nucleusframework.core.runtime.SingleInstanceManager
|
||||
import io.sentry.ScopeType
|
||||
import io.sentry.Sentry
|
||||
import io.sentry.SentryLevel
|
||||
import io.sentry.protocol.OperatingSystem
|
||||
import io.sentry.protocol.User
|
||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
||||
import kotlinx.coroutines.flow.SharedFlow
|
||||
|
|
@ -226,6 +228,9 @@ fun runDesktopApp(args: Array<String> = emptyArray()) {
|
|||
options.isSendDefaultPii = true
|
||||
options.setTracesSampler { context -> if (context.transactionContext.name == SENTRY_APP_OPEN) 1.0 else 0.0 }
|
||||
}
|
||||
// sentry-java fills in no OS context on the JVM (only sentry-android does). The global scope reaches
|
||||
// every event and the app.open transaction, on every thread.
|
||||
Sentry.configureScope(ScopeType.GLOBAL) { it.contexts.setOperatingSystem(desktopOs()) }
|
||||
if (installationId != null) Sentry.setUser(User().apply { id = installationId })
|
||||
Sentry.startSession()
|
||||
Sentry.startTransaction(SENTRY_APP_OPEN, SENTRY_APP_OPEN).finish()
|
||||
|
|
@ -561,6 +566,61 @@ private fun machineId(): String? {
|
|||
return MessageDigest.getInstance("SHA-256").digest(raw.toByteArray()).joinToString("") { "%02x".format(it) }
|
||||
}
|
||||
|
||||
/**
|
||||
* The OS as Sentry shows it ("Windows 11 24H2", "macOS 27.0.1", "Ubuntu 24.04"). Name and version are set
|
||||
* explicitly, so Sentry does not guess from a raw description — its Windows table stops at build 22999.
|
||||
* Falls back to the JDK's own values when anything fails. Blocking (runs `reg` on Windows).
|
||||
*/
|
||||
private fun desktopOs(): OperatingSystem {
|
||||
val osName = System.getProperty("os.name").orEmpty()
|
||||
val osVersion = System.getProperty("os.version")
|
||||
return runCatching {
|
||||
OperatingSystem().apply {
|
||||
when {
|
||||
osName.startsWith("Windows") -> {
|
||||
// The JDK's os.version is "10.0" on both Windows 10 and 11; the build lives in the registry.
|
||||
val reg = runCommand("reg", "query", "HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "/reg:64")
|
||||
|
||||
fun value(key: String) = Regex("^\\s+$key\\s+REG_\\w+\\s+(\\S+)", RegexOption.MULTILINE).find(reg)?.groupValues?.get(1)
|
||||
val ubr = value("UBR")?.removePrefix("0x")?.toIntOrNull(16)
|
||||
name = "Windows"
|
||||
// ReleaseId is what Windows 10 had before DisplayVersion arrived in 20H2.
|
||||
version = listOfNotNull(osName.removePrefix("Windows "), value("DisplayVersion") ?: value("ReleaseId")).joinToString(" ")
|
||||
build = value("CurrentBuild")?.let { if (ubr != null) "$it.$ubr" else it }
|
||||
}
|
||||
|
||||
osName.startsWith("Mac") -> {
|
||||
// Not os.version: JDKs without JDK-8359830 (the bundled runtime is 21.0.2) report macOS 26 as
|
||||
// "16.0". The hidden link is the file that fix reads, unaffected by SYSTEM_VERSION_COMPAT.
|
||||
val plist = File("/System/Library/CoreServices/.SystemVersionPlatform.plist").readText()
|
||||
|
||||
fun value(key: String) = Regex("<key>$key</key>\\s*<string>([^<]+)</string>").find(plist)?.groupValues?.get(1)
|
||||
name = "macOS"
|
||||
version = value("ProductVersion")
|
||||
build = value("ProductBuildVersion")
|
||||
}
|
||||
|
||||
else -> {
|
||||
// os-release(5): /etc/os-release wins, /usr/lib/os-release is the fallback.
|
||||
val release =
|
||||
listOf("/etc/os-release", "/usr/lib/os-release")
|
||||
.firstNotNullOfOrNull { path -> File(path).takeIf { it.canRead() }?.readLines() }
|
||||
.orEmpty()
|
||||
.associate { it.substringBefore('=') to it.substringAfter('=').trim('"', '\'') }
|
||||
name = release["NAME"] ?: osName
|
||||
version = release["VERSION_ID"]
|
||||
kernelVersion = osVersion
|
||||
}
|
||||
}
|
||||
}
|
||||
}.getOrElse {
|
||||
OperatingSystem().apply {
|
||||
name = osName
|
||||
version = osVersion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Skiko draws into a heavyweight java.awt.Canvas nested somewhere under the content pane.
|
||||
private fun Container.findCanvas(predicate: (Canvas) -> Boolean): Canvas? =
|
||||
components.firstNotNullOfOrNull { if (it is Canvas) it.takeIf(predicate) else (it as? Container)?.findCanvas(predicate) }
|
||||
|
|
|
|||
11
fastlane/metadata/android/en-US/changelogs/60.txt
Normal file
11
fastlane/metadata/android/en-US/changelogs/60.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
New:
|
||||
- Redesigned Apple Music player and Apple Music-style lyrics
|
||||
- Redesigned Home and Library cards
|
||||
- Listening receipt, AI taste card, audio output picker
|
||||
- Live broadcasts, animated artist artwork, App log
|
||||
Improved:
|
||||
- Classic and M3E animated artwork, Settings cards, queue song menu
|
||||
- Lyrics offset in lyrics view, Windows title bar, offline artwork
|
||||
Fixed:
|
||||
- Windows settings crash, desktop file picker crash, Android 11 crash
|
||||
- Fedora sound, seek bar while paused, search history, RTL lyrics
|
||||
11
fastlane/metadata/android/vi-VN/changelogs/60.txt
Normal file
11
fastlane/metadata/android/vi-VN/changelogs/60.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
Mới:
|
||||
- Trình phát và lời bài hát kiểu Apple Music làm mới
|
||||
- Home và thẻ Thư viện làm mới
|
||||
- Hoá đơn nghe nhạc, thẻ gu nhạc AI, chọn đầu ra âm thanh
|
||||
- Phát trực tiếp, artwork động nghệ sĩ, nhật ký app
|
||||
Cải thiện:
|
||||
- Artwork động ở Classic/M3E, Cài đặt dạng thẻ, menu bài trong hàng chờ
|
||||
- Bù trễ lời ngay màn lời, thanh tiêu đề Windows, artwork offline
|
||||
Sửa lỗi:
|
||||
- Crash cài đặt Windows, crash chọn file máy tính, crash Android 11
|
||||
- Tiếng trên Fedora, thanh tua khi dừng, lịch sử tìm kiếm, lời RTL
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
version-name = "2.3.0"
|
||||
version-code = "60"
|
||||
|
||||
android = "9.2.1"
|
||||
android = "9.4.1"
|
||||
kotlin = "2.4.20"
|
||||
serialization = "2.4.20"
|
||||
ksp = "2.3.9"
|
||||
|
|
@ -19,7 +19,7 @@ startup-runtime = "1.2.0"
|
|||
media3 = "1.11.1"
|
||||
play-services-cast-framework = "22.3.1"
|
||||
mediarouter = "1.8.1"
|
||||
car-app = "1.9.0-alpha02"
|
||||
car-app = "1.9.0-alpha03"
|
||||
androidx-media = "1.8.0"
|
||||
okhttp3 = "5.5.0"
|
||||
junit = "4.13.2"
|
||||
|
|
@ -36,7 +36,7 @@ kmpalette = "3.1.0"
|
|||
materialkolor = "5.0.1"
|
||||
easypermissions = "3.0.0"
|
||||
datastore-preferences = "1.2.1"
|
||||
paging = "3.5.1"
|
||||
paging = "3.5.2"
|
||||
customactivityoncrash = "2.4.0"
|
||||
aboutlibraries = "15.2.0" # BUG Can not upgrade version
|
||||
ktor = "3.6.0"
|
||||
|
|
@ -50,15 +50,15 @@ pinyin4j = "2.5.1"
|
|||
desugaring = "2.1.5"
|
||||
koin-bom = "4.2.2"
|
||||
md = "0.45.0"
|
||||
haze = "2.0.0"
|
||||
haze = "2.0.1"
|
||||
onetimepassword = "3.0.0"
|
||||
common = "1.22.1"
|
||||
json = "1.11.0"
|
||||
gemini-kotlin = "4.0.2"
|
||||
slf4j = "1.7.36"
|
||||
sentry-android = "8.58.0"
|
||||
sentry-gradle-android = "6.22.0"
|
||||
sentry-jvm = "8.58.0"
|
||||
sentry-android = "8.59.0"
|
||||
sentry-gradle-android = "6.23.0"
|
||||
sentry-jvm = "8.59.0"
|
||||
newpipe = "v0.26.1"
|
||||
brave-newpipe = "0fcaf19ecc"
|
||||
# org.json ships with the Android SDK but is absent on JVM desktop; PipePipeExtractor references it.
|
||||
|
|
@ -68,7 +68,7 @@ pipepipe = "f8982ca9e7"
|
|||
quickjs = "1.0.15"
|
||||
webkit = "1.17.1"
|
||||
kermit = "2.2.0"
|
||||
paging-common = "3.5.1"
|
||||
paging-common = "3.5.2"
|
||||
glance = "1.2.0"
|
||||
liquid-glass = "2.0.1"
|
||||
liquid-glass-shapes = "1.2.1"
|
||||
|
|
@ -89,7 +89,7 @@ jna = "5.19.1"
|
|||
jnaPlatform = "5.19.1"
|
||||
material = "1.14.0"
|
||||
osdetector = "1.7.3"
|
||||
tray = "2.1.6"
|
||||
tray = "2.1.7"
|
||||
nucleus-notification = "2.5.18"
|
||||
commonsIo = "2.5"
|
||||
packagedeps = "0.2.5"
|
||||
|
|
|
|||
Loading…
Reference in a new issue