github mornyeapp/Mornye v5.3.1
Mornye v5.3.1

5 hours ago

New Features

  • artist: Give Mornye's album card Music's plus and note
  • search: Drop Mornye desktop's filter chips, as in Music
  • artist: Shuffle an artist's Library songs from the Mornye hero
  • mornye: Music's glass inspector, player actions and Home text
  • home: Make Mornye's Home Music's own, picks included
  • home: Recently Played and extension playlists for Mornye
  • theme: Move a stored red Mornye accent to blue once
  • search: Mornye Top Results and a compact desktop toolbar
  • home: Open Mornye Home with Top Picks banners
  • mornye: Pour menus, fold the bar into one glass, desktop artist row
  • desktop: Bring Mornye's chrome and motion closer to Music
  • track: Copy a track's streaming service link
  • library: Play, queue and delete files from a collection selection
  • library: Find downloads that were moved to the download folder (#809)
  • desktop: Use the expressive transport in the Material player bar
  • player: Make automatic fullscreen lyrics optional
  • network: Prefetch upcoming NAS songs to a local cache
  • library: Upload local songs to network storage
  • desktop: Add application tab back and forward history
  • cast: Google Cast on iOS and desktop
  • cast: Add a Rust Google Cast sender and media server
  • lyrics: Edit and sync lyrics from the player
  • player: Open audio files and folders directly
  • home: Lay out the Material desktop Home for a wide pane
  • library: Save network songs offline with independent copies
  • files: Safely reorganize existing library files (#781)
  • Implement plain Windows path handling and matching for file operations by @kevenchantre
  • Enhance library reorganization and file handling by @kevenchantre
  • files: Apply folder and filename rules to existing downloads by @kevenchantre
  • player: Slide artwork with track swipes (#788)
  • player: Slide artwork with track swipe by @frpboy
  • library: Add whole-library metadata re-enrichment (#787) (#787)
  • Add re-enrich all tracks functionality and related UI components by @kevenchantre
  • lyrics: Add fast and synced translation modes
  • android: Add Google Cast audio output
  • library: Add search by saved lyrics
  • lastfm: Add desktop account connection and scrobbling
  • lyrics: Automatically embed online search results
  • lyrics: Sync AI romanization to original word timing
  • lyrics: Sync translated phrases to original word timing
  • network: Edit metadata and lyrics on SMB and WebDAV
  • desktop: Dismiss paused playback from the player bar

Bug Fixes

  • android: Register player events before create replies
  • android: Move player operations off the UI thread
  • metadata: Re-enrich writable network library files
  • player: Dismiss search focus when opening now playing
  • player: Keep landscape motion covers square and toggle lyric controls
  • audio: Clarify Bluetooth codec access and bitrate display
  • metadata: Grant file access for Windows artwork paths
  • artist: Isolate album notes and clarify download actions
  • search: Preserve all extension filters on desktop
  • home: Respect feed selection and provider-neutral layouts
  • audio: Distinguish exclusive output from bit-perfect playback
  • home: Hold Mornye's card until Recently Played loads
  • home: Let Top Picks read any extension
  • artist: Let Mornye's artist page fall away to near black
  • home: Size Mornye's Home shelves as Music's pane does
  • mixes: Build again when the cache is empty at the same total
  • home: Keep Mornye's Home neutral and enlarge its toolbar glass
  • artist: Size the Mornye desktop toolbar as in Music and drop its title
  • player: Keep Mornye's layout still when a computer takes over
  • windows: Build without the ATL component and find Inno Setup (#764)
  • orientation: Let tablets rotate outside the full player (#807)
  • playback: Remove missing files from the active queue
  • windows: Update WASAPI backend and use driver minimum buffer
  • playback: Skip missing local tracks
  • playback: Release local audio before deletion
  • nas: Accept format hints in metadata proxy URLs
  • ios: Play formats AVPlayer cannot open and skip unplayable songs
  • windows: Poll connectivity without registering network listeners
  • lint: Align Library test overrides and notifier APIs
  • android: Keep media controls responsive during artwork reads
  • desktop: Keep Escape on the page and record every destination
  • lyrics: Translate straight into the saved language
  • link: Refresh phone catalogs after desktop file deletion
  • android: Restore keyboard viewport after backgrounding
  • android: Keep MediaPlayer audio in the platform mixer
  • ios: Preserve NAS streaming format hints and native errors
  • link: Delete shared phone songs from desktop
  • desktop: Keep Material player bar controls inside narrow windows
  • files: Align the reorganize flow with the app's UI rules
  • library: Preserve artwork and silence automatic scan notices
  • windows: Omit unused FFmpegKit native plugin
  • files: Keep relocation compatible with system SQLite
  • windows: Recognize alternate paths to the same library file (#789)
  • windows: Treat verbatim and plain paths as the same file by @kevenchantre
  • l10n: Validate and merge Crowdin translations (#734)
  • download: Resolve SAF conversion filenames from document metadata (#768)
  • storage: Allow cancellable large-file uploads (#762) (#762)
  • storage: Decouple upload timeouts for large file transfers by @Rohitkr0406
  • playback: Support gapless exclusive output and guard metadata lifecycle
  • android: Size notification mark for the status bar
  • android: Promote download service before queue preparation
  • lyrics: Reduce translation latency and recover missing lines
  • link: Preserve artwork during remote track changes
  • player: Center immersive Material landscape content
  • link: Relay playback artwork and metadata across devices
  • equalizer: Preserve signed zero in control selectors
  • audio: Reconcile USB output status with native playback
  • lyrics: Complete Material word lift before stopping the clock
  • library: Unify Windows extended path identities
  • images: Preserve extension icon crop resolution
  • android: Avoid Sony snapshot crash when locking screen
  • library: Persist the selected song sort order
  • covers: Preserve fresh thumbnail permissions when linking
  • cache: Finish decoding invalid analysis artwork
  • apple: Guard seek callbacks and scan progress
  • android: Cancel blocked SAF worker waits
  • extensions: Enforce deadlines while waiting for the VM
  • network: Preserve edits and close late requests
  • lyrics: Preserve motion across interrupted scrolls
  • download: Cancel old attempts before retrying
  • player: Preserve transport intent across asynchronous work
  • link: Refresh phone library on reconnect
  • network: Handle HTTP redirects and clarify connection errors
  • metadata: Preserve extension URL fetch errors
  • link: Read embedded phone lyrics without cached audio
  • library: Avoid duplicate desktop scrollbars

Performance

  • backend: Migrate selected data jobs to Rust
  • link: Reuse desktop player window state
  • link: Filter remote rows and release published phone catalogs
  • library: Share Android thumbnail files by content
  • equalizer: Isolate control rebuilds and defer serialization
  • ui: Back off idle TV focus recovery and retain transfer layout
  • android: Stream unchanged CUE scans and retain metadata objects
  • network: Reuse cover clients and coalesce permission checks
  • link: Send negotiated download queue deltas
  • autoplay: Defer taste training and pack vectors on the worker
  • android: Defer crash session preference I/O
  • bridge: Avoid redundant download and small job codecs
  • storage: Move preference blobs to atomic files
  • covers: Memoize reference keys and offload index warmup
  • images: Bound landscape artwork and extension icon decodes
  • link: Suppress idle state heartbeats and redundant pings
  • player: Bound Android session queue messages
  • shell: Defer idle preload and freeze hidden tab size
  • library: Measure uniform desktop song row extents
  • rewind: Cache backdrop blur and cap story updates
  • library: Reduce schema writes and repeated path migration
  • library: Restrict filtered album aggregates
  • library: Reuse suggestion matching and playlist seeds
  • home: Share counts and reuse unchanged shelves
  • network: Keep one Subsonic metadata client per connection
  • shell: Keep the Store update count out of MainShell
  • desktop: Rebuild only the arrows when a shelf is hovered
  • shell: Keep the window size and download count out of MainShell
  • player: Set the AutoMix start timer again only when the start moves
  • player: Prepare AutoMix only in the last 150 s of a song
  • library: Move the incremental scan delta instead of copying it
  • network: Keep NAS tag covers the cache already holds
  • covers: Link identical Library thumbnails on desktop and iOS
  • covers: Flush scan thumbnails once per scan on Apple
  • ui: Lazily build large logs and review lists
  • library: Batch retained-page refreshes

Refactoring

  • Reorganize and streamline file settings and download queue logic by @kevenchantre

Testing

  • search: Note why the Mornye fingerprints changed
  • network: Accept the file type in streaming routes
  • Fix native cache cleanup fixtures (#786) (#786)
  • Pass empty cover references to native cleanup by @frpboy
  • shell: Allow idle preloads in rebuild checks
  • player: Cover AutoMix lead duration and cancellation
  • perf: Measure private native application pipelines

Chores

  • release: Let a manual run skip desktop packages
  • Update AltStore source to v5.3.1 by @github-actions[bot]
  • Neutralize UI terminology and clarify code comments
  • Bump version to 5.3.1 (167)
  • Merge upstream AltStore source update
  • Update AltStore source to v5.3.0 by @github-actions[bot]

Merge

  • Sync reviewed pull requests from origin main

Revert

  • player: Keep the artwork anchored during track swipes

New Contributors

Full Changelog: v5.3.0...v5.3.1


Downloads

Android

Android APKs: 5.3.1-hotfix.2 (build 168). Restricts the Glyph mixer workaround to Nothing devices to address reported volume control issues on other phones.

  • arm64: Mornye-v5.3.1-hotfix.2-arm64.apk (recommended for modern devices)
  • arm32: Mornye-v5.3.1-hotfix.2-arm32.apk (older devices)
  • *.apk.idsig: V4 signatures for adb install --incremental only; normal installs do not need them

iOS

  • iOS: Mornye-v5.3.1-ios-unsigned.ipa (sideload required)

SHA256SUMS.txt lists the SHA-256 of every file above.

Installation

Android: Enable "Install from unknown sources" and install the APK
iOS: Use AltStore, Sideloadly, or similar tools to sideload the IPA

Don't miss a new Mornye release

NewReleases is sending notifications on new releases.