Source release 18.5.0
This commit is contained in:
105
CHANGELOG.md
105
CHANGELOG.md
@@ -2,6 +2,109 @@
|
||||
|
||||
[TOC]
|
||||
|
||||
## 18.5.0 (2024-03-28)
|
||||
|
||||
Note: Releases v18.2-18.4 were skipped so that this release's version number
|
||||
matches the OEMCrypto version.
|
||||
|
||||
CE CDM v18.5.0 includes all changes from CE CDM v17.3.0 and v18.1.0.
|
||||
|
||||
**It is strongly recommended** for partners to update from v18.1 to v18.5 to
|
||||
address two major bugs in the CE CDM code which could result in lost offline
|
||||
licenses or app crashes. See _Bug Fixes_ for 18.5.0 and 17.3.0 for details.
|
||||
|
||||
## Features
|
||||
|
||||
- Supports up to OEMCrypto v18.5, including new OEMCrypto tests introduced
|
||||
since OEMCrypto v18.1.
|
||||
- Added support for Cast provisioning 4.0
|
||||
- Cast uses a slightly different provisioning 4.0 protocol compared
|
||||
to non-Cast cases. The additions to the protocol are internal
|
||||
to the library, and do not require API changes for CE CDM users
|
||||
- Additional tests are included, these tests will automatically
|
||||
skip for device which do not use provisioning 4.0.
|
||||
- Improved performance for unencrypted data provided via `Cdm::decrypt()`.
|
||||
- Some apps are known to always use decrypt calls, even if parts of the
|
||||
data are completely unencrypted. The CDM will now check if samples/
|
||||
sub-samples of decryption batch data can skip the decryption stage
|
||||
and instead directly copied to the secure output.
|
||||
- Various minor performance improvements
|
||||
- Reduced internal data copying.
|
||||
- Test runtime improvements:
|
||||
- Skipped set up for unsupported features.
|
||||
- Improved test data storage management.
|
||||
- Removed unused internal testing fixtures.
|
||||
- Compile time improvements by better dependency checks for third-party
|
||||
libraries.
|
||||
- CE CDM now compiles clean with `-Wunused-parameter`.
|
||||
- Added support for new provisioning flow for baked-in certificates
|
||||
on devices using Widevine's embedded device certificate.
|
||||
- Affected partners should check the L3 OEMCrypto documentation for
|
||||
details.
|
||||
- Added new tests for CE CDM and OEMCrypto v18.5 features.
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Fixed major issue with loss of offline licenses when stored license count
|
||||
exceeds OEMCrypto's usage table size limit.
|
||||
- Issue only affects users with 300 or more downloaded offline licenses
|
||||
across all apps.
|
||||
- Fixed minor issue with tests which were generating many warnings from
|
||||
expected behavior.
|
||||
- These warning did not cause the tests to fail, but created a lot of noise
|
||||
when trying to diagnose other failures
|
||||
|
||||
## 17.3.0 (2024-03-28)
|
||||
|
||||
Note: Release v17.2 was skipped so that this release's version number matches
|
||||
the OEMCrypto version.
|
||||
|
||||
CE CDM v17.3.0 includes all changes from CE CDM v17.1.2.
|
||||
|
||||
**It is strongly recommended** for partners to update from v17.1 to v17.3 to
|
||||
address a major bug in the CE CDM code which could result in app crashes. See
|
||||
_Bug Fixes_ for details.
|
||||
|
||||
### Features
|
||||
|
||||
- Supports OEMCrypto v17.3.0, including new OEMCrypto tests introduced in
|
||||
v17.3.0.
|
||||
- Added additional logging when license request fails, to help diagnose what
|
||||
went wrong.
|
||||
- Improved support for HDCP v1.0-1.4 version.
|
||||
- `Cdm::getStatusForHdcpVersion()` can now accept a specific HDCP 1.x minor
|
||||
version (specifically 1.0, 1.1, 1.2, 1.3, or 1.4) when checking if
|
||||
content can be decrypted.
|
||||
- The legacy behavior is still available via `Cdm::HdcpVersion::kHdcp1_x`.
|
||||
- See _Bug Fixes_ note about related bug in previous versions.
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Fixed major issue with memory corruption when apps misuse the API by making
|
||||
certain key operations before license is loaded.
|
||||
- Specifically, if an app generates a license request via
|
||||
`Cdm::generateRequest()`, then calls `Cdm::remove()` before
|
||||
`Cdm::update()` with the license response it can cause the CDM to crash.
|
||||
- Fixed mistaken test failures when the CE CDM and OEMCrypto versions were not
|
||||
identical.
|
||||
- Fixed an issue where the OEMCrypto tests were enforcing v18 device ID
|
||||
requirements on v17 integrations by mistake.
|
||||
- Fixed an issue with DRM certificate serial number stability for
|
||||
provisioning 4.0 devices.
|
||||
- This only affected very specific devices when going through their
|
||||
specific factory reset process.
|
||||
- Added additional tests to catch future, similar errors.
|
||||
- Fixed an issue with `Cdm::getKeyStatuses()` reporting error for certain
|
||||
licenses which use specific HDCP v1.x minor versions.
|
||||
- Fixed an issue with URL parsing in test code for renewal requests
|
||||
- Certain tests used special URL parameters which were not properly
|
||||
accounted for in the CE CDM's test utility code; this caused tests
|
||||
to fail on otherwise working devices.
|
||||
- Fixed the CAS tests sometimes not being skipped on non-CAS-supporting
|
||||
devices.
|
||||
- Removed tests that explicitly tested against Widevine's staging
|
||||
provisioning servers.
|
||||
|
||||
## 18.1.0 (2023-06-23)
|
||||
|
||||
### Features:
|
||||
@@ -225,7 +328,7 @@ Features:
|
||||
are unacceptable to you. The sample `x86-64` platform does not enable ASan
|
||||
or UBSan for release builds.
|
||||
- To maximize the benefit of UBSan, the sample `x86-64` platform now turns
|
||||
on RTTI for debug builds. The Widvine CE CDM does not use RTTI and will
|
||||
on RTTI for debug builds. The Widevine CE CDM does not use RTTI and will
|
||||
still build correctly without it. Feel free to turn it off if your
|
||||
platform does not support RTTI. The sample `x86-64` platform turns off
|
||||
RTTI for release builds.
|
||||
|
||||
Reference in New Issue
Block a user