Skip to content

Releases: Cliff-Lee/melodex

v0.7.29

Choose a tag to compare

@github-actions github-actions released this 10 Oct 07:25

Melodex v0.7.29 — macOS startup hotfix

This maintenance release fixes a macOS startup crash introduced in v0.7.28.

Fixed

  • Guard the early Qt WindowStateChange callback during window geometry restoration, before the playback feature is initialized. This prevents the AttributeError: 'MainWindow' object has no attribute 'playback_feature' crash on launch.
  • Add a regression test for window-state events occurring during startup geometry restoration.

Testing

  • Mac owners: replace v0.7.28 with the v0.7.29 installer appropriate for Apple Silicon or Intel, open Melodex, and confirm it reaches the main window and can start playback.
  • Automated tests and packaged startup checks must complete successfully before considering the release verified.

Installation

Download the correct macOS .dmg asset from this release. If macOS blocks the unsigned application, use Finder's Open context action and follow the macOS security prompt. Only bypass the warning if you obtained the installer directly from this project's official GitHub release.

v0.7.28

Choose a tag to compare

@github-actions github-actions released this 10 Oct 05:42
cd2b65a

Melodex v0.7.28 — Music Map 2.0

A map-first listening experience for the music you already own, available as a public beta across macOS, Windows and Linux. The Music Map remains an exploration surface rather than an additional music player or a new subscription service.

Explore visually

  • Explore album-art regions instead of a dense wall of covers. Overview clusters show a count, artist-grounded label and their own ▶ listening action; click the artwork to zoom into the real mapped tracks.
  • Back/Forward, find the currently playing track, search and Explore nearby help you browse without accidentally changing playback. Only genuine sonic or local knowledge-graph evidence is used for nearby suggestions.
  • View, More and Journey controls float above the map, preserving the usable map viewport, including compact-window layouts.

Start listening from the map

  • Play and Queue remain direct track actions.
  • Play from here builds a Mind + Flow session seeded by the selected track.
  • Surprise me builds an exploratory listening session using existing preferences.
  • ▶ Play region limits the listening candidates to locally available tracks actually mapped to that region.
  • Plan a journey lets you select start and destination by clicking on the map. Preview the Pathfinder route, then explicitly Play or Queue it. Routes are calculated in the background, with stale requests discarded and the actual playing step highlighted during playback.

Quality and compatibility

  • Synthetic 700-track route-preparation p95 remains under the 100 ms CI budget; note that longer Pathfinder computation takes place in the background.
  • Frozen-executable GUI tests passed on macOS Apple Silicon and Intel, Windows x64, Ubuntu 22.04/24.04/26.04 and Debian 12. These tests check navigation, mapped route interaction, screenshots and clean Qt shutdown; they are not real-audio or NAS listening tests.
  • Built on the existing local-first Melodex player, library indexer and playback engine. Existing P24 predictive playback remains included.

Download and install

Get the current stable installer from Melodex Releases:

  • macOS Apple Silicon: Melodex-macOS-arm64.dmg
  • macOS Intel: Melodex-macOS-intel.dmg
  • Windows: Melodex-Windows-x64-Setup.exe or Melodex-Windows-portable.zip
  • Linux: Melodex-linux-x86_64.deb or Melodex-linux-x86_64.AppImage
  • Android: Melodex-Android.apk; its Music Map 2.0 desktop interface is not an Android feature.

On macOS the GitHub beta build may be unsigned or not Apple-notarized. If macOS blocks the launch, follow the official Mac installation and Gatekeeper instructions; only allow a copy downloaded from the project's official GitHub Releases page.

Public beta limitations

The MM2 features passed automated tests with synthetic music; real-library/NAS playback and accessibility across every setup are not yet fully hardware-qualified. Some large or inaccessible music sources may require extra waiting or reconnection. Please report playback, artwork, installer or window-layout problems via GitHub Issues with your platform, package type and steps to reproduce. Do not include private paths, account tokens or your actual music files.

iPhone support remains deferred. Android Play Store publication is separate from distributing the installable APK on GitHub.

v0.7.27

Choose a tag to compare

@github-actions github-actions released this 08 Oct 14:15
4730b17

Melodex v0.7.27 — Predictive Playback

This release completes P24, preparing the next queued source before it is needed so sequential playback can move with less avoidable waiting on NAS and network sources.

Playback continuity

  • Resolve only the immediate next queue item on the bounded background prefetch lane while the current track continues.
  • Prime the source silently on the inactive media deck until it has playable buffer data or a short time limit, then pause at the start. Reuse it for manual next, natural end, or the existing Journey crossfade.
  • Discard a prepared source when the queue changes, playback is paused or stopped, or the listener seeks.
  • Keep the active track in control if prefetch is rejected or fails; the existing playback load and recovery path remains the fallback.
  • Add metadata-free diagnostics for prefetch requests, readiness, use, stale results, failures, cancellations, and preparation time.

P24 adds no controls, whole-track downloads, cloud dependency, or persistent stream URLs. Native iPhone support remains deferred. Physical slow-NAS timing comparison remains owner follow-up.

v0.7.26

Choose a tag to compare

@github-actions github-actions released this 08 Oct 12:30
feabc18

Melodex v0.7.26 — Unified Android and Desktop Listening

This release completes P23, bringing Android local playback and the desktop Provider Bridge together as one local-first listening experience.

Android companion

  • Browse the desktop’s local library and search connected music sources from a QR-paired phone.
  • Mix phone-local and Bridge tracks in one phone-owned queue. Bridge tracks resolve by stable provider-qualified IDs when playback starts.
  • View the desktop’s current track, playback state, and queue from Android.
  • Move the active session between phone and desktop only when requested. Independent phones keep separate playback and queues.
  • Continue using the phone’s local player and queue when the desktop is unavailable.

Security and network access

  • The desktop Bridge starts on loopback. Sharing it on the local network requires explicit confirmation and can be disabled again.
  • Each phone has its own revocable token. Pairing codes are short-lived and single-use; paired tokens are stored as hashes with private file permissions.
  • Control and library routes require a bearer token. Query-string tokens are limited to direct media streaming.

Distribution

Android APK and AAB builds, desktop installers, and Linux packages are distributed through GitHub Releases. Physical Android playback, process restart, Bluetooth/audio focus, LAN handoff, changed-address recovery, and browse/queue accuracy remain owner device checks. Native iPhone support and Google Play publication remain deferred.

v0.7.25

Choose a tag to compare

@github-actions github-actions released this 08 Oct 09:57
58f1926

Melodex v0.7.25 — Playback recovery and session restoration

This release completes P22, focused on keeping playback recoverable through track, storage, network, output-route, and app-process failures.

Playback recovery

  • Keep an incoming-deck failure from interrupting the active track.
  • Bound transient remote-source retries and local storage recovery; discard stale recovery results after playback changes.
  • Rebind desktop playback to the current output after route changes or app reactivation, preserving explicit pause and stop intent.
  • Persist desktop queue identity and position with sensitive stream data removed. Restore sessions paused and resolve provider identities again when playback resumes.
  • Save Android local MediaStore queue position and restore the service session paused.

Qualification

P22f records automated fault-injection coverage and its limits in the P22 campaign notes. Release CI covers desktop tests and Linux, macOS arm64 and Intel, Windows x64, and Android package builds. Device-level Android Bluetooth, audio-focus, and playback-service restart checks remain later owner testing.

Distribution

Installable builds are distributed through GitHub Releases. Android App Bundle signing uses the owner-managed upload-key secrets when configured; this release does not publish to Google Play. Native iPhone support remains deferred.

v0.7.24

Choose a tag to compare

@github-actions github-actions released this 08 Oct 06:24
853e4e5

Melodex v0.7.24 — Android 16 and Google Play preparation

This release advances the Android companion toward future Google Play testing.
GitHub Releases remain the install path; this release does not publish the app
to Google Play.

Android

  • Target Android 16 (API 36) and compile against API 36.
  • Add an in-app link to the Melodex privacy policy and document Android local
    playback, QR pairing, and Provider Bridge data handling.
  • Add support for signing an Android App Bundle with an owner-managed Play
    upload key supplied through GitHub Actions secrets. No key is stored in the
    repository.
  • Keep Android standalone local playback available with optional Provider
    Bridge connectivity.
  • Set Android versionCode to 724.

Install and Play Console status

Install Melodex with the attached APK. The Android App Bundle in this GitHub
release is unsigned because no Play upload key has been configured, so it
cannot be uploaded to Play Console yet. The upload-signing setup is documented
in the P21 campaign notes.

Device checks

On Android 16, check local playback, background controls, QR pairing, and the
privacy-policy link. A tablet or foldable check is also useful. iPhone support
remains deferred.

v0.7.23

Choose a tag to compare

@github-actions github-actions released this 08 Oct 05:44
8a07096

Melodex v0.7.23 — Android Companion Polish

This release polishes Melodex's Android companion for listening on a phone and
using it alongside a desktop Provider Bridge.

Android companion

  • Add the supplied Melodex icon for Android launcher sizes, adaptive icons, and
    themed icons on supported devices.
  • Apply Melodex's midnight, cyan, and violet colors throughout the app.
  • Add a now-playing panel with artwork, track information, playback progress,
    seek, play/pause, restart, and quick access to the local queue.
  • Keep playback on each phone independent. Each phone owns its Android player
    and local queue, and pairs separately with the Provider Bridge.
  • Expand the Android setup guide with a two-phone check for independent
    playback.

Device check

After installing, pair two phones with the same Provider Bridge and start a
track on each. Pausing or seeking on one phone should leave playback on the
other phone unchanged. The setup guide includes these steps.

v0.7.22

Choose a tag to compare

@github-actions github-actions released this 08 Oct 05:11
79a3c4d

Melodex v0.7.22 — Android Playback Continuity

This release expands Android from the first local playback preview into a
standalone player with optional connections to another Melodex installation.

Android on this phone

  • Play audio indexed on the phone without a computer or Provider Bridge.
  • Keep playback running in the MediaSession foreground service with media
    notification, lock-screen, audio-focus, and headset controls.
  • Search and sort the local library, view artwork and track details, and manage
    a queue that is saved across app restarts.

Optional Provider Bridge

  • Pair Android with a desktop, NAS, or home server by scanning a QR code on the
    same trusted local network. Pairing uses no account or external rendezvous
    service.
  • The one-time QR code expires after two minutes. Each phone has its own token,
    which can be revoked from the desktop pairing dialog or from the phone.
  • Android stores its saved Bridge credentials encrypted with Android Keystore.
    Manual URL/token entry remains under Advanced setup.
  • Camera permission is requested only when you choose to scan a QR code.
  • Bridge remains optional: phone music works without a desktop, internet
    connection, or Bridge setup.

Preview notes

The current pairing flow uses a QR code; automatic local-network discovery is
not included yet. Pair only over a trusted local network because the Bridge
uses HTTP on the LAN. See the Android installation guide
and privacy notes for setup and data details.

The release workflow checks version consistency and builds the platform packages. Physical-device checks are still useful
for Android permission behavior, QR scanning, reconnect after relaunch, media
revocation, and playback on Android 12-or-older and Android 13-or-newer devices.

Packages

The release workflow attaches Android APK/AAB, macOS and Windows packages,
Linux packages, and the source archive after platform build and smoke checks
complete.

v0.7.21

Choose a tag to compare

@github-actions github-actions released this 08 Oct 03:29
bd6577d

Melodex v0.7.21 — Android Standalone Player Preview

This release starts P19 with P19a: Android can play music stored on the phone
without requiring a computer. Provider Bridge remains available as an optional
way to connect to sources configured on another Melodex installation.

On this phone

  • Request audio-library permission only after the listener chooses Allow
    music access
    .
  • List audio items indexed by Android across attached external volumes.
  • Play a selected item directly from its content URI, or choose Play
    something
    for a random track.
  • Keep phone audio on the device; Melodex does not copy it to the Bridge or
    scan filesystem paths.
  • Refresh the list after adding music.

Optional Provider Bridge

The Bridge path remains available for searching and playing sources configured
on a desktop, NAS, or home server. The Android app does not run downloaded
provider code. Bridge address and token are entered manually; QR pairing and
automatic discovery are not included.

Preview limits and testing

This is the first P19 slice. Playback is owned by the foreground activity, so
background playback, notification/lock-screen and headset controls, a
persistent queue, local search, artwork, and Flow/taste controls remain future
work.

The Android CI build passed. Please check permission grant/denial, an empty and
populated phone library, and direct playback on Android 12-or-older and Android
13-or-newer devices. Report device/version and any failing step with feedback.

Packages

The release workflow attaches Android APK/AAB, macOS and Windows packages,
Linux packages, and the source archive after platform build and smoke checks
complete.

v0.7.20

Choose a tag to compare

@github-actions github-actions released this 08 Oct 02:58
10e77d0

Melodex v0.7.20 — Rediscovery and Private Taste

This release brings the P17 Rediscovery Engine and P18 Private Taste Engine
into the stable desktop and Android Bridge-client builds.

Rediscovery

  • Resurface forgotten favourites and unplayed tracks from artists a listener
    already enjoys.
  • Find hidden album tracks using local listening history and album metadata.
  • Replay a Memory Atlas session, album, week, or year in its recorded order,
    with each replay bounded to 200 tracks.
  • Use the same local rediscovery signals in Music Map, journeys, Living Queue,
    and replay explanations.

Private taste

  • Separate durable preferences, recent listening reactions, and the amount of
    exploration requested for a session.
  • Correct the model directly with More like this, Less like this, and
    Clear taste correction.
  • Apply bounded, explainable taste adjustments to local listening surfaces
    while preserving explicit track dislikes and cold-start playback.
  • Keep profile and session context on-device; do not add the new model layers to
    provider snapshots or external AI requests.

Android

The Android package in this release remains the Provider Bridge client.
Standalone phone-library playback is not included in v0.7.20.

Packages

The release workflow attaches the installable Android APK, Android App Bundle,
macOS and Windows packages, Linux packages, and source archive after their
platform build and smoke checks complete.