-
version-0.4.26
Stablereleased this
2026-09-21 06:17:03 +02:00 | 61 commits to main since this release-
Refactored media playback and sharing logic
-
Improved sharing mechanisms
-
Implemented new audio MIME type handling and shared content playback logic
-
Added new JNI APIs for shared playback
-
Enhanced server authentication
-
Improved URL handling features
-
Resolved WebView rendering issues
-
Updated build configuration
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
-
version-0.4.25
Stablereleased this
2026-09-20 21:07:15 +02:00 | 63 commits to main since this release-
Implemented OAuth2/OIDC client with automatic token refresh, JWT validation, and type-safe extractors
-
Added pluggable SQL and Redis caching using a Two-Tier caching pattern
-
Integrated Android Keystore for secure token storage
-
Added SSO redirection support and Android Auto client security compliance
-
Refactored player module with connection management, HTTP client integration, and authentication checks
-
Updated native API for player lifecycle management
-
Implemented dynamic UI logic to handle authentication states and SSO flows
-
Bumped project version
-
Improved release process and merge workflow
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
-
version-0.4.24
Stablereleased this
2026-09-20 16:59:33 +02:00 | 66 commits to main since this release-
Implemented Android APK build and release workflow (#136)
-
Refactored release process to handle APK checksums and license extraction
-
Updated Makefile to enforce APK signature verification
-
Bumped package version to 0.4.24
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
-
version-0.4.23
Stablereleased this
2026-09-20 16:47:43 +02:00 | 68 commits to main since this release-
Implemented Android APK build and release workflow, including build parameter configuration, conditional signing logic, and automated release publishing pipeline.
-
Merged PR #135 (
push-sworymyzorlv) intomain.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
-
version-0.4.22
StableAll checks were successfulRelease / create-release (push) Successful in 12sreleased this
2026-09-20 16:05:35 +02:00 | 70 commits to main since this release-
Introduced
pmoandroidcrate for audio output abstraction, Oboe-based non-blocking streaming, and core audio sink logic. -
Implemented JNI bridging for native player lifecycle management and test tone playback.
-
Added foreground service with connection monitoring, volume control, and dynamic audio output management.
-
Implemented core player service with device identity handling and configuration settings management.
-
Integrated Server-Sent Events (SSE) for real-time progress and snapshot data.
-
Refined event processing to explicitly exclude position and duration updates.
-
Introduced renderer privacy/visibility logic, synchronizing visibility with Android Auto connection status.
-
Updated native registration API to support private renderer flags.
-
Enhanced media rendering pipeline with improved DIDL parsing for track metadata.
-
Added transport resilience via a new reconnection policy and refined renderer setup logic.
-
Implemented secure Bearer token validation for Android SSO/OIDC clients.
-
Added JWT claim validation, refresh token rotation, and session middleware.
-
Enforced strict routing whitelisting and configuration management.
-
Expanded Android build targets and added required permissions.
-
Refactored platform integration with robust error handling across player services and Android Auto components.
-
Refined User Agent parsing for accurate device identification.
-
Added comprehensive unit and integration tests covering navigation, playback flow, output handling, rate changes, and failure scenarios.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
-
version-0.4.21
StableAll checks were successfulRelease / create-release (push) Successful in 10sreleased this
2026-09-20 00:45:13 +02:00 | 79 commits to main since this release-
Added previous track playback from renderer queue with dedicated API endpoint
-
Implemented
Volume,Seek, andMutecontrol commands -
Added
purgecommand to reset queue state; redefinedstopas a backend sequence ofpause+purge -
Introduced flow control with client-side back-pressure, epoch/grant signals, and explicit state management
-
Corrected playback position calculation after seek; progress bar now resets accurately based on epoch start times
-
Resolved epoch management issues ensuring unique initialization and preventing expired epochs from discarding audio frames
-
Fixed missing sample rate handling during encoder setup
-
Eliminated deadlocks and track continuation limitations in control point queue management
-
Improved underrun frame tracking and buffering to prevent startup glitches
-
Aligned client-side state enumeration with
PlaybackState::Stoppedremoval -
Refactored playback pipeline with epoch-aware transition gating for gapless playback status
-
Migrated track announcement logic to the renderer; implemented async queue management with prefetching
-
Introduced
DeviceAdaptertrait defining stop/seek/load handlers and device contracts -
Decoupled client logic into a platform-agnostic player core for WebPlayer
-
Enhanced transport layer: handles client reconnections, discards stale streams, and manages restarts via
Sessionstruct -
Renderer now handles thread-safe command dispatch and PCM chunk processing
-
Updated protocol serialization for position reporting with new
start_secfield -
Synchronized UI with actual audio playback events; refined natural vs. user-initiated track transition handling
-
Implemented broadcast pacing/cancellation via
stop_token; added intelligent backpressure to skip frames on timing failures -
Enforced interruptible auxiliary task requirements to fix pacing issues and allow direct task abortion
-
Refined position event pipeline to ignore unreliable general data;
PlayerEvent::TrackEndednow transitions state toPlaybackState::Transitioning
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
-
version-0.4.20
StableAll checks were successfulRelease / create-release (push) Successful in 11sreleased this
2026-09-13 15:42:31 +02:00 | 97 commits to main since this release-
Multi-look UI System: Support for E-Ink, Large, and Narrow display modes with responsive layouts and CSS variables.
-
WebAssembly Playback: Enabled WASM audio playback and web-based FLAC streaming demo using Web Audio API.
-
Real-time Decoding: Frame-by-frame FLAC decoding via Claxon; incremental decoding support in
pmoplayercore. -
WebSocket Renderer: Media renderer client with
BrowserAdapterfor device interaction; bidirectional WS protocol for streaming and control. -
Server Architecture: Instance management APIs, pipeline setup, and state reporting endpoints.
-
Controls: Volume and mute command support across client and server.
-
Tab Sync: Synchronization of tabs with renderers based on URL parameters.
-
Track Management: Registration using permanent IDs with lazy loading; unified route for audio URLs.
-
Cover Images: Conditional cover URL transformation (local to absolute) gated by
pmoserverfeature flag. -
Pagination: Support for pagination and total count in listings.
-
Playback State: Fixed
TrackBoundarysignaling during Idle to Playing transitions. -
Encoder Stability: Robust error handling and flux discontinuity checks during encoder restarts.
-
Security: Blocked device protocols on SSO port.
-
Host Validation: Correct handling of host header mismatches; warnings for reverse proxy misconfigurations.
-
Build: Multi-stage Docker build for minimal runtime image; web app scripts with WASM compilation support.
-
Dependencies: Updated Axum, reqwest, multimedia, async, and serialization crates; applied version locking.
-
Streaming Sinks: New WebSocket, direct FLAC, and Ogg/FLAC sinks; enforced single-client model.
-
PCM Processing:
PcmQueueProcessorfor chunk management, control commands, and underflow handling. -
Examples: Toy server examples for WS FLAC pipeline and binary protocol validation.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
-
version-0.4.19
StableAll checks were successfulRelease / create-release (push) Successful in 9sreleased this
2026-09-11 19:40:10 +02:00 | 120 commits to main since this release-
Implemented comprehensive pagination logic across the system.
-
Fetching operations (browsing, searching, catalog retrieval) now return total result counts alongside data.
-
API clients updated to accept
offsetandlimitparameters. -
Refined result slicing and counting mechanisms.
-
Refactored cache initialization to require a database root path (#131).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
-
version-0.4.18
StableAll checks were successfulRelease / create-release (push) Successful in 9sreleased this
2026-09-11 07:52:48 +02:00 | 122 commits to main since this release-
Cache Initialization Refactor: Enforced mandatory database root path configuration across
AudioCache,CoversCache, andQobuz Cache. -
API & Constructor Updates: Updated API signatures and introduced new cache creation functions. Constructors now require a path argument.
-
Server Initialization Logic: Added strict validation to halt startup if the configured database path cannot be resolved.
-
Tests: Updated test suite to align with the new required arguments.
-
Merged PR #130 (
push-rkntzmqtrpko) intomain.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
-
version-0.4.16
StableAll checks were successfulRelease / create-release (push) Successful in 9sreleased this
2026-09-10 22:21:12 +02:00 | 124 commits to main since this release-
Client Synchronization: Added synchronization primitives and cleanup logic for materialization gates in the client.
-
Cache Improvements: Implemented cache hit tracking and lazy key handling; added methods to record lazy hits and flush deferred entries during graceful shutdown.
-
Metadata Updates: Introduced batched metadata updates supporting ingestion and client-side track seeding.
-
Transcoding & FLAC: Added FLAC cache types; refined media serving to handle transcode downloads, differentiating between complete and progressive streams.
-
Playlist Locking: Refactored playlist locking with structured write handling and state-dependent lock acquisition.
-
Cache Logic: Refactored cache logic to manage conditional paths and lazy entries.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-