telepathy-gabble 0.8.8 (2009-11-09)
===================================

The “Juice, toast, milk: an unholy trinity of cruel denial” release.

Fixes:

• The StreamedMedia.ImmutableStreams property on channels may now take
  values other than False. (wjt)

• The default resource is now unique to the machine Gabble is running
  on, rather than being randomly generated for each connection. Fixes
  fd.o#23630: “Per-connection resource randomization increases the
  window in which you lose messages”. (wjt)

telepathy-gabble 0.8.7 (2009-10-14)
===================================

The "unpleasant grinding noise" release.

Fixes:

• Don't trust other people's <message/> IDs to be globally unique: in
  particular, Google Talk uses simple incrementing integers (wjt)

• Use the correct marshaller for the pre-presence signal, fixing a crash on
  64-bit platforms (wjt)

telepathy-gabble 0.8.6 (2009-10-09)
===================================

The “two eggs, half a cup of flour, four tons of beef, and a leek” release.

Dependencies:

• telepathy-glib 0.7.37 or later is now required.

Enhancements:

• The Immutable_Streams pseudo-capability and ImmutableStreams property for
  Streamed Media channels, which indicate that video cannot be added after an
  audio-only call has started, are now implemented (primarily for Google Video
  Chat contacts).  UIs may use these flags to determine whether to show
  separate “audio call” and “video call” options, or a single “call” option,
  for example. (Will)

• The undrafted InitialAudio and InitialVideo properties are now implemented
  (with the DRAFT variants still present and functional for
  backwards-compatibility). (Will)

Fixes:

• Don't repeatedly request our own vCard when we don't have an avatar, and fix
  an assertion. fd.o#23684 (Alban)

• The connection process now times out after a minute if the server stops
  responding. Fixes fd.o#24135 (Will)

• Don't wait for more capabilities if we already know a contact's callable.
  (Will)

• We now remember what our own current and past capabilities hashes mean, which
  prevents us unnecessarily discoing other Gabbles, and works around an iChat
  bug where returning <item-not-found/> for a disco request just makes it try
  again and again. (Will)

telepathy-gabble 0.8.5 (2009-10-02)
===================================

The “a page out of Remembrance of Things Past and a blowtorch with which
to set it on fire” release.

Fixes:

* Don't re-fetch our own avatar in a loop when connecting to Google
  Talk. This should fix #23684 once and for all. (Alban)

* Fix a crash introduced by the vCard-related fixes in 0.8.4. (Alban)

telepathy-gabble 0.8.4 (2009-09-25)
===================================

The “bourgeois traditional omelette form” release.

Highlights:

* Jingle call interoperability with Pidgin and Gajim.

Fixes:

* When receiving a file, Gabble now closes the local socket once all the data
  has been written. (Guillaume)

* fd.o #24043: Doesn't parse candidates in a Jingle session-accept stanza
  This fix lets us interoperate with Pidgin's Jingle implementation. (Sjoerd,
  David)

* fd.o #24023: Accepting initial streams for a call is racy. (Sjoerd, Daf)

* fd.o #20629: DBus events in tests should contain full path. (Daf)

* fd.o #22795: jingle/google-relay.py is secretly made of cheese. (Daf)

* fd.o #23903: Gabble crashes in File Transfer. (Guillaume)

* fd.o #23685: build Gibber with fno-strict-aliasing so asyncns.c builds with
  new GCC. (Guillaume)

* fd.o #20565: Contacts should be initially offline and not unknown. (Daf)

* When members are removed from a call due to a stream error, always indicate
  so. (Daf)

* Fix corner cases in SetLocation()'s language handling. (Daf)

* fd.o #24195: Doesn't think clients without google p2p tranport are media
  capable. This fix lets us interoperate with Gajim's Jingle implementation.
  (Sjoerd, Daf)

* Make stun-server.py not fail if the default STUN server hostname can't be
  resolved. (David)

* fd.o #23684: Gabble advertizes an avatar's sha1 in its presence stanza
  without following XEP-0153. (Alban)

* Honour errors that tell us to wait and try again when fetching vCards.
  (Alban)

telepathy-gabble 0.8.3 (2009-09-10)
===================================

The “one cigarette, some coffee, and four tiny stones” release.

Enhancements:

* fd.o #23681: Allow setting presence on a connection before it goes online.
  This avoids e.g. going from Available -> Busy immediately when signing on.
  (daf)

Fixes:

* fd.o #23684: fix handling of avatar conflict with several resources, and
  a possible infinite ping-pong of presence stanzas from the server (albanc)

* Time out disco requests after 20, not 20,000, seconds! (grundleborg)

* Correctly respond to disco requests for video-v1 bundle, avoiding a loop
  when iChat blindly retries failed disco requests (smcv)

* Fix Requested and State properties of muc D-Bus tubes that we previously
  created and are still present when we re-join the muc. These tubes are now
  listed in Tubes.ListTubes(). fd.o #23678. (cassidy)

* Don't send the same disco request to the same (full) JID more than once. fd.o
  #23841. (wjt)

* Update the Jingle raw-udp and ice-udp namespaces we claim to support to the
  current version. (wjt)

* fd.o #23348, #23349: fix compilation on NetBSD by including more headers
  (Thomas Klausner)

* fd.o #21327: force ISO date format in ChangeLog (wjt)

* Reduce the size of the ChangeLog by truncating at version 0.6.0 and not
  including diffstats (previously, the changelog.gz in our Debian packages
  was larger than Gabble itself!) (smcv)

telepathy-gabble 0.8.2 (2009-09-03)
===================================

The “tape two fried eggs over your eyes and walk the streets of Paris for an
hour” release.

Enhancements:

* Improve jid validation, so that obviously-invalid jids are rejected.
  (daf)

Fixes:

* Don't crash when a vCard set fails, and there are edits pending. This
  can happen if you're trying to set your avatar and then disconnect.
  (daf)

* fd.o#23013: ContactCapabilities.SetSelfCapabilities can crash gabble
  with wrong parms (sjoerd)

* Fix parsing of incoming session accept from Google Video Chat. This
  should make outgoing calls to Google Video Chat users work, as well as
  incoming calls. Hooray! (wjt, with help from sjoerd and Olivier Crête)

telepathy-gabble 0.8.1 (2009-08-20)
===================================

The “five pounds of cherries and a live beaver” release.

Fixes:

* fd.o#22535: Gabble no longer crashes if you disconnect while it's
  trying to start a Google relay session for a call. This should have
  been fixed in 0.7.31, but it's really fixed now. :-) (wjt)

* Fix an occasional crash when PEP requests time out, or are cancelled
  when you disconnect. (daf)

* Correct an assertion about vCard edits not to fire incorrectly. (daf)

* Clarify some correct-but-confusing behaviour in libjingle 0.3 mode,
  which fixes a Coverity false-positive. (smcv)

telepathy-gabble 0.8.0 (2009-08-18)
===================================

The “place a chair facing the oven and sit in it forever” release. This is the
first release in the 0.8 stable series.

Dependencies:

* telepathy-glib >= 0.7.34 is now required as Gabble implements the
  Location API.

Enhancements:

* Location and Debug are now implemented as stable interfaces.

* Timeouts are synchronised to the second where possible, leading to fewer
  wakeups.

Fixes:

* Fix race condition introduced by fix for fd.o #22023.

* Make vCard request less likely to time out.

* Fix a bug where a vCard request failure could cause SetAvatar or SetAliases
  not to return.

telepathy-gabble 0.7.32 (2009-08-09)
====================================

The “Leafy Green Fetish” release.

Fixes:

* fd.o #21153: Remove session initiation and content add timeouts from
  the Jingle code; this should be client policy.

* fd.o #22023: Correctly avoid trying to set your vCard twice at the
  same time.

* Correctly parse file-transfer timestamps. References fd.o #23168.

* Correctly fall back to stun.collabora.co.uk if neither the user nor
  the server has any better STUN server suggestions.

telepathy-gabble 0.7.31 (2009-07-22)
====================================

The “Calypso Wash Motion is the sound of agitated love” release.

Enhancements:

* The XML sent and received by Gabble is now exposed by the Debug interface.
  (Jonny Lamb)

Fixes:

* Audio codecs' names are forced to match the case expected by the Google Talk
  desktop client, which is incorrectly case-sensitive. (wjt)

* fd.o#22535: Gabble no longer crashes if you disconnect while it's trying to
  start a Google relay session for a call. (wjt)

* fd.o#22629: Gabble no longer crashes if the initiator of a tube receives data
  before it is connected to the application's socket. (wjt)

* fd.o #22858: Gabble no longer erroneously hides Google Talk contacts who were
  automatically added to your roster, and contacts who Google incorrectly
  thinks are aliases for another JID. (wjt)

* fd.o #22858: Removing a contact from 'subscribe' while they're in
  remote-pending ("Oops! I didn't mean to subscribe to Randall's presence!")
  now works. This is on top of the fix for fd.o #21547 in 0.7.28, which made
  removing the contact from 'stored' work.  Previously, while the subscription
  request was correctly rescinded, Gabble didn't expose it correctly on the
  'subscribe' channel. (wjt)

* fd.o #22858: Contacts no longer "flicker" to and from
  subscribe:remote-pending when you subscribe to them on a Google Talk account.
  This was a regression in 0.7.28, caused by fixing fd.o #21547. (wjt)

* Gabble no longer crashes if called by a client which is, or pretends to be,
  an old version of Google Talk (such as gtalk2voip.com, which is automatically
  used if a SIP user on sipphone.com calls a SIP URI that looks as though it's
  meant to be a gmail.com JID). (smcv)

* Fix a header guard in debug.h. (Andres Salomon)

* Move GThread initialization to the very beginning, since it's meant to be done
  before *any* GLib API usage. (cassidy)

telepathy-gabble 0.7.30 (2009-06-29)
====================================

The “sample that pinecone for an hour” release.

Enhancements:

* Gabble now supports making and receiving video calls to contacts using Google
  Video Chat <http://mail.google.com/videochat>. You'll need an H264 codec.
  We're aware of an issue where sometimes the Google client never sends us
  video; we're investigating it, and hopefully it'll be resolved soon.

* The default port is now 5222, rather than unset. If you specify port=5222 and
  don't specify a server or old-ssl, Gabble will make an SRV lookup anyway:
  this is kinder to UIs that want to show the default XMPP port as 5222.

* Gabble now advertises support for up-to-date Jingle namespaces, and
  implements the raw UDP and ICE-UDP transports as well as the non-standard
  Google Talk P2P transport. (fd.o #22458 and #13158, respectively.)

Fixes:

* fd.o #22369: Gabble now replies to the XMPP resource that's sending you
  messages, rather than always sending messages to the peer's bare JID.

* The keepalive-interval parameter actually works now (previously, setting it
  caused a critical warning, and did not change the actual value from the
  default).

telepathy-gabble 0.7.29 (2009-06-19)
====================================

The “dancing in the shadows of bad modern art” release.

Enhancements:

* Implement o.fd.Tp.Debug interface.

* Added a "keepalive-interval" connection parameter (signature 'u'), allowing
  the time between keepalive pings to the server to be configured (or disabled,
  by specifying 0).

Fixes:

* fd.o #21966: Gabble no longer crashes if you use the Hold interface before a
  call starts. You can put a call on hold even before it's initiated. You can
  also put an incoming, unanswered call on hold, but you have to unhold it
  before accepting the call.

* The above also fixes (in passing) a reported issue where calls are signalled
  as having been put on hold just before they terminate.

* fd.o #20807: Gabble no longer crashes on unknown Jingle actions.

* fd.o #16886: You can now leave MUCs with a part message by calling
  RemoveMembers([self_handle], "this room is boring"). Gabble now complies with
  telepathy-spec 0.17.21's requirement that you can always remove yourself from
  a group if you're in it, fixing fd.o #20728.

* fd.o #18951: Gabble no longer sends <gone/> to contacts it hasn't previously
  sent typing notifications or messages to.

* fd.o #22209: Gabble no longer confuses Jingle sessions which have the same
  session ID but are to different contacts.

* fd.o #20763: Gabble now correctly namespaces Jingle contents by their
  creator, rather than (buggily) attempting to make the initiator's content
  win.

* fd.o #22326: Gabble now correctly handles presence stanzas for bare JIDs that
  contain capabilities, rather than ignoring them or (in really unlikely cases)
  crashing.

telepathy-gabble 0.7.28 (2009-06-01)
====================================

The "npc1 becomes vampire/communist" release.

Dependencies:

* telepathy-glib >= 0.7.31 is now required as Gabble implements the
  new tube API.

Enhancements:

* Implement the Credentials access control with UNIX sockets in stream tubes.

* Implement the Port access control with Inet4 and Inet6 sockets in stream
  tubes.

* Implement the final, stable new API for tubes. The NewConnection signal has
  been renamed to NewRemoteConnection and now has a Connection_ID argument.  The
  StreamTube channel type now implements the NewLocalConnection and
  ConnectionClosed signals.  DBusTube.{Offer,Accept} now have an access_control
  argument; Gabble implements Credentials and Localhost.

* In StreamTube, UNIX sockets created with the Localhost access control are
  usable by any user of the system.

* When no resource is explicitly specified, Gabble will now use a randomized
  resource ("Telepathy.[random numbers]") rather than just "Telepathy". This
  helps users who don't know anything about XMPP to be able to connect from
  multiple Telepathy-powered clients at once. (fd.o #21297)

* Gabble now implements the 'stored' contact list, added in telepathy-spec
  0.17.12. It no longer implements the 'known' list, which was never standard;
  we don't think this will break clients, since other CMs (such as
  telepathy-haze) never implemented 'known'. (fd.o #19901)

* Incoming call state notifications (ringing, on hold, etc.) are now handled in
  line with the latest draft of XEP-0167. (fd.o #21836)

Fixes:

* fd.o #21684: Don't crash in SessionHandler.Ready() if streams is NULL

* fd.o #21817: Sometimes crashes upon receiving an empty <nick/> update.

* fd.o #21547: Contacts removed from roster stay on subscribe:remote-pending.
  It's conceivable that this fix could cause regressions, since the bug was
  introduced while working around some GTalk roster bugs. As discussed on the
  fd.o bug, the bug being worked around appeared to be to do with roster
  updates when a contact accepts your subscription. That workaround has not
  been removed, so with any luck this should be okay.

* fd.o #21878: Adding a new stream while a call's on hold makes it fall back to
  Pending Hold.

telepathy-gabble 0.7.27 (2009-05-07)
====================================

The “I'm in a skip!” release.

Dependencies:

* We now explicitly depend on gthread-2.0 >= 2.16 as we need to
  initialize threads for libsoup's benefit (fd.o #20937)

Enhancements:

* Support file transfer resume.
* Use ContactCapabilities draft to communicate file transfer support.
* Implement latest draft of new API for tubes. The
  {Offer,Accept}{DBus,Stream}Tube methods and the
  StreamTubeNewConnection signal have been renamed.
* The build system now uses Shave to produce kernel-style easy-to-read
  output from make. (You need to explicitly enable this with
  ./configure --enable-shave.)
* It is now possible to request StreamedMedia channels with audio and/or
  video from the start, using the InitialAudio and InitialVideo
  properties, and to see from a channel's immutable properties (as also
  seen in NewChannels) whether it (initially) contained audio and/or
  video. (References fd.o#20830.)

Fixes:

* Include private D-Bus tube and all MUC tube channels in Requests's
  Channels property.
* StreamedMedia channels' group flags are now more spec-compliant.
  (Fixes fd.o#20578.)
* When a contact doesn't have an alias, their full JID is used as the
  fallback, rather than the local part. (Fixes fd.o#21295.)
* When setting an avatar fails, an appropriate error is now emitted.
  (Fixes fd.o#20442 (not #20422 as the git history claims).)
* The lifecycles of several Jingle-related objects have been cleared up,
  fixing a number of Jingle crashes.

telepathy-gabble 0.7.26 (2009-04-08)
====================================

The “What have you done with my hat?” release.

Enhancements:

* When placing a streamed media call on hold, transmit the status change
  to the peer.
* Relatedly, expose incoming Ringing and Hold notifications through the
  CallState interface.
* Raise Offline or NotCapable (rather than NotAvailable) when methods in
  Jingle calls fail for one of those reasons.
* Implement the Avatar interface's D-Bus properties, as introduced in
  spec version 0.17.22

telepathy-gabble 0.7.25 (2009-03-04)
====================================

The “my buffered linear sock-pairing algorithm is unstoppable!” release.

Dependencies:

* telepathy-glib >= 0.7.29 is now required so Gabble emits the correct
  D-Bus errors. This is also needed to be able to implement connection
  param of type 'as'.

Enhancements:

* Discover SOCKS5 proxies on the connection and try to use them when offering
  a SOCKS5 bytestream.
* Add fallback-socks5-proxies connection parameter to hardcode SOCKS5 proxies
  to use as fallback. Set lot of public proxies as default.
* Use IPv6 addresses when trying to establish a SOCKS5 bytestream.
* Implement Channel.Type.FileTransfer. This means you can now send and receive
  files using Gabble. If you are an Empathy user be sure to have at least
  version 2.26.0.1. Older versions will crash if you try to send a file;
  see http://bugzilla.gnome.org/show_bug.cgi?id=575681 for the details.
* Gabble now gives useful reasons in MembersChanged for Jingle calls,
  rather than always emitting None as the reason.

telepathy-gabble 0.7.24 (2009-03-23)
====================================

The "glass eye, a flash of green" release.

Enhancements:

* All messages on the Messages interface now have a message token, using the
  XMPP id attribute. Identifiers for messages that Gabble sends, and those it
  receives that lack one, are generated with libuuid if available, or with a
  unique-ish time-based fallback otherwise.

Fixes:

* Fix SOCKS5 implementation to actually respect XEP-0065.
  One of the changes would cause interoperability issues with
  older, buggy, Gabble implementing SOCKS5 (0.7.{18,19,20,21,22}):

  - A stream tube (muc or private) offers from a new Gabble to an old one will
    takes 30 extra seconds trying to connect and will then timed out and
    fallback to IBB.

  - A MUC stream tube offered from an old Gabble to a new one will fail
    during SOCKS5 negotiation and then fallback to IBB.

  - A private stream tube offered by an old Gabble to a new one will appear
    to connect properly, but the application offering the tube will receive
    garbage from the tube socket.

  - Same problem with a private D-Bus tube offered by a new Gabble to an
    old one: the receiver of the tube will receive wrong data.

  These problems only appear when a SOCKS5 connection is possible, so
  generally when both peers are on the same network. If they are not,
  SOCKS5 connection will probably be impossible because of NAT's and
  they'll fallback to IBB as usual.

* Don't crash if Google relay responses arrive after the call has ended (fd.o
  #20764).

* Relax overly-strict checks made by CodecsUpdated.

telepathy-gabble 0.7.23 (2009-03-13)
====================================

The "bolt the door and pace the floor" release.

Dependencies:

* telepathy-glib >= 0.7.26 is now required (as it was for 0.7.22, in fact).
* libsoup >= 2.4 is now required

Enhancements:

* Add functionality to ask for a Google-specific relay session, so Google Talk
  users can use Google's relay servers to make and receive Jingle calls

* The CodecsUpdated method, introduced in spec version 0.17.19 and used to send
  updated parameters for codecs such as Theora and H264 to the other party in a
  call, is now implemented; incoming description-info stanzas containing
  updated codec parameters are exposed as emissions of SetRemoteCodecs.

Fixes:

* Fix flow control in tubes when using a SI fallback bytestream

* Implement flow control in bytestream IBB. This should avoid flooding the
  XMPP connection when trying to send a large amount of data using IBB.

* Make GetHandle() correspond to the TargetHandle[Type] properties on streamed
  media channels, and further improve Jingle regression test coverage.

telepathy-gabble 0.7.22 (2009-03-02)
====================================

The "box without a good key" release.

Dependencies:

* telepathy-glib 0.7.24 is now required

Enhancements:

* Resolve STUN servers' IP addresses as required by telepathy-spec changes
  currently under development

* Add NATTraversal, STUNServers and CreatedLocally properties to
  Media.StreamHandler as required by telepathy-spec changes currently under
  development

* Add fallback-stun-server, fallback-stun-port ConnectionManager parameters

Fixes:

* Correctly deal with streams that are added after a call is accepted, fixing
  video streaming in calls that start off audio-only

* fd.o #20102: fix byte ordering of port in GibberListener

* Drain some swamps in Jingle call handling for better maintainability,
  and improve Jingle regression test coverage

telepathy-gabble 0.7.21 (2009-02-19)
====================================

The "what?! why do I have flowers outside of my window?" release.

Dependencies:

* telepathy-glib 0.7.23 is now required

Enhancements:

* Implement new tube API for muc stream tubes
* Implement new tube API for 1-1 and muc D-Bus tubes
* Implement the Messages interface for Text channels.

Changes:

* In multi-user chats, the point at which Sent is emitted has changed.
  Previously, Sent was emitted when the message was echoed back to you by the
  server; now, it is emitted (as is Messages.MessageSent) when you send the
  message. When the message is echoed, a delivery report is emitted with
  Messages.MessageReceived, and Received is emitted with an empty body and the
  Non_Text_Content flag set. Clients that don't understand the Messages
  interface should just immediately ack the ID in that signal.

  If clients want to preserve the total ordering of MUC messages, they now need
  to care about the Messages interface and watch out for the delivery report.

Fixes:

* Various tubes related leaks
* fd.o#20003: fix a crash starting Jingle calls on some 64-bit platforms
* fd.o#20133: fix various bugs where idle callbacks outlived their user-data.
* Don't start sending video when the other side adds a video stream.

telepathy-gabble 0.7.20 (2009-01-02)
====================================

The "crêpes du belge" release.

Enhancements:

* Implement the draft version of Location from telepathy-spec 0.17.19
* Announce generic tube capabilities when contacts support tubes

Fixes:

* Don't get confused if MUC services auto-rename us (as much as is possible)
* Don't get confused if we have to change our own nick in order to join a MUC
* Set the correct actor when Jingle sessions are terminated
* Don't omit offline, unknown and error from Statuses and GetStatuses()
  (regression in 0.7.19)
* Close and ChannelClosed signals are now fired when a tube is closed (new API)

telepathy-gabble 0.7.19 (2009-01-29)
====================================

The "redecorated" release.

Fixes:

* Don't crash when closing a muc channel containing an closed D-Bus tube.
* Don't resurrect removed streams if the call responder includes them in
  session-accept
* Don't crash in calls if using glib with debugging enabled (fd.o #19327).
* Don't crash when removing contact from known list (fd.o #19524).
* Fix D-Bus muc tubes (dev.sugarlabs.org #60).
* Fix refcount leak in jingle code (fd.o #19385).
* Don't crash if "offline" presence status is requested.
* Raise the appropriate error from RequestHandles for telepathy-spec 0.17.18
  compliance (fd.o #19611).

telepathy-gabble 0.7.18 (2009-01-06)
====================================

The "The Orchestral Tubular Socks" release.

Enhancements:

* Implement SOCKS5 bytestreams (XEP-0065) in stream tubes.

* Implement a stream initiation fallback mechanism allowing to use IBB if
  we can't connect to peer using SOCKS5.

Fixes:

* Don't crash on setting presence if there are open MUC Tubes.

* Stream tube channel advertises the immutable channel properties,
  including those not on the Channel interface.

telepathy-gabble 0.7.17 (2008-12-14)
====================================

The "I accidentally an entire call *and* MUC" release.

Dependencies:

* dbus 1.1.0 (D-Bus Tubes are no longer conditionally compiled)

* dbus-glib 0.78 (fixes support for complex types in hashtables)

Enhancements:

* Add support for the new draft ContactCapabilities spec to communicate tube
  capabilities.

Fixes:

* Incoming Jingle calls are no longer automatically accepted when the call is
  connected and the local codecs are ready.

* Incoming MUC invites are no longer automatically accepted when changing your
  presence.

* fd.o #18918: Send codec parameters according to XEP-0167.

* Various Jingle tweaks.

telepathy-gabble 0.7.16 (2008-12-02)
====================================

The "what could possibly go wrong" release.

This release contains the reworked Jingle engine with support for latest
Jingle draft (XEP-0166 v0.32), and Google's Jingle variants as used in
their desktop client and recently launched Googlemail client.

This release has no known regressions, but as we have done extensive changes
to the Jingle engine, you might want to restrict this release to experimental
distributions like Debian experimental and Fedora rawhide for now.

Enhancements:

* fd.o #15908: refactor Jingle state machine

* fd.o #15907: Update real-Jingle implementation to XEP-0166 v0.25

* fd.o #13159: support current Google Talk protocol

* Misc Tubes-related enhancements and fixes

Fixes:

* fd.o #18404: fix race condition in tests/twisted/roster/ensure.py

* Fixes for double freeing in dispose in channel managers

telepathy-gabble 0.7.15 (2008-11-06)
====================================

The "brunch and fireworks" release.

Enhancements:

* fd.o #17770: remove some redundant handle validation from channel managers

* Add the immutable Interfaces property to all NewChannels signals and
  CreateChannel/EnsureChannel results

Fixes:

* Spec compliance: don't advertise StreamedMedia channels with handle type
  NONE as requestable (they can be created, but not with CreateChannel or
  EnsureChannel, so they shouldn't be in RequestableChannelClasses)

* Ignore candidates > 1 in Jingle rather than rejecting them, for
  compatibility with Farsight 2 (in which RTCP produces a second candidate)

telepathy-gabble 0.7.14 (2008-11-04)
====================================

The "exterminate, annihilate, destroy" release.

Dependencies:

* telepathy-glib 0.7.18

Enhancements:

* Comply with specification 0.17.14
  * depend on telepathy-glib 0.7.18
  * implement the Destroyable interface on IM channels
  * set the RESCUED flag on messages in respawned IM channels
  * set the SCROLLBACK flag on discussion history in MUC channels

* Start to implement the new Tubes API draft (one Channel per Tube)

Fixes:

* fd.o #16797: Don't send the close message for Tubes twice

telepathy-gabble 0.7.13 (2008-10-28)
====================================

The "so you quote love unquote me" release.

Fixes:

* Fix a regression breaking MUC D-Bus tubes.
* Don't invite Gadget to our OLPC activity if we didn't ask it to publish
our information.
* Don't fire presence signals for Gadget presence.

telepathy-gabble 0.7.12 (2008-10-23)
====================================

The "15 network cables in individual boxes" release.

Enhancements:

* OLPC View: contacts in views are not announced as being online.

Fixes:

* fd.o #13891: AcceptDBusTube returns NULL with 1-1 D-Bus tube.

telepathy-gabble 0.7.11 (2008-10-22)
====================================

The "HAPPY CAPS LOCK DAY" release.

Enhancements:

* OLPC View: use the Requests API and make the views into channels

* Optionally run dbus-monitor alongside regression tests

* Add --disable-Werror to configure.ac (copied from telepathy-glib), useful
  when building Debian packages of prereleases using cdbs (which implicitly
  turns on -Wunused-parameter)

Fixes:

* sha1_bin(): fix a memory leak, and assertion failures on 64-bit

* D-Bus tubes: fix an assertion in libdbus during dispose

telepathy-gabble 0.7.10 (2008-10-15)
====================================

The "high voltage" release.

Requirements:

* telepathy-glib >= 0.7.17

Enhancements:

* Implement the newly official Requested, InitiatorHandle and InitiatorID
  properties introduced in spec 0.17.13

* fd.o #16922: stop shipping MD5 and SHA-1 implementations, and use GChecksum
  instead, since we need GLib 2.16 anyway

* Add support for running tests with GObject refdbg enabled

Fixes:

* Add TargetID to allowed properties when requesting channels

* test-handles: stop asserting that the wrong error (InvalidArgument) will be
  raised, and accept the correct error (InvalidHandle) too, since this was
  fixed in telepathy-glib

* Some bugfixes in the OLPC code

* Use unsigned for booleans in bitfields (gboolean is signed, so
  "gboolean foo:1" is not portable)

telepathy-gabble 0.7.9 (2008-09-29)
===================================

The "danger! danger!" release.

Our unstable-branch releases are usually pretty stable in practice, but we've
just merged 10 months' OLPC work and some fairly fundamental internal changes,
so you might want to restrict this one to experimental distributions like
Debian experimental and Fedora rawhide for now. We'll do a 0.7.10 release
once it's had some more testing.

Requirements:

* telepathy-glib >= 0.7.16
* GLib >= 2.16

Enhancements:

* Implement the Requests API introduced in spec 0.17.11 and extended in 0.17.12
  (fd.o #17248)

* Save contacts' aliases into the roster for massive bandwidth savings (in
  conjunction with avatar caching, this should mean we don't have to fetch
  everyone's vCard every time we connect to the server)

* Merge support for the "gadget", an OLPC-specific server component that
  supports browsing for buddies and activities

* When running tests under valgrind, use the same options as in telepathy-glib

telepathy-gabble 0.7.8 (2008-08-19)
===================================

The "Hildesheim Flugplatz" release.

telepathy-gabble is now maintained in git instead of darcs. See README for
details.

Requirements:

* telepathy-glib >= 0.7.14
* To build from git, automake 1.9 (although 0.7.7 actually required this too)

Enhancements:

* Implement the Contacts interface for bulk contact-handle inspection

* Implement spec 0.17.9 (add the TargetID property to all channels)

* Start to port channel factories away from TpChannelFactoryIface in
  preparation for implementing the Requests API

* Add a simple smoke-test for SimplePresence

* Use tp_debug_divert_messages() rather than our own copy of it, since we
  now depend on a new enough telepathy-glib anyway

Fixes:

* Obey the Telepathy spec by giving 'dnd' presence type Presence_Type_Busy
  and not Presence_Type_Away

* Fix the test suite so test failure causes a nonzero exit status
  (regression in 0.7.7)

* Fix test-si-tubes and test-disco to run the test all the way through
  (regression in 0.7.7)

* Use the pedantically correct marshaller for a GArray, since GObject 2.17
  actually checks for POINTER vs BOXED (regression in 0.7.7)

* Remove unconditional debug messages in a few places

telepathy-gabble 0.7.7 (2008-07-31)
===================================

The "still not in git" release.

Requirements:

* telepathy-glib >= 0.7.13

Enhancements:

* fd.o #15798: Implement XEP-0115 version 1.5 (hashed capabilities)

* Implement Channel and Group properties on all channels, for round-trip
  reduction if used with a recent client

* Add infrastructure to implement planned properties InitiatorHandle,
  InitiatorID, TargetID, Requested

* In multi-user chat,
  Group.GetHandleOwner(Group.GetSelfHandle()) == Connection.GetSelfHandle()

* If a Text channel closes with messages still pending, reopen the text
  channel, as though those messages had arrived just *after* closing it
  (solving a race condition that could lead to messages being lost)

* fd.o #14954: Set presence in MUCs to be the same as our global presence

* fd.o #14955: Set nickname in MUCs to be the same as our alias for ourselves
  (as set with Aliasing)

* Implement SimplePresence as well as Presence

Fixes:

* Fix a reference leak when using (new-style) TLS

* Fix a memory leak when invited to a MUC

* Fix a possible assertion failure when we're sent an invalid MUC invitation

* fd.o #16918: fix an access to freed memory when the vCard manager is
  destroyed

Miscellaneous:

* Rename gabble-foo.[ch] to foo.[ch] (we like tab completion)

* fd.o #14341: add a regression test (currently disabled, because the bug
  is in Loudmouth)

* Port most of the regression tests to a more comprehensible API

telepathy-gabble 0.7.6 (2008-05-14)
===================================

The "my first Gabble release" release.

Requirements:

* telepathy-glib >= 0.7.8 is now required

Enhancements:

* Implement the Hold API using telepathy-glib rather than as an extension

Fixes:

* fd.o #15656: fix an inconsistency in audio/video capabilities

* fd.o #15422: fix generation of extensions/extensions.html

* fd.o #15904: fix a regression making the caller of an incoming call in
  the remote pending set instead of the members one.


telepathy-gabble 0.7.5 (2008-05-05)
===================================

The "what's my version again?" release.

Fixes:

* fd.o #15095: fix MUC contacts always appearing to be offline (and actually
  include the patch this time) (regression in 0.7.0, probably)

* fd.o #15311: update tests to work with python-twisted 8.0 (as seen in
  current Debian unstable)

* Ignore components with ID != 1 in native candidates - we can only signal
  one component, and Farsight 2 reports RTCP components along with RTP ones

* Don't assume that htmldir will be defined by autoconf (it's new in 2.59c,
  and we only require >= 2.59; regression in 0.7.4)

telepathy-gabble 0.7.4 (2008-05-01)
===================================

The "stop making coredumps, I want to go to the pub" release.

Enhancements:

* fd.o #14467: aggregate MembersChanged signals when joining MUCs, so we
  get one big signal rather than lots of single-contact signals, potentially
  reducing client round-trips

* Re-enable some regression tests that were accidentally removed in 0.7.3

* Build documentation for our extensions to XMPP by default

Fixes:

* fd.o #12791, Debian #446259: fix assertion failure with strange roster items

* fd.o #14343: fix race condition that can lose messages between accepting
  a D-Bus tube and actually connecting to it

* fd.o #14602: update the StreamedMedia call API to telepathy-spec 0.17.3

* fd.o #14806: when we add ourselves to the local-pending set for incoming
  calls, set the caller as the actor

* fd.o #15198: fix assertion failure when calling GetCapabilities on an invalid
  handle

* When removing a media stream before the initiate is sent, send it if possible

* when blocking gtalk contacts, discard their presence

* disconnect the connection if we don't receive a reply to the discovery
  request for server features

* stop using Automake 1.9 features, and prefer to autoreconf using 1.8 (if
  available) to ensure that we don't accidentally re-add a 1.9 dependency

* make sure teardown of the disco object doesn't crash if one of its callbacks
  causes it to be destroyed (bug exposed by test-disco-no-reply.py regression
  test)

telepathy-gabble 0.7.3 (2008-04-11)
===================================

Requirements:

* telepathy-glib >= 0.7.0 and Loudmouth >= 1.3.2 are now required

Enhancements:

* Implements the current draft of the Hold interface, which will be in
  telepathy-spec 0.17.4 if all goes well

* Improved Python regression test API and more regression tests:
  - outgoing Jingle calls
  - holding calls

Fixes:

* Only emit one AvatarRetrieved signal per contact, no matter how many
  requests there were for their avatar (fd.o #12465)

* Explicitly say we require GNU make, and turn off Automake portability
  warnings (fd.o #14020)

* Don't emit NewStreamHandler signals multiple times if Ready is called
  multiple times on the SessionHandler (a bug in stream-engine used to
  cause this to happen sometimes)

* Assorted code cleanup prompted by adding more gcc warnings

telepathy-gabble 0.7.2 (2008-01-17)
===================================
* Improvements to build system and code generation
* Tubes improvements
* Test improvements
  * Improvements to test framework
  * Most of the MUC tube code path is tested
* Saner behaviour of old-ssl/server/port/require-encryption flags
* Removal of unneccessary support hacks for N800-H263 and Nokia's
  Instant Video

telepathy-gabble 0.7.1 (2007-11-12)
===================================
This version detects whether Loudmouth >= 1.3.2 is present at build time;
if found, it uses STARTTLS whenever available, enables support for SASL and
SRV lookups, and has a require-encryption connection manager parameter which
makes the connection fail if STARTTLS cannot be used.

It also takes advantage of the debug infrastructure changes in
telepathy-glib 0.6.1 to separate the concepts of debug flags and
persistence.

telepathy-gabble 0.7.0 (2007-11-07)
===================================
This is the first release on the 0.7 development branch. The main change
is the addition of Tubes - we've finally managed to get the various
OLPC-specific branches reviewed and merged. We aim to get this release
into Update.1 of the OLPC system software.

Highlights:

* All the same bug fixes as stable branch release 0.6.1

* Tubes, a generic transport for collaborative applications:
  * multi-user D-Bus tubes, where the collaboration is in a MUC (chat room)
    which behaves a lot like the D-Bus daemon
  * one-to-one D-Bus tubes, which behave a lot like peer-to-peer D-Bus
    connections
  * multi-user stream tubes, where one user in a MUC exports a Unix,
    IPv4 or IPv6 server socket and other users can connect to it
  * one-to-one stream tubes, just like multi-user but without the MUC

* Support for the OLPC Activity and Buddy abstractions

* A man page and some protocol documentation

* The connection manager binary now installs to $libexecdir -
  distributors take note!

D-Bus tubes require libdbus-1 version 1.0.2 or better; if you compile
against an older version of libdbus you won't get D-Bus tubes support.

