• version-0.5.6 ff4f0e6b42

    version-0.5.6
    All checks were successful
    Release / create-release (push) Successful in 11s
    Release / apk (push) Successful in 4m57s
    Stable

    eric released this 2026-10-03 15:57:02 +02:00 | 1 commits to main since this release

    • Dynamic sharing shortcuts support for Android 10+

    • New JNI APIs exposed for renderer management and playback control

    • CLaMP 3 benchmarking framework: vector database structure, expanded audio pipeline API, feature extraction, classification, and ONNX export capabilities

    • Search API now enforces signature validation via MD5 hash generation based on request parameters and secret across all endpoints

    • Playback retry logic for queue initiation with error handling and state management to prevent race conditions

    • Robust player instance error handling: resets state and attempts re-registration upon failure

    • WebSocket connection protocol refinement: handles missing instances per defined protocol, instructs clients to re-register on unknown instance

    • New PmoApplication entry point

    • Persistent FileLog system for capturing logs and exit reasons

    • Refined native player service logic

    • Completed PlayerService lifecycle management

    Downloads
  • version-0.5.5 20a9e44b78

    version-0.5.5
    All checks were successful
    Release / create-release (push) Successful in 12s
    Release / apk (push) Successful in 5m10s
    Stable

    eric released this 2026-10-01 21:36:48 +02:00 | 8 commits to main since this release

    • YouTube Source: Integrated YouTube fetching client; conditional registration of source handlers to prevent runtime errors.

    • Audio Processing: Support for various audio codecs via media decoding and transcoding implementation.

    • Media Sharing: Complete sharing mechanism with ShareOutcome states; server-side logic for queued/playing content; updated client and native layers to process sharing results.

    • Caching: Refined download infrastructure supporting segmented HTTP fetching and lazy loading.

    • Player Robustness: Refactored player service with robust startup retry logic and refined state management.

    • Android Auto: Enhanced exception handling for unavailability scenarios.

    • Stability: Implemented robust resource locking; added new Android permissions.

    • Bumped version to 0.5.5 across all package files.

    • Dockerfile: Introduced non-root user and updated directory structure.

    Downloads
  • version-0.5.4 5558ced7ba

    version-0.5.4
    All checks were successful
    Release / create-release (push) Successful in 12s
    Release / apk (push) Successful in 11m13s
    Stable

    eric released this 2026-10-01 16:04:19 +02:00 | 13 commits to main since this release

    • Added foreground service and notification permissions.

    • Implemented explicit resource locking (wakeLock, wifiLock) in PlayerService.

    • Enforced conditional lock acquisition/release during playback state transitions.

    • Integrated audio focus request handling.

    • Refactored volume control.

    • Refactored player API.

    Downloads
  • version-0.5.3 415671486d

    version-0.5.3
    All checks were successful
    Release / create-release (push) Successful in 10s
    Release / apk (push) Successful in 4m47s
    Stable

    eric released this 2026-10-01 07:38:08 +02:00 | 15 commits to main since this release

    • Implemented volume control delegation and logic across service and native layers.

    • Updated player structure to manage volume settings.

    • Refined native API interfaces.

    • Ensured thread-safe state management in the player management system.

    • Added constraints on transport commands.

    • Added comprehensive documentation for player functions.

    • Added tests to verify volume handling scenarios.

    Downloads
  • version-0.5.2 d8c355ae63

    version-0.5.2
    All checks were successful
    Release / create-release (push) Successful in 11s
    Release / apk (push) Successful in 4m57s
    Stable

    eric released this 2026-09-30 20:08:31 +02:00 | 17 commits to main since this release

    • Refactored calibration error handling in pmomultiroom to explicitly calculate and apply multiple simultaneous adjustments, supporting a list of changes instead of a single result.
    Downloads
  • version-0.5.1 f43f1b450e

    version-0.5.1
    All checks were successful
    Release / create-release (push) Successful in 12s
    Release / apk (push) Successful in 5m14s
    Stable

    eric released this 2026-09-30 18:36:42 +02:00 | 19 commits to main since this release

    • Refactored audio pipeline with a shared clock pacing strategy and new node types (Converter, DelayNode, PaceNode, FlacDelayNode, FlacPacerNode).

    • Implemented FLAC segment handling: frame discarding, conditional delay application, and sink behavior to ignore FLAC when PCM encoding is expected.

    • Enforced robust playback restarts across multiroom environments with strict session management ordering.

    • Fixed playback clock state: corrected seeking/stopping logic to properly reset the renderer's internal clock.

    • Implemented acoustic latency calibration via WebSockets: chirp generation/detection, frequency band detection, and room delay calculation for audio synchronization.

    • Introduced CalibrationHub and DelayStore trait for persistent delay management; delays remain constant within a session and adjust only between sessions.

    • Added median-based base latency calculation, persistent fine adjustments, and session termination based on measurement stability.

    • Refined multiroom playback: dynamic renderer rejoining, group management, direct FLAC sink client connections, and branch management for delay injection.

    • Added native transport volume and seek controls via JNI interface with updated event dispatch for volume changes and errors.

    • Implemented volume calibration and device lifecycle monitoring; enforces volume constraints and manages paired adjustments across unheard rooms.

    • Refined calibration logic: volume balancing, amplitude measurement, session synchronization, and inter-branch consistency.

    • Enhanced diagnostic tracking for playback position, renderer state, elapsed time (play/stop), and device online/offline status.

    • Introduced diagnostic probing mechanisms for performance monitoring and latency calculation.

    • Added instrumentation to monitor physical renderer playback position and internal clock state during transport operations.

    • Refactored stream management: reset device clocks, purge pending data, restart encoders during transitions, and clear encoder inputs on session reset.

    • Implemented comprehensive testing suites validating session failure modes, trimming functionality, measurement integrity, timing constraints, alignment status transitions, and real-time stream behavior.

    • Added new data models for session tracking, pair measurements, and final alignment reporting.

    • Updated documentation for renderer flow and sink implementation; clarified ShiftNode interruption handling.

    Downloads
  • version-0.4.30 75888b5f7f

    version-0.4.30
    All checks were successful
    Release / create-release (push) Successful in 12s
    Release / apk (push) Successful in 4m49s
    Stable

    eric released this 2026-09-25 17:01:43 +02:00 | 40 commits to main since this release

    • Implemented deferred work scheduling for asynchronous task management.

    • Exposed public methods in the device registry for external access to music server and renderer queue resources.

    • Added background watchdog for stream staleness detection.

    • Implemented stream metadata reconciliation.

    • Added support for scheduled streams within the item model.

    • Prevented device timeouts by ensuring mandatory actions are performed during device registry updates.

    • Resolved concurrency issues related to mutex locking in queue access.

    • Improved synchronization between Web UI and native Android layer.

    • Refactored device registry and control point logic; updated queue access to use renderer.

    • Implemented backend-based cloning for MusicQueue instances, enabling lock-free retrieval and state refresh during initialization/updates.

    • Refined player API for renderer selection.

    Downloads
  • version-0.4.29 e5a6344300

    version-0.4.29
    All checks were successful
    Release / create-release (push) Successful in 11s
    Release / apk (push) Successful in 4m40s
    Stable

    eric released this 2026-09-24 22:14:45 +02:00 | 45 commits to main since this release

    • Android Auto Projection Detection: Detects projection state to manage player connection status and service visibility.

    • Multiroom Service Core: Implements playback command routing, computed position tracking across renderers, and DIDL generation for MVP.

    • Device Retention & Purge: Configurable device retention days with stale purge logic, legacy UDN format migration, and access timestamp updates.

    • Infinite Scroll UI: Background data refresh with scroll position preservation during data reloads.

    • QobuzCache & FavoriteStore: Shared database access with TTL management, synchronization logic, and asynchronous initialization.

    • Metadata Cache Refactor: Added retry logic for API calls, StationNotFound error handling, schedule gap logging, and title-change-based invalidation.

    • Database Backend: Full implementation supporting SQLite/Turso backends. Includes explicit transactions, deferred batching, streaming capabilities, connection pooling, and Row/Value conversion models.

    • Forced API Requests: Bypasses cache deduplication using unique request keys.

    • Renderer List Refresh: Forces list refresh post-registration and dispatches custom events to compensate for missed SSE notifications.

    • Store API Refactor: Generalized core operations with generic types for statements, batches, and values. Added atomic transaction support, refined SQL conversion/row fetching, and expanded raw DB testing.

    • Player Configuration & Resilience: Refactored player configuration logic and enhanced system resilience (PR #141).

    • Version Bump: Updated project version to 0.4.29 across all files, including package dependencies and Docker image source directories.

    Downloads
  • version-0.4.28 75ddbfb426

    version-0.4.28
    All checks were successful
    Release / create-release (push) Successful in 9s
    Release / apk (push) Successful in 4m58s
    Stable

    eric released this 2026-09-22 13:30:27 +02:00 | 56 commits to main since this release

    • Merged PR #140 (push-tkwlzkxvzxpv) into main
    Downloads
  • version-0.4.27 c81e03504b

    version-0.4.27
    All checks were successful
    Release / create-release (push) Successful in 11s
    Release / apk (push) Successful in 5m7s
    Stable

    eric released this 2026-09-22 06:24:47 +02:00 | 58 commits to main since this release

    • Refactored Android media playback and sharing logic.

    • Implemented stream duration protection logic to prevent duration decreases for continuous streams across player and queue modules.

    • Refined event handling for metadata and cover art fetching.

    • Improved cache expiration logic.

    • Updated application version.

    • Merged PR #139.

    Downloads