• version-0.4.14 6044c1b389

    version-0.4.14
    All checks were successful
    Release / create-release (push) Successful in 9s
    Stable

    eric released this 2026-09-10 16:47:02 +02:00 | 135 commits to main since this release

    • Migrated all cache primary keys to permanent_id across data models, APIs, and database schemas (asset, playlist_track, permanent_id_map).

    • Introduced centralized CacheRegistry for thread-safe global cache management, replacing instance-specific singletons.

    • Implemented lazy loading, prefetching, and deferred write/flush mechanisms with configurable cadence and guaranteed shutdown flushing.

    • Added ExternalResolver trait and Qobuz integration for permanent ID resolution, including alias handling, fallback logic, and dual metadata separation.

    • Optimized playlist persistence with atomic batch operations (push_set), optional TTL support, and elimination of N+1 read queries.

    • Enhanced ingestion lifecycle with IngestHandle/IngestState, collection deletion logic, auto-identity invariants, and robust cache failure handling.

    • Migrated audio streaming functionality to the new pmostreaming crate, including dependency pruning and updated tracing targets.

    • Implemented architecture-specific SIMD DSP for gain application across 16/24/32-bit formats, ensuring robust saturation and clamping.

    • Added multiroom sink support with pipeline offsets and audio chunk manipulation utilities.

    • Refactored ResamplingNode for dynamic channel sizing and added network proxy logic for URL handling.

    • Enforced deadlock prevention, proper EOF signaling, and graceful async failure handling across file sources and the pipeline.

    • Implemented CRC-8 frame header validation and refined playlist source metadata retrieval/track boundary emission.

    • Unified media serving under a single /media/ catch-all route with token-based routing for image format/size variants.

    • Extended HTTP server with file routing, REST API endpoints, and native file serving capabilities.

    • Introduced foundational event system with explicit SubscriptionGuard lifecycle management and structured error prefixes.

    • Standardized error handling across audio pipeline, cache operations, and server components using typed error types (pmocache::Result).

    • Restructured crate dependencies, moving tests/internal modules to local scope and applying pub(crate) visibility restrictions.

    • Updated pmoaudio-ext with feature gating, deprecated mechanism removal, and core runtime dependency cleanup.

    • Added comprehensive benchmarking suite for cache access patterns and expanded unit/integration test coverage.

    • Automated Dockerfile crate synchronization and bumped version to 0.4.13.

    Downloads