[Telepathy] ANNOUNCE: telepathy-spec 0.18.0 (stable release)

Simon McVittie simon.mcvittie at collabora.co.uk
Thu Sep 24 05:27:25 PDT 2009


telepathy-spec is the document defining the Telepathy real-time communication
framework's D-Bus API, from which all our other projects are derived.

This is a new stable version of telepathy-spec, intended to serve as a
reference point for future work. The D-Bus API is identical to 0.17.28
(the only changes were some improvements to the documentation tools, by wjt).

The current development version of telepathy-spec is available as HTML:
  <http://telepathy.freedesktop.org/spec/>
or from the 'master' branch in the git repository:
  <git://git.collabora.co.uk/git/telepathy-spec.git>
  <git+ssh://git.collabora.co.uk/git/telepathy-spec.git> (for committers)
  <http://git.collabora.co.uk/?p=telepathy-spec.git> (gitweb)

For packagers (e.g. http://packages.debian.org/telepathy-spec):
tar: http://telepathy.freedesktop.org/releases/telepathy-spec/telepathy-spec-0.17.28.tar.gz
sig: http://telepathy.freedesktop.org/releases/telepathy-spec/telepathy-spec-0.17.28.tar.gz.asc

This spec version is supported by the upcoming 0.8.x stable branch of
telepathy-glib.

The versions of connection managers recommended for use with GNOME 2.28 and
Maemo 5 can be expected to support most of 0.18.0, with the notable exception
of ContactCapabilities (which was finished slightly too late). Connection
managers that support "most of" 0.18.0, except for ContactCapabilities, include:

* telepathy-gabble >= 0.8.0 (stable branch)
* telepathy-salut >= 0.3.10
* telepathy-sofiasip >= 0.5.18
* telepathy-haze >= 0.3.2
* telepathy-idle >= 0.1.5
* telepathy-butterfly >= 0.5.0

There have been many changes since the 0.16.0 stable release (almost two years
ago!), here's a summary:

Connection managers
-------------------

Significant API changes include:

* Several new calling conventions were introduced for StreamedMedia channels,
  while continuing to support everything that already worked. Details at:
  <http://telepathy.freedesktop.org/wiki/Requesting%20StreamedMedia%20channels>
* Channels are not guaranteed to be unique per (channel type, handle type,
  handle) triple, even if the handle type is nonzero
* Channel.Interface.Hold has changed considerably
* Text.SendError has different semantics (which match what was actually
  implemented in practice)
* GetKnownAvatarTokens' special behaviour for the self-handle has different
  semantics (which, again, match what was actually implemented)
* The allowed characters in connection manager and protocol names are
  explicitly specified to be a subset of what D-Bus would allow

New stable API includes, in no particular order:

* mandatory InitiatorHandle, InitiatorID and TargetID properties on all
  channels
* the mandatory Contacts interface on Connection, for round-trip reduction
  when inspecting batches of contacts
* the mandatory Requests interface on Connection, an extensible version of
  the old RequestChannel/ListChannels/NewChannel functionality with better
  sematics
* the SimplePresence interface on Connection, replacing Presence
* the ContactCapabilities interface on Connection, intended to replace
  Capabilities (not yet implemented in all connection managers, though)
* the Location interface on Connection, for geolocation
* StreamTube and DBusTube channels (one channel per tube), deprecating the
  Tubes channel type
* the FileTransfer channel type
* change notification for the self-handle (mainly for IRC)
* the Messages interface on Text channels, which supports extensible metadata,
  MIME-style attachments and alternatives, and extensible delivery-reports,
  and lays the foundations for future support for formatted messages
* the "rescued" and "scrollback" message flags
* removing the SelfHandle from a Group, a newly documented way to depart
  gracefully
* an optional CallState interface on StreamedMedia channels
* Hold support in MediaSignalling (and its related objects)
* the Busy presence type
* more well-known protocol names
* a Secret flag for CM parameters that represent a password, private key etc.
* CM parameters that are also D-Bus properties, and so can be changed by the
  account manager while remaining online
* the .manager file syntax (previously undocumented)
* D-Bus core Properties on several interfaces (most notably Group and Channel),
  for round-trip reduction
* Text channels that "respawn" when closed with unacknowledged messages, to
  avoid data loss on race conditions by behaving as if Close() had won the race
* the Destroyable interface, to circumvent the "respawn" mechanism and forcibly
  close a channel with possible data loss, intended for use by the
  ChannelDispatcher when no Handler can deal with a channel
* many new D-Bus error names
* the "stored" ContactList

Deprecations include:

* the Tubes channel type (use StreamTube and DBusTube instead)
* the Presence interface (use SimplePresence instead)
* RequestChannel, ListChannels and NewChannel (use Requests instead)
* handle = 0 in the Capabilities interface, which we never actually implemented
* passing clear=TRUE to Text.ListPendingMessages, which was never really safe

Account Manager
---------------

The new AccountManager service, and its AccountManager and Account objects,
replace part of the functionality of Mission Control 4's D-Bus and C API.

Mission Control 5.x provides a reference implementation of this service.

Channel Dispatcher
------------------

The new ChannelDispatcher service, and its ChannelDispatcher,
ChannelDispatchOperation and ChannelRequest objects, replace the rest of the
functionality of Mission Control 4's D-Bus and C API.

Again, Mission Control 5.x provides a reference implementation of this service.

Clients that handle channels are now expected to implement the Handler
interface, which replaces the ChannelHandler interface used by MC 4.

The concepts of Observers, Approvers and Handlers have been introduced,
together with common functionality in the Client interface. These describe
Telepathy clients which interact with channels, and can interact with the
ChannelDispatcher to provide user interfaces, logging and other functionality.

Tools and code generation
-------------------------

The canonical form of the HTML documentation generated from the XML spec is now
a multi-page document; the old single-page version is still generated, for now,
but expect it to be removed early in 0.19.

Unstable and experimental interfaces are explicitly marked as such. Various
existing interfaces that were never actually implemented have been marked as
experimental.

The spec is much more informative, with syntax for too much new stuff to
describe here.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 793 bytes
Desc: Digital signature
Url : http://lists.freedesktop.org/archives/telepathy/attachments/20090924/b85f2da3/attachment.pgp 


More information about the telepathy mailing list