Skip to content

CL API v0.3.1 (2026-06-10)

This is the second release of CL API. Major changes since previous version:

  • The API is now contained in one header file (cl_api.h)
  • The previous usage of indexes for device/interface has been changed to utilize handles (opaque pointers)
  • By default devices will be sorted by serial number when iterated over
  • There have been some changes to device name, what was previously device/interface name is now device/interface nickname. There is a separate cl_device_get_name() that will respond with the product name always.
  • There is now support for updating device firmware baked into the API
  • New APIs:
    • cl_device_get_nickname
    • cl_device_set_nickname
    • cl_interface_get_nickname
    • cl_interface_set_nickname
    • cl_interface_get_tc10_state
    • cl_interface_send_tc10_command
    • cl_device_update_firmware_from_blob
    • cl_device_update_firmware_from_path
    • cl_format_serial_number
    • cl_format_ean
    • cl_get_api_version
  • New version of cl_client (new name for terminal_app that shipped with the previous version)
    • The new terminal application can run in interactive and non interactive mode, which allows both exploration and scripting.
    • A lot of work has gone into improving command flags and making it easier to use and figure out.