libcec (1.5-3) unstable; urgency=low

  * fixed:
    * OS-X compilation
    * default to firmware version 1 after 3 tries. some versions didn't send a
      version.
    * fixed cec-config win32 compilation

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Sat, 03 Mar 2012 15:21:00 +0100

libcec (1.5-2) unstable; urgency=low

  * changed/added:
    * added Toshiba's vendor id, and set the device ID of the primary device to
      Toshiba's and transmit it when starting
    * lock in SyncedBuffer
    * added a timeout to StopThread()
    * also add commands to unsupported features when receiving
      CEC_ABORT_REASON_REFUSED
    * cec-config-gui: set cbPortNumber enabled when the physical address
      override isn't checked instead
    * cec-config-gui: added support for the new 'send inactive source' setting

  * interface changes:
    * added an 'send inactive source' option to libcec_configuration, only
      supported by client/server 1.5.1 and up. bugzid: 439
    * added a command to the interface to start the bootloader directly,
      without going through all checks. bugzid: 218
    * LibCecSharp: implemented support for the new 'send inactive source'
      setting

  * fixed:
    * don't send an updated configuration when libCEC hasn't been initialised
      fully. bugzid: 459
    * don't send an updated configuration back when initialising. let the
      client call the GetCurrentConfiguration() method. bugzid: 459
    * configuration updates from libCEC. bugzid: 459
    * fixed accidental double deref. the method parameter already does that.
      github #24
    * use CLOCK_MONOTONIC for timing info, since gettimeofday is affected by
      ntp and by manually adjusting the system time
    * the timeout value of pthread_cond_timedwait has to be referenced to
      CLOCK_REALTIME
    * don't add data to the input buffer in CUSBCECAdapterCommunication before
      it's fully initialised
    * fixed return value of CUSBCECAdapterCommunication::ParseMessage(). fixes
      messages not being parsed in certain occasions
    * don't try to transmit when the processor is being stopped
    * set the server version in the LibCEC's constructor, since this is
      checked by clients. fixes 'invalid libCEC version' popup when inserting
      the adapter
    * don't wait for the full timeout to pass in CCECProcessor::
      OpenConnection(), but retry to connect 2 times. fixes 'port busy' errors
      when initialising libCEC. bugzid: 436
    * use the correct Sleep() method in CCECProcessor::OpenConnection(). the
      thread hasn't been started there yet, so the sleep wasn't working. fixes
      'device or resource busy' when plugging in the adapter. bugzid: 436
    * check the adapter ping and firmware before starting the reader thread, so
      we really leave the com port alone for a second when it fails because of
      a busy error. bugzid: 436
    * ensure that the connection is really closed before retrying to connect.
      bugzid: 436
    * LibCecSharp: recreate the delegates properly when (re)connecting to
      LibCecSharp

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Tue, 28 Feb 2012 21:19:00 +0100

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

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Wed, 28 Sep 2011 23:55:48 +0200
