Skip to content

Releases: Pulse-Eight/libcec

libCEC 7.0.0

26 Feb 09:57
Compare
Choose a tag to compare

Changelog

  • modernise CMakeLists.txt
  • Use cmake TIMESTAMP function to be more portable and to allow for reproducible builds
  • fixed: potential null deref. closes #556
  • python 3.13 compatibility
  • added: vs2022 support
  • fixed: creating (unsigned) windows installer
  • fixed: nsis installer not creating start menu icons and uninstaller
  • bump to .net framework 4.5 and .net 8.0
  • fixed: null terminate .net device language field. added CecLogicalAddresses::Unset()
  • fixed: don't call the config updated callback if nothing has changed. auto set wake devices or activate source so these values match what happens on the tv
  • fixed: tv would power on even if the options to power on were disabled in cec-tray
  • changed/fixed: windows installer, eventghost plugin, .net libraries, python imports, debug builds
  • fixed: use input() for python3 and raw_input() for python2
  • changed: debian python install to match arch specific too
  • fixed: libusb0.dll wasn't included in the installer
  • fixed: remove call to PyEcal_InitThreads(). swig already includes SWIG_PYTHON_INITIALIZE_THREADS in SWIG_init()
  • CheckPlatformSupport.cmake: various improvements
  • Ease copy-paste by invoking apt noninteractively
  • Rename COPYING to LICENSE.md so follow standard naming conversion
  • cecloader.h: fix null return
  • Mark all devices as inactive when new active source is unknown
  • Fix use after free in callbacks with results.
  • Add a commandHandler callback to allow external libs to handle CEC commands themselves.
  • Remove debug printfs.
  • Attempt to fix race condition when freeing the callback wrapper.
  • Allow command handler callback to intercept broadcast messages and fix inconsistent callback wrapper deletion again.
  • Remove useless mutex.
  • Remove useless 'keepResult' parameter and make sure the CCallbackWrap is only deleted once even in case of timeout.
  • Fix Python module import
  • fix assert issue with systemd udev
  • tegra-cec support. closes #636
  • Add support for Windows ARM64.

Full Changelog: libcec-6.0.2...libcec-7.0.0

libCEC 6.0.2

13 Jul 10:31
Compare
Choose a tag to compare

See libCEC 6.0.0 for the full change log for the 6.0 release

  • added:
    • example systemd units for common use cases (#506)
  • fixed:
    • debian: allows clean upgrades of debian libcec-dev (#521)
    • detect Python pre-releases correctly (#515)
    • docs: add missing git dependency to raspberry pi installation (#519)

⚠️ not compatible with Kodi 18.x. Please use libCEC 4.0.7 instead.

libCEC 6.0.1

13 Jul 09:31
Compare
Choose a tag to compare

This version fixes cec-tray not starting in some cases.

See libCEC 6.0.0 for the full change log for the 6.0 release

⚠️ not compatible with Kodi 18.x. Please use libCEC 4.0.7 instead.

libCEC 6.0.0

10 Jul 11:03
Compare
Choose a tag to compare

This version includes an upgrade for the cec-tray application, which now supports firmware upgrades and includes screensaver functionality.

Some API methods have been renamed and LibCecSharp is now initialised differently: the CecCallbackMethods parameter moved from LibCECConfiguration to the LibCecSharp initialiser.

It also fixes the installation of the EventGhost plugin, which wasn't included in the installer correctly.

⚠️ not compatible with Kodi 18.x. Please use libCEC 4.0.7 instead.

  • fixed:
    • eventghost installation
    • loading and storing settings in eeprom
    • LibCecSharp callbacks could crash
    • updating the hdmi port setting or physical address while libCEC is
      running
    • various small robustness improvements and cosmetic changes
    • icons are no longer black transperant (and nearly invisible)
  • added:
    • v2.0 CEC version
    • new/missing functions and fields in LibCecSharp
    • firmware can now be upgraded in cec-tray
    • screensaver functionality in cec-tray
    • MuteAudio() command
  • removed:
    • CanPersistConfiguration() - use CanSaveConfiguration() instead
    • PersistConfiguration() - SetConfiguration() now stores the cfg in eeprom
      if available
    • EnableCallbacks() - use SetCallbacks() and DisableCallbacks()instead
  • changed:
    • unified LibCecSharp and LibCecSharpCore
    • try to init submodules when not found while creating an installer. abort
      if platform failed to compile

libCEC 4.0.7

10 Jul 10:57
Compare
Choose a tag to compare

This is a compatibility build for applications that use the v4 interface, which includes the fixes from v6.0.0 using a v4 compatible API.
.Net is now initialised differently and is no longer compatible.

See the release notes for v6.0.0 for changes

libCEC 5.0.0

27 Apr 13:17
Compare
Choose a tag to compare

This version adds support for a new feature, automatically waking the TV when the PC boots, when using a USB-CEC adapter. It requires firmware v11 or newer. You can enable it through cec-client: cec-client -aw 1 or cec-client --autowake 1.

It also adds a GetStats() API command and stats command in cec-client, currently only supported by the USB-CEC adapter. This command may be useful for debugging CEC issues.

Last API change fixes #333, which truncated the last byte from a 14 byte OSD name.

⚠️ not compatible with Kodi 18.x. Please use libCEC 4.0.5 instead.

  • fixed:
    • osd name truncated. issue #333
  • added:
    • GetStats() API command, for devices that support it
    • USB-CEC auto power on at boot support. requires FW v11+

libCEC 4.0.5

27 Apr 13:10
Compare
Choose a tag to compare

This version fixes issues that have been reported and adds some new features. The API is compatible with previous 4.0.x releases.

Issue #459, 2016+ Samsung TVs turning themselves on randomly, is fixed by upgrading the firmware of the CEC adapter to v12. This firmware also fixes another issue that prevents the PC from waking up when the TV powers on in some cases.

  • fixed:
    • windows 64-bit detection. issue #473
    • windows build with spaces in path. issue #475 #474
    • USBCECAdapterDetection: Only scan tty. issue #495
    • don't probe all devices in CCECClient::IsActiveDeviceType(). issue #492
    • use cmake TIMESTAMP for reproducible builds. issue #485 #487
    • python 3 client. issue #479
    • add O_CLOEXEC to prevent child process locking. issue #478 #477
    • fix build if hostname does not support '-f' argument. issue #471
    • hyperlinks in README files. issue #465 #455
    • replace SWIG_ADD_MODULE and force python2 on win x86. issue #481
    • cb_cec_log_message() formatting in cecc-client
    • missing SetupDiDestroyDeviceInfoList()
    • various build script improvements on Windows
    • 15 and 16 byte frames didn't fit and couldn't be sent. issue #443
  • added:
    • Linux CEC framework adapter. issue #380
    • .Net Core support. issue #130
    • P8 adapter discovery via Linux sysfs. issue #472
    • iMX6 support. issue #323
    • Apple vendor ID. issue #486
    • link to Skull Canyon and Hades Canyon NUC adapter. issue #448
    • Request/Report SAD messages. issue #404
  • changed:
    • use hex format for cec-client address input. issue #480
    • adapter detection on windows without advapi
    • build using VS2019 on Windows, required for .Net Core
    • CMake 3.12+ is now required

libCEC 4.0.3

12 Nov 16:32
Compare
Choose a tag to compare

This release fixes some issues in the 4.0.2 release that have been reported.

Ubuntu: https://launchpad.net/~pulse-eight/+archive/ubuntu/libcec
Windows: https://github.com/Pulse-Eight/libcec/releases/download/libcec-4.0.3/libCEC-4.0.3.exe
It also includes an updated firmware, which addresses a bug in Samsung 2016+ models that powers on the TV randomly. You don't have to upgrade the firmware if you have another brand or an older model.

The wake up feature is disabled as a result, when a Samsung TV is detected. You can no longer wake up the PC if it's in standby or power it on when the PC is off (with an Intel NUC adapter).