Initial FreeBSD support
[deb_libcec.git] / ChangeLog
index 877a98213b4cc32a41ef590fc8fa58111c12b6b3..f7cbc06ba87cd5f38ce4df2d566f581565ca4445 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,644 @@
+libcec (1.5-1) unstable; urgency=low
+
+  * changed/added:
+    * a new libcec_configuration structs, which allows the client app to pass
+      a number of new options, like waking multiple devices on startup,
+      overriding the vendor id, etc.
+    * a new configuration GUI for Windows (.NET). this allows you to set
+      libCEC's configuration for XBMC in a convenient GUI.
+    * a CLI configuration tool (unfinished) for other platforms. will be
+      finished in an update.
+    * implemented power up for LG devices other than a TV
+    * win32: don't install libcec to the system directory by default, and
+      delete previous (testing) copies if present
+    * wait for multiple responses, not just for one at a time
+    * set the ackmask to 0 when closing the connection
+    * don't send 'image view on' when calling SetActiveSource()
+    * don't send power on, acitve source and standby commands by default in
+      cec-client
+    * platform: added CTryLockObject
+    * platform: added an Init() method in CTimeout, so it can be reset
+
+  * interface changes:
+    * added a new initialiser method: CecInitialise()/cec_initialise(), that
+      accepts a "libc_configuration" struct as parameter. this way, the
+      signature of the init method can stay the same when adding new options.
+      in LibCecSharp, the new method appears as a new constructor.
+    * added CanPersistConfiguration()/cec_can_persist_configuration()
+    * added PersistConfiguration()/cec_persist_configuration()
+    * added GetCurrentConfiguration()/cec_get_current_configuration()
+    * added SetConfiguration()/cec_set_configuration()
+    * added GetLogicalAddresses()/cec_get_logical_addresses(): returns the list
+      of addresses controlled by libCEC
+    * added RescanDevices()/cec_rescan_devices(): lets libCEC force polls to
+      all logical addresses.
+    * added a callback that is called when libCEC's configuration changed.
+    * moved the autodetect address api call to libcec_configuration. only send
+      power up commands to non-tv devices when the power state is not
+      on/transition->on. let players call the power up/power down command.
+    * return the anynet return keycode directly instead of translating it to
+      'return' for v1.5.0+ clients
+    * extracted CecSharpTypes.h in LibCecSharp. LibCecSharp is now in the
+      CecSharp namespace
+    * include the local cectypes.h in cec.h and cecc.h instead of system wide
+    * deprecated GetLibVersion() methods. use libcec_configuration instead
+    * removed deprecated CECCreate() method
+    
+  * fixed:
+    * fixed a lot of LG specific issues
+    * fixed OS-X compilation. credits: Dustin Cooper
+    * fixed a couple of possible deadlocks, e.g. when closing the connection
+      while receiving data
+    * cleaned up existing code
+    * libCEC no longer puts incoming data in a fifo buffer, but tries to
+      process it directly, which fixes issues like libCEC blocking processing
+      new commands while waiting for transmission acks.
+    * 'unsupported command' marking in CCECBusDevice
+    * ensure that the ackmask is always set to 0 when closing the connection
+      and that the call doesn't block the Close() call
+    * don't try to read or write in CUSBCECAdapterCommunication when the
+      connection has been closed
+    * LibCecSharp: added quotes to the linker statement for libcec.lib. fixes
+      compilation in paths with spaces. closes #20
+    * LibCecSharp: set the callback methods in libcec to NULL before closing
+      the connection, since these might already have been destroyed in .NET
+    * LibCecSharp: delete the internal callback struct when closing the
+      connection
+    * LibCecSharp: pass correctly formatted logical address lists
+    * ensure that the vendor id is requested first when requesting info from a
+      device, so we are using the correct handler
+    * keep the 'busy state' of the command handler in CCECBusDevice
+    * poll the next device when the current is handled by libCEC.
+    * check the vendor id of a device before sending a power on command
+    * ensure that there always is at least one device type set
+    * transmit a keypress and key release as power on command when the target
+      device isn't the TV
+    * don't do a full reinit when not needed
+    * fix active source switches for the standard CEC implementation
+    * ensure that we don't send data to ourself
+    * check whether the port is open, not whether libCEC is initialised in
+      Transmit()
+    * platform: fixed return value from CCondition::Wait()
+    * platform: don't broadcast but wake one thread in
+      CProtectedSocket::MarkReady()
+    * platform: include stdint.h in windows/os-types.h instead of typedef'ing
+      ints
+    * platform: fixed tcp socket error handling and return value.
+    * platform: fixed return values of socket operations in lib/platform
+    * platform: added predicate in CCondition
+    * deleted the signed driver from the tree, since that doesn't work. let the
+      installer create a new signed driver on the production build system
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Mon, 19 Feb 2012 01:04:00 +0100
+
+libcec (1.4-4) unstable; urgency=low
+
+  * changed/added:
+    * added tcp client sockets to lib/platform (WIP)
+    * clean up lib/platform
+    * added: set controlled mode on after opening a connection to the adapter
+      (for firmware v2)
+    * added an IAdapterCommunicationCallback interface an use a callback method
+      to pass newly received cec_commands to CCECProcessor
+    * added "driver only" and "driver + libcec" sections to the installer
+    * added a signed driver
+    * created a separate driver installer, which is included in the libCEC
+      installer. uninstalls the old unsigned version of libCEC and the driver
+      when it's found and installs the new one in C:\Program Files(x86)\
+      Pulse Eight\USB-CEC Adapter.
+    * don't sign development binaries with a temporary key. devs can do that
+      themselves when they want LibCecSharp in the GAC
+  * interface changes:
+    * added SetStreamPath()/cec_set_stream_path_logical()/
+      cec_set_stream_path_physical() to the interface, to send a
+      "set stream path" command over the CEC bus, used to activate another
+      source.
+  * fixed:
+    * transmit 'menu state activated' after the stream path has been set to a
+      device that is handled by libCEC. should fix remote commands not working
+      properly on Panasonic TVs and after another source has been active.
+      bugzid: 233
+    * set the ackmask to 0x0 when trying to find a free logical address
+    * keep trying to reconnect to the com port until the timeout runs out.
+      bugzid: 230
+    * wait 500 ms before trying to retransmit a command. always wait for the
+      result of a transmission in CCECCommandHandler::Transmit()
+    * receive and send full cec_commands, not CCECAdapterMessages in
+      CAdapterCommunication. extract an IAdapterCommunication interface. fixed
+      potentially missed data in CAdapterCommunication
+    * close and delete the connection when the processor thread ends. fixes
+      reconnect after standby (access denied / connection already opened)
+    * don't replace handlers when not initialised, or the primary device's
+      logical addres isn't known yet, which can lead to crashes. don't call
+      handlers directly in CCECProcessor without holding a lock on them
+    * fixed possible crash when command handler were switched while it was
+      being used
+    * keep the mutex locked when calling ReplaceHandlers() in CCECProcessor
+    * win32: also timeout when data is received in SocketRead()
+    * win32: fixed < vista runtime and compilation
+    * win32: ping the adapter and request the firmware version in
+      CUSBCECAdapterCommunication instead of CCECProcesssor. fixes failed
+      libCEC inits
+    * win32: fixed crash on exit in LibCecSharp
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Mon, 6 Feb 2012 14:26:00 +0100
+
+libcec (1.4-3) unstable; urgency=low
+
+  * fixed:
+    * try to ping the device and grab the firmware version until the connect
+      timeout runs out. fixes failed reconnect after standby, when the adapter
+      is still being initialised
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Thu, 27 Jan 2012 13:05:00 +0100
+
+libcec (1.4-2) unstable; urgency=low
+
+   * changed/added:
+     * added a firmware flash script for linux.
+       usage: ./support/cec-flash-device.sh /path/to/firware.hex
+     * refactored threading/locking - added windows native instead of
+       pthread-win32, so we can compile native x64 too
+     * check whether the adapter responds when connecting to it and report the
+       firmware version of the adapter after connecting
+     * moved create-installer.cmd to support/
+     * completely removed AM_SILENT_RULES
+   * interface changes:
+     * compile LibCecSharp against .NET framework 2.0 and sign the assembly
+   * fixed:
+    * only the key release events were sent, not keypresses, which appeared in
+      clients as laggy keypresses
+    * fixed reconnect after standby
+    * wait for active tranmission to finish when opening a connection to the
+      adapter. fixes initialisation errors
+    * set the default transmit timeout properly instead of using 0
+    * fixed possible deadlock because of a negative timeout in
+      CAdapterCommunication::WaitForTransmitSucceeded()
+    * fixed error message in cec-client (unable to open the device on port ...)
+    * exit cec-client after entering bootloader mode
+    * MSGCODE_START_BOOTLOADER doesn't respond with MSGCODE_COMMAND_ACCEPTED
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Thu, 25 Jan 2012 23:28:00 +0100
+libcec (1.4-1) unstable; urgency=low
+
+   * changed/added:
+     * added the vendor id for Sony
+     * always refresh the power state of a device when it hasn't been updated
+       for 30 seconds
+     * do silent builds by default
+   * interface changes:
+     * added optional callback methods to libCEC. enable them by calling
+       EnableCallbacks(ICECCallbacks *callbacks) /
+       cec_enable_callbacks(ICECCallbacks *callbacks). after this method is
+       called, the GetNext...() methods will not return any data
+     * added the same callbacks to LibCecSharp. implement CecCallbackMethods
+       and override the methods in there
+   * fixed:
+     * use the given timeout when trying to open a connection to the CEC
+       adapter
+     * resolved difference between method name in LibCECC.cpp and cecc.h.
+       credits: Doug Johnson
+     * don't transmit physical addresses while holding a lock in CCECProcessor
+     * don't hold a lock when sending an active source message.
+     * unload libCEC when the lib version is invalid
+     * "unused" warnings suppressed     
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Thu, 12 Jan 2012 19:06:00 +0100
+libcec (1.3-3) unstable; urgency=low
+
+   * changed/added:
+     * place in libudev include in an extern C block. fixes compilations on
+       older libudev versions (e.g. on Hardy). closes #2. credits @fbuenemann
+     * added pkg-config to the dependencies list. issue #15
+     * updated README. closes #14
+     * added a script that tests some basic functions of the CEC adapter:
+       /support/cec-test-device.sh
+   * fixed:
+     * don't make libCEC the active source when changing the physical address.
+       don't send active source messages on startup, when not the active source
+       fixes unwanted device power ups
+     * replace the command handler directly after receiving a changed vendor
+       id. change the primary type from recording device to playback device
+       for panasonic TVs
+     * don't send a deck status update when sending an active source message
+       for panasonic TVs
+     * only switch handlers once when using the generic handler
+     * don't switch handlers when not needed
+     * hold a lock in CCECProcessor::SetHDMIPort()
+     * don't send deck status updates when sending an active source message by
+       default
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Thu, 3 Jan 2012 22:48:00 +0100
+
+libcec (1.3-2) unstable; urgency=low
+
+   * changed/added:
+     * copy libcec.dll to the XBMC installation dir when XBMC is found
+     * disable background polling. let the client request this info when needed
+     * update the power status of a device when it's set to
+       CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON
+     * wait for the correct response when requesting something, not just any
+       response
+     * don't keep trying the same command/request after receiving a feature
+       abort message
+   * interface changes:
+     * change the previously unused boolean parameter in volume control methods
+       to bSendRelease, and only send a key release when it's true. default to
+       true
+   * fixed:
+     * don't send the power up/down keypress to listeners when in the initial
+       device state (powered off). fixes unexpected shutdown in XBMC when
+       connecting to the CEC adapter.
+     * send a 'menu state activated' command when starting up. bugzid: 113
+     * don't wait for a response when not needed
+     * don't hold a lock while waiting for a response. fixes failed libCEC
+       inits and slow responses
+     * don't replace a command handler when it's being used. fixes possible
+       crash on startup
+     * don't try to do anything before the processor thread has started
+     * don't transmit active source messages when the physical address is
+       still 0xFFFF
+     * don't init the default handler before the physical address is known
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Thu, 29 Dec 2011 03:05:00 +0100
+
+libcec (1.3-1) unstable; urgency=low
+
+  * changed/added:
+    * make libudev optional. if libudev is not available on linux, adapter
+      autodetection will also not be available. fixes compilation on Hardy/ATV1
+    * added a C++ CLR wrapper for libCEC, so libCEC can be used by any .NET
+      language
+    * added vendor support for LG
+    * added vendor support for Philips
+    * added vendor support for Yamaha
+    * added vendor support for Onkyo
+    * added 'scan' command to cec-client, that displays info about devices on
+      the bus. made all ToString() methods available on the interface.
+    * added '-s' or '--single-command' to cec-client. starting cec-client with
+      this parameter executes a single command in cec-client and does not power
+      on devices on startup and power them off on exit. this way, you can use
+      cec-client in a shell script. since there's some handshaking involved at
+      startup, this is not very fast. to execute a command and only display the
+      result and any error/warning, execute it with
+      RESULT=`echo command | cec-client -s -d 3` (on linux/osx, win32 batch
+      files are a bit different)
+    * added HDMI port ('-p' or '--port') and base device ('-b' or '--base') to
+      cec-client's parameters
+    * handle image view on and text view on
+    * handle routing information and report physical address opcodes
+    * handle audio status updates
+    * send ping and bootloader commands via the output queue
+    * scan the CEC bus for devices when starting libcec
+    * pass all commands that are directed at libcec to listeners
+  * interface changes:
+    * added GetActiveSource()/cec_get_active_source()
+    * added IsActiveSource()/cec_is_active_source()
+    * added GetDevicePhysicalAddress()/cec_get_device_physical_address()
+    * added GetDeviceOSDName()/cec_get_osd_name()
+    * added SendKeypress()/cec_send_keypress() and SendKeyRelease()/
+      cec_send_key_release()
+    * added VolumeUp()/cec_volume_up(), VolumeDown()/cec_volume_down(),
+      MuteAudio()/cec_mute_audio()
+    * added GetActiveDevices()/cec_get_active_devices(), IsActiveDevice()/
+      cec_is_active_device(), IsActiveDeviceType()/cec_is_active_device_type().
+    * added SetHDMIPort()/cec_set_hdmi_port(). devices are now detected on load
+      and when a device with the same physical address is detected, libcec will
+      use the selected hdmi port on that device. should fix source selection on
+      other devices, like an amplifier
+    * added a hook in libcec for physical address autodetection
+  * fixed:
+    * don't request the physical address from the tv (it's always 0x0000)
+    * set the proper ackmask before doing anything else
+    * don't unlock the transmit mutex in CCECProcessor while waiting for an
+      answer
+    * fix device polling
+    * refactor CEC read/write. keep a single lock for all writes, not one per
+      device
+    * ignore other data while waiting for a response
+    * retry failed tranmissions
+    * don't delete a message before it's been sent when starting the bootloader
+    * or when sending a ping
+    * fixed possible segfault when switching the command handler after a vendor
+    * id changed
+    * handle audio opcodes correctly
+    * inactive source should be directly addressed at the TV
+    * don't report a changed physical address when it hasn't changed
+    * routing information sets the stream path, not the physical address
+    * don't scan the whole bus in CCECProcessor::IsActiveDeviceType()
+    * don't request the vendor id from devices that are handled by libcec
+    * mark device status as present when a command was received from a device
+    * always send a power on command in CCECBusDevice::PowerOn()
+    * don't request updates statusses unless needed
+    * report physical address sends 3 parameters, not 2. check whether the
+      device type is correct
+    * devices can send vendor commands from other vendors, so don't assume the
+      device is of a certain vendor when it sends commands with a vendor id
+    * thread safety fixes. bugzid: 19
+    * clear any previous input when opening a connection to the adapter.
+      bugzid: 54
+    * use the correct source address in CSLCommandHandler::HandleVendorCommand()
+    * uncorrected CEC_OPCODE_DEVICE_VENDOR_ID. closes #5
+    * renamed enum methods. fixes potential macro collision with isset().
+      thanks davilla
+    * don't change the active device when receiving stream path changed
+      messages. fixes wrong source selection when powering after the TV.
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Fri, 09 Dec 2011 12:16:00 +0100
+
+libcec (1.2-1) unstable; urgency=low
+
+  * bugfixes:
+    * pass the deck_control command to libcec listeners
+    * check whether the initiator is valid in CCECProcessor::ParseCommand().
+      fixes possible segfault when parsing invalid data
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Sat, 12 Nov 2011 13:36:00 +0100
+
+libcec (1.1-3) unstable; urgency=low
+
+  * fixed return value in CCECProcessor::SetStreamPath(), which prevented
+    active source and menu state from being sent
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Fri, 11 Nov 2011 23:36:00 +0100
+
+libcec (1.1-2) unstable; urgency=low
+
+  * forgot to update the headers to v1.1
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Fri, 11 Nov 2011 18:56:00 +0100
+
+libcec (1.1-1) unstable; urgency=low
+
+  * interface changes:
+    * added logical address autodetection and let libcec handle multiple types
+      simultaniously. for logical address autodetection, you have to use
+      CECInit()/cec_init_typed() instead of CECCreate()/cec_init()
+    * added SetActiveSource()/cec_set_active_source() to the interface.
+      deprecated SetActiveView()/cec_set_active_view()
+    * added SetMenuState()
+    * added PollDevice()/cec_poll_device()
+    * removed duplicate method SetActiveSource() / SetActiveView()
+    * added SetDeckControlMode() and SetDeckInfo()
+  * fixed:
+    * added vendor detection for panasonic and broadcast active view and set
+      menu state when a panasonic device sets the stream path. thanks for the
+      pointer cptcoconut.
+    * added vendor code for pioneer
+    * osd string is 13 chars max. don't send more
+    * send the correct cec version for each device
+    * switch to panasonic specific cec implementation if a panasonic device was
+      detected
+    * send the correct device type in TransmitPhysicalAddress()
+    * send a reply from the correct device when the stream path is requested
+    * opcode 0x80 means the stream path changed, not the physical address
+    * don't poll for a vendor ID in monitoring mode
+    * fixed parameter parsing in SetVendorId()
+    * buffer up commands that are received while waiting for an ack. only send
+      'active source' message for the actual active source
+    * win32: prepend the com port path with '\\.\', so com ports > 9 can be
+      accessed. thanks smolesen
+    * audio systems cannot be an active source, so don't transmit active
+      source message from this device
+    * only send 'active source' when powered on
+    * only set the osd name for the primary device. use default values for
+      others
+    * increase physical address with 0x100 per device
+    * win32: removed unneeded afxres.h include in the resource files, which
+      is not present when using studio express. thanks Ghuron
+    * fixed C headers
+    * mark the active source as active and other devices as inactive
+    * set the power status to 'on' when receiving CEC_USER_CONTROL_CODE_POWER
+    * transmit the menu state as (active) when the stream path is set
+  * changed:
+    * changed copyright of boblight files with permission of the original
+      author
+    * partial handling of audio related opcodes
+    * more consistent log messages
+    * set a device type and name for each CCECBusDevice
+    * keep a power and menu state per device
+    * renamed all Broadcast...() and Report...() methods to Transmit...()
+    * renamed SetOSDString() to TransmitOSDString()
+    * changed debug level of 'did not receive ack' from error to debug
+    * only set the power status to 'on' for the primary device
+    * moved method decriptions from cecc.h to cec.h
+    * only send a power on command when a device isn't on already and set
+      the power state to CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON while
+      powering on
+    * handle CEC_OPCODE_STANDBY
+    * handle CEC_OPCODE_ACTIVE_SOURCE
+    * always start in standby mode and let the tv (or other device) send the
+      power on command
+    * renamed the last few enums
+    * handle deck related opcodes.
+    * added TransmitVendorId(), but only transmit the id if it's not set to 'unknown'
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Fri, 11 Nov 2011 17:42:00 +0100
+
+libcec (1.0-1) unstable; urgency=low
+
+  * interface changes:
+    * set lib interface version back to 1.0 and rename GetLibVersion() to
+      GetLibVersionMajor() and GetMinVersion() to GetMinLibVersion()
+    * added GetLibVersionMinor()/cec_get_lib_version_minor() and set the minor
+      version number to 1
+  * fixed:
+    * samsung's vendor specific remote keypresses don't send key releases. added
+      call to AddKey() directly after the keypress
+    * always reset the button press time in CLibCEC::AddKey()
+    * always wait for a signal in CCECProcessor::Transmit()
+  * changed:
+    * drop shared_ptr and use a normal pointer. removed boost dependency
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Fri, 04 Nov 2011 00:14:00 +0100
+
+libcec (0.8-2) unstable; urgency=low
+
+  * added 'libboost-dev' to build deps
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Tue, 01 Nov 2011 23:31:00 +0100
+
+libcec (0.8-1) unstable; urgency=low
+
+  * interface changes:
+    * added GetDevicePowerStatus()/cec_get_device_power_status()
+    * added GetDeviceVendorId()/cec_get_device_vendor_id()
+    * added GetDeviceMenuLanguage()/cec_get_device_menu_language()
+    * added GetDeviceCecVersion()/cec_get_device_cec_version()
+    * added SwitchMonitoring()/cec_switch_monitoring() to the interface. when
+      monitoring is enabled, the device will only log the data it received,
+      but will not respond to any message
+    * removed timeout parameter in Transmit() and included the ack timeout in
+       the cec_command struct
+    * made the vendor id -> vendor name translation available
+    * made CEC_LOG levels powers of 2
+    * introduced CEC_LOG_TRAFFIC log level
+  * fixed:
+    * set the correct ackmask on startup
+    * wait for ack while keeping a lock
+    * wait for the processor thread to start before continueing on startup
+    * wait for messages to be transmitted before continueing in
+      CCECProcessor::Transmit()
+    * only set the logical address once when it has changed
+    * correct source for broadcast messages
+    * win32: create Release type installer
+  * changed:
+    * make all reads and write in CAdapterCommunication go through buffers.
+    * poll for a vendor ID of connected devices and switch to a non-standard
+      CEC implementation if needed.
+    * added vendor detection of Samsung and LG devices
+    * handle samsung remote command 'return'
+  * cec-client:
+    * added -la and --logical-address to the command line params
+    * added -d and --log-level params to cec-client
+    * added -sf and --short-log-file, which only log the actual messages, not
+      the level and timestamp
+    * added -f and --log-file parameters to cec-client
+    * added option to change the log level to cec-client
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Tue, 01 Nov 2011 22:58:00 +0100
+
+libcec (0.7-1) unstable; urgency=low
+
+  * send a keypress with 0 duration when a key is pressed and with a duration
+    set when it's released
+  * added SetOSDString() to the interface (not supported by all tvs)
+  * fixed: 'routing change' is a broadcast message. log routing changes, but
+    don't send a 'set active view' message, so the active input won't be
+    changed
+  * log keypresses in the debug log
+  * added 'pa' command to cec-client, to change the physical address
+  * added SetPhysicalAddress()/cec_set_physical_address() to the interface, so
+    the HDMI port number to use can be changed
+  * fixed: put the message processing code from WaitForAck() in ParseMessage().
+    fixes missing incoming message logging of non-data messages when not
+    waiting for an ACK
+  * added 'txn' command to cec-client. same as 'tx', but doesn't wait for ACK
+    before returning
+  * fixed: set initiator and destination first in cec_command::push_back().
+    fixes 'tx' command in cec-client
+  * fixed: keep trying to connect while iTimeout isn't reached (default 10
+    seconds). fixes exit with a 'permission denied' error when the device isn't
+    ready yet. remove CEC_SETTLE_DOWN_TIME
+  * fixed: don't call SetActiveView() when reporting the power status. fixes
+    loop which causes some TVs to report failed connections
+  * fixed: eom was not being parsed when receiving MSGCODE_FRAME_DATA. fixed.
+  * fixed: add the device type as parameter when sending the physical address.
+    thanks bobo1on1
+  * fixed: typo in libcec.pc.in
+  * added optional strLib parameter to LoadLibCec(), so the location of the
+    shared library can be specified
+  * only link cec-client against ld. use AC_SEARCH_LIBS instead of AC_CHECK_LIB
+  * use int instead of bool on the public C interface and remove stdbool.h include
+  * renamed: CECExports.h => cec.h, CECExportsC.h => cecc.h, CECLoader.h =>
+    cecloader.h, CECTypes.h => cectypes.h
+  * updated debian package. split up libcec and libcec-dev
+  * fixed: changed to use dlopen instead of static linkage. shuffled headers a
+    bit. bumped interface to version 7
+  * removed 'rt' from libraries. it's not needed (anymore)
+  * fixed: reset the active view after a routing change. issue #1
+  * fixed: changed attached license to be GPLv2 instead of GPLv3 this was an
+    error as libCEC is licensed GPLv2 not GPLv3 thanks @garbear
+  * added contributors link
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Fri, 14 Oct 2011 17:34:00 +0200
+
+libcec (0.6-1) unstable; urgency=low
+
+  * bumped interface version to 6
+  * fixed packet output (reporting the OSD name correctly now)
+  * refactored packet structs: split up in cec commands and adapter messages
+  * fixed i/o timings
+  * added Darwin support (thanks Davilla!)
+  * fixed WaitForAck()
+  * fixed possible deadlock when starting a new thread
+  * implemented vendor id and device class parsing. full detection will follow
+  * added "on" and "standby" commands to the test client
+  * retransmit packets if needed
+  * fix GetTimeMs() on linux
+  * added timestamp to log messages
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Sun, 09 Oct 2011 15:15:00 +0200
+
+libcec (0.5-1) unstable; urgency=low
+
+  * bumped interface version to 5
+  * don't pass std::string and std::vector accross the interface
+  * fixed heap corruption crashes on windows
+  * fixed some memory leaks
+  * reset all structs to default values before doing with them
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Fri, 07 Oct 2011 22:00:00 +0200
+
+libcec (0.4-3) unstable; urgency=low
+
+  * fixed reconnect
+  * fixed some threading related bugs
+  * fixed deadlock on exit
+  * fixed wrongly reported physical address
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Thu, 06 Oct 2011 00:19:00 +0200
+
+libcec (0.4-2) unstable; urgency=low
+
+  * fixed int parameter sizes and some signed/unsigned warnings
+  * check whether m_port isn't NULL in ReadFromDevice
+  * stop the processor thread and delete the CSerialPort instance on exit
+  * added mutex in CSerialPort
+  * fix segfault on exit
+  * renamed libPlatform -> platform.
+  * stuck everything from libCEC in the CEC namespace to avoid namespace
+    polution
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Tue, 04 Oct 2011 23:45:00 +0200
+
+libcec (0.4-1) unstable; urgency=low
+
+  * bumped interface version to 4
+  * timeout parameter removed from Close()/cec_close(). return type changed to
+    void
+  * added cec_destroy() method
+  * removed timeout parameter from Transmit()
+  * change the default argument of PowerOnDevices() to CECDEVICE_TV
+  * removed PowerOffDevices(). use StandbyDevices() instead
+  * removed obsolete methods from the interface
+  * fixed bug: pthread_cond_wait was called without the mutex locked
+  * fixed possible deadlock: don't send messages and wait for an ack with the
+    mutex locked in CCECParser
+  * created a separate reader thread and fixed the 'lock timeout' bug
+  * testclient: use CECDEVICE_TV instead of the default argument
+    (CECDEVICE_BROADCAST) for PowerOnDevices() and PowerOffDevices()
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Tue, 04 Oct 2011 00:48:00 +0200
+
+libcec (0.3-1) unstable; urgency=low
+
+  * added device detection support for Windows
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Sun, 02 Oct 2011 12:09:33 +0200
+
+libcec (0.2-1) unstable; urgency=low
+
+  * added a Close() method to the interface
+  * Added CEC command that were received by the adapter in a buffer that can be
+    read by a client with GetNextCommand()/cec_get_next_command(). added a
+    'help' command to the test client, that displays all available commands
+  * Fixed setting the ackmask. deprecated SetAckMask()/cec_set_ack_mask(). use
+    SetLogicalAddress()/cec_set_logical_address() instead. add 'la' command to
+    the testclient to set the logical address of the cec adapter
+  * Added optional logical and physical address parameters to
+    LoadLibCec()/cec_init() on the interface. fixed wrongly placed namespace
+    close tag in CECExports.h. updated interface documentation. bumped
+    interface version to 2.
+  * fixed hardcoded ackmask in SetAckMast(). set a shorter display name in the
+    test client. the previous one was too long and being rejected
+
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Fri, 28 Sep 2011 01:33:00 +0200
+
 libcec (0.1-1) unstable; urgency=low
 
   * Initial release v0.1
 
- -- Lars Op den Kamp <info@pulse-eight.com>  Wed, 28 Sep 2011 21:42:48 +0200
+ -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Wed, 28 Sep 2011 23:55:48 +0200