Improvements

  • License Cipher Issuance Logic Improved: The internal logic responsible for issuing license ciphers has been refactored to improve reliability and consistency. This change reduces edge-case failures during the cipher issuance flow, particularly for sites where the license cipher service activation state is reflected in site configuration.

  • Enhanced PlayReady Error 7202 Diagnostics: Previously, all internal PlayReady Server SDK failures were surfaced as a generic error code 7202 (Server Internal Error), making root cause analysis difficult without manually inspecting server logs. The server now captures and propagates the detailed SDK-level error message (e.g., KID mismatch, AES-CBC client incompatibility, ExpirationDate overflow) directly within the error response and log output, significantly reducing investigation time for support and operations teams.

  • Internal Log Processing Improvements: Refactored internal log handling pipelines for cleaner, more structured log output. This improves log ingestion quality in observability platforms (e.g., OpenSearch) and reduces noise during high-throughput license issuance scenarios.

Bug Fixes

  • PlayReady License Duration Max Value Fix: A bug was identified in the expire_date validation logic for PlayReady licenses where excessively large duration values caused a System.OverflowException in the PlayReady Server SDK during UInt32 conversion of the ExpirationDate field. The maximum allowed duration is now enforced at 1,577,923,200 seconds (~50 years), consistent with the PlayReady SDK's safe operating range. This fix prevents license generation failures for long-lived or persistent license configurations.