o 02/07/2020

- Introduces set_CDNServerIP() API to support setting CDN Edge Server's IP address
- Provides mechanism for application to control memory allocation and deallocation
- Uses mutex synchronisation for list usage
- Enhances state change events and heartbeat reporting

o 02/01/2020

- Updated mechanism for get_player_type and get_player_version API's, they can now only be used when there is an update

o 26/12/2019

- API's added to fetch client Id (ccl_get_client_id) and session Id (ccl_session_get_session_id)

o 16/07/2018

- Supports Ad Experience, part of Ad Insights.

o 08/05/2018

- Fixes reporting of multiple state change events when updating content metadata.

o 27/04/2018

- Removes detection and collection of SSID.
- Improves handling of tags when updating content metadata.


o 12/01/2018

- Supports ability to send Player Insights and Ad Insights events associated with a specific session.
- Fixes issue of content information tags merge.


o 06/06/2017

- Supports automatic detection of network information such as connection type, WiFi SSID, WiFi signal strength and WiFi link encryption.
- Supports automatic detection of video resolution.
- Supports mutable metadata.
- Renames protocol_17.c and protocol_22.c to protocol.c
- Fixes compiler warnings.


o 19/12/2016

- added seek evnet handling
- updated cws protocol to 2.2 from 1.7

o 14/10/2016

- bug-fixes
- significant improvements related thread management
- memory over-flows (sprintf -> snprintf)
- security vulnerabilities.

o 3/30/2015

- added ccl_session_update_content_info() to update the content info
  after the session creation.
- removed dependency on INT32_MIN from stdint.h.
- adjusted library to compile on Windows.
- fixed double mutex unlocking issue.

o 3/25/2015

- ccl_http_callback's first two parameters status and http_data are now reordered.
- ccl_http_callback's last parameter response_length is now an unsigned int.
- save_data and load_data APIs have been revamped to support async/non-blocking operations.
- http_request API was renamed to http_post_request, and the is_post parameter was removed.

o 3/16/2015

- changed from 'int' to 'unsigned int' for request_length in http_request().

o 02/20/2015

- fixed enumerations to avoid naming conflicts.
- changed ccl_platform_t.http_request to allow for asynchronous responses.
- changed ccl_platform_t to use ccl_platform_metadata_t for platform metadata.
- changed JSON packaging ownership from application to library.
- changed thread management ownership from library to application.

o 10/13/2014

- added rand() in ccl_platform_t to support the platform-dependent
  random generator.

o 09/22/2014

- renamed ccl_session_set_error() in ccl.h to ccl_session_report_error().

- added one argument "is_fatal" to both ccl_session_report_error() in
  ccl.h and set_error() in cclNotifier.h.

o 09/19/2014

- added one argument "initial_time" to create_timer() in
  cclPlatformIf.h to specify when the timer function is first invoked.

- changed the return value of http_request() in cclPlatformIf.h to
  CCL_SUCCESS and CCL_ERROR.
