Multi-DRM Release Notes

Release notes for PallyCon Multi-DRM products

Server Products

DRM License Server

Date Version Descriptions
2024.04.03 5.5.1 - Added the ability to block users or devices via the Blacklist API.
- Updated the license token specification to allow for CSL enforcement exceptions based on the client environment.
2023.12.12 5.4.0 - Improved the performance and scalability of the license server by applying a microservices architecture.
2023.11.07 5.3.0 - Added support for the License Cipher SDK, which can compensate for the Widevine L3 vulnerability.
- Updated the Widevine License Server SDK to the latest version, 18.1.2.
2023.07.26 5.2.0 - When applying the CSL feature, Apple AirPlay streaming playback is now excluded because it doesn’t support license renewal.
- Fixed an error with FairPlay external key settings.
2023.06.14 5.1.0 - Updated the license error message about exceeding the max number of concurrent streams to display a list of currently playing devices when applying the concurrent stream limiting (CSL) feature.
- Added support for external IV values when issuing FairPlay licenses.
- Fixed an error that caused multi-key license issuance with external keys for FairPlay DRM.
2023.05.09 5.0.0 - The Widevine license issuance function has been changed from the Proxy integration method to the License Server SDK method.
- Optimized database integration to improve license log data processing.
- When using the CSL (Concurrent Stream Limiting) function, the corresponding setting value has been added to the license token so that the maximum number of simultaneous playbacks can be set according to the end user’s plan.
2023.01.26 4.16.3 - Fixed an issue of 2105 error in CSL scenarios using Chrome browser. (When using the same service in multiple browser tabs or windows)
- Fixed an error in the license token policy related to Airplay control of FairPlay DRM.
2022.11.16 4.16.1 - When specifying the validity period of an offline license, the maximum value of License Duration per DRM and check logic have been added. If a duration greater than the maximum value is entered as a token policy, the maximum value for each DRM is applied.
- Fairplay: max 4294967295 seconds (about 136 years)
- PlayReady: max 2522880000 seconds (about 80 years)
- Widevine: max 2147483647 seconds (about 68 years)

- Fixed a simultaneous playback count error targeting Android devices related to the CSL (Concurrent Stream Limiting) feature.
2022.10.18 4.16.0 - Improved PlayReady-related error message handling.
- NCG getServerInfo API processing has been converted to Java to improve server performance.
- Apply a unique device ID to desktop Chrome using Widevine’s provider_token specification. (‘simultaneous play count’ can be processed more accurately when using CSL function)
- Various other bug fixes and improvements have been applied.
2022.09.20 4.15.2 - Improved DRM-related log data processing performance to support large-capacity license service.
2022.08.03 4.15.1 - Improved handling of Widevine can_renew policy related to CSL function.
2022.07.13 4.15.0 - Supports ‘Concurrent Stream Limiting’ (CSL) function to prevent excessive account sharing.
- Supports Token Proxy integration for NCG DRM.
2022.05.24 4.14.0 - Added control of key rotation support per trial and commercial plan regarding DRM key rotation of live streams.
- Changed the default value for the override_device_revocation policy of Widevine DRM to ‘false’. To allow the issuance of DRM licenses for Android devices that have been revoked due to security vulnerabilities, the corresponding policy value of the license token must be set to ‘true’.
- Improved AssetID parsing when handling license requests for FairPlay DRM. (Preventing 7308 error code)
2022.02.09 4.13.1 - The license server has been updated not to issue Widevine licenses for the old Chrome Widevine CDM that was tampered by hacking. Widevine license request from that kind of clients will be responded as failure with error code 7116.
2022.01.12 4.13.0 - PlayReady Server SDK has been upgraded to version 4.4.
- Supports CBCS for SL2000 so that CBCS-encrypted CMAF single content can be played even in Windows Edge environment.
2021.10.26 4.12.0 - Improved the performance of the license server.
2021.10.19 4.11.0 - json type has been added as a response data type when requesting a token-based license.
2021.06.09 4.10.2 - We fixed a bug in Widevine persistent license issuance.
2021.05.25 4.10.1 - We fixed a bug in FairPlay multi-key license issuance.
2021.05.06 4.10.0 - The handling of DRM packaging history information has been improved.
- When requesting a DRM license using a token, the token expiration time check logic has been improved to reduce errors (7011 error) due to the time difference with the customer’s server.
2021.02.23 4.9.0 - Added 7115 error code about Widevine proxy (“This device has been revoked permanently.")
- Updated FairPlay offline license duration policy
– When requesting an offline unlimited license from a device that does not support offline, the license is issued with the maximum duration (about 136 years)
- Removed the default license callback page provided to trial accounts
– To avoid service stop when subscribing a commercial plan without proper license integration
- Fixed a bug in HLS Key rotation IV logic
2020.10.22 4.8.0 - Added policy for key rotation function control
- Applied FPS iOS 10 offline scenario
- Added Widevine override revocation control policy and Widevine proxy communication error code
2020.09.07 4.7.0 - Widevine License Issuance: Patch to enable license issuance to devices that do not meet Google security standards
- Changed callback gateway timeout from 5 seconds to 3 seconds
2020.08.12 4.6.0 - Added global license URL trial check function
- Support for issuing licenses for Shaka Player 3.0
2020.06.03 4.5.0 - Added support for offline rental scenario
2020.05.12 4.4.1 - Fixed missing Elastic Search log
2020.04.27 4.4.0 - Added multi-key license issuance function, response format, license policy V2 support
2020.03.17 4.3.1 - NcgCloud support removed, DB Connection method modified
2020.03.05 4.3.0 - Added Widevine allowed_track_type function
- Added ‘policy’ support for ‘token’ key in license token
- FairPlay error code added
- When checking token hash value, drm type case is irrelevant
- Correction of duplicate 7107, 7103 errors when issuing licenses and addition of missing error codes
- Correction of errors when issuing FairPlay licenses
2019.10.22 4.2.0 - When Widevine hardware DRM is set, audio track is applied as hdcp_none, security level 1
- Error correction when automatically handling packaging callback for trial account (if there is no file extension)
- Fixed client SDK authentication related error
2019.01.15 4.1.8 - Fixed NCG token related error
- Fixed Client SDK authentication query error
2018.09.19 4.1.3 - Modified to respond in hex format for IV values ​​for Shaka Packager integration
2018.08.09 4.1.1 - Added multi-key license issuance function (except PlayReady)
- In case of FairPlay, iv value is used per site when packaging
- If there is a CID in real-time HLS key issuance conditions, the CID is supported
- Added client SDK authentication function
2018.04.09 4.0.0 - Token-based license issuance is done without DB writing
- Added key rotation support. Enabled in case of content_type:live in pallycon-customdata-v2 specification (default: VOD)

KMS Server

Date Version Descriptions
2024.01.23 1.16.0 - For compatibility with AWS MediaPackage Live v2 service, a parameter for key rotation has been added to the SPEKE and CPIX API URLs (v2) of PallyCon KMS.
- Fixed a bug about AWS MediaPackage Live v2 support
2023.11.07 1.15.0 - Fixed a KMS error when integrating with AWS MediaPackage Live v2.
2023.07.26 1.14.2 - Fixed an error in the database logic used by the key import API
2023.07.11 1.14.1 - Fixed a bug about track type in key import API
2023.06.14 1.14.0 - Added support for external IV values when integrating with KMS.
- Fixed to throw an error if a SPEKE v2 request is entered in the KMS URL for SPEKE v1.
2022.10.18 1.13.0 - When integrating with AWS MediaPackage, various multi-key packaging presets added to SPEKE v2 are supported. (SPEKE v2 Milestone 3)
2022.06.14 1.12.1 - A database patch has been applied for a more stable service.
2022.03.23 1.12.0 - Added another SPEKE v1 URL for CMAF CBCS encryption support
- Fixed a bug in SPEKE v2 to separate the key IDs of multi-key video and audio tracks
2022.03.10 1.11.0 - Added CMAF CBCS encryption support. CMAF contents packaged with PallyCon KMS integration after the release can be played in the Windows Edge browser in addition to the previously supported client environments.
2021.11.03 1.10.0 - Supports NCG, NCG-HLS packaging through CPIX-based KMS integration.
2021.08.24 1.9.0 - Added support for SPEKE v2, now multi-key packaging is possible for live streaming via AWS Elemental MediaPackage.
2021.07.21 1.8.1 - We fixed a bug that made the content playback error when both DASH and HLS were packaged in single AWS MediaConvert job.
2021.05.06 1.8.0 - A new error code (1919) is added to the response data of the KMS URL in case of any problem in the DRM server.
- DRM packaging history management has been improved.
- An issue related to saving multi-key packaging history has been fixed.
2021.03.25 1.7.0 - Added support for Harmonic KMS Simple Type integration (can be integrated with ATEME Titan File product)
2020.11.11 1.6.0 - Added single key support in PallyCon KMS API V2
- Added PSSH DATA Element in Widevine response
2020.04.29 1.5.0 - Added multi-key packaging feature (KMS V2), PallyCon CPIX API V2
Provides samples for Bitmovin Encoder SDK and PallyCon CPIX V2 integration
2019.01.29 1.4.0 - Added PallyCon CPIX specification

DRM CLI Packager

Date Version Descriptions
2024.01.26 3.10.0 - Updated multi-manifest generation for better support of multi-key content
2022.12.26 3.9.0 - Added xHE-AAC audio codec support for Linux build
- With the packager build for Ubuntu and the Docker execution environment, the CLI packager can now be run in the macOS environment. (Supports both Intel Mac and Apple Silicon)
2022.08.25 3.8.4 - When using the --mp4_subtitle option, TTML format subtitles are used for output instead of VTT format. (subtitle input should still be in VTT format)
- The :video_bitrate parameter that can be used when inputting an original file with the -i option has been renamed to :video_bandwidth.
- Fixed minor errors of the previous versions.
2022.04.07 3.8.3 - Provides separate executables for CentOS, Ubuntu, and Windows
- Fixed a bug in KMS communication for HLS packaging
- Fixed a bug about Korean and blank characters in the path input
2022.03.11 3.8.2 - Added CMAF packaging through PallyCon KMS CPIX API
- Updated packaging use case so that CMAF packaging can be separated from DASH or HLS
2022.01.25 3.8.1 - Supports DRM encryption key integration based on standard CPIX API. For backwards compatibility, we continue to support the existing proprietary key exchange function.
- Added an option to use the PSSH generated by the packager itself instead of the PSSH generated by the key server.
- Added an option to sort video tracks in Manifest file by bandwidth when packaging ABR content.
- Various bugs in the previous version have been fixed.
2021.09.16 3.7.0 - When packaging with subtitles, you can apply mp4 embedded subtitles through the newly added --mp4_subtitle parameter. If the parameter is not entered, the text VTT type subtitle is output by default.
- When there is no language information in the media header of the audio input file, the packaging result is created based on the packager’s input value (:lang parameter).
2021.04.16 3.6.5 - Now you can add audio and subtitle track labels for DASH packaging.
2021.01.04 3.6.4 - Added PallyCon Custom Info in manifest file(mpd, m3u8) for download feature in PallyCon Client SDK.
2020.09.17 3.6.3 - Added the feature that apply average bandwidth for each track in mpd
- Use PSSH generated by packager, not from server.
2020.07.10 3.6.2 - Added the PlayReady Header version 4.3.0.0 to support CMAF(cbcs)
2020.05.27 3.6.1 - Support for HLS packaging with HEVC codec (fMP4 container)
- Improve input file path parameter encoding
- To use c++14, gcc version is changed(v4.8.5 -> v7.3.1) on Linux OS.
2020.04.27 3.6.0 - Added feature that generate multiple manifest for each track(resolution)
- Multi-key packaging feature for Multi-DRM
- Set the video bitrate(bandwidth)
2020.03.06 3.5.1 - Added feature that customizes the resolution(SD, HD, UHD1) height limit for packaging with multiple key.
2020.02.26 3.5.0 - Added WebM Packaging for DASH, and HLS track(audio, subtitles) naming feature
2019.09.10 3.4.1 - Added multi-key packaging feature for Widevine, and Audio track encryption omit feature
2019.08.30 3.4.0 - Added multi-bitrate live stream packaging feature
- Bug fixed about PlayReady packaging
2019.05.08 3.3.1 - Bug fixed for Widevine PSSH
2019.04.26 3.3.0 - Added CMAF packaging feature
2019.02.27 3.2.0 - Source code refactoring
- Bug fixed
2018.12.27 3.1.1 - Bug fixed
2018.11.30 3.1.0 - Added PSSH generation feature, packaging progress indicator, and support for multilingual subtitles
2018.10.19 3.0.0 - Changed packager core to Shaka Packager

CPIX API Client

날짜 버전 내용
2024.02.07 1.2.0 - Modified the interface of CpixClient class to allow users input parameters such as key-rotation and enc-token in the KMS URL.
- Fixed an issue when building on Linux OS
2023.09.25 1.1.0 - Added support for live key rotation (single key only)
- Improved error handling for CPIX API response
2023.08.08 1.0.0 - Initial release of PallyCon CPIX API client
- Supports C++, C#, Java, and Python languages

Wowza DRM Plugin

Date Version Descriptions
2023.09.25 2.4.0 - Applied the latest PallyCon CPIX API client
2023.04.07 2.3.0 - Added support for CMAF-DASH packaging (PlayReady and Widevine DRM can be applied)
2021.10.29 2.2.0 - Supports NCG-HLS packaging through CPIX-based KMS integration.
- Supports CID setting function using text file-based mapping table.
2020.12.02 2.0.1 - Fixed a bug related with kms URL property
2020.11.25 2.0.0 - Updated the SDK based on CPIX API integration instead of a callback URL
2018.12.06 1.2.2 - Fixed bug on HLS live stream with NCG DRM
2018.06.15 1.2.0 - Added support for HLS FairPlay Streaming
2018.04.24 1.1.0 - Security fix for key management error handling
2018.03.12 1.0.0 - Initial release version

Client Products

Widevine Android SDK

Date Version Descriptions
2024.01.11 4.0.0 - From this version, the SDK is based on Media3 library which is a new home of ExoPlayer library.
- Google announced deprecation of ExoPlayer after its v2.19.1 release.
- If you want to keep using ExoPlayer package, you need to use PallyCon Widevine Android SDK v3.4.x.
2023.12.11 3.4.6 - Fixed an issue where the license key rotation feature for live content was not working properly.
2023.11.16 3.4.3 - Removed the ability to migrate local databases from 2.x versions.
2023.10.30 3.4.0 - Added support for the License Cipher SDK, which can compensate for the Widevine L3 vulnerability.
- Added support for advanced scenarios which were existed in 2.x versions
- Removed notifications related with DownloadService
- Fixed issues about Chromecast support
2023.05.23 3.3.0 - Added callback functionality to allow applications to apply custom HTTP header and body data (challenge) encryption when making HTTP requests/responses for DRM license acquisition.
- Added device reprovisioning feature to resolve Widevine errors on certain Android devices without a factory reset.
2023.03.10 3.2.0 - Added support for Widevine HLS content
- Added support for Non-DRM content downloading
2022.12.20 3.1.0 - Added data migration API (migrateDB() function) for downloaded offline license on client app with earlier version SDK
- Customers using v2.x SDK need to apply the license data migration process to their app
2022.11.18 3.0.0 - Updated the SDK architecture to support download/offline scenario based on Android ExoPlayer’s content downloading and DRM license management features
- Supports ExoPlayer v2.18.1
2022.03.31 2.4.0 - Supports ExoPlayer 2.16.1 version.
- Added a function to force Widevine Security Level to L3 to solve compatibility issues that occur on some Android devices.
- Fixed minor bugs in the SDK.
2021.12.14 2.3.1 - Removed unnecessary MANAGE_EXTERNAL_STORAGE permission that was added in the previous version.
2021.11.17 2.3.0 - Supports ExoPlayer 2.14.2 version.
2021.10.21 2.2.0 - provideForceProvisionRequest() function has been added.
This function can be used when an error such as ‘Failed to restore keys: General DRM error (-2000)’ occurs on a specific device due to a Widevine DRM provisioning error.
For details, please refer to the documentation included in the SDK.
2021.10.07 2.1.3 - Removed the deprecated org.apache.http library.
2021.09.23 2.1.2 - Fixed an error when downloading MPD files with only video or audio.
2021.08.12 2.1.1 - The download progress returned by the PallyconDownloadEventListener.onProgressUpdate() function is processed as a percentage of the total size of the download, not each track.
2021.07.13 2.1.0 - Added PallyconKeyRequest interface to request content key.
For details, please refer to the documentation included in the SDK.
2021.06.29 2.0.3 - We updated the SDK so that when an error code is returned from the license server, a PallyConServerResponseException is returned instead of retrying the license request.
- PallyCon Widevine SDK library no longer requires the READ_PHONE_STATE permission.
2021.04.30 2.0.1 - Fixed a bug that caused an app crash when the device time was changed to the past on playing downloaded content offline.
- Customers using the previous version (v2.0.0) must update it.
2021.04.15 2.0.0 - Supports ExoPlayer 2.13.2 version.
- DrmSessionManager interface is updated.
2021.02.11 1.15.0 - Added API for device rooting detection. PallyConDetectRooting.detectRootingDevice()
2021.01.04 1.14.0 - Added PallyConMpegDashInfo class to get the size of DASH content.
2020.12.22 1.13.0 - Added API for token-based license acquisition.
- Updated sample for token-based license acquisition.
- Added User ID and Key Rotation info to PallyConTokenInfo class.
2020.09.25 1.12.0 - Supports ExoPlayer 2.11.8.
2020.08.12 1.11.0 - Supports multi-key content and offline rental scenarios.
- The existDownloadLicense function added in v1.10.1 has been removed, and a new getOfflineLicenseExpireDate function has been added.
2020.07.27 1.10.2 - Target OS version changed (28 -> 29) due to Google’s policy.
- PallyConDownloadTask API is added to specify the folder name where the content will be saved.
- Content URL analysis processing is fixed.
2020.05.12 1.10.1 - The ExoPlayer version applied to the SDK is changed from 2.10.4 to 2.10.8.
2019.12.11 1.10.0 - existDownloadedLicense API is added to show whether a license exists in the Database.
2019.10.07 1.9.0 - ExoPlayer 2.10.x version update AndroidX, Android API 28,Gradle 5.4.1, Gradle Plugin 3.5.0 have been applied.
- The setEnableLog method has been removed.
- The SDK update also updated Android/AndroidTV Sample. Please check each sample for changes.
2019.09.09 1.8.0 - Licenses can be removed from the removeLicense(), removeLicenseByCustomData() and removeLicenseByProxy() methods without a network connection.
2019.08.16 1.7.0 - Optimizing the PallyConWVSDK size has been done.
- Added setCookie () function to MpdTrackSelector class.
- PallyconLoggingListener has been added so you can check the internal logs.
- The PallyconWVMSDK.setEnableLog function is excluded in the next version.
2019.07.12 1.6.8 - Fixed an issue with SetCookie function.
2019.06.20 1.6.7 - Added downloadLicenseByToken() function to download license as Token.
2019.06.11 1.6.6 - MediaDrmCallback has been changed so that the cookie set in the SDK API works.
- Exception handling has been added to the setCookie function.
- The enableLog function name has been changed to setEnableLog, and exception handling has been added.
2019.06.05 1.6.5 - Added support for 64-bit
2019.04.24 1.6.4 - Fixed app installation issue with old version(4.4 ~ 5.0) Android devices
2019.02.13 1.6.3 - Added callback function that is called after download is completed
- Added support for ExoPlayer 2.9.3
- Added support for Gradle version 4.6, Android Plugin version 3.2.1, and compileSdkVersion 27
- Fixed internal errors when running on Android 9.0
2018.12.27 1.6.1 - Added function to choose resolution when downloading adaptive DASH content
2018.09.19 1.6.0 - Added simple version sample project for easier trial of the SDK.
- Added SDK certification to verify that the target site has permissions.

FPS iOS SDK

Date Version Descriptions
2024.01.30 2.0.0 - Updated the SDK APIs for better functionality and clarity.
- Deprecated some old APIs which are not needed anymore. Please check the included documents for more details.
2023.07.19 1.17.3 - Fixed an issue with iOS 17 beta version.
2023.03.10 1.17.2 - Fixed a bug about AirPlay playback.
2023.01.09 1.17.1a - Fixed issues related to SDK library files.
2022.08.22 1.17.1 - To prevent license errors when downloading small-size contents, the createDownloadTask() function that acquires a license first has been added.
- The content download function has been updated based on AVContentKeySession. Accordingly, the download function is only supported on iOS 11.1 and above.
- Fixed some errors related to AVAssetResourceLoader.
2021.12.17 1.15.0 - The FPS SDK, previously separated for iOS and tvOS, has been integrated into one.
- Supports bitcode build in xcframework library for App Store upload of tvOS app.
2021.08.27 1.14.0 - The resourceLoaderRequest() function has been added so that the client app can modify the contents of the m3u8 playlist, such as adding subtitles.
2021.07.16 1.13.0 - The contentKeyRequest() function is added so that the app can directly process the request and response for the content key.
- A parameter that can input a custom license URL such as a proxy server is added to the prepare() function.
2021.01.04 1.12.0 - Added PallyConHLSInfo class to get the size of HLS content before download.
- Updated SDK sample for the above new API.
2020.12.23 1.11.0 - Added API for token-based license acquisition.
- Updated sample for token-based license acquisition.
- Added User ID and Key Rotation info to PallyConTokenInfo class. ‘token’ property is renamed as ‘policy’.
2020.09.25 1.9.0 - The existDownloadedLicense function added in 1.8.5 has been removed. The newly added getOfflineLicenseExpireDate function allows you to know the license status and expiration date.
- The getOfflineLicenseExpireDate function has been added.
- Supports license acquisition and playback of multi-key packaged content.
2020.07.06 1.8.8 - Xcode 11.5 and swift 5.2.4 are applied to SDK.
- Add XCframework SDK.
2020.02.24 1.8.7 - Content download(DownloadTask) and license download have been modified to work together.
2020.01.22 1.8.6 - You can restrict the use of Cellular when downloading content.
- The simulator library(x86_64, i386) is removed from the SDK and distributed.
2020.12.11 1.8.5 - The existDownloadedLicense API is added to know whether the license exists.
2019.11.07 1.8.4 - Deploy an iOS and tvOS SDKs built on Xcode 11.2 and Swift 5.2.
2019.10.18 1.8.3 - Deploy an iOS and tvOS SDKs built on Xcode 11 and Swift 5.1.
2019.07.29 1.8.2 - Fixed Symbol not found on iOS9 target.
2019.07.19 1.8.1 - Fixed bug where saved licenses are not deleted.
2019.06.01 1.8.0 - The SDK certification process has been removed.
2019.04.05 1.7.0 - Supports Swift 5.0 version.
- Fixed a bug in download function.
2019.01.28 1.6.5 - Changed access to KeyChain to ‘Always access’.
2019.01.05 1.6.4 - Updated SDK authentication.
2018.12.20 1.6.3 - Added a parameter to download only specific bandwidth files of adaptive stream contents.
2018.11.29 1.6.2 - Updated to initialize KeyChain information saved at initial SDK information acquisition.
- Updated to initialize information stored in KeyChain when authentication fails.
2018.11.21 1.6.1 - Fixed keychain issue of SDK certification
- Fixed a bug in Download API
2018.09.19 1.6.0 - Added simple version sample project for easier trial of the SDK.
- Supports Swift 4.2, iOS 12. Built with Xcode 10 and Swift 4.2.
- Added SDK certification to verify that the target site has permissions.

NCG Android SDK

Date Version Descriptions
2024.02.21 2.16.0 - Added Builder class that can create Ncg2Agent object.
- Added new functions to Ncg2Agent with LicenseConfig class. For more information, please refer to the release note included in the SDK.
- Changed SDK documentation from DoxyGen to JavaDoc.
- Changed library distribution method from JAR to AAR.
- Fixed a crash in the registerReceiver() function during NCG init().
2024.01.11 2.15.0 - Updated internal library for performance improvements
2023.08.29 2.14.0 - Improved decryption performance for ePUB content.
2022.12.19 2.12.0 - Added Poco zip library and related APIs for better ePUB content support
- Added sample code for ePUB(zip format) content support
2022.04.25 2.11.1 - Changed the download storage location of the sample app to support Android Scoped Storage.
- Fixed an issue where a segmentation error occurred when repeatedly calling the DRM API.
2021.12.23 2.11.0 - Various minor bugs in the NCG core have been fixed and stability has been improved.
2021.09.12 2.10.0 - To solve the license issuance failure under certain circumstances, the SDK initializes the Device ID and RODB if the license error code is 7003 and the Device ID is Widevine UUID. In this case, the license information stored in the device is deleted, and a new license must be requested after calling the Ncg2Agent.init() function.
2021.04.22 2.9.0 - We improved the local webserver security to prevent illicit access to NCG HLS streams played with the SDK.
2021.03.04 2.8.0 - The getTokenInformation() function has been added to check the information of the license token.
- Updated SDK sample based on token.
2021.01.07 2.7.0 - Added support for download scenario of NCG-HLS content.
2020.09.03 2.6.3 - ‘scoped storage’ permission is added to the SDK Sample project.
2020.08.12 2.6.2 - APIs that can be licensed with tokens are added.
2020.07.01 2.6.1 - Sample project errors are fixed.
2020.05.28 2.6.0 - Added setRootingCheckLevel() API, which allows you to specify the strength when checking Android routing.
2020.04.29 2.5.5 - Target version is changed to 29 according to Google policy.
- From Android Q(API 29), the’Widevine' UUID is used as the Device ID.
2020.04.02 2.5.4 - URI extraction function in EXT-X-MAP from m3u8 file is added to NCG Core and applied to NCG SDK.
- The NCG Advanced Sample changes to call different players depending on whether they are HLS content.
2020.03.13 2.5.3 - Android Rooting check is changed.
2020.02.05 2.5.2 - Secure Time related logs are output to NcgExceptionalEventListener.
- NCG Core All logs are not output.
2019.11.11 2.5.1 - Android Target Sdk Version changed from 27 to 28.
- AndroidX is applied.
- Fixed an issue that prevented external output and routing checking on some devices.
2019.10.07 2.5.0 - The crash on the local web server has been removed.
2019.06.05 2.4.0 - Supports Android 64bit (arm64-v8a, x86_64)
As of August 2019, Android 64bit support was required and the NCG SDK included Android ABI arm64-v8a, x86_64. NCG SDK v2.4.0 or later must be applied to register an app in Google Play from August.
- Android API Level change (API 15 -> 16)
Minimal support in NDK has been changed to Android API Level 16 while supporting NCG SDK 64bit. The minimum support for 64bit Android is Android API Level 21.
2019.02.27 2.3.2 - Added support for Android version 9.0.
2018.12.27 2.3.1 - Added security patch to prevent app running on Android emulator.
2018.09.19 2.3.0 - Added simple version sample project for easier trial of the SDK.
- Enhanced secure time logic for better security of offline playback.

NCG iOS SDK

Date Version Descriptions
2024.01.11 2.12.0 - Updated internal library for performance improvement
2023.02.08 2.11.1 - Added Ncg2FileZip interface which can read zip.ncg files to better support ePub contents. Please refer to the SDKSimple-Swift-Zip sample for more details.
- The minimum supported iOS version is changed to iOS 11.
2022.02.18 2.10.1 - Fixed various bugs in the NCG core library.
2022.01.20 2.10.0 - The CURL library used in the SDK has been updated to the latest version (7.79.1).
2021.11.29 2.9.1 - The library header path has been integrated into one without distinction between Simulator and Device.
2021.11.04 2.9.0 - Added xcframework type NCG library.
2021.09.02 2.8.2 - Fixed an error where the delegate for the NcgHttpRequestDelegate protocol could not be set in the local web server in Advanced Sample.
2021.06.11 2.8.1 - Changed the CURL library used in the SDK for better compatibility.
2021.04.21 2.8.0 - We improved the local webserver security to prevent illicit access to NCG HLS streams played with the SDK.
2021.03.11 2.7.1 - It is now possible to check additional logs by setting Ncg2Agent.setExceptionalEventDelegate: and implementing NcgExceptionalEventDelegate.
2021.03.04 2.7.0 - To prevent compilation errors that occur when both NCG iOS SDK and PallyCon FPS SDK are applied to one app, the existing PallyConTokenInfo interface has been renamed to Ncg2TokenInfo.
- In order to solve the build error that occurs in the latest Xcode, we have removed the simulator library from iOSNcgSDK.framework.
2021.01.07 2.6.0 - Added getTokenInfo() to check detailed information of a token.
- Updated SDK sample based on token type license acquisition.
2020.10.18 2.5.2 - Added new API to set license acquisition URL for token.
2020.04.03 2.5.1 - Updated NCG core to extract EXT-X-MAP URI in m3u8 file.
2019.10.08 2.5.0 - The crash on the local web server has been removed.
2019.01.22 2.4.2 - Added new license token API. (acquireLicenseByToken)
2018.11.27 2.4.1 - Updated recovery process when RODB file is broken or modified.
2018.09.19 2.4.0 - Added simple version sample project for easier trial of the SDK.
- Enhanced secure time logic for better security of offline playback.
- Supports Swift 4.2, iOS 12. Built with Xcode 10 and Swift 4.2.
- Changed the name of C++ library from libstdc++ to libc++ for Xcode 10.

NCG Windows SDK

Date Version Descriptions
2024.01.11 1.12.0 - Updated internal library for performance improvements
2023.03.10 1.11.0 - Added DLL version of SDK library in addition to existing static link library.
2022.06.17 1.10.0 - Updated internal module about WBC(White Box Crypto).
2021.01.07 1.6.1 - Updated the library not to delete the PCID data created by previous version in the registry
- Fixed an issue in getLicenseInfo() with existing license data
2020.10.14 1.6.0 - Updated the library to use the PCID data created by previous version in the registry
2020.03.27 1.5.0 - Added an API to migrate the RODB from previous version
- Changed the filename of .ncg_data.sys to .ncg_data_win.sys
2019.11.02 1.4.0 - Added HttpRequestCallback.getHttpHeader() interface
2019.03.07 1.3.0 - Updated the library to apply the information about Http callback

NCG macOS SDK

Date Version Descriptions
2023.03.06 1.2.0 - Updated NCG core module and sample code to support the latest macOS.
2022.10.07 1.1.2 - Increased the maximum buffer size that can be read in the Ncg2File.read function to support large files.
- The size of the NCG file that can be read at one time via the network (streaming) inside the SDK has been changed to a maximum of 4MB.
2021.04.12 1.1.1 - Fixed a bug related to error log output.
2020.09.02 1.1.0 - Secure Time acquisition process has been changed from SDK initialization to license acquisition.

PlayReady UWP SDK

Date Version Descriptions
2024.04.03 1.8.0 - Added support for removable storages.
2023.08.30 1.7.0 - Added support for custom LA URL in reactive license scenario
- Added a callback interface for license request
2022.12.26 1.5.0 - Added DASH on-demand profile support
- Improved download and playback of ABR and multi-key content
- Fixed some bugs related to subtitle file download
2022.12.06 1.4.0 - Removed SDK authentication logic.
- Translated Korean comment in sample code to English
2020.09.16 1.3.0 - Added SDK authentication logic to limit the usage of SDK to SDK plan customers.

Multi-DRM Flutter SDK

Date Version Descriptions
2024.04.03 1.1.0 - Updated sample to play streaming contents using Better Player
- Fixed issue with content playback crashes
2023.03.15 1.0.0 - Multi-DRM Flutter SDK supporting Flutter-based cross-platform applications has been newly released.
- Supports streaming and downloading scenarios of Widevine and FairPlay DRM-encrypted content in Android and iOS environments.

Multi-DRM React Native SDK

Date Version Descriptions
2024.03.06 1.1.1 - Fixed minor issues
2023.05.03 1.0.0 - Multi-DRM React Native SDK supporting React Native based cross-platform applications has been newly released.
- Supports streaming and downloading scenarios of Widevine and FairPlay DRM-encrypted content in Android and iOS environments.

DRM License Cipher SDK

Date Version Description
2023.11.20 1.0.0 - Released a new DRM License Cipher solution to enhance the security of software-level Widevine L3 DRM.
- The License Cipher SDK encrypts Widevine license requests from Android apps to protect content keys from various hacking tools.

Multi-DRM Android Demo App

Date Version Descriptions
2022.07.05 1.0.0 - PallyCon multi-DRM mobile demo app has been newly released on Google Play store.
- Android version demo supports streaming playback of Widevine DRM-protected sample content and content packaged by the customer.

Multi-DRM iOS Demo App

Date Version Descriptions
2022.07.05 1.0.0 - PallyCon multi-DRM mobile demo app has been newly released. (available via TestFlight)
- iOS version demo supports streaming playback of FairPlay DRM-protected sample content.
Next